diff --git a/internal/trie/proof/generate.go b/internal/trie/proof/generate.go index 1299a31fd41..360db9f5643 100644 --- a/internal/trie/proof/generate.go +++ b/internal/trie/proof/generate.go @@ -28,10 +28,10 @@ type Database interface { // corresponding to the root hash given, and for the (Little Endian) // full key given. The database given is used to load the trie // using the root hash given. -func Generate(rootHash common.Hash, fullKey []byte, database Database) ( +func Generate(rootHash []byte, fullKey []byte, database Database) ( encodedProofNodes [][]byte, err error) { trie := trie.NewEmptyTrie() - if err := trie.Load(database, rootHash); err != nil { + if err := trie.Load(database, common.BytesToHash(rootHash)); err != nil { return nil, fmt.Errorf("cannot load trie: %w", err) } diff --git a/internal/trie/proof/generate_test.go b/internal/trie/proof/generate_test.go index 9c16e199f51..c744ab10dee 100644 --- a/internal/trie/proof/generate_test.go +++ b/internal/trie/proof/generate_test.go @@ -19,7 +19,7 @@ func Test_Generate(t *testing.T) { errTest := errors.New("test error") testCases := map[string]struct { - rootHash common.Hash + rootHash []byte fullKey []byte // nibbles databaseBuilder func(ctrl *gomock.Controller) Database encodedProofNodes [][]byte @@ -27,7 +27,7 @@ func Test_Generate(t *testing.T) { errMessage string }{ "failed loading trie": { - rootHash: common.Hash{1}, + rootHash: []byte{1}, databaseBuilder: func(ctrl *gomock.Controller) Database { mockDatabase := NewMockDatabase(ctrl) mockDatabase.EXPECT().Get(common.Hash{1}.ToBytes()). @@ -41,7 +41,7 @@ func Test_Generate(t *testing.T) { "test error", }, "walk error": { - rootHash: common.Hash{1}, + rootHash: []byte{1}, databaseBuilder: func(ctrl *gomock.Controller) Database { mockDatabase := NewMockDatabase(ctrl) encodedRoot := encodeNode(t, node.Node{ @@ -57,7 +57,7 @@ func Test_Generate(t *testing.T) { errMessage: "cannot find node at key 0x01 in trie: key not found", }, "leaf root": { - rootHash: common.Hash{1}, + rootHash: []byte{1}, databaseBuilder: func(ctrl *gomock.Controller) Database { mockDatabase := NewMockDatabase(ctrl) encodedRoot := encodeNode(t, node.Node{ @@ -76,7 +76,7 @@ func Test_Generate(t *testing.T) { }, }, "branch root": { - rootHash: common.Hash{1}, + rootHash: []byte{1}, databaseBuilder: func(ctrl *gomock.Controller) Database { mockDatabase := NewMockDatabase(ctrl) encodedRoot := encodeNode(t, node.Node{ diff --git a/internal/trie/proof/proof_test.go b/internal/trie/proof/proof_test.go index fa3554b338a..6e7810047a3 100644 --- a/internal/trie/proof/proof_test.go +++ b/internal/trie/proof/proof_test.go @@ -41,7 +41,7 @@ func Test_Generate_Verify(t *testing.T) { require.NoError(t, err) for i, key := range keys { - proof, err := Generate(rootHash, []byte(key), database) + proof, err := Generate(rootHash.ToBytes(), []byte(key), database) require.NoError(t, err) expectedValue := fmt.Sprintf("%x-%d", key, i) diff --git a/lib/runtime/wasmer/imports_test.go b/lib/runtime/wasmer/imports_test.go index ec57ce3d292..516f50dbde6 100644 --- a/lib/runtime/wasmer/imports_test.go +++ b/lib/runtime/wasmer/imports_test.go @@ -1794,7 +1794,7 @@ func Test_ext_trie_blake2_256_verify_proof_version_1(t *testing.T) { var allProofs [][]byte for _, key := range keys { - singleProof, err := proof.Generate(hash, key, memdb) + singleProof, err := proof.Generate(root, key, memdb) require.NoError(t, err) allProofs = append(allProofs, singleProof...) } diff --git a/lib/trie/database_test.go b/lib/trie/database_test.go index 1e08b32cadd..6ad78ca7a4b 100644 --- a/lib/trie/database_test.go +++ b/lib/trie/database_test.go @@ -131,7 +131,7 @@ func Test_Trie_WriteDirty_Delete(t *testing.T) { func Test_Trie_WriteDirty_ClearPrefix(t *testing.T) { t.Parallel() - const size = 2000 + const size = 15000 trie, keyValues := makeSeededTrie(t, size) generator := newGenerator()