Notes
event NoteAdded(uint256 indexed index, bytes32 noteCommitment, bytes32[9] noteCiphertext);
event NoteSpent(bytes32 indexed noteNullifier);
NoteAdded in index order and trial-decrypt each ciphertext.
Private operations
event ShieldedTransfer(bytes32 indexed txNullifier, bytes32 nullifiersHash,
bytes32 noteOutCommitment, bytes32 noteChangeCommitment, bytes32 noteFeeChangeCommitment,
uint256 fee, address feeTokenAddress);
event ShieldedWithdrawal(bytes32 indexed txNullifier, bytes32 nullifiersHash,
bytes32 noteChangeCommitment, bytes32 noteFeeChangeCommitment,
address recipientAddress, uint256 amount, address tokenAddress,
uint256 fee, address feeTokenAddress);
event ShieldedSwap(bytes32 indexed txNullifier, bytes32 nullifiersHash,
bytes32 noteOutCommitment, bytes32 noteChangeCommitment, bytes32 noteFeeChangeCommitment,
uint256 amountIn, address tokenIn, uint256 amountOut, address tokenOut,
uint256 fee, address feeTokenAddress);
Deposits
event DepositPending(uint256 indexed index, address indexed recipient, address token,
uint256 amount, address depositor, uint256 gasEscrow);
event DepositStatusChanged(uint256 indexed index, DepositStatus status);
event Deposit(uint256 indexed index, address indexed account, address token, uint256 amount,
uint256 revocationPublicKeyX, uint256 revocationPublicKeyY);
event GasEscrowSettled(uint256 indexed index, uint256 toGuard, uint256 toDepositor);
NoteAdded → DepositStatusChanged(APPROVED) → Deposit. The scanner pairs them in that order.
Keys
event ReceivingKeyRegistered(address indexed account, uint256 indexed index, uint256 hash,
bytes32 pkX, bytes32 pkY, bytes32 keyData, bytes32 pnk, bytes32 ekX, bytes32 ekY);
event ReceivingKeyRotated(address indexed account, uint256 previousHash, uint256 newHash); // never emitted
Fees
event ProtocolFeeCharged(FeeKind indexed kind, bytes32 indexed ref, address indexed token, uint256 amount);
event ProtocolFeesSwept(address indexed token, address indexed treasury, uint256 amount);
event FeeConfigUpdated(uint16 depositFeeBps, uint16 withdrawalFeeBps, bool cancelCheckFee, uint32 settleGasOverhead);
event TokenParamsUpdated(address indexed token, uint256 minDeposit, uint256 checkFee, uint256 maxPullGasFee);
event TreasuryUpdated(address indexed previous, address indexed next);
Administration
event TokenWhitelistUpdated(address indexed token, TokenType tokenType);
event WhitelistManagerUpdated(address indexed previousManager, address indexed newManager);
event GuardUpdated(address indexed previousGuard, address indexed newGuard);
event UpgradeControllerUpdated(address indexed previousController, address indexed newController);
event VerifiersUpdated(address indexed shieldedTransferVerifier,
address indexed shieldedWithdrawalVerifier, address indexed shieldedSwapVerifier);
event RelayerUpdated(address indexed relayer, bool allowed);
event DepositLimitsUpdated(address indexed token, uint256 maxDeposit, uint256 depositCap);
event PauseUpdated(address indexed account, bool paused);
event WithdrawalPauseUpdated(address indexed account, bool paused);
Factory
event PoolCreated(address indexed caller, address indexed pool, address indexed implementation);