@harvest-finance/harvest-strategy-polygon 0.0.1-security → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of @harvest-finance/harvest-strategy-polygon might be problematic. Click here for more details.
- package/README.md +110 -5
- package/contracts/base/Controller.sol +125 -0
- package/contracts/base/ControllerV2.sol +363 -0
- package/contracts/base/FeeRewardForwarder.sol +163 -0
- package/contracts/base/PotPool.sol +360 -0
- package/contracts/base/ProfitSharingReceiver.sol +39 -0
- package/contracts/base/RewardForwarderV2.sol +109 -0
- package/contracts/base/Vault.sol +344 -0
- package/contracts/base/VaultERC4626.sol +113 -0
- package/contracts/base/VaultProxy.sol +35 -0
- package/contracts/base/VaultStorage.sol +199 -0
- package/contracts/base/VaultStorageV2.sol +196 -0
- package/contracts/base/VaultV2.sol +369 -0
- package/contracts/base/ape-base/MiniApeV2Strategy.sol +322 -0
- package/contracts/base/ape-base/interface/IMiniChefV2.sol +31 -0
- package/contracts/base/ape-base/interface/IRewarder.sol +10 -0
- package/contracts/base/factory/MegaFactory.sol +120 -0
- package/contracts/base/factory/interface/IPoolFactory.sol +6 -0
- package/contracts/base/factory/interface/IStrategyFactory.sol +6 -0
- package/contracts/base/factory/interface/IVaultFactory.sol +7 -0
- package/contracts/base/factory/pool/PotPoolFactory.sol +43 -0
- package/contracts/base/factory/strategy/UpgradableStrategyFactory.sol +19 -0
- package/contracts/base/factory/vault/RegularVaultFactory.sol +34 -0
- package/contracts/base/incentives/GlobalIncentivesHelper.sol +167 -0
- package/contracts/base/incentives/NotifyHelperGeneric.sol +61 -0
- package/contracts/base/incentives/NotifyHelperStateful.sol +290 -0
- package/contracts/base/inheritance/Controllable.sol +26 -0
- package/contracts/base/inheritance/ControllableInit.sol +31 -0
- package/contracts/base/inheritance/Governable.sol +29 -0
- package/contracts/base/inheritance/GovernableInit.sol +51 -0
- package/contracts/base/inheritance/IUpgradeSource.sol +8 -0
- package/contracts/base/inheritance/OwnableWhitelist.sol +17 -0
- package/contracts/base/inheritance/RewardTokenProfitNotifier.sol +48 -0
- package/contracts/base/inheritance/Storage.sol +36 -0
- package/contracts/base/interface/IController.sol +30 -0
- package/contracts/base/interface/IControllerV2.sol +135 -0
- package/contracts/base/interface/IERC4626.sol +263 -0
- package/contracts/base/interface/IFeeRewardForwarder.sol +9 -0
- package/contracts/base/interface/IProfitSharingReceiver.sol +10 -0
- package/contracts/base/interface/IRewardForwarder.sol +58 -0
- package/contracts/base/interface/IRewardPool.sol +34 -0
- package/contracts/base/interface/IStrategy.sol +25 -0
- package/contracts/base/interface/IUniversalLiquidator.sol +21 -0
- package/contracts/base/interface/IUniversalLiquidatorRegistry.sol +20 -0
- package/contracts/base/interface/IUpgradeSource.sol +8 -0
- package/contracts/base/interface/IVault.sol +35 -0
- package/contracts/base/interface/aave/DataTypes.sol +266 -0
- package/contracts/base/interface/aave/IAToken.sol +37 -0
- package/contracts/base/interface/aave/IPool.sol +13 -0
- package/contracts/base/interface/balancer/Gauge.sol +22 -0
- package/contracts/base/interface/balancer/IBVault.sol +557 -0
- package/contracts/base/interface/balancer/IBalancerMinter.sol +114 -0
- package/contracts/base/interface/balancer/linearPool/ILinearPool.sol +185 -0
- package/contracts/base/interface/balancer/linearPool/ILinearPoolFactory.sol +16 -0
- package/contracts/base/interface/balancer/linearPool/ILinearPoolRebalancer.sol +8 -0
- package/contracts/base/interface/balancer/linearPool/IPoolSwapStructs.sol +57 -0
- package/contracts/base/interface/caviar/ICaviarChef.sol +16 -0
- package/contracts/base/interface/compound/IComet.sol +114 -0
- package/contracts/base/interface/compound/ICometRewards.sol +17 -0
- package/contracts/base/interface/curve/Gauge.sol +25 -0
- package/contracts/base/interface/curve/ICurveDeposit_2token.sol +25 -0
- package/contracts/base/interface/curve/ICurveDeposit_2token_underlying.sol +31 -0
- package/contracts/base/interface/curve/ICurveDeposit_3token.sol +25 -0
- package/contracts/base/interface/curve/ICurveDeposit_3token_meta.sol +20 -0
- package/contracts/base/interface/curve/ICurveDeposit_3token_underlying.sol +31 -0
- package/contracts/base/interface/curve/ICurveDeposit_4token.sol +25 -0
- package/contracts/base/interface/curve/ICurveDeposit_4token_meta.sol +20 -0
- package/contracts/base/interface/curve/ICurveDeposit_4token_underlying.sol +31 -0
- package/contracts/base/interface/curve/ICurveDeposit_5token.sol +25 -0
- package/contracts/base/interface/curve/ICurveDeposit_5token_meta.sol +20 -0
- package/contracts/base/interface/curve/ICurveDeposit_5token_underlying.sol +31 -0
- package/contracts/base/interface/curve/ICurveDeposit_6token.sol +25 -0
- package/contracts/base/interface/curve/ICurveDeposit_6token_meta.sol +20 -0
- package/contracts/base/interface/gamma/IClearing.sol +8 -0
- package/contracts/base/interface/gamma/IHypervisor.sol +17 -0
- package/contracts/base/interface/gamma/IStakingRewards.sol +35 -0
- package/contracts/base/interface/gamma/IUniProxy.sol +15 -0
- package/contracts/base/interface/kyber/IDMMExchangeRouter.sol +69 -0
- package/contracts/base/interface/kyber/IDMMFactory.sol +35 -0
- package/contracts/base/interface/kyber/IDMMLiquidityRouter.sol +204 -0
- package/contracts/base/interface/kyber/IDMMPool.sol +42 -0
- package/contracts/base/interface/kyber/IDMMRouter01.sol +12 -0
- package/contracts/base/interface/kyber/IDMMRouter02.sol +55 -0
- package/contracts/base/interface/kyber/IKyberZap.sol +7 -0
- package/contracts/base/interface/merkl/IDistributor.sol +6 -0
- package/contracts/base/interface/morpho/IMetaMorpho.sol +7 -0
- package/contracts/base/interface/pearl/IGauge.sol +13 -0
- package/contracts/base/interface/pearl/IPair.sol +44 -0
- package/contracts/base/interface/pearl/IRouter.sol +305 -0
- package/contracts/base/interface/quickswap/IDragonLair.sol +25 -0
- package/contracts/base/interface/quickswap/IMasterChef.sol +13 -0
- package/contracts/base/interface/uniswap/IUniswapV2Factory.sol +15 -0
- package/contracts/base/interface/uniswap/IUniswapV2Migrator.sol +6 -0
- package/contracts/base/interface/uniswap/IUniswapV2Pair.sol +59 -0
- package/contracts/base/interface/uniswap/IUniswapV2Router01.sol +96 -0
- package/contracts/base/interface/uniswap/IUniswapV2Router02.sol +137 -0
- package/contracts/base/interface/uniswap/IUniswapV3Pool.sol +24 -0
- package/contracts/base/interface/uniswap/IUniswapV3Router.sol +64 -0
- package/contracts/base/interface/uniswap/IWETH.sol +8 -0
- package/contracts/base/interface/uniswap/pool/IUniswapV3PoolActions.sol +103 -0
- package/contracts/base/interface/uniswap/pool/IUniswapV3PoolDerivedState.sol +40 -0
- package/contracts/base/interface/uniswap/pool/IUniswapV3PoolEvents.sol +121 -0
- package/contracts/base/interface/uniswap/pool/IUniswapV3PoolImmutables.sol +35 -0
- package/contracts/base/interface/uniswap/pool/IUniswapV3PoolOwnerActions.sol +23 -0
- package/contracts/base/interface/uniswap/pool/IUniswapV3PoolState.sol +116 -0
- package/contracts/base/masterchef-base/MasterChefHodlStrategy.sol +240 -0
- package/contracts/base/masterchef-base/MasterChefStrategy.sol +364 -0
- package/contracts/base/masterchef-base/interfaces/IMasterChef.sol +12 -0
- package/contracts/base/migration/vaultMigratable_2JPYv2.sol +87 -0
- package/contracts/base/migration/vaultMigratable_bal2EUR_PAR.sol +121 -0
- package/contracts/base/migration/vaultMigratable_bal2EUR_agEUR.sol +121 -0
- package/contracts/base/migration/vaultMigratable_balMaticX.sol +153 -0
- package/contracts/base/migration/vaultMigratable_balStMatic.sol +153 -0
- package/contracts/base/noop/NoopStrategy.sol +89 -0
- package/contracts/base/noop/NoopStrategyUpgradeable.sol +92 -0
- package/contracts/base/sushi-base/MiniChefV2Strategy.sol +380 -0
- package/contracts/base/sushi-base/interface/IMiniChefV2.sol +31 -0
- package/contracts/base/sushi-base/interface/IRewarder.sol +9 -0
- package/contracts/base/sushi-base/lib/BoringERC20.sol +30 -0
- package/contracts/base/upgradability/Address.sol +33 -0
- package/contracts/base/upgradability/BaseUpgradeabilityProxy.sol +61 -0
- package/contracts/base/upgradability/BaseUpgradeableStrategy.sol +111 -0
- package/contracts/base/upgradability/BaseUpgradeableStrategyStorage.sol +176 -0
- package/contracts/base/upgradability/BaseUpgradeableStrategyStorageV2.sol +290 -0
- package/contracts/base/upgradability/BaseUpgradeableStrategyV2.sol +145 -0
- package/contracts/base/upgradability/IUpgradable.sol +7 -0
- package/contracts/base/upgradability/Proxy.sol +71 -0
- package/contracts/base/upgradability/ReentrancyGuard.sol +57 -0
- package/contracts/base/upgradability/ReentrancyGuardUpgradeable.sol +51 -0
- package/contracts/base/upgradability/StrategyProxy.sol +35 -0
- package/contracts/base/wmatic/WMATIC.sol +8 -0
- package/contracts/strategies/aave/AaveSupplyStrategy.sol +213 -0
- package/contracts/strategies/aave/AaveSupplyStrategyMainnet_DAI.sol +23 -0
- package/contracts/strategies/aave/AaveSupplyStrategyMainnet_EURS.sol +23 -0
- package/contracts/strategies/aave/AaveSupplyStrategyMainnet_USDC.sol +23 -0
- package/contracts/strategies/aave/AaveSupplyStrategyMainnet_USDCe.sol +23 -0
- package/contracts/strategies/aave/AaveSupplyStrategyMainnet_USDT.sol +23 -0
- package/contracts/strategies/ape/ApeStrategyMainnet_BANANA_MATIC.sol +36 -0
- package/contracts/strategies/ape/ApeStrategyMainnet_BNB_MATIC.sol +36 -0
- package/contracts/strategies/ape/ApeStrategyMainnet_BTC_MATIC.sol +36 -0
- package/contracts/strategies/ape/ApeStrategyMainnet_DAI_MATIC.sol +36 -0
- package/contracts/strategies/ape/ApeStrategyMainnet_DAI_USDC.sol +37 -0
- package/contracts/strategies/ape/ApeStrategyMainnet_ETH_MATIC.sol +36 -0
- package/contracts/strategies/ape/ApeStrategyMainnet_USDT_MATIC.sol +36 -0
- package/contracts/strategies/aura/AuraStrategy.sol +347 -0
- package/contracts/strategies/aura/AuraStrategyMainnet_jEUR_PAR.sol +30 -0
- package/contracts/strategies/aura/interface/IAuraBaseRewardPool.sol +25 -0
- package/contracts/strategies/aura/interface/IAuraBooster.sol +17 -0
- package/contracts/strategies/aura/interface/IAuraDepositor.sol +7 -0
- package/contracts/strategies/balancer/BalancerStrategyV3.sol +509 -0
- package/contracts/strategies/balancer/BalancerStrategyV3Mainnet_2BRL.sol +39 -0
- package/contracts/strategies/balancer/BalancerStrategyV3Mainnet_2BRLUSD.sol +38 -0
- package/contracts/strategies/balancer/BalancerStrategyV3Mainnet_2EUR_PAR.sol +34 -0
- package/contracts/strategies/balancer/BalancerStrategyV3Mainnet_2EUR_PARv2.sol +34 -0
- package/contracts/strategies/balancer/BalancerStrategyV3Mainnet_2EUR_agEUR.sol +34 -0
- package/contracts/strategies/balancer/BalancerStrategyV3Mainnet_MATIC_USDC_ETH_BAL.sol +32 -0
- package/contracts/strategies/balancer/BalancerStrategyV3Mainnet_MaticX.sol +37 -0
- package/contracts/strategies/balancer/BalancerStrategyV3Mainnet_MaticX_amMatic.sol +38 -0
- package/contracts/strategies/balancer/BalancerStrategyV3Mainnet_SPHERE_MATIC.sol +34 -0
- package/contracts/strategies/balancer/BalancerStrategyV3Mainnet_TNGBL_USDC.sol +34 -0
- package/contracts/strategies/balancer/BalancerStrategyV3Mainnet_WBTC_ETH_USDC.sol +32 -0
- package/contracts/strategies/balancer/BalancerStrategyV3Mainnet_bbamusd.sol +36 -0
- package/contracts/strategies/balancer/BalancerStrategyV3Mainnet_frxETH.sol +32 -0
- package/contracts/strategies/balancer/BalancerStrategyV3Mainnet_frxETH_amWETH.sol +35 -0
- package/contracts/strategies/balancer/BalancerStrategyV3Mainnet_stETH.sol +35 -0
- package/contracts/strategies/balancer/BalancerStrategyV3Mainnet_stMatic.sol +36 -0
- package/contracts/strategies/balancer/BalancerStrategyV3Mainnet_stMatic_amMatic.sol +39 -0
- package/contracts/strategies/balancer/BalancerStrategyV3Mainnet_tetuBal.sol +36 -0
- package/contracts/strategies/balancer/BalancerStrategyV3Mainnet_wUSDR_USDC.sol +34 -0
- package/contracts/strategies/balancer/BalancerStrategyV3Mainnet_wstETH_amWETH.sol +37 -0
- package/contracts/strategies/balancer/interface/Gauge.sol +26 -0
- package/contracts/strategies/balancer/interface/IBVault.sol +557 -0
- package/contracts/strategies/balancer/interface/IBalanceMinter.sol +114 -0
- package/contracts/strategies/complifi/ComplifiDerivStrategy.sol +381 -0
- package/contracts/strategies/complifi/ComplifiDerivStrategyMainnet_ETH5x.sol +35 -0
- package/contracts/strategies/complifi/ComplifiStrategy.sol +362 -0
- package/contracts/strategies/complifi/ComplifiStrategyMainnet_COMFI_WETH.sol +34 -0
- package/contracts/strategies/complifi/interfaces/ILiquidityMining.sol +13 -0
- package/contracts/strategies/complifi/interfaces/ILiquidityPool.sol +63 -0
- package/contracts/strategies/complifi/interfaces/IProxyActions.sol +10 -0
- package/contracts/strategies/complifi/interfaces/IUSDCVault.sol +55 -0
- package/contracts/strategies/compound/CompoundStrategy.sol +296 -0
- package/contracts/strategies/compound/CompoundStrategyMainnet_USDC.sol +28 -0
- package/contracts/strategies/compound/CompoundStrategyMainnet_USDT.sol +28 -0
- package/contracts/strategies/compound-blue/CompoundBlueStrategy.sol +292 -0
- package/contracts/strategies/compound-blue/CompoundBlueStrategyMainnet_ETH.sol +27 -0
- package/contracts/strategies/compound-blue/CompoundBlueStrategyMainnet_USDC.sol +27 -0
- package/contracts/strategies/compound-blue/CompoundBlueStrategyMainnet_USDT.sol +27 -0
- package/contracts/strategies/convex/ConvexStrategyMainnet_3CRV.sol +40 -0
- package/contracts/strategies/convex/ConvexStrategyMainnet_3CRYPTO.sol +37 -0
- package/contracts/strategies/convex/ConvexStrategyMainnet_CRV_3CRYPTO copy.sol +37 -0
- package/contracts/strategies/convex/ConvexStrategyMainnet_MATIC_3CRYPTO.sol +37 -0
- package/contracts/strategies/convex/ConvexStrategyMainnet_USDR.sol +40 -0
- package/contracts/strategies/convex/ConvexStrategyMainnet_aCRV.sol +38 -0
- package/contracts/strategies/convex/base/ConvexStrategy.sol +480 -0
- package/contracts/strategies/convex/interface/IBaseRewardPool.sol +13 -0
- package/contracts/strategies/convex/interface/IBooster.sol +10 -0
- package/contracts/strategies/gamma-merkl/GammaMerklStrategy.sol +272 -0
- package/contracts/strategies/gamma-merkl/GammaMerklStrategyMainnet_QS_ETH_USDC.sol +25 -0
- package/contracts/strategies/gamma-merkl/GammaMerklStrategyMainnet_QS_ETH_USDT.sol +25 -0
- package/contracts/strategies/gamma-merkl/GammaMerklStrategyMainnet_QS_MATIC_USDT.sol +25 -0
- package/contracts/strategies/gamma-merkl/GammaMerklStrategyMainnet_QS_TBTC_ETH.sol +25 -0
- package/contracts/strategies/gamma-merkl/GammaMerklStrategyMainnet_QS_WBTC_ETH_w.sol +25 -0
- package/contracts/strategies/genomes/NoopStrategy_GENE_ETH.sol +23 -0
- package/contracts/strategies/genomes/NoopStrategy_GNOME_ETH.sol +23 -0
- package/contracts/strategies/idle/IdleFinanceStrategy.sol +240 -0
- package/contracts/strategies/idle/IdleStrategyDAIMainnet.sol +33 -0
- package/contracts/strategies/idle/IdleStrategyUSDCMainnet.sol +33 -0
- package/contracts/strategies/idle/IdleStrategyWETHMainnet.sol +30 -0
- package/contracts/strategies/idle/interface/IdleToken.sol +58 -0
- package/contracts/strategies/jarvis/JarvisHodlStrategyV3.sol +351 -0
- package/contracts/strategies/jarvis/JarvisHodlStrategyV3Mainnet_2CAD.sol +34 -0
- package/contracts/strategies/jarvis/JarvisHodlStrategyV3Mainnet_2EUR.sol +34 -0
- package/contracts/strategies/jarvis/JarvisHodlStrategyV3Mainnet_2EUR_EURT.sol +34 -0
- package/contracts/strategies/jarvis/JarvisHodlStrategyV3Mainnet_2EUR_EURe.sol +34 -0
- package/contracts/strategies/jarvis/JarvisHodlStrategyV3Mainnet_2EUR_PAR.sol +34 -0
- package/contracts/strategies/jarvis/JarvisHodlStrategyV3Mainnet_2JPY.sol +34 -0
- package/contracts/strategies/jarvis/JarvisHodlStrategyV3Mainnet_2JPYv2.sol +34 -0
- package/contracts/strategies/jarvis/JarvisHodlStrategyV3Mainnet_2NZD.sol +34 -0
- package/contracts/strategies/jarvis/JarvisHodlStrategyV3Mainnet_2SGD.sol +34 -0
- package/contracts/strategies/jarvis/JarvisHodlStrategyV3Mainnet_jCHF_USDC.sol +35 -0
- package/contracts/strategies/jarvis/JarvisHodlStrategyV3Mainnet_jCHF_WETH.sol +35 -0
- package/contracts/strategies/jarvis/JarvisHodlStrategyV3Mainnet_jEUR_USDC.sol +35 -0
- package/contracts/strategies/jarvis/JarvisHodlStrategyV3Mainnet_jEUR_WETH.sol +35 -0
- package/contracts/strategies/jarvis/JarvisHodlStrategyV3Mainnet_jGBP_USDC.sol +35 -0
- package/contracts/strategies/jarvis/JarvisStrategyV3.sol +281 -0
- package/contracts/strategies/jarvis/JarvisStrategyV3Mainnet_AUR3_USDC.sol +27 -0
- package/contracts/strategies/jarvis/JarvisStrategyV3Mainnet_AURJUL22_WETH.sol +27 -0
- package/contracts/strategies/jarvis/JarvisStrategyV3Mainnet_DEN2_4EUR.sol +27 -0
- package/contracts/strategies/jarvis/JarvisStrategyV3Mainnet_DEN3_4EUR.sol +27 -0
- package/contracts/strategies/jarvis/JarvisStrategyV3Mainnet_DEN4_4EUR.sol +27 -0
- package/contracts/strategies/jarvis/JarvisStrategyV3Mainnet_JRTANGLENOV22_2EURagEUR.sol +27 -0
- package/contracts/strategies/jarvis/JarvisStrategyV3Mainnet_JRTANGLE_2EURagEUR.sol +27 -0
- package/contracts/strategies/jarvis/JarvisStrategyV3Mainnet_JRTJUL22_USDC.sol +27 -0
- package/contracts/strategies/jarvis/JarvisStrategyV3Mainnet_JRTMAY22_USDC.sol +27 -0
- package/contracts/strategies/jarvis/JarvisStrategyV3Mainnet_JRTMIMONOV22_2EURPAR.sol +27 -0
- package/contracts/strategies/jarvis/JarvisStrategyV3Mainnet_JRTMIMO_2EURPAR.sol +27 -0
- package/contracts/strategies/jarvis/JarvisStrategyV3Mainnet_JRTNOV22_USDC.sol +27 -0
- package/contracts/strategies/jarvis/JarvisStrategyV3Mainnet_JRTSEP22_USDC.sol +27 -0
- package/contracts/strategies/jarvis/JarvisStrategyV3Mainnet_QUI_2CAD.sol +27 -0
- package/contracts/strategies/jarvis/JarvisStrategyV3Mainnet_SES_2JPY.sol +28 -0
- package/contracts/strategies/jarvis/JarvisStrategyV3Mainnet_agDEN_2EUR.sol +27 -0
- package/contracts/strategies/jarvis/interface/IElysianFields.sol +11 -0
- package/contracts/strategies/jarvis/interface/IKyberFairLaunch.sol +13 -0
- package/contracts/strategies/jarvis/interface/IKyberRewardLocker.sol +9 -0
- package/contracts/strategies/meshswap/MeshswapStrategy.sol +304 -0
- package/contracts/strategies/meshswap/MeshswapStrategyMainnet_MESH_oMOOI.sol +30 -0
- package/contracts/strategies/meshswap/MeshswapStrategyMainnet_MESH_oZEMIT.sol +30 -0
- package/contracts/strategies/meshswap/MeshswapStrategyMainnet_USDC_oUSDC.sol +31 -0
- package/contracts/strategies/meshswap/MeshswapStrategyMainnet_USDT_oUSDT.sol +31 -0
- package/contracts/strategies/meshswap/MeshswapStrategyMainnet_WMATIC_MESH.sol +27 -0
- package/contracts/strategies/meshswap/MeshswapStrategyMainnet_WMATIC_USDC.sol +28 -0
- package/contracts/strategies/meshswap/MeshswapStrategyMainnet_WMATIC_USDT.sol +28 -0
- package/contracts/strategies/meshswap/interface/IExchange.sol +9 -0
- package/contracts/strategies/meshswap/interface/IRouter.sol +68 -0
- package/contracts/strategies/pearl/CaviarStrategy.sol +244 -0
- package/contracts/strategies/pearl/CaviarStrategyMainnet_CVR.sol +26 -0
- package/contracts/strategies/pearl/PearlHodlStrategy.sol +254 -0
- package/contracts/strategies/pearl/PearlHodlStrategyMainnet_CVR_PEARL.sol +27 -0
- package/contracts/strategies/pearl/PearlHodlStrategyMainnet_DAI_USDR.sol +27 -0
- package/contracts/strategies/pearl/PearlHodlStrategyMainnet_ETH_USDR.sol +27 -0
- package/contracts/strategies/pearl/PearlHodlStrategyMainnet_MATIC_USDR.sol +27 -0
- package/contracts/strategies/pearl/PearlHodlStrategyMainnet_PEARL_USDR.sol +27 -0
- package/contracts/strategies/pearl/PearlHodlStrategyMainnet_STAR_USDR.sol +27 -0
- package/contracts/strategies/pearl/PearlHodlStrategyMainnet_TNGBL_USDR.sol +27 -0
- package/contracts/strategies/pearl/PearlHodlStrategyMainnet_USDC_USDR.sol +27 -0
- package/contracts/strategies/pearl/PearlHodlStrategyMainnet_USDT_USDR.sol +27 -0
- package/contracts/strategies/pearl/PearlHodlStrategyMainnet_WBTC_USDR.sol +27 -0
- package/contracts/strategies/pearl/PearlHodlStrategyMainnet_wUSDR_USDR.sol +27 -0
- package/contracts/strategies/quick-gamma/QuickGammaStrategy.sol +400 -0
- package/contracts/strategies/quick-gamma/QuickGammaStrategyMainnet_MATIC_ETH_narrow.sol +31 -0
- package/contracts/strategies/quick-gamma/QuickGammaStrategyMainnet_MATIC_ETH_wide.sol +31 -0
- package/contracts/strategies/quick-gamma/QuickGammaStrategyMainnet_MATIC_USDC_narrow.sol +31 -0
- package/contracts/strategies/quick-gamma/QuickGammaStrategyMainnet_MATIC_USDC_wide.sol +31 -0
- package/contracts/strategies/quick-gamma/QuickGammaStrategyMainnet_USDC_ETH_narrow.sol +34 -0
- package/contracts/strategies/quick-gamma/QuickGammaStrategyMainnet_USDC_ETH_wide.sol +34 -0
- package/contracts/strategies/quick-gamma/QuickGammaStrategyV2.sol +348 -0
- package/contracts/strategies/quick-gamma/QuickGammaStrategyV2Mainnet_USDC_DAI.sol +28 -0
- package/contracts/strategies/quick-gamma/QuickGammaStrategyV2Mainnet_USDC_USDT.sol +29 -0
- package/contracts/strategies/quick-gamma/QuickGammaStrategyV2Mainnet_WBTC_ETH_narrow.sol +28 -0
- package/contracts/strategies/quick-gamma/QuickGammaStrategyV2Mainnet_WBTC_USDC_narrow.sol +28 -0
- package/contracts/strategies/quick-gamma/QuickGammaStrategyV2Mainnet_cbETH_ETH.sol +28 -0
- package/contracts/strategies/quick-gamma/QuickGammaStrategyV2Mainnet_wstETH_ETH.sol +28 -0
- package/contracts/strategies/uniswap-gamma/UniswapGammaStrategy.sol +312 -0
- package/contracts/strategies/uniswap-gamma/UniswapGammaStrategyMainnet_USDC_DAI.sol +28 -0
- package/contracts/strategies/uniswap-gamma/UniswapGammaStrategyMainnet_USDC_USDT.sol +28 -0
- package/contracts/strategies/uniswap-gamma/UniswapGammaStrategyMainnet_USDC_WETH.sol +28 -0
- package/contracts/strategies/uniswap-gamma/UniswapGammaStrategyMainnet_WMATIC_USDC.sol +28 -0
- package/contracts/strategies/yel/YelStrategy.sol +350 -0
- package/contracts/strategies/yel/YelStrategyMainnet_YEL_WETH.sol +29 -0
- package/hardhat.config.js +58 -0
- package/index.js +42 -0
- package/package.json +56 -6
- package/scripts/01-deploy-vault-regular-with-upgradable-strategy.js +41 -0
- package/scripts/02-deploy-vault-regular.js +35 -0
- package/scripts/03-deploy-upgradable-strategy.js +34 -0
- package/scripts/04-deploy-new-implementation.js +24 -0
- package/scripts/README.md +55 -0
- package/scripts/utils.js +42 -0
- package/test/aave/dai.js +207 -0
- package/test/aave/eurs.js +207 -0
- package/test/aave/usdc.js +206 -0
- package/test/aave/usdce.js +206 -0
- package/test/aave/usdt.js +206 -0
- package/test/ape/banana-matic.js +157 -0
- package/test/ape/bnb-matic.js +159 -0
- package/test/ape/btc-matic.js +159 -0
- package/test/ape/dai-matic.js +159 -0
- package/test/ape/dai-usdc.js +163 -0
- package/test/ape/eth-matic.js +158 -0
- package/test/ape/usdt-matic.js +159 -0
- package/test/aura/jeur-par.js +135 -0
- package/test/balancer/2brl_v3.js +123 -0
- package/test/balancer/2brlusd_v3.js +123 -0
- package/test/balancer/2eur_ageur.js +141 -0
- package/test/balancer/2eur_par.js +141 -0
- package/test/balancer/2eur_par_v2.js +123 -0
- package/test/balancer/bbamusd_v3.js +124 -0
- package/test/balancer/btc.js +131 -0
- package/test/balancer/frxETH.js +123 -0
- package/test/balancer/frxeth_amweth.js +123 -0
- package/test/balancer/matic_usdc_eth_bal.js +123 -0
- package/test/balancer/maticx_ammatic.js +123 -0
- package/test/balancer/maticx_v2.js +120 -0
- package/test/balancer/maticx_v3.js +141 -0
- package/test/balancer/polybase.js +131 -0
- package/test/balancer/polybase_v2.js +121 -0
- package/test/balancer/polydefi.js +131 -0
- package/test/balancer/polydefi2.js +131 -0
- package/test/balancer/qipool.js +136 -0
- package/test/balancer/sphere_matic.js +123 -0
- package/test/balancer/stETH.js +123 -0
- package/test/balancer/stable.js +131 -0
- package/test/balancer/stable_v2.js +121 -0
- package/test/balancer/stmatic_ammatic.js +123 -0
- package/test/balancer/stmatic_v2.js +120 -0
- package/test/balancer/stmatic_v3.js +141 -0
- package/test/balancer/tetubal_v3.js +123 -0
- package/test/balancer/tngbl_usdc.js +123 -0
- package/test/balancer/tricrypto.js +131 -0
- package/test/balancer/tusd_stable.js +142 -0
- package/test/balancer/usdc_weth.js +136 -0
- package/test/balancer/usdc_weth_v2.js +123 -0
- package/test/balancer/wbtc_eth_usdc.js +123 -0
- package/test/balancer/wbtc_weth.js +136 -0
- package/test/balancer/wsteth_amweth.js +123 -0
- package/test/balancer/wusdr_usdc.js +123 -0
- package/test/compound/usdc.js +127 -0
- package/test/compound/usdt.js +129 -0
- package/test/compound-blue/eth.js +136 -0
- package/test/compound-blue/usdc.js +136 -0
- package/test/compound-blue/usdt.js +136 -0
- package/test/convex/3crv.js +123 -0
- package/test/convex/3crypto.js +123 -0
- package/test/convex/acrv.js +123 -0
- package/test/convex/crv_3crypto.js +123 -0
- package/test/convex/matic_3crypto.js +123 -0
- package/test/convex/usdr.js +123 -0
- package/test/core/emission-fork.js +197 -0
- package/test/core/emission.js +209 -0
- package/test/core/vault_upgrade.js +129 -0
- package/test/curve/aave.js +132 -0
- package/test/curve/atricrypto3.js +135 -0
- package/test/curve/eurtusd.js +135 -0
- package/test/gamma-merkl/qs-eth-usdc.js +212 -0
- package/test/gamma-merkl/qs-eth-usdt.js +213 -0
- package/test/gamma-merkl/qs-matic-usdt.js +213 -0
- package/test/gamma-merkl/qs-tbtc-eth.js +213 -0
- package/test/gamma-merkl/qs-wbtc-eth-w.js +213 -0
- package/test/genomes/gene-eth.js +115 -0
- package/test/genomes/gnome-eth.js +115 -0
- package/test/idle/dai.js +129 -0
- package/test/idle/usdc.js +128 -0
- package/test/idle/weth.js +128 -0
- package/test/jarvis/2cad-hodl.js +183 -0
- package/test/jarvis/2cad-update-nov22.js +182 -0
- package/test/jarvis/2cad-update.js +177 -0
- package/test/jarvis/2cad-update2.js +182 -0
- package/test/jarvis/2cad-update3.js +182 -0
- package/test/jarvis/2eur-ageur-update-nov22.js +182 -0
- package/test/jarvis/2eur-ageur-update.js +182 -0
- package/test/jarvis/2eur-eure-hodl.js +176 -0
- package/test/jarvis/2eur-eurt-hodl.js +176 -0
- package/test/jarvis/2eur-eurt-update-nov22.js +182 -0
- package/test/jarvis/2eur-hodl.js +176 -0
- package/test/jarvis/2eur-par-hodl.js +176 -0
- package/test/jarvis/2eur-par-update-nov22.js +182 -0
- package/test/jarvis/2jpy-hodl.js +244 -0
- package/test/jarvis/2jpy-update-nov22.js +182 -0
- package/test/jarvis/2jpy-update.js +177 -0
- package/test/jarvis/2jpy-update2.js +182 -0
- package/test/jarvis/2jpyv2-upgrade.js +184 -0
- package/test/jarvis/2nzd-hodl.js +176 -0
- package/test/jarvis/2nzd-update.js +182 -0
- package/test/jarvis/2sgd-hodl.js +176 -0
- package/test/jarvis/2sgd-update-nov22.js +182 -0
- package/test/jarvis/2sgd-update.js +182 -0
- package/test/jarvis/2sgd-update2.js +182 -0
- package/test/jarvis/4eur-hodl-upgrade.js +177 -0
- package/test/jarvis/4eur-hodl.js +183 -0
- package/test/jarvis/4eur-update.js +181 -0
- package/test/jarvis/4eur-update2.js +181 -0
- package/test/jarvis/agden-2eur.js +222 -0
- package/test/jarvis/aur-usdc-v2.js +115 -0
- package/test/jarvis/aur-usdc.js +127 -0
- package/test/jarvis/aur3-usdc.js +115 -0
- package/test/jarvis/aurjul22-weth.js +222 -0
- package/test/jarvis/den-4eur.js +115 -0
- package/test/jarvis/den2-4eur.js +220 -0
- package/test/jarvis/den3-4eur.js +220 -0
- package/test/jarvis/den4-4eur.js +220 -0
- package/test/jarvis/jchf-usdc-hodl-v2.js +184 -0
- package/test/jarvis/jchf-usdc-hodl-v3.js +178 -0
- package/test/jarvis/jchf-usdc-hodl.js +193 -0
- package/test/jarvis/jchf-weth-hodl.js +176 -0
- package/test/jarvis/jeur-usdc-hodl-v2.js +184 -0
- package/test/jarvis/jeur-usdc-hodl-v3.js +178 -0
- package/test/jarvis/jeur-usdc-hodl.js +193 -0
- package/test/jarvis/jeur-weth-hodl.js +176 -0
- package/test/jarvis/jgbp-usdc-hodl-v2.js +184 -0
- package/test/jarvis/jgbp-usdc-hodl-v3.js +178 -0
- package/test/jarvis/jgbp-usdc-hodl.js +193 -0
- package/test/jarvis/jrtangle-2eurageur.js +220 -0
- package/test/jarvis/jrtanglenov22-2eurageur.js +220 -0
- package/test/jarvis/jrtjul22-usdc.js +115 -0
- package/test/jarvis/jrtmay22-usdc.js +115 -0
- package/test/jarvis/jrtmimo-2eurpar.js +220 -0
- package/test/jarvis/jrtmimonov22-2eurpar.js +220 -0
- package/test/jarvis/jrtnov22-usdc.js +220 -0
- package/test/jarvis/jrtsep22-usdc.js +220 -0
- package/test/jarvis/qui-2cad.js +218 -0
- package/test/jarvis/ses-2jpy.js +222 -0
- package/test/meshswap/mesh-omooi.js +197 -0
- package/test/meshswap/mesh-ozemit.js +197 -0
- package/test/meshswap/usdc-ousdc.js +197 -0
- package/test/meshswap/usdt-ousdt.js +197 -0
- package/test/meshswap/wmatic-mesh.js +197 -0
- package/test/meshswap/wmatic-usdc.js +197 -0
- package/test/meshswap/wmatic-usdt.js +197 -0
- package/test/mstable/musd.js +123 -0
- package/test/pearl/cvr-pearl.js +198 -0
- package/test/pearl/cvr.js +133 -0
- package/test/pearl/dai-usdr.js +198 -0
- package/test/pearl/eth-usdr.js +198 -0
- package/test/pearl/matic-usdr.js +198 -0
- package/test/pearl/pearl-usdr.js +198 -0
- package/test/pearl/star-usdr.js +186 -0
- package/test/pearl/tngbl-usdr.js +198 -0
- package/test/pearl/usdc-usdr.js +198 -0
- package/test/pearl/usdt-usdr.js +198 -0
- package/test/pearl/wbtc-usdr.js +198 -0
- package/test/pearl/wusdr-usdr.js +198 -0
- package/test/popsicle/ice-weth.js +128 -0
- package/test/quick/eth-matic.js +132 -0
- package/test/quick/eth-usdt.js +140 -0
- package/test/quick/ifarm-quick.js +147 -0
- package/test/quick/matic-usdc.js +145 -0
- package/test/quick/psp-matic.js +124 -0
- package/test/quick/wbtc-eth.js +145 -0
- package/test/quick-gamma/cbeth-eth.js +207 -0
- package/test/quick-gamma/matic-eth-narrow.js +201 -0
- package/test/quick-gamma/matic-eth-wide.js +197 -0
- package/test/quick-gamma/matic-usdc-narrow.js +197 -0
- package/test/quick-gamma/matic-usdc-wide.js +197 -0
- package/test/quick-gamma/upgrade/matic-eth-narrow.js +204 -0
- package/test/quick-gamma/upgrade/matic-usdc-narrow.js +199 -0
- package/test/quick-gamma/usdc-dai.js +209 -0
- package/test/quick-gamma/usdc-eth-narrow.js +197 -0
- package/test/quick-gamma/usdc-eth-wide.js +197 -0
- package/test/quick-gamma/usdc-usdt.js +209 -0
- package/test/quick-gamma/wbtc-eth-narrow.js +207 -0
- package/test/quick-gamma/wbtc-usdc-narrow.js +209 -0
- package/test/quick-gamma/wsteth-eth.js +207 -0
- package/test/sushi/eth-usdt.js +153 -0
- package/test/sushi/matic-eth.js +138 -0
- package/test/sushi/usdc-eth.js +153 -0
- package/test/test-config.js +24 -0
- package/test/uniswap-gamma/usdc-dai.js +212 -0
- package/test/uniswap-gamma/usdc-usdt.js +212 -0
- package/test/uniswap-gamma/usdc-weth.js +212 -0
- package/test/uniswap-gamma/wmatic-usdc.js +210 -0
- package/test/utilities/Utils.js +96 -0
- package/test/utilities/hh-utils.js +242 -0
- package/test/utilities/make-vault.js +10 -0
- package/test/yel/yel-wmatic.js +129 -0
@@ -0,0 +1,32 @@
|
|
1
|
+
//SPDX-License-Identifier: Unlicense
|
2
|
+
pragma solidity 0.6.12;
|
3
|
+
pragma experimental ABIEncoderV2;
|
4
|
+
|
5
|
+
import "./BalancerStrategyV3.sol";
|
6
|
+
|
7
|
+
contract BalancerStrategyV3Mainnet_MATIC_USDC_ETH_BAL is BalancerStrategyV3 {
|
8
|
+
|
9
|
+
constructor() public {}
|
10
|
+
|
11
|
+
function initializeStrategy(
|
12
|
+
address _storage,
|
13
|
+
address _vault
|
14
|
+
) public initializer {
|
15
|
+
address underlying = address(0x0297e37f1873D2DAb4487Aa67cD56B58E2F27875);
|
16
|
+
address bal = address(0x9a71012B13CA4d3D0Cdc72A177DF3ef03b0E76A3);
|
17
|
+
address gauge = address(0x0aea1abC694a3608C8aC5F131d8310f95039111A);
|
18
|
+
BalancerStrategyV3.initializeBaseStrategy(
|
19
|
+
_storage,
|
20
|
+
underlying,
|
21
|
+
_vault,
|
22
|
+
gauge,
|
23
|
+
address(0xBA12222222228d8Ba445958a75a0704d566BF2C8), //balancer vault
|
24
|
+
0x0297e37f1873d2dab4487aa67cd56b58e2f27875000100000000000000000002, // Pool id
|
25
|
+
weth, //depositToken
|
26
|
+
false //boosted
|
27
|
+
);
|
28
|
+
rewardTokens = [bal];
|
29
|
+
reward2WETH[bal] = [bal, weth];
|
30
|
+
poolIds[bal][weth] = 0x3d468ab2329f296e1b9d8476bb54dd77d8c2320f000200000000000000000426;
|
31
|
+
}
|
32
|
+
}
|
@@ -0,0 +1,37 @@
|
|
1
|
+
//SPDX-License-Identifier: Unlicense
|
2
|
+
pragma solidity 0.6.12;
|
3
|
+
pragma experimental ABIEncoderV2;
|
4
|
+
|
5
|
+
import "./BalancerStrategyV3.sol";
|
6
|
+
|
7
|
+
contract BalancerStrategyV3Mainnet_MaticX is BalancerStrategyV3 {
|
8
|
+
|
9
|
+
constructor() public {}
|
10
|
+
|
11
|
+
function initializeStrategy(
|
12
|
+
address _storage,
|
13
|
+
address _vault
|
14
|
+
) public initializer {
|
15
|
+
address underlying = address(0xb20fC01D21A50d2C734C4a1262B4404d41fA7BF0);
|
16
|
+
address wmatic = address(0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270);
|
17
|
+
address bal = address(0x9a71012B13CA4d3D0Cdc72A177DF3ef03b0E76A3);
|
18
|
+
address sd = address(0x1d734A02eF1e1f5886e66b0673b71Af5B53ffA94);
|
19
|
+
address usdc = address(0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174);
|
20
|
+
address gauge = address(0xdFFe97094394680362Ec9706a759eB9366d804C2);
|
21
|
+
BalancerStrategyV3.initializeBaseStrategy(
|
22
|
+
_storage,
|
23
|
+
underlying,
|
24
|
+
_vault,
|
25
|
+
gauge,
|
26
|
+
address(0xBA12222222228d8Ba445958a75a0704d566BF2C8), //balancer vault
|
27
|
+
0xb20fc01d21a50d2c734c4a1262b4404d41fa7bf000000000000000000000075c, // Pool id
|
28
|
+
wmatic, //depositToken
|
29
|
+
true //boosted
|
30
|
+
);
|
31
|
+
rewardTokens = [bal, sd];
|
32
|
+
reward2WETH[bal] = [bal, weth];
|
33
|
+
reward2WETH[sd] = [sd, usdc, weth];
|
34
|
+
WETH2deposit = [weth, wmatic];
|
35
|
+
poolIds[bal][weth] = 0x3d468ab2329f296e1b9d8476bb54dd77d8c2320f000200000000000000000426;
|
36
|
+
}
|
37
|
+
}
|
@@ -0,0 +1,38 @@
|
|
1
|
+
//SPDX-License-Identifier: Unlicense
|
2
|
+
pragma solidity 0.6.12;
|
3
|
+
pragma experimental ABIEncoderV2;
|
4
|
+
|
5
|
+
import "./BalancerStrategyV3.sol";
|
6
|
+
|
7
|
+
contract BalancerStrategyV3Mainnet_MaticX_amMatic is BalancerStrategyV3 {
|
8
|
+
|
9
|
+
constructor() public {}
|
10
|
+
|
11
|
+
function initializeStrategy(
|
12
|
+
address _storage,
|
13
|
+
address _vault
|
14
|
+
) public initializer {
|
15
|
+
address underlying = address(0xE78b25c06dB117fdF8F98583CDaaa6c92B79E917);
|
16
|
+
address maticX = address(0xfa68FB4628DFF1028CFEc22b4162FCcd0d45efb6);
|
17
|
+
address wmatic = address(0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270);
|
18
|
+
address bal = address(0x9a71012B13CA4d3D0Cdc72A177DF3ef03b0E76A3);
|
19
|
+
address sd = address(0x1d734A02eF1e1f5886e66b0673b71Af5B53ffA94);
|
20
|
+
address usdc = address(0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174);
|
21
|
+
address gauge = address(0x956074628A64a316086f7125074a8A52d3306321);
|
22
|
+
BalancerStrategyV3.initializeBaseStrategy(
|
23
|
+
_storage,
|
24
|
+
underlying,
|
25
|
+
_vault,
|
26
|
+
gauge,
|
27
|
+
address(0xBA12222222228d8Ba445958a75a0704d566BF2C8), //balancer vault
|
28
|
+
0xe78b25c06db117fdf8f98583cdaaa6c92b79e917000000000000000000000b2b, // Pool id
|
29
|
+
maticX, //depositToken
|
30
|
+
true //boosted
|
31
|
+
);
|
32
|
+
rewardTokens = [bal, sd];
|
33
|
+
reward2WETH[bal] = [bal, weth];
|
34
|
+
reward2WETH[sd] = [sd, usdc, weth];
|
35
|
+
WETH2deposit = [weth, wmatic, maticX];
|
36
|
+
poolIds[bal][weth] = 0x3d468ab2329f296e1b9d8476bb54dd77d8c2320f000200000000000000000426;
|
37
|
+
}
|
38
|
+
}
|
@@ -0,0 +1,34 @@
|
|
1
|
+
//SPDX-License-Identifier: Unlicense
|
2
|
+
pragma solidity 0.6.12;
|
3
|
+
pragma experimental ABIEncoderV2;
|
4
|
+
|
5
|
+
import "./BalancerStrategyV3.sol";
|
6
|
+
|
7
|
+
contract BalancerStrategyV3Mainnet_SPHERE_MATIC is BalancerStrategyV3 {
|
8
|
+
|
9
|
+
constructor() public {}
|
10
|
+
|
11
|
+
function initializeStrategy(
|
12
|
+
address _storage,
|
13
|
+
address _vault
|
14
|
+
) public initializer {
|
15
|
+
address underlying = address(0xf3312968c7D768C19107731100Ece7d4780b47B2);
|
16
|
+
address bal = address(0x9a71012B13CA4d3D0Cdc72A177DF3ef03b0E76A3);
|
17
|
+
address wmatic = address(0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270);
|
18
|
+
address gauge = address(0xFB0243ffDC5309A4ec13b9de9111Da02294b2571);
|
19
|
+
BalancerStrategyV3.initializeBaseStrategy(
|
20
|
+
_storage,
|
21
|
+
underlying,
|
22
|
+
_vault,
|
23
|
+
gauge,
|
24
|
+
address(0xBA12222222228d8Ba445958a75a0704d566BF2C8), //balancer vault
|
25
|
+
0xf3312968c7d768c19107731100ece7d4780b47b2000200000000000000000a50, // Pool id
|
26
|
+
wmatic, //depositToken
|
27
|
+
false //boosted
|
28
|
+
);
|
29
|
+
rewardTokens = [bal];
|
30
|
+
reward2WETH[bal] = [bal, weth];
|
31
|
+
WETH2deposit = [weth, wmatic];
|
32
|
+
poolIds[bal][weth] = 0x3d468ab2329f296e1b9d8476bb54dd77d8c2320f000200000000000000000426;
|
33
|
+
}
|
34
|
+
}
|
@@ -0,0 +1,34 @@
|
|
1
|
+
//SPDX-License-Identifier: Unlicense
|
2
|
+
pragma solidity 0.6.12;
|
3
|
+
pragma experimental ABIEncoderV2;
|
4
|
+
|
5
|
+
import "./BalancerStrategyV3.sol";
|
6
|
+
|
7
|
+
contract BalancerStrategyV3Mainnet_TNGBL_USDC is BalancerStrategyV3 {
|
8
|
+
|
9
|
+
constructor() public {}
|
10
|
+
|
11
|
+
function initializeStrategy(
|
12
|
+
address _storage,
|
13
|
+
address _vault
|
14
|
+
) public initializer {
|
15
|
+
address underlying = address(0x9F9F548354B7C66Dc9a9f3373077D86AAACCF8F2);
|
16
|
+
address bal = address(0x9a71012B13CA4d3D0Cdc72A177DF3ef03b0E76A3);
|
17
|
+
address usdc = address(0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174);
|
18
|
+
address gauge = address(0xb2A8f0f477Aae4D78Ea78d85234233285c91bB08);
|
19
|
+
BalancerStrategyV3.initializeBaseStrategy(
|
20
|
+
_storage,
|
21
|
+
underlying,
|
22
|
+
_vault,
|
23
|
+
gauge,
|
24
|
+
address(0xBA12222222228d8Ba445958a75a0704d566BF2C8), //balancer vault
|
25
|
+
0x9f9f548354b7c66dc9a9f3373077d86aaaccf8f2000200000000000000000a4a, // Pool id
|
26
|
+
usdc, //depositToken
|
27
|
+
false //boosted
|
28
|
+
);
|
29
|
+
rewardTokens = [bal];
|
30
|
+
reward2WETH[bal] = [bal, weth];
|
31
|
+
WETH2deposit = [weth, usdc];
|
32
|
+
poolIds[bal][weth] = 0x3d468ab2329f296e1b9d8476bb54dd77d8c2320f000200000000000000000426;
|
33
|
+
}
|
34
|
+
}
|
@@ -0,0 +1,32 @@
|
|
1
|
+
//SPDX-License-Identifier: Unlicense
|
2
|
+
pragma solidity 0.6.12;
|
3
|
+
pragma experimental ABIEncoderV2;
|
4
|
+
|
5
|
+
import "./BalancerStrategyV3.sol";
|
6
|
+
|
7
|
+
contract BalancerStrategyV3Mainnet_WBTC_ETH_USDC is BalancerStrategyV3 {
|
8
|
+
|
9
|
+
constructor() public {}
|
10
|
+
|
11
|
+
function initializeStrategy(
|
12
|
+
address _storage,
|
13
|
+
address _vault
|
14
|
+
) public initializer {
|
15
|
+
address underlying = address(0x03cD191F589d12b0582a99808cf19851E468E6B5);
|
16
|
+
address bal = address(0x9a71012B13CA4d3D0Cdc72A177DF3ef03b0E76A3);
|
17
|
+
address gauge = address(0x219b3a4a2D2351582277A87048995034ca7e9aEF);
|
18
|
+
BalancerStrategyV3.initializeBaseStrategy(
|
19
|
+
_storage,
|
20
|
+
underlying,
|
21
|
+
_vault,
|
22
|
+
gauge,
|
23
|
+
address(0xBA12222222228d8Ba445958a75a0704d566BF2C8), //balancer vault
|
24
|
+
0x03cd191f589d12b0582a99808cf19851e468e6b500010000000000000000000a, // Pool id
|
25
|
+
weth, //depositToken
|
26
|
+
false //boosted
|
27
|
+
);
|
28
|
+
rewardTokens = [bal];
|
29
|
+
reward2WETH[bal] = [bal, weth];
|
30
|
+
poolIds[bal][weth] = 0x3d468ab2329f296e1b9d8476bb54dd77d8c2320f000200000000000000000426;
|
31
|
+
}
|
32
|
+
}
|
@@ -0,0 +1,36 @@
|
|
1
|
+
//SPDX-License-Identifier: Unlicense
|
2
|
+
pragma solidity 0.6.12;
|
3
|
+
pragma experimental ABIEncoderV2;
|
4
|
+
|
5
|
+
import "./BalancerStrategyV3.sol";
|
6
|
+
|
7
|
+
contract BalancerStrategyV3Mainnet_bbamusd is BalancerStrategyV3 {
|
8
|
+
|
9
|
+
constructor() public {}
|
10
|
+
|
11
|
+
function initializeStrategy(
|
12
|
+
address _storage,
|
13
|
+
address _vault
|
14
|
+
) public initializer {
|
15
|
+
address underlying = address(0x48e6B98ef6329f8f0A30eBB8c7C960330d648085);
|
16
|
+
address bbamdai = address(0x178E029173417b1F9C8bC16DCeC6f697bC323746);
|
17
|
+
address bal = address(0x9a71012B13CA4d3D0Cdc72A177DF3ef03b0E76A3);
|
18
|
+
address dai = address(0x8f3Cf7ad23Cd3CaDbD9735AFf958023239c6A063);
|
19
|
+
address gauge = address(0x1c514fEc643AdD86aeF0ef14F4add28cC3425306);
|
20
|
+
BalancerStrategyV3.initializeBaseStrategy(
|
21
|
+
_storage,
|
22
|
+
underlying,
|
23
|
+
_vault,
|
24
|
+
gauge,
|
25
|
+
address(0xBA12222222228d8Ba445958a75a0704d566BF2C8), //balancer vault
|
26
|
+
0x48e6b98ef6329f8f0a30ebb8c7c960330d64808500000000000000000000075b, // Pool id
|
27
|
+
bbamdai, //depositToken
|
28
|
+
true //boosted
|
29
|
+
);
|
30
|
+
rewardTokens = [bal];
|
31
|
+
reward2WETH[bal] = [bal, weth];
|
32
|
+
WETH2deposit = [weth, dai, bbamdai];
|
33
|
+
poolIds[bal][weth] = 0x3d468ab2329f296e1b9d8476bb54dd77d8c2320f000200000000000000000426;
|
34
|
+
poolIds[dai][bbamdai] = 0x178e029173417b1f9c8bc16dcec6f697bc323746000000000000000000000758;
|
35
|
+
}
|
36
|
+
}
|
@@ -0,0 +1,32 @@
|
|
1
|
+
//SPDX-License-Identifier: Unlicense
|
2
|
+
pragma solidity 0.6.12;
|
3
|
+
pragma experimental ABIEncoderV2;
|
4
|
+
|
5
|
+
import "./BalancerStrategyV3.sol";
|
6
|
+
|
7
|
+
contract BalancerStrategyV3Mainnet_frxETH is BalancerStrategyV3 {
|
8
|
+
|
9
|
+
constructor() public {}
|
10
|
+
|
11
|
+
function initializeStrategy(
|
12
|
+
address _storage,
|
13
|
+
address _vault
|
14
|
+
) public initializer {
|
15
|
+
address underlying = address(0x5DEe84FfA2DC27419Ba7b3419d7146E53e4F7dEd);
|
16
|
+
address bal = address(0x9a71012B13CA4d3D0Cdc72A177DF3ef03b0E76A3);
|
17
|
+
address gauge = address(0xF75Bf196b64f2FCf942C29b5bE7f4742e4fD16Bd);
|
18
|
+
BalancerStrategyV3.initializeBaseStrategy(
|
19
|
+
_storage,
|
20
|
+
underlying,
|
21
|
+
_vault,
|
22
|
+
gauge,
|
23
|
+
address(0xBA12222222228d8Ba445958a75a0704d566BF2C8), //balancer vault
|
24
|
+
0x5dee84ffa2dc27419ba7b3419d7146e53e4f7ded000200000000000000000a4e, // Pool id
|
25
|
+
weth, //depositToken
|
26
|
+
false //boosted
|
27
|
+
);
|
28
|
+
rewardTokens = [bal];
|
29
|
+
reward2WETH[bal] = [bal, weth];
|
30
|
+
poolIds[bal][weth] = 0x3d468ab2329f296e1b9d8476bb54dd77d8c2320f000200000000000000000426;
|
31
|
+
}
|
32
|
+
}
|
@@ -0,0 +1,35 @@
|
|
1
|
+
//SPDX-License-Identifier: Unlicense
|
2
|
+
pragma solidity 0.6.12;
|
3
|
+
pragma experimental ABIEncoderV2;
|
4
|
+
|
5
|
+
import "./BalancerStrategyV3.sol";
|
6
|
+
|
7
|
+
contract BalancerStrategyV3Mainnet_frxETH_amWETH is BalancerStrategyV3 {
|
8
|
+
|
9
|
+
constructor() public {}
|
10
|
+
|
11
|
+
function initializeStrategy(
|
12
|
+
address _storage,
|
13
|
+
address _vault
|
14
|
+
) public initializer {
|
15
|
+
address underlying = address(0xD00f9Ca46ce0E4A63067c4657986f0167b0De1E5);
|
16
|
+
address bbaWETH = address(0x43894DE14462B421372bCFe445fA51b1b4A0Ff3D);
|
17
|
+
address bal = address(0x9a71012B13CA4d3D0Cdc72A177DF3ef03b0E76A3);
|
18
|
+
address gauge = address(0x83Ed440E7122FE3EFA28d3BC9d9eFca1952Ccb4b);
|
19
|
+
BalancerStrategyV3.initializeBaseStrategy(
|
20
|
+
_storage,
|
21
|
+
underlying,
|
22
|
+
_vault,
|
23
|
+
gauge,
|
24
|
+
address(0xBA12222222228d8Ba445958a75a0704d566BF2C8), //balancer vault
|
25
|
+
0xd00f9ca46ce0e4a63067c4657986f0167b0de1e5000000000000000000000b42, // Pool id
|
26
|
+
bbaWETH, //depositToken
|
27
|
+
true //boosted
|
28
|
+
);
|
29
|
+
rewardTokens = [bal];
|
30
|
+
reward2WETH[bal] = [bal, weth];
|
31
|
+
WETH2deposit = [weth, bbaWETH];
|
32
|
+
poolIds[bal][weth] = 0x3d468ab2329f296e1b9d8476bb54dd77d8c2320f000200000000000000000426;
|
33
|
+
poolIds[weth][bbaWETH] = 0x43894de14462b421372bcfe445fa51b1b4a0ff3d000000000000000000000b36;
|
34
|
+
}
|
35
|
+
}
|
@@ -0,0 +1,35 @@
|
|
1
|
+
//SPDX-License-Identifier: Unlicense
|
2
|
+
pragma solidity 0.6.12;
|
3
|
+
pragma experimental ABIEncoderV2;
|
4
|
+
|
5
|
+
import "./BalancerStrategyV3.sol";
|
6
|
+
|
7
|
+
contract BalancerStrategyV3Mainnet_stETH is BalancerStrategyV3 {
|
8
|
+
|
9
|
+
constructor() public {}
|
10
|
+
|
11
|
+
function initializeStrategy(
|
12
|
+
address _storage,
|
13
|
+
address _vault
|
14
|
+
) public initializer {
|
15
|
+
address underlying = address(0x65Fe9314bE50890Fb01457be076fAFD05Ff32B9A);
|
16
|
+
address wmatic = address(0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270);
|
17
|
+
address bal = address(0x9a71012B13CA4d3D0Cdc72A177DF3ef03b0E76A3);
|
18
|
+
address ldo = address(0xC3C7d422809852031b44ab29EEC9F1EfF2A58756);
|
19
|
+
address gauge = address(0x94e5C0270250d9E13B0545279807eF8c6c4Ed2a3);
|
20
|
+
BalancerStrategyV3.initializeBaseStrategy(
|
21
|
+
_storage,
|
22
|
+
underlying,
|
23
|
+
_vault,
|
24
|
+
gauge,
|
25
|
+
address(0xBA12222222228d8Ba445958a75a0704d566BF2C8), //balancer vault
|
26
|
+
0x65fe9314be50890fb01457be076fafd05ff32b9a000000000000000000000a96, // Pool id
|
27
|
+
weth, //depositToken
|
28
|
+
true //boosted
|
29
|
+
);
|
30
|
+
rewardTokens = [bal, ldo];
|
31
|
+
reward2WETH[bal] = [bal, weth];
|
32
|
+
reward2WETH[ldo] = [ldo, wmatic, weth];
|
33
|
+
poolIds[bal][weth] = 0x3d468ab2329f296e1b9d8476bb54dd77d8c2320f000200000000000000000426;
|
34
|
+
}
|
35
|
+
}
|
@@ -0,0 +1,36 @@
|
|
1
|
+
//SPDX-License-Identifier: Unlicense
|
2
|
+
pragma solidity 0.6.12;
|
3
|
+
pragma experimental ABIEncoderV2;
|
4
|
+
|
5
|
+
import "./BalancerStrategyV3.sol";
|
6
|
+
|
7
|
+
contract BalancerStrategyV3Mainnet_stMatic is BalancerStrategyV3 {
|
8
|
+
|
9
|
+
constructor() public {}
|
10
|
+
|
11
|
+
function initializeStrategy(
|
12
|
+
address _storage,
|
13
|
+
address _vault
|
14
|
+
) public initializer {
|
15
|
+
address underlying = address(0x8159462d255C1D24915CB51ec361F700174cD994);
|
16
|
+
address wmatic = address(0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270);
|
17
|
+
address bal = address(0x9a71012B13CA4d3D0Cdc72A177DF3ef03b0E76A3);
|
18
|
+
address ldo = address(0xC3C7d422809852031b44ab29EEC9F1EfF2A58756);
|
19
|
+
address gauge = address(0x2Aa6fB79EfE19A3fcE71c46AE48EFc16372ED6dD);
|
20
|
+
BalancerStrategyV3.initializeBaseStrategy(
|
21
|
+
_storage,
|
22
|
+
underlying,
|
23
|
+
_vault,
|
24
|
+
gauge,
|
25
|
+
address(0xBA12222222228d8Ba445958a75a0704d566BF2C8), //balancer vault
|
26
|
+
0x8159462d255c1d24915cb51ec361f700174cd99400000000000000000000075d, // Pool id
|
27
|
+
wmatic, //depositToken
|
28
|
+
true //boosted
|
29
|
+
);
|
30
|
+
rewardTokens = [bal, ldo];
|
31
|
+
reward2WETH[bal] = [bal, weth];
|
32
|
+
reward2WETH[ldo] = [ldo, wmatic, weth];
|
33
|
+
WETH2deposit = [weth, wmatic];
|
34
|
+
poolIds[bal][weth] = 0x3d468ab2329f296e1b9d8476bb54dd77d8c2320f000200000000000000000426;
|
35
|
+
}
|
36
|
+
}
|
@@ -0,0 +1,39 @@
|
|
1
|
+
//SPDX-License-Identifier: Unlicense
|
2
|
+
pragma solidity 0.6.12;
|
3
|
+
pragma experimental ABIEncoderV2;
|
4
|
+
|
5
|
+
import "./BalancerStrategyV3.sol";
|
6
|
+
|
7
|
+
contract BalancerStrategyV3Mainnet_stMatic_amMatic is BalancerStrategyV3 {
|
8
|
+
|
9
|
+
constructor() public {}
|
10
|
+
|
11
|
+
function initializeStrategy(
|
12
|
+
address _storage,
|
13
|
+
address _vault
|
14
|
+
) public initializer {
|
15
|
+
address underlying = address(0x216690738Aac4aa0C4770253CA26a28f0115c595);
|
16
|
+
address stMatic = address(0x3A58a54C066FdC0f2D55FC9C89F0415C92eBf3C4);
|
17
|
+
address wmatic = address(0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270);
|
18
|
+
address bal = address(0x9a71012B13CA4d3D0Cdc72A177DF3ef03b0E76A3);
|
19
|
+
address ldo = address(0xC3C7d422809852031b44ab29EEC9F1EfF2A58756);
|
20
|
+
address usdc = address(0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174);
|
21
|
+
address gauge = address(0x1e916950A659Da9813EE34479BFf04C732E03deb);
|
22
|
+
BalancerStrategyV3.initializeBaseStrategy(
|
23
|
+
_storage,
|
24
|
+
underlying,
|
25
|
+
_vault,
|
26
|
+
gauge,
|
27
|
+
address(0xBA12222222228d8Ba445958a75a0704d566BF2C8), //balancer vault
|
28
|
+
0x216690738aac4aa0c4770253ca26a28f0115c595000000000000000000000b2c, // Pool id
|
29
|
+
stMatic, //depositToken
|
30
|
+
true //boosted
|
31
|
+
);
|
32
|
+
rewardTokens = [bal, ldo, usdc];
|
33
|
+
reward2WETH[bal] = [bal, weth];
|
34
|
+
reward2WETH[ldo] = [ldo, wmatic, weth];
|
35
|
+
reward2WETH[usdc] = [usdc, weth];
|
36
|
+
WETH2deposit = [weth, wmatic, stMatic];
|
37
|
+
poolIds[bal][weth] = 0x3d468ab2329f296e1b9d8476bb54dd77d8c2320f000200000000000000000426;
|
38
|
+
}
|
39
|
+
}
|
@@ -0,0 +1,36 @@
|
|
1
|
+
//SPDX-License-Identifier: Unlicense
|
2
|
+
pragma solidity 0.6.12;
|
3
|
+
pragma experimental ABIEncoderV2;
|
4
|
+
|
5
|
+
import "./BalancerStrategyV3.sol";
|
6
|
+
|
7
|
+
contract BalancerStrategyV3Mainnet_tetuBal is BalancerStrategyV3 {
|
8
|
+
|
9
|
+
constructor() public {}
|
10
|
+
|
11
|
+
function initializeStrategy(
|
12
|
+
address _storage,
|
13
|
+
address _vault
|
14
|
+
) public initializer {
|
15
|
+
address underlying = address(0xB797AdfB7b268faeaA90CAdBfEd464C76ee599Cd);
|
16
|
+
address wethBal = address(0x3d468AB2329F296e1b9d8476Bb54Dd77D8c2320f);
|
17
|
+
address bal = address(0x9a71012B13CA4d3D0Cdc72A177DF3ef03b0E76A3);
|
18
|
+
address gauge = address(0xAA59736b80cf77d1E7D56B7bbA5A8050805F5064);
|
19
|
+
BalancerStrategyV3.initializeBaseStrategy(
|
20
|
+
_storage,
|
21
|
+
underlying,
|
22
|
+
_vault,
|
23
|
+
gauge,
|
24
|
+
address(0xBA12222222228d8Ba445958a75a0704d566BF2C8), //balancer vault
|
25
|
+
0xb797adfb7b268faeaa90cadbfed464c76ee599cd0002000000000000000005ba, // Pool id
|
26
|
+
wethBal, //depositToken
|
27
|
+
false //boosted
|
28
|
+
);
|
29
|
+
rewardTokens = [bal];
|
30
|
+
reward2WETH[bal] = [bal, weth];
|
31
|
+
WETH2deposit = [weth, wethBal];
|
32
|
+
poolIds[bal][weth] = 0x3d468ab2329f296e1b9d8476bb54dd77d8c2320f000200000000000000000426;
|
33
|
+
poolIds[weth][wethBal] = 0x3d468ab2329f296e1b9d8476bb54dd77d8c2320f000200000000000000000426;
|
34
|
+
deposit[weth][wethBal] = true;
|
35
|
+
}
|
36
|
+
}
|
@@ -0,0 +1,34 @@
|
|
1
|
+
//SPDX-License-Identifier: Unlicense
|
2
|
+
pragma solidity 0.6.12;
|
3
|
+
pragma experimental ABIEncoderV2;
|
4
|
+
|
5
|
+
import "./BalancerStrategyV3.sol";
|
6
|
+
|
7
|
+
contract BalancerStrategyV3Mainnet_wUSDR_USDC is BalancerStrategyV3 {
|
8
|
+
|
9
|
+
constructor() public {}
|
10
|
+
|
11
|
+
function initializeStrategy(
|
12
|
+
address _storage,
|
13
|
+
address _vault
|
14
|
+
) public initializer {
|
15
|
+
address underlying = address(0x34A81e8956BF20b7448b31990A2c06F96830a6e4);
|
16
|
+
address usdc = address(0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174);
|
17
|
+
address bal = address(0x9a71012B13CA4d3D0Cdc72A177DF3ef03b0E76A3);
|
18
|
+
address gauge = address(0x80f392Bf3FA6973C3e14bb276e04931Ec12DE05E);
|
19
|
+
BalancerStrategyV3.initializeBaseStrategy(
|
20
|
+
_storage,
|
21
|
+
underlying,
|
22
|
+
_vault,
|
23
|
+
gauge,
|
24
|
+
address(0xBA12222222228d8Ba445958a75a0704d566BF2C8), //balancer vault
|
25
|
+
0x34a81e8956bf20b7448b31990a2c06f96830a6e4000200000000000000000a14, // Pool id
|
26
|
+
usdc, //depositToken
|
27
|
+
false //boosted
|
28
|
+
);
|
29
|
+
rewardTokens = [bal];
|
30
|
+
reward2WETH[bal] = [bal, weth];
|
31
|
+
WETH2deposit = [weth, usdc];
|
32
|
+
poolIds[bal][weth] = 0x3d468ab2329f296e1b9d8476bb54dd77d8c2320f000200000000000000000426;
|
33
|
+
}
|
34
|
+
}
|
@@ -0,0 +1,37 @@
|
|
1
|
+
//SPDX-License-Identifier: Unlicense
|
2
|
+
pragma solidity 0.6.12;
|
3
|
+
pragma experimental ABIEncoderV2;
|
4
|
+
|
5
|
+
import "./BalancerStrategyV3.sol";
|
6
|
+
|
7
|
+
contract BalancerStrategyV3Mainnet_wstETH_amWETH is BalancerStrategyV3 {
|
8
|
+
|
9
|
+
constructor() public {}
|
10
|
+
|
11
|
+
function initializeStrategy(
|
12
|
+
address _storage,
|
13
|
+
address _vault
|
14
|
+
) public initializer {
|
15
|
+
address underlying = address(0x4a77eF015ddcd972fd9BA2C7D5D658689D090f1A);
|
16
|
+
address bbaWETH = address(0x43894DE14462B421372bCFe445fA51b1b4A0Ff3D);
|
17
|
+
address bal = address(0x9a71012B13CA4d3D0Cdc72A177DF3ef03b0E76A3);
|
18
|
+
address usdc = address(0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174);
|
19
|
+
address gauge = address(0xB95397A17ACbb5824535ebE69Cd9DCF8fA7aFC50);
|
20
|
+
BalancerStrategyV3.initializeBaseStrategy(
|
21
|
+
_storage,
|
22
|
+
underlying,
|
23
|
+
_vault,
|
24
|
+
gauge,
|
25
|
+
address(0xBA12222222228d8Ba445958a75a0704d566BF2C8), //balancer vault
|
26
|
+
0x4a77ef015ddcd972fd9ba2c7d5d658689d090f1a000000000000000000000b38, // Pool id
|
27
|
+
bbaWETH, //depositToken
|
28
|
+
true //boosted
|
29
|
+
);
|
30
|
+
rewardTokens = [bal, usdc];
|
31
|
+
reward2WETH[bal] = [bal, weth];
|
32
|
+
reward2WETH[usdc] = [usdc, weth];
|
33
|
+
WETH2deposit = [weth, bbaWETH];
|
34
|
+
poolIds[bal][weth] = 0x3d468ab2329f296e1b9d8476bb54dd77d8c2320f000200000000000000000426;
|
35
|
+
poolIds[weth][bbaWETH] = 0x43894de14462b421372bcfe445fa51b1b4a0ff3d000000000000000000000b36;
|
36
|
+
}
|
37
|
+
}
|
@@ -0,0 +1,26 @@
|
|
1
|
+
//SPDX-License-Identifier: Unlicense
|
2
|
+
pragma solidity 0.6.12;
|
3
|
+
|
4
|
+
interface Gauge {
|
5
|
+
function deposit(uint) external;
|
6
|
+
function balanceOf(address) external view returns (uint);
|
7
|
+
function withdraw(uint) external;
|
8
|
+
function user_checkpoint(address) external;
|
9
|
+
function claim_rewards() external;
|
10
|
+
function bal_pseudo_minter() external view returns (address);
|
11
|
+
}
|
12
|
+
|
13
|
+
interface VotingEscrow {
|
14
|
+
function create_lock(uint256 v, uint256 time) external;
|
15
|
+
function increase_amount(uint256 _value) external;
|
16
|
+
function increase_unlock_time(uint256 _unlock_time) external;
|
17
|
+
function withdraw() external;
|
18
|
+
}
|
19
|
+
|
20
|
+
interface Mintr {
|
21
|
+
function mint(address) external;
|
22
|
+
}
|
23
|
+
|
24
|
+
interface ICurveLP {
|
25
|
+
function minter() external view returns(address);
|
26
|
+
}
|