=> _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); }