Shielded Swap Circuit
Entry Point
fn main(
notes: [SpendableNote; 6],
tx: EIP1559Transaction<324>, // SWAP_MAX_DATA_SIZE
viewing_key: ViewingKey,
sender_rk: ReceivingKey,
fee: u128,
fee_asset: Field,
randomness: [Field; 8],
virtual_chain_id: pub u128,
uniswap_v2_router_address: pub Field, // Additional public input
) -> pub ShieldedSwap // 50 public outputsKey Differences from Transfer/Withdrawal
Aspect
Transfer
Swap
Private Inputs
Input
Description
Public Inputs
Input
Description
Public Outputs (50 fields)
Swap-Specific Logic
Transaction Parsing
Recipient Verification
Half-Encrypted Output Note
Ciphertext Index
Content
Source
Receiving Key Commitment
Supported Selectors
Selector
Uniswap Function
Input Token
Constraint Count
Metric
Count
Last updated