yaxis-project / metavault

The MetaVault will allow users to take advantage of the best yield farming strategies while minimizing gas fees and transferring difficult management decisions to an incentivized community governance.
https://yaxis.io/
MIT License
33 stars 19 forks source link

yAxis MetaVault Contracts

The MetaVault will allow users to take advantage of the best yield farming strategies while minimizing gas fees and transferring difficult management decisions to an incentivized community governance. Multiple strategies are utilized by each vault, allowing for per-strategy deposit caps to be placed in order to limit risk.

Responsible Disclosure

We have an active security bug bounty on Immunefi. Please follow our Security Policy for reporting security issues to the team.

Writing Strategies

In order to write a strategy for the MetaVault, you must inherit the BaseStrategy contract. The BaseStrategy contract is an abstract contract that gives specific security properties which make it hard to write an insecure strategy.

All state-changing functions implemented in the strategy should be internal, since any public or externally-facing functions are already handled in the BaseStrategy.

The following functions must be implemented by a strategy:

Getting contract addressses

Deployed addresses can be obtained by running:

yarn hardhat contracts --network kovan

Mainnet

MerkleDistributor 0xd0c9432625A181C823b3e63D5E6656F87231AE96
RewardsMetavault 0x226f9954A1221cDe805C76CfB312A5d761630E14
RewardsYaxis 0x3b09B9ADFe11f92225b4C55De89fa81456595CD9
RewardsYaxisEth 0xEDaFe410e2f07ab9D7F1B04316D29C2F49dCb104
StableSwap3PoolConverter 0x2eab685d85AA52E4d8b6699Ba5aAC3b0c3992C3B
StableSwap3PoolNonConverter 0x9354b082E5CEdb41422Fb9D4669Ab8b7f8511AeE
StrategyControllerV2 0x0d857688d6A223A2F4e58CDd44119ABb7DC5A790
StrategyCurve3Crv 0x5cd9D7977F9e431399E8186339D9ecBf88eD43F2
StrategyYearnV2-DAI 0xb6C352587F4A92D3c7946bf42fE6D4D3aCd1F312
Swap 0xCdF398537adbF8617a8401B14DCEe7F67CF8c64b
YaxisToken 0x0adA190c81b814548ddC2F6AdC4a689ce7C1FE73
YaxisVotePower 0xDb6E6904d50f9d9Df5554Eb9aACE2F95e6712739
yAxisMetaVaultHarvester 0x5BBc6Ff70680d1DfEFd4685CbdeD5363A4db9b66
yAxisMetaVaultManager 0x443ed48F975E02eA67CA0d2be0B4d4806d1E31F2

Kovan

ALETHCRVVault 0xa39A76778ea9b693aF54f205419853938Cd87E08
ALETHCRVVaultToken 0x56b27181fa92DFC5909F1B537f0D5A5929Fbc765
ALETHConvexStrategy 0x2Ed26DbA8124056c8F51dA5b29B751A9562B7366
BTCConvexStrategy 0x9A6Fe7DB784c45757329aa16b606758e0e390E04
CRV 0xDB0E1fe102Be9c0fD355100271283dF18bA4797F
CVX 0x3631944Bd99a426d628070d91CDC559ae4276a6d
Controller 0x2998B1809115511A5856a74552a100E7599D282f
DAI 0xAFB9687A5121ea6152B8951453411B1bD45419C5
GaugeController 0x6EAF4cEd8319881F7F1929A9b3f543F68e6238C2
GaugeProxy 0x304fae5EA8fFD87F0F479dB73a3263fc116f9457
Harvester 0x73fC3ccfFDf746a6b4FA9AE635D2d58E7e8a5127
LINK 0xb364c348CC4B9600c2b2C0C19f7425D4f469594c
LINKCRV 0x540c8a922Cc7E186AA0fd63b0B6aEDd5B5F08007
LINKCRVVault 0x41A757B13d49f56A69Ec78093a823730747D8D61
LINKCRVVaultToken 0x8e71cB2Ca5E21DA64237E88e9ba5E52403341117
LINKConvexStrategy 0xD8c60f2f75059ed6df66F7E978B9c5ADE747499c
LegacyController 0xF4D03a40fD4DC83668077A20A985db22b1bc55dD
MIM 0x4B6444Aac176e6937A2f8eA712f75D4B8E2F9589
MIM3CRV 0x7D91365bC65CF9caDC6aE1d86d35f5add750Fe37
MIMConvexStrategy 0xd91B106933bF101aA83f04859e1d8f6C1C123a1E
MOCK3CRV 0x25F0dcAe606875dE83C2Ae2ea45602EcC9Cfc5dB
Manager 0x17CA30093a09C821321feCb67eC9C5c152BAd1ec
MetaVault 0x5cDf227131880CFd6947A47cC903b40207834846
MetaVaultNonConverter 0xE83e53d6D647F2EA171e5fEC865757630A1cc866
Minter 0x8430b8840cFE3d5a6fE61D010d5B2ec3B32B776B
MinterWrapper 0xdf87daD061CD6460D18A171BCB9d50dd0F75Bcd3
MockBTCStableSwap2Pool 0xeE7C9a6316a9E6583D7f76d9293DfFB909106F5E
MockConvexVault 0xeaf467BFa4299B1fA97513D952cc47AF97929760
MockETHStableSwap2Pool 0x459416729cDC9345c20dd6D9eFC047e0CbB3842e
MockLINKStableSwap2Pool 0xF0cCAbb34899652eFea9751616fd94A73E4bD501
MockStableSwap2Pool 0xa2373Ffc62cA0CA01aE9edfFC19762E3fC75F99C
MockStableSwap3Pool 0x3A086Aa6c7bC25cC8BdfA915f6EfF6f8B80536c0
MockUniswapRouter 0xff363bdCfbc52C0d0fA93F23416Ae9A5e015d10f
MockYaxisChef 0xf4aAEd33b7004AE67d3E51eea995E5891Fe5A96c
RENCRVVault 0xF269F793F2a774d4019F22C7D519f1e748643C9a
RENCRVVaultToken 0xb5b089B18a3EEFEf762484A279B72F666eFD4d31
RewardsYaxis 0x361B4D521Cd9553e42af65985bb2038CcbbCEb96
RewardsYaxisEth 0x23eEE2ce498D9239a034a225d7Be91fb8D69EdBc
Swap 0x9eFe0a877dbDAce67a43211fCA441325c96C6323
T3CRV 0xc968d40Abc8a0c365769309982D783825510641F
USDC 0x2cae85b5aD02764ee3e804968A0fFe70c768917f
USDT 0xDE52958f1c384Fc3F407f602F765eD2152FEE409
VaultALETHCRVGauge 0xCD7C79e7A0678af31a3b5b0aFc5dd89aB734feD8
VaultHelper 0x62a56BeBA6820ef698D2Cf21E18A7243c387C20E
VaultLINKCRVGauge 0xf22940B7Ce3aF6a462F06657f78862CaC456D2F1
VaultMIM3CRV 0x631EB675F927ba765b6C6c02df0651144B9858e5
VaultMIM3CRVGauge 0xEc8E054A174B38edC5894187A55AE2D47c1f04eD
VaultRENCRVGauge 0x2CDD8dd06b6854ABDF1cD050356efEBfde0c9E7E
VaultTokenMIM3CRV 0x3cF8802D91C0560b54A5CeEC6da108B7b2946BdB
VotingEscrow 0x2721D6A92d52b655C6bdaC5648dC89483F6400E5
WBTC 0xf9Bba2B6CD5ABA1F8023AA9B8C5b50Ef4666157c
WETH 0xdC2f70dEd078e3f5F3dC6111978E38a4E38f2370
YAX 0xf07C80993E9b27ae811b059E0FABD7539F8a1197
YAXISGauge 0x9a6Bf749a57fDCDFf8cbD69B39202aAd5a73E4E1
YaxEthUniswapV2Pair 0xA5c9Eb48392d253EC7337f72af3b4d1a03666695
YaxisEthUniswapV2Pair 0xf871732CB047909C375CF1E17fe3e3AC0d1fA05d
YaxisToken 0xDE78295b8a50413f5a6faBd1f4921E8449d2433C
YaxisVotePower 0xB88a289cA6815B1A65151268d422c9249727C476
YaxisVoteProxy 0x667726C999265C18169E018335fD65D1644Aa8b0
alETH 0xf6Db44F95CEC962944F5552DcaBaf666F87B2593
alethCrv 0x1D854D30B656152C2467c4A679430Ae0c2B0BFe6
renBTC 0x18D94E50F6FBcc0e3618A815aFc4e3edc4691176
renCrv 0xA8A28853C2CefF3f7B4EC75A07E7B84d637B9a88
sLINK 0x2CB6c1b5f367b1c939E4f53E633c7eEE16F0A57c
sYAX 0x196DF167596Db73cb5b2ce9a34fe9Fb3f62791fE