ERC4626
ERC4626
含义
ERC-4626 是优化和统一收益资金库技术参数的标准。 它为表示单个底层 ERC-20 代币的份额的代币化收益资金库提供标准应用程序接口。 ERC-4626 还概述了使用 ERC-20 的代币化资金库的可选扩展,提供存款、提取代币和读取余额的基本功能。
它主要是运用在收益金库中
定义
asset:由 Vault 管理的基础 Token。 具有由相应的 EIP-20 合约定义的单位。
share:Vault 的 token。具有标的资产比率 在 Mint / Deposit / Withdraw/redeem (由 Vault 定义) 时兑换。
fee:Vault 向用户收取的资产或份额数量。可以存在费用 存款、收益、AUM、提款或 Vault 规定的任何其他内容。
滑点:广告股价与经济现实之间的任何差异 存款到金库或从金库取款,不计入费用。
功能
asset :function asset() public view returns (address assetTokenAddress)
函数返回用于资金库记账,存款,取款的带代币地址。
totalAsset:function convertToShares(uint256 assets) public view returns (uint256 shares)
函数返回资金库持有的资金总量
converToShare:function convertToShares(uint256 assets) public view returns (uint256 shares)
函数返回shares的数量,该数量将由资金库兑换为提供的assets数量
convertToAssets :function convertToAssets(uint256 shares) public view returns (uint256 assets)
函数返回assets数量,该数量由资金库兑换成为提供的shares数量
maxDeposit:function maxDeposit(address receiver) public view returns (uint256 maxAssets)
函数返回receiver的一次deposit调用中可以存入的最大资产数量
previewDeposit:function previewDeposit(uint256 assets) public view returns (uint256 shares)
函数允许用户模拟他们在当前区块的存取效果
deposit:function deposit(uint256 assets, address receiver) public returns (uint256 shares)
函数将代币asserts存入资金库,并将shares的所有权授予receiver
maxMint :function maxMint(address receiver) public view returns (uint256 maxShares)
函数返回receiver在单次mintd调用中可以铸造的最大份额】
previewMint:function maxMint(address receiver) public view returns (uint256 maxShares)
函数允许用户在当前区块模拟他们铸币效果
mint:function mint(uint256 shares, address receiver) public returns (uint256 assets)
函数通过存入代币的assets,将shares资金库份额准确的铸造搭到receiver。
maxWithdraw:function maxWithdraw(address owner) public view returns (uint256 maxAssets)
函数返回可以通过单次 withdraw 调用从 owner 余额中提取的最大标的资产数量。
previewWithdraw:function previewWithdraw(uint256 assets) public view returns (uint256 shares)
函数允许用户模拟他们在当前区块取款的效果
withdraw:function withdraw(uint256 assets, address receiver, address owner) public returns (uint256 shares)
函数从 owner 烧录 shares,并将 assets 代币从资金库准确发送到 receiver。
maxRedeem:function maxRedeem(address owner) public view returns (uint256 maxShares)
函数返回可以通过 redeem 调用从 owner 余额中赎回的最大份额。
previewRedeem:function previewRedeem(uint256 shares) public view returns (uint256 assets)
函数允许用户在当前区块模拟他们的赎回效果。
redeem:function redeem(uint256 shares, address receiver, address owner) public returns (uint256 assets)
函数从 owner 赎回特定数量的 shares 并将底层代币的 assets 从资金库发送到 receiver。
totalSupply:function totalSupply() public view returns (uint256)
返回流通中未赎回的资金库份额总数。
balanceOf:function balanceOf(address owner) public view returns (uint256)
返回 owner 当前拥有的资金库份额总量。
解释
使用 deposit(),你指定要存入多少资产,函数将计算要发送给你的股份数量。
使用 mint(),你指定想要多少股份,函数将计算从你那里转移多少 ERC20 资产。
withdraw 和 redeem 分别是 deposit 和 mint 的逆操作。
使用 deposit,你指定要交易的资产数量,合约计算你将获得多少股份。
使用 mint,你指定想要的股份数量,合约计算要从你那里取走多少资产。
同样,
使用 withdraw,你可以指定想从合约中提取多少资产,合约将计算你需要销毁多少股份。
使用 redeem,你指定想要销毁多少股份,合约将计算要返还给你的资产数量。