Pool
\
Constructor
Parameters:
0
manager_
address
address
1
asset_
address
address
2
destination_
address
address
3
bootstrapMint_
uint256
uint256
4
initialSupply_
uint256
uint256
5
name_
string
string
The name of the token.
6
symbol_
string
string
The symbol of the token.
\
Functions
BOOTSTRAP_MINT
BOOTSTRAP_MINT
The amount of shares that will be burned during the first deposit/mint.
Return Values:
0
uint256
uint256
\
DOMAIN_SEPARATOR
DOMAIN_SEPARATOR
Returns the signature domain separator.
Return Values:
0
domainSeparator_
bytes32
bytes32
The signature domain separator.
\
PERMIT_TYPEHASH
PERMIT_TYPEHASH
Returns the permit type hash.
Return Values:
0
bytes32
bytes32
\
allowance
allowance
Returns the allowance that one account has given another over their tokens.
Parameters:
0
``
address
address
1
``
address
address
Return Values:
0
uint256
uint256
\
approve
approve
Function that allows one account to set the allowance of another account over their tokens. Emits an {Approval} event.
Parameters:
0
spender_
address
address
Account that tokens are approved for.
1
amount_
uint256
uint256
Amount of tokens that have been approved.
Return Values:
0
success_
bool
bool
Boolean indicating whether the operation succeeded.
\
asset
asset
The address of the underlying asset used by the Vault. MUST be a contract that implements the ERC-20 standard. MUST NOT revert.
Return Values:
0
address
address
\
balanceOf
balanceOf
Returns the amount of tokens owned by a given account.
Parameters:
0
``
address
address
Return Values:
0
uint256
uint256
\
balanceOfAssets
balanceOfAssets
Returns the amount of underlying assets owned by the specified account.
Parameters:
0
account_
address
address
Address of the account.
Return Values:
0
balanceOfAssets_
uint256
uint256
Amount of assets owned.
\
convertToAssets
convertToAssets
The amount of `assets_` the `shares_` are currently equivalent to. MUST NOT be inclusive of any fees that are charged against assets in the Vault. MUST NOT reflect slippage or other on-chain conditions when performing the actual exchange. MUST NOT show any variations depending on the caller. MUST NOT revert.
Parameters:
0
shares_
uint256
uint256
The amount of shares to convert.
Return Values:
0
assets_
uint256
uint256
The amount of equivalent assets.
\
convertToExitAssets
convertToExitAssets
Returns the amount of exit assets for the input amount.
Parameters:
0
shares_
uint256
uint256
The amount of shares to convert to assets.
Return Values:
0
assets_
uint256
uint256
Amount of assets able to be exited.
\
convertToExitShares
convertToExitShares
Returns the amount of exit shares for the input amount.
Parameters:
0
amount_
uint256
uint256
Return Values:
0
shares_
uint256
uint256
Amount of shares able to be exited.
\
convertToShares
convertToShares
The amount of `shares_` the `assets_` are currently equivalent to. MUST NOT be inclusive of any fees that are charged against assets in the Vault. MUST NOT reflect slippage or other on-chain conditions when performing the actual exchange. MUST NOT show any variations depending on the caller. MUST NOT revert.
Parameters:
0
assets_
uint256
uint256
The amount of assets to convert.
Return Values:
0
shares_
uint256
uint256
The amount of equivalent shares.
\
decimals
decimals
Returns the decimal precision used by the token.
Return Values:
0
uint8
uint8
\
decreaseAllowance
decreaseAllowance
Function that allows one account to decrease the allowance of another account over their tokens. Emits an {Approval} event.
Parameters:
0
spender_
address
address
Account that tokens are approved for.
1
subtractedAmount_
uint256
uint256
Amount to decrease approval by.
Return Values:
0
success_
bool
bool
Boolean indicating whether the operation succeeded.
\
deposit
deposit
Mints `shares_` to `receiver_` by depositing `assets_` into the Vault. MUST emit the {Deposit} event. MUST revert if all of the assets cannot be deposited (due to insufficient approval, deposit limits, slippage, etc).
Parameters:
0
assets_
uint256
uint256
The amount of assets to deposit.
1
receiver_
address
address
The receiver of the shares.
Return Values:
0
shares_
uint256
uint256
The amount of shares minted.
\
depositWithPermit
depositWithPermit
Does a ERC4626 `deposit` with a ERC-2612 `permit`.
Parameters:
0
assets_
uint256
uint256
The amount of `asset` to deposit.
1
receiver_
address
address
The receiver of the shares.
2
deadline_
uint256
uint256
The timestamp after which the `permit` signature is no longer valid.
3
v_
uint8
uint8
ECDSA signature v component.
4
r_
bytes32
bytes32
ECDSA signature r component.
5
s_
bytes32
bytes32
ECDSA signature s component.
Return Values:
0
shares_
uint256
uint256
The amount of shares minted.
\
increaseAllowance
increaseAllowance
Function that allows one account to increase the allowance of another account over their tokens. Emits an {Approval} event.
Parameters:
0
spender_
address
address
Account that tokens are approved for.
1
addedAmount_
uint256
uint256
Amount to increase approval by.
Return Values:
0
success_
bool
bool
Boolean indicating whether the operation succeeded.
\
manager
manager
The address of the account that is allowed to update the vesting schedule.
Return Values:
0
address
address
\
maxDeposit
maxDeposit
Maximum amount of `assets_` that can be deposited on behalf of the `receiver_` through a `deposit` call. MUST return a limited value if the receiver is subject to any limits, or the maximum value otherwise. MUST NOT revert.
Parameters:
0
receiver_
address
address
The receiver of the assets.
Return Values:
0
maxAssets_
uint256
uint256
The maximum amount of assets that can be deposited.
\
maxMint
maxMint
Maximum amount of `shares_` that can be minted on behalf of the `receiver_` through a `mint` call. MUST return a limited value if the receiver is subject to any limits, or the maximum value otherwise. MUST NOT revert.
Parameters:
0
receiver_
address
address
The receiver of the shares.
Return Values:
0
maxShares_
uint256
uint256
The maximum amount of shares that can be minted.
\
maxRedeem
maxRedeem
Maximum amount of `shares_` that can be redeemed from the `owner_` through a `redeem` call. MUST return a limited value if the owner is subject to any limits, or the total amount of owned shares otherwise. MUST NOT revert.
Parameters:
0
owner_
address
address
The owner of the shares.
Return Values:
0
maxShares_
uint256
uint256
The maximum amount of shares that can be redeemed.
\
maxWithdraw
maxWithdraw
Maximum amount of `assets_` that can be withdrawn from the `owner_` through a `withdraw` call. MUST return a limited value if the owner is subject to any limits, or the total amount of owned assets otherwise. MUST NOT revert.
Parameters:
0
owner_
address
address
The owner of the assets.
Return Values:
0
maxAssets_
uint256
uint256
The maximum amount of assets that can be withdrawn.
\
mint
mint
Mints `shares_` to `receiver_` by depositing `assets_` into the Vault. MUST emit the {Deposit} event. MUST revert if all of shares cannot be minted (due to insufficient approval, deposit limits, slippage, etc).
Parameters:
0
shares_
uint256
uint256
The amount of shares to mint.
1
receiver_
address
address
The receiver of the shares.
Return Values:
0
assets_
uint256
uint256
The amount of assets deposited.
\
mintWithPermit
mintWithPermit
Does a ERC4626 `mint` with a ERC-2612 `permit`.
Parameters:
0
shares_
uint256
uint256
The amount of `shares` to mint.
1
receiver_
address
address
The receiver of the shares.
2
maxAssets_
uint256
uint256
The maximum amount of assets that can be taken, as per the permit.
3
deadline_
uint256
uint256
The timestamp after which the `permit` signature is no longer valid.
4
v_
uint8
uint8
ECDSA signature v component.
5
r_
bytes32
bytes32
ECDSA signature r component.
6
s_
bytes32
bytes32
ECDSA signature s component.
Return Values:
0
assets_
uint256
uint256
The amount of shares deposited.
\
name
name
Returns the name of the token.
Return Values:
0
string
string
\
nonces
nonces
Returns the nonce for the given owner.
Parameters:
0
``
address
address
Return Values:
0
uint256
uint256
\
permit
permit
Approve by signature.
Parameters:
0
owner_
address
address
Owner address that signed the permit.
1
spender_
address
address
Spender of the permit.
2
amount_
uint256
uint256
Permit approval spend limit.
3
deadline_
uint256
uint256
Deadline after which the permit is invalid.
4
v_
uint8
uint8
ECDSA signature v component.
5
r_
bytes32
bytes32
ECDSA signature r component.
6
s_
bytes32
bytes32
ECDSA signature s component.
\
previewDeposit
previewDeposit
Allows an on-chain or off-chain user to simulate the effects of their deposit at the current block, given current on-chain conditions. MUST return as close to and no more than the exact amount of shares that would be minted in a `deposit` call in the same transaction. MUST NOT account for deposit limits like those returned from `maxDeposit` and should always act as though the deposit would be accepted.
Parameters:
0
assets_
uint256
uint256
The amount of assets to deposit.
Return Values:
0
shares_
uint256
uint256
The amount of shares that would be minted.
\
previewMint
previewMint
Allows an on-chain or off-chain user to simulate the effects of their mint at the current block, given current on-chain conditions. MUST return as close to and no fewer than the exact amount of assets that would be deposited in a `mint` call in the same transaction. MUST NOT account for mint limits like those returned from `maxMint` and should always act as though the minting would be accepted.
Parameters:
0
shares_
uint256
uint256
The amount of shares to mint.
Return Values:
0
assets_
uint256
uint256
The amount of assets that would be deposited.
\
previewRedeem
previewRedeem
Allows an on-chain or off-chain user to simulate the effects of their redemption at the current block, given current on-chain conditions. MUST return as close to and no more than the exact amount of assets that would be withdrawn in a `redeem` call in the same transaction. MUST NOT account for redemption limits like those returned from `maxRedeem` and should always act as though the redemption would be accepted.
Parameters:
0
shares_
uint256
uint256
The amount of shares to redeem.
Return Values:
0
assets_
uint256
uint256
The amount of assets that would be withdrawn.
\
previewWithdraw
previewWithdraw
Allows an on-chain or off-chain user to simulate the effects of their withdrawal at the current block, given current on-chain conditions. MUST return as close to and no fewer than the exact amount of shares that would be burned in a `withdraw` call in the same transaction. MUST NOT account for withdrawal limits like those returned from `maxWithdraw` and should always act as though the withdrawal would be accepted.
Parameters:
0
assets_
uint256
uint256
The amount of assets to withdraw.
Return Values:
0
shares_
uint256
uint256
The amount of shares that would be redeemed.
\
redeem
redeem
Burns `shares_` from `owner_` and sends `assets_` to `receiver_`. MUST emit the {Withdraw} event. MUST revert if all of the shares cannot be redeemed (due to insufficient shares, withdrawal limits, slippage, etc).
Parameters:
0
shares_
uint256
uint256
The amount of shares to redeem.
1
receiver_
address
address
The receiver of the assets.
2
owner_
address
address
The owner of the shares.
Return Values:
0
assets_
uint256
uint256
The amount of assets sent to the receiver.
\
removeShares
removeShares
Removes shares from the withdrawal mechanism, can only be called after the beginning of the withdrawal window has passed.
Parameters:
0
shares_
uint256
uint256
The amount of shares to redeem.
1
owner_
address
address
The owner of the shares.
Return Values:
0
sharesReturned_
uint256
uint256
The amount of shares withdrawn.
\
requestRedeem
requestRedeem
Requests a redemption of shares from the pool.
Parameters:
0
shares_
uint256
uint256
The amount of shares to redeem.
1
owner_
address
address
The owner of the shares.
Return Values:
0
escrowedShares_
uint256
uint256
The amount of shares sent to escrow.
\
requestWithdraw
requestWithdraw
Requests a withdrawal of assets from the pool.
Parameters:
0
assets_
uint256
uint256
The amount of assets to withdraw.
1
owner_
address
address
The owner of the shares.
Return Values:
0
escrowedShares_
uint256
uint256
The amount of shares sent to escrow.
\
symbol
symbol
Returns the symbol of the token.
Return Values:
0
string
string
\
totalAssets
totalAssets
Total amount of the underlying asset that is managed by the Vault. SHOULD include compounding that occurs from any yields. MUST NOT revert.
Return Values:
0
totalAssets_
uint256
uint256
The total amount of assets the Vault manages.
\
totalSupply
totalSupply
Returns the total amount of tokens in existence.
Return Values:
0
uint256
uint256
\
transfer
transfer
Moves an amount of tokens from `msg.sender` to a specified account. Emits a {Transfer} event.
Parameters:
0
recipient_
address
address
Account that receives tokens.
1
amount_
uint256
uint256
Amount of tokens that are transferred.
Return Values:
0
success_
bool
bool
Boolean indicating whether the operation succeeded.
\
transferFrom
transferFrom
Moves a pre-approved amount of tokens from a sender to a specified account. Emits a {Transfer} event. Emits an {Approval} event.
Parameters:
0
owner_
address
address
Account that tokens are moving from.
1
recipient_
address
address
Account that receives tokens.
2
amount_
uint256
uint256
Amount of tokens that are transferred.
Return Values:
0
success_
bool
bool
Boolean indicating whether the operation succeeded.
\
unrealizedLosses
unrealizedLosses
Returns the amount unrealized losses.
Return Values:
0
unrealizedLosses_
uint256
uint256
Amount of unrealized losses.
\
withdraw
withdraw
Burns `shares_` from `owner_` and sends `assets_` to `receiver_`. MUST emit the {Withdraw} event. MUST revert if all of the assets cannot be withdrawn (due to insufficient assets, withdrawal limits, slippage, etc).
Parameters:
0
assets_
uint256
uint256
The amount of assets to withdraw.
1
receiver_
address
address
The receiver of the assets.
2
owner_
address
address
The owner of the assets.
Return Values:
0
shares_
uint256
uint256
The amount of shares burned from the owner.
\
Events
Approval
Approval
Emitted when one account has set the allowance of another account over their tokens.
Parameters:
0
owner_
address
address
Account that tokens are approved from.
1
spender_
address
address
Account that tokens are approved for.
2
amount_
uint256
uint256
Amount of tokens that have been approved.
\
BootstrapMintPerformed
BootstrapMintPerformed
Initial shares amount was minted to the zero address to prevent the first depositor frontrunning exploit.
Parameters:
0
caller_
address
address
The caller of the function that emitted the `BootstrapMintPerformed` event.
1
receiver_
address
address
The user that was minted the shares.
2
assets_
uint256
uint256
The amount of assets deposited.
3
shares_
uint256
uint256
The amount of shares that would have been minted to the user if it was not the first deposit.
4
bootStrapMintAmount_
uint256
uint256
The amount of shares that was minted to the zero address to protect the first depositor.
\
Deposit
Deposit
`caller_` has exchanged `assets_` for `shares_` and transferred them to `owner_`. MUST be emitted when assets are deposited via the `deposit` or `mint` methods.
Parameters:
0
caller_
address
address
The caller of the function that emitted the `Deposit` event.
1
owner_
address
address
The owner of the shares.
2
assets_
uint256
uint256
The amount of assets deposited.
3
shares_
uint256
uint256
The amount of shares minted.
\
OwnershipAccepted
OwnershipAccepted
`newOwner_` has accepted the transferral of RDT ownership from `previousOwner_`.
Parameters:
0
previousOwner_
address
address
The previous RDT owner.
1
newOwner_
address
address
The new RDT owner.
\
PendingOwnerSet
PendingOwnerSet
`owner_` has set the new pending owner of RDT to `pendingOwner_`.
Parameters:
0
owner_
address
address
The current RDT owner.
1
pendingOwner_
address
address
The new pending RDT owner.
\
RedemptionRequested
RedemptionRequested
A new redemption request has been made.
Parameters:
0
owner_
address
address
The owner of shares.
1
shares_
uint256
uint256
The amount of shares requested to redeem.
2
escrowedShares_
uint256
uint256
The amount of shares actually escrowed for this withdrawal request.
\
SharesRemoved
SharesRemoved
Shares have been removed.
Parameters:
0
owner_
address
address
The owner of shares.
1
shares_
uint256
uint256
The amount of shares requested to be removed.
\
Transfer
Transfer
Emitted when tokens have moved from one account to another.
Parameters:
0
owner_
address
address
Account that tokens have moved from.
1
recipient_
address
address
Account that tokens have moved to.
2
amount_
uint256
uint256
Amount of tokens that have been transferred.
\
Withdraw
Withdraw
`caller_` has exchanged `shares_`, owned by `owner_`, for `assets_`, and transferred them to `receiver_`. MUST be emitted when assets are withdrawn via the `withdraw` or `redeem` methods.
Parameters:
0
caller_
address
address
The caller of the function that emitted the `Withdraw` event.
1
receiver_
address
address
The receiver of the assets.
2
owner_
address
address
The owner of the shares.
3
assets_
uint256
uint256
The amount of assets withdrawn.
4
shares_
uint256
uint256
The amount of shares burned.
\
WithdrawRequested
WithdrawRequested
A new withdrawal request has been made.
Parameters:
0
owner_
address
address
The owner of shares.
1
assets_
uint256
uint256
The amount of assets requested to withdraw.
2
escrowedShares_
uint256
uint256
The amount of shares actually escrowed for this withdrawal request.
\
Last updated