Beispiel #1
0
 public BalancesController(AssetRepository assets, DepositWalletRepository depositWallets, IBlockchainApi api, IChaosKitty chaosKitty = null)
 {
     _assets         = assets;
     _depositWallets = depositWallets;
     _api            = api;
     _chaosKitty     = chaosKitty;
 }
Beispiel #2
0
        /// <param name="timeout">Timeout affects all request. Leave it null if you do not want timeout.</param>
        private void InitBlockchainApiClient(ILog log, string hostUrl, int retriesCount = 5,
                                             TimeSpan?timeout = null, HttpMessageHandler messageHandler = null)
        {
            HostUrl = hostUrl ?? throw new ArgumentNullException(nameof(hostUrl));

            _httpClient = new HttpClient(new HttpErrorLoggingHandler(log, messageHandler))
            {
                BaseAddress           = new Uri(hostUrl),
                DefaultRequestHeaders =
                {
                    {
                        "User-Agent",
                        $"{PlatformServices.Default.Application.ApplicationName}/{PlatformServices.Default.Application.ApplicationVersion}"
                    }
                }
            };

            if (timeout.HasValue)
            {
                _httpClient.Timeout = timeout.Value;
            }


            _api = RestService.For <IBlockchainApi>(_httpClient);

            _runner = new ApiRunner(retriesCount);
        }
 public UserController(IBlockchainApi blockChainApi,
                       IUserService userService,
                       IToastNotification toastNotification)
 {
     _blockChainApi     = blockChainApi;
     _userService       = userService;
     _toastNotification = toastNotification;
 }
 public ApplicationController(IUserService userService,
                              IBlockchainApi blockChainApi,
                              IOptions <AppConfiguration> appConfiguration)
 {
     _userService      = userService;
     _blockChainApi    = blockChainApi;
     _appConfiguration = appConfiguration;
 }
 public AdminController(IUserService userService, IBlockchainApi blockChainApi,
                        IOptions <AppConfiguration> appConfiguration,
                        IToastNotification toastNotification)
 {
     _userService       = userService;
     _blockChainApi     = blockChainApi;
     _appConfiguration  = appConfiguration;
     _toastNotification = toastNotification;
 }
 public TransactionsController(
     IBlockchainApi api,
     OperationRepository operations,
     AssetRepository assets,
     DepositWalletRepository depositWallets,
     IChaosKitty chaosKitty = null)
 {
     _api            = api;
     _operations     = operations;
     _assets         = assets;
     _depositWallets = depositWallets;
     _chaosKitty     = chaosKitty;
 }
        public static Task <string> ForceBroadcast(
            this IBlockchainTransaction tx,
            IBlockchainApi blockchainApi,
            Swap swap,
            TimeSpan interval,
            Action <Swap, string, CancellationToken> completionHandler = null,
            CancellationToken cancellationToken = default)
        {
            return(Task.Run(async() =>
            {
                try
                {
                    while (!cancellationToken.IsCancellationRequested)
                    {
                        var broadcastResult = await blockchainApi
                                              .TryBroadcastAsync(tx, cancellationToken: cancellationToken)
                                              .ConfigureAwait(false);

                        if (!broadcastResult.HasError)
                        {
                            if (broadcastResult.Value != null)
                            {
                                completionHandler?.Invoke(swap, broadcastResult.Value, cancellationToken);
                                return broadcastResult.Value;
                            }
                        }
                        else
                        {
                            Log.Error("Error while broadcast {@currency} tx with. Code: {@code}. Description: {@desc}",
                                      tx.Currency,
                                      broadcastResult.Error.Code,
                                      broadcastResult.Error.Description);
                        }

                        await Task.Delay(interval, cancellationToken)
                        .ConfigureAwait(false);
                    }
                }
                catch (OperationCanceledException)
                {
                    Log.Debug("ForceBroadcast canceled.");
                }
                catch (Exception e)
                {
                    Log.Error(e, "Error while broadcast {@currency} tx.", tx.Currency);
                }

                return null;
            }, cancellationToken));
        }
        public BlockchainApiClient(string hostUrl, int retriesCount = 5)
        {
            HostUrl = hostUrl ?? throw new ArgumentNullException(nameof(hostUrl));

            _httpClient = new HttpClient
            {
                BaseAddress           = new Uri(hostUrl),
                DefaultRequestHeaders =
                {
                    {
                        "User-Agent",
                        $"{PlatformServices.Default.Application.ApplicationName}/{PlatformServices.Default.Application.ApplicationVersion}"
                    }
                }
            };

            _api = RestService.For <IBlockchainApi>(_httpClient);

            _runner = new ApiRunner(retriesCount);
        }
Beispiel #9
0
 public TestingController(IBlockchainApi api, AssetRepository assets)
 {
     _api    = api;
     _assets = assets;
 }
 public CapabilitiesResponse Get([FromServices] IBlockchainApi api) => api.GetCapabilities();
 public DashboardController(IBlockchainApi blockChainApi, IUserService userService)
 {
     _blockChainApi = blockChainApi;
     _userService   = userService;
 }
Beispiel #12
0
 public ConstantsResponse Get([FromServices] IBlockchainApi api) => api.GetConstants();
Beispiel #13
0
 public AddressesController(IBlockchainApi api) => _api = api;