Exemple #1
0
        public BlockManager(
            ITransactionManager transactionManager,
            IGenesisBuilder genesisBuilder,
            IMultisigVerifier multisigVerifier,
            IStateManager stateManager,
            ISnapshotIndexRepository snapshotIndexRepository,
            IConfigManager configManager,
            ILocalTransactionRepository localTransactionRepository
            )
        {
            _transactionManager         = transactionManager;
            _genesisBuilder             = genesisBuilder;
            _multisigVerifier           = multisigVerifier;
            _stateManager               = stateManager;
            _snapshotIndexRepository    = snapshotIndexRepository;
            _configManager              = configManager;
            _localTransactionRepository = localTransactionRepository;
            _transactionManager.OnSystemContractInvoked += TransactionManagerOnSystemContractInvoked;

            var cacheConfig = _configManager.GetConfig <CacheConfig>("cache");

            if (cacheConfig != null && cacheConfig.BlockHeight != null && cacheConfig.BlockHeight.SizeLimit != null)
            {
                _blockSizeLimit = cacheConfig.BlockHeight.SizeLimit.Value;
            }

            _heightCache      = new Dictionary <ulong, Block?>(_blockSizeLimit);
            _heightCacheQueue = new Queue <ulong>(_blockSizeLimit);
        }
Exemple #2
0
 public FrontEndService(
     IStateManager stateManager,
     ITransactionPool transactionPool,
     ITransactionSigner transactionSigner,
     ISystemContractReader systemContractReader,
     ILocalTransactionRepository localTransactionRepository,
     IValidatorStatusManager validatorStatusManager,
     IPrivateWallet privateWallet,
     ITransactionManager transactionManager
     )
 {
     _stateManager               = stateManager;
     _transactionPool            = transactionPool;
     _transactionSigner          = transactionSigner;
     _systemContractReader       = systemContractReader;
     _localTransactionRepository = localTransactionRepository;
     _validatorStatusManager     = validatorStatusManager;
     _privateWallet              = privateWallet;
     _transactionManager         = transactionManager;
 }
Exemple #3
0
 public RpcManager(
     ITransactionManager transactionManager,
     IBlockManager blockManager,
     IConfigManager configManager,
     IStateManager stateManager,
     ISnapshotIndexRepository snapshotIndexer,
     ITransactionPool transactionPool,
     IVirtualMachine virtualMachine,
     IContractRegisterer contractRegisterer,
     IValidatorStatusManager validatorStatusManager,
     ISystemContractReader systemContractReader,
     IBlockSynchronizer blockSynchronizer,
     ILocalTransactionRepository localTransactionRepository,
     ITransactionSigner transactionSigner,
     IPrivateWallet privateWallet,
     ITransactionBuilder transactionBuilder,
     IBlockchainEventFilter blockchainEventFilter,
     INetworkManager networkManager,
     INodeRetrieval nodeRetrieval,
     IConsensusManager consensusManager
     )
 {
     _transactionManager         = transactionManager;
     _blockManager               = blockManager;
     _configManager              = configManager;
     _stateManager               = stateManager;
     _snapshotIndexer            = snapshotIndexer;
     _transactionPool            = transactionPool;
     _contractRegisterer         = contractRegisterer;
     _validatorStatusManager     = validatorStatusManager;
     _systemContractReader       = systemContractReader;
     _blockSynchronizer          = blockSynchronizer;
     _localTransactionRepository = localTransactionRepository;
     _transactionSigner          = transactionSigner;
     _transactionBuilder         = transactionBuilder;
     _privateWallet              = privateWallet;
     _blockchainEventFilter      = blockchainEventFilter;
     _networkManager             = networkManager;
     _nodeRetrieval              = nodeRetrieval;
     _consensusManager           = consensusManager;
 }