fix bug
This commit is contained in:
parent
830f0ffefd
commit
eae8688c8b
@ -172,10 +172,8 @@ func (r *Receipt) MarshalBinary() ([]byte, error) {
|
|||||||
return rlp.EncodeToBytes(r)
|
return rlp.EncodeToBytes(r)
|
||||||
}
|
}
|
||||||
data := &receiptRLP{r.statusEncoding(), r.CumulativeGasUsed, r.Bloom, r.Logs}
|
data := &receiptRLP{r.statusEncoding(), r.CumulativeGasUsed, r.Bloom, r.Logs}
|
||||||
buf := encodeBufferPool.Get().(*bytes.Buffer)
|
var buf bytes.Buffer
|
||||||
defer encodeBufferPool.Put(buf)
|
err := r.encodeTyped(data, &buf)
|
||||||
buf.Reset()
|
|
||||||
err := r.encodeTyped(data, buf)
|
|
||||||
return buf.Bytes(), err
|
return buf.Bytes(), err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package ipld
|
package ipld
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"testing"
|
"testing"
|
||||||
@ -73,8 +72,7 @@ func loadBlockData(t *testing.T) []testCase {
|
|||||||
|
|
||||||
func TestFromBlockAndReceipts(t *testing.T) {
|
func TestFromBlockAndReceipts(t *testing.T) {
|
||||||
testCases := loadBlockData(t)
|
testCases := loadBlockData(t)
|
||||||
for i, tc := range testCases {
|
for _, tc := range testCases {
|
||||||
fmt.Printf("testing %d\r\n", i)
|
|
||||||
_, _, _, _, _, _, err := FromBlockAndReceipts(tc.block, tc.receipts)
|
_, _, _, _, _, _, err := FromBlockAndReceipts(tc.block, tc.receipts)
|
||||||
if err != nil {
|
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())
|
t.Fatalf("error generating IPLDs from block and receipts, err %v, kind %s, block hash %s", err, tc.kind, tc.block.Hash())
|
||||||
|
@ -24,7 +24,6 @@ import (
|
|||||||
"github.com/multiformats/go-multihash"
|
"github.com/multiformats/go-multihash"
|
||||||
|
|
||||||
"github.com/ethereum/go-ethereum/core/types"
|
"github.com/ethereum/go-ethereum/core/types"
|
||||||
"github.com/ethereum/go-ethereum/rlp"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// EthRctTrie (eth-tx-trie codec 0x92) represents
|
// 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
|
// decodeEthRctTrieLeaf parses a eth-rct-trie leaf
|
||||||
//from decoded RLP elements
|
//from decoded RLP elements
|
||||||
func decodeEthRctTrieLeaf(i []interface{}) ([]interface{}, error) {
|
func decodeEthRctTrieLeaf(i []interface{}) ([]interface{}, error) {
|
||||||
var r types.Receipt
|
r := new(types.Receipt)
|
||||||
err := rlp.DecodeBytes(i[1].([]byte), &r)
|
if err := r.UnmarshalBinary(i[1].([]byte)); err != nil {
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
c, err := RawdataToCid(MEthTxReceipt, i[1].([]byte), multihash.KECCAK_256)
|
c, err := RawdataToCid(MEthTxReceipt, i[1].([]byte), multihash.KECCAK_256)
|
||||||
@ -73,7 +71,7 @@ func decodeEthRctTrieLeaf(i []interface{}) ([]interface{}, error) {
|
|||||||
return []interface{}{
|
return []interface{}{
|
||||||
i[0].([]byte),
|
i[0].([]byte),
|
||||||
&EthReceipt{
|
&EthReceipt{
|
||||||
Receipt: &r,
|
Receipt: r,
|
||||||
cid: c,
|
cid: c,
|
||||||
rawdata: i[1].([]byte),
|
rawdata: i[1].([]byte),
|
||||||
},
|
},
|
||||||
@ -135,7 +133,7 @@ func (rt *rctTrie) getNodes() ([]*EthRctTrie, error) {
|
|||||||
for _, k := range keys {
|
for _, k := range keys {
|
||||||
rawdata, err := rt.db.Get(k)
|
rawdata, err := rt.db.Get(k)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
return nil, err
|
||||||
}
|
}
|
||||||
c, err := RawdataToCid(MEthTxReceiptTrie, rawdata, multihash.KECCAK_256)
|
c, err := RawdataToCid(MEthTxReceiptTrie, rawdata, multihash.KECCAK_256)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -24,7 +24,6 @@ import (
|
|||||||
"github.com/multiformats/go-multihash"
|
"github.com/multiformats/go-multihash"
|
||||||
|
|
||||||
"github.com/ethereum/go-ethereum/core/types"
|
"github.com/ethereum/go-ethereum/core/types"
|
||||||
"github.com/ethereum/go-ethereum/rlp"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// EthTxTrie (eth-tx-trie codec 0x92) represents
|
// 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
|
// decodeEthTxTrieLeaf parses a eth-tx-trie leaf
|
||||||
//from decoded RLP elements
|
//from decoded RLP elements
|
||||||
func decodeEthTxTrieLeaf(i []interface{}) ([]interface{}, error) {
|
func decodeEthTxTrieLeaf(i []interface{}) ([]interface{}, error) {
|
||||||
var t types.Transaction
|
t := new(types.Transaction)
|
||||||
err := rlp.DecodeBytes(i[1].([]byte), &t)
|
if err := t.UnmarshalBinary(i[1].([]byte)); err != nil {
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
c, err := RawdataToCid(MEthTx, i[1].([]byte), multihash.KECCAK_256)
|
c, err := RawdataToCid(MEthTx, i[1].([]byte), multihash.KECCAK_256)
|
||||||
@ -73,7 +71,7 @@ func decodeEthTxTrieLeaf(i []interface{}) ([]interface{}, error) {
|
|||||||
return []interface{}{
|
return []interface{}{
|
||||||
i[0].([]byte),
|
i[0].([]byte),
|
||||||
&EthTx{
|
&EthTx{
|
||||||
Transaction: &t,
|
Transaction: t,
|
||||||
cid: c,
|
cid: c,
|
||||||
rawdata: i[1].([]byte),
|
rawdata: i[1].([]byte),
|
||||||
},
|
},
|
||||||
@ -135,7 +133,7 @@ func (tt *txTrie) getNodes() ([]*EthTxTrie, error) {
|
|||||||
for _, k := range keys {
|
for _, k := range keys {
|
||||||
rawdata, err := tt.db.Get(k)
|
rawdata, err := tt.db.Get(k)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
return nil, err
|
||||||
}
|
}
|
||||||
c, err := RawdataToCid(MEthTxTrie, rawdata, multihash.KECCAK_256)
|
c, err := RawdataToCid(MEthTxTrie, rawdata, multihash.KECCAK_256)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
Loading…
Reference in New Issue
Block a user