From fb2aa5e8a1279b8257e3a195f1f70319c7b8b0f6 Mon Sep 17 00:00:00 2001 From: Kirill Date: Tue, 23 Jul 2024 19:57:10 +0300 Subject: [PATCH] Fix receipt commitment --- core/receipt.go | 3 ++- core/receipt_pkg_test.go | 3 --- core/trie/trie.go | 8 ++++++++ 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/core/receipt.go b/core/receipt.go index 544373da30..25ef04e531 100644 --- a/core/receipt.go +++ b/core/receipt.go @@ -68,7 +68,8 @@ func messagesSentHash(messages []*L2ToL1Message) *felt.Felt { func receiptCommitment(receipts []*TransactionReceipt) (*felt.Felt, error) { var commitment *felt.Felt - return commitment, trie.RunOnTempTrie(commitmentTrieHeight, func(trie *trie.Trie) error { + + return commitment, trie.RunOnTempTriePoseidon(commitmentTrieHeight, func(trie *trie.Trie) error { for i, receipt := range receipts { hash, err := receipt.Hash() if err != nil { diff --git a/core/receipt_pkg_test.go b/core/receipt_pkg_test.go index b13afabbac..6e856ab56e 100644 --- a/core/receipt_pkg_test.go +++ b/core/receipt_pkg_test.go @@ -2,8 +2,6 @@ package core import ( "encoding/binary" - "fmt" - "github.com/NethermindEth/juno/core/crypto" "github.com/NethermindEth/juno/core/felt" "github.com/NethermindEth/juno/utils" "github.com/ethereum/go-ethereum/common" @@ -84,7 +82,6 @@ func TestReceiptCommitment(t *testing.T) { require.NoError(t, err) expectedRoot := utils.HexToFelt(t, "0x31963cb891ebb825e83514deb748c89b6967b5368cbc48a9b56193a1464ca87") - fmt.Println("Hash is ", root.String(), crypto.PoseidonArray(root)) assert.Equal(t, expectedRoot, root) } diff --git a/core/trie/trie.go b/core/trie/trie.go index c7baafb20a..260c3428c3 100644 --- a/core/trie/trie.go +++ b/core/trie/trie.go @@ -85,6 +85,14 @@ func RunOnTempTrie(height uint8, do func(*Trie) error) error { return do(trie) } +func RunOnTempTriePoseidon(height uint8, do func(*Trie) error) error { + trie, err := NewTriePoseidon(newMemStorage(), height) + if err != nil { + return err + } + return do(trie) +} + // feltToBitSet Converts a key, given in felt, to a trie.Key which when followed on a [Trie], // leads to the corresponding [Node] func (t *Trie) feltToKey(k *felt.Felt) Key {