Params
Selectors
VeilifySwap switches to the …SupportingFeeOnTransferTokens variant when the path includes a fee-on-transfer token. It measures the output by balance delta. Any other selector reverts with InvalidSwapSelector.
Execution
_checkSpenddeadline ≤ block.timestamp + 30 minutes(DeadlineTooFar)amountOutMin ≠ 0(ZeroAmountOutMin)- Verify 52 public inputs (
VIRTUAL_CHAIN_ID,UNISWAP_V2_ROUTER, then params) - Spend nullifiers
- Run the swap through
VeilifySwap(delegatecall) - Build the output note from
receivingKeyCommitment,amountOut, the output token andnullifiersHash - Insert output, change and fee-change notes
- Pay
feetomsg.sender - Emit
ShieldedSwap