| Crates.io | bvs-vault-cw20-tokenized |
| lib.rs | bvs-vault-cw20-tokenized |
| version | 2.4.0 |
| created_at | 2025-05-05 06:25:31.504498+00 |
| updated_at | 2025-09-08 06:42:39.779662+00 |
| description | SatLayer Bitcoin Validated Service |
| homepage | https://satlayer.xyz/ |
| repository | https://github.com/satlayer/satlayer-bvs.git |
| max_upload_size | |
| id | 1660258 |
| size | 81,381 |
The BVS Vault CW20 Tokenized is a specialized vault contract designed to support CW20 tokens as the underlying asset in the SatLayer ecosystem. It extends the functionality of the standard BVS Vault CW20 by implementing a tokenized vault that issues receipt tokens (CW20 tokens) to represent shares in the vault.
The Vault CW20 Tokenized implements the ERC-4626 tokenized vault standard, providing a standardized interface for yield-bearing vaults. It manages the relationship between deposited CW20 tokens and receipt tokens (shares), allowing for efficient tracking of user deposits and their corresponding value.
DepositFor: Deposit CW20 tokens into the vault for a recipient, who receives receipt tokensQueueWithdrawalTo: Queue a withdrawal request for later processingRedeemWithdrawalTo: Process a queued withdrawal requestTransfer, Send, etc.: Standard CW20 operations for the receipt tokensShares: Get the number of shares (receipt tokens) owned by a stakerAssets: Get the asset value of shares owned by a stakerConvertToAssets: Convert a share amount to its asset valueConvertToShares: Convert an asset amount to its share valueTotalShares: Get the total number of shares (receipt tokens) in the vaultTotalAssets: Get the total asset value in the vaultQueuedWithdrawal: Get information about a queued withdrawalVaultInfo: Get general information about the vaultThe Vault CW20 Tokenized manages deposits and withdrawals through a tokenized share-based system:
The vault implements a withdrawal queue to handle situations where immediate withdrawals are not possible:
QueueWithdrawalToRedeemWithdrawalToBVS Vault CW20 Tokenized integrates with the following BVS contracts:
bvs-pauser: Contract for pausing functionalitybvs-registry: Contract for registry functionalitybvs-vault-router: Contract for routing between different vaultsbvs-vault-base: Base functionality for all vault contractsbvs-vault-cw20: Underlying functionality for CW20 vaults