Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Use tail public inputs as transaction hash #11100

Merged
merged 35 commits into from
Jan 10, 2025

Conversation

sirasistant
Copy link
Collaborator

@sirasistant sirasistant commented Jan 8, 2025

Implements #9269
Separates the role of the first nullifier and the transaction hash. The transaction hash is now the hash of the tail public inputs. The first nullifier is still used for note uniqueness and replayability protection

Copy link
Contributor

github-actions bot commented Jan 8, 2025

Changes to circuit sizes

Generated at commit: 2cf9e2b184887ed78ba660a55f31fee4e283a38c, compared to commit: 85d389fd8344f2a6cba04ab8d8bd577b9698a0ca

🧾 Summary (100% most significant diffs)

Program ACIR opcodes (+/-) % Circuit size (+/-) %
rollup_base_public +2,463 ❌ +0.61% +49,280 ❌ +1.51%
rollup_base_private +1,045 ❌ +0.64% +20,959 ❌ +1.17%

Full diff report 👇
Program ACIR opcodes (+/-) % Circuit size (+/-) %
rollup_base_public 406,226 (+2,463) +0.61% 3,309,961 (+49,280) +1.51%
rollup_base_private 164,435 (+1,045) +0.64% 1,812,021 (+20,959) +1.17%

@sirasistant sirasistant added e2e-all CI: Enables this CI job. network-all Run this CI job. labels Jan 9, 2025
@@ -290,7 +290,7 @@ export class PublicProcessor implements Traceable {
return [result, failed, returns];
}

@trackSpan('PublicProcessor.processTx', tx => ({ [Attributes.TX_HASH]: tx.tryGetTxHash()?.toString() }))
@trackSpan('PublicProcessor.processTx', tx => ({ [Attributes.TX_HASH]: tx.getTxHash()?.toString() }))
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't need ? here anymore!

Copy link
Collaborator

@LeilaWang LeilaWang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lovely! 🚀

@sirasistant sirasistant changed the title feat: Use tail public inputs as transaction hash (WIP) feat: Use tail public inputs as transaction hash Jan 10, 2025
@sirasistant
Copy link
Collaborator Author

boxes-test is already broken in master

@sirasistant sirasistant merged commit 34be2c3 into master Jan 10, 2025
76 of 78 checks passed
@sirasistant sirasistant deleted the arv/tx_hash_is_tx_object branch January 10, 2025 12:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
e2e-all CI: Enables this CI job. network-all Run this CI job.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants