@acl:canCall
Whether a caller can immediately call a restricted function of a contract managed by an AccessManager.
On-chain (@acl:canCall!): Reads the immediate flag of the pair, not the delay.
⚗️ Experimental — available at next.evmcrispr.com.
Returns: bool
Syntax
Section titled “Syntax”@acl:canCall(manager caller target signature)Arguments
Section titled “Arguments”| Name | Type | Description |
|---|---|---|
manager | address | AccessManager address |
caller | address | Calling account |
target | address | Managed contract address |
signature | string | Function signature (e.g. mint(address,uint256)) |
Examples
Section titled “Examples”load acl
set $manager 0xc0dbDcA66a0636236fAbe1B3C16B1bD4C84bB1E1set $token 0x9C58BAcC331c9aa871AFD802DB6379a98e80CEdb
print @acl:canCall($manager @me $token "mint(address,uint256)")- Returns
trueonly when the caller can execute the function immediately; a member whose grant carries an execution delay getsfalse(the call must go through the AccessManager schedule flow).
See Also
Section titled “See Also”On-chain face (@canCall!)
Section titled “On-chain face (@canCall!)”Read whether a caller can immediately call a restricted function at assertion time. The selector computes at composition time; the (immediate, delay) pair is unwrapped through a core pick.
Examples
Section titled “Examples”load acl
set $manager 0xa111111111111111111111111111111111111111set $token 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
assert @canCall!($manager @me $token "mint(address,uint256)")