Spectra Developer Docs
  • Developers Documentation
  • Getting Started
  • Guides
    • Tokenizing Yield
    • Providing Liquidity
    • Deploy PT and Curve Pool
    • Routing
    • IBT Additional Rewards
    • Locking APW for veAPW
    • Voting and Earning Rewards
  • Technical Reference
    • Deployed Contracts
    • Contract Functions
      • Principal Token
      • Yield Token
      • Registry
      • RateOracle
      • Factory
      • Access Manager
      • RouterUtil
      • Router
      • GovernanceRegistry
      • Voter
      • VotingReward
        • BribeVotingReward
        • FeesVotingReward
      • FeeDistributor
      • Spectra4626Wrapper
    • Yield Calculations
    • Spectra's Automated Market Makers
      • Rate Adjusted StableSwap pools
  • Glossary
  • INTEGRATION REFERENCE
    • Spectra Oracles
      • TWAP Oracles
      • Deterministic Oracles
        • Linear APR model
        • Linear Discount Model
        • Zero Coupon Bond Model
        • Comparison
      • Oracle Deployment
        • Deterministic Oracles Deployment
        • TWAP Oracles Deployment
Powered by GitBook
On this page
  • ERC-4626
  • Methods
  • wrap
  • wrap
  • unwrap
  • unwrap
  • View Methods
  • previewWrap
  • previewUnwrap
  • vault
  • totalVaultShares
  1. Technical Reference
  2. Contract Functions

Spectra4626Wrapper

PreviousFeeDistributorNextYield Calculations

Last updated 11 months ago

The Spectra4626Wrapper contract implements a wrapper to facilitate compliance of an interest-bearing vault with the ERC-4626 standard, making it compatible for deploying a Spectra Principal Token.

ERC-4626

This contract is compatible with the and implements its interface. However, depending on the functionalities supported by the wrapped vault, some functions may revert by default (e.g. redeem() / withdraw()).

Methods

wrap

Deposits vault shares into the wrapper.

function wrap(uint256 vaultShares, address receiver) external returns (uint256)
Input Parameter
Type
Description

vaultShares

uint256

The amount of vault shares to deposit

receiver

address

The address to receive the wrapper shares

Return Parameter
Type
Description

wrapperShares

uint256

The amount of minted wrapper shares

wrap

Deposits vault shares into the wrapper, with support for slippage protection.

function wrap(
    uint256 vaultShares,
    address receiver,
    uint256 minShares
) external returns (uint256)
Input Parameter
Type
Description

vaultShares

uint256

The amount of vault shares to deposit

receiver

address

The address to receive the wrapper shares

minShares

uint256

The minimum allowed wrapper shares from this deposit

Return Parameter
Type
Description

shares

uint256

The amount of minted wrapper shares

unwrap

Withdraws vault shares from the wrapper.

function unwrap(uint256 shares, address receiver, address owner) external returns (uint256)

msg.sender must approve the relevant allowance of the vault token before calling this method.

Input Parameter
Type
Description

shares

uint256

The amount of wrapper shares to redeem

receiver

address

The address to receive the vault shares

owner

address

The address of the owner of the wrapper shares

Return Parameter
Type
Description

vaultShares

uint256

The amount of withdrawn vault shares

unwrap

Withdraws vault shares from the wrapper, with support for slippage protection.

function unwrap(
    uint256 shares,
    address receiver,
    address owner,
    uint256 minVaultShares
) external returns (uint256)
Input Parameter
Type
Description

shares

uint256

The amount of wrapper shares to redeem

receiver

address

The address to receive the vault shares

owner

address

The address of the owner of the wrapper shares

minVaultShares

uint256

The minimum vault shares that should be returned

Return Parameter
Type
Description

vaultShares

uint256

The amount of withdrawn vault shares

View Methods

previewWrap

Calculates the amount of minted wrapper shares for a given amount of deposited vault shares.

function previewWrap(uint256 vaultShares) external view returns (uint256)

previewUnwrap

Calculates the amount of withdrawn vault shares for a given amount of redeemed wrapper shares.

function previewUnwrap(uint256 shares) external view returns (uint256)

vault

Returns the address of the wrapped vault.

function vault() external view returns (address)

totalVaultShares

Returns the vault balance of the wrapper.

function totalVaultShares() external view returns (uint256)
ERC-4626 standard