Orchestrator
Orchestrator.sol is the protocol's only stateful entry point. It validates batches, owns the commitment tree + nullifier set (in an ERC-7201 slot via CommitmentTreeLib), inserts commitments, settles public value, dispatches actions, and shields refunds. It holds no tokens — those live in the immutable Vault. VAULT and VERIFIER are set at construction and never change.
Entry points
transact(finalizeProof, publicsDigest, ops[], bundles[])
The main function. It is a strict checks-effects-interactions pipeline; see State Transitions for the slot-level walk-through.
deposit(DepositRequest)
Pulls ERC-20 from the caller (via the Vault, net of the protocol fee) and commits the resulting note to the tree. The amount, asset, and stealth address are public but the link to any future spend is not. See Transaction Lifecycle › Deposit.