ERC4626KYCDaoForm

Git Source

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();