public FunctionMetadataManager(IBlockchainStore <FunctionMetadata> functionMetadataStore,
                                IBlockchainStore <SerializedCallGraph> callGraphStore, IOptionsSnapshot <ChainOptions> options)
 {
     _functionMetadataStore = functionMetadataStore;
     _callGraphStore        = callGraphStore;
     _chainId = options.Value.ChainId;
 }
        public async Task GlobalSetup()
        {
            _chains = GetRequiredService <IBlockchainStore <Chain> >();
            _chainStateInfoCollection = GetRequiredService <IStateStore <ChainStateInfo> >();
            _blockchainStateService   = GetRequiredService <IBlockchainStateService>();
            _blockStateSetManger      = GetRequiredService <IBlockStateSetManger>();
            _blockchainService        = GetRequiredService <IBlockchainService>();
            _osTestHelper             = GetRequiredService <OSTestHelper>();
            _chainManager             = GetRequiredService <IChainManager>();
            _blockManager             = GetRequiredService <IBlockManager>();
            _transactionManager       = GetRequiredService <ITransactionManager>();
            _transactionPoolService   = GetRequiredService <ITransactionPoolService>();


            _blockStateSets = new List <BlockStateSet>();
            _blocks         = new List <Block>();

            _chain = await _blockchainService.GetChainAsync();

            var blockHash = _chain.BestChainHash;

            while (true)
            {
                var blockState = await _blockStateSetManger.GetBlockStateSetAsync(blockHash);

                _blockStateSets.Add(blockState);

                var blockHeader = await _blockchainService.GetBlockHeaderByHashAsync(blockHash);

                blockHash = blockHeader.PreviousBlockHash;
                if (blockHash == _chain.LastIrreversibleBlockHash)
                {
                    break;
                }
            }

            await _blockchainStateService.MergeBlockStateAsync(_chain.BestChainHeight, _chain.BestChainHash);

            for (var i = 0; i < BlockCount; i++)
            {
                var transactions = await _osTestHelper.GenerateTransferTransactions(TransactionCount);

                await _osTestHelper.BroadcastTransactions(transactions);

                var block = await _osTestHelper.MinedOneBlock();

                _blocks.Add(block);

                var blockState = await _blockStateSetManger.GetBlockStateSetAsync(block.GetHash());

                _blockStateSets.Add(blockState);
            }

            var chain = await _blockchainService.GetChainAsync();

            await _chainManager.SetIrreversibleBlockAsync(chain, chain.BestChainHash);

            _chainStateInfo = await _chainStateInfoCollection.GetAsync(chain.Id.ToStorageKey());
        }
Beispiel #3
0
 public ExplorerController(IBlockchainStore store)
 {
     _store      = store;
     _blockChain = _blockChain ?? GetBlockChain();
     _schema     = _schema ?? new Schema {
         Query = new BlocksQuery <T>(_blockChain)
     };
 }
Beispiel #4
0
 public ChainManager(IBlockchainStore <Chain> chains,
                     IBlockchainStore <ChainBlockLink> chainBlockLinks,
                     IBlockchainStore <ChainBlockIndex> chainBlockIndexes,
                     IStaticChainInformationProvider staticChainInformationProvider)
 {
     _chains            = chains;
     _chainBlockLinks   = chainBlockLinks;
     _chainBlockIndexes = chainBlockIndexes;
     _staticChainInformationProvider = staticChainInformationProvider;
 }
Beispiel #5
0
        public async Task GlobalSetup()
        {
            _chains                 = GetRequiredService <IBlockchainStore <Chain> >();
            _chainBlockLinks        = GetRequiredService <IBlockchainStore <ChainBlockLink> >();
            _chainManager           = GetRequiredService <IChainManager>();
            _blockManager           = GetRequiredService <IBlockManager>();
            _transactionManager     = GetRequiredService <ITransactionManager>();
            _transactionPoolService = GetRequiredService <ITransactionPoolService>();
            _blockchainService      = GetRequiredService <IBlockchainService>();
            _osTestHelper           = GetRequiredService <OSTestHelper>();

            _chain = await _blockchainService.GetChainAsync();
        }
Beispiel #6
0
        public async Task GlobalSetup()
        {
            _chains             = GetRequiredService <IBlockchainStore <Chain> >();
            _blockStateSets     = GetRequiredService <INotModifiedCachedStateStore <BlockStateSet> >();
            _chainManager       = GetRequiredService <IChainManager>();
            _blockManager       = GetRequiredService <IBlockManager>();
            _blockchainService  = GetRequiredService <IBlockchainService>();
            _blockAttachService = GetRequiredService <IBlockAttachService>();
            _transactionManager = GetRequiredService <ITransactionManager>();
            _osTestHelper       = GetRequiredService <OSTestHelper>();

            _chain = await _blockchainService.GetChainAsync();
        }
 public CodeRemarksManager(IBlockchainStore <CodeRemarks> codeRemarksStore)
 {
     _codeRemarksStore = codeRemarksStore;
 }
Beispiel #8
0
 public ContractRemarksManager(IBlockchainStore <ContractRemarks> contractRemarksStore)
 {
     _contractRemarksStore = contractRemarksStore;
 }
Beispiel #9
0
 public TransactionBlockIndexManager(IBlockchainStore <TransactionBlockIndex> transactionBlockIndexes)
 {
     _transactionBlockIndexes = transactionBlockIndexes;
 }
 public ExplorerController(IBlockchainStore store)
 {
     Store    = store;
     _chainId = store.ChainId;
 }
Beispiel #11
0
 public BlockManager(IBlockchainStore <BlockHeader> blockHeaderStore, IBlockchainStore <BlockBody> blockBodyStore)
 {
     Logger            = NullLogger <BlockManager> .Instance;
     _blockHeaderStore = blockHeaderStore;
     _blockBodyStore   = blockBodyStore;
 }
 public TransactionReceiptManager(IBlockchainStore <TransactionReceipt> transactionReceiptStore)
 {
     _transactionReceiptStore = transactionReceiptStore;
 }
 public TransactionResultManager(IBlockchainStore<TransactionResult> transactionResultStore)
 {
     _transactionResultStore = transactionResultStore;
 }
 public SmartContractCodeHistoryManager(IBlockchainStore <SmartContractCodeHistory> smartContractCodeHistoryStore)
 {
     _smartContractCodeHistoryStore = smartContractCodeHistoryStore;
 }
 public WalletRepository(IBlockchainStore blockchainStore)
 {
     this.blockchainStore = blockchainStore;
     doBlockchainBackup   = blockchainStore != null;
 }
Beispiel #16
0
 public ExplorerController(IBlockchainStore store)
 {
     Store = store;
 }
Beispiel #17
0
 public TransactionManager(IBlockchainStore <Transaction> transactionStore)
 {
     _transactionStore = transactionStore;
     Logger            = NullLogger <TransactionManager> .Instance;
 }
 public TransactionBlockIndexManager(IBlockchainStore <TransactionBlockIndex> transactionBlockIndexes,
                                     ITransactionBlockIndexCacheProvider transactionBlockIndexCacheProvider)
 {
     _transactionBlockIndexes            = transactionBlockIndexes;
     _transactionBlockIndexCacheProvider = transactionBlockIndexCacheProvider;
 }