diff --git a/core/types/receipt.go b/core/types/receipt.go index b627f46a4..5216162f2 100644 --- a/core/types/receipt.go +++ b/core/types/receipt.go @@ -172,10 +172,8 @@ func (r *Receipt) MarshalBinary() ([]byte, error) { return rlp.EncodeToBytes(r) } data := &receiptRLP{r.statusEncoding(), r.CumulativeGasUsed, r.Bloom, r.Logs} - buf := encodeBufferPool.Get().(*bytes.Buffer) - defer encodeBufferPool.Put(buf) - buf.Reset() - err := r.encodeTyped(data, buf) + var buf bytes.Buffer + err := r.encodeTyped(data, &buf) return buf.Bytes(), err } diff --git a/statediff/indexer/ipfs/ipld/eth_parser_test.go b/statediff/indexer/ipfs/ipld/eth_parser_test.go index c88442a00..1a53455c7 100644 --- a/statediff/indexer/ipfs/ipld/eth_parser_test.go +++ b/statediff/indexer/ipfs/ipld/eth_parser_test.go @@ -1,7 +1,6 @@ package ipld import ( - "fmt" "io/ioutil" "path/filepath" "testing" @@ -73,8 +72,7 @@ func loadBlockData(t *testing.T) []testCase { func TestFromBlockAndReceipts(t *testing.T) { testCases := loadBlockData(t) - for i, tc := range testCases { - fmt.Printf("testing %d\r\n", i) + for _, tc := range testCases { _, _, _, _, _, _, err := FromBlockAndReceipts(tc.block, tc.receipts) if err != nil { t.Fatalf("error generating IPLDs from block and receipts, err %v, kind %s, block hash %s", err, tc.kind, tc.block.Hash()) diff --git a/statediff/indexer/ipfs/ipld/eth_receipt_trie.go b/statediff/indexer/ipfs/ipld/eth_receipt_trie.go index 30847d9a1..ee371c15a 100644 --- a/statediff/indexer/ipfs/ipld/eth_receipt_trie.go +++ b/statediff/indexer/ipfs/ipld/eth_receipt_trie.go @@ -24,7 +24,6 @@ import ( "github.com/multiformats/go-multihash" "github.com/ethereum/go-ethereum/core/types" - "github.com/ethereum/go-ethereum/rlp" ) // EthRctTrie (eth-tx-trie codec 0x92) represents @@ -61,9 +60,8 @@ func DecodeEthRctTrie(c cid.Cid, b []byte) (*EthRctTrie, error) { // decodeEthRctTrieLeaf parses a eth-rct-trie leaf //from decoded RLP elements func decodeEthRctTrieLeaf(i []interface{}) ([]interface{}, error) { - var r types.Receipt - err := rlp.DecodeBytes(i[1].([]byte), &r) - if err != nil { + r := new(types.Receipt) + if err := r.UnmarshalBinary(i[1].([]byte)); err != nil { return nil, err } c, err := RawdataToCid(MEthTxReceipt, i[1].([]byte), multihash.KECCAK_256) @@ -73,7 +71,7 @@ func decodeEthRctTrieLeaf(i []interface{}) ([]interface{}, error) { return []interface{}{ i[0].([]byte), &EthReceipt{ - Receipt: &r, + Receipt: r, cid: c, rawdata: i[1].([]byte), }, @@ -135,7 +133,7 @@ func (rt *rctTrie) getNodes() ([]*EthRctTrie, error) { for _, k := range keys { rawdata, err := rt.db.Get(k) if err != nil { - panic(err) + return nil, err } c, err := RawdataToCid(MEthTxReceiptTrie, rawdata, multihash.KECCAK_256) if err != nil { diff --git a/statediff/indexer/ipfs/ipld/eth_tx_trie.go b/statediff/indexer/ipfs/ipld/eth_tx_trie.go index 6438bc8ce..7e79ff164 100644 --- a/statediff/indexer/ipfs/ipld/eth_tx_trie.go +++ b/statediff/indexer/ipfs/ipld/eth_tx_trie.go @@ -24,7 +24,6 @@ import ( "github.com/multiformats/go-multihash" "github.com/ethereum/go-ethereum/core/types" - "github.com/ethereum/go-ethereum/rlp" ) // EthTxTrie (eth-tx-trie codec 0x92) represents @@ -61,9 +60,8 @@ func DecodeEthTxTrie(c cid.Cid, b []byte) (*EthTxTrie, error) { // decodeEthTxTrieLeaf parses a eth-tx-trie leaf //from decoded RLP elements func decodeEthTxTrieLeaf(i []interface{}) ([]interface{}, error) { - var t types.Transaction - err := rlp.DecodeBytes(i[1].([]byte), &t) - if err != nil { + t := new(types.Transaction) + if err := t.UnmarshalBinary(i[1].([]byte)); err != nil { return nil, err } c, err := RawdataToCid(MEthTx, i[1].([]byte), multihash.KECCAK_256) @@ -73,7 +71,7 @@ func decodeEthTxTrieLeaf(i []interface{}) ([]interface{}, error) { return []interface{}{ i[0].([]byte), &EthTx{ - Transaction: &t, + Transaction: t, cid: c, rawdata: i[1].([]byte), }, @@ -135,7 +133,7 @@ func (tt *txTrie) getNodes() ([]*EthTxTrie, error) { for _, k := range keys { rawdata, err := tt.db.Get(k) if err != nil { - panic(err) + return nil, err } c, err := RawdataToCid(MEthTxTrie, rawdata, multihash.KECCAK_256) if err != nil {