From c573c0c9a333583d8589287500f667212531c28f Mon Sep 17 00:00:00 2001 From: pri-3x Date: Mon, 30 Sep 2024 14:35:46 +0530 Subject: [PATCH 1/2] Add SignatureCarrier interface for transactions with signatures --- core/transaction.go | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/core/transaction.go b/core/transaction.go index e2edfc1585..7d9a8ffcb6 100644 --- a/core/transaction.go +++ b/core/transaction.go @@ -129,6 +129,10 @@ type Transaction interface { TxVersion() *TransactionVersion } +type SignatureCarrier interface { + Signature() []*felt.Felt +} + var ( _ Transaction = (*DeployTransaction)(nil) _ Transaction = (*DeployAccountTransaction)(nil) @@ -672,10 +676,10 @@ func transactionCommitmentPoseidon(transactions []Transaction) (*felt.Felt, erro digest.Update(transaction.Hash()) switch transaction.(type) { - case *DeployTransaction, *L1HandlerTransaction: - digest.Update(&felt.Zero) - default: + case SignatureCarrier: digest.Update(transaction.Signature()...) + default: + digest.Update(&felt.Zero) } if _, err := trie.Put(new(felt.Felt).SetUint64(uint64(i)), digest.Finish()); err != nil { From 72539f26a8e9a85d2e420efe6a420fd889ffa374 Mon Sep 17 00:00:00 2001 From: pri-3x Date: Mon, 30 Sep 2024 16:31:53 +0530 Subject: [PATCH 2/2] Update expected value for transactions without signatures --- core/block_pkg_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/block_pkg_test.go b/core/block_pkg_test.go index 1387b40acb..d142ab6e58 100644 --- a/core/block_pkg_test.go +++ b/core/block_pkg_test.go @@ -57,7 +57,7 @@ func TestTransactionCommitmentPoseidon(t *testing.T) { c, err := transactionCommitmentPoseidon(txs) require.NoError(t, err) - expected := utils.HexToFelt(t, "0x6e067f82eefc8efa75b4ad389253757f4992eee0f81f0b43815fa56135ca801") + expected := utils.HexToFelt(t, "0x5ecb75d7a86984ec8ef9d5fbbe49ef8737c37246d33cf73037df1ceb412244e") assert.Equal(t, expected, c, "expected: %s, got: %s", expected, c) }) }