Repository navigation
feat!: escrowed transfers with off-chain envelopes, on emit-protocol - #2
Merged
Merged
Conversation
Transfers escrow their recipient's note: the receiver screens the sender's MRZ, then accepts or rejects it with a member_resolve proof, or the sender is refunded after the window. The sealed DG1 and the lattice ciphertext travel off-chain (the devnet's mailbox); the chain sees only env_commit. The circuits, the pool contract and the protocol's types moved to emit-protocol (crates emit-protocol, emit-protocol-abi, emit-circuits 0.1.0 from crates.io): this repository keeps the node, the wallet (with `zkpool deploy`, escrows, resolve and refund), the scripts and the demo. BREAKING CHANGE: new deployment and pipeline roots; transact no longer takes the ciphertext; the pool is deployed by `zkpool deploy`.
tonyvelichko
force-pushed
the
feat/escrow-envelope
branch
from
October 1, 2026 11:24
bf7c638 to
1f81b3c
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Escrowed transfers
member_resolveproof. After the window, anyone may refund the sender.env_commit. No personal data, even encrypted, is written on-chain.zkpool escrows,resolve,refundanddeploy. The devnet no longer needs forge.The protocol moved to emit-protocol
The circuits, the pool contract and the protocol's types now live in emit-protocol, and this repository uses its crates (
emit-protocol,emit-protocol-abi,emit-circuits0.1.0) from crates.io. That's about 2,900 lines removed here. Dependencies: noir-zk 0.3.3, zk-encryption 0.1.5 and eid-circuits 0.8.3.Checks
cargo test: 9 passed.--ignored holder(release build): 2 passed.scripts/demo.sh: demo ok, and the pool holds 69.94 ETH.Breaking: new deployment and pipeline roots, and
transactno longer takes the ciphertext.