Vyper Core works as a set of smart contract which can take any SPL token and a custom payoff function, and redistribute the tokens to match the payoff upon certain conditions. For example, people can deposit farming LP tokens, which after some time (e.g. a week) are redistributed to reflect the the impermanent loss vs fees generated.
There are three main smart contracts:
- Vyper Core: manages position IOUs creation and redemption, accepts only fungible tokens (e.g. LP tokens or cTokens). It redistributes collateral deposited consuming data from the rate calculator and redeem logic contracts
- Rate Calculator: updates the fair price of the collateral deposited (e.g. USD value of LP token). Supports up to 10 different underlyings for sophisticated payoffs
- Redeem Logic: payoff formula which specifies how collateral should be distributed, based on initial collateral deposited, initial prices, final prices, and other parameters (e.g. strike, duration)
Following the Vyper suite
Name | Type | Version | Path |
---|---|---|---|
Vyper Core | Core Primitive | 0.1.0 |
programs/vyper-core |
Rate Switchboard | Rate Plugin | 0.1.0 |
programs/rate-switchboard |
Rate Pyth | Rate Plugin | 0.1.0 |
programs/rate-pyth |
Rate Mock | Rate Plugin | 0.1.0 |
programs/rate-mock |
Redeem Logic Lending | Redeem Logic Plugin | 1.0.0 |
programs/redeem-logic-lending |
Redeem Logic Lending Fee | Redeem Logic Plugin | 1.0.0 |
programs/redeem-logic-lending-fee |
Redeem Logic Farming | Redeem Logic Plugin | 2.0.0 |
programs/redeem-logic-farming |
Redeem Logic Vanilla Option | Redeem Logic Plugin | 2.0.0 |
programs/redeem-logic-vanilla-option |
Redeem Logic Forward | Redeem Logic Plugin | 1.0.0 |
programs/redeem-logic-forward |
Redeem Logic Settled Forward | Redeem Logic Plugin | 1.0.0 |
programs/redeem-logic-settled-forward |
Redeem Logic Fila | Redeem Logic Plugin | 1.0.0 |
programs/redeem-logic-fila |
Redeem Logic Digital | Redeem Logic Plugin | 1.0.0 |
programs/redeem-logic-digital |
Name | Version | Path |
---|---|---|
Vyper Utils | 0.1.0 |
libs/vyper-utils |
Vyper Macros | 0.1.0 |
libs/vyper-macros |
We're currently working on a typescript sdk for frontend integrations. This is still a WIP, but it's available at the path /sdk
.
Once finished it'll be published as a npm module.
First, install dependencies:
$ yarn install
And install Anchor by following the instructions here.
Build the program:
$ anchor build
Finally, run the tests:
$ cargo test
$ anchor test
General Vyper documentation can be found here.
Join our Discord channel and post a message