@enzymefinance/testutils 4.0.0-next.5 → 4.0.0-next.6

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.
@@ -1,6 +1,6 @@
1
1
  import _asyncToGenerator from '@babel/runtime/helpers/esm/asyncToGenerator';
2
2
  import _regeneratorRuntime from '@babel/runtime/regenerator';
3
- import { AaveAdapter, AavePriceFeed, AddressListRegistry, AllowedAdapterIncomingAssetsPolicy, AllowedAdaptersPolicy, AllowedAssetsForRedemptionPolicy, AllowedDepositRecipientsPolicy, AllowedExternalPositionTypesPolicy, AllowedSharesTransferRecipientsPolicy, AssetFinalityResolver, CompoundAdapter, CompoundDebtPositionLib, CompoundDebtPositionParser, CompoundPriceFeed, ComptrollerLib, CumulativeSlippageTolerancePolicy, CurveExchangeAdapter, CurveLiquidityAaveAdapter, CurveLiquidityEursAdapter, CurveLiquiditySethAdapter, CurveLiquidityStethAdapter, CurvePriceFeed, DepositWrapper, Dispatcher, EntranceRateBurnFee, EntranceRateDirectFee, ExitRateBurnFee, ExitRateDirectFee, ExternalPositionFactory, ExternalPositionManager, FeeManager, FundDeployer, FundValueCalculator, FundValueCalculatorRouter, FundValueCalculatorUsdWrapper, GasRelayPaymasterFactory, GuaranteedRedemptionPolicy, IdleAdapter, IdlePriceFeed, IntegrationManager, LidoStethPriceFeed, ManagementFee, MinAssetBalancesPostRedemptionPolicy, MinMaxInvestmentPolicy, OnlyRemoveDustExternalPositionPolicy, OnlyUntrackDustOrPricelessAssetsPolicy, ParaSwapV4Adapter, ParaSwapV5Adapter, PerformanceFee, PolicyManager, PoolTogetherV4Adapter, PoolTogetherV4PriceFeed, ProtocolFeeReserveLib, ProtocolFeeTracker, RevertingPriceFeed, StakehoundEthPriceFeed, SynthetixAdapter, SynthetixPriceFeed, UniswapV2ExchangeAdapter, UniswapV2LiquidityAdapter, UniswapV2PoolPriceFeed, UniswapV3Adapter, UnpermissionedActionsWrapper, ValueInterpreter, VaultLib, YearnVaultV2Adapter, YearnVaultV2PriceFeed, ZeroExV2Adapter, IntegrationManagerActionId, addTrackedAssetsToVaultArgs, removeTrackedAssetsFromVaultArgs, StandardToken, callOnExternalPositionArgs, ExternalPositionManagerActionId, IExternalPositionProxy, encodeArgs, externalPositionReactivateArgs, externalPositionRemoveArgs, compoundExternalPositionActionArgs, CompoundDebtPositionActionId, ExternalPositionType, MockGenericExternalPositionParser, MockGenericExternalPositionLib, mockGenericExternalPositionActionArgs, MockGenericExternalPositionActionId, uniswapV3LiquidityPositionInitArgs, uniswapV3LiquidityPositionAddLiquidityArgs, UniswapV3LiquidityPositionActionId, uniswapV3LiquidityPositionCollectArgs, UniswapV3LiquidityPositionLib, uniswapV3LiquidityPositionMintArgs, uniswapV3LiquidityPositionPurgeArgs, uniswapV3LiquidityPositionRemoveLiquidityArgs, feeManagerConfigArgs, FeeSettlementType, FeeHook, IFee, aaveLendArgs, callOnIntegrationArgs, lendSelector, aaveRedeemArgs, redeemSelector, compoundArgs, curveTakeOrderArgs, takeOrderSelector, claimRewardsSelector, curveAaveLendArgs, curveAaveLendAndStakeArgs, lendAndStakeSelector, curveAaveRedeemArgs, curveAaveStakeArgs, stakeSelector, curveAaveUnstakeAndRedeemArgs, unstakeAndRedeemSelector, curveAaveUnstakeArgs, unstakeSelector, curveEursLendArgs, curveEursLendAndStakeArgs, curveEursRedeemArgs, curveEursStakeArgs, curveEursUnstakeAndRedeemArgs, curveEursUnstakeArgs, curveSethLendArgs, curveSethLendAndStakeArgs, curveSethRedeemArgs, curveSethStakeArgs, curveSethUnstakeAndRedeemArgs, curveSethUnstakeArgs, curveStethLendArgs, curveStethLendAndStakeArgs, curveStethRedeemArgs, curveStethStakeArgs, curveStethUnstakeAndRedeemArgs, curveStethUnstakeArgs, idleClaimRewardsArgs, idleLendArgs, idleRedeemArgs, sighash, paraSwapV4TakeOrderArgs, paraSwapV5TakeOrderArgs, poolTogetherV4LendArgs, poolTogetherV4RedeemArgs, poolTogetherV4ClaimRewardsArgs, synthetixAssignExchangeDelegateSelector, synthetixRedeemArgs, synthetixTakeOrderArgs, uniswapV2LendArgs, uniswapV2RedeemArgs, uniswapV2TakeOrderArgs, uniswapV3TakeOrderArgs, yearnVaultV2LendArgs, yearnVaultV2RedeemArgs, zeroExV2TakeOrderArgs, policyManagerConfigArgs, PolicyHook, IPolicy, encodeFunctionData, ComptrollerProxy, VaultProxy, GasRelayPaymasterLib, addressListRegistryCreateListSelector, curveMinterMintSelector, curveMinterMintManySelector, curveMinterToggleApproveMintSelector, IGsnRelayHub, createSignedRelayRequest, isTypedDataSigner } from '@enzymefinance/protocol';
3
+ import { AaveAdapter, AavePriceFeed, AddressListRegistry, AllowedAdapterIncomingAssetsPolicy, AllowedAdaptersPolicy, AllowedAssetsForRedemptionPolicy, AllowedDepositRecipientsPolicy, AllowedExternalPositionTypesPolicy, AllowedSharesTransferRecipientsPolicy, AssetFinalityResolver, CompoundAdapter, CompoundDebtPositionLib, CompoundDebtPositionParser, CompoundPriceFeed, ComptrollerLib, CumulativeSlippageTolerancePolicy, CurveExchangeAdapter, CurveLiquidityAaveAdapter, CurveLiquidityAdapter, CurveLiquidityEursAdapter, CurveLiquiditySethAdapter, CurveLiquidityStethAdapter, CurvePriceFeed, DepositWrapper, Dispatcher, EntranceRateBurnFee, EntranceRateDirectFee, ExitRateBurnFee, ExitRateDirectFee, ExternalPositionFactory, ExternalPositionManager, FeeManager, FundDeployer, FundValueCalculator, FundValueCalculatorRouter, FundValueCalculatorUsdWrapper, GasRelayPaymasterFactory, GuaranteedRedemptionPolicy, IdleAdapter, IdlePriceFeed, IntegrationManager, LidoStethPriceFeed, ManagementFee, MinAssetBalancesPostRedemptionPolicy, MinMaxInvestmentPolicy, OlympusV2Adapter, OnlyRemoveDustExternalPositionPolicy, OnlyUntrackDustOrPricelessAssetsPolicy, ParaSwapV4Adapter, ParaSwapV5Adapter, PerformanceFee, PolicyManager, PoolTogetherV4Adapter, PoolTogetherV4PriceFeed, ProtocolFeeReserveLib, ProtocolFeeTracker, RevertingPriceFeed, StakehoundEthPriceFeed, SynthetixAdapter, SynthetixPriceFeed, UniswapV2ExchangeAdapter, UniswapV2LiquidityAdapter, UniswapV2PoolPriceFeed, UniswapV3Adapter, UnpermissionedActionsWrapper, ValueInterpreter, VaultLib, YearnVaultV2Adapter, YearnVaultV2PriceFeed, ZeroExV2Adapter, IntegrationManagerActionId, addTrackedAssetsToVaultArgs, removeTrackedAssetsFromVaultArgs, StandardToken, callOnExternalPositionArgs, ExternalPositionManagerActionId, IExternalPositionProxy, encodeArgs, externalPositionReactivateArgs, externalPositionRemoveArgs, compoundExternalPositionActionArgs, CompoundDebtPositionActionId, ExternalPositionType, MockGenericExternalPositionParser, MockGenericExternalPositionLib, mockGenericExternalPositionActionArgs, MockGenericExternalPositionActionId, uniswapV3LiquidityPositionInitArgs, uniswapV3LiquidityPositionAddLiquidityArgs, UniswapV3LiquidityPositionActionId, uniswapV3LiquidityPositionCollectArgs, UniswapV3LiquidityPositionLib, uniswapV3LiquidityPositionMintArgs, uniswapV3LiquidityPositionPurgeArgs, uniswapV3LiquidityPositionRemoveLiquidityArgs, feeManagerConfigArgs, FeeSettlementType, FeeHook, IFee, aaveLendArgs, callOnIntegrationArgs, lendSelector, aaveRedeemArgs, redeemSelector, compoundArgs, curveTakeOrderArgs, takeOrderSelector, curveClaimRewardsArgs, claimRewardsSelector, curveLendArgs, curveLendAndStakeArgs, lendAndStakeSelector, curveRedeemArgs, curveStakeArgs, stakeSelector, curveUnstakeArgs, unstakeSelector, curveUnstakeAndRedeemArgs, unstakeAndRedeemSelector, curveAaveLendArgs, curveAaveLendAndStakeArgs, curveAaveRedeemArgs, curveAaveStakeArgs, curveAaveUnstakeAndRedeemArgs, curveAaveUnstakeArgs, curveEursLendArgs, curveEursLendAndStakeArgs, curveEursRedeemArgs, curveEursStakeArgs, curveEursUnstakeAndRedeemArgs, curveEursUnstakeArgs, curveSethLendArgs, curveSethLendAndStakeArgs, curveSethRedeemArgs, curveSethStakeArgs, curveSethUnstakeAndRedeemArgs, curveSethUnstakeArgs, curveStethLendArgs, curveStethLendAndStakeArgs, curveStethRedeemArgs, curveStethStakeArgs, curveStethUnstakeAndRedeemArgs, curveStethUnstakeArgs, idleClaimRewardsArgs, idleLendArgs, idleRedeemArgs, sighash, olympusV2StakeArgs, olympusV2UnstakeArgs, paraSwapV4TakeOrderArgs, paraSwapV5TakeOrderArgs, poolTogetherV4LendArgs, poolTogetherV4RedeemArgs, poolTogetherV4ClaimRewardsArgs, synthetixAssignExchangeDelegateSelector, synthetixRedeemArgs, synthetixTakeOrderArgs, uniswapV2LendArgs, uniswapV2RedeemArgs, uniswapV2TakeOrderArgs, uniswapV3TakeOrderArgs, yearnVaultV2LendArgs, yearnVaultV2RedeemArgs, zeroExV2TakeOrderArgs, policyManagerConfigArgs, PolicyHook, IPolicy, encodeFunctionData, ComptrollerProxy, VaultProxy, GasRelayPaymasterLib, addressListRegistryCreateListSelector, curveMinterMintSelector, curveMinterMintManySelector, curveMinterToggleApproveMintSelector, IGsnRelayHub, createSignedRelayRequest, isTypedDataSigner } from '@enzymefinance/protocol';
4
4
  import { utils, constants, BigNumber } from 'ethers';
5
5
  import { extractEvent, contract, resolveAddress, randomAddress } from '@enzymefinance/ethers';
6
6
  import _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';
@@ -121,6 +121,7 @@ function _deployProtocolFixture() {
121
121
  cumulativeSlippageTolerancePolicy: new CumulativeSlippageTolerancePolicy(fixture['CumulativeSlippageTolerancePolicy'].address, deployer),
122
122
  curveExchangeAdapter: new CurveExchangeAdapter(fixture['CurveExchangeAdapter'].address, deployer),
123
123
  curveLiquidityAaveAdapter: new CurveLiquidityAaveAdapter(fixture['CurveLiquidityAaveAdapter'].address, deployer),
124
+ curveLiquidityAdapter: new CurveLiquidityAdapter(fixture['CurveLiquidityAdapter'].address, deployer),
124
125
  curveLiquidityEursAdapter: new CurveLiquidityEursAdapter(fixture['CurveLiquidityEursAdapter'].address, deployer),
125
126
  curveLiquiditySethAdapter: new CurveLiquiditySethAdapter(fixture['CurveLiquiditySethAdapter'].address, deployer),
126
127
  curveLiquidityStethAdapter: new CurveLiquidityStethAdapter(fixture['CurveLiquidityStethAdapter'].address, deployer),
@@ -147,6 +148,7 @@ function _deployProtocolFixture() {
147
148
  managementFee: new ManagementFee(fixture['ManagementFee'].address, deployer),
148
149
  minAssetBalancesPostRedemptionPolicy: new MinAssetBalancesPostRedemptionPolicy(fixture['MinAssetBalancesPostRedemptionPolicy'].address, deployer),
149
150
  minMaxInvestmentPolicy: new MinMaxInvestmentPolicy(fixture['MinMaxInvestmentPolicy'].address, deployer),
151
+ olympusV2Adapter: new OlympusV2Adapter(fixture['OlympusV2Adapter'].address, deployer),
150
152
  onlyRemoveDustExternalPositionPolicy: new OnlyRemoveDustExternalPositionPolicy(fixture['OnlyRemoveDustExternalPositionPolicy'].address, deployer),
151
153
  onlyUntrackDustOrPricelessAssetsPolicy: new OnlyUntrackDustOrPricelessAssetsPolicy(fixture['OnlyUntrackDustOrPricelessAssetsPolicy'].address, deployer),
152
154
  paraSwapV4Adapter: new ParaSwapV4Adapter(fixture['ParaSwapV4Adapter'].address, deployer),
@@ -222,7 +224,7 @@ function _addNewAssetsToFund() {
222
224
  switch (_context.prev = _context.next) {
223
225
  case 0:
224
226
  signer = _ref.signer, comptrollerProxy = _ref.comptrollerProxy, integrationManager = _ref.integrationManager, assets = _ref.assets, _ref$amounts = _ref.amounts, amounts = _ref$amounts === void 0 ? new Array(assets.length).fill(1) : _ref$amounts;
225
- // First, add tracked assets while their balances are 0
227
+ // First, add tracked assets
226
228
  receipt = addTrackedAssetsToVault({
227
229
  assets: assets,
228
230
  comptrollerProxy: comptrollerProxy,
@@ -473,40 +475,50 @@ function _createFundDeployer() {
473
475
  case 54:
474
476
  _context.t11 = _context.sent;
475
477
  _context.next = 57;
476
- return vaultLib.getWethToken();
478
+ return vaultLib.getMlnBurner();
477
479
 
478
480
  case 57:
479
481
  _context.t12 = _context.sent;
480
482
  _context.next = 60;
481
- return _context.t5.deploy.call(_context.t5, _context.t6, _context.t7, _context.t8, _context.t9, _context.t10, _context.t11, _context.t12);
483
+ return vaultLib.getWethToken();
482
484
 
483
485
  case 60:
484
- nextVaultLib = _context.sent;
486
+ _context.t13 = _context.sent;
485
487
  _context.next = 63;
486
- return nextFundDeployer.setVaultLib(nextVaultLib);
488
+ return vaultLib.getPositionsLimit();
487
489
 
488
490
  case 63:
491
+ _context.t14 = _context.sent;
492
+ _context.next = 66;
493
+ return _context.t5.deploy.call(_context.t5, _context.t6, _context.t7, _context.t8, _context.t9, _context.t10, _context.t11, _context.t12, _context.t13, _context.t14);
494
+
495
+ case 66:
496
+ nextVaultLib = _context.sent;
497
+ _context.next = 69;
498
+ return nextFundDeployer.setVaultLib(nextVaultLib);
499
+
500
+ case 69:
489
501
  if (!setReleaseLive) {
490
- _context.next = 66;
502
+ _context.next = 72;
491
503
  break;
492
504
  }
493
505
 
494
- _context.next = 66;
506
+ _context.next = 72;
495
507
  return nextFundDeployer.setReleaseLive();
496
508
 
497
- case 66:
509
+ case 72:
498
510
  if (!setOnDispatcher) {
499
- _context.next = 69;
511
+ _context.next = 75;
500
512
  break;
501
513
  }
502
514
 
503
- _context.next = 69;
515
+ _context.next = 75;
504
516
  return dispatcher.setCurrentFundDeployer(nextFundDeployer);
505
517
 
506
- case 69:
518
+ case 75:
507
519
  return _context.abrupt("return", nextFundDeployer);
508
520
 
509
- case 70:
521
+ case 76:
510
522
  case "end":
511
523
  return _context.stop();
512
524
  }
@@ -1590,15 +1602,16 @@ function _compoundRedeem() {
1590
1602
  return _compoundRedeem.apply(this, arguments);
1591
1603
  }
1592
1604
 
1593
- var _templateObject$1, _templateObject2, _templateObject3;
1594
- var CurveLiquidityGaugeV2 = contract()(_templateObject$1 || (_templateObject$1 = _taggedTemplateLiteral(["\n function claim_rewards(address)\n function integrate_fraction(address) view returns (uint256)\n"]))); // prettier-ignore
1605
+ var _templateObject$1, _templateObject2, _templateObject3, _templateObject4;
1606
+ var CurveLiquidityGaugeV2 = contract()(_templateObject$1 || (_templateObject$1 = _taggedTemplateLiteral(["\n function claim_rewards(address)\n function integrate_fraction(address) view returns (uint256)\n"])));
1607
+ var CurveRegistry = contract()(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n function get_coins(address) view returns (address[8])\n function get_lp_token(address) view returns (address)\n"]))); // prettier-ignore
1595
1608
 
1596
- var CurveSwaps = contract()(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n function get_best_rate(address _from, address to, uint256 amount) view returns (address bestPool, uint256 amountReceived)\n"])));
1597
- var CurveMinter = contract()(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n function mint_for(address,address)\n"]))); // exchanges
1609
+ var CurveSwaps = contract()(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n function get_best_rate(address _from, address to, uint256 amount) view returns (address bestPool, uint256 amountReceived)\n"])));
1610
+ var CurveMinter = contract()(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n function mint_for(address,address)\n"]))); // exchanges
1598
1611
 
1599
1612
  function curveTakeOrder(_x) {
1600
1613
  return _curveTakeOrder.apply(this, arguments);
1601
- } // aave pool
1614
+ } // combined liquidity
1602
1615
 
1603
1616
  function _curveTakeOrder() {
1604
1617
  _curveTakeOrder = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {
@@ -1633,11 +1646,234 @@ function _curveTakeOrder() {
1633
1646
  return _curveTakeOrder.apply(this, arguments);
1634
1647
  }
1635
1648
 
1636
- function curveAaveClaimRewards(_ref2) {
1649
+ function curveClaimRewards(_ref2) {
1637
1650
  var comptrollerProxy = _ref2.comptrollerProxy,
1638
1651
  integrationManager = _ref2.integrationManager,
1639
1652
  fundOwner = _ref2.fundOwner,
1640
- curveLiquidityAaveAdapter = _ref2.curveLiquidityAaveAdapter;
1653
+ curveLiquidityAdapter = _ref2.curveLiquidityAdapter,
1654
+ gaugeToken = _ref2.gaugeToken;
1655
+ var callArgs = callOnIntegrationArgs({
1656
+ adapter: curveLiquidityAdapter,
1657
+ encodedCallArgs: curveClaimRewardsArgs({
1658
+ gaugeToken: gaugeToken
1659
+ }),
1660
+ selector: claimRewardsSelector
1661
+ });
1662
+ return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
1663
+ }
1664
+ function curveLend(_x2) {
1665
+ return _curveLend.apply(this, arguments);
1666
+ }
1667
+
1668
+ function _curveLend() {
1669
+ _curveLend = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(_ref3) {
1670
+ var comptrollerProxy, integrationManager, signer, curveLiquidityAdapter, pool, orderedOutgoingAssetAmounts, _ref3$minIncomingLpTo, minIncomingLpTokenAmount, useUnderlyings, callArgs;
1671
+
1672
+ return _regeneratorRuntime.wrap(function _callee2$(_context2) {
1673
+ while (1) {
1674
+ switch (_context2.prev = _context2.next) {
1675
+ case 0:
1676
+ comptrollerProxy = _ref3.comptrollerProxy, integrationManager = _ref3.integrationManager, signer = _ref3.signer, curveLiquidityAdapter = _ref3.curveLiquidityAdapter, pool = _ref3.pool, orderedOutgoingAssetAmounts = _ref3.orderedOutgoingAssetAmounts, _ref3$minIncomingLpTo = _ref3.minIncomingLpTokenAmount, minIncomingLpTokenAmount = _ref3$minIncomingLpTo === void 0 ? BigNumber.from(1) : _ref3$minIncomingLpTo, useUnderlyings = _ref3.useUnderlyings;
1677
+ callArgs = callOnIntegrationArgs({
1678
+ adapter: curveLiquidityAdapter,
1679
+ encodedCallArgs: curveLendArgs({
1680
+ minIncomingLpTokenAmount: minIncomingLpTokenAmount,
1681
+ orderedOutgoingAssetAmounts: orderedOutgoingAssetAmounts,
1682
+ pool: pool,
1683
+ useUnderlyings: useUnderlyings
1684
+ }),
1685
+ selector: lendSelector
1686
+ });
1687
+ return _context2.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs));
1688
+
1689
+ case 3:
1690
+ case "end":
1691
+ return _context2.stop();
1692
+ }
1693
+ }
1694
+ }, _callee2);
1695
+ }));
1696
+ return _curveLend.apply(this, arguments);
1697
+ }
1698
+
1699
+ function curveLendAndStake(_x3) {
1700
+ return _curveLendAndStake.apply(this, arguments);
1701
+ }
1702
+
1703
+ function _curveLendAndStake() {
1704
+ _curveLendAndStake = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(_ref4) {
1705
+ var comptrollerProxy, integrationManager, signer, curveLiquidityAdapter, pool, orderedOutgoingAssetAmounts, incomingGaugeToken, _ref4$minIncomingGaug, minIncomingGaugeTokenAmount, useUnderlyings, callArgs;
1706
+
1707
+ return _regeneratorRuntime.wrap(function _callee3$(_context3) {
1708
+ while (1) {
1709
+ switch (_context3.prev = _context3.next) {
1710
+ case 0:
1711
+ comptrollerProxy = _ref4.comptrollerProxy, integrationManager = _ref4.integrationManager, signer = _ref4.signer, curveLiquidityAdapter = _ref4.curveLiquidityAdapter, pool = _ref4.pool, orderedOutgoingAssetAmounts = _ref4.orderedOutgoingAssetAmounts, incomingGaugeToken = _ref4.incomingGaugeToken, _ref4$minIncomingGaug = _ref4.minIncomingGaugeTokenAmount, minIncomingGaugeTokenAmount = _ref4$minIncomingGaug === void 0 ? BigNumber.from(1) : _ref4$minIncomingGaug, useUnderlyings = _ref4.useUnderlyings;
1712
+ callArgs = callOnIntegrationArgs({
1713
+ adapter: curveLiquidityAdapter,
1714
+ encodedCallArgs: curveLendAndStakeArgs({
1715
+ incomingGaugeToken: incomingGaugeToken,
1716
+ minIncomingGaugeTokenAmount: minIncomingGaugeTokenAmount,
1717
+ orderedOutgoingAssetAmounts: orderedOutgoingAssetAmounts,
1718
+ pool: pool,
1719
+ useUnderlyings: useUnderlyings
1720
+ }),
1721
+ selector: lendAndStakeSelector
1722
+ });
1723
+ return _context3.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs));
1724
+
1725
+ case 3:
1726
+ case "end":
1727
+ return _context3.stop();
1728
+ }
1729
+ }
1730
+ }, _callee3);
1731
+ }));
1732
+ return _curveLendAndStake.apply(this, arguments);
1733
+ }
1734
+
1735
+ function curveRedeem(_x4) {
1736
+ return _curveRedeem.apply(this, arguments);
1737
+ }
1738
+
1739
+ function _curveRedeem() {
1740
+ _curveRedeem = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(_ref5) {
1741
+ var comptrollerProxy, integrationManager, signer, curveLiquidityAdapter, pool, outgoingLpTokenAmount, useUnderlyings, redeemType, incomingAssetData, callArgs;
1742
+ return _regeneratorRuntime.wrap(function _callee4$(_context4) {
1743
+ while (1) {
1744
+ switch (_context4.prev = _context4.next) {
1745
+ case 0:
1746
+ comptrollerProxy = _ref5.comptrollerProxy, integrationManager = _ref5.integrationManager, signer = _ref5.signer, curveLiquidityAdapter = _ref5.curveLiquidityAdapter, pool = _ref5.pool, outgoingLpTokenAmount = _ref5.outgoingLpTokenAmount, useUnderlyings = _ref5.useUnderlyings, redeemType = _ref5.redeemType, incomingAssetData = _ref5.incomingAssetData;
1747
+ callArgs = callOnIntegrationArgs({
1748
+ adapter: curveLiquidityAdapter,
1749
+ encodedCallArgs: curveRedeemArgs({
1750
+ incomingAssetData: incomingAssetData,
1751
+ outgoingLpTokenAmount: outgoingLpTokenAmount,
1752
+ pool: pool,
1753
+ redeemType: redeemType,
1754
+ useUnderlyings: useUnderlyings
1755
+ }),
1756
+ selector: redeemSelector
1757
+ });
1758
+ return _context4.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs));
1759
+
1760
+ case 3:
1761
+ case "end":
1762
+ return _context4.stop();
1763
+ }
1764
+ }
1765
+ }, _callee4);
1766
+ }));
1767
+ return _curveRedeem.apply(this, arguments);
1768
+ }
1769
+
1770
+ function curveStake(_x5) {
1771
+ return _curveStake.apply(this, arguments);
1772
+ }
1773
+
1774
+ function _curveStake() {
1775
+ _curveStake = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5(_ref6) {
1776
+ var comptrollerProxy, integrationManager, signer, curveLiquidityAdapter, pool, incomingGaugeToken, amount, callArgs;
1777
+ return _regeneratorRuntime.wrap(function _callee5$(_context5) {
1778
+ while (1) {
1779
+ switch (_context5.prev = _context5.next) {
1780
+ case 0:
1781
+ comptrollerProxy = _ref6.comptrollerProxy, integrationManager = _ref6.integrationManager, signer = _ref6.signer, curveLiquidityAdapter = _ref6.curveLiquidityAdapter, pool = _ref6.pool, incomingGaugeToken = _ref6.incomingGaugeToken, amount = _ref6.amount;
1782
+ callArgs = callOnIntegrationArgs({
1783
+ adapter: curveLiquidityAdapter,
1784
+ encodedCallArgs: curveStakeArgs({
1785
+ amount: amount,
1786
+ incomingGaugeToken: incomingGaugeToken,
1787
+ pool: pool
1788
+ }),
1789
+ selector: stakeSelector
1790
+ });
1791
+ return _context5.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs));
1792
+
1793
+ case 3:
1794
+ case "end":
1795
+ return _context5.stop();
1796
+ }
1797
+ }
1798
+ }, _callee5);
1799
+ }));
1800
+ return _curveStake.apply(this, arguments);
1801
+ }
1802
+
1803
+ function curveUnstake(_x6) {
1804
+ return _curveUnstake.apply(this, arguments);
1805
+ }
1806
+
1807
+ function _curveUnstake() {
1808
+ _curveUnstake = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee6(_ref7) {
1809
+ var comptrollerProxy, integrationManager, signer, curveLiquidityAdapter, pool, outgoingGaugeToken, amount, callArgs;
1810
+ return _regeneratorRuntime.wrap(function _callee6$(_context6) {
1811
+ while (1) {
1812
+ switch (_context6.prev = _context6.next) {
1813
+ case 0:
1814
+ comptrollerProxy = _ref7.comptrollerProxy, integrationManager = _ref7.integrationManager, signer = _ref7.signer, curveLiquidityAdapter = _ref7.curveLiquidityAdapter, pool = _ref7.pool, outgoingGaugeToken = _ref7.outgoingGaugeToken, amount = _ref7.amount;
1815
+ callArgs = callOnIntegrationArgs({
1816
+ adapter: curveLiquidityAdapter,
1817
+ encodedCallArgs: curveUnstakeArgs({
1818
+ amount: amount,
1819
+ outgoingGaugeToken: outgoingGaugeToken,
1820
+ pool: pool
1821
+ }),
1822
+ selector: unstakeSelector
1823
+ });
1824
+ return _context6.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs));
1825
+
1826
+ case 3:
1827
+ case "end":
1828
+ return _context6.stop();
1829
+ }
1830
+ }
1831
+ }, _callee6);
1832
+ }));
1833
+ return _curveUnstake.apply(this, arguments);
1834
+ }
1835
+
1836
+ function curveUnstakeAndRedeem(_x7) {
1837
+ return _curveUnstakeAndRedeem.apply(this, arguments);
1838
+ } // aave pool
1839
+
1840
+ function _curveUnstakeAndRedeem() {
1841
+ _curveUnstakeAndRedeem = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee7(_ref8) {
1842
+ var comptrollerProxy, integrationManager, signer, curveLiquidityAdapter, pool, outgoingGaugeToken, outgoingGaugeTokenAmount, useUnderlyings, redeemType, incomingAssetData, callArgs;
1843
+ return _regeneratorRuntime.wrap(function _callee7$(_context7) {
1844
+ while (1) {
1845
+ switch (_context7.prev = _context7.next) {
1846
+ case 0:
1847
+ comptrollerProxy = _ref8.comptrollerProxy, integrationManager = _ref8.integrationManager, signer = _ref8.signer, curveLiquidityAdapter = _ref8.curveLiquidityAdapter, pool = _ref8.pool, outgoingGaugeToken = _ref8.outgoingGaugeToken, outgoingGaugeTokenAmount = _ref8.outgoingGaugeTokenAmount, useUnderlyings = _ref8.useUnderlyings, redeemType = _ref8.redeemType, incomingAssetData = _ref8.incomingAssetData;
1848
+ callArgs = callOnIntegrationArgs({
1849
+ adapter: curveLiquidityAdapter,
1850
+ encodedCallArgs: curveUnstakeAndRedeemArgs({
1851
+ incomingAssetData: incomingAssetData,
1852
+ outgoingGaugeToken: outgoingGaugeToken,
1853
+ outgoingGaugeTokenAmount: outgoingGaugeTokenAmount,
1854
+ pool: pool,
1855
+ redeemType: redeemType,
1856
+ useUnderlyings: useUnderlyings
1857
+ }),
1858
+ selector: unstakeAndRedeemSelector
1859
+ });
1860
+ return _context7.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs));
1861
+
1862
+ case 3:
1863
+ case "end":
1864
+ return _context7.stop();
1865
+ }
1866
+ }
1867
+ }, _callee7);
1868
+ }));
1869
+ return _curveUnstakeAndRedeem.apply(this, arguments);
1870
+ }
1871
+
1872
+ function curveAaveClaimRewards(_ref9) {
1873
+ var comptrollerProxy = _ref9.comptrollerProxy,
1874
+ integrationManager = _ref9.integrationManager,
1875
+ fundOwner = _ref9.fundOwner,
1876
+ curveLiquidityAaveAdapter = _ref9.curveLiquidityAaveAdapter;
1641
1877
  var callArgs = callOnIntegrationArgs({
1642
1878
  adapter: curveLiquidityAaveAdapter,
1643
1879
  encodedCallArgs: constants.HashZero,
@@ -1645,21 +1881,21 @@ function curveAaveClaimRewards(_ref2) {
1645
1881
  });
1646
1882
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
1647
1883
  }
1648
- function curveAaveLend(_ref3) {
1649
- var comptrollerProxy = _ref3.comptrollerProxy,
1650
- integrationManager = _ref3.integrationManager,
1651
- fundOwner = _ref3.fundOwner,
1652
- curveLiquidityAaveAdapter = _ref3.curveLiquidityAaveAdapter,
1653
- _ref3$outgoingAaveDai = _ref3.outgoingAaveDaiAmount,
1654
- outgoingAaveDaiAmount = _ref3$outgoingAaveDai === void 0 ? BigNumber.from(0) : _ref3$outgoingAaveDai,
1655
- _ref3$outgoingAaveUsd = _ref3.outgoingAaveUsdcAmount,
1656
- outgoingAaveUsdcAmount = _ref3$outgoingAaveUsd === void 0 ? BigNumber.from(0) : _ref3$outgoingAaveUsd,
1657
- _ref3$outgoingAaveUsd2 = _ref3.outgoingAaveUsdtAmount,
1658
- outgoingAaveUsdtAmount = _ref3$outgoingAaveUsd2 === void 0 ? BigNumber.from(0) : _ref3$outgoingAaveUsd2,
1659
- _ref3$minIncomingLPTo = _ref3.minIncomingLPTokenAmount,
1660
- minIncomingLPTokenAmount = _ref3$minIncomingLPTo === void 0 ? BigNumber.from(1) : _ref3$minIncomingLPTo,
1661
- _ref3$useUnderlyings = _ref3.useUnderlyings,
1662
- useUnderlyings = _ref3$useUnderlyings === void 0 ? false : _ref3$useUnderlyings;
1884
+ function curveAaveLend(_ref10) {
1885
+ var comptrollerProxy = _ref10.comptrollerProxy,
1886
+ integrationManager = _ref10.integrationManager,
1887
+ fundOwner = _ref10.fundOwner,
1888
+ curveLiquidityAaveAdapter = _ref10.curveLiquidityAaveAdapter,
1889
+ _ref10$outgoingAaveDa = _ref10.outgoingAaveDaiAmount,
1890
+ outgoingAaveDaiAmount = _ref10$outgoingAaveDa === void 0 ? BigNumber.from(0) : _ref10$outgoingAaveDa,
1891
+ _ref10$outgoingAaveUs = _ref10.outgoingAaveUsdcAmount,
1892
+ outgoingAaveUsdcAmount = _ref10$outgoingAaveUs === void 0 ? BigNumber.from(0) : _ref10$outgoingAaveUs,
1893
+ _ref10$outgoingAaveUs2 = _ref10.outgoingAaveUsdtAmount,
1894
+ outgoingAaveUsdtAmount = _ref10$outgoingAaveUs2 === void 0 ? BigNumber.from(0) : _ref10$outgoingAaveUs2,
1895
+ _ref10$minIncomingLPT = _ref10.minIncomingLPTokenAmount,
1896
+ minIncomingLPTokenAmount = _ref10$minIncomingLPT === void 0 ? BigNumber.from(1) : _ref10$minIncomingLPT,
1897
+ _ref10$useUnderlyings = _ref10.useUnderlyings,
1898
+ useUnderlyings = _ref10$useUnderlyings === void 0 ? false : _ref10$useUnderlyings;
1663
1899
  var callArgs = callOnIntegrationArgs({
1664
1900
  adapter: curveLiquidityAaveAdapter,
1665
1901
  encodedCallArgs: curveAaveLendArgs({
@@ -1673,21 +1909,21 @@ function curveAaveLend(_ref3) {
1673
1909
  });
1674
1910
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
1675
1911
  }
1676
- function curveAaveLendAndStake(_ref4) {
1677
- var comptrollerProxy = _ref4.comptrollerProxy,
1678
- integrationManager = _ref4.integrationManager,
1679
- fundOwner = _ref4.fundOwner,
1680
- curveLiquidityAaveAdapter = _ref4.curveLiquidityAaveAdapter,
1681
- _ref4$outgoingAaveDai = _ref4.outgoingAaveDaiAmount,
1682
- outgoingAaveDaiAmount = _ref4$outgoingAaveDai === void 0 ? BigNumber.from(0) : _ref4$outgoingAaveDai,
1683
- _ref4$outgoingAaveUsd = _ref4.outgoingAaveUsdcAmount,
1684
- outgoingAaveUsdcAmount = _ref4$outgoingAaveUsd === void 0 ? BigNumber.from(0) : _ref4$outgoingAaveUsd,
1685
- _ref4$outgoingAaveUsd2 = _ref4.outgoingAaveUsdtAmount,
1686
- outgoingAaveUsdtAmount = _ref4$outgoingAaveUsd2 === void 0 ? BigNumber.from(0) : _ref4$outgoingAaveUsd2,
1687
- _ref4$minIncomingLiqu = _ref4.minIncomingLiquidityGaugeTokenAmount,
1688
- minIncomingLiquidityGaugeTokenAmount = _ref4$minIncomingLiqu === void 0 ? BigNumber.from(1) : _ref4$minIncomingLiqu,
1689
- _ref4$useUnderlyings = _ref4.useUnderlyings,
1690
- useUnderlyings = _ref4$useUnderlyings === void 0 ? false : _ref4$useUnderlyings;
1912
+ function curveAaveLendAndStake(_ref11) {
1913
+ var comptrollerProxy = _ref11.comptrollerProxy,
1914
+ integrationManager = _ref11.integrationManager,
1915
+ fundOwner = _ref11.fundOwner,
1916
+ curveLiquidityAaveAdapter = _ref11.curveLiquidityAaveAdapter,
1917
+ _ref11$outgoingAaveDa = _ref11.outgoingAaveDaiAmount,
1918
+ outgoingAaveDaiAmount = _ref11$outgoingAaveDa === void 0 ? BigNumber.from(0) : _ref11$outgoingAaveDa,
1919
+ _ref11$outgoingAaveUs = _ref11.outgoingAaveUsdcAmount,
1920
+ outgoingAaveUsdcAmount = _ref11$outgoingAaveUs === void 0 ? BigNumber.from(0) : _ref11$outgoingAaveUs,
1921
+ _ref11$outgoingAaveUs2 = _ref11.outgoingAaveUsdtAmount,
1922
+ outgoingAaveUsdtAmount = _ref11$outgoingAaveUs2 === void 0 ? BigNumber.from(0) : _ref11$outgoingAaveUs2,
1923
+ _ref11$minIncomingLiq = _ref11.minIncomingLiquidityGaugeTokenAmount,
1924
+ minIncomingLiquidityGaugeTokenAmount = _ref11$minIncomingLiq === void 0 ? BigNumber.from(1) : _ref11$minIncomingLiq,
1925
+ _ref11$useUnderlyings = _ref11.useUnderlyings,
1926
+ useUnderlyings = _ref11$useUnderlyings === void 0 ? false : _ref11$useUnderlyings;
1691
1927
  var callArgs = callOnIntegrationArgs({
1692
1928
  adapter: curveLiquidityAaveAdapter,
1693
1929
  encodedCallArgs: curveAaveLendAndStakeArgs({
@@ -1701,22 +1937,22 @@ function curveAaveLendAndStake(_ref4) {
1701
1937
  });
1702
1938
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
1703
1939
  }
1704
- function curveAaveRedeem(_ref5) {
1705
- var comptrollerProxy = _ref5.comptrollerProxy,
1706
- integrationManager = _ref5.integrationManager,
1707
- fundOwner = _ref5.fundOwner,
1708
- curveLiquidityAaveAdapter = _ref5.curveLiquidityAaveAdapter,
1709
- outgoingLPTokenAmount = _ref5.outgoingLPTokenAmount,
1710
- _ref5$minIncomingAave = _ref5.minIncomingAaveDaiAmount,
1711
- minIncomingAaveDaiAmount = _ref5$minIncomingAave === void 0 ? BigNumber.from(1) : _ref5$minIncomingAave,
1712
- _ref5$minIncomingAave2 = _ref5.minIncomingAaveUsdcAmount,
1713
- minIncomingAaveUsdcAmount = _ref5$minIncomingAave2 === void 0 ? BigNumber.from(1) : _ref5$minIncomingAave2,
1714
- _ref5$minIncomingAave3 = _ref5.minIncomingAaveUsdtAmount,
1715
- minIncomingAaveUsdtAmount = _ref5$minIncomingAave3 === void 0 ? BigNumber.from(1) : _ref5$minIncomingAave3,
1716
- _ref5$receiveSingleAs = _ref5.receiveSingleAsset,
1717
- receiveSingleAsset = _ref5$receiveSingleAs === void 0 ? false : _ref5$receiveSingleAs,
1718
- _ref5$useUnderlyings = _ref5.useUnderlyings,
1719
- useUnderlyings = _ref5$useUnderlyings === void 0 ? false : _ref5$useUnderlyings;
1940
+ function curveAaveRedeem(_ref12) {
1941
+ var comptrollerProxy = _ref12.comptrollerProxy,
1942
+ integrationManager = _ref12.integrationManager,
1943
+ fundOwner = _ref12.fundOwner,
1944
+ curveLiquidityAaveAdapter = _ref12.curveLiquidityAaveAdapter,
1945
+ outgoingLPTokenAmount = _ref12.outgoingLPTokenAmount,
1946
+ _ref12$minIncomingAav = _ref12.minIncomingAaveDaiAmount,
1947
+ minIncomingAaveDaiAmount = _ref12$minIncomingAav === void 0 ? BigNumber.from(1) : _ref12$minIncomingAav,
1948
+ _ref12$minIncomingAav2 = _ref12.minIncomingAaveUsdcAmount,
1949
+ minIncomingAaveUsdcAmount = _ref12$minIncomingAav2 === void 0 ? BigNumber.from(1) : _ref12$minIncomingAav2,
1950
+ _ref12$minIncomingAav3 = _ref12.minIncomingAaveUsdtAmount,
1951
+ minIncomingAaveUsdtAmount = _ref12$minIncomingAav3 === void 0 ? BigNumber.from(1) : _ref12$minIncomingAav3,
1952
+ _ref12$receiveSingleA = _ref12.receiveSingleAsset,
1953
+ receiveSingleAsset = _ref12$receiveSingleA === void 0 ? false : _ref12$receiveSingleA,
1954
+ _ref12$useUnderlyings = _ref12.useUnderlyings,
1955
+ useUnderlyings = _ref12$useUnderlyings === void 0 ? false : _ref12$useUnderlyings;
1720
1956
  var callArgs = callOnIntegrationArgs({
1721
1957
  adapter: curveLiquidityAaveAdapter,
1722
1958
  encodedCallArgs: curveAaveRedeemArgs({
@@ -1731,12 +1967,12 @@ function curveAaveRedeem(_ref5) {
1731
1967
  });
1732
1968
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
1733
1969
  }
1734
- function curveAaveStake(_ref6) {
1735
- var comptrollerProxy = _ref6.comptrollerProxy,
1736
- integrationManager = _ref6.integrationManager,
1737
- fundOwner = _ref6.fundOwner,
1738
- curveLiquidityAaveAdapter = _ref6.curveLiquidityAaveAdapter,
1739
- outgoingLPTokenAmount = _ref6.outgoingLPTokenAmount;
1970
+ function curveAaveStake(_ref13) {
1971
+ var comptrollerProxy = _ref13.comptrollerProxy,
1972
+ integrationManager = _ref13.integrationManager,
1973
+ fundOwner = _ref13.fundOwner,
1974
+ curveLiquidityAaveAdapter = _ref13.curveLiquidityAaveAdapter,
1975
+ outgoingLPTokenAmount = _ref13.outgoingLPTokenAmount;
1740
1976
  var callArgs = callOnIntegrationArgs({
1741
1977
  adapter: curveLiquidityAaveAdapter,
1742
1978
  encodedCallArgs: curveAaveStakeArgs({
@@ -1746,22 +1982,22 @@ function curveAaveStake(_ref6) {
1746
1982
  });
1747
1983
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
1748
1984
  }
1749
- function curveAaveUnstakeAndRedeem(_ref7) {
1750
- var comptrollerProxy = _ref7.comptrollerProxy,
1751
- integrationManager = _ref7.integrationManager,
1752
- fundOwner = _ref7.fundOwner,
1753
- curveLiquidityAaveAdapter = _ref7.curveLiquidityAaveAdapter,
1754
- outgoingLiquidityGaugeTokenAmount = _ref7.outgoingLiquidityGaugeTokenAmount,
1755
- _ref7$minIncomingAave = _ref7.minIncomingAaveDaiAmount,
1756
- minIncomingAaveDaiAmount = _ref7$minIncomingAave === void 0 ? BigNumber.from(1) : _ref7$minIncomingAave,
1757
- _ref7$minIncomingAave2 = _ref7.minIncomingAaveUsdcAmount,
1758
- minIncomingAaveUsdcAmount = _ref7$minIncomingAave2 === void 0 ? BigNumber.from(1) : _ref7$minIncomingAave2,
1759
- _ref7$minIncomingAave3 = _ref7.minIncomingAaveUsdtAmount,
1760
- minIncomingAaveUsdtAmount = _ref7$minIncomingAave3 === void 0 ? BigNumber.from(1) : _ref7$minIncomingAave3,
1761
- _ref7$receiveSingleAs = _ref7.receiveSingleAsset,
1762
- receiveSingleAsset = _ref7$receiveSingleAs === void 0 ? false : _ref7$receiveSingleAs,
1763
- _ref7$useUnderlyings = _ref7.useUnderlyings,
1764
- useUnderlyings = _ref7$useUnderlyings === void 0 ? false : _ref7$useUnderlyings;
1985
+ function curveAaveUnstakeAndRedeem(_ref14) {
1986
+ var comptrollerProxy = _ref14.comptrollerProxy,
1987
+ integrationManager = _ref14.integrationManager,
1988
+ fundOwner = _ref14.fundOwner,
1989
+ curveLiquidityAaveAdapter = _ref14.curveLiquidityAaveAdapter,
1990
+ outgoingLiquidityGaugeTokenAmount = _ref14.outgoingLiquidityGaugeTokenAmount,
1991
+ _ref14$minIncomingAav = _ref14.minIncomingAaveDaiAmount,
1992
+ minIncomingAaveDaiAmount = _ref14$minIncomingAav === void 0 ? BigNumber.from(1) : _ref14$minIncomingAav,
1993
+ _ref14$minIncomingAav2 = _ref14.minIncomingAaveUsdcAmount,
1994
+ minIncomingAaveUsdcAmount = _ref14$minIncomingAav2 === void 0 ? BigNumber.from(1) : _ref14$minIncomingAav2,
1995
+ _ref14$minIncomingAav3 = _ref14.minIncomingAaveUsdtAmount,
1996
+ minIncomingAaveUsdtAmount = _ref14$minIncomingAav3 === void 0 ? BigNumber.from(1) : _ref14$minIncomingAav3,
1997
+ _ref14$receiveSingleA = _ref14.receiveSingleAsset,
1998
+ receiveSingleAsset = _ref14$receiveSingleA === void 0 ? false : _ref14$receiveSingleA,
1999
+ _ref14$useUnderlyings = _ref14.useUnderlyings,
2000
+ useUnderlyings = _ref14$useUnderlyings === void 0 ? false : _ref14$useUnderlyings;
1765
2001
  var callArgs = callOnIntegrationArgs({
1766
2002
  adapter: curveLiquidityAaveAdapter,
1767
2003
  encodedCallArgs: curveAaveUnstakeAndRedeemArgs({
@@ -1776,12 +2012,12 @@ function curveAaveUnstakeAndRedeem(_ref7) {
1776
2012
  });
1777
2013
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
1778
2014
  }
1779
- function curveAaveUnstake(_ref8) {
1780
- var comptrollerProxy = _ref8.comptrollerProxy,
1781
- integrationManager = _ref8.integrationManager,
1782
- fundOwner = _ref8.fundOwner,
1783
- curveLiquidityAaveAdapter = _ref8.curveLiquidityAaveAdapter,
1784
- outgoingLiquidityGaugeTokenAmount = _ref8.outgoingLiquidityGaugeTokenAmount;
2015
+ function curveAaveUnstake(_ref15) {
2016
+ var comptrollerProxy = _ref15.comptrollerProxy,
2017
+ integrationManager = _ref15.integrationManager,
2018
+ fundOwner = _ref15.fundOwner,
2019
+ curveLiquidityAaveAdapter = _ref15.curveLiquidityAaveAdapter,
2020
+ outgoingLiquidityGaugeTokenAmount = _ref15.outgoingLiquidityGaugeTokenAmount;
1785
2021
  var callArgs = callOnIntegrationArgs({
1786
2022
  adapter: curveLiquidityAaveAdapter,
1787
2023
  encodedCallArgs: curveAaveUnstakeArgs({
@@ -1792,11 +2028,11 @@ function curveAaveUnstake(_ref8) {
1792
2028
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
1793
2029
  } // eurs pool
1794
2030
 
1795
- function curveEursClaimRewards(_ref9) {
1796
- var comptrollerProxy = _ref9.comptrollerProxy,
1797
- integrationManager = _ref9.integrationManager,
1798
- fundOwner = _ref9.fundOwner,
1799
- curveLiquidityEursAdapter = _ref9.curveLiquidityEursAdapter;
2031
+ function curveEursClaimRewards(_ref16) {
2032
+ var comptrollerProxy = _ref16.comptrollerProxy,
2033
+ integrationManager = _ref16.integrationManager,
2034
+ fundOwner = _ref16.fundOwner,
2035
+ curveLiquidityEursAdapter = _ref16.curveLiquidityEursAdapter;
1800
2036
  var callArgs = callOnIntegrationArgs({
1801
2037
  adapter: curveLiquidityEursAdapter,
1802
2038
  encodedCallArgs: constants.HashZero,
@@ -1804,14 +2040,14 @@ function curveEursClaimRewards(_ref9) {
1804
2040
  });
1805
2041
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
1806
2042
  }
1807
- function curveEursLend(_ref10) {
1808
- var comptrollerProxy = _ref10.comptrollerProxy,
1809
- integrationManager = _ref10.integrationManager,
1810
- fundOwner = _ref10.fundOwner,
1811
- curveLiquidityEursAdapter = _ref10.curveLiquidityEursAdapter,
1812
- outgoingEursAmount = _ref10.outgoingEursAmount,
1813
- outgoingSeurAmount = _ref10.outgoingSeurAmount,
1814
- minIncomingLPTokenAmount = _ref10.minIncomingLPTokenAmount;
2043
+ function curveEursLend(_ref17) {
2044
+ var comptrollerProxy = _ref17.comptrollerProxy,
2045
+ integrationManager = _ref17.integrationManager,
2046
+ fundOwner = _ref17.fundOwner,
2047
+ curveLiquidityEursAdapter = _ref17.curveLiquidityEursAdapter,
2048
+ outgoingEursAmount = _ref17.outgoingEursAmount,
2049
+ outgoingSeurAmount = _ref17.outgoingSeurAmount,
2050
+ minIncomingLPTokenAmount = _ref17.minIncomingLPTokenAmount;
1815
2051
  var callArgs = callOnIntegrationArgs({
1816
2052
  adapter: curveLiquidityEursAdapter,
1817
2053
  encodedCallArgs: curveEursLendArgs({
@@ -1823,14 +2059,14 @@ function curveEursLend(_ref10) {
1823
2059
  });
1824
2060
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
1825
2061
  }
1826
- function curveEursLendAndStake(_ref11) {
1827
- var comptrollerProxy = _ref11.comptrollerProxy,
1828
- integrationManager = _ref11.integrationManager,
1829
- fundOwner = _ref11.fundOwner,
1830
- curveLiquidityEursAdapter = _ref11.curveLiquidityEursAdapter,
1831
- outgoingEursAmount = _ref11.outgoingEursAmount,
1832
- outgoingSeurAmount = _ref11.outgoingSeurAmount,
1833
- minIncomingLiquidityGaugeTokenAmount = _ref11.minIncomingLiquidityGaugeTokenAmount;
2062
+ function curveEursLendAndStake(_ref18) {
2063
+ var comptrollerProxy = _ref18.comptrollerProxy,
2064
+ integrationManager = _ref18.integrationManager,
2065
+ fundOwner = _ref18.fundOwner,
2066
+ curveLiquidityEursAdapter = _ref18.curveLiquidityEursAdapter,
2067
+ outgoingEursAmount = _ref18.outgoingEursAmount,
2068
+ outgoingSeurAmount = _ref18.outgoingSeurAmount,
2069
+ minIncomingLiquidityGaugeTokenAmount = _ref18.minIncomingLiquidityGaugeTokenAmount;
1834
2070
  var callArgs = callOnIntegrationArgs({
1835
2071
  adapter: curveLiquidityEursAdapter,
1836
2072
  encodedCallArgs: curveEursLendAndStakeArgs({
@@ -1842,15 +2078,15 @@ function curveEursLendAndStake(_ref11) {
1842
2078
  });
1843
2079
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
1844
2080
  }
1845
- function curveEursRedeem(_ref12) {
1846
- var comptrollerProxy = _ref12.comptrollerProxy,
1847
- integrationManager = _ref12.integrationManager,
1848
- fundOwner = _ref12.fundOwner,
1849
- curveLiquidityEursAdapter = _ref12.curveLiquidityEursAdapter,
1850
- outgoingLPTokenAmount = _ref12.outgoingLPTokenAmount,
1851
- minIncomingEursAmount = _ref12.minIncomingEursAmount,
1852
- minIncomingSeurAmount = _ref12.minIncomingSeurAmount,
1853
- receiveSingleAsset = _ref12.receiveSingleAsset;
2081
+ function curveEursRedeem(_ref19) {
2082
+ var comptrollerProxy = _ref19.comptrollerProxy,
2083
+ integrationManager = _ref19.integrationManager,
2084
+ fundOwner = _ref19.fundOwner,
2085
+ curveLiquidityEursAdapter = _ref19.curveLiquidityEursAdapter,
2086
+ outgoingLPTokenAmount = _ref19.outgoingLPTokenAmount,
2087
+ minIncomingEursAmount = _ref19.minIncomingEursAmount,
2088
+ minIncomingSeurAmount = _ref19.minIncomingSeurAmount,
2089
+ receiveSingleAsset = _ref19.receiveSingleAsset;
1854
2090
  var callArgs = callOnIntegrationArgs({
1855
2091
  adapter: curveLiquidityEursAdapter,
1856
2092
  encodedCallArgs: curveEursRedeemArgs({
@@ -1863,12 +2099,12 @@ function curveEursRedeem(_ref12) {
1863
2099
  });
1864
2100
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
1865
2101
  }
1866
- function curveEursStake(_ref13) {
1867
- var comptrollerProxy = _ref13.comptrollerProxy,
1868
- integrationManager = _ref13.integrationManager,
1869
- fundOwner = _ref13.fundOwner,
1870
- curveLiquidityEursAdapter = _ref13.curveLiquidityEursAdapter,
1871
- outgoingLPTokenAmount = _ref13.outgoingLPTokenAmount;
2102
+ function curveEursStake(_ref20) {
2103
+ var comptrollerProxy = _ref20.comptrollerProxy,
2104
+ integrationManager = _ref20.integrationManager,
2105
+ fundOwner = _ref20.fundOwner,
2106
+ curveLiquidityEursAdapter = _ref20.curveLiquidityEursAdapter,
2107
+ outgoingLPTokenAmount = _ref20.outgoingLPTokenAmount;
1872
2108
  var callArgs = callOnIntegrationArgs({
1873
2109
  adapter: curveLiquidityEursAdapter,
1874
2110
  encodedCallArgs: curveEursStakeArgs({
@@ -1878,15 +2114,15 @@ function curveEursStake(_ref13) {
1878
2114
  });
1879
2115
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
1880
2116
  }
1881
- function curveEursUnstakeAndRedeem(_ref14) {
1882
- var comptrollerProxy = _ref14.comptrollerProxy,
1883
- integrationManager = _ref14.integrationManager,
1884
- fundOwner = _ref14.fundOwner,
1885
- curveLiquidityEursAdapter = _ref14.curveLiquidityEursAdapter,
1886
- outgoingLiquidityGaugeTokenAmount = _ref14.outgoingLiquidityGaugeTokenAmount,
1887
- minIncomingEursAmount = _ref14.minIncomingEursAmount,
1888
- minIncomingSeurAmount = _ref14.minIncomingSeurAmount,
1889
- receiveSingleAsset = _ref14.receiveSingleAsset;
2117
+ function curveEursUnstakeAndRedeem(_ref21) {
2118
+ var comptrollerProxy = _ref21.comptrollerProxy,
2119
+ integrationManager = _ref21.integrationManager,
2120
+ fundOwner = _ref21.fundOwner,
2121
+ curveLiquidityEursAdapter = _ref21.curveLiquidityEursAdapter,
2122
+ outgoingLiquidityGaugeTokenAmount = _ref21.outgoingLiquidityGaugeTokenAmount,
2123
+ minIncomingEursAmount = _ref21.minIncomingEursAmount,
2124
+ minIncomingSeurAmount = _ref21.minIncomingSeurAmount,
2125
+ receiveSingleAsset = _ref21.receiveSingleAsset;
1890
2126
  var callArgs = callOnIntegrationArgs({
1891
2127
  adapter: curveLiquidityEursAdapter,
1892
2128
  encodedCallArgs: curveEursUnstakeAndRedeemArgs({
@@ -1899,12 +2135,12 @@ function curveEursUnstakeAndRedeem(_ref14) {
1899
2135
  });
1900
2136
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
1901
2137
  }
1902
- function curveEursUnstake(_ref15) {
1903
- var comptrollerProxy = _ref15.comptrollerProxy,
1904
- integrationManager = _ref15.integrationManager,
1905
- fundOwner = _ref15.fundOwner,
1906
- curveLiquidityEursAdapter = _ref15.curveLiquidityEursAdapter,
1907
- outgoingLiquidityGaugeTokenAmount = _ref15.outgoingLiquidityGaugeTokenAmount;
2138
+ function curveEursUnstake(_ref22) {
2139
+ var comptrollerProxy = _ref22.comptrollerProxy,
2140
+ integrationManager = _ref22.integrationManager,
2141
+ fundOwner = _ref22.fundOwner,
2142
+ curveLiquidityEursAdapter = _ref22.curveLiquidityEursAdapter,
2143
+ outgoingLiquidityGaugeTokenAmount = _ref22.outgoingLiquidityGaugeTokenAmount;
1908
2144
  var callArgs = callOnIntegrationArgs({
1909
2145
  adapter: curveLiquidityEursAdapter,
1910
2146
  encodedCallArgs: curveEursUnstakeArgs({
@@ -1915,11 +2151,11 @@ function curveEursUnstake(_ref15) {
1915
2151
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
1916
2152
  } // sETH pool
1917
2153
 
1918
- function curveSethClaimRewards(_ref16) {
1919
- var comptrollerProxy = _ref16.comptrollerProxy,
1920
- integrationManager = _ref16.integrationManager,
1921
- fundOwner = _ref16.fundOwner,
1922
- curveLiquiditySethAdapter = _ref16.curveLiquiditySethAdapter;
2154
+ function curveSethClaimRewards(_ref23) {
2155
+ var comptrollerProxy = _ref23.comptrollerProxy,
2156
+ integrationManager = _ref23.integrationManager,
2157
+ fundOwner = _ref23.fundOwner,
2158
+ curveLiquiditySethAdapter = _ref23.curveLiquiditySethAdapter;
1923
2159
  var callArgs = callOnIntegrationArgs({
1924
2160
  adapter: curveLiquiditySethAdapter,
1925
2161
  encodedCallArgs: constants.HashZero,
@@ -1927,14 +2163,14 @@ function curveSethClaimRewards(_ref16) {
1927
2163
  });
1928
2164
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
1929
2165
  }
1930
- function curveSethLend(_ref17) {
1931
- var comptrollerProxy = _ref17.comptrollerProxy,
1932
- integrationManager = _ref17.integrationManager,
1933
- fundOwner = _ref17.fundOwner,
1934
- curveLiquiditySethAdapter = _ref17.curveLiquiditySethAdapter,
1935
- outgoingWethAmount = _ref17.outgoingWethAmount,
1936
- outgoingSethAmount = _ref17.outgoingSethAmount,
1937
- minIncomingLPTokenAmount = _ref17.minIncomingLPTokenAmount;
2166
+ function curveSethLend(_ref24) {
2167
+ var comptrollerProxy = _ref24.comptrollerProxy,
2168
+ integrationManager = _ref24.integrationManager,
2169
+ fundOwner = _ref24.fundOwner,
2170
+ curveLiquiditySethAdapter = _ref24.curveLiquiditySethAdapter,
2171
+ outgoingWethAmount = _ref24.outgoingWethAmount,
2172
+ outgoingSethAmount = _ref24.outgoingSethAmount,
2173
+ minIncomingLPTokenAmount = _ref24.minIncomingLPTokenAmount;
1938
2174
  var callArgs = callOnIntegrationArgs({
1939
2175
  adapter: curveLiquiditySethAdapter,
1940
2176
  encodedCallArgs: curveSethLendArgs({
@@ -1946,14 +2182,14 @@ function curveSethLend(_ref17) {
1946
2182
  });
1947
2183
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
1948
2184
  }
1949
- function curveSethLendAndStake(_ref18) {
1950
- var comptrollerProxy = _ref18.comptrollerProxy,
1951
- integrationManager = _ref18.integrationManager,
1952
- fundOwner = _ref18.fundOwner,
1953
- curveLiquiditySethAdapter = _ref18.curveLiquiditySethAdapter,
1954
- outgoingWethAmount = _ref18.outgoingWethAmount,
1955
- outgoingSethAmount = _ref18.outgoingSethAmount,
1956
- minIncomingLiquidityGaugeTokenAmount = _ref18.minIncomingLiquidityGaugeTokenAmount;
2185
+ function curveSethLendAndStake(_ref25) {
2186
+ var comptrollerProxy = _ref25.comptrollerProxy,
2187
+ integrationManager = _ref25.integrationManager,
2188
+ fundOwner = _ref25.fundOwner,
2189
+ curveLiquiditySethAdapter = _ref25.curveLiquiditySethAdapter,
2190
+ outgoingWethAmount = _ref25.outgoingWethAmount,
2191
+ outgoingSethAmount = _ref25.outgoingSethAmount,
2192
+ minIncomingLiquidityGaugeTokenAmount = _ref25.minIncomingLiquidityGaugeTokenAmount;
1957
2193
  var callArgs = callOnIntegrationArgs({
1958
2194
  adapter: curveLiquiditySethAdapter,
1959
2195
  encodedCallArgs: curveSethLendAndStakeArgs({
@@ -1965,15 +2201,15 @@ function curveSethLendAndStake(_ref18) {
1965
2201
  });
1966
2202
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
1967
2203
  }
1968
- function curveSethRedeem(_ref19) {
1969
- var comptrollerProxy = _ref19.comptrollerProxy,
1970
- integrationManager = _ref19.integrationManager,
1971
- fundOwner = _ref19.fundOwner,
1972
- curveLiquiditySethAdapter = _ref19.curveLiquiditySethAdapter,
1973
- outgoingLPTokenAmount = _ref19.outgoingLPTokenAmount,
1974
- minIncomingWethAmount = _ref19.minIncomingWethAmount,
1975
- minIncomingSethAmount = _ref19.minIncomingSethAmount,
1976
- receiveSingleAsset = _ref19.receiveSingleAsset;
2204
+ function curveSethRedeem(_ref26) {
2205
+ var comptrollerProxy = _ref26.comptrollerProxy,
2206
+ integrationManager = _ref26.integrationManager,
2207
+ fundOwner = _ref26.fundOwner,
2208
+ curveLiquiditySethAdapter = _ref26.curveLiquiditySethAdapter,
2209
+ outgoingLPTokenAmount = _ref26.outgoingLPTokenAmount,
2210
+ minIncomingWethAmount = _ref26.minIncomingWethAmount,
2211
+ minIncomingSethAmount = _ref26.minIncomingSethAmount,
2212
+ receiveSingleAsset = _ref26.receiveSingleAsset;
1977
2213
  var callArgs = callOnIntegrationArgs({
1978
2214
  adapter: curveLiquiditySethAdapter,
1979
2215
  encodedCallArgs: curveSethRedeemArgs({
@@ -1986,12 +2222,12 @@ function curveSethRedeem(_ref19) {
1986
2222
  });
1987
2223
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
1988
2224
  }
1989
- function curveSethStake(_ref20) {
1990
- var comptrollerProxy = _ref20.comptrollerProxy,
1991
- integrationManager = _ref20.integrationManager,
1992
- fundOwner = _ref20.fundOwner,
1993
- curveLiquiditySethAdapter = _ref20.curveLiquiditySethAdapter,
1994
- outgoingLPTokenAmount = _ref20.outgoingLPTokenAmount;
2225
+ function curveSethStake(_ref27) {
2226
+ var comptrollerProxy = _ref27.comptrollerProxy,
2227
+ integrationManager = _ref27.integrationManager,
2228
+ fundOwner = _ref27.fundOwner,
2229
+ curveLiquiditySethAdapter = _ref27.curveLiquiditySethAdapter,
2230
+ outgoingLPTokenAmount = _ref27.outgoingLPTokenAmount;
1995
2231
  var callArgs = callOnIntegrationArgs({
1996
2232
  adapter: curveLiquiditySethAdapter,
1997
2233
  encodedCallArgs: curveSethStakeArgs({
@@ -2001,15 +2237,15 @@ function curveSethStake(_ref20) {
2001
2237
  });
2002
2238
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
2003
2239
  }
2004
- function curveSethUnstakeAndRedeem(_ref21) {
2005
- var comptrollerProxy = _ref21.comptrollerProxy,
2006
- integrationManager = _ref21.integrationManager,
2007
- fundOwner = _ref21.fundOwner,
2008
- curveLiquiditySethAdapter = _ref21.curveLiquiditySethAdapter,
2009
- outgoingLiquidityGaugeTokenAmount = _ref21.outgoingLiquidityGaugeTokenAmount,
2010
- minIncomingWethAmount = _ref21.minIncomingWethAmount,
2011
- minIncomingSethAmount = _ref21.minIncomingSethAmount,
2012
- receiveSingleAsset = _ref21.receiveSingleAsset;
2240
+ function curveSethUnstakeAndRedeem(_ref28) {
2241
+ var comptrollerProxy = _ref28.comptrollerProxy,
2242
+ integrationManager = _ref28.integrationManager,
2243
+ fundOwner = _ref28.fundOwner,
2244
+ curveLiquiditySethAdapter = _ref28.curveLiquiditySethAdapter,
2245
+ outgoingLiquidityGaugeTokenAmount = _ref28.outgoingLiquidityGaugeTokenAmount,
2246
+ minIncomingWethAmount = _ref28.minIncomingWethAmount,
2247
+ minIncomingSethAmount = _ref28.minIncomingSethAmount,
2248
+ receiveSingleAsset = _ref28.receiveSingleAsset;
2013
2249
  var callArgs = callOnIntegrationArgs({
2014
2250
  adapter: curveLiquiditySethAdapter,
2015
2251
  encodedCallArgs: curveSethUnstakeAndRedeemArgs({
@@ -2022,12 +2258,12 @@ function curveSethUnstakeAndRedeem(_ref21) {
2022
2258
  });
2023
2259
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
2024
2260
  }
2025
- function curveSethUnstake(_ref22) {
2026
- var comptrollerProxy = _ref22.comptrollerProxy,
2027
- integrationManager = _ref22.integrationManager,
2028
- fundOwner = _ref22.fundOwner,
2029
- curveLiquiditySethAdapter = _ref22.curveLiquiditySethAdapter,
2030
- outgoingLiquidityGaugeTokenAmount = _ref22.outgoingLiquidityGaugeTokenAmount;
2261
+ function curveSethUnstake(_ref29) {
2262
+ var comptrollerProxy = _ref29.comptrollerProxy,
2263
+ integrationManager = _ref29.integrationManager,
2264
+ fundOwner = _ref29.fundOwner,
2265
+ curveLiquiditySethAdapter = _ref29.curveLiquiditySethAdapter,
2266
+ outgoingLiquidityGaugeTokenAmount = _ref29.outgoingLiquidityGaugeTokenAmount;
2031
2267
  var callArgs = callOnIntegrationArgs({
2032
2268
  adapter: curveLiquiditySethAdapter,
2033
2269
  encodedCallArgs: curveSethUnstakeArgs({
@@ -2038,11 +2274,11 @@ function curveSethUnstake(_ref22) {
2038
2274
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
2039
2275
  } // stETH pool
2040
2276
 
2041
- function curveStethClaimRewards(_ref23) {
2042
- var comptrollerProxy = _ref23.comptrollerProxy,
2043
- integrationManager = _ref23.integrationManager,
2044
- fundOwner = _ref23.fundOwner,
2045
- curveLiquidityStethAdapter = _ref23.curveLiquidityStethAdapter;
2277
+ function curveStethClaimRewards(_ref30) {
2278
+ var comptrollerProxy = _ref30.comptrollerProxy,
2279
+ integrationManager = _ref30.integrationManager,
2280
+ fundOwner = _ref30.fundOwner,
2281
+ curveLiquidityStethAdapter = _ref30.curveLiquidityStethAdapter;
2046
2282
  var callArgs = callOnIntegrationArgs({
2047
2283
  adapter: curveLiquidityStethAdapter,
2048
2284
  encodedCallArgs: constants.HashZero,
@@ -2050,14 +2286,14 @@ function curveStethClaimRewards(_ref23) {
2050
2286
  });
2051
2287
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
2052
2288
  }
2053
- function curveStethLend(_ref24) {
2054
- var comptrollerProxy = _ref24.comptrollerProxy,
2055
- integrationManager = _ref24.integrationManager,
2056
- fundOwner = _ref24.fundOwner,
2057
- curveLiquidityStethAdapter = _ref24.curveLiquidityStethAdapter,
2058
- outgoingWethAmount = _ref24.outgoingWethAmount,
2059
- outgoingStethAmount = _ref24.outgoingStethAmount,
2060
- minIncomingLPTokenAmount = _ref24.minIncomingLPTokenAmount;
2289
+ function curveStethLend(_ref31) {
2290
+ var comptrollerProxy = _ref31.comptrollerProxy,
2291
+ integrationManager = _ref31.integrationManager,
2292
+ fundOwner = _ref31.fundOwner,
2293
+ curveLiquidityStethAdapter = _ref31.curveLiquidityStethAdapter,
2294
+ outgoingWethAmount = _ref31.outgoingWethAmount,
2295
+ outgoingStethAmount = _ref31.outgoingStethAmount,
2296
+ minIncomingLPTokenAmount = _ref31.minIncomingLPTokenAmount;
2061
2297
  var callArgs = callOnIntegrationArgs({
2062
2298
  adapter: curveLiquidityStethAdapter,
2063
2299
  encodedCallArgs: curveStethLendArgs({
@@ -2069,14 +2305,14 @@ function curveStethLend(_ref24) {
2069
2305
  });
2070
2306
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
2071
2307
  }
2072
- function curveStethLendAndStake(_ref25) {
2073
- var comptrollerProxy = _ref25.comptrollerProxy,
2074
- integrationManager = _ref25.integrationManager,
2075
- fundOwner = _ref25.fundOwner,
2076
- curveLiquidityStethAdapter = _ref25.curveLiquidityStethAdapter,
2077
- outgoingWethAmount = _ref25.outgoingWethAmount,
2078
- outgoingStethAmount = _ref25.outgoingStethAmount,
2079
- minIncomingLiquidityGaugeTokenAmount = _ref25.minIncomingLiquidityGaugeTokenAmount;
2308
+ function curveStethLendAndStake(_ref32) {
2309
+ var comptrollerProxy = _ref32.comptrollerProxy,
2310
+ integrationManager = _ref32.integrationManager,
2311
+ fundOwner = _ref32.fundOwner,
2312
+ curveLiquidityStethAdapter = _ref32.curveLiquidityStethAdapter,
2313
+ outgoingWethAmount = _ref32.outgoingWethAmount,
2314
+ outgoingStethAmount = _ref32.outgoingStethAmount,
2315
+ minIncomingLiquidityGaugeTokenAmount = _ref32.minIncomingLiquidityGaugeTokenAmount;
2080
2316
  var callArgs = callOnIntegrationArgs({
2081
2317
  adapter: curveLiquidityStethAdapter,
2082
2318
  encodedCallArgs: curveStethLendAndStakeArgs({
@@ -2088,15 +2324,15 @@ function curveStethLendAndStake(_ref25) {
2088
2324
  });
2089
2325
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
2090
2326
  }
2091
- function curveStethRedeem(_ref26) {
2092
- var comptrollerProxy = _ref26.comptrollerProxy,
2093
- integrationManager = _ref26.integrationManager,
2094
- fundOwner = _ref26.fundOwner,
2095
- curveLiquidityStethAdapter = _ref26.curveLiquidityStethAdapter,
2096
- outgoingLPTokenAmount = _ref26.outgoingLPTokenAmount,
2097
- minIncomingWethAmount = _ref26.minIncomingWethAmount,
2098
- minIncomingStethAmount = _ref26.minIncomingStethAmount,
2099
- receiveSingleAsset = _ref26.receiveSingleAsset;
2327
+ function curveStethRedeem(_ref33) {
2328
+ var comptrollerProxy = _ref33.comptrollerProxy,
2329
+ integrationManager = _ref33.integrationManager,
2330
+ fundOwner = _ref33.fundOwner,
2331
+ curveLiquidityStethAdapter = _ref33.curveLiquidityStethAdapter,
2332
+ outgoingLPTokenAmount = _ref33.outgoingLPTokenAmount,
2333
+ minIncomingWethAmount = _ref33.minIncomingWethAmount,
2334
+ minIncomingStethAmount = _ref33.minIncomingStethAmount,
2335
+ receiveSingleAsset = _ref33.receiveSingleAsset;
2100
2336
  var callArgs = callOnIntegrationArgs({
2101
2337
  adapter: curveLiquidityStethAdapter,
2102
2338
  encodedCallArgs: curveStethRedeemArgs({
@@ -2109,12 +2345,12 @@ function curveStethRedeem(_ref26) {
2109
2345
  });
2110
2346
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
2111
2347
  }
2112
- function curveStethStake(_ref27) {
2113
- var comptrollerProxy = _ref27.comptrollerProxy,
2114
- integrationManager = _ref27.integrationManager,
2115
- fundOwner = _ref27.fundOwner,
2116
- curveLiquidityStethAdapter = _ref27.curveLiquidityStethAdapter,
2117
- outgoingLPTokenAmount = _ref27.outgoingLPTokenAmount;
2348
+ function curveStethStake(_ref34) {
2349
+ var comptrollerProxy = _ref34.comptrollerProxy,
2350
+ integrationManager = _ref34.integrationManager,
2351
+ fundOwner = _ref34.fundOwner,
2352
+ curveLiquidityStethAdapter = _ref34.curveLiquidityStethAdapter,
2353
+ outgoingLPTokenAmount = _ref34.outgoingLPTokenAmount;
2118
2354
  var callArgs = callOnIntegrationArgs({
2119
2355
  adapter: curveLiquidityStethAdapter,
2120
2356
  encodedCallArgs: curveStethStakeArgs({
@@ -2124,15 +2360,15 @@ function curveStethStake(_ref27) {
2124
2360
  });
2125
2361
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
2126
2362
  }
2127
- function curveStethUnstakeAndRedeem(_ref28) {
2128
- var comptrollerProxy = _ref28.comptrollerProxy,
2129
- integrationManager = _ref28.integrationManager,
2130
- fundOwner = _ref28.fundOwner,
2131
- curveLiquidityStethAdapter = _ref28.curveLiquidityStethAdapter,
2132
- outgoingLiquidityGaugeTokenAmount = _ref28.outgoingLiquidityGaugeTokenAmount,
2133
- minIncomingWethAmount = _ref28.minIncomingWethAmount,
2134
- minIncomingStethAmount = _ref28.minIncomingStethAmount,
2135
- receiveSingleAsset = _ref28.receiveSingleAsset;
2363
+ function curveStethUnstakeAndRedeem(_ref35) {
2364
+ var comptrollerProxy = _ref35.comptrollerProxy,
2365
+ integrationManager = _ref35.integrationManager,
2366
+ fundOwner = _ref35.fundOwner,
2367
+ curveLiquidityStethAdapter = _ref35.curveLiquidityStethAdapter,
2368
+ outgoingLiquidityGaugeTokenAmount = _ref35.outgoingLiquidityGaugeTokenAmount,
2369
+ minIncomingWethAmount = _ref35.minIncomingWethAmount,
2370
+ minIncomingStethAmount = _ref35.minIncomingStethAmount,
2371
+ receiveSingleAsset = _ref35.receiveSingleAsset;
2136
2372
  var callArgs = callOnIntegrationArgs({
2137
2373
  adapter: curveLiquidityStethAdapter,
2138
2374
  encodedCallArgs: curveStethUnstakeAndRedeemArgs({
@@ -2145,12 +2381,12 @@ function curveStethUnstakeAndRedeem(_ref28) {
2145
2381
  });
2146
2382
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
2147
2383
  }
2148
- function curveStethUnstake(_ref29) {
2149
- var comptrollerProxy = _ref29.comptrollerProxy,
2150
- integrationManager = _ref29.integrationManager,
2151
- fundOwner = _ref29.fundOwner,
2152
- curveLiquidityStethAdapter = _ref29.curveLiquidityStethAdapter,
2153
- outgoingLiquidityGaugeTokenAmount = _ref29.outgoingLiquidityGaugeTokenAmount;
2384
+ function curveStethUnstake(_ref36) {
2385
+ var comptrollerProxy = _ref36.comptrollerProxy,
2386
+ integrationManager = _ref36.integrationManager,
2387
+ fundOwner = _ref36.fundOwner,
2388
+ curveLiquidityStethAdapter = _ref36.curveLiquidityStethAdapter,
2389
+ outgoingLiquidityGaugeTokenAmount = _ref36.outgoingLiquidityGaugeTokenAmount;
2154
2390
  var callArgs = callOnIntegrationArgs({
2155
2391
  adapter: curveLiquidityStethAdapter,
2156
2392
  encodedCallArgs: curveStethUnstakeArgs({
@@ -2346,6 +2582,72 @@ function _mockGenericSwap() {
2346
2582
  return _mockGenericSwap.apply(this, arguments);
2347
2583
  }
2348
2584
 
2585
+ function olympusV2Stake(_x) {
2586
+ return _olympusV2Stake.apply(this, arguments);
2587
+ }
2588
+
2589
+ function _olympusV2Stake() {
2590
+ _olympusV2Stake = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {
2591
+ var comptrollerProxy, integrationManager, signer, olympusV2Adapter, amount, stakeArgs, callArgs, stakeTx;
2592
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
2593
+ while (1) {
2594
+ switch (_context.prev = _context.next) {
2595
+ case 0:
2596
+ comptrollerProxy = _ref.comptrollerProxy, integrationManager = _ref.integrationManager, signer = _ref.signer, olympusV2Adapter = _ref.olympusV2Adapter, amount = _ref.amount;
2597
+ stakeArgs = olympusV2StakeArgs({
2598
+ amount: amount
2599
+ });
2600
+ callArgs = callOnIntegrationArgs({
2601
+ adapter: olympusV2Adapter,
2602
+ encodedCallArgs: stakeArgs,
2603
+ selector: stakeSelector
2604
+ });
2605
+ stakeTx = comptrollerProxy.connect(signer).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
2606
+ return _context.abrupt("return", stakeTx);
2607
+
2608
+ case 5:
2609
+ case "end":
2610
+ return _context.stop();
2611
+ }
2612
+ }
2613
+ }, _callee);
2614
+ }));
2615
+ return _olympusV2Stake.apply(this, arguments);
2616
+ }
2617
+
2618
+ function olympusV2Unstake(_x2) {
2619
+ return _olympusV2Unstake.apply(this, arguments);
2620
+ }
2621
+
2622
+ function _olympusV2Unstake() {
2623
+ _olympusV2Unstake = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(_ref2) {
2624
+ var comptrollerProxy, integrationManager, signer, olympusV2Adapter, amount, unstakeArgs, callArgs, unstakeTx;
2625
+ return _regeneratorRuntime.wrap(function _callee2$(_context2) {
2626
+ while (1) {
2627
+ switch (_context2.prev = _context2.next) {
2628
+ case 0:
2629
+ comptrollerProxy = _ref2.comptrollerProxy, integrationManager = _ref2.integrationManager, signer = _ref2.signer, olympusV2Adapter = _ref2.olympusV2Adapter, amount = _ref2.amount;
2630
+ unstakeArgs = olympusV2UnstakeArgs({
2631
+ amount: amount
2632
+ });
2633
+ callArgs = callOnIntegrationArgs({
2634
+ adapter: olympusV2Adapter,
2635
+ encodedCallArgs: unstakeArgs,
2636
+ selector: unstakeSelector
2637
+ });
2638
+ unstakeTx = comptrollerProxy.connect(signer).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
2639
+ return _context2.abrupt("return", unstakeTx);
2640
+
2641
+ case 5:
2642
+ case "end":
2643
+ return _context2.stop();
2644
+ }
2645
+ }
2646
+ }, _callee2);
2647
+ }));
2648
+ return _olympusV2Unstake.apply(this, arguments);
2649
+ }
2650
+
2349
2651
  function paraSwapV4GenerateDummyPaths(_ref) {
2350
2652
  var toTokens = _ref.toTokens;
2351
2653
  return toTokens.map(function (toToken) {
@@ -3645,12 +3947,15 @@ var whales = {
3645
3947
  crv: '0x4ce799e6eD8D64536b67dD428565d52A531B3640',
3646
3948
  dai: '0x47ac0fb4f2d84898e4d9e7b4dab3c24507a6d503',
3647
3949
  knc: '0x09d51654bd9efbfcb56da3491989cc1444095fff',
3950
+ ldo: '0x3dba737ccc50a32a1764b493285dd51c8af6c278',
3648
3951
  link: '0xbe6977e08d4479c0a6777539ae0e8fa27be4e9d6',
3649
3952
  mana: '0xefb94ac00f1cee8a89d5c3f49faa799da6f03024',
3650
3953
  mln: '0xd8f8a53945bcfbbc19da162aa405e662ef71c40d',
3954
+ ohm: '0x71a53aff36a699110d66d6bdfff2320caf8d2d59',
3651
3955
  rep: '0xc6a043b07d33b6f30d8cb501026c391cfd25abe1',
3652
3956
  ren: '0xbe0eb53f46cd790cd13851d5eff43d12404d33e8',
3653
3957
  susd: '0xa5f7a39e55d7878bc5bd754ee5d6bd7a7662355b',
3958
+ sohm: '0xf280f037cdbda99727ddf5dfede91e68fa78605c',
3654
3959
  uni: '0x47173b170c64d16393a52e6c480b3ad8c302ba1e',
3655
3960
  usdc: '0xae2d4617c862309a3d75a0ffb358c7a5009c673f',
3656
3961
  usdt: '0x5041ed759dd4afc3a72b8192c143f72f4724081a',
@@ -3658,12 +3963,13 @@ var whales = {
3658
3963
  zrx: '0x206376e8940e42538781cd94ef024df3c1e0fd43',
3659
3964
  // aTokens
3660
3965
  ausdc: '0x3DdfA8eC3052539b6C9549F12cEA2C295cfF5296',
3966
+ ausdt: '0x7d6149ad9a573a6e2ca6ebf7d4897c1b766841b4',
3661
3967
  // cTokens
3662
3968
  ccomp: '0xd74f186194ab9219fafac5c2fe4b3270169666db',
3663
3969
  cdai: '0xab4ce310054a11328685ece1043211b68ba5d082',
3664
3970
  ceth: '0x8aceab8167c80cb8b3de7fa6228b889bb1130ee8',
3665
3971
  cuni: '0x39d8014b4f40d2cbc441137011d32023f4f1fd87',
3666
- cusdc: '0xb3bd459e0598dde1fe84b1d0a1430be175b5d5be',
3972
+ cusdc: '0xe1ed4da4284924ddaf69983b4d813fb1be58c380',
3667
3973
  // ptTokens
3668
3974
  ptUsdc: '0xd18236cd213f39d078177b6f6908f0e44e88e4aa',
3669
3975
  // synths
@@ -3673,8 +3979,8 @@ var whales = {
3673
3979
  sxau: '0x92eb453b7b5b8d41edb44e2c8b8b53eb70a482c7',
3674
3980
  // misc
3675
3981
  lidoSteth: '0x31f644e2dd5d74f5c8d6d9de89dd517474d51800',
3676
- ldo: '0x3dba737ccc50a32a1764b493285dd51c8af6c278',
3677
- eurs: '0x98ed26de6451db36246672df78ae7c50f2c76f6d'
3982
+ eurs: '0x98ed26de6451db36246672df78ae7c50f2c76f6d',
3983
+ ust: '0xf584f8728b874a6a5c7a8d4d387c9aae9172d621'
3678
3984
  };
3679
3985
  /* eslint-enable sort-keys-fix/sort-keys-fix */
3680
3986
 
@@ -3908,4 +4214,4 @@ function assertPaymasterDidRejectForReason(receipt, reason) {
3908
4214
  expect(utils.toUtf8String('0x' + params.reason.substr(138))).toMatch(reason);
3909
4215
  }
3910
4216
 
3911
- export { CurveLiquidityGaugeV2, CurveMinter, CurveSwaps, ICompoundComptroller, IUniswapV3NonFungibleTokenManager, UniswapV2Factory, UniswapV3FeeAmount, aaveLend, aaveRedeem, addNewAssetsToFund, addTrackedAssetsToVault, assertDidRelay, assertDidRelaySuccessfully, assertDidRelayWithCharge, assertDidRelayWithError, assertEvent, assertNoEvent, assertPaymasterDidReject, assertPaymasterDidRejectForReason, buyShares, buySharesFunction, calcMlnValueAndBurnAmountForSharesBuyback, callOnExtension, callOnExternalPosition, compoundDebtPositionAddCollateral, compoundDebtPositionBorrow, compoundDebtPositionClaimComp, compoundDebtPositionRemoveCollateral, compoundDebtPositionRepayBorrow, compoundLend, compoundRedeem, createCompoundDebtPosition, createComptrollerProxy, createExternalPosition, createFundDeployer, createMigrationRequest, createMockExternalPosition, createNewFund, createReconfigurationRequest, createUniswapV3LiquidityPosition, createVaultProxy, curveAaveClaimRewards, curveAaveLend, curveAaveLendAndStake, curveAaveRedeem, curveAaveStake, curveAaveUnstake, curveAaveUnstakeAndRedeem, curveEursClaimRewards, curveEursLend, curveEursLendAndStake, curveEursRedeem, curveEursStake, curveEursUnstake, curveEursUnstakeAndRedeem, curveSethClaimRewards, curveSethLend, curveSethLendAndStake, curveSethRedeem, curveSethStake, curveSethUnstake, curveSethUnstakeAndRedeem, curveStethClaimRewards, curveStethLend, curveStethLendAndStake, curveStethRedeem, curveStethStake, curveStethUnstake, curveStethUnstakeAndRedeem, curveTakeOrder, deployProtocolFixture, generateFeeManagerConfigWithMockFees, generateMockFees, generateMockPolicies, generatePolicyManagerConfigWithMockPolicies, getAssetBalances, getAssetUnit, getNamedSigner, getUnnamedSigners, idleClaimRewards, idleLend, idleRedeem, mockExternalPositionAddDebtAssets, mockExternalPositionAddManagedAssets, mockExternalPositionRemoveDebtAssets, mockExternalPositionRemoveManagedAssets, mockGenericRemoveOnlySelector, mockGenericSwap, mockGenericSwapASelector, mockGenericSwapArgs, mockGenericSwapBSelector, mockGenericSwapDirectFromVaultSelector, mockGenericSwapViaApprovalSelector, paraSwapV4GenerateDummyPaths, paraSwapV4TakeOrder, paraSwapV5GenerateDummyPaths, paraSwapV5TakeOrder, poolTogetherV4ClaimRewards, poolTogetherV4Lend, poolTogetherV4Redeem, reactivateExternalPosition, redeemSharesForSpecificAssets, redeemSharesInKind, relayTransaction, removeExternalPosition, removeTrackedAssetsFromVault, setupGasRelayerPaymaster, synthetixAssignExchangeDelegate, synthetixRedeem, synthetixResolveAddress, synthetixTakeOrder, transactionTimestamp, uniswapV2Lend, uniswapV2Redeem, uniswapV2TakeOrder, uniswapV3LiquidityPositionAddLiquidity, uniswapV3LiquidityPositionCollect, uniswapV3LiquidityPositionGetMaxTick, uniswapV3LiquidityPositionGetMinTick, uniswapV3LiquidityPositionMint, uniswapV3LiquidityPositionPurge, uniswapV3LiquidityPositionRemoveLiquidity, uniswapV3OrderTokenPair, uniswapV3TakeOrder, unlockAllWhales, unlockWhale, unlockWhales, updateChainlinkAggregator, vaultCallCreateNewList, vaultCallCurveMinterMint, vaultCallCurveMinterMintMany, vaultCallCurveMinterToggleApproveMint, vaultCallStartAssetBypassTimelock, yearnVaultV2Lend, yearnVaultV2Redeem, zeroExV2TakeOrder };
4217
+ export { CurveLiquidityGaugeV2, CurveMinter, CurveRegistry, CurveSwaps, ICompoundComptroller, IUniswapV3NonFungibleTokenManager, UniswapV2Factory, UniswapV3FeeAmount, aaveLend, aaveRedeem, addNewAssetsToFund, addTrackedAssetsToVault, assertDidRelay, assertDidRelaySuccessfully, assertDidRelayWithCharge, assertDidRelayWithError, assertEvent, assertNoEvent, assertPaymasterDidReject, assertPaymasterDidRejectForReason, buyShares, buySharesFunction, calcMlnValueAndBurnAmountForSharesBuyback, callOnExtension, callOnExternalPosition, compoundDebtPositionAddCollateral, compoundDebtPositionBorrow, compoundDebtPositionClaimComp, compoundDebtPositionRemoveCollateral, compoundDebtPositionRepayBorrow, compoundLend, compoundRedeem, createCompoundDebtPosition, createComptrollerProxy, createExternalPosition, createFundDeployer, createMigrationRequest, createMockExternalPosition, createNewFund, createReconfigurationRequest, createUniswapV3LiquidityPosition, createVaultProxy, curveAaveClaimRewards, curveAaveLend, curveAaveLendAndStake, curveAaveRedeem, curveAaveStake, curveAaveUnstake, curveAaveUnstakeAndRedeem, curveClaimRewards, curveEursClaimRewards, curveEursLend, curveEursLendAndStake, curveEursRedeem, curveEursStake, curveEursUnstake, curveEursUnstakeAndRedeem, curveLend, curveLendAndStake, curveRedeem, curveSethClaimRewards, curveSethLend, curveSethLendAndStake, curveSethRedeem, curveSethStake, curveSethUnstake, curveSethUnstakeAndRedeem, curveStake, curveStethClaimRewards, curveStethLend, curveStethLendAndStake, curveStethRedeem, curveStethStake, curveStethUnstake, curveStethUnstakeAndRedeem, curveTakeOrder, curveUnstake, curveUnstakeAndRedeem, deployProtocolFixture, generateFeeManagerConfigWithMockFees, generateMockFees, generateMockPolicies, generatePolicyManagerConfigWithMockPolicies, getAssetBalances, getAssetUnit, getNamedSigner, getUnnamedSigners, idleClaimRewards, idleLend, idleRedeem, mockExternalPositionAddDebtAssets, mockExternalPositionAddManagedAssets, mockExternalPositionRemoveDebtAssets, mockExternalPositionRemoveManagedAssets, mockGenericRemoveOnlySelector, mockGenericSwap, mockGenericSwapASelector, mockGenericSwapArgs, mockGenericSwapBSelector, mockGenericSwapDirectFromVaultSelector, mockGenericSwapViaApprovalSelector, olympusV2Stake, olympusV2Unstake, paraSwapV4GenerateDummyPaths, paraSwapV4TakeOrder, paraSwapV5GenerateDummyPaths, paraSwapV5TakeOrder, poolTogetherV4ClaimRewards, poolTogetherV4Lend, poolTogetherV4Redeem, reactivateExternalPosition, redeemSharesForSpecificAssets, redeemSharesInKind, relayTransaction, removeExternalPosition, removeTrackedAssetsFromVault, setupGasRelayerPaymaster, synthetixAssignExchangeDelegate, synthetixRedeem, synthetixResolveAddress, synthetixTakeOrder, transactionTimestamp, uniswapV2Lend, uniswapV2Redeem, uniswapV2TakeOrder, uniswapV3LiquidityPositionAddLiquidity, uniswapV3LiquidityPositionCollect, uniswapV3LiquidityPositionGetMaxTick, uniswapV3LiquidityPositionGetMinTick, uniswapV3LiquidityPositionMint, uniswapV3LiquidityPositionPurge, uniswapV3LiquidityPositionRemoveLiquidity, uniswapV3OrderTokenPair, uniswapV3TakeOrder, unlockAllWhales, unlockWhale, unlockWhales, updateChainlinkAggregator, vaultCallCreateNewList, vaultCallCurveMinterMint, vaultCallCurveMinterMintMany, vaultCallCurveMinterToggleApproveMint, vaultCallStartAssetBypassTimelock, yearnVaultV2Lend, yearnVaultV2Redeem, zeroExV2TakeOrder };