Skip to content

chore: bump kohaku-rs to its crates.io releases - #125

Merged
fbwoolf merged 2 commits into
masterfrom
chore/bump-kohaku-rs
Oct 28, 2026
Merged

fbwoolf merged 2 commits into
masterfrom
chore/bump-kohaku-rs

Conversation

@fbwoolf

@fbwoolf fbwoolf commented Oct 27, 2026 •

Copy link
Copy Markdown
Collaborator

cc @Robert-MacWha, is this ok to bump/merge?

Bumps kohaku-rs from 17917c6 to its first crates.io releases (kohaku-tornadocash 0.1.0 and the 0.0.1 keychain, paymaster, syncer and userop-kit crates), which match git 3010446. kohaku-fork-kit is unpublished, so the one test that uses it stays on git 3010446, patched onto the published crates. Closes #119. This is the prerequisite for #121.

  • Crate split ported. The syncer moved to kohaku-tornadocash-syncer (with its saga-sync feature) and the paymaster to kohaku-tornadocash-paymaster. Snapshot moved to kohaku_tornadocash::event, with accessors and a fallible constructor, and deposit and withdrawal calls now come from call().
  • Pools unchanged. kohaku-rs's catalog now includes non-canonical extended ETH pools (0.01, 0.03, 0.3, 3 and 30 ETH). edw keeps to canonical pools here, so deposits, recovery and note selection behave as before. feat: new tornado denominations #111 adds the extended pools.
  • Breaking: wallets created before this cannot open their Tornado data. kohaku-rs added a canonical field to Pool, and edw stores Pool with postcard (the tracked pool list and every synced snapshot), so older records fail to decode (DeserializeBadBool), profile rescan included. To recover, remove the data directory and import the profile from its phrase; notes are derived from the phrase and found again. RPC and bundler configs, opted-in ERC-20s and registered fresh addresses are lost. Storing pools by chain id and address would avoid this; I left it out to keep the bump small.
  • Paymaster quotes no longer carry real proofs. kohaku-rs now estimates gas with a placeholder proof while the pool's verifier is overridden, and proves for real afterwards (kohaku-rs ci: separate audit job #99).

Shield, sync and paymaster unshield behave as before on an anvil fork of Sepolia. unshield --to, which reverts in the bundler's simulation on master (#119), now goes through: on Sepolia through the public Pimlico bundler it forwarded 0.0999986 ETH from one 0.1 ETH note (0x64f8d7d9…). I have not isolated why the bump fixes it.

@fbwoolf fbwoolf changed the title chore: bump kohaku-rs to 3010446 chore: bump kohaku-rs to its crates.io releases Oct 27, 2026

@Robert-MacWha Robert-MacWha left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

This seems fine. I forgot that this depended on fork-kit, I'll deploy that in the next release cycle so we don't need to patch stuff.

@kassandraoftroy kassandraoftroy left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

LGTM

@fbwoolf
fbwoolf merged commit 8fe05b6 into master Oct 28, 2026
4 of 5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

EDW-032 - unshield --to: forward only what fits beside the first gas estimate's placeholder fee

3 participants