remove now unused trie helpers
This commit is contained in:
parent
85ee920c8b
commit
7574909281
@ -69,7 +69,6 @@ type Receipt struct {
|
||||
BlockHash common.Hash `json:"blockHash,omitempty"`
|
||||
BlockNumber *big.Int `json:"blockNumber,omitempty"`
|
||||
TransactionIndex uint `json:"transactionIndex"`
|
||||
LogRoot common.Hash `json:"logRoot"`
|
||||
}
|
||||
|
||||
type receiptMarshaling struct {
|
||||
|
||||
@ -62,5 +62,5 @@ func Keccak256ToCid(codec uint64, h []byte) cid.Cid {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
return cid.NewCidV1(codec, mh.Multihash(buf))
|
||||
return cid.NewCidV1(codec, buf)
|
||||
}
|
||||
|
||||
@ -20,60 +20,12 @@
|
||||
package trie_helpers
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"sort"
|
||||
"strings"
|
||||
|
||||
"github.com/ethereum/go-ethereum/rlp"
|
||||
"github.com/ethereum/go-ethereum/statediff/types"
|
||||
"github.com/ethereum/go-ethereum/trie"
|
||||
)
|
||||
|
||||
// CheckKeyType checks what type of key we have
|
||||
func CheckKeyType(elements []interface{}) (types.NodeType, error) {
|
||||
if len(elements) > 2 {
|
||||
return types.Branch, nil
|
||||
}
|
||||
if len(elements) < 2 {
|
||||
return types.Unknown, fmt.Errorf("node cannot be less than two elements in length")
|
||||
}
|
||||
switch elements[0].([]byte)[0] / 16 {
|
||||
case '\x00':
|
||||
return types.Extension, nil
|
||||
case '\x01':
|
||||
return types.Extension, nil
|
||||
case '\x02':
|
||||
return types.Leaf, nil
|
||||
case '\x03':
|
||||
return types.Leaf, nil
|
||||
default:
|
||||
return types.Unknown, fmt.Errorf("unknown hex prefix")
|
||||
}
|
||||
}
|
||||
|
||||
// ResolveNode return the state diff node pointed by the iterator.
|
||||
func ResolveNode(it trie.NodeIterator, trieDB *trie.Database) (types.StateNode, []interface{}, error) {
|
||||
nodePath := make([]byte, len(it.Path()))
|
||||
copy(nodePath, it.Path())
|
||||
node, err := trieDB.Node(it.Hash())
|
||||
if err != nil {
|
||||
return types.StateNode{}, nil, err
|
||||
}
|
||||
var nodeElements []interface{}
|
||||
if err = rlp.DecodeBytes(node, &nodeElements); err != nil {
|
||||
return types.StateNode{}, nil, err
|
||||
}
|
||||
ty, err := CheckKeyType(nodeElements)
|
||||
if err != nil {
|
||||
return types.StateNode{}, nil, err
|
||||
}
|
||||
return types.StateNode{
|
||||
NodeType: ty,
|
||||
Path: nodePath,
|
||||
NodeValue: node,
|
||||
}, nodeElements, nil
|
||||
}
|
||||
|
||||
// SortKeys sorts the keys in the account map
|
||||
func SortKeys(data types.AccountMap) []string {
|
||||
keys := make([]string, 0, len(data))
|
||||
|
||||
Loading…
Reference in New Issue
Block a user