@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,20 @@
|
|
1
|
+
// SPDX-License-Identifier: MIT
|
2
|
+
pragma solidity 0.6.12;
|
3
|
+
|
4
|
+
interface IUniversalLiquidatorRegistry {
|
5
|
+
|
6
|
+
function setPath(bytes32 _dex, address[] memory _paths) external;
|
7
|
+
|
8
|
+
function setIntermediateToken(address[] memory _token) external;
|
9
|
+
|
10
|
+
function addDex(bytes32 _name, address _address) external;
|
11
|
+
|
12
|
+
function changeDexAddress(bytes32 _name, address _address) external;
|
13
|
+
|
14
|
+
function getAllDexes() external view returns (bytes32[] memory);
|
15
|
+
|
16
|
+
function getAllIntermediateTokens()
|
17
|
+
external
|
18
|
+
view
|
19
|
+
returns (address[] memory);
|
20
|
+
}
|
@@ -0,0 +1,35 @@
|
|
1
|
+
//SPDX-License-Identifier: Unlicense
|
2
|
+
|
3
|
+
pragma solidity 0.6.12;
|
4
|
+
|
5
|
+
interface IVault {
|
6
|
+
|
7
|
+
function initializeVault(
|
8
|
+
address _storage,
|
9
|
+
address _underlying,
|
10
|
+
uint256 _toInvestNumerator,
|
11
|
+
uint256 _toInvestDenominator
|
12
|
+
) external ;
|
13
|
+
|
14
|
+
function underlyingBalanceInVault() external view returns (uint256);
|
15
|
+
function underlyingBalanceWithInvestment() external view returns (uint256);
|
16
|
+
|
17
|
+
function underlying() external view returns (address);
|
18
|
+
function strategy() external view returns (address);
|
19
|
+
|
20
|
+
function setStrategy(address _strategy) external;
|
21
|
+
function announceStrategyUpdate(address _strategy) external;
|
22
|
+
function setVaultFractionToInvest(uint256 numerator, uint256 denominator) external;
|
23
|
+
|
24
|
+
function deposit(uint256 amountWei) external;
|
25
|
+
function depositFor(uint256 amountWei, address holder) external;
|
26
|
+
|
27
|
+
function withdrawAll() external;
|
28
|
+
function withdraw(uint256 numberOfShares) external;
|
29
|
+
function getPricePerFullShare() external view returns (uint256);
|
30
|
+
|
31
|
+
function underlyingBalanceWithInvestmentForHolder(address holder) view external returns (uint256);
|
32
|
+
|
33
|
+
// hard work should be callable only by the controller (by the hard worker) or by governance
|
34
|
+
function doHardWork() external;
|
35
|
+
}
|
@@ -0,0 +1,266 @@
|
|
1
|
+
// SPDX-License-Identifier: BUSL-1.1
|
2
|
+
pragma solidity 0.6.12;
|
3
|
+
pragma experimental ABIEncoderV2;
|
4
|
+
|
5
|
+
library DataTypes {
|
6
|
+
struct ReserveData {
|
7
|
+
//stores the reserve configuration
|
8
|
+
ReserveConfigurationMap configuration;
|
9
|
+
//the liquidity index. Expressed in ray
|
10
|
+
uint128 liquidityIndex;
|
11
|
+
//the current supply rate. Expressed in ray
|
12
|
+
uint128 currentLiquidityRate;
|
13
|
+
//variable borrow index. Expressed in ray
|
14
|
+
uint128 variableBorrowIndex;
|
15
|
+
//the current variable borrow rate. Expressed in ray
|
16
|
+
uint128 currentVariableBorrowRate;
|
17
|
+
//the current stable borrow rate. Expressed in ray
|
18
|
+
uint128 currentStableBorrowRate;
|
19
|
+
//timestamp of last update
|
20
|
+
uint40 lastUpdateTimestamp;
|
21
|
+
//the id of the reserve. Represents the position in the list of the active reserves
|
22
|
+
uint16 id;
|
23
|
+
//aToken address
|
24
|
+
address aTokenAddress;
|
25
|
+
//stableDebtToken address
|
26
|
+
address stableDebtTokenAddress;
|
27
|
+
//variableDebtToken address
|
28
|
+
address variableDebtTokenAddress;
|
29
|
+
//address of the interest rate strategy
|
30
|
+
address interestRateStrategyAddress;
|
31
|
+
//the current treasury balance, scaled
|
32
|
+
uint128 accruedToTreasury;
|
33
|
+
//the outstanding unbacked aTokens minted through the bridging feature
|
34
|
+
uint128 unbacked;
|
35
|
+
//the outstanding debt borrowed against this asset in isolation mode
|
36
|
+
uint128 isolationModeTotalDebt;
|
37
|
+
}
|
38
|
+
|
39
|
+
struct ReserveConfigurationMap {
|
40
|
+
//bit 0-15: LTV
|
41
|
+
//bit 16-31: Liq. threshold
|
42
|
+
//bit 32-47: Liq. bonus
|
43
|
+
//bit 48-55: Decimals
|
44
|
+
//bit 56: reserve is active
|
45
|
+
//bit 57: reserve is frozen
|
46
|
+
//bit 58: borrowing is enabled
|
47
|
+
//bit 59: stable rate borrowing enabled
|
48
|
+
//bit 60: asset is paused
|
49
|
+
//bit 61: borrowing in isolation mode is enabled
|
50
|
+
//bit 62: siloed borrowing enabled
|
51
|
+
//bit 63: flashloaning enabled
|
52
|
+
//bit 64-79: reserve factor
|
53
|
+
//bit 80-115 borrow cap in whole tokens, borrowCap == 0 => no cap
|
54
|
+
//bit 116-151 supply cap in whole tokens, supplyCap == 0 => no cap
|
55
|
+
//bit 152-167 liquidation protocol fee
|
56
|
+
//bit 168-175 eMode category
|
57
|
+
//bit 176-211 unbacked mint cap in whole tokens, unbackedMintCap == 0 => minting disabled
|
58
|
+
//bit 212-251 debt ceiling for isolation mode with (ReserveConfiguration::DEBT_CEILING_DECIMALS) decimals
|
59
|
+
//bit 252-255 unused
|
60
|
+
|
61
|
+
uint256 data;
|
62
|
+
}
|
63
|
+
|
64
|
+
struct UserConfigurationMap {
|
65
|
+
/**
|
66
|
+
* @dev Bitmap of the users collaterals and borrows. It is divided in pairs of bits, one pair per asset.
|
67
|
+
* The first bit indicates if an asset is used as collateral by the user, the second whether an
|
68
|
+
* asset is borrowed by the user.
|
69
|
+
*/
|
70
|
+
uint256 data;
|
71
|
+
}
|
72
|
+
|
73
|
+
struct EModeCategory {
|
74
|
+
// each eMode category has a custom ltv and liquidation threshold
|
75
|
+
uint16 ltv;
|
76
|
+
uint16 liquidationThreshold;
|
77
|
+
uint16 liquidationBonus;
|
78
|
+
// each eMode category may or may not have a custom oracle to override the individual assets price oracles
|
79
|
+
address priceSource;
|
80
|
+
string label;
|
81
|
+
}
|
82
|
+
|
83
|
+
enum InterestRateMode {NONE, STABLE, VARIABLE}
|
84
|
+
|
85
|
+
struct ReserveCache {
|
86
|
+
uint256 currScaledVariableDebt;
|
87
|
+
uint256 nextScaledVariableDebt;
|
88
|
+
uint256 currPrincipalStableDebt;
|
89
|
+
uint256 currAvgStableBorrowRate;
|
90
|
+
uint256 currTotalStableDebt;
|
91
|
+
uint256 nextAvgStableBorrowRate;
|
92
|
+
uint256 nextTotalStableDebt;
|
93
|
+
uint256 currLiquidityIndex;
|
94
|
+
uint256 nextLiquidityIndex;
|
95
|
+
uint256 currVariableBorrowIndex;
|
96
|
+
uint256 nextVariableBorrowIndex;
|
97
|
+
uint256 currLiquidityRate;
|
98
|
+
uint256 currVariableBorrowRate;
|
99
|
+
uint256 reserveFactor;
|
100
|
+
ReserveConfigurationMap reserveConfiguration;
|
101
|
+
address aTokenAddress;
|
102
|
+
address stableDebtTokenAddress;
|
103
|
+
address variableDebtTokenAddress;
|
104
|
+
uint40 reserveLastUpdateTimestamp;
|
105
|
+
uint40 stableDebtLastUpdateTimestamp;
|
106
|
+
}
|
107
|
+
|
108
|
+
struct ExecuteLiquidationCallParams {
|
109
|
+
uint256 reservesCount;
|
110
|
+
uint256 debtToCover;
|
111
|
+
address collateralAsset;
|
112
|
+
address debtAsset;
|
113
|
+
address user;
|
114
|
+
bool receiveAToken;
|
115
|
+
address priceOracle;
|
116
|
+
uint8 userEModeCategory;
|
117
|
+
address priceOracleSentinel;
|
118
|
+
}
|
119
|
+
|
120
|
+
struct ExecuteSupplyParams {
|
121
|
+
address asset;
|
122
|
+
uint256 amount;
|
123
|
+
address onBehalfOf;
|
124
|
+
uint16 referralCode;
|
125
|
+
}
|
126
|
+
|
127
|
+
struct ExecuteBorrowParams {
|
128
|
+
address asset;
|
129
|
+
address user;
|
130
|
+
address onBehalfOf;
|
131
|
+
uint256 amount;
|
132
|
+
InterestRateMode interestRateMode;
|
133
|
+
uint16 referralCode;
|
134
|
+
bool releaseUnderlying;
|
135
|
+
uint256 maxStableRateBorrowSizePercent;
|
136
|
+
uint256 reservesCount;
|
137
|
+
address oracle;
|
138
|
+
uint8 userEModeCategory;
|
139
|
+
address priceOracleSentinel;
|
140
|
+
}
|
141
|
+
|
142
|
+
struct ExecuteRepayParams {
|
143
|
+
address asset;
|
144
|
+
uint256 amount;
|
145
|
+
InterestRateMode interestRateMode;
|
146
|
+
address onBehalfOf;
|
147
|
+
bool useATokens;
|
148
|
+
}
|
149
|
+
|
150
|
+
struct ExecuteWithdrawParams {
|
151
|
+
address asset;
|
152
|
+
uint256 amount;
|
153
|
+
address to;
|
154
|
+
uint256 reservesCount;
|
155
|
+
address oracle;
|
156
|
+
uint8 userEModeCategory;
|
157
|
+
}
|
158
|
+
|
159
|
+
struct ExecuteSetUserEModeParams {
|
160
|
+
uint256 reservesCount;
|
161
|
+
address oracle;
|
162
|
+
uint8 categoryId;
|
163
|
+
}
|
164
|
+
|
165
|
+
struct FinalizeTransferParams {
|
166
|
+
address asset;
|
167
|
+
address from;
|
168
|
+
address to;
|
169
|
+
uint256 amount;
|
170
|
+
uint256 balanceFromBefore;
|
171
|
+
uint256 balanceToBefore;
|
172
|
+
uint256 reservesCount;
|
173
|
+
address oracle;
|
174
|
+
uint8 fromEModeCategory;
|
175
|
+
}
|
176
|
+
|
177
|
+
struct FlashloanParams {
|
178
|
+
address receiverAddress;
|
179
|
+
address[] assets;
|
180
|
+
uint256[] amounts;
|
181
|
+
uint256[] interestRateModes;
|
182
|
+
address onBehalfOf;
|
183
|
+
bytes params;
|
184
|
+
uint16 referralCode;
|
185
|
+
uint256 flashLoanPremiumToProtocol;
|
186
|
+
uint256 flashLoanPremiumTotal;
|
187
|
+
uint256 maxStableRateBorrowSizePercent;
|
188
|
+
uint256 reservesCount;
|
189
|
+
address addressesProvider;
|
190
|
+
uint8 userEModeCategory;
|
191
|
+
bool isAuthorizedFlashBorrower;
|
192
|
+
}
|
193
|
+
|
194
|
+
struct FlashloanSimpleParams {
|
195
|
+
address receiverAddress;
|
196
|
+
address asset;
|
197
|
+
uint256 amount;
|
198
|
+
bytes params;
|
199
|
+
uint16 referralCode;
|
200
|
+
uint256 flashLoanPremiumToProtocol;
|
201
|
+
uint256 flashLoanPremiumTotal;
|
202
|
+
}
|
203
|
+
|
204
|
+
struct FlashLoanRepaymentParams {
|
205
|
+
uint256 amount;
|
206
|
+
uint256 totalPremium;
|
207
|
+
uint256 flashLoanPremiumToProtocol;
|
208
|
+
address asset;
|
209
|
+
address receiverAddress;
|
210
|
+
uint16 referralCode;
|
211
|
+
}
|
212
|
+
|
213
|
+
struct CalculateUserAccountDataParams {
|
214
|
+
UserConfigurationMap userConfig;
|
215
|
+
uint256 reservesCount;
|
216
|
+
address user;
|
217
|
+
address oracle;
|
218
|
+
uint8 userEModeCategory;
|
219
|
+
}
|
220
|
+
|
221
|
+
struct ValidateBorrowParams {
|
222
|
+
ReserveCache reserveCache;
|
223
|
+
UserConfigurationMap userConfig;
|
224
|
+
address asset;
|
225
|
+
address userAddress;
|
226
|
+
uint256 amount;
|
227
|
+
InterestRateMode interestRateMode;
|
228
|
+
uint256 maxStableLoanPercent;
|
229
|
+
uint256 reservesCount;
|
230
|
+
address oracle;
|
231
|
+
uint8 userEModeCategory;
|
232
|
+
address priceOracleSentinel;
|
233
|
+
bool isolationModeActive;
|
234
|
+
address isolationModeCollateralAddress;
|
235
|
+
uint256 isolationModeDebtCeiling;
|
236
|
+
}
|
237
|
+
|
238
|
+
struct ValidateLiquidationCallParams {
|
239
|
+
ReserveCache debtReserveCache;
|
240
|
+
uint256 totalDebt;
|
241
|
+
uint256 healthFactor;
|
242
|
+
address priceOracleSentinel;
|
243
|
+
}
|
244
|
+
|
245
|
+
struct CalculateInterestRatesParams {
|
246
|
+
uint256 unbacked;
|
247
|
+
uint256 liquidityAdded;
|
248
|
+
uint256 liquidityTaken;
|
249
|
+
uint256 totalStableDebt;
|
250
|
+
uint256 totalVariableDebt;
|
251
|
+
uint256 averageStableBorrowRate;
|
252
|
+
uint256 reserveFactor;
|
253
|
+
address reserve;
|
254
|
+
address aToken;
|
255
|
+
}
|
256
|
+
|
257
|
+
struct InitReserveParams {
|
258
|
+
address asset;
|
259
|
+
address aTokenAddress;
|
260
|
+
address stableDebtAddress;
|
261
|
+
address variableDebtAddress;
|
262
|
+
address interestRateStrategyAddress;
|
263
|
+
uint16 reservesCount;
|
264
|
+
uint16 maxNumberReserves;
|
265
|
+
}
|
266
|
+
}
|
@@ -0,0 +1,37 @@
|
|
1
|
+
// SPDX-License-Identifier: AGPL-3.0
|
2
|
+
pragma solidity 0.6.12;
|
3
|
+
|
4
|
+
interface IAToken {
|
5
|
+
/**
|
6
|
+
* @notice Returns the address of the underlying asset of this aToken (E.g. WETH for aWETH)
|
7
|
+
* @return The address of the underlying asset
|
8
|
+
*/
|
9
|
+
function UNDERLYING_ASSET_ADDRESS() external view returns (address);
|
10
|
+
|
11
|
+
/**
|
12
|
+
* @notice Returns the address of the Aave treasury, receiving the fees on this aToken.
|
13
|
+
* @return Address of the Aave treasury
|
14
|
+
*/
|
15
|
+
function RESERVE_TREASURY_ADDRESS() external view returns (address);
|
16
|
+
|
17
|
+
/**
|
18
|
+
* @notice Get the domain separator for the token
|
19
|
+
* @dev Return cached value if chainId matches cache, otherwise recomputes separator
|
20
|
+
* @return The domain separator of the token at current chain
|
21
|
+
*/
|
22
|
+
function DOMAIN_SEPARATOR() external view returns (bytes32);
|
23
|
+
|
24
|
+
/**
|
25
|
+
* @notice Returns the nonce for owner.
|
26
|
+
* @param owner The address of the owner
|
27
|
+
* @return The nonce of the owner
|
28
|
+
*/
|
29
|
+
function nonces(address owner) external view returns (uint256);
|
30
|
+
|
31
|
+
function scaledBalanceOf(address owner) external view returns (uint256);
|
32
|
+
function balanceOf(address owner) external view returns (uint256);
|
33
|
+
|
34
|
+
function getIncentivesController() external view returns (address);
|
35
|
+
|
36
|
+
function POOL() external view returns (address);
|
37
|
+
}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
// SPDX-License-Identifier: AGPL-3.0
|
2
|
+
pragma solidity 0.6.12;
|
3
|
+
pragma experimental ABIEncoderV2;
|
4
|
+
|
5
|
+
import "./DataTypes.sol";
|
6
|
+
|
7
|
+
interface IPool {
|
8
|
+
function borrow(address asset, uint256 amount, uint256 interestRateMode, uint16 referralCode, address onBehalfOf) external;
|
9
|
+
function repay(address asset, uint256 amount, uint256 interestRateMode, address onBehalfOf) external;
|
10
|
+
function supply(address asset, uint256 amount, address onBehalfOf, uint16 referralCode) external;
|
11
|
+
function withdraw(address asset, uint256 amount, address to) external;
|
12
|
+
function getConfiguration(address asset) external view returns (DataTypes.ReserveConfigurationMap memory);
|
13
|
+
}
|
@@ -0,0 +1,22 @@
|
|
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
|
+
}
|