Example #1
0
            protected override BlockProcessor CreateBlockProcessor()
            {
                var blockGasLimitContractTransition = ChainSpec.AuRa.BlockGasLimitContractTransitions.First();
                var gasLimitContract = new BlockGasLimitContract(new AbiEncoder(), blockGasLimitContractTransition.Value, blockGasLimitContractTransition.Key,
                                                                 new ReadOnlyTxProcessorSource(DbProvider, BlockTree, SpecProvider, LimboLogs.Instance));

                GasLimitOverrideCache = new AuRaContractGasLimitOverride.Cache();
                GasLimitCalculator    = new AuRaContractGasLimitOverride(new[] { gasLimitContract }, GasLimitOverrideCache, false, FollowOtherMiners.Instance, LimboLogs.Instance);

                return(new AuRaBlockProcessor(
                           SpecProvider,
                           Always.Valid,
                           new RewardCalculator(SpecProvider),
                           TxProcessor,
                           StateDb,
                           CodeDb,
                           State,
                           Storage,
                           TxPool,
                           ReceiptStorage,
                           LimboLogs.Instance,
                           BlockTree,
                           null,
                           GasLimitCalculator as AuRaContractGasLimitOverride));
            }
            protected override BlockProcessor CreateBlockProcessor()
            {
                KeyValuePair <long, Address> blockGasLimitContractTransition = ChainSpec.AuRa.BlockGasLimitContractTransitions.First();
                BlockGasLimitContract        gasLimitContract = new(AbiEncoder.Instance, blockGasLimitContractTransition.Value, blockGasLimitContractTransition.Key,
                                                                    new ReadOnlyTxProcessingEnv(
                                                                        DbProvider,
                                                                        new TrieStore(DbProvider.StateDb, LimboLogs.Instance).AsReadOnly(),
                                                                        BlockTree, SpecProvider, LimboLogs.Instance));

                GasLimitOverrideCache = new AuRaContractGasLimitOverride.Cache();
                GasLimitCalculator    = new AuRaContractGasLimitOverride(new[] { gasLimitContract }, GasLimitOverrideCache, false, new FollowOtherMiners(SpecProvider), LimboLogs.Instance);

                return(new AuRaBlockProcessor(
                           SpecProvider,
                           Always.Valid,
                           new RewardCalculator(SpecProvider),
                           new BlockProcessor.BlockValidationTransactionsExecutor(TxProcessor, State),
                           State,
                           Storage,
                           ReceiptStorage,
                           LimboLogs.Instance,
                           BlockTree,
                           null,
                           GasLimitCalculator as AuRaContractGasLimitOverride));
            }