1.1.7 • Published 3 years ago

yearn-tokenlist v1.1.7

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
3 years ago

Twitter Follow Discord Telegram

Resources

Overview

npm install yearn-tokenlist

npm yearn-tokenlist

Local Testing

The tokens.json is validated against Uniswap's tokenlist schema.

To test locally,

# Install dependencies
npm install

# Run test script
npm start

If there is an error, the error will be output to the terminal.

Deployed Contracts Registry

Below is a list of relevant smart contracts and Github repositories for using and interacting with the Yearn product suite.

Token Contracts

YFI

The Yearn ecosystem is controlled by YFI token holders who submit and vote on proposals that govern the ecosystem.

TokenAddress
YFI0x0bc529c00c6401aef6d220be8c6ea1667f6ad93e

v2 Yield Tokens

The v2 yield tokens can be used in one lender at a time. Currently being used on Curve’s Y Pool, Yearn’s yBTC pool and sUSD pool.

TokenAddressGithub
yDAIv20x16de59092dAE5CcF4A1E6439D611fd0653f0Bd01YDAIv2.sol
yUSDCv20xd6aD7a6750A7593E092a9B218d66C0A814a3436eYUSDCv2.sol
yUSDTv20x83f798e925BcD4017Eb265844FDDAbb448f1707DYUSDTv2.sol
ysUSDv20xF61718057901F84C4eEC4339EF8f0D86D2B45600YSUSDv2.sol
yTUSDv20x73a052500105205d34daf004eab301916da8190fYTUSDv2.sol
yWBTCv20x04Aa51bbcB46541455cCF1B8bef2ebc5d3787EC9YWBTCv2.sol

v3 Yield Tokens

Vaults follow unique strategies that are designed to maximize yield of the deposited asset and minimize risk. The vaults are maintained by a Controller which oversees the strategy execution. Strategies' generated profits are used to buy respective vault underlying asset.

The Controller contract can be found here and the source code can be found here.

Vaults

VaultAddressGitHub
WETH0xe1237aa7f535b0cc33fd973d66cbf830354d16c7yWETH.sol
YFI0xba2e7fed597fd0e3e70f5130bcdbbfe06bb94fe1yVault.sol
curve.fi/3pool LP0x9cA85572E6A3EbF24dEDd195623F188735A5179fyVault.sol
curve.fi/y LP0x5dbcf33d8c2e976c6b560249878e6f1491bca25cyVault.sol
curve.fi/busd LP0x2994529c0652d127b7842094103715ec5299bbedyVault.sol
curve.fi/sbtc LP0x7ff566e1d69deff32a7b244ae7276b9f90e9d0f6yVault.sol
DAI0xacd43e627e64355f1861cec6d3a6688b31a6f952yVault.sol
TUSD0x37d19d1c4e1fa9dc47bd1ea12f742a0887eda74ayVault.sol
USDC0x597ad1e0c13bfe8025993d9e79c69e1c0233522eyVault.sol
USDT0x2f08119c6f07c006695e079aafc638b8789faf18yVault.sol
GUSD0xec0d8d3ed5477106c6d4ea27d90a60e594693c90yVault.sol
curve.fi/compound LP0x629c759D1E83eFbF63d84eb3868B564d9521C129yVault.sol
curve.fi/mUSD LP0x1AEf73d49Dedc4b1778d0706583995958Dc862e6yVault.sol

Strategies

StrategyAddressGitHubVault
StrategyCurve3CrvVoterProxy0xC59601F0CC49baa266891b7fc63d2D5FE097A79DStrategyCurve3CrvVoterProxy.solcurve.fi/3pool LP
StrategyMKRVaultDAIDelegate0x932fc4fd0eee66f22f1e23fba74d7058391c0b15StrategyMKRVaultDAIDelegate.solWETH
StrategyYFIGovernance0x395f93350d5102b6139abfc84a7d6ee70488797cStrategyYFIGovernance.solYFI
StrategyCurveYCRVVoter0xc999fb87aca383a63d804a575396f65a55aa5ac8StrategyCurveYCRVVoter.solcurve.fi/y LP
StrategyCurveYBUSD0xb15ee8e74dac2d77f9d1080b32b0f3562954aee9StrategyCurveYBUSD.solcurve.fi/busd LP
StrategyCurveSBTC0x4feeaeced575239b46d70b50e13532ecb62e4ea8StrategyCurveSBTC.solcurve.fi/sbtc LP
StrategyDAICurve0xaa880345a3147a1fc6889080401c791813ed08dcStrategyDAICurve.solDAI
StrategyTUSDypool0xe3a711987612bfd1dafa076506f3793c78d81558StrategyTUSDypool.solTUSD
StrategyUSDC3pool0x4720515963a9d40ca10b1ade806c1291e6c9a86dStrategyUSDC3pool.solUSDC
StrategyUSDT3pool0xc7e437033d849474074429cbe8077c971ea2a852StrategyUSDT3pool.solUSDT
StrategyCurveCompoundVoterProxy0x530da5aef3c8f9ccbc75c97c182d6ee2284b643fStrategyCurveCompoundVoterProxy.solcurve.fi/compound LP
StrategyCurvemUSDVoterProxy0xBA0c07BBE9C22a1ee33FE988Ea3763f21D0909a0StrategyCurvemUSDVoterProxy.solcurve.fi/mUSD LP

Volatile assets can also participate in yield farming strategies as part of the Delegated Vaults. Currently, there is only one Delegated Vault: aLINK. The Controller deposits LINK into AAVE and borrows stable coins (USDC). The initial health factor of these loans is always above 4, and if the health factor drops below 4 at any time the Controller repays a portion of the debt in order to maintain a health factor above 4.

The stable coins borrowed (e.g., USDC, DAI, USDT, etc.) depend on the strategy selected by the Controller. After obtaining stable coins the Controller will deposit them into one of the yVaults identified above.

The aLINK vault uses the StrategyControllerV2 contract. The source code for StrategyControllerV2 is here.

StrategyStrategyGitHub
StrategyVaultUSDC0x25faca21dd2ad7edb3a027d543e617496820d8d6StrategyVaultUSDC.sol
VaultAddressGitHub
aLINK0x29e240cfd7946ba20895a7a02edb25c210f9f324yDelegatedVault.sol

Governance Contracts

YFI holders govern the Yearn ecosystem and are eligible to receive a portion of protocol profits. Therefore, YFI represents a right to govern the platform and a claim on earnings. Profits are obtained from each of Yearn's products. In order to claim profits, YFI holders stake their tokens into the Governance contract.

ContractStatusAddress
Governance Staking (v2)Live0xba37b002abafdd8e89a1995da52740bbc013d992
YearnGovernance (Balancer v1)Old0x3a22df48d84957f907e67f4313e3d43179040d6e
YearnRewards (Yearn v1)Old0x0001fb050fe7312791bf6475b96569d83f695c9f
YearnRewards (Balancer v1)Old0x033e52f513f9b98e129381c6708f9faa2dee5db5
YearnRewards (Gov. Staking v1)Old0xb01419e74d8a2abb1bbad82925b19c36c191a701

Status and Info Contracts

UtilitySummary
YRegistryThe Vault Registry is the single source of truth for active Yearn vaults. The registry allows users to query for active Yearn vaults and vault metadata (details here).
UniswapROIOn-chain uniswap pool ROI calculator
APROracleAllows on-chain rate comparison between Compound, Fulcrum, Aave, and dYdX.
UniswapAPRAn on-chain uniswap pool APR calculator. It calculates all values in ETH adjusted for the last year.
IEarnAPRContract for on-chain APR decision trees between Compound, Fulcrum, Aave, and dYdX.
IEarnManagerOn-chain stateless execution. Recommendations based on IearnAPR.
APRWithPoolOracleAPR used for stateless recommend() function. Can be used to change the recommended provider.
IEarnAPRWithPoolAPR used for stateless recommend() function. Can be used to change the recommended provider.

Utility Contracts

UtilityAddress
Curve's yPool0xdF5e0e81Dff6FAF3A7e52BA697820c5e32D806A8

License

Apache-2.0

1.1.7

3 years ago

1.1.6

3 years ago

1.1.4

3 years ago

1.1.0

3 years ago

1.0.6

3 years ago