ERC4626KYCDaoForm
Inherits: ERC4626FormImplementation
The Form implementation for IERC4626 vaults with kycDAO NFT checks
This form must hold a kycDAO NFT to operate
Functions
constructor
constructor(address superRegistry_) ERC4626FormImplementation(superRegistry_, 1);
_kycCheck
this function calls the kycDAO vault kycCheck function to verify if the beneficiary holds a kycDAO token
note that this form must also be a holder of a kycDAO NFT
function _kycCheck(address srcSender_) internal view;
_directDepositIntoVault
Deposits underlying tokens into a vault
function _directDepositIntoVault(
InitSingleVaultData memory singleVaultData_,
address srcSender_
)
internal
override
returns (uint256 dstAmount);
_directWithdrawFromVault
Withdraws underlying tokens from a vault
function _directWithdrawFromVault(
InitSingleVaultData memory singleVaultData_,
address srcSender_
)
internal
override
returns (uint256 dstAmount);
_xChainDepositIntoVault
function _xChainDepositIntoVault(
InitSingleVaultData memory singleVaultData_,
address srcSender_,
uint64 srcChainId_
)
internal
override
returns (uint256 dstAmount);
_xChainWithdrawFromVault
Withdraws underlying tokens from a vault
function _xChainWithdrawFromVault(
InitSingleVaultData memory singleVaultData_,
address srcSender_,
uint64 srcChainId_
)
internal
override
returns (uint256 dstAmount);
_emergencyWithdraw
withdraws vault shares from form during emergency
function _emergencyWithdraw(address refundAddress_, uint256 amount_) internal override;
Errors
NO_VALID_KYC_TOKEN
error thrown when the sender doesn't the KYCDAO
error NO_VALID_KYC_TOKEN();