From 50d08bcb3680704ee55f8b707aaf55e74f28c4a3 Mon Sep 17 00:00:00 2001 From: i-norden Date: Thu, 16 Feb 2023 15:49:56 -0600 Subject: [PATCH] export Keccak256ToCID funtion --- statediff/indexer/ipld/eth_account.go | 8 ++++---- statediff/indexer/ipld/eth_log_trie.go | 2 +- statediff/indexer/ipld/eth_receipt_trie.go | 2 +- statediff/indexer/ipld/eth_state.go | 4 ++++ statediff/indexer/ipld/eth_tx_trie.go | 2 +- statediff/indexer/ipld/shared.go | 4 ++-- statediff/indexer/ipld/trie_node.go | 4 ++-- 7 files changed, 15 insertions(+), 11 deletions(-) diff --git a/statediff/indexer/ipld/eth_account.go b/statediff/indexer/ipld/eth_account.go index bd68968b8..9962ef7c8 100644 --- a/statediff/indexer/ipld/eth_account.go +++ b/statediff/indexer/ipld/eth_account.go @@ -105,11 +105,11 @@ func (as *EthAccountSnapshot) Resolve(p []string) (interface{}, []string, error) case "balance": return as.Balance, nil, nil case "codeHash": - return &node.Link{Cid: keccak256ToCid(RawBinary, as.CodeHash)}, nil, nil + return &node.Link{Cid: Keccak256ToCid(RawBinary, as.CodeHash)}, nil, nil case "nonce": return as.Nonce, nil, nil case "root": - return &node.Link{Cid: keccak256ToCid(MEthStorageTrie, as.Root)}, nil, nil + return &node.Link{Cid: Keccak256ToCid(MEthStorageTrie, as.Root)}, nil, nil default: return nil, nil, ErrInvalidLink } @@ -167,9 +167,9 @@ func (as *EthAccountSnapshot) Size() (uint64, error) { func (as *EthAccountSnapshot) MarshalJSON() ([]byte, error) { out := map[string]interface{}{ "balance": as.Balance, - "codeHash": keccak256ToCid(RawBinary, as.CodeHash), + "codeHash": Keccak256ToCid(RawBinary, as.CodeHash), "nonce": as.Nonce, - "root": keccak256ToCid(MEthStorageTrie, as.Root), + "root": Keccak256ToCid(MEthStorageTrie, as.Root), } return json.Marshal(out) } diff --git a/statediff/indexer/ipld/eth_log_trie.go b/statediff/indexer/ipld/eth_log_trie.go index 8e8af9c79..32991734a 100644 --- a/statediff/indexer/ipld/eth_log_trie.go +++ b/statediff/indexer/ipld/eth_log_trie.go @@ -118,7 +118,7 @@ func (rt *logTrie) getNodeFromDB(key []byte) (*EthLogTrie, error) { return nil, err } tn := &TrieNode{ - cid: keccak256ToCid(MEthLogTrie, key), + cid: Keccak256ToCid(MEthLogTrie, key), rawdata: rawdata, } return &EthLogTrie{TrieNode: tn}, nil diff --git a/statediff/indexer/ipld/eth_receipt_trie.go b/statediff/indexer/ipld/eth_receipt_trie.go index 75d40eedb..a9e774e3f 100644 --- a/statediff/indexer/ipld/eth_receipt_trie.go +++ b/statediff/indexer/ipld/eth_receipt_trie.go @@ -167,7 +167,7 @@ func (rt *rctTrie) getNodeFromDB(key []byte) (*EthRctTrie, error) { return nil, err } tn := &TrieNode{ - cid: keccak256ToCid(MEthTxReceiptTrie, key), + cid: Keccak256ToCid(MEthTxReceiptTrie, key), rawdata: rawdata, } diff --git a/statediff/indexer/ipld/eth_state.go b/statediff/indexer/ipld/eth_state.go index 9a2c230e2..fe525d3aa 100644 --- a/statediff/indexer/ipld/eth_state.go +++ b/statediff/indexer/ipld/eth_state.go @@ -64,6 +64,10 @@ func FromStateTrieRLP(raw []byte) (*EthStateTrie, error) { return DecodeEthStateTrie(c, raw) } +func FromStateTrieRLPAndHash(raw, hash []byte) (*EthStateTrie, error) { + c, err := Keccak256ToCid(MEthStateTrie, hash) +} + /* OUTPUT */ diff --git a/statediff/indexer/ipld/eth_tx_trie.go b/statediff/indexer/ipld/eth_tx_trie.go index bb4f66df0..1768e1856 100644 --- a/statediff/indexer/ipld/eth_tx_trie.go +++ b/statediff/indexer/ipld/eth_tx_trie.go @@ -136,7 +136,7 @@ func (tt *txTrie) getNodes() ([]*EthTxTrie, error) { return nil, err } tn := &TrieNode{ - cid: keccak256ToCid(MEthTxTrie, k), + cid: Keccak256ToCid(MEthTxTrie, k), rawdata: rawdata, } out = append(out, &EthTxTrie{TrieNode: tn}) diff --git a/statediff/indexer/ipld/shared.go b/statediff/indexer/ipld/shared.go index 17180be94..c62ce1d3c 100644 --- a/statediff/indexer/ipld/shared.go +++ b/statediff/indexer/ipld/shared.go @@ -69,9 +69,9 @@ func RawdataToCid(codec uint64, rawdata []byte, multiHash uint64) (cid.Cid, erro return c, nil } -// keccak256ToCid takes a keccak256 hash and returns its cid based on +// Keccak256ToCid takes a keccak256 hash and returns its cid based on // the codec given. -func keccak256ToCid(codec uint64, h []byte) cid.Cid { +func Keccak256ToCid(codec uint64, h []byte) cid.Cid { buf, err := mh.Encode(h, mh.KECCAK_256) if err != nil { panic(err) diff --git a/statediff/indexer/ipld/trie_node.go b/statediff/indexer/ipld/trie_node.go index 816217064..715e00f66 100644 --- a/statediff/indexer/ipld/trie_node.go +++ b/statediff/indexer/ipld/trie_node.go @@ -143,7 +143,7 @@ func decodeCompactKey(i []interface{}) (string, []interface{}, error) { func parseTrieNodeExtension(i []interface{}, codec uint64) ([]interface{}, error) { return []interface{}{ i[0].([]byte), - keccak256ToCid(codec, i[1].([]byte)), + Keccak256ToCid(codec, i[1].([]byte)), }, nil } @@ -163,7 +163,7 @@ func parseTrieNodeBranch(i []interface{}, codec uint64) ([]interface{}, error) { case 0: out = append(out, nil) case 32: - out = append(out, keccak256ToCid(codec, v)) + out = append(out, Keccak256ToCid(codec, v)) default: return nil, fmt.Errorf("unrecognized object: %v", v) }