GatePolicyWhitelist
Purpose: Permit only whitelisted actors to interact with a node across deposit/redemption and ERC20 transfer flows.
Guarded selectors:
deposit,mint,requestRedeem,redeem,withdraw,setOperator,transfer,approve,transferFrom.Who is checked:
deposit/mint: caller and receiver.requestRedeem: caller, controller, owner.setOperator: caller, operator.redeem/withdraw: caller, receiver, controller.transfer: caller, to.approve: caller, spender.transferFrom: caller, from, to.
Config: Node owner seeds a Merkle root with
setRoot(node, root)and/or directly lists addresses withadd(node, actors)/remove(node, actors).User data: Actors not directly listed must pre-submit a Merkle proof via
Node.submitPolicyData(<any selector guarded by this policy>, policyAddr, abi.encode(bytes32[] proof)). The proof is cached per(node, actor)and reused across selectors.Behavior: Reverts with
NotWhitelistedif any checked participant is missing from the allowlist.
Last updated