ESADepositVault
Source: contracts/peripherals/ESADepositVault.sol · Guide: savings · Upgradeable (UUPS proxy)
Network
Chain id
Address
Base Sepolia
84532
Base
8453
Functions that change state
Function
Who can call
Also
cancelMandate(bytes32 digest)onlyRole(OPERATOR_ROLE)deposit(address token, uint256 amount, address receiver)Checked inside the function
whenNotPauseddepositWithAuthorization(address depositor, address token, uint256 amount, address receiver, uint256 validAfter, uint256 validBefore, bytes32 authNonce, uint8 v, bytes32 r, bytes32 s)onlyRole(OPERATOR_ROLE)whenNotPausedexecuteMandateDeposit(address depositor, address token, uint256 amountPerRun, uint64 interval, uint32 maxRuns, uint256 startAt, uint256 expiry, uint256 nonce, bytes signature)onlyRole(OPERATOR_ROLE)whenNotPausedgrantRole(bytes32 role, address account)The role's admin role (
DEFAULT_ADMIN_ROLE unless set otherwise)initialize(address clrusd_, address admin)Once, when the proxy is initialised
pause()onlyRole(PAUSER_ROLE)redeem(address token, uint256 clrusdAmount, address receiver)Checked inside the function
whenNotPausedredeemWithAuthorization(address redeemer, address token, uint256 clrusdAmount, address receiver, uint256 deadline, uint8 v, bytes32 r, bytes32 s)onlyRole(OPERATOR_ROLE)whenNotPausedrenounceRole(bytes32 role, address account)Only the account renouncing its own role
revokeRole(bytes32 role, address account)The role's admin role (
DEFAULT_ADMIN_ROLE unless set otherwise)setAcceptedToken(address token, bool accepted)onlyRole(OPERATOR_ROLE)setClrusd(address clrusd_)onlyRole(DEFAULT_ADMIN_ROLE)unpause()onlyRole(PAUSER_ROLE)upgradeTo(address newImplementation)onlyRole(DEFAULT_ADMIN_ROLE) (via _authorizeUpgrade)upgradeToAndCall(address newImplementation, bytes data)onlyRole(DEFAULT_ADMIN_ROLE) (via _authorizeUpgrade)payable
Read functions
Anyone can call these; they change nothing.
Function
Returns
clrusd()address
DEFAULT_ADMIN_ROLE()bytes32
depositMandates(bytes32)uint32 runsDone, uint64 lastRunAt, bool cancelled
eip712Domain()bytes1 fields, string name, string version, uint256 chainId, address verifyingContract, bytes32 salt, uint256[] extensions
getRoleAdmin(bytes32 role)bytes32
hashDepositMandate(address depositor, address token, uint256 amountPerRun, uint64 interval, uint32 maxRuns, uint256 startAt, uint256 expiry, uint256 nonce)bytes32
hasRole(bytes32 role, address account)bool
isAcceptedToken(address token)bool
OPERATOR_ROLE()bytes32
paused()bool
PAUSER_ROLE()bytes32
previewDeposit(address token, uint256 amount)uint256 minted
previewRedeem(address token, uint256 clrusdAmount)uint256 returnedAmount
proxiableUUID()bytes32
redeemNonces(address)uint256
supportsInterface(bytes4 interfaceId)bool
Events
Event
AcceptedTokenUpdated(address token indexed, bool accepted)AdminChanged(address previousAdmin, address newAdmin)BeaconUpgraded(address beacon indexed)ClrusdUpdated(address clrusd indexed)Deposited(address caller indexed, address receiver indexed, address token indexed, uint256 tokenAmount, uint256 clrusdMinted)EIP712DomainChanged()Initialized(uint8 version)MandateCancelled(bytes32 mandate indexed)MandateDeposit(bytes32 mandate indexed, address depositor indexed, uint32 runIndex, uint256 amount, uint256 minted)Paused(address account)Redeemed(address caller indexed, address receiver indexed, address token indexed, uint256 clrusdBurned, uint256 tokenAmount)RoleAdminChanged(bytes32 role indexed, bytes32 previousAdminRole indexed, bytes32 newAdminRole indexed)RoleGranted(bytes32 role indexed, address account indexed, address sender indexed)RoleRevoked(bytes32 role indexed, address account indexed, address sender indexed)Unpaused(address account)Upgraded(address implementation indexed)Errors
Error
ESADepositVaultInsufficientLiquidity()ESADepositVaultInvalidAddress()ESADepositVaultInvalidAmount()ESADepositVaultMandateInvalid()ESADepositVaultNonExactAmount()ESADepositVaultTokenNotAccepted()ESADepositVaultTokenStillOutstanding(uint256 outstanding)