예제 #1
0
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='signRequest'>
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <TransactionSignResponse> ApiBitcoinSignPostAsync(this ILykkeSigningAPI operations, BitcoinTransactionSignRequest signRequest = default(BitcoinTransactionSignRequest), CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.ApiBitcoinSignPostWithHttpMessagesAsync(signRequest, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
예제 #2
0
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <PubKeyResponse> ApiBitcoinKeyGetAsync(this ILykkeSigningAPI operations, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.ApiBitcoinKeyGetWithHttpMessagesAsync(null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
예제 #3
0
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='signRequest'>
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <HashSignResponse> ApiEthereumSignHashPostAsync(this ILykkeSigningAPI operations, EthereumHashSignRequest signRequest = default(EthereumHashSignRequest), CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.ApiEthereumSignHashPostWithHttpMessagesAsync(signRequest, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
예제 #4
0
 public ExchangeContractService(IBaseSettings settings,
                                ICoinTransactionService cointTransactionService, IContractService contractService,
                                ICoinContractFilterRepository coinContractFilterRepository, Func <string, IQueueExt> queueFactory,
                                ICoinRepository coinRepository, IEthereumContractRepository ethereumContractRepository, Web3 web3,
                                ILykkeSigningAPI lykkeSigningAPI,
                                IUserPaymentHistoryRepository userPaymentHistory,
                                ICoinEventService coinEventService,
                                IHashCalculator hashCalculator,
                                IPendingTransactionsRepository pendingTransactionsRepository,
                                ITransferContractService transferContractService)
 {
     _lykkeSigningAPI               = lykkeSigningAPI;
     _web3                          = web3;
     _settings                      = settings;
     _cointTransactionService       = cointTransactionService;
     _contractService               = contractService;
     _coinContractFilterRepository  = coinContractFilterRepository;
     _coinRepository                = coinRepository;
     _userPaymentHistoryRepository  = userPaymentHistory;
     _coinEventService              = coinEventService;
     _hashCalculator                = hashCalculator;
     _pendingTransactionsRepository = pendingTransactionsRepository;
     _transferContractService       = transferContractService;
     _addressUtil                   = new AddressUtil();
 }
 public PendingOperationService(IBaseSettings settings, IOperationToHashMatchRepository operationToHashMatchRepository,
                                IPendingOperationRepository pendingOperationRepository, IQueueFactory queueFactory, Web3 web3, IHashCalculator hashCalculator,
                                ICoinRepository coinRepository, ILykkeSigningAPI lykkeSigningAPI, ILog log,
                                ISlackNotifier slackNotifier, IEventTraceRepository eventTraceRepository)
 {
     _eventTraceRepository = eventTraceRepository;
     _slackNotifier        = slackNotifier;
     _web3     = web3;
     _settings = settings;
     _pendingOperationRepository     = pendingOperationRepository;
     _operationToHashMatchRepository = operationToHashMatchRepository;
     _queue           = queueFactory.Build(Constants.PendingOperationsQueue);
     _util            = new AddressUtil();
     _hashCalculator  = hashCalculator;
     _coinRepository  = coinRepository;
     _lykkeSigningAPI = lykkeSigningAPI;
     _log             = log;
 }
예제 #6
0
        public LykkeSignedTransactionManager(
            IBaseSettings baseSettings,
            INonceCalculator nonceCalculator,
            ILykkeSigningAPI signingApi,
            ITransactionRouter transactionRouter,
            Web3 web3,
            IGasPriceRepository gasPriceRepository)
        {
            _baseSettings       = baseSettings;
            _estimateGas        = new EthEstimateGas(web3.Client);
            _nonceCalculator    = nonceCalculator;
            _semaphores         = new ConcurrentDictionary <string, SemaphoreSlim>();
            _sendRawTransaction = new EthSendRawTransaction(web3.Client);
            _signingApi         = signingApi;
            _transactionRouter  = transactionRouter;
            _web3 = web3;
            _gasPriceRepository = gasPriceRepository;

            Client = web3.Client;
        }
예제 #7
0
 public void Init()
 {
     _lykkeSigningAPI = Config.Services.GetService <ILykkeSigningAPI>();
     _hashCalculator  = Config.Services.GetService <IHashCalculator>();
 }
예제 #8
0
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='signRequest'>
 /// </param>
 public static TransactionSignResponse ApiBitcoinSignPost(this ILykkeSigningAPI operations, BitcoinTransactionSignRequest signRequest = default(BitcoinTransactionSignRequest))
 {
     return(operations.ApiBitcoinSignPostAsync(signRequest).GetAwaiter().GetResult());
 }
예제 #9
0
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='model'>
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task ApiBitcoinAddkeyPostAsync(this ILykkeSigningAPI operations, AddKeyRequest model = default(AddKeyRequest), CancellationToken cancellationToken = default(CancellationToken))
 {
     (await operations.ApiBitcoinAddkeyPostWithHttpMessagesAsync(model, null, cancellationToken).ConfigureAwait(false)).Dispose();
 }
예제 #10
0
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='model'>
 /// </param>
 public static void ApiBitcoinAddkeyPost(this ILykkeSigningAPI operations, AddKeyRequest model = default(AddKeyRequest))
 {
     operations.ApiBitcoinAddkeyPostAsync(model).GetAwaiter().GetResult();
 }
예제 #11
0
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='address'>
 /// </param>
 public static PrivateKeyResponse ApiBitcoinGetkeyGet(this ILykkeSigningAPI operations, string address = default(string))
 {
     return(operations.ApiBitcoinGetkeyGetAsync(address).GetAwaiter().GetResult());
 }
예제 #12
0
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 public static void ApiBitcoinTempKeyGet(this ILykkeSigningAPI operations)
 {
     operations.ApiBitcoinTempKeyGetAsync().GetAwaiter().GetResult();
 }
예제 #13
0
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 public static IsAliveResponse ApiIsAliveGet(this ILykkeSigningAPI operations)
 {
     return(operations.ApiIsAliveGetAsync().GetAwaiter().GetResult());
 }
예제 #14
0
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='signRequest'>
 /// </param>
 public static HashSignResponse ApiEthereumSignHashPost(this ILykkeSigningAPI operations, EthereumHashSignRequest signRequest = default(EthereumHashSignRequest))
 {
     return(operations.ApiEthereumSignHashPostAsync(signRequest).GetAwaiter().GetResult());
 }
예제 #15
0
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 public static PubKeyResponse ApiBitcoinKeyGet(this ILykkeSigningAPI operations)
 {
     return(operations.ApiBitcoinKeyGetAsync().GetAwaiter().GetResult());
 }
예제 #16
0
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 public static EthereumAddressResponse ApiEthereumKeyGet(this ILykkeSigningAPI operations)
 {
     return(operations.ApiEthereumKeyGetAsync().GetAwaiter().GetResult());
 }
예제 #17
0
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task ApiBitcoinTempKeyGetAsync(this ILykkeSigningAPI operations, CancellationToken cancellationToken = default(CancellationToken))
 {
     (await operations.ApiBitcoinTempKeyGetWithHttpMessagesAsync(null, cancellationToken).ConfigureAwait(false)).Dispose();
 }
 public SignatureService(ILykkeSigningAPI signatureApi)
 {
     _signatureApi = signatureApi;
     _addressUtil  = new AddressUtil();
 }