Create vault
Creating a vault
The 'deploySmartVault' function allows the deployment of a new SmartVault using specified configuration.
Before utilizing the 'deploySmartVault' function, ensure that you have access to a Signer or Fireblocks provider capable of signing transactions. The 'deploySmartVault' function requires a 'SmartVaultSpecification' parameter, which defines the desired configuration for the new SmartVault.
Parameters explanation:
Key parameters:
smartVaultName: The name of the vault that will be seen in the Vaults view in Yelay UI as well as on-chain.
svtSymbol: The name of the deposit token (share), as will be seen on-chain, f.e.: https://etherscan.io/token/0x873806f889daf6358a7dbd2cfcd999ecb4b7e0ad.
baseURI: NFT metadata URI.
assetGroupId: The strategies that are submitted to the vaults have to have assets from the same group and have the correct asset group id specified. Use listAssetGroups and listStrategies methods to get the right asset group for the strategies you want to use.
strategies: Set of strategies addresses to be used by the smart vault.
Strategy allocation:
strategyAllocation: Use to set fixed allocations manually. In that case you have to pack allocations for strategies to a BigNumber.
riskTolerance: Parameter that dictates allocation of user's assets across strategies. Minimum value is -10, maximum is 10.
riskProvider: Address of a risk provider used by the smart vault. In case of fixed strategy allocation this parameter can be empty. Use listRiskProviders method to list and select a risk provider.
allocationProvider - Address of an allocation provider used by the smart vault. In case of fixed strategy allocation this parameter can be empty.
The contract addresses for the allocation providers on mainnet:
exponential: 0xcebF2117a483EFf141c25bf8d365B9B81Af9112F
linear: 0x7DBadf3CC5C9C7177B6f976910eF84AD90E018a8
uniform: 0x6f519d997CD2027F164586718Ca248d2384D7dB1
The contract addresses for the allocation providers on staging env:
exponential: 0x015AFC876A4d115E2fF01000d9D3ADC714e5870B
linear: 0x4e1157b40e62782F04d7F4a915f340B8F445B008
uniform: 0xE3Eca4c4B0BB84532D43db64E505CC6eE750fD7C
Fees:
managementFeePct - fees collected by the vault owner. Maximum amount is 5
performanceFeePct - fees collected by the vault owner. Maximum amout is 20
depositFeePct - deposit fee percentage. Maximum amount is 5
Advanced features - actions and conditions (“guards”):
actions - Address of predefined state changing actions to register for the smart vault (eg. when deposition, withdrawing).
actionRequestTypes - Defines in what occasions actions or guards are triggered (1 - Deposit, 2 - Withdrawal, 3 - TransferNFT, 4 - BurnNFT, 5 - TransferSVTs).
guards - predefined View only checks to register for the smart vault (eg. when deposition, withdrawing).
guardRequestTypes - Request types for the smart vault.
allowRedeemFor - Allows vault owner to kick users out of vault .
Creating vault manually
Alternatively, partners could send vault information to Yelay according to this template:
Yelay team will create on-chain transaction based on these configs and pass it to the partner so that they you can execute it via their own Vault Owner's multi-sig.
Vault management
Transferring ownership
In order to initiate this process, owner should call the transferSmartVaultOwnership
method on theSpoolAccessControl
contract: (https://etherscan.io/address/0x7b533e72E0cDC63AacD8cDB926AC402b846Fbd13#writeProxyContract).
After that newOwner must accept it by calling acceptSmartVaultOwnership
on the same SpoolAccessControl
contract.
Last updated