Pool
Constructor
constructor(
address manager_,
address asset_,
address destination_,
uint256 bootstrapMint_,
uint256 initialSupply_,
string name_,
string symbol_
);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_MINTThe amount of shares that will be burned during the first deposit/mint.
function BOOTSTRAP_MINT()
view
returns (
uint256
);Return Values:
0
uint256
uint256
DOMAIN_SEPARATOR
DOMAIN_SEPARATORReturns the signature domain separator.
function DOMAIN_SEPARATOR()
view
returns (
bytes32 domainSeparator_
);Return Values:
0
domainSeparator_
bytes32
bytes32
The signature domain separator.
PERMIT_TYPEHASH
PERMIT_TYPEHASHReturns the permit type hash.
function PERMIT_TYPEHASH()
view
returns (
bytes32
);Return Values:
0
bytes32
bytes32
allowance
allowanceReturns the allowance that one account has given another over their tokens.
function allowance(
address,
address
)
view
returns (
uint256
);Parameters:
0
``
address
address
1
``
address
address
Return Values:
0
uint256
uint256
approve
approveFunction that allows one account to set the allowance of another account over their tokens. Emits an {Approval} event.
function approve(
address spender_,
uint256 amount_
)
nonpayable
returns (
bool success_
);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
assetThe address of the underlying asset used by the Vault. MUST be a contract that implements the ERC-20 standard. MUST NOT revert.
function asset()
view
returns (
address
);Return Values:
0
address
address
balanceOf
balanceOfReturns the amount of tokens owned by a given account.
function balanceOf(
address
)
view
returns (
uint256
);Parameters:
0
``
address
address
Return Values:
0
uint256
uint256
balanceOfAssets
balanceOfAssetsReturns the amount of underlying assets owned by the specified account.
function balanceOfAssets(
address account_
)
view
returns (
uint256 balanceOfAssets_
);Parameters:
0
account_
address
address
Address of the account.
Return Values:
0
balanceOfAssets_
uint256
uint256
Amount of assets owned.
convertToAssets
convertToAssetsThe 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.
function convertToAssets(
uint256 shares_
)
view
returns (
uint256 assets_
);Parameters:
0
shares_
uint256
uint256
The amount of shares to convert.
Return Values:
0
assets_
uint256
uint256
The amount of equivalent assets.
convertToExitAssets
convertToExitAssetsReturns the amount of exit assets for the input amount.
function convertToExitAssets(
uint256 shares_
)
view
returns (
uint256 assets_
);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
convertToExitSharesReturns the amount of exit shares for the input amount.
function convertToExitShares(
uint256 amount_
)
view
returns (
uint256 shares_
);Parameters:
0
amount_
uint256
uint256
Return Values:
0
shares_
uint256
uint256
Amount of shares able to be exited.
convertToShares
convertToSharesThe 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.
function convertToShares(
uint256 assets_
)
view
returns (
uint256 shares_
);Parameters:
0
assets_
uint256
uint256
The amount of assets to convert.
Return Values:
0
shares_
uint256
uint256
The amount of equivalent shares.
decimals
decimalsReturns the decimal precision used by the token.
function decimals()
view
returns (
uint8
);Return Values:
0
uint8
uint8
decreaseAllowance
decreaseAllowanceFunction that allows one account to decrease the allowance of another account over their tokens. Emits an {Approval} event.
function decreaseAllowance(
address spender_,
uint256 subtractedAmount_
)
nonpayable
returns (
bool success_
);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
depositMints `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).
function deposit(
uint256 assets_,
address receiver_
)
nonpayable
returns (
uint256 shares_
);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
depositWithPermitDoes a ERC4626 `deposit` with a ERC-2612 `permit`.
function depositWithPermit(
uint256 assets_,
address receiver_,
uint256 deadline_,
uint8 v_,
bytes32 r_,
bytes32 s_
)
nonpayable
returns (
uint256 shares_
);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
increaseAllowanceFunction that allows one account to increase the allowance of another account over their tokens. Emits an {Approval} event.
function increaseAllowance(
address spender_,
uint256 addedAmount_
)
nonpayable
returns (
bool success_
);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
managerThe address of the account that is allowed to update the vesting schedule.
function manager()
view
returns (
address
);Return Values:
0
address
address
maxDeposit
maxDepositMaximum 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.
function maxDeposit(
address receiver_
)
view
returns (
uint256 maxAssets_
);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
maxMintMaximum 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.
function maxMint(
address receiver_
)
view
returns (
uint256 maxShares_
);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
maxRedeemMaximum 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.
function maxRedeem(
address owner_
)
view
returns (
uint256 maxShares_
);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
maxWithdrawMaximum 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.
function maxWithdraw(
address owner_
)
view
returns (
uint256 maxAssets_
);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
mintMints `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).
function mint(
uint256 shares_,
address receiver_
)
nonpayable
returns (
uint256 assets_
);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
mintWithPermitDoes a ERC4626 `mint` with a ERC-2612 `permit`.
function mintWithPermit(
uint256 shares_,
address receiver_,
uint256 maxAssets_,
uint256 deadline_,
uint8 v_,
bytes32 r_,
bytes32 s_
)
nonpayable
returns (
uint256 assets_
);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
nameReturns the name of the token.
function name()
view
returns (
string
);Return Values:
0
string
string
nonces
noncesReturns the nonce for the given owner.
function nonces(
address
)
view
returns (
uint256
);Parameters:
0
``
address
address
Return Values:
0
uint256
uint256
permit
permitApprove by signature.
function permit(
address owner_,
address spender_,
uint256 amount_,
uint256 deadline_,
uint8 v_,
bytes32 r_,
bytes32 s_
)
nonpayable;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
previewDepositAllows 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.
function previewDeposit(
uint256 assets_
)
view
returns (
uint256 shares_
);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
previewMintAllows 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.
function previewMint(
uint256 shares_
)
view
returns (
uint256 assets_
);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
previewRedeemAllows 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.
function previewRedeem(
uint256 shares_
)
view
returns (
uint256 assets_
);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
previewWithdrawAllows 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.
function previewWithdraw(
uint256 assets_
)
view
returns (
uint256 shares_
);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
redeemBurns `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).
function redeem(
uint256 shares_,
address receiver_,
address owner_
)
nonpayable
returns (
uint256 assets_
);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
removeSharesRemoves shares from the withdrawal mechanism, can only be called after the beginning of the withdrawal window has passed.
function removeShares(
uint256 shares_,
address owner_
)
nonpayable
returns (
uint256 sharesReturned_
);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
requestRedeemRequests a redemption of shares from the pool.
function requestRedeem(
uint256 shares_,
address owner_
)
nonpayable
returns (
uint256 escrowedShares_
);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
requestWithdrawRequests a withdrawal of assets from the pool.
function requestWithdraw(
uint256 assets_,
address owner_
)
nonpayable
returns (
uint256 escrowedShares_
);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
symbolReturns the symbol of the token.
function symbol()
view
returns (
string
);Return Values:
0
string
string
totalAssets
totalAssetsTotal amount of the underlying asset that is managed by the Vault. SHOULD include compounding that occurs from any yields. MUST NOT revert.
function totalAssets()
view
returns (
uint256 totalAssets_
);Return Values:
0
totalAssets_
uint256
uint256
The total amount of assets the Vault manages.
totalSupply
totalSupplyReturns the total amount of tokens in existence.
function totalSupply()
view
returns (
uint256
);Return Values:
0
uint256
uint256
transfer
transferMoves an amount of tokens from `msg.sender` to a specified account. Emits a {Transfer} event.
function transfer(
address recipient_,
uint256 amount_
)
nonpayable
returns (
bool success_
);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
transferFromMoves a pre-approved amount of tokens from a sender to a specified account. Emits a {Transfer} event. Emits an {Approval} event.
function transferFrom(
address owner_,
address recipient_,
uint256 amount_
)
nonpayable
returns (
bool success_
);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
unrealizedLossesReturns the amount unrealized losses.
function unrealizedLosses()
view
returns (
uint256 unrealizedLosses_
);Return Values:
0
unrealizedLosses_
uint256
uint256
Amount of unrealized losses.
withdraw
withdrawBurns `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).
function withdraw(
uint256 assets_,
address receiver_,
address owner_
)
nonpayable
returns (
uint256 shares_
);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
ApprovalEmitted when one account has set the allowance of another account over their tokens.
event Approval(
address owner_,
address spender_,
uint256 amount_
);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
BootstrapMintPerformedInitial shares amount was minted to the zero address to prevent the first depositor frontrunning exploit.
event BootstrapMintPerformed(
address caller_,
address receiver_,
uint256 assets_,
uint256 shares_,
uint256 bootStrapMintAmount_
);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.
event Deposit(
address caller_,
address owner_,
uint256 assets_,
uint256 shares_
);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_`.
event OwnershipAccepted(
address previousOwner_,
address newOwner_
);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_`.
event PendingOwnerSet(
address owner_,
address pendingOwner_
);Parameters:
0
owner_
address
address
The current RDT owner.
1
pendingOwner_
address
address
The new pending RDT owner.
RedemptionRequested
RedemptionRequestedA new redemption request has been made.
event RedemptionRequested(
address owner_,
uint256 shares_,
uint256 escrowedShares_
);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
SharesRemovedShares have been removed.
event SharesRemoved(
address owner_,
uint256 shares_
);Parameters:
0
owner_
address
address
The owner of shares.
1
shares_
uint256
uint256
The amount of shares requested to be removed.
Transfer
TransferEmitted when tokens have moved from one account to another.
event Transfer(
address owner_,
address recipient_,
uint256 amount_
);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.
event Withdraw(
address caller_,
address receiver_,
address owner_,
uint256 assets_,
uint256 shares_
);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
WithdrawRequestedA new withdrawal request has been made.
event WithdrawRequested(
address owner_,
uint256 assets_,
uint256 escrowedShares_
);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