mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-06-19 13:21:37 +00:00
all: handle err from func rlp.Encode, close XFN-127 (#1692)
This commit is contained in:
parent
426d4a7a9f
commit
58c066f053
9 changed files with 39 additions and 17 deletions
|
|
@ -83,7 +83,9 @@ func sigHash(header *types.Header) (hash common.Hash) {
|
|||
if header.BaseFee != nil {
|
||||
enc = append(enc, header.BaseFee)
|
||||
}
|
||||
rlp.Encode(hasher, enc)
|
||||
if err := rlp.Encode(hasher, enc); err != nil {
|
||||
panic("rlp.Encode fail: " + err.Error())
|
||||
}
|
||||
hasher.Sum(hash[:0])
|
||||
return hash
|
||||
}
|
||||
|
|
|
|||
|
|
@ -41,7 +41,9 @@ func sigHash(header *types.Header) (hash common.Hash) {
|
|||
if header.BaseFee != nil {
|
||||
enc = append(enc, header.BaseFee)
|
||||
}
|
||||
rlp.Encode(hasher, enc)
|
||||
if err := rlp.Encode(hasher, enc); err != nil {
|
||||
panic("rlp.Encode fail: " + err.Error())
|
||||
}
|
||||
hasher.Sum(hash[:0])
|
||||
return hash
|
||||
}
|
||||
|
|
|
|||
|
|
@ -168,7 +168,9 @@ func sigHash(header *types.Header) (hash common.Hash) {
|
|||
if header.BaseFee != nil {
|
||||
enc = append(enc, header.BaseFee)
|
||||
}
|
||||
rlp.Encode(hasher, enc)
|
||||
if err := rlp.Encode(hasher, enc); err != nil {
|
||||
panic("rlp.Encode fail: " + err.Error())
|
||||
}
|
||||
hasher.Sum(hash[:0])
|
||||
return hash
|
||||
}
|
||||
|
|
|
|||
|
|
@ -97,7 +97,9 @@ func TestBodyStorage(t *testing.T) {
|
|||
body := &types.Body{Uncles: []*types.Header{{Extra: []byte("test header")}}}
|
||||
|
||||
hasher := sha3.NewLegacyKeccak256()
|
||||
rlp.Encode(hasher, body)
|
||||
if err := rlp.Encode(hasher, body); err != nil {
|
||||
t.Fatalf("rlp.Encode fail: %v", err)
|
||||
}
|
||||
hash := common.BytesToHash(hasher.Sum(nil))
|
||||
|
||||
if entry := ReadBody(db, hash, 0); entry != nil {
|
||||
|
|
|
|||
|
|
@ -347,7 +347,9 @@ func (api *BlockChainAPI) GetTransactionAndReceiptProof(ctx context.Context, has
|
|||
tx_tr := deriveTrie(block.Transactions())
|
||||
|
||||
keybuf := new(bytes.Buffer)
|
||||
rlp.Encode(keybuf, uint(index))
|
||||
if err := rlp.Encode(keybuf, uint(index)); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
var tx_proof proofPairList
|
||||
if err := tx_tr.Prove(keybuf.Bytes(), 0, &tx_proof); err != nil {
|
||||
return nil, err
|
||||
|
|
|
|||
|
|
@ -53,7 +53,9 @@ func TestTransactionProof(t *testing.T) {
|
|||
for i := 0; i < transactions.Len(); i++ {
|
||||
var proof proofPairList
|
||||
keybuf := new(bytes.Buffer)
|
||||
rlp.Encode(keybuf, uint(i))
|
||||
if err := rlp.Encode(keybuf, uint(i)); err != nil {
|
||||
t.Fatalf("rlp.Encode fail: %v", err)
|
||||
}
|
||||
if err := tr.Prove(keybuf.Bytes(), 0, &proof); err != nil {
|
||||
t.Fatal("Prove err:", err)
|
||||
}
|
||||
|
|
@ -86,7 +88,9 @@ func TestReceiptProof(t *testing.T) {
|
|||
for i := 0; i < receipts.Len(); i++ {
|
||||
var proof proofPairList
|
||||
keybuf := new(bytes.Buffer)
|
||||
rlp.Encode(keybuf, uint(i))
|
||||
if err := rlp.Encode(keybuf, uint(i)); err != nil {
|
||||
t.Fatalf("rlp.Encode fail: %v", err)
|
||||
}
|
||||
if err := tr.Prove(keybuf.Bytes(), 0, &proof); err != nil {
|
||||
t.Fatal("Prove err:", err)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -244,7 +244,9 @@ func (r *Record) signAndEncode(privkey *ecdsa.PrivateKey) error {
|
|||
|
||||
// Sign the tail of the list.
|
||||
h := sha3.NewLegacyKeccak256()
|
||||
rlp.Encode(h, list[1:])
|
||||
if err := rlp.Encode(h, list[1:]); err != nil {
|
||||
return err
|
||||
}
|
||||
sig, err := crypto.Sign(h.Sum(nil), privkey)
|
||||
if err != nil {
|
||||
return err
|
||||
|
|
|
|||
|
|
@ -303,7 +303,9 @@ func (tx *stTransaction) toMessage(ps stPostState, number *big.Int, baseFee *big
|
|||
|
||||
func rlpHash(x interface{}) (h common.Hash) {
|
||||
hw := sha3.NewLegacyKeccak256()
|
||||
rlp.Encode(hw, x)
|
||||
if err := rlp.Encode(hw, x); err != nil {
|
||||
panic("can't encode: " + err.Error())
|
||||
}
|
||||
hw.Sum(h[:0])
|
||||
return h
|
||||
}
|
||||
|
|
|
|||
|
|
@ -45,8 +45,9 @@ func TestDecodeNestedNode(t *testing.T) {
|
|||
fullNodeData[15] = data
|
||||
|
||||
buf := bytes.NewBuffer([]byte{})
|
||||
rlp.Encode(buf, fullNodeData)
|
||||
|
||||
if err := rlp.Encode(buf, fullNodeData); err != nil {
|
||||
t.Fatalf("rlp.Encode fail: %v", err)
|
||||
}
|
||||
if _, err := decodeNode([]byte("testdecode"), buf.Bytes()); err != nil {
|
||||
t.Fatalf("decode nested full Node err: %v", err)
|
||||
}
|
||||
|
|
@ -56,8 +57,9 @@ func TestDecodeFullNodeWrongSizeChild(t *testing.T) {
|
|||
fullNodeData := newTestFullNode([]byte("wrongsizechild"))
|
||||
fullNodeData[0] = []byte("00")
|
||||
buf := bytes.NewBuffer([]byte{})
|
||||
rlp.Encode(buf, fullNodeData)
|
||||
|
||||
if err := rlp.Encode(buf, fullNodeData); err != nil {
|
||||
t.Fatalf("rlp.Encode fail: %v", err)
|
||||
}
|
||||
_, err := decodeNode([]byte("testdecode"), buf.Bytes())
|
||||
if _, ok := err.(*decodeError); !ok {
|
||||
t.Fatalf("decodeNode returned wrong err: %v", err)
|
||||
|
|
@ -75,8 +77,9 @@ func TestDecodeFullNodeWrongNestedFullNode(t *testing.T) {
|
|||
fullNodeData[15] = data
|
||||
|
||||
buf := bytes.NewBuffer([]byte{})
|
||||
rlp.Encode(buf, fullNodeData)
|
||||
|
||||
if err := rlp.Encode(buf, fullNodeData); err != nil {
|
||||
t.Fatalf("rlp.Encode fail: %v", err)
|
||||
}
|
||||
_, err := decodeNode([]byte("testdecode"), buf.Bytes())
|
||||
if _, ok := err.(*decodeError); !ok {
|
||||
t.Fatalf("decodeNode returned wrong err: %v", err)
|
||||
|
|
@ -86,8 +89,9 @@ func TestDecodeFullNodeWrongNestedFullNode(t *testing.T) {
|
|||
func TestDecodeFullNode(t *testing.T) {
|
||||
fullNodeData := newTestFullNode([]byte("decodefullnode"))
|
||||
buf := bytes.NewBuffer([]byte{})
|
||||
rlp.Encode(buf, fullNodeData)
|
||||
|
||||
if err := rlp.Encode(buf, fullNodeData); err != nil {
|
||||
t.Fatalf("rlp.Encode fail: %v", err)
|
||||
}
|
||||
_, err := decodeNode([]byte("testdecode"), buf.Bytes())
|
||||
if err != nil {
|
||||
t.Fatalf("decode full Node err: %v", err)
|
||||
|
|
|
|||
Loading…
Reference in a new issue