コード例 #1
0
        => _receiptsMigration.Run(blockNumber + 1);     // add 1 to make go from inclusive (better for API) to exclusive (better for internal)

        public void InsertReceipts(BlockParameter blockParameter, TxReceipt[] txReceipts)
        {
            SearchResult <Block> searchResult = _blockTree.SearchForBlock(blockParameter);

            if (searchResult.IsError)
            {
                throw new InvalidDataException(searchResult.Error);
            }

            Block       block       = searchResult.Object;
            ReceiptTrie receiptTrie = new ReceiptTrie(block.Number, _specProvider, txReceipts);

            receiptTrie.UpdateRootHash();
            if (block.ReceiptsRoot != receiptTrie.RootHash)
            {
                throw new InvalidDataException("Receipts root mismatch");
            }

            _receiptStorage.Insert(block, txReceipts);
        }