Exemple #1
0
        public static IApiServicesRegistrant AddDefaultTransactionService(
            this IApiServicesRegistrant registrant)
        {
            registrant
            .Builder
            .UseDefaultBuildTransactionStrategy()
            .UseDefaultCalculateGasAmountStrategy(registrant.GasReserve, registrant.MaxGasAmount)
            .UseDefaultCalculateTransactionAmountStrategy();

            registrant
            .AddDefaultAddressService()
            .AddDefaultBlockchainService();

            registrant
            .Builder
            .RegisterIfNotRegistered <ITransactionService>
            (
                ctx => new DefaultTransactionService
                (
                    ctx.Resolve <IAddressService>(),
                    ctx.Resolve <IBlockchainService>(),
                    ctx.Resolve <IChaosKitty>(),
                    ctx.Resolve <ILogFactory>(),
                    ctx.Resolve <ITransactionMonitoringTaskRepository>(),
                    ctx.Resolve <ITransactionRepository>(),
                    ctx.Resolve <IBuildTransactionStrategy>(),
                    ctx.Resolve <ICalculateGasAmountStrategy>(),
                    ctx.Resolve <ICalculateTransactionAmountStrategy>()
                )
            )
            .SingleInstance();

            return(registrant);
        }
Exemple #2
0
        public static IApiServicesRegistrant AddDefaultTransactionHistoryService(
            this IApiServicesRegistrant registrant)
        {
            registrant
            .Builder
            .RegisterIfNotRegistered <ITransactionHistoryService>
            (
                ctx => new DefaultTransactionHistoryService
                (
                    ctx.Resolve <ITransactionHistoryObservationAddressesRepository>(),
                    ctx.Resolve <ITransactionReceiptRepository>()
                )
            )
            .SingleInstance();

            return(registrant);
        }
Exemple #3
0
        public static IApiServicesRegistrant AddDefaultBalanceService(
            this IApiServicesRegistrant registrant)
        {
            registrant
            .AddDefaultBlockchainService();

            registrant
            .Builder
            .RegisterIfNotRegistered <IBalanceService>
            (
                ctx => new DefaultBalanceService
                (
                    ctx.Resolve <IBalanceMonitoringTaskRepository>(),
                    ctx.Resolve <IBalanceRepository>(),
                    ctx.Resolve <IBlockchainService>(),
                    ctx.Resolve <ILogFactory>()
                )
            )
            .SingleInstance();

            return(registrant);
        }