コード例 #1
0
        public void Setup()
        {
            _container?.Dispose();
            TestUtils.DeleteTestChainData();
            var containerBuilder = new SimpleInjectorContainerBuilder(new ConfigManager(
                                                                          Path.Join(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "config.json"),
                                                                          new RunOptions()
                                                                          ));

            containerBuilder.RegisterModule <BlockchainModule>();
            containerBuilder.RegisterModule <ConfigModule>();
            containerBuilder.RegisterModule <StorageModule>();
            _container       = containerBuilder.Build();
            _blockManager    = _container.Resolve <IBlockManager>();
            _stateManager    = _container.Resolve <IStateManager>();
            _wallet          = _container.Resolve <IPrivateWallet>();
            _transactionPool = _container.Resolve <ITransactionPool>();
            _configManager   = _container.Resolve <IConfigManager>();
            // set chainId from config
            if (TransactionUtils.ChainId(false) == 0)
            {
                var chainId    = _configManager.GetConfig <NetworkConfig>("network")?.ChainId;
                var newChainId = _configManager.GetConfig <NetworkConfig>("network")?.ChainId;
                TransactionUtils.SetChainId((int)chainId !, (int)newChainId !);
                HardforkHeights.SetHardforkHeights(_configManager.GetConfig <HardforkConfig>("hardfork") ?? throw new InvalidOperationException());
            }
            _validatorStatusManager = new ValidatorStatusManager(
                _transactionPool, _container.Resolve <ITransactionSigner>(), _container.Resolve <ITransactionBuilder>(),
                _wallet, _stateManager, _container.Resolve <IValidatorAttendanceRepository>(),
                _container.Resolve <ISystemContractReader>()
                );
        }
コード例 #2
0
        public void Setup()
        {
            _container?.Dispose();
            TestUtils.DeleteTestChainData();

            var containerBuilder = new SimpleInjectorContainerBuilder(new ConfigManager(
                                                                          Path.Join(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "config2.json"),
                                                                          new RunOptions()
                                                                          ));

            containerBuilder.RegisterModule <BlockchainModule>();
            containerBuilder.RegisterModule <ConfigModule>();
            containerBuilder.RegisterModule <StorageModule>();
            containerBuilder.RegisterModule <ConsensusModule>();
            containerBuilder.RegisterModule <NetworkModule>();

            _container = containerBuilder.Build();


            _privateWallet          = _container.Resolve <IPrivateWallet>();
            _validatorStatusManager = _container.Resolve <IValidatorStatusManager>();
            _configManager          = _container.Resolve <IConfigManager>();
            _transactionBuilder     = _container.Resolve <ITransactionBuilder>();

            ServiceBinder.BindService <GenericParameterAttributes>();
            _apiService = new ValidatorServiceWeb3(_validatorStatusManager, _privateWallet, _transactionBuilder);
        }
コード例 #3
0
 public ValidatorServiceWeb3(
     IValidatorStatusManager validatorStatusManager, IPrivateWallet privateWallet,
     ITransactionBuilder transactionBuilder)
 {
     _validatorStatusManager = validatorStatusManager;
     _privateWallet          = privateWallet;
     _transactionBuilder     = transactionBuilder;
 }
コード例 #4
0
        public void Setup()
        {
            _container?.Dispose();
            TestUtils.DeleteTestChainData();

            var containerBuilder = new SimpleInjectorContainerBuilder(new ConfigManager(
                                                                          Path.Join(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "config2.json"),
                                                                          new RunOptions()
                                                                          ));

            containerBuilder.RegisterModule <BlockchainModule>();
            containerBuilder.RegisterModule <ConfigModule>();
            containerBuilder.RegisterModule <StorageModule>();
            containerBuilder.RegisterModule <ConsensusModule>();
            containerBuilder.RegisterModule <NetworkModule>();

            _container = containerBuilder.Build();

            _stateManager           = _container.Resolve <IStateManager>();
            _transactionManager     = _container.Resolve <ITransactionManager>();
            _transactionBuilder     = _container.Resolve <ITransactionBuilder>();
            _transactionSigner      = _container.Resolve <ITransactionSigner>();
            _transactionPool        = _container.Resolve <ITransactionPool>();
            _contractRegisterer     = _container.Resolve <IContractRegisterer>();
            _privateWallet          = _container.Resolve <IPrivateWallet>();
            _snapshotIndexer        = _container.Resolve <ISnapshotIndexRepository>();
            _networkManager         = _container.Resolve <INetworkManager>();
            _nodeRetrieval          = _container.Resolve <INodeRetrieval>();
            _systemContractReader   = _container.Resolve <ISystemContractReader>();
            _blockManager           = _container.Resolve <IBlockManager>();
            _validatorStatusManager = _container.Resolve <IValidatorStatusManager>();
            _configManager          = _container.Resolve <IConfigManager>();
            _consensusManager       = _container.Resolve <IConsensusManager>();
            if (TransactionUtils.ChainId(false) == 0)
            {
                var chainId    = _configManager.GetConfig <NetworkConfig>("network")?.ChainId;
                var newChainId = _configManager.GetConfig <NetworkConfig>("network")?.NewChainId;
                TransactionUtils.SetChainId((int)chainId !, (int)newChainId !);
                HardforkHeights.SetHardforkHeights(_configManager.GetConfig <HardforkConfig>("hardfork") ?? throw new InvalidOperationException());
            }

            ServiceBinder.BindService <GenericParameterAttributes>();
            _apiService = new BlockchainServiceWeb3(_transactionManager, _blockManager, _transactionPool,
                                                    _stateManager, _snapshotIndexer, _networkManager, _nodeRetrieval, _systemContractReader, _consensusManager);
        }
コード例 #5
0
ファイル: FrontEndService.cs プロジェクト: LAToken/lachain
 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;
 }
コード例 #6
0
 public ConsoleManager(
     ITransactionBuilder transactionBuilder,
     ITransactionPool transactionPool,
     ITransactionManager transactionManager,
     ITransactionSigner transactionSigner,
     IBlockManager blockManager,
     IStateManager stateManager,
     ISystemContractReader systemContractReader,
     IValidatorStatusManager validatorStatusManager
     )
 {
     _blockManager           = blockManager;
     _transactionBuilder     = transactionBuilder;
     _transactionPool        = transactionPool;
     _transactionManager     = transactionManager;
     _transactionSigner      = transactionSigner;
     _stateManager           = stateManager;
     _systemContractReader   = systemContractReader;
     _validatorStatusManager = validatorStatusManager;
 }
コード例 #7
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;
 }
コード例 #8
0
ファイル: ConsoleCommands.cs プロジェクト: LAToken/lachain
 public ConsoleCommands(
     ITransactionBuilder transactionBuilder,
     ITransactionPool transactionPool,
     ITransactionManager transactionManager,
     ITransactionSigner transactionSigner,
     IBlockManager blockManager,
     IStateManager stateManager,
     ISystemContractReader systemContractReader,
     IValidatorStatusManager validatorStatusManager,
     EcdsaKeyPair keyPair
     )
 {
     _blockManager           = blockManager;
     _transactionBuilder     = transactionBuilder;
     _transactionPool        = transactionPool;
     _transactionManager     = transactionManager;
     _transactionSigner      = transactionSigner;
     _stateManager           = stateManager;
     _systemContractReader   = systemContractReader;
     _validatorStatusManager = validatorStatusManager;
     _keyPair = keyPair;
 }