Agent
Ethereum0x40907540d8a6c65c637785e8f8b742ae6b0b9968
Proxy implementation: 0x3a93c17fc82cc33420d1809dda9fb715cc89dd37
Solidity v0.4.24+commit.e67f0147
Admin & Risk
Who can change the rules?
Detected upgradeable controls from the verified ABI.
Current controls
- Implementation
- 0x3a93c17fc82cc33420d1809dda9fb715cc89dd37 ↗ Etherscan → smarts proxy
Overview
Read Functions
Block #25,170,043 · just nowReturns
| Name | Type | Description |
|---|---|---|
| — | bytes32 |
Tells whether this contract supports a given ERC-165 interface
Parameters
| Name | Type | Description |
|---|---|---|
| _interfaceId | bytes4 | Interface bytes to check |
Returns
| Name | Type | Description |
|---|---|---|
| — | bool | True if this contract supports the interface |
Returns
| Name | Type | Description |
|---|---|---|
| — | bool | Whether the contract has been initialized by the time of the current block |
Returns
| Name | Type | Description |
|---|---|---|
| — | bytes4 |
Parameters
| Name | Type | Description |
|---|---|---|
| _hash | bytes32 | Arbitrary length data signed on the behalf of address(this) |
| _signature | bytes | Signature byte array associated with _data |
Returns
| Name | Type | Description |
|---|---|---|
| — | bytes4 | A bytes4 magic value 0x20c13b0b if the signature check passes, 0x00000000 if not MUST NOT modify state (using STATICCALL for solc < 0.5, view modifier for solc > 0.5) MUST allow external calls |
Returns
| Name | Type | Description |
|---|---|---|
| — | bytes4 |
Returns
| Name | Type | Description |
|---|---|---|
| — | bytes32 |
Parameters
| Name | Type | Description |
|---|---|---|
| _data | bytes | |
| _signature | bytes | Signature byte array associated with _data |
Returns
| Name | Type | Description |
|---|---|---|
| — | bytes4 | A bytes4 magic value 0x20c13b0b if the signature check passes, 0x00000000 if not MUST NOT modify state (using STATICCALL for solc < 0.5, view modifier for solc > 0.5) MUST allow external calls |
Returns
| Name | Type | Description |
|---|---|---|
| — | uint256 |
Parameters
| Name | Type | Description |
|---|---|---|
| _script | bytes |
Returns
| Name | Type | Description |
|---|---|---|
| — | address |
Returns
| Name | Type | Description |
|---|---|---|
| — | address | Recovery vault address for the app |
Returns
| Name | Type | Description |
|---|---|---|
| — | bytes32 |
Returns
| Name | Type | Description |
|---|---|---|
| — | bytes32 |
Returns
| Name | Type | Description |
|---|---|---|
| — | bytes32 |
Returns
| Name | Type | Description |
|---|---|---|
| — | bool |
Returns
| Name | Type | Description |
|---|---|---|
| — | bytes32 |
Returns
| Name | Type | Description |
|---|---|---|
| — | bytes32 |
Parameters
| Name | Type | Description |
|---|---|---|
| — | address |
Returns
| Name | Type | Description |
|---|---|---|
| — | bool | bool whether the app allows the recovery |
Returns
| Name | Type | Description |
|---|---|---|
| — | bytes32 |
Parameters
| Name | Type | Description |
|---|---|---|
| — | uint256 |
Returns
| Name | Type | Description |
|---|---|---|
| — | address |
Returns
| Name | Type | Description |
|---|---|---|
| — | uint256 | Block number in which the contract was initialized |
Returns
| Name | Type | Description |
|---|---|---|
| — | bytes4 |
Parameters
| Name | Type | Description |
|---|---|---|
| _sender | address | Sender of the call |
| _role | bytes32 | Role on this app |
| _params | uint256[] | Permission params for the role |
Returns
| Name | Type | Description |
|---|---|---|
| — | bool | Boolean indicating whether the sender has the permissions to perform the action. Always returns false if the app hasn't been initialized yet. |
Returns
| Name | Type | Description |
|---|---|---|
| — | address |
Returns
| Name | Type | Description |
|---|---|---|
| — | address |
Returns
| Name | Type | Description |
|---|---|---|
| — | uint256 |
Returns
| Name | Type | Description |
|---|---|---|
| — | bytes32 |
Parameters
| Name | Type | Description |
|---|---|---|
| — | bytes32 |
Returns
| Name | Type | Description |
|---|---|---|
| — | bool |
Tells whether `_sender` can forward actions or not
Parameters
| Name | Type | Description |
|---|---|---|
| _sender | address | Address of the account intending to forward an action |
| _evmScript | bytes |
Returns
| Name | Type | Description |
|---|---|---|
| — | bool | True if the given address can run scripts, false otherwise |
Returns
| Name | Type | Description |
|---|---|---|
| — | address |
Returns
| Name | Type | Description |
|---|---|---|
| — | bool |
Parameters
| Name | Type | Description |
|---|---|---|
| _token | address |
Returns
| Name | Type | Description |
|---|---|---|
| — | uint256 |
Tells whether the Agent app is a forwarder or not
Returns
| Name | Type | Description |
|---|---|---|
| — | bool | Always true |
Write Functions
Handle the receipt of an NFT
Parameters
| Name | Type | Description |
|---|---|---|
| _operator | address | |
| _from | address | |
| _tokenId | uint256 | |
| _data | bytes |
Returns
| Name | Type | Description |
|---|---|---|
| — | bytes4 | bytes4 `bytes4(keccak256("onERC721Received(address,address,uint256,bytes)"))` |
Deposit `_value` `_token` to the vault
Parameters
| Name | Type | Description |
|---|---|---|
| _token | address | Address of the token being transferred |
| _value | uint256 | Amount of tokens being transferred |
Pre-sign hash `_hash`
Parameters
| Name | Type | Description |
|---|---|---|
| _hash | bytes32 | Hash that will be considered signed regardless of the signature checked with 'isValidSignature()' |
Remove `_token.symbol(): string` from the list of protected tokens
Parameters
| Name | Type | Description |
|---|---|---|
| _token | address | Address of the token to be unprotected |
Add `_token.symbol(): string` to the list of protected tokens
Parameters
| Name | Type | Description |
|---|---|---|
| _token | address | Address of the token to be protected |
Initialize Vault app
Send funds to recovery Vault. This contract should never receive funds, but in case it does, this function allows one to recover them.
Parameters
| Name | Type | Description |
|---|---|---|
| _token | address | Token balance to be sent to recovery vault. |
Set `_designatedSigner` as the designated signer of the app, which will be able to sign messages on behalf of the app
Parameters
| Name | Type | Description |
|---|---|---|
| _designatedSigner | address | Address that will be able to sign messages on behalf of the app |
Execute '`@radspec(_target, _data)`' on `_target`, ensuring that protected tokens can't be spent
Parameters
| Name | Type | Description |
|---|---|---|
| _target | address | Address where the action is being executed |
| _data | bytes | Calldata for the action |
Execute '`@radspec(_target, _data)`' on `_target``_ethValue == 0 ? '' : ' (Sending ' + @tokenAmount(0x0000000000000000000000000000000000000000, _ethValue) + ')'`
Parameters
| Name | Type | Description |
|---|---|---|
| _target | address | Address where the action is being executed |
| _ethValue | uint256 | Amount of ETH from the contract that is sent with the action |
| _data | bytes | Calldata for the action |
Parameters
| Name | Type | Description |
|---|---|---|
| _token | address | |
| _to | address | |
| _value | uint256 |
Execute the script as the Agent app
Parameters
| Name | Type | Description |
|---|---|---|
| _evmScript | bytes | Script being executed |
Events
| Name | Type | Indexed | Description |
|---|---|---|---|
| sender | address | ✓ | |
| target | address | ✓ | |
| data | bytes |
| Name | Type | Indexed | Description |
|---|---|---|---|
| sender | address | ✓ | |
| target | address | ✓ | |
| ethValue | uint256 | ||
| data | bytes |
| Name | Type | Indexed | Description |
|---|---|---|---|
| token | address | ✓ |
| Name | Type | Indexed | Description |
|---|---|---|---|
| token | address | ✓ |
| Name | Type | Indexed | Description |
|---|---|---|---|
| sender | address | ✓ | |
| hash | bytes32 | ✓ |
| Name | Type | Indexed | Description |
|---|---|---|---|
| sender | address | ✓ | |
| oldSigner | address | ✓ | |
| newSigner | address | ✓ |
| Name | Type | Indexed | Description |
|---|---|---|---|
| token | address | ✓ | |
| operator | address | ✓ | |
| from | address | ✓ | |
| tokenId | uint256 | ||
| data | bytes |
| Name | Type | Indexed | Description |
|---|---|---|---|
| token | address | ✓ | |
| to | address | ✓ | |
| amount | uint256 |
| Name | Type | Indexed | Description |
|---|---|---|---|
| token | address | ✓ | |
| sender | address | ✓ | |
| amount | uint256 |
| Name | Type | Indexed | Description |
|---|---|---|---|
| executor | address | ✓ | |
| script | bytes | ||
| input | bytes | ||
| returnData | bytes |
| Name | Type | Indexed | Description |
|---|---|---|---|
| vault | address | ✓ | |
| token | address | ✓ | |
| amount | uint256 |