@enzymefinance/testutils 4.0.0-next.1 → 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.
Files changed (80) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/dist/declarations/src/assertions.d.ts +2 -2
  3. package/dist/declarations/src/deployment.d.ts +168 -64
  4. package/dist/declarations/src/gasRelayer.d.ts +14 -12
  5. package/dist/declarations/src/helpers.d.ts +5 -4
  6. package/dist/declarations/src/scaffolding/assets.d.ts +3 -3
  7. package/dist/declarations/src/scaffolding/chainlink.d.ts +2 -2
  8. package/dist/declarations/src/scaffolding/common.d.ts +1 -1
  9. package/dist/declarations/src/scaffolding/core.d.ts +4 -3
  10. package/dist/declarations/src/scaffolding/extensions/common.d.ts +4 -4
  11. package/dist/declarations/src/scaffolding/extensions/external-positions/actions.d.ts +14 -5
  12. package/dist/declarations/src/scaffolding/extensions/external-positions/compound.d.ts +22 -22
  13. package/dist/declarations/src/scaffolding/extensions/external-positions/index.d.ts +1 -0
  14. package/dist/declarations/src/scaffolding/extensions/external-positions/mocks.d.ts +40 -7
  15. package/dist/declarations/src/scaffolding/extensions/external-positions/uniswap-v3-liquidity.d.ts +99 -0
  16. package/dist/declarations/src/scaffolding/extensions/fees.d.ts +1 -1
  17. package/dist/declarations/src/scaffolding/extensions/integrations/aave.d.ts +4 -3
  18. package/dist/declarations/src/scaffolding/extensions/integrations/compound.d.ts +5 -5
  19. package/dist/declarations/src/scaffolding/extensions/integrations/curve.d.ts +108 -33
  20. package/dist/declarations/src/scaffolding/extensions/integrations/idle.d.ts +3 -3
  21. package/dist/declarations/src/scaffolding/extensions/integrations/index.d.ts +3 -0
  22. package/dist/declarations/src/scaffolding/extensions/integrations/mock.d.ts +4 -4
  23. package/dist/declarations/src/scaffolding/extensions/integrations/olympusV2.d.ts +17 -0
  24. package/dist/declarations/src/scaffolding/extensions/integrations/paraSwapV4.d.ts +6 -5
  25. package/dist/declarations/src/scaffolding/extensions/integrations/paraSwapV5.d.ts +23 -0
  26. package/dist/declarations/src/scaffolding/extensions/integrations/poolTogetherV4.d.ts +29 -0
  27. package/dist/declarations/src/scaffolding/extensions/integrations/synthetix.d.ts +11 -3
  28. package/dist/declarations/src/scaffolding/extensions/integrations/trackedAssets.d.ts +3 -3
  29. package/dist/declarations/src/scaffolding/extensions/integrations/uniswapV2.d.ts +10 -10
  30. package/dist/declarations/src/scaffolding/extensions/integrations/uniswapV3.d.ts +4 -4
  31. package/dist/declarations/src/scaffolding/extensions/integrations/yearn.d.ts +3 -3
  32. package/dist/declarations/src/scaffolding/extensions/integrations/zeroExV2.d.ts +3 -3
  33. package/dist/declarations/src/scaffolding/extensions/policies.d.ts +1 -1
  34. package/dist/declarations/src/scaffolding/setup.d.ts +11 -9
  35. package/dist/declarations/src/scaffolding/shares.d.ts +4 -4
  36. package/dist/declarations/src/scaffolding/vaultCalls.d.ts +15 -6
  37. package/dist/declarations/src/whales.d.ts +20 -18
  38. package/dist/enzymefinance-testutils.browser.cjs.js +1783 -763
  39. package/dist/enzymefinance-testutils.browser.esm.js +1746 -757
  40. package/dist/enzymefinance-testutils.cjs.dev.js +1783 -763
  41. package/dist/enzymefinance-testutils.cjs.prod.js +1783 -763
  42. package/dist/enzymefinance-testutils.esm.js +1746 -757
  43. package/package.json +5 -5
  44. package/src/assertions.ts +5 -2
  45. package/src/deployment.ts +215 -111
  46. package/src/gasRelayer.ts +17 -18
  47. package/src/helpers.ts +6 -4
  48. package/src/scaffolding/assets.ts +7 -6
  49. package/src/scaffolding/chainlink.ts +2 -2
  50. package/src/scaffolding/common.ts +1 -1
  51. package/src/scaffolding/core.ts +30 -12
  52. package/src/scaffolding/extensions/common.ts +4 -4
  53. package/src/scaffolding/extensions/external-positions/actions.ts +33 -6
  54. package/src/scaffolding/extensions/external-positions/compound.ts +76 -96
  55. package/src/scaffolding/extensions/external-positions/index.ts +1 -0
  56. package/src/scaffolding/extensions/external-positions/mocks.ts +132 -10
  57. package/src/scaffolding/extensions/external-positions/uniswap-v3-liquidity.ts +290 -0
  58. package/src/scaffolding/extensions/fees.ts +1 -1
  59. package/src/scaffolding/extensions/integrations/aave.ts +6 -8
  60. package/src/scaffolding/extensions/integrations/compound.ts +10 -11
  61. package/src/scaffolding/extensions/integrations/curve.ts +333 -68
  62. package/src/scaffolding/extensions/integrations/idle.ts +9 -11
  63. package/src/scaffolding/extensions/integrations/index.ts +3 -0
  64. package/src/scaffolding/extensions/integrations/mock.ts +11 -13
  65. package/src/scaffolding/extensions/integrations/olympusV2.ts +71 -0
  66. package/src/scaffolding/extensions/integrations/paraSwapV4.ts +16 -11
  67. package/src/scaffolding/extensions/integrations/paraSwapV5.ts +73 -0
  68. package/src/scaffolding/extensions/integrations/poolTogetherV4.ts +117 -0
  69. package/src/scaffolding/extensions/integrations/synthetix.ts +45 -12
  70. package/src/scaffolding/extensions/integrations/trackedAssets.ts +3 -4
  71. package/src/scaffolding/extensions/integrations/uniswapV2.ts +31 -27
  72. package/src/scaffolding/extensions/integrations/uniswapV3.ts +9 -10
  73. package/src/scaffolding/extensions/integrations/yearn.ts +9 -11
  74. package/src/scaffolding/extensions/integrations/zeroExV2.ts +9 -7
  75. package/src/scaffolding/extensions/policies.ts +2 -1
  76. package/src/scaffolding/setup.ts +27 -13
  77. package/src/scaffolding/shares.ts +5 -4
  78. package/src/scaffolding/vaultCalls.ts +32 -2
  79. package/src/whales.ts +30 -17
  80. package/tsconfig.json +2 -1
@@ -1,9 +1,8 @@
1
1
  import _asyncToGenerator from '@babel/runtime/helpers/esm/asyncToGenerator';
2
2
  import _regeneratorRuntime from '@babel/runtime/regenerator';
3
- import { Dispatcher, VaultLib, FundDeployer, PolicyManager, AavePriceFeed, CompoundDebtPositionLib, CompoundDebtPositionParser, CompoundPriceFeed, CurvePriceFeed, IdlePriceFeed, LidoStethPriceFeed, RevertingPriceFeed, SynthetixPriceFeed, StakehoundEthPriceFeed, WdgldPriceFeed, YearnVaultV2PriceFeed, ValueInterpreter, UniswapV2PoolPriceFeed, IntegrationManager, ExternalPositionManager, ExternalPositionFactory, CurveLiquidityAaveAdapter, CurveLiquidityEursAdapter, CurveLiquiditySethAdapter, CurveLiquidityStethAdapter, AaveAdapter, IdleAdapter, ParaSwapV4Adapter, SynthetixAdapter, YearnVaultV2Adapter, ZeroExV2Adapter, CompoundAdapter, UniswapV2Adapter, UniswapV3Adapter, CurveExchangeAdapter, FeeManager, ComptrollerLib, EntranceRateBurnFee, EntranceRateDirectFee, ExitRateBurnFee, ExitRateDirectFee, ManagementFee, PerformanceFee, DepositWrapper, UnpermissionedActionsWrapper, AllowedAdapterIncomingAssetsPolicy, MinMaxInvestmentPolicy, AllowedDepositRecipientsPolicy, GuaranteedRedemptionPolicy, GlobalConfigLib, AssetFinalityResolver, ProtocolFeeReserveLib, ProtocolFeeTracker, GasRelayPaymasterFactory, AddressListRegistry, AllowedAdaptersPolicy, AllowedAssetsForRedemptionPolicy, AllowedExternalPositionTypesPolicy, AllowedSharesTransferRecipientsPolicy, OnlyUntrackDustOrPricelessAssetsPolicy, IntegrationManagerActionId, addTrackedAssetsToVaultArgs, removeTrackedAssetsFromVaultArgs, StandardToken, IExternalPositionProxy, ExternalPositionManagerActionId, encodeArgs, externalPositionReactivateArgs, externalPositionRemoveArgs, ExternalPositionType, compoundExternalPositionActionArgs, callOnExternalPositionArgs, CompoundDebtPositionActionId, feeManagerConfigArgs, FeeSettlementType, FeeHook, IFee, aaveLendArgs, callOnIntegrationArgs, lendSelector, aaveRedeemArgs, redeemSelector, compoundArgs, curveTakeOrderArgs, takeOrderSelector, claimRewardsSelector, curveAaveLendArgs, lendAndStakeSelector, curveAaveLendAndStakeArgs, curveAaveRedeemArgs, stakeSelector, curveAaveStakeArgs, unstakeAndRedeemSelector, curveAaveUnstakeAndRedeemArgs, unstakeSelector, curveAaveUnstakeArgs, curveEursLendArgs, curveEursLendAndStakeArgs, curveEursRedeemArgs, curveEursStakeArgs, curveEursUnstakeAndRedeemArgs, curveEursUnstakeArgs, curveSethLendArgs, curveSethLendAndStakeArgs, curveSethRedeemArgs, curveSethStakeArgs, curveSethUnstakeAndRedeemArgs, curveSethUnstakeArgs, curveStethLendArgs, curveStethLendAndStakeArgs, curveStethRedeemArgs, curveStethStakeArgs, curveStethUnstakeAndRedeemArgs, curveStethUnstakeArgs, idleClaimRewardsArgs, idleLendArgs, idleRedeemArgs, sighash, paraSwapV4TakeOrderArgs, synthetixAssignExchangeDelegateSelector, synthetixTakeOrderArgs, uniswapV2LendArgs, uniswapV2RedeemArgs, uniswapV2TakeOrderArgs, uniswapV3TakeOrderArgs, yearnVaultV2LendArgs, yearnVaultV2RedeemArgs, zeroExV2TakeOrderArgs, policyManagerConfigArgs, PolicyHook, IPolicy, encodeFunctionData, ComptrollerProxy, VaultProxy, GasRelayPaymasterLib, 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
- import { ExternalPositionManagerActionId as ExternalPositionManagerActionId$1, encodeArgs as encodeArgs$1, MockGenericExternalPositionParser, MockGenericExternalPositionLib, VaultLib as VaultLib$1 } from '@enzymefinance/protocol/src';
7
6
  import _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';
8
7
  import _toConsumableArray from '@babel/runtime/helpers/esm/toConsumableArray';
9
8
  import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
@@ -104,74 +103,83 @@ function _deployProtocolFixture() {
104
103
  config = fixture['Config'].linkedData; // prettier-ignore
105
104
 
106
105
  deployment = {
107
- dispatcher: new Dispatcher(fixture['Dispatcher'].address, deployer),
108
- vaultLib: new VaultLib(fixture['VaultLib'].address, deployer),
109
- fundDeployer: new FundDeployer(fixture['FundDeployer'].address, deployer),
110
- policyManager: new PolicyManager(fixture['PolicyManager'].address, deployer),
106
+ aaveAdapter: new AaveAdapter(fixture['AaveAdapter'].address, deployer),
111
107
  aavePriceFeed: new AavePriceFeed(fixture['AavePriceFeed'].address, deployer),
108
+ addressListRegistry: new AddressListRegistry(fixture['AddressListRegistry'].address, deployer),
109
+ allowedAdapterIncomingAssetsPolicy: new AllowedAdapterIncomingAssetsPolicy(fixture['AllowedAdapterIncomingAssetsPolicy'].address, deployer),
110
+ allowedAdaptersPolicy: new AllowedAdaptersPolicy(fixture['AllowedAdaptersPolicy'].address, deployer),
111
+ allowedAssetsForRedemptionPolicy: new AllowedAssetsForRedemptionPolicy(fixture['AllowedAssetsForRedemptionPolicy'].address, deployer),
112
+ allowedDepositRecipientsPolicy: new AllowedDepositRecipientsPolicy(fixture['AllowedDepositRecipientsPolicy'].address, deployer),
113
+ allowedExternalPositionTypesPolicy: new AllowedExternalPositionTypesPolicy(fixture['AllowedExternalPositionTypesPolicy'].address, deployer),
114
+ allowedSharesTransferRecipientsPolicy: new AllowedSharesTransferRecipientsPolicy(fixture['AllowedSharesTransferRecipientsPolicy'].address, deployer),
115
+ assetFinalityResolver: new AssetFinalityResolver(fixture['AssetFinalityResolver'].address, deployer),
116
+ compoundAdapter: new CompoundAdapter(fixture['CompoundAdapter'].address, deployer),
112
117
  compoundDebtPositionLib: new CompoundDebtPositionLib(fixture['CompoundDebtPositionLib'].address, deployer),
113
118
  compoundDebtPositionParser: new CompoundDebtPositionParser(fixture['CompoundDebtPositionParser'].address, deployer),
114
119
  compoundPriceFeed: new CompoundPriceFeed(fixture['CompoundPriceFeed'].address, deployer),
115
- curvePriceFeed: new CurvePriceFeed(fixture['CurvePriceFeed'].address, deployer),
116
- idlePriceFeed: new IdlePriceFeed(fixture['IdlePriceFeed'].address, deployer),
117
- lidoStethPriceFeed: new LidoStethPriceFeed(fixture['LidoStethPriceFeed'].address, deployer),
118
- revertingPriceFeed: new RevertingPriceFeed(fixture['RevertingPriceFeed'].address, deployer),
119
- synthetixPriceFeed: new SynthetixPriceFeed(fixture['SynthetixPriceFeed'].address, deployer),
120
- stakehoundEthPriceFeed: new StakehoundEthPriceFeed(fixture['StakehoundEthPriceFeed'].address, deployer),
121
- wdgldPriceFeed: new WdgldPriceFeed(fixture['WdgldPriceFeed'].address, deployer),
122
- yearnVaultV2PriceFeed: new YearnVaultV2PriceFeed(fixture['YearnVaultV2PriceFeed'].address, deployer),
123
- valueInterpreter: new ValueInterpreter(fixture['ValueInterpreter'].address, deployer),
124
- uniswapV2PoolPriceFeed: new UniswapV2PoolPriceFeed(fixture['UniswapV2PoolPriceFeed'].address, deployer),
125
- integrationManager: new IntegrationManager(fixture['IntegrationManager'].address, deployer),
126
- externalPositionManager: new ExternalPositionManager(fixture['ExternalPositionManager'].address, deployer),
127
- externalPositionFactory: new ExternalPositionFactory(fixture['ExternalPositionFactory'].address, deployer),
120
+ comptrollerLib: new ComptrollerLib(fixture['ComptrollerLib'].address, deployer),
121
+ cumulativeSlippageTolerancePolicy: new CumulativeSlippageTolerancePolicy(fixture['CumulativeSlippageTolerancePolicy'].address, deployer),
122
+ curveExchangeAdapter: new CurveExchangeAdapter(fixture['CurveExchangeAdapter'].address, deployer),
128
123
  curveLiquidityAaveAdapter: new CurveLiquidityAaveAdapter(fixture['CurveLiquidityAaveAdapter'].address, deployer),
124
+ curveLiquidityAdapter: new CurveLiquidityAdapter(fixture['CurveLiquidityAdapter'].address, deployer),
129
125
  curveLiquidityEursAdapter: new CurveLiquidityEursAdapter(fixture['CurveLiquidityEursAdapter'].address, deployer),
130
126
  curveLiquiditySethAdapter: new CurveLiquiditySethAdapter(fixture['CurveLiquiditySethAdapter'].address, deployer),
131
127
  curveLiquidityStethAdapter: new CurveLiquidityStethAdapter(fixture['CurveLiquidityStethAdapter'].address, deployer),
132
- aaveAdapter: new AaveAdapter(fixture['AaveAdapter'].address, deployer),
133
- idleAdapter: new IdleAdapter(fixture['IdleAdapter'].address, deployer),
134
- paraSwapV4Adapter: new ParaSwapV4Adapter(fixture['ParaSwapV4Adapter'].address, deployer),
135
- synthetixAdapter: new SynthetixAdapter(fixture['SynthetixAdapter'].address, deployer),
136
- yearnVaultV2Adapter: new YearnVaultV2Adapter(fixture['YearnVaultV2Adapter'].address, deployer),
137
- zeroExV2Adapter: new ZeroExV2Adapter(fixture['ZeroExV2Adapter'].address, deployer),
138
- compoundAdapter: new CompoundAdapter(fixture['CompoundAdapter'].address, deployer),
139
- uniswapV2Adapter: new UniswapV2Adapter(fixture['UniswapV2Adapter'].address, deployer),
140
- uniswapV3Adapter: new UniswapV3Adapter(fixture['UniswapV3Adapter'].address, deployer),
141
- curveExchangeAdapter: new CurveExchangeAdapter(fixture['CurveExchangeAdapter'].address, deployer),
142
- feeManager: new FeeManager(fixture['FeeManager'].address, deployer),
143
- comptrollerLib: new ComptrollerLib(fixture['ComptrollerLib'].address, deployer),
128
+ curvePriceFeed: new CurvePriceFeed(fixture['CurvePriceFeed'].address, deployer),
129
+ depositWrapper: new DepositWrapper(fixture['DepositWrapper'].address, deployer),
130
+ dispatcher: new Dispatcher(fixture['Dispatcher'].address, deployer),
144
131
  entranceRateBurnFee: new EntranceRateBurnFee(fixture['EntranceRateBurnFee'].address, deployer),
145
132
  entranceRateDirectFee: new EntranceRateDirectFee(fixture['EntranceRateDirectFee'].address, deployer),
146
133
  exitRateBurnFee: new ExitRateBurnFee(fixture['ExitRateBurnFee'].address, deployer),
147
134
  exitRateDirectFee: new ExitRateDirectFee(fixture['ExitRateDirectFee'].address, deployer),
135
+ externalPositionFactory: new ExternalPositionFactory(fixture['ExternalPositionFactory'].address, deployer),
136
+ externalPositionManager: new ExternalPositionManager(fixture['ExternalPositionManager'].address, deployer),
137
+ feeManager: new FeeManager(fixture['FeeManager'].address, deployer),
138
+ fundDeployer: new FundDeployer(fixture['FundDeployer'].address, deployer),
139
+ fundValueCalculator: new FundValueCalculator(fixture['FundValueCalculator'].address, deployer),
140
+ fundValueCalculatorRouter: new FundValueCalculatorRouter(fixture['FundValueCalculatorRouter'].address, deployer),
141
+ fundValueCalculatorUsdWrapper: new FundValueCalculatorUsdWrapper(fixture['FundValueCalculatorUsdWrapper'].address, deployer),
142
+ gasRelayPaymasterFactory: new GasRelayPaymasterFactory(fixture['GasRelayPaymasterFactory'].address, deployer),
143
+ guaranteedRedemptionPolicy: new GuaranteedRedemptionPolicy(fixture['GuaranteedRedemptionPolicy'].address, deployer),
144
+ idleAdapter: new IdleAdapter(fixture['IdleAdapter'].address, deployer),
145
+ idlePriceFeed: new IdlePriceFeed(fixture['IdlePriceFeed'].address, deployer),
146
+ integrationManager: new IntegrationManager(fixture['IntegrationManager'].address, deployer),
147
+ lidoStethPriceFeed: new LidoStethPriceFeed(fixture['LidoStethPriceFeed'].address, deployer),
148
148
  managementFee: new ManagementFee(fixture['ManagementFee'].address, deployer),
149
- performanceFee: new PerformanceFee(fixture['PerformanceFee'].address, deployer),
150
- depositWrapper: new DepositWrapper(fixture['DepositWrapper'].address, deployer),
151
- unpermissionedActionsWrapper: new UnpermissionedActionsWrapper(fixture['UnpermissionedActionsWrapper'].address, deployer),
152
- allowedAdapterIncomingAssetsPolicy: new AllowedAdapterIncomingAssetsPolicy(fixture['AllowedAdapterIncomingAssetsPolicy'].address, deployer),
149
+ minAssetBalancesPostRedemptionPolicy: new MinAssetBalancesPostRedemptionPolicy(fixture['MinAssetBalancesPostRedemptionPolicy'].address, deployer),
153
150
  minMaxInvestmentPolicy: new MinMaxInvestmentPolicy(fixture['MinMaxInvestmentPolicy'].address, deployer),
154
- allowedDepositRecipientsPolicy: new AllowedDepositRecipientsPolicy(fixture['AllowedDepositRecipientsPolicy'].address, deployer),
155
- guaranteedRedemptionPolicy: new GuaranteedRedemptionPolicy(fixture['GuaranteedRedemptionPolicy'].address, deployer),
156
- globalConfigLib: new GlobalConfigLib(fixture['GlobalConfigLib'].address, deployer),
157
- globalConfigProxy: new GlobalConfigLib(fixture['GlobalConfigProxy'].address, deployer),
158
- assetFinalityResolver: new AssetFinalityResolver(fixture['AssetFinalityResolver'].address, deployer),
151
+ olympusV2Adapter: new OlympusV2Adapter(fixture['OlympusV2Adapter'].address, deployer),
152
+ onlyRemoveDustExternalPositionPolicy: new OnlyRemoveDustExternalPositionPolicy(fixture['OnlyRemoveDustExternalPositionPolicy'].address, deployer),
153
+ onlyUntrackDustOrPricelessAssetsPolicy: new OnlyUntrackDustOrPricelessAssetsPolicy(fixture['OnlyUntrackDustOrPricelessAssetsPolicy'].address, deployer),
154
+ paraSwapV4Adapter: new ParaSwapV4Adapter(fixture['ParaSwapV4Adapter'].address, deployer),
155
+ paraSwapV5Adapter: new ParaSwapV5Adapter(fixture['ParaSwapV5Adapter'].address, deployer),
156
+ performanceFee: new PerformanceFee(fixture['PerformanceFee'].address, deployer),
157
+ policyManager: new PolicyManager(fixture['PolicyManager'].address, deployer),
158
+ poolTogetherV4Adapter: new PoolTogetherV4Adapter(fixture['PoolTogetherV4Adapter'].address, deployer),
159
+ poolTogetherV4PriceFeed: new PoolTogetherV4PriceFeed(fixture['PoolTogetherV4PriceFeed'].address, deployer),
159
160
  protocolFeeReserveLib: new ProtocolFeeReserveLib(fixture['ProtocolFeeReserveLib'].address, deployer),
160
161
  protocolFeeReserveProxy: new ProtocolFeeReserveLib(fixture['ProtocolFeeReserveProxy'].address, deployer),
161
162
  protocolFeeTracker: new ProtocolFeeTracker(fixture['ProtocolFeeTracker'].address, deployer),
162
- gasRelayPaymasterFactory: new GasRelayPaymasterFactory(fixture['GasRelayPaymasterFactory'].address, deployer),
163
- addressListRegistry: new AddressListRegistry(fixture['AddressListRegistry'].address, deployer),
164
- allowedAdaptersPolicy: new AllowedAdaptersPolicy(fixture['AllowedAdaptersPolicy'].address, deployer),
165
- allowedAssetsForRedemptionPolicy: new AllowedAssetsForRedemptionPolicy(fixture['AllowedAssetsForRedemptionPolicy'].address, deployer),
166
- allowedExternalPositionTypesPolicy: new AllowedExternalPositionTypesPolicy(fixture['AllowedExternalPositionTypesPolicy'].address, deployer),
167
- allowedSharesTransferRecipientsPolicy: new AllowedSharesTransferRecipientsPolicy(fixture['AllowedSharesTransferRecipientsPolicy'].address, deployer),
168
- onlyUntrackDustOrPricelessAssetsPolicy: new OnlyUntrackDustOrPricelessAssetsPolicy(fixture['OnlyUntrackDustOrPricelessAssetsPolicy'].address, deployer)
163
+ revertingPriceFeed: new RevertingPriceFeed(fixture['RevertingPriceFeed'].address, deployer),
164
+ stakehoundEthPriceFeed: new StakehoundEthPriceFeed(fixture['StakehoundEthPriceFeed'].address, deployer),
165
+ synthetixAdapter: new SynthetixAdapter(fixture['SynthetixAdapter'].address, deployer),
166
+ synthetixPriceFeed: new SynthetixPriceFeed(fixture['SynthetixPriceFeed'].address, deployer),
167
+ uniswapV2ExchangeAdapter: new UniswapV2ExchangeAdapter(fixture['UniswapV2ExchangeAdapter'].address, deployer),
168
+ uniswapV2LiquidityAdapter: new UniswapV2LiquidityAdapter(fixture['UniswapV2LiquidityAdapter'].address, deployer),
169
+ uniswapV2PoolPriceFeed: new UniswapV2PoolPriceFeed(fixture['UniswapV2PoolPriceFeed'].address, deployer),
170
+ uniswapV3Adapter: new UniswapV3Adapter(fixture['UniswapV3Adapter'].address, deployer),
171
+ unpermissionedActionsWrapper: new UnpermissionedActionsWrapper(fixture['UnpermissionedActionsWrapper'].address, deployer),
172
+ valueInterpreter: new ValueInterpreter(fixture['ValueInterpreter'].address, deployer),
173
+ vaultLib: new VaultLib(fixture['VaultLib'].address, deployer),
174
+ yearnVaultV2Adapter: new YearnVaultV2Adapter(fixture['YearnVaultV2Adapter'].address, deployer),
175
+ yearnVaultV2PriceFeed: new YearnVaultV2PriceFeed(fixture['YearnVaultV2PriceFeed'].address, deployer),
176
+ zeroExV2Adapter: new ZeroExV2Adapter(fixture['ZeroExV2Adapter'].address, deployer)
169
177
  };
170
178
  return _context3.abrupt("return", {
171
- deployer: deployer,
172
- deployment: deployment,
173
179
  accounts: accounts,
174
- config: config
180
+ config: config,
181
+ deployer: deployer,
182
+ deployment: deployment
175
183
  });
176
184
 
177
185
  case 12:
@@ -184,30 +192,6 @@ function _deployProtocolFixture() {
184
192
  return _deployProtocolFixture.apply(this, arguments);
185
193
  }
186
194
 
187
- // TODO: Remove this.
188
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
189
- function defaultTestDeployment(_x2) {
190
- return _defaultTestDeployment.apply(this, arguments);
191
- }
192
-
193
- function _defaultTestDeployment() {
194
- _defaultTestDeployment = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(_) {
195
- return _regeneratorRuntime.wrap(function _callee4$(_context4) {
196
- while (1) {
197
- switch (_context4.prev = _context4.next) {
198
- case 0:
199
- throw new Error('Removed');
200
-
201
- case 1:
202
- case "end":
203
- return _context4.stop();
204
- }
205
- }
206
- }, _callee4);
207
- }));
208
- return _defaultTestDeployment.apply(this, arguments);
209
- }
210
-
211
195
  function addTrackedAssetsToVault(_ref) {
212
196
  var signer = _ref.signer,
213
197
  comptrollerProxy = _ref.comptrollerProxy,
@@ -240,12 +224,12 @@ function _addNewAssetsToFund() {
240
224
  switch (_context.prev = _context.next) {
241
225
  case 0:
242
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;
243
- // First, add tracked assets while their balances are 0
227
+ // First, add tracked assets
244
228
  receipt = addTrackedAssetsToVault({
245
- signer: signer,
229
+ assets: assets,
246
230
  comptrollerProxy: comptrollerProxy,
247
231
  integrationManager: integrationManager,
248
- assets: assets
232
+ signer: signer
249
233
  }); // Then seed the vault with balances as necessary
250
234
 
251
235
  _context.next = 4;
@@ -397,13 +381,13 @@ function createFundDeployer(_x) {
397
381
 
398
382
  function _createFundDeployer() {
399
383
  _createFundDeployer = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {
400
- var deployer, assetFinalityResolver, externalPositionManager, dispatcher, feeManager, gasRelayPaymasterFactory, integrationManager, policyManager, valueInterpreter, vaultLib, _ref$setOnDispatcher, setOnDispatcher, _ref$setReleaseLive, setReleaseLive, mlnToken, wethToken, protocolFeeReserve, nextFundDeployer, nextComptrollerLib, nextProtocolFeeTracker, nextVaultLib;
384
+ var deployer, assetFinalityResolver, externalPositionManager, dispatcher, gasRelayPaymasterFactory, valueInterpreter, vaultLib, _ref$setOnDispatcher, setOnDispatcher, _ref$setReleaseLive, setReleaseLive, mlnToken, wethToken, protocolFeeReserve, nextFundDeployer, nextPolicyManager, nextExternalPositionManager, nextFeeManager, nextIntegrationManager, nextComptrollerLib, nextProtocolFeeTracker, nextVaultLib;
401
385
 
402
386
  return _regeneratorRuntime.wrap(function _callee$(_context) {
403
387
  while (1) {
404
388
  switch (_context.prev = _context.next) {
405
389
  case 0:
406
- deployer = _ref.deployer, assetFinalityResolver = _ref.assetFinalityResolver, externalPositionManager = _ref.externalPositionManager, dispatcher = _ref.dispatcher, feeManager = _ref.feeManager, gasRelayPaymasterFactory = _ref.gasRelayPaymasterFactory, integrationManager = _ref.integrationManager, policyManager = _ref.policyManager, valueInterpreter = _ref.valueInterpreter, vaultLib = _ref.vaultLib, _ref$setOnDispatcher = _ref.setOnDispatcher, setOnDispatcher = _ref$setOnDispatcher === void 0 ? true : _ref$setOnDispatcher, _ref$setReleaseLive = _ref.setReleaseLive, setReleaseLive = _ref$setReleaseLive === void 0 ? true : _ref$setReleaseLive;
390
+ deployer = _ref.deployer, assetFinalityResolver = _ref.assetFinalityResolver, externalPositionManager = _ref.externalPositionManager, dispatcher = _ref.dispatcher, gasRelayPaymasterFactory = _ref.gasRelayPaymasterFactory, valueInterpreter = _ref.valueInterpreter, vaultLib = _ref.vaultLib, _ref$setOnDispatcher = _ref.setOnDispatcher, setOnDispatcher = _ref$setOnDispatcher === void 0 ? true : _ref$setOnDispatcher, _ref$setReleaseLive = _ref.setReleaseLive, setReleaseLive = _ref$setReleaseLive === void 0 ? true : _ref$setReleaseLive;
407
391
  _context.next = 3;
408
392
  return vaultLib.getMlnToken();
409
393
 
@@ -425,77 +409,116 @@ function _createFundDeployer() {
425
409
  case 12:
426
410
  nextFundDeployer = _context.sent;
427
411
  _context.next = 15;
428
- return ComptrollerLib.deploy(deployer, dispatcher, protocolFeeReserve, nextFundDeployer, valueInterpreter, externalPositionManager, feeManager, integrationManager, policyManager, assetFinalityResolver, gasRelayPaymasterFactory, mlnToken, wethToken);
412
+ return PolicyManager.deploy(deployer, nextFundDeployer, gasRelayPaymasterFactory);
429
413
 
430
414
  case 15:
415
+ nextPolicyManager = _context.sent;
416
+ _context.t0 = ExternalPositionManager;
417
+ _context.t1 = deployer;
418
+ _context.t2 = nextFundDeployer;
419
+ _context.next = 21;
420
+ return externalPositionManager.getExternalPositionFactory();
421
+
422
+ case 21:
423
+ _context.t3 = _context.sent;
424
+ _context.t4 = nextPolicyManager;
425
+ _context.next = 25;
426
+ return _context.t0.deploy.call(_context.t0, _context.t1, _context.t2, _context.t3, _context.t4);
427
+
428
+ case 25:
429
+ nextExternalPositionManager = _context.sent;
430
+ _context.next = 28;
431
+ return FeeManager.deploy(deployer, nextFundDeployer);
432
+
433
+ case 28:
434
+ nextFeeManager = _context.sent;
435
+ _context.next = 31;
436
+ return IntegrationManager.deploy(deployer, nextFundDeployer, nextPolicyManager, valueInterpreter);
437
+
438
+ case 31:
439
+ nextIntegrationManager = _context.sent;
440
+ _context.next = 34;
441
+ return ComptrollerLib.deploy(deployer, dispatcher, protocolFeeReserve, nextFundDeployer, valueInterpreter, nextExternalPositionManager, nextFeeManager, nextIntegrationManager, nextPolicyManager, assetFinalityResolver, gasRelayPaymasterFactory, mlnToken, wethToken);
442
+
443
+ case 34:
431
444
  nextComptrollerLib = _context.sent;
432
- _context.next = 18;
445
+ _context.next = 37;
433
446
  return nextFundDeployer.setComptrollerLib(nextComptrollerLib);
434
447
 
435
- case 18:
436
- _context.next = 20;
448
+ case 37:
449
+ _context.next = 39;
437
450
  return ProtocolFeeTracker.deploy(deployer, nextFundDeployer);
438
451
 
439
- case 20:
452
+ case 39:
440
453
  nextProtocolFeeTracker = _context.sent;
441
- _context.next = 23;
454
+ _context.next = 42;
442
455
  return nextFundDeployer.setProtocolFeeTracker(nextProtocolFeeTracker);
443
456
 
444
- case 23:
445
- _context.t0 = VaultLib;
446
- _context.t1 = deployer;
447
- _context.t2 = externalPositionManager;
448
- _context.next = 28;
457
+ case 42:
458
+ _context.t5 = VaultLib;
459
+ _context.t6 = deployer;
460
+ _context.t7 = externalPositionManager;
461
+ _context.next = 47;
449
462
  return vaultLib.getGasRelayPaymasterFactory();
450
463
 
451
- case 28:
452
- _context.t3 = _context.sent;
453
- _context.next = 31;
464
+ case 47:
465
+ _context.t8 = _context.sent;
466
+ _context.next = 50;
454
467
  return vaultLib.getProtocolFeeReserve();
455
468
 
456
- case 31:
457
- _context.t4 = _context.sent;
458
- _context.t5 = nextProtocolFeeTracker;
459
- _context.next = 35;
469
+ case 50:
470
+ _context.t9 = _context.sent;
471
+ _context.t10 = nextProtocolFeeTracker;
472
+ _context.next = 54;
460
473
  return vaultLib.getMlnToken();
461
474
 
462
- case 35:
463
- _context.t6 = _context.sent;
464
- _context.next = 38;
475
+ case 54:
476
+ _context.t11 = _context.sent;
477
+ _context.next = 57;
478
+ return vaultLib.getMlnBurner();
479
+
480
+ case 57:
481
+ _context.t12 = _context.sent;
482
+ _context.next = 60;
465
483
  return vaultLib.getWethToken();
466
484
 
467
- case 38:
468
- _context.t7 = _context.sent;
469
- _context.next = 41;
470
- return _context.t0.deploy.call(_context.t0, _context.t1, _context.t2, _context.t3, _context.t4, _context.t5, _context.t6, _context.t7);
485
+ case 60:
486
+ _context.t13 = _context.sent;
487
+ _context.next = 63;
488
+ return vaultLib.getPositionsLimit();
489
+
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);
471
494
 
472
- case 41:
495
+ case 66:
473
496
  nextVaultLib = _context.sent;
474
- _context.next = 44;
497
+ _context.next = 69;
475
498
  return nextFundDeployer.setVaultLib(nextVaultLib);
476
499
 
477
- case 44:
500
+ case 69:
478
501
  if (!setReleaseLive) {
479
- _context.next = 47;
502
+ _context.next = 72;
480
503
  break;
481
504
  }
482
505
 
483
- _context.next = 47;
506
+ _context.next = 72;
484
507
  return nextFundDeployer.setReleaseLive();
485
508
 
486
- case 47:
509
+ case 72:
487
510
  if (!setOnDispatcher) {
488
- _context.next = 50;
511
+ _context.next = 75;
489
512
  break;
490
513
  }
491
514
 
492
- _context.next = 50;
515
+ _context.next = 75;
493
516
  return dispatcher.setCurrentFundDeployer(nextFundDeployer);
494
517
 
495
- case 50:
518
+ case 75:
496
519
  return _context.abrupt("return", nextFundDeployer);
497
520
 
498
- case 51:
521
+ case 76:
499
522
  case "end":
500
523
  return _context.stop();
501
524
  }
@@ -541,297 +564,331 @@ function _callOnExtension() {
541
564
  return _callOnExtension.apply(this, arguments);
542
565
  }
543
566
 
544
- function createExternalPosition(_x) {
567
+ function callOnExternalPosition(_x) {
568
+ return _callOnExternalPosition.apply(this, arguments);
569
+ }
570
+
571
+ function _callOnExternalPosition() {
572
+ _callOnExternalPosition = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {
573
+ var signer, comptrollerProxy, externalPositionManager, externalPositionProxy, actionId, actionArgs, callArgs;
574
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
575
+ while (1) {
576
+ switch (_context.prev = _context.next) {
577
+ case 0:
578
+ signer = _ref.signer, comptrollerProxy = _ref.comptrollerProxy, externalPositionManager = _ref.externalPositionManager, externalPositionProxy = _ref.externalPositionProxy, actionId = _ref.actionId, actionArgs = _ref.actionArgs;
579
+ callArgs = callOnExternalPositionArgs({
580
+ actionArgs: actionArgs,
581
+ actionId: actionId,
582
+ externalPositionProxy: externalPositionProxy
583
+ });
584
+ return _context.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(externalPositionManager, ExternalPositionManagerActionId.CallOnExternalPosition, callArgs));
585
+
586
+ case 3:
587
+ case "end":
588
+ return _context.stop();
589
+ }
590
+ }
591
+ }, _callee);
592
+ }));
593
+ return _callOnExternalPosition.apply(this, arguments);
594
+ }
595
+
596
+ function createExternalPosition(_x2) {
545
597
  return _createExternalPosition.apply(this, arguments);
546
598
  }
547
599
 
548
600
  function _createExternalPosition() {
549
- _createExternalPosition = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {
550
- var signer, comptrollerProxy, externalPositionManager, externalPositionTypeId, _ref$initializationDa, initializationData, receipt, event, externalPositionProxy;
601
+ _createExternalPosition = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(_ref2) {
602
+ var signer, comptrollerProxy, externalPositionManager, externalPositionTypeId, _ref2$initializationD, initializationData, receipt, event, externalPositionProxy;
551
603
 
552
- return _regeneratorRuntime.wrap(function _callee$(_context) {
604
+ return _regeneratorRuntime.wrap(function _callee2$(_context2) {
553
605
  while (1) {
554
- switch (_context.prev = _context.next) {
606
+ switch (_context2.prev = _context2.next) {
555
607
  case 0:
556
- signer = _ref.signer, comptrollerProxy = _ref.comptrollerProxy, externalPositionManager = _ref.externalPositionManager, externalPositionTypeId = _ref.externalPositionTypeId, _ref$initializationDa = _ref.initializationData, initializationData = _ref$initializationDa === void 0 ? '0x' : _ref$initializationDa;
557
- _context.next = 3;
608
+ signer = _ref2.signer, comptrollerProxy = _ref2.comptrollerProxy, externalPositionManager = _ref2.externalPositionManager, externalPositionTypeId = _ref2.externalPositionTypeId, _ref2$initializationD = _ref2.initializationData, initializationData = _ref2$initializationD === void 0 ? '0x' : _ref2$initializationD;
609
+ _context2.next = 3;
558
610
  return comptrollerProxy.connect(signer).callOnExtension(externalPositionManager, ExternalPositionManagerActionId.CreateExternalPosition, encodeArgs(['uint256', 'bytes'], [externalPositionTypeId, initializationData]));
559
611
 
560
612
  case 3:
561
- receipt = _context.sent;
613
+ receipt = _context2.sent;
562
614
  event = extractEvent(receipt, externalPositionManager.abi.getEvent('ExternalPositionDeployedForFund'));
563
615
  externalPositionProxy = new IExternalPositionProxy(event[0].args.externalPosition, signer);
564
- return _context.abrupt("return", {
565
- receipt: receipt,
566
- externalPositionProxy: externalPositionProxy
616
+ return _context2.abrupt("return", {
617
+ externalPositionProxy: externalPositionProxy,
618
+ receipt: receipt
567
619
  });
568
620
 
569
621
  case 7:
570
622
  case "end":
571
- return _context.stop();
623
+ return _context2.stop();
572
624
  }
573
625
  }
574
- }, _callee);
626
+ }, _callee2);
575
627
  }));
576
628
  return _createExternalPosition.apply(this, arguments);
577
629
  }
578
630
 
579
- function reactivateExternalPosition(_x2) {
631
+ function reactivateExternalPosition(_x3) {
580
632
  return _reactivateExternalPosition.apply(this, arguments);
581
633
  }
582
634
 
583
635
  function _reactivateExternalPosition() {
584
- _reactivateExternalPosition = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(_ref2) {
636
+ _reactivateExternalPosition = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(_ref3) {
585
637
  var signer, comptrollerProxy, externalPositionManager, externalPositionProxy, callArgs;
586
- return _regeneratorRuntime.wrap(function _callee2$(_context2) {
638
+ return _regeneratorRuntime.wrap(function _callee3$(_context3) {
587
639
  while (1) {
588
- switch (_context2.prev = _context2.next) {
640
+ switch (_context3.prev = _context3.next) {
589
641
  case 0:
590
- signer = _ref2.signer, comptrollerProxy = _ref2.comptrollerProxy, externalPositionManager = _ref2.externalPositionManager, externalPositionProxy = _ref2.externalPositionProxy;
642
+ signer = _ref3.signer, comptrollerProxy = _ref3.comptrollerProxy, externalPositionManager = _ref3.externalPositionManager, externalPositionProxy = _ref3.externalPositionProxy;
591
643
  callArgs = externalPositionReactivateArgs({
592
644
  externalPositionProxy: externalPositionProxy
593
645
  });
594
- return _context2.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(externalPositionManager, ExternalPositionManagerActionId.ReactivateExternalPosition, callArgs));
646
+ return _context3.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(externalPositionManager, ExternalPositionManagerActionId.ReactivateExternalPosition, callArgs));
595
647
 
596
648
  case 3:
597
649
  case "end":
598
- return _context2.stop();
650
+ return _context3.stop();
599
651
  }
600
652
  }
601
- }, _callee2);
653
+ }, _callee3);
602
654
  }));
603
655
  return _reactivateExternalPosition.apply(this, arguments);
604
656
  }
605
657
 
606
- function removeExternalPosition(_x3) {
658
+ function removeExternalPosition(_x4) {
607
659
  return _removeExternalPosition.apply(this, arguments);
608
660
  }
609
661
 
610
662
  function _removeExternalPosition() {
611
- _removeExternalPosition = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(_ref3) {
663
+ _removeExternalPosition = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(_ref4) {
612
664
  var signer, comptrollerProxy, externalPositionManager, externalPositionProxy, callArgs;
613
- return _regeneratorRuntime.wrap(function _callee3$(_context3) {
665
+ return _regeneratorRuntime.wrap(function _callee4$(_context4) {
614
666
  while (1) {
615
- switch (_context3.prev = _context3.next) {
667
+ switch (_context4.prev = _context4.next) {
616
668
  case 0:
617
- signer = _ref3.signer, comptrollerProxy = _ref3.comptrollerProxy, externalPositionManager = _ref3.externalPositionManager, externalPositionProxy = _ref3.externalPositionProxy;
669
+ signer = _ref4.signer, comptrollerProxy = _ref4.comptrollerProxy, externalPositionManager = _ref4.externalPositionManager, externalPositionProxy = _ref4.externalPositionProxy;
618
670
  callArgs = externalPositionRemoveArgs({
619
671
  externalPositionProxy: externalPositionProxy
620
672
  });
621
- return _context3.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(externalPositionManager, ExternalPositionManagerActionId.RemoveExternalPosition, callArgs));
673
+ return _context4.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(externalPositionManager, ExternalPositionManagerActionId.RemoveExternalPosition, callArgs));
622
674
 
623
675
  case 3:
624
676
  case "end":
625
- return _context3.stop();
677
+ return _context4.stop();
626
678
  }
627
679
  }
628
- }, _callee3);
680
+ }, _callee4);
629
681
  }));
630
682
  return _removeExternalPosition.apply(this, arguments);
631
683
  }
632
684
 
633
- function createCompoundDebtPosition(_x) {
634
- return _createCompoundDebtPosition.apply(this, arguments);
685
+ function compoundDebtPositionAddCollateral(_x) {
686
+ return _compoundDebtPositionAddCollateral.apply(this, arguments);
635
687
  }
636
688
 
637
- function _createCompoundDebtPosition() {
638
- _createCompoundDebtPosition = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {
639
- var signer, comptrollerProxy, externalPositionManager;
689
+ function _compoundDebtPositionAddCollateral() {
690
+ _compoundDebtPositionAddCollateral = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {
691
+ var comptrollerProxy, externalPositionManager, fundOwner, assets, amounts, externalPositionProxy, cTokens, actionArgs;
640
692
  return _regeneratorRuntime.wrap(function _callee$(_context) {
641
693
  while (1) {
642
694
  switch (_context.prev = _context.next) {
643
695
  case 0:
644
- signer = _ref.signer, comptrollerProxy = _ref.comptrollerProxy, externalPositionManager = _ref.externalPositionManager;
645
- return _context.abrupt("return", createExternalPosition({
646
- signer: signer,
696
+ comptrollerProxy = _ref.comptrollerProxy, externalPositionManager = _ref.externalPositionManager, fundOwner = _ref.fundOwner, assets = _ref.assets, amounts = _ref.amounts, externalPositionProxy = _ref.externalPositionProxy, cTokens = _ref.cTokens;
697
+ actionArgs = compoundExternalPositionActionArgs({
698
+ amounts: amounts,
699
+ assets: assets,
700
+ data: encodeArgs(['address[]'], [cTokens])
701
+ });
702
+ return _context.abrupt("return", callOnExternalPosition({
703
+ actionArgs: actionArgs,
704
+ actionId: CompoundDebtPositionActionId.AddCollateralAssets,
647
705
  comptrollerProxy: comptrollerProxy,
648
706
  externalPositionManager: externalPositionManager,
649
- externalPositionTypeId: ExternalPositionType.CompoundDebtPosition
707
+ externalPositionProxy: externalPositionProxy,
708
+ signer: fundOwner
650
709
  }));
651
710
 
652
- case 2:
711
+ case 3:
653
712
  case "end":
654
713
  return _context.stop();
655
714
  }
656
715
  }
657
716
  }, _callee);
658
717
  }));
659
- return _createCompoundDebtPosition.apply(this, arguments);
718
+ return _compoundDebtPositionAddCollateral.apply(this, arguments);
660
719
  }
661
720
 
662
- function addCollateral(_x2) {
663
- return _addCollateral.apply(this, arguments);
721
+ function compoundDebtPositionBorrow(_x2) {
722
+ return _compoundDebtPositionBorrow.apply(this, arguments);
664
723
  }
665
724
 
666
- function _addCollateral() {
667
- _addCollateral = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(_ref2) {
668
- var comptrollerProxy, externalPositionManager, fundOwner, assets, amounts, externalPositionProxy, cTokens, actionArgs, callArgs, addCollateralTx;
725
+ function _compoundDebtPositionBorrow() {
726
+ _compoundDebtPositionBorrow = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(_ref2) {
727
+ var comptrollerProxy, externalPositionManager, fundOwner, externalPositionProxy, assets, amounts, cTokens, actionArgs;
669
728
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
670
729
  while (1) {
671
730
  switch (_context2.prev = _context2.next) {
672
731
  case 0:
673
- comptrollerProxy = _ref2.comptrollerProxy, externalPositionManager = _ref2.externalPositionManager, fundOwner = _ref2.fundOwner, assets = _ref2.assets, amounts = _ref2.amounts, externalPositionProxy = _ref2.externalPositionProxy, cTokens = _ref2.cTokens;
732
+ comptrollerProxy = _ref2.comptrollerProxy, externalPositionManager = _ref2.externalPositionManager, fundOwner = _ref2.fundOwner, externalPositionProxy = _ref2.externalPositionProxy, assets = _ref2.assets, amounts = _ref2.amounts, cTokens = _ref2.cTokens;
674
733
  actionArgs = compoundExternalPositionActionArgs({
675
- assets: assets,
676
734
  amounts: amounts,
735
+ assets: assets,
677
736
  data: encodeArgs(['address[]'], [cTokens])
678
737
  });
679
- callArgs = callOnExternalPositionArgs({
738
+ return _context2.abrupt("return", callOnExternalPosition({
739
+ actionArgs: actionArgs,
740
+ actionId: CompoundDebtPositionActionId.BorrowAsset,
741
+ comptrollerProxy: comptrollerProxy,
742
+ externalPositionManager: externalPositionManager,
680
743
  externalPositionProxy: externalPositionProxy,
681
- actionId: CompoundDebtPositionActionId.AddCollateralAssets,
682
- encodedCallArgs: actionArgs
683
- });
684
- addCollateralTx = comptrollerProxy.connect(fundOwner).callOnExtension(externalPositionManager, ExternalPositionManagerActionId.CallOnExternalPosition, callArgs);
685
- return _context2.abrupt("return", addCollateralTx);
744
+ signer: fundOwner
745
+ }));
686
746
 
687
- case 5:
747
+ case 3:
688
748
  case "end":
689
749
  return _context2.stop();
690
750
  }
691
751
  }
692
752
  }, _callee2);
693
753
  }));
694
- return _addCollateral.apply(this, arguments);
754
+ return _compoundDebtPositionBorrow.apply(this, arguments);
695
755
  }
696
756
 
697
- function removeCollateral(_x3) {
698
- return _removeCollateral.apply(this, arguments);
757
+ function compoundDebtPositionClaimComp(_x3) {
758
+ return _compoundDebtPositionClaimComp.apply(this, arguments);
699
759
  }
700
760
 
701
- function _removeCollateral() {
702
- _removeCollateral = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(_ref3) {
703
- var comptrollerProxy, externalPositionManager, fundOwner, assets, amounts, externalPositionProxy, cTokens, actionArgs, callArgs, removeCollateralTx;
761
+ function _compoundDebtPositionClaimComp() {
762
+ _compoundDebtPositionClaimComp = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(_ref3) {
763
+ var comptrollerProxy, externalPositionManager, fundOwner, externalPositionProxy, actionArgs;
704
764
  return _regeneratorRuntime.wrap(function _callee3$(_context3) {
705
765
  while (1) {
706
766
  switch (_context3.prev = _context3.next) {
707
767
  case 0:
708
- comptrollerProxy = _ref3.comptrollerProxy, externalPositionManager = _ref3.externalPositionManager, fundOwner = _ref3.fundOwner, assets = _ref3.assets, amounts = _ref3.amounts, externalPositionProxy = _ref3.externalPositionProxy, cTokens = _ref3.cTokens;
768
+ comptrollerProxy = _ref3.comptrollerProxy, externalPositionManager = _ref3.externalPositionManager, fundOwner = _ref3.fundOwner, externalPositionProxy = _ref3.externalPositionProxy;
709
769
  actionArgs = compoundExternalPositionActionArgs({
710
- assets: assets,
711
- amounts: amounts,
712
- data: encodeArgs(['address[]'], [cTokens])
770
+ amounts: [],
771
+ assets: [],
772
+ data: '0x'
713
773
  });
714
- callArgs = callOnExternalPositionArgs({
774
+ return _context3.abrupt("return", callOnExternalPosition({
775
+ actionArgs: actionArgs,
776
+ actionId: CompoundDebtPositionActionId.ClaimComp,
777
+ comptrollerProxy: comptrollerProxy,
778
+ externalPositionManager: externalPositionManager,
715
779
  externalPositionProxy: externalPositionProxy,
716
- actionId: CompoundDebtPositionActionId.RemoveCollateralAssets,
717
- encodedCallArgs: actionArgs
718
- });
719
- removeCollateralTx = comptrollerProxy.connect(fundOwner).callOnExtension(externalPositionManager, ExternalPositionManagerActionId.CallOnExternalPosition, callArgs);
720
- return _context3.abrupt("return", removeCollateralTx);
780
+ signer: fundOwner
781
+ }));
721
782
 
722
- case 5:
783
+ case 3:
723
784
  case "end":
724
785
  return _context3.stop();
725
786
  }
726
787
  }
727
788
  }, _callee3);
728
789
  }));
729
- return _removeCollateral.apply(this, arguments);
790
+ return _compoundDebtPositionClaimComp.apply(this, arguments);
730
791
  }
731
792
 
732
- function borrow(_x4) {
733
- return _borrow.apply(this, arguments);
793
+ function compoundDebtPositionRemoveCollateral(_x4) {
794
+ return _compoundDebtPositionRemoveCollateral.apply(this, arguments);
734
795
  }
735
796
 
736
- function _borrow() {
737
- _borrow = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(_ref4) {
738
- var comptrollerProxy, externalPositionManager, fundOwner, externalPositionProxy, assets, amounts, cTokens, actionArgs, callArgs, borrowTx;
797
+ function _compoundDebtPositionRemoveCollateral() {
798
+ _compoundDebtPositionRemoveCollateral = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(_ref4) {
799
+ var comptrollerProxy, externalPositionManager, fundOwner, assets, amounts, externalPositionProxy, cTokens, actionArgs;
739
800
  return _regeneratorRuntime.wrap(function _callee4$(_context4) {
740
801
  while (1) {
741
802
  switch (_context4.prev = _context4.next) {
742
803
  case 0:
743
- comptrollerProxy = _ref4.comptrollerProxy, externalPositionManager = _ref4.externalPositionManager, fundOwner = _ref4.fundOwner, externalPositionProxy = _ref4.externalPositionProxy, assets = _ref4.assets, amounts = _ref4.amounts, cTokens = _ref4.cTokens;
804
+ comptrollerProxy = _ref4.comptrollerProxy, externalPositionManager = _ref4.externalPositionManager, fundOwner = _ref4.fundOwner, assets = _ref4.assets, amounts = _ref4.amounts, externalPositionProxy = _ref4.externalPositionProxy, cTokens = _ref4.cTokens;
744
805
  actionArgs = compoundExternalPositionActionArgs({
745
- assets: assets,
746
806
  amounts: amounts,
807
+ assets: assets,
747
808
  data: encodeArgs(['address[]'], [cTokens])
748
809
  });
749
- callArgs = callOnExternalPositionArgs({
810
+ return _context4.abrupt("return", callOnExternalPosition({
811
+ actionArgs: actionArgs,
812
+ actionId: CompoundDebtPositionActionId.RemoveCollateralAssets,
813
+ comptrollerProxy: comptrollerProxy,
814
+ externalPositionManager: externalPositionManager,
750
815
  externalPositionProxy: externalPositionProxy,
751
- actionId: CompoundDebtPositionActionId.BorrowAsset,
752
- encodedCallArgs: actionArgs
753
- });
754
- borrowTx = comptrollerProxy.connect(fundOwner).callOnExtension(externalPositionManager, ExternalPositionManagerActionId.CallOnExternalPosition, callArgs);
755
- return _context4.abrupt("return", borrowTx);
816
+ signer: fundOwner
817
+ }));
756
818
 
757
- case 5:
819
+ case 3:
758
820
  case "end":
759
821
  return _context4.stop();
760
822
  }
761
823
  }
762
824
  }, _callee4);
763
825
  }));
764
- return _borrow.apply(this, arguments);
826
+ return _compoundDebtPositionRemoveCollateral.apply(this, arguments);
765
827
  }
766
828
 
767
- function claimComp(_x5) {
768
- return _claimComp.apply(this, arguments);
829
+ function compoundDebtPositionRepayBorrow(_x5) {
830
+ return _compoundDebtPositionRepayBorrow.apply(this, arguments);
769
831
  }
770
832
 
771
- function _claimComp() {
772
- _claimComp = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5(_ref5) {
773
- var comptrollerProxy, externalPositionManager, fundOwner, externalPositionProxy, actionArgs, callArgs, claimCompTx;
833
+ function _compoundDebtPositionRepayBorrow() {
834
+ _compoundDebtPositionRepayBorrow = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5(_ref5) {
835
+ var comptrollerProxy, externalPositionManager, fundOwner, assets, amounts, externalPositionProxy, cTokens, actionArgs;
774
836
  return _regeneratorRuntime.wrap(function _callee5$(_context5) {
775
837
  while (1) {
776
838
  switch (_context5.prev = _context5.next) {
777
839
  case 0:
778
- comptrollerProxy = _ref5.comptrollerProxy, externalPositionManager = _ref5.externalPositionManager, fundOwner = _ref5.fundOwner, externalPositionProxy = _ref5.externalPositionProxy;
840
+ comptrollerProxy = _ref5.comptrollerProxy, externalPositionManager = _ref5.externalPositionManager, fundOwner = _ref5.fundOwner, assets = _ref5.assets, amounts = _ref5.amounts, externalPositionProxy = _ref5.externalPositionProxy, cTokens = _ref5.cTokens;
779
841
  actionArgs = compoundExternalPositionActionArgs({
780
- assets: [],
781
- amounts: [],
782
- data: '0x'
842
+ amounts: amounts,
843
+ assets: assets,
844
+ data: encodeArgs(['address[]'], [cTokens])
783
845
  });
784
- callArgs = callOnExternalPositionArgs({
846
+ return _context5.abrupt("return", callOnExternalPosition({
847
+ actionArgs: actionArgs,
848
+ actionId: CompoundDebtPositionActionId.RepayBorrowedAssets,
849
+ comptrollerProxy: comptrollerProxy,
850
+ externalPositionManager: externalPositionManager,
785
851
  externalPositionProxy: externalPositionProxy,
786
- actionId: CompoundDebtPositionActionId.ClaimComp,
787
- encodedCallArgs: actionArgs
788
- });
789
- claimCompTx = comptrollerProxy.connect(fundOwner).callOnExtension(externalPositionManager, ExternalPositionManagerActionId.CallOnExternalPosition, callArgs);
790
- return _context5.abrupt("return", claimCompTx);
852
+ signer: fundOwner
853
+ }));
791
854
 
792
- case 5:
855
+ case 3:
793
856
  case "end":
794
857
  return _context5.stop();
795
858
  }
796
859
  }
797
860
  }, _callee5);
798
861
  }));
799
- return _claimComp.apply(this, arguments);
862
+ return _compoundDebtPositionRepayBorrow.apply(this, arguments);
800
863
  }
801
864
 
802
- function repayBorrow(_x6) {
803
- return _repayBorrow.apply(this, arguments);
865
+ function createCompoundDebtPosition(_x6) {
866
+ return _createCompoundDebtPosition.apply(this, arguments);
804
867
  }
805
868
 
806
- function _repayBorrow() {
807
- _repayBorrow = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee6(_ref6) {
808
- var comptrollerProxy, externalPositionManager, fundOwner, assets, amounts, externalPositionProxy, cTokens, actionArgs, callArgs, repayTx;
869
+ function _createCompoundDebtPosition() {
870
+ _createCompoundDebtPosition = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee6(_ref6) {
871
+ var signer, comptrollerProxy, externalPositionManager;
809
872
  return _regeneratorRuntime.wrap(function _callee6$(_context6) {
810
873
  while (1) {
811
874
  switch (_context6.prev = _context6.next) {
812
875
  case 0:
813
- comptrollerProxy = _ref6.comptrollerProxy, externalPositionManager = _ref6.externalPositionManager, fundOwner = _ref6.fundOwner, assets = _ref6.assets, amounts = _ref6.amounts, externalPositionProxy = _ref6.externalPositionProxy, cTokens = _ref6.cTokens;
814
- actionArgs = compoundExternalPositionActionArgs({
815
- assets: assets,
816
- amounts: amounts,
817
- data: encodeArgs(['address[]'], [cTokens])
818
- });
819
- callArgs = callOnExternalPositionArgs({
820
- externalPositionProxy: externalPositionProxy,
821
- actionId: CompoundDebtPositionActionId.RepayBorrowedAssets,
822
- encodedCallArgs: actionArgs
823
- });
824
- repayTx = comptrollerProxy.connect(fundOwner).callOnExtension(externalPositionManager, ExternalPositionManagerActionId.CallOnExternalPosition, callArgs);
825
- return _context6.abrupt("return", repayTx);
876
+ signer = _ref6.signer, comptrollerProxy = _ref6.comptrollerProxy, externalPositionManager = _ref6.externalPositionManager;
877
+ return _context6.abrupt("return", createExternalPosition({
878
+ comptrollerProxy: comptrollerProxy,
879
+ externalPositionManager: externalPositionManager,
880
+ externalPositionTypeId: ExternalPositionType.CompoundDebtPosition,
881
+ signer: signer
882
+ }));
826
883
 
827
- case 5:
884
+ case 2:
828
885
  case "end":
829
886
  return _context6.stop();
830
887
  }
831
888
  }
832
889
  }, _callee6);
833
890
  }));
834
- return _repayBorrow.apply(this, arguments);
891
+ return _createCompoundDebtPosition.apply(this, arguments);
835
892
  }
836
893
 
837
894
  function createMockExternalPosition(_x) {
@@ -846,7 +903,7 @@ function _createMockExternalPosition() {
846
903
  switch (_context.prev = _context.next) {
847
904
  case 0:
848
905
  comptrollerProxy = _ref.comptrollerProxy, externalPositionManager = _ref.externalPositionManager, externalPositionFactory = _ref.externalPositionFactory, defaultActionAssetsToTransfer = _ref.defaultActionAssetsToTransfer, defaultActionAmountsToTransfer = _ref.defaultActionAmountsToTransfer, defaultActionAssetsToReceive = _ref.defaultActionAssetsToReceive, fundOwner = _ref.fundOwner, deployer = _ref.deployer;
849
- _context.t0 = VaultLib$1;
906
+ _context.t0 = VaultLib;
850
907
  _context.next = 4;
851
908
  return comptrollerProxy.getVaultProxy();
852
909
 
@@ -879,7 +936,7 @@ function _createMockExternalPosition() {
879
936
 
880
937
  case 21:
881
938
  _context.next = 23;
882
- return comptrollerProxy.connect(fundOwner).callOnExtension(externalPositionManager, ExternalPositionManagerActionId$1.CreateExternalPosition, encodeArgs$1(['uint256', 'bytes'], [typeId, '0x']));
939
+ return comptrollerProxy.connect(fundOwner).callOnExtension(externalPositionManager, ExternalPositionManagerActionId.CreateExternalPosition, encodeArgs(['uint256', 'bytes'], [typeId, '0x']));
883
940
 
884
941
  case 23:
885
942
  receipt = _context.sent;
@@ -889,11 +946,11 @@ function _createMockExternalPosition() {
889
946
  case 26:
890
947
  externalPositionProxy = _context.sent[0];
891
948
  return _context.abrupt("return", {
892
- typeId: typeId,
893
- mockGenericExternalPositionLib: mockGenericExternalPositionLib,
894
- mockExternalPositionParser: mockExternalPositionParser,
895
949
  externalPositionProxy: externalPositionProxy,
896
- receipt: receipt
950
+ mockExternalPositionParser: mockExternalPositionParser,
951
+ mockGenericExternalPositionLib: mockGenericExternalPositionLib,
952
+ receipt: receipt,
953
+ typeId: typeId
897
954
  });
898
955
 
899
956
  case 28:
@@ -906,6 +963,416 @@ function _createMockExternalPosition() {
906
963
  return _createMockExternalPosition.apply(this, arguments);
907
964
  }
908
965
 
966
+ function mockExternalPositionAddDebtAssets(_x2) {
967
+ return _mockExternalPositionAddDebtAssets.apply(this, arguments);
968
+ }
969
+
970
+ function _mockExternalPositionAddDebtAssets() {
971
+ _mockExternalPositionAddDebtAssets = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(_ref2) {
972
+ var signer, comptrollerProxy, externalPositionManager, externalPositionProxy, assets, amounts, actionArgs;
973
+ return _regeneratorRuntime.wrap(function _callee2$(_context2) {
974
+ while (1) {
975
+ switch (_context2.prev = _context2.next) {
976
+ case 0:
977
+ signer = _ref2.signer, comptrollerProxy = _ref2.comptrollerProxy, externalPositionManager = _ref2.externalPositionManager, externalPositionProxy = _ref2.externalPositionProxy, assets = _ref2.assets, amounts = _ref2.amounts;
978
+ actionArgs = mockGenericExternalPositionActionArgs({
979
+ amounts: amounts,
980
+ assets: assets
981
+ });
982
+ return _context2.abrupt("return", callOnExternalPosition({
983
+ actionArgs: actionArgs,
984
+ actionId: MockGenericExternalPositionActionId.AddDebtAssets,
985
+ comptrollerProxy: comptrollerProxy,
986
+ externalPositionManager: externalPositionManager,
987
+ externalPositionProxy: externalPositionProxy,
988
+ signer: signer
989
+ }));
990
+
991
+ case 3:
992
+ case "end":
993
+ return _context2.stop();
994
+ }
995
+ }
996
+ }, _callee2);
997
+ }));
998
+ return _mockExternalPositionAddDebtAssets.apply(this, arguments);
999
+ }
1000
+
1001
+ function mockExternalPositionAddManagedAssets(_x3) {
1002
+ return _mockExternalPositionAddManagedAssets.apply(this, arguments);
1003
+ }
1004
+
1005
+ function _mockExternalPositionAddManagedAssets() {
1006
+ _mockExternalPositionAddManagedAssets = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(_ref3) {
1007
+ var signer, comptrollerProxy, externalPositionManager, externalPositionProxy, assets, amounts, actionArgs;
1008
+ return _regeneratorRuntime.wrap(function _callee3$(_context3) {
1009
+ while (1) {
1010
+ switch (_context3.prev = _context3.next) {
1011
+ case 0:
1012
+ signer = _ref3.signer, comptrollerProxy = _ref3.comptrollerProxy, externalPositionManager = _ref3.externalPositionManager, externalPositionProxy = _ref3.externalPositionProxy, assets = _ref3.assets, amounts = _ref3.amounts;
1013
+ actionArgs = mockGenericExternalPositionActionArgs({
1014
+ amounts: amounts,
1015
+ assets: assets
1016
+ });
1017
+ return _context3.abrupt("return", callOnExternalPosition({
1018
+ actionArgs: actionArgs,
1019
+ actionId: MockGenericExternalPositionActionId.AddManagedAssets,
1020
+ comptrollerProxy: comptrollerProxy,
1021
+ externalPositionManager: externalPositionManager,
1022
+ externalPositionProxy: externalPositionProxy,
1023
+ signer: signer
1024
+ }));
1025
+
1026
+ case 3:
1027
+ case "end":
1028
+ return _context3.stop();
1029
+ }
1030
+ }
1031
+ }, _callee3);
1032
+ }));
1033
+ return _mockExternalPositionAddManagedAssets.apply(this, arguments);
1034
+ }
1035
+
1036
+ function mockExternalPositionRemoveDebtAssets(_x4) {
1037
+ return _mockExternalPositionRemoveDebtAssets.apply(this, arguments);
1038
+ }
1039
+
1040
+ function _mockExternalPositionRemoveDebtAssets() {
1041
+ _mockExternalPositionRemoveDebtAssets = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(_ref4) {
1042
+ var signer, comptrollerProxy, externalPositionManager, externalPositionProxy, assets, amounts, actionArgs;
1043
+ return _regeneratorRuntime.wrap(function _callee4$(_context4) {
1044
+ while (1) {
1045
+ switch (_context4.prev = _context4.next) {
1046
+ case 0:
1047
+ signer = _ref4.signer, comptrollerProxy = _ref4.comptrollerProxy, externalPositionManager = _ref4.externalPositionManager, externalPositionProxy = _ref4.externalPositionProxy, assets = _ref4.assets, amounts = _ref4.amounts;
1048
+ actionArgs = mockGenericExternalPositionActionArgs({
1049
+ amounts: amounts,
1050
+ assets: assets
1051
+ });
1052
+ return _context4.abrupt("return", callOnExternalPosition({
1053
+ actionArgs: actionArgs,
1054
+ actionId: MockGenericExternalPositionActionId.RemoveDebtAssets,
1055
+ comptrollerProxy: comptrollerProxy,
1056
+ externalPositionManager: externalPositionManager,
1057
+ externalPositionProxy: externalPositionProxy,
1058
+ signer: signer
1059
+ }));
1060
+
1061
+ case 3:
1062
+ case "end":
1063
+ return _context4.stop();
1064
+ }
1065
+ }
1066
+ }, _callee4);
1067
+ }));
1068
+ return _mockExternalPositionRemoveDebtAssets.apply(this, arguments);
1069
+ }
1070
+
1071
+ function mockExternalPositionRemoveManagedAssets(_x5) {
1072
+ return _mockExternalPositionRemoveManagedAssets.apply(this, arguments);
1073
+ }
1074
+
1075
+ function _mockExternalPositionRemoveManagedAssets() {
1076
+ _mockExternalPositionRemoveManagedAssets = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5(_ref5) {
1077
+ var signer, comptrollerProxy, externalPositionManager, externalPositionProxy, assets, amounts, actionArgs;
1078
+ return _regeneratorRuntime.wrap(function _callee5$(_context5) {
1079
+ while (1) {
1080
+ switch (_context5.prev = _context5.next) {
1081
+ case 0:
1082
+ signer = _ref5.signer, comptrollerProxy = _ref5.comptrollerProxy, externalPositionManager = _ref5.externalPositionManager, externalPositionProxy = _ref5.externalPositionProxy, assets = _ref5.assets, amounts = _ref5.amounts;
1083
+ actionArgs = mockGenericExternalPositionActionArgs({
1084
+ amounts: amounts,
1085
+ assets: assets
1086
+ });
1087
+ return _context5.abrupt("return", callOnExternalPosition({
1088
+ actionArgs: actionArgs,
1089
+ actionId: MockGenericExternalPositionActionId.RemoveManagedAssets,
1090
+ comptrollerProxy: comptrollerProxy,
1091
+ externalPositionManager: externalPositionManager,
1092
+ externalPositionProxy: externalPositionProxy,
1093
+ signer: signer
1094
+ }));
1095
+
1096
+ case 3:
1097
+ case "end":
1098
+ return _context5.stop();
1099
+ }
1100
+ }
1101
+ }, _callee5);
1102
+ }));
1103
+ return _mockExternalPositionRemoveManagedAssets.apply(this, arguments);
1104
+ }
1105
+
1106
+ var _templateObject$3;
1107
+ var UniswapV3FeeAmount;
1108
+
1109
+ (function (UniswapV3FeeAmount) {
1110
+ UniswapV3FeeAmount[UniswapV3FeeAmount["LOW"] = 500] = "LOW";
1111
+ UniswapV3FeeAmount[UniswapV3FeeAmount["MEDIUM"] = 3000] = "MEDIUM";
1112
+ UniswapV3FeeAmount[UniswapV3FeeAmount["HIGH"] = 10000] = "HIGH";
1113
+ })(UniswapV3FeeAmount || (UniswapV3FeeAmount = {}));
1114
+
1115
+ var uniswapV3LiquidityPositionGetMinTick = function uniswapV3LiquidityPositionGetMinTick(tickSpacing) {
1116
+ return Math.ceil(-887272 / tickSpacing) * tickSpacing;
1117
+ };
1118
+ var uniswapV3LiquidityPositionGetMaxTick = function uniswapV3LiquidityPositionGetMaxTick(tickSpacing) {
1119
+ return Math.floor(887272 / tickSpacing) * tickSpacing;
1120
+ };
1121
+ var IUniswapV3NonFungibleTokenManager = contract()(_templateObject$3 || (_templateObject$3 = _taggedTemplateLiteral(["\n function positions(uint256 tokenId) view returns (uint96 nonce, address operator, address token0, address token1, uint24 fee, int24 tickLower, int24 tickUpper, uint128 liquidity, uint256 feeGrowthInside0LastX128, uint256 feeGrowthInside1LastX128, uint128 tokensOwed0, uint128 tokensOwed1)\n"])));
1122
+ function createUniswapV3LiquidityPosition(_x) {
1123
+ return _createUniswapV3LiquidityPosition.apply(this, arguments);
1124
+ }
1125
+
1126
+ function _createUniswapV3LiquidityPosition() {
1127
+ _createUniswapV3LiquidityPosition = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {
1128
+ var signer, comptrollerProxy, externalPositionManager, token0, token1, initArgs, receipt, vaultProxy, externalPositions, externalPositionProxyAddress;
1129
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
1130
+ while (1) {
1131
+ switch (_context.prev = _context.next) {
1132
+ case 0:
1133
+ signer = _ref.signer, comptrollerProxy = _ref.comptrollerProxy, externalPositionManager = _ref.externalPositionManager, token0 = _ref.token0, token1 = _ref.token1;
1134
+ initArgs = uniswapV3LiquidityPositionInitArgs({
1135
+ token0: token0,
1136
+ token1: token1
1137
+ });
1138
+ _context.next = 4;
1139
+ return comptrollerProxy.connect(signer).callOnExtension(externalPositionManager, ExternalPositionManagerActionId.CreateExternalPosition, encodeArgs(['uint256', 'bytes'], [ExternalPositionType.UniswapV3LiquidityPosition, initArgs]));
1140
+
1141
+ case 4:
1142
+ receipt = _context.sent;
1143
+ _context.t0 = VaultLib;
1144
+ _context.next = 8;
1145
+ return comptrollerProxy.getVaultProxy();
1146
+
1147
+ case 8:
1148
+ _context.t1 = _context.sent;
1149
+ _context.t2 = signer;
1150
+ vaultProxy = new _context.t0(_context.t1, _context.t2);
1151
+ _context.next = 13;
1152
+ return vaultProxy.getActiveExternalPositions.call();
1153
+
1154
+ case 13:
1155
+ externalPositions = _context.sent;
1156
+ externalPositionProxyAddress = externalPositions[externalPositions.length - 1];
1157
+ return _context.abrupt("return", {
1158
+ externalPositionProxyAddress: externalPositionProxyAddress,
1159
+ receipt: receipt
1160
+ });
1161
+
1162
+ case 16:
1163
+ case "end":
1164
+ return _context.stop();
1165
+ }
1166
+ }
1167
+ }, _callee);
1168
+ }));
1169
+ return _createUniswapV3LiquidityPosition.apply(this, arguments);
1170
+ }
1171
+
1172
+ function uniswapV3LiquidityPositionAddLiquidity(_x2) {
1173
+ return _uniswapV3LiquidityPositionAddLiquidity.apply(this, arguments);
1174
+ }
1175
+
1176
+ function _uniswapV3LiquidityPositionAddLiquidity() {
1177
+ _uniswapV3LiquidityPositionAddLiquidity = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(_ref2) {
1178
+ var signer, comptrollerProxy, externalPositionManager, externalPositionProxy, nftId, amount0Desired, amount1Desired, _ref2$amount0Min, amount0Min, _ref2$amount1Min, amount1Min, actionArgs, callArgs;
1179
+
1180
+ return _regeneratorRuntime.wrap(function _callee2$(_context2) {
1181
+ while (1) {
1182
+ switch (_context2.prev = _context2.next) {
1183
+ case 0:
1184
+ signer = _ref2.signer, comptrollerProxy = _ref2.comptrollerProxy, externalPositionManager = _ref2.externalPositionManager, externalPositionProxy = _ref2.externalPositionProxy, nftId = _ref2.nftId, amount0Desired = _ref2.amount0Desired, amount1Desired = _ref2.amount1Desired, _ref2$amount0Min = _ref2.amount0Min, amount0Min = _ref2$amount0Min === void 0 ? 0 : _ref2$amount0Min, _ref2$amount1Min = _ref2.amount1Min, amount1Min = _ref2$amount1Min === void 0 ? 0 : _ref2$amount1Min;
1185
+ actionArgs = uniswapV3LiquidityPositionAddLiquidityArgs({
1186
+ amount0Desired: amount0Desired,
1187
+ amount0Min: amount0Min,
1188
+ amount1Desired: amount1Desired,
1189
+ amount1Min: amount1Min,
1190
+ nftId: nftId
1191
+ });
1192
+ callArgs = callOnExternalPositionArgs({
1193
+ actionArgs: actionArgs,
1194
+ actionId: UniswapV3LiquidityPositionActionId.AddLiquidity,
1195
+ externalPositionProxy: externalPositionProxy
1196
+ });
1197
+ return _context2.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(externalPositionManager, ExternalPositionManagerActionId.CallOnExternalPosition, callArgs));
1198
+
1199
+ case 4:
1200
+ case "end":
1201
+ return _context2.stop();
1202
+ }
1203
+ }
1204
+ }, _callee2);
1205
+ }));
1206
+ return _uniswapV3LiquidityPositionAddLiquidity.apply(this, arguments);
1207
+ }
1208
+
1209
+ function uniswapV3LiquidityPositionCollect(_x3) {
1210
+ return _uniswapV3LiquidityPositionCollect.apply(this, arguments);
1211
+ }
1212
+
1213
+ function _uniswapV3LiquidityPositionCollect() {
1214
+ _uniswapV3LiquidityPositionCollect = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(_ref3) {
1215
+ var signer, comptrollerProxy, externalPositionManager, externalPositionProxy, nftId, actionArgs, callArgs;
1216
+ return _regeneratorRuntime.wrap(function _callee3$(_context3) {
1217
+ while (1) {
1218
+ switch (_context3.prev = _context3.next) {
1219
+ case 0:
1220
+ signer = _ref3.signer, comptrollerProxy = _ref3.comptrollerProxy, externalPositionManager = _ref3.externalPositionManager, externalPositionProxy = _ref3.externalPositionProxy, nftId = _ref3.nftId;
1221
+ actionArgs = uniswapV3LiquidityPositionCollectArgs({
1222
+ nftId: nftId
1223
+ });
1224
+ callArgs = callOnExternalPositionArgs({
1225
+ actionArgs: actionArgs,
1226
+ actionId: UniswapV3LiquidityPositionActionId.Collect,
1227
+ externalPositionProxy: externalPositionProxy
1228
+ });
1229
+ return _context3.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(externalPositionManager, ExternalPositionManagerActionId.CallOnExternalPosition, callArgs));
1230
+
1231
+ case 4:
1232
+ case "end":
1233
+ return _context3.stop();
1234
+ }
1235
+ }
1236
+ }, _callee3);
1237
+ }));
1238
+ return _uniswapV3LiquidityPositionCollect.apply(this, arguments);
1239
+ }
1240
+
1241
+ function uniswapV3LiquidityPositionMint(_x4) {
1242
+ return _uniswapV3LiquidityPositionMint.apply(this, arguments);
1243
+ }
1244
+
1245
+ function _uniswapV3LiquidityPositionMint() {
1246
+ _uniswapV3LiquidityPositionMint = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(_ref4) {
1247
+ var signer, comptrollerProxy, externalPositionManager, externalPositionProxy, fee, tickLower, tickUpper, amount0Desired, amount1Desired, _ref4$amount0Min, amount0Min, _ref4$amount1Min, amount1Min, actionArgs, callArgs, receipt, externalPosition, nftId;
1248
+
1249
+ return _regeneratorRuntime.wrap(function _callee4$(_context4) {
1250
+ while (1) {
1251
+ switch (_context4.prev = _context4.next) {
1252
+ case 0:
1253
+ signer = _ref4.signer, comptrollerProxy = _ref4.comptrollerProxy, externalPositionManager = _ref4.externalPositionManager, externalPositionProxy = _ref4.externalPositionProxy, fee = _ref4.fee, tickLower = _ref4.tickLower, tickUpper = _ref4.tickUpper, amount0Desired = _ref4.amount0Desired, amount1Desired = _ref4.amount1Desired, _ref4$amount0Min = _ref4.amount0Min, amount0Min = _ref4$amount0Min === void 0 ? 0 : _ref4$amount0Min, _ref4$amount1Min = _ref4.amount1Min, amount1Min = _ref4$amount1Min === void 0 ? 0 : _ref4$amount1Min;
1254
+ actionArgs = uniswapV3LiquidityPositionMintArgs({
1255
+ amount0Desired: amount0Desired,
1256
+ amount0Min: amount0Min,
1257
+ amount1Desired: amount1Desired,
1258
+ amount1Min: amount1Min,
1259
+ fee: fee,
1260
+ tickLower: tickLower,
1261
+ tickUpper: tickUpper
1262
+ });
1263
+ callArgs = callOnExternalPositionArgs({
1264
+ actionArgs: actionArgs,
1265
+ actionId: UniswapV3LiquidityPositionActionId.Mint,
1266
+ externalPositionProxy: externalPositionProxy
1267
+ });
1268
+ _context4.next = 5;
1269
+ return comptrollerProxy.connect(signer).callOnExtension(externalPositionManager, ExternalPositionManagerActionId.CallOnExternalPosition, callArgs);
1270
+
1271
+ case 5:
1272
+ receipt = _context4.sent;
1273
+ externalPosition = new UniswapV3LiquidityPositionLib(externalPositionProxy, provider);
1274
+ nftId = extractEvent(receipt, externalPosition.abi.getEvent('NFTPositionAdded'))[0].args.tokenId;
1275
+ return _context4.abrupt("return", {
1276
+ nftId: nftId,
1277
+ receipt: receipt
1278
+ });
1279
+
1280
+ case 9:
1281
+ case "end":
1282
+ return _context4.stop();
1283
+ }
1284
+ }
1285
+ }, _callee4);
1286
+ }));
1287
+ return _uniswapV3LiquidityPositionMint.apply(this, arguments);
1288
+ }
1289
+
1290
+ function uniswapV3LiquidityPositionPurge(_x5) {
1291
+ return _uniswapV3LiquidityPositionPurge.apply(this, arguments);
1292
+ }
1293
+
1294
+ function _uniswapV3LiquidityPositionPurge() {
1295
+ _uniswapV3LiquidityPositionPurge = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5(_ref5) {
1296
+ var signer, comptrollerProxy, externalPositionManager, externalPositionProxy, nftId, liquidity, _ref5$amount0Min, amount0Min, _ref5$amount1Min, amount1Min, actionArgs, callArgs;
1297
+
1298
+ return _regeneratorRuntime.wrap(function _callee5$(_context5) {
1299
+ while (1) {
1300
+ switch (_context5.prev = _context5.next) {
1301
+ case 0:
1302
+ signer = _ref5.signer, comptrollerProxy = _ref5.comptrollerProxy, externalPositionManager = _ref5.externalPositionManager, externalPositionProxy = _ref5.externalPositionProxy, nftId = _ref5.nftId, liquidity = _ref5.liquidity, _ref5$amount0Min = _ref5.amount0Min, amount0Min = _ref5$amount0Min === void 0 ? 0 : _ref5$amount0Min, _ref5$amount1Min = _ref5.amount1Min, amount1Min = _ref5$amount1Min === void 0 ? 0 : _ref5$amount1Min;
1303
+ actionArgs = uniswapV3LiquidityPositionPurgeArgs({
1304
+ amount0Min: amount0Min,
1305
+ amount1Min: amount1Min,
1306
+ liquidity: liquidity,
1307
+ nftId: nftId
1308
+ });
1309
+ callArgs = callOnExternalPositionArgs({
1310
+ actionArgs: actionArgs,
1311
+ actionId: UniswapV3LiquidityPositionActionId.Purge,
1312
+ externalPositionProxy: externalPositionProxy
1313
+ });
1314
+ return _context5.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(externalPositionManager, ExternalPositionManagerActionId.CallOnExternalPosition, callArgs));
1315
+
1316
+ case 4:
1317
+ case "end":
1318
+ return _context5.stop();
1319
+ }
1320
+ }
1321
+ }, _callee5);
1322
+ }));
1323
+ return _uniswapV3LiquidityPositionPurge.apply(this, arguments);
1324
+ }
1325
+
1326
+ function uniswapV3LiquidityPositionRemoveLiquidity(_x6) {
1327
+ return _uniswapV3LiquidityPositionRemoveLiquidity.apply(this, arguments);
1328
+ }
1329
+
1330
+ function _uniswapV3LiquidityPositionRemoveLiquidity() {
1331
+ _uniswapV3LiquidityPositionRemoveLiquidity = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee6(_ref6) {
1332
+ var signer, comptrollerProxy, externalPositionManager, externalPositionProxy, nftId, liquidity, _ref6$amount0Min, amount0Min, _ref6$amount1Min, amount1Min, actionArgs, callArgs;
1333
+
1334
+ return _regeneratorRuntime.wrap(function _callee6$(_context6) {
1335
+ while (1) {
1336
+ switch (_context6.prev = _context6.next) {
1337
+ case 0:
1338
+ signer = _ref6.signer, comptrollerProxy = _ref6.comptrollerProxy, externalPositionManager = _ref6.externalPositionManager, externalPositionProxy = _ref6.externalPositionProxy, nftId = _ref6.nftId, liquidity = _ref6.liquidity, _ref6$amount0Min = _ref6.amount0Min, amount0Min = _ref6$amount0Min === void 0 ? 0 : _ref6$amount0Min, _ref6$amount1Min = _ref6.amount1Min, amount1Min = _ref6$amount1Min === void 0 ? 0 : _ref6$amount1Min;
1339
+ actionArgs = uniswapV3LiquidityPositionRemoveLiquidityArgs({
1340
+ amount0Min: amount0Min,
1341
+ amount1Min: amount1Min,
1342
+ liquidity: liquidity,
1343
+ nftId: nftId
1344
+ });
1345
+ callArgs = callOnExternalPositionArgs({
1346
+ actionArgs: actionArgs,
1347
+ actionId: UniswapV3LiquidityPositionActionId.RemoveLiquidity,
1348
+ externalPositionProxy: externalPositionProxy
1349
+ });
1350
+ return _context6.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(externalPositionManager, ExternalPositionManagerActionId.CallOnExternalPosition, callArgs));
1351
+
1352
+ case 4:
1353
+ case "end":
1354
+ return _context6.stop();
1355
+ }
1356
+ }
1357
+ }, _callee6);
1358
+ }));
1359
+ return _uniswapV3LiquidityPositionRemoveLiquidity.apply(this, arguments);
1360
+ }
1361
+
1362
+ function uniswapV3OrderTokenPair(_ref7) {
1363
+ var tokenA = _ref7.tokenA,
1364
+ tokenB = _ref7.tokenB;
1365
+ var tokenAAddress = resolveAddress(tokenA);
1366
+ var tokenBAddress = resolveAddress(tokenB);
1367
+ return tokenAAddress < tokenBAddress ? {
1368
+ token0: tokenAAddress,
1369
+ token1: tokenBAddress
1370
+ } : {
1371
+ token0: tokenBAddress,
1372
+ token1: tokenAAddress
1373
+ };
1374
+ }
1375
+
909
1376
  function generateFeeManagerConfigWithMockFees(_x) {
910
1377
  return _generateFeeManagerConfigWithMockFees.apply(this, arguments);
911
1378
  }
@@ -1010,8 +1477,8 @@ function _aaveLend() {
1010
1477
  });
1011
1478
  callArgs = callOnIntegrationArgs({
1012
1479
  adapter: aaveAdapter,
1013
- selector: lendSelector,
1014
- encodedCallArgs: lendArgs
1480
+ encodedCallArgs: lendArgs,
1481
+ selector: lendSelector
1015
1482
  });
1016
1483
  lendTx = comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
1017
1484
  return _context.abrupt("return", lendTx);
@@ -1045,8 +1512,8 @@ function _aaveRedeem() {
1045
1512
  });
1046
1513
  callArgs = callOnIntegrationArgs({
1047
1514
  adapter: aaveAdapter,
1048
- selector: redeemSelector,
1049
- encodedCallArgs: redeemArgs
1515
+ encodedCallArgs: redeemArgs,
1516
+ selector: redeemSelector
1050
1517
  });
1051
1518
  redeemTx = comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
1052
1519
  return _context2.abrupt("return", redeemTx);
@@ -1078,13 +1545,13 @@ function _compoundLend() {
1078
1545
  comptrollerProxy = _ref.comptrollerProxy, integrationManager = _ref.integrationManager, fundOwner = _ref.fundOwner, compoundAdapter = _ref.compoundAdapter, cToken = _ref.cToken, _ref$tokenAmount = _ref.tokenAmount, tokenAmount = _ref$tokenAmount === void 0 ? utils.parseEther('1') : _ref$tokenAmount, _ref$cTokenAmount = _ref.cTokenAmount, cTokenAmount = _ref$cTokenAmount === void 0 ? utils.parseEther('1') : _ref$cTokenAmount;
1079
1546
  lendArgs = compoundArgs({
1080
1547
  cToken: cToken,
1081
- outgoingAssetAmount: tokenAmount,
1082
- minIncomingAssetAmount: cTokenAmount
1548
+ minIncomingAssetAmount: cTokenAmount,
1549
+ outgoingAssetAmount: tokenAmount
1083
1550
  });
1084
1551
  callArgs = callOnIntegrationArgs({
1085
1552
  adapter: compoundAdapter,
1086
- selector: lendSelector,
1087
- encodedCallArgs: lendArgs
1553
+ encodedCallArgs: lendArgs,
1554
+ selector: lendSelector
1088
1555
  });
1089
1556
  lendTx = comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
1090
1557
  return _context.abrupt("return", lendTx);
@@ -1107,601 +1574,825 @@ function _compoundRedeem() {
1107
1574
  _compoundRedeem = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(_ref2) {
1108
1575
  var comptrollerProxy, integrationManager, fundOwner, compoundAdapter, cToken, _ref2$tokenAmount, tokenAmount, _ref2$cTokenAmount, cTokenAmount, redeemArgs, callArgs, redeemTx;
1109
1576
 
1110
- return _regeneratorRuntime.wrap(function _callee2$(_context2) {
1577
+ return _regeneratorRuntime.wrap(function _callee2$(_context2) {
1578
+ while (1) {
1579
+ switch (_context2.prev = _context2.next) {
1580
+ case 0:
1581
+ comptrollerProxy = _ref2.comptrollerProxy, integrationManager = _ref2.integrationManager, fundOwner = _ref2.fundOwner, compoundAdapter = _ref2.compoundAdapter, cToken = _ref2.cToken, _ref2$tokenAmount = _ref2.tokenAmount, tokenAmount = _ref2$tokenAmount === void 0 ? utils.parseEther('1') : _ref2$tokenAmount, _ref2$cTokenAmount = _ref2.cTokenAmount, cTokenAmount = _ref2$cTokenAmount === void 0 ? utils.parseEther('1') : _ref2$cTokenAmount;
1582
+ redeemArgs = compoundArgs({
1583
+ cToken: resolveAddress(cToken),
1584
+ minIncomingAssetAmount: tokenAmount,
1585
+ outgoingAssetAmount: cTokenAmount
1586
+ });
1587
+ callArgs = callOnIntegrationArgs({
1588
+ adapter: compoundAdapter,
1589
+ encodedCallArgs: redeemArgs,
1590
+ selector: redeemSelector
1591
+ });
1592
+ redeemTx = comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
1593
+ return _context2.abrupt("return", redeemTx);
1594
+
1595
+ case 5:
1596
+ case "end":
1597
+ return _context2.stop();
1598
+ }
1599
+ }
1600
+ }, _callee2);
1601
+ }));
1602
+ return _compoundRedeem.apply(this, arguments);
1603
+ }
1604
+
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
1608
+
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
1611
+
1612
+ function curveTakeOrder(_x) {
1613
+ return _curveTakeOrder.apply(this, arguments);
1614
+ } // combined liquidity
1615
+
1616
+ function _curveTakeOrder() {
1617
+ _curveTakeOrder = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {
1618
+ var comptrollerProxy, integrationManager, fundOwner, curveExchangeAdapter, pool, outgoingAsset, _ref$outgoingAssetAmo, outgoingAssetAmount, incomingAsset, _ref$minIncomingAsset, minIncomingAssetAmount, takeOrderArgs, callArgs;
1619
+
1620
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
1621
+ while (1) {
1622
+ switch (_context.prev = _context.next) {
1623
+ case 0:
1624
+ comptrollerProxy = _ref.comptrollerProxy, integrationManager = _ref.integrationManager, fundOwner = _ref.fundOwner, curveExchangeAdapter = _ref.curveExchangeAdapter, pool = _ref.pool, outgoingAsset = _ref.outgoingAsset, _ref$outgoingAssetAmo = _ref.outgoingAssetAmount, outgoingAssetAmount = _ref$outgoingAssetAmo === void 0 ? utils.parseEther('1') : _ref$outgoingAssetAmo, incomingAsset = _ref.incomingAsset, _ref$minIncomingAsset = _ref.minIncomingAssetAmount, minIncomingAssetAmount = _ref$minIncomingAsset === void 0 ? utils.parseEther('1') : _ref$minIncomingAsset;
1625
+ takeOrderArgs = curveTakeOrderArgs({
1626
+ incomingAsset: incomingAsset,
1627
+ minIncomingAssetAmount: minIncomingAssetAmount,
1628
+ outgoingAsset: outgoingAsset,
1629
+ outgoingAssetAmount: outgoingAssetAmount,
1630
+ pool: pool
1631
+ });
1632
+ callArgs = callOnIntegrationArgs({
1633
+ adapter: curveExchangeAdapter,
1634
+ encodedCallArgs: takeOrderArgs,
1635
+ selector: takeOrderSelector
1636
+ });
1637
+ return _context.abrupt("return", comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs));
1638
+
1639
+ case 4:
1640
+ case "end":
1641
+ return _context.stop();
1642
+ }
1643
+ }
1644
+ }, _callee);
1645
+ }));
1646
+ return _curveTakeOrder.apply(this, arguments);
1647
+ }
1648
+
1649
+ function curveClaimRewards(_ref2) {
1650
+ var comptrollerProxy = _ref2.comptrollerProxy,
1651
+ integrationManager = _ref2.integrationManager,
1652
+ fundOwner = _ref2.fundOwner,
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) {
1111
1811
  while (1) {
1112
- switch (_context2.prev = _context2.next) {
1812
+ switch (_context6.prev = _context6.next) {
1113
1813
  case 0:
1114
- comptrollerProxy = _ref2.comptrollerProxy, integrationManager = _ref2.integrationManager, fundOwner = _ref2.fundOwner, compoundAdapter = _ref2.compoundAdapter, cToken = _ref2.cToken, _ref2$tokenAmount = _ref2.tokenAmount, tokenAmount = _ref2$tokenAmount === void 0 ? utils.parseEther('1') : _ref2$tokenAmount, _ref2$cTokenAmount = _ref2.cTokenAmount, cTokenAmount = _ref2$cTokenAmount === void 0 ? utils.parseEther('1') : _ref2$cTokenAmount;
1115
- redeemArgs = compoundArgs({
1116
- cToken: resolveAddress(cToken),
1117
- outgoingAssetAmount: cTokenAmount,
1118
- minIncomingAssetAmount: tokenAmount
1119
- });
1814
+ comptrollerProxy = _ref7.comptrollerProxy, integrationManager = _ref7.integrationManager, signer = _ref7.signer, curveLiquidityAdapter = _ref7.curveLiquidityAdapter, pool = _ref7.pool, outgoingGaugeToken = _ref7.outgoingGaugeToken, amount = _ref7.amount;
1120
1815
  callArgs = callOnIntegrationArgs({
1121
- adapter: compoundAdapter,
1122
- selector: redeemSelector,
1123
- encodedCallArgs: redeemArgs
1816
+ adapter: curveLiquidityAdapter,
1817
+ encodedCallArgs: curveUnstakeArgs({
1818
+ amount: amount,
1819
+ outgoingGaugeToken: outgoingGaugeToken,
1820
+ pool: pool
1821
+ }),
1822
+ selector: unstakeSelector
1124
1823
  });
1125
- redeemTx = comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
1126
- return _context2.abrupt("return", redeemTx);
1824
+ return _context6.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs));
1127
1825
 
1128
- case 5:
1826
+ case 3:
1129
1827
  case "end":
1130
- return _context2.stop();
1828
+ return _context6.stop();
1131
1829
  }
1132
1830
  }
1133
- }, _callee2);
1831
+ }, _callee6);
1134
1832
  }));
1135
- return _compoundRedeem.apply(this, arguments);
1833
+ return _curveUnstake.apply(this, arguments);
1136
1834
  }
1137
1835
 
1138
- var _templateObject$1, _templateObject2, _templateObject3;
1139
- var CurveLiquidityGaugeV2 = contract()(_templateObject$1 || (_templateObject$1 = _taggedTemplateLiteral(["\n function claim_rewards(address)\n function integrate_fraction(address) view returns (uint256)\n"]))); // prettier-ignore
1140
-
1141
- var CurveSwaps = contract()(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n function get_best_rate(address _from, address to, uint256 amount) view returns (address bestPool, uint256 amountReceived)\n"])));
1142
- var CurveMinter = contract()(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n function mint_for(address,address)\n"]))); // exchanges
1143
-
1144
- function curveTakeOrder(_x) {
1145
- return _curveTakeOrder.apply(this, arguments);
1836
+ function curveUnstakeAndRedeem(_x7) {
1837
+ return _curveUnstakeAndRedeem.apply(this, arguments);
1146
1838
  } // aave pool
1147
1839
 
1148
- function _curveTakeOrder() {
1149
- _curveTakeOrder = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {
1150
- var comptrollerProxy, integrationManager, fundOwner, curveExchangeAdapter, pool, outgoingAsset, _ref$outgoingAssetAmo, outgoingAssetAmount, incomingAsset, _ref$minIncomingAsset, minIncomingAssetAmount, takeOrderArgs, callArgs;
1151
-
1152
- return _regeneratorRuntime.wrap(function _callee$(_context) {
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) {
1153
1844
  while (1) {
1154
- switch (_context.prev = _context.next) {
1845
+ switch (_context7.prev = _context7.next) {
1155
1846
  case 0:
1156
- comptrollerProxy = _ref.comptrollerProxy, integrationManager = _ref.integrationManager, fundOwner = _ref.fundOwner, curveExchangeAdapter = _ref.curveExchangeAdapter, pool = _ref.pool, outgoingAsset = _ref.outgoingAsset, _ref$outgoingAssetAmo = _ref.outgoingAssetAmount, outgoingAssetAmount = _ref$outgoingAssetAmo === void 0 ? utils.parseEther('1') : _ref$outgoingAssetAmo, incomingAsset = _ref.incomingAsset, _ref$minIncomingAsset = _ref.minIncomingAssetAmount, minIncomingAssetAmount = _ref$minIncomingAsset === void 0 ? utils.parseEther('1') : _ref$minIncomingAsset;
1157
- takeOrderArgs = curveTakeOrderArgs({
1158
- pool: pool,
1159
- outgoingAsset: outgoingAsset,
1160
- outgoingAssetAmount: outgoingAssetAmount,
1161
- incomingAsset: incomingAsset,
1162
- minIncomingAssetAmount: minIncomingAssetAmount
1163
- });
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;
1164
1848
  callArgs = callOnIntegrationArgs({
1165
- adapter: curveExchangeAdapter,
1166
- selector: takeOrderSelector,
1167
- encodedCallArgs: takeOrderArgs
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
1168
1859
  });
1169
- return _context.abrupt("return", comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs));
1860
+ return _context7.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs));
1170
1861
 
1171
- case 4:
1862
+ case 3:
1172
1863
  case "end":
1173
- return _context.stop();
1864
+ return _context7.stop();
1174
1865
  }
1175
1866
  }
1176
- }, _callee);
1867
+ }, _callee7);
1177
1868
  }));
1178
- return _curveTakeOrder.apply(this, arguments);
1869
+ return _curveUnstakeAndRedeem.apply(this, arguments);
1179
1870
  }
1180
1871
 
1181
- function curveAaveClaimRewards(_ref2) {
1182
- var comptrollerProxy = _ref2.comptrollerProxy,
1183
- integrationManager = _ref2.integrationManager,
1184
- fundOwner = _ref2.fundOwner,
1185
- curveLiquidityAaveAdapter = _ref2.curveLiquidityAaveAdapter;
1872
+ function curveAaveClaimRewards(_ref9) {
1873
+ var comptrollerProxy = _ref9.comptrollerProxy,
1874
+ integrationManager = _ref9.integrationManager,
1875
+ fundOwner = _ref9.fundOwner,
1876
+ curveLiquidityAaveAdapter = _ref9.curveLiquidityAaveAdapter;
1186
1877
  var callArgs = callOnIntegrationArgs({
1187
1878
  adapter: curveLiquidityAaveAdapter,
1188
- selector: claimRewardsSelector,
1189
- encodedCallArgs: constants.HashZero
1879
+ encodedCallArgs: constants.HashZero,
1880
+ selector: claimRewardsSelector
1190
1881
  });
1191
1882
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
1192
1883
  }
1193
- function curveAaveLend(_ref3) {
1194
- var comptrollerProxy = _ref3.comptrollerProxy,
1195
- integrationManager = _ref3.integrationManager,
1196
- fundOwner = _ref3.fundOwner,
1197
- curveLiquidityAaveAdapter = _ref3.curveLiquidityAaveAdapter,
1198
- _ref3$outgoingAaveDai = _ref3.outgoingAaveDaiAmount,
1199
- outgoingAaveDaiAmount = _ref3$outgoingAaveDai === void 0 ? BigNumber.from(0) : _ref3$outgoingAaveDai,
1200
- _ref3$outgoingAaveUsd = _ref3.outgoingAaveUsdcAmount,
1201
- outgoingAaveUsdcAmount = _ref3$outgoingAaveUsd === void 0 ? BigNumber.from(0) : _ref3$outgoingAaveUsd,
1202
- _ref3$outgoingAaveUsd2 = _ref3.outgoingAaveUsdtAmount,
1203
- outgoingAaveUsdtAmount = _ref3$outgoingAaveUsd2 === void 0 ? BigNumber.from(0) : _ref3$outgoingAaveUsd2,
1204
- _ref3$minIncomingLPTo = _ref3.minIncomingLPTokenAmount,
1205
- minIncomingLPTokenAmount = _ref3$minIncomingLPTo === void 0 ? BigNumber.from(1) : _ref3$minIncomingLPTo,
1206
- _ref3$useUnderlyings = _ref3.useUnderlyings,
1207
- 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;
1208
1899
  var callArgs = callOnIntegrationArgs({
1209
1900
  adapter: curveLiquidityAaveAdapter,
1210
- selector: lendSelector,
1211
1901
  encodedCallArgs: curveAaveLendArgs({
1902
+ minIncomingLPTokenAmount: minIncomingLPTokenAmount,
1212
1903
  outgoingAaveDaiAmount: outgoingAaveDaiAmount,
1213
1904
  outgoingAaveUsdcAmount: outgoingAaveUsdcAmount,
1214
1905
  outgoingAaveUsdtAmount: outgoingAaveUsdtAmount,
1215
- minIncomingLPTokenAmount: minIncomingLPTokenAmount,
1216
1906
  useUnderlyings: useUnderlyings
1217
- })
1907
+ }),
1908
+ selector: lendSelector
1218
1909
  });
1219
1910
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
1220
1911
  }
1221
- function curveAaveLendAndStake(_ref4) {
1222
- var comptrollerProxy = _ref4.comptrollerProxy,
1223
- integrationManager = _ref4.integrationManager,
1224
- fundOwner = _ref4.fundOwner,
1225
- curveLiquidityAaveAdapter = _ref4.curveLiquidityAaveAdapter,
1226
- _ref4$outgoingAaveDai = _ref4.outgoingAaveDaiAmount,
1227
- outgoingAaveDaiAmount = _ref4$outgoingAaveDai === void 0 ? BigNumber.from(0) : _ref4$outgoingAaveDai,
1228
- _ref4$outgoingAaveUsd = _ref4.outgoingAaveUsdcAmount,
1229
- outgoingAaveUsdcAmount = _ref4$outgoingAaveUsd === void 0 ? BigNumber.from(0) : _ref4$outgoingAaveUsd,
1230
- _ref4$outgoingAaveUsd2 = _ref4.outgoingAaveUsdtAmount,
1231
- outgoingAaveUsdtAmount = _ref4$outgoingAaveUsd2 === void 0 ? BigNumber.from(0) : _ref4$outgoingAaveUsd2,
1232
- _ref4$minIncomingLiqu = _ref4.minIncomingLiquidityGaugeTokenAmount,
1233
- minIncomingLiquidityGaugeTokenAmount = _ref4$minIncomingLiqu === void 0 ? BigNumber.from(1) : _ref4$minIncomingLiqu,
1234
- _ref4$useUnderlyings = _ref4.useUnderlyings,
1235
- 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;
1236
1927
  var callArgs = callOnIntegrationArgs({
1237
1928
  adapter: curveLiquidityAaveAdapter,
1238
- selector: lendAndStakeSelector,
1239
1929
  encodedCallArgs: curveAaveLendAndStakeArgs({
1930
+ minIncomingLiquidityGaugeTokenAmount: minIncomingLiquidityGaugeTokenAmount,
1240
1931
  outgoingAaveDaiAmount: outgoingAaveDaiAmount,
1241
1932
  outgoingAaveUsdcAmount: outgoingAaveUsdcAmount,
1242
1933
  outgoingAaveUsdtAmount: outgoingAaveUsdtAmount,
1243
- minIncomingLiquidityGaugeTokenAmount: minIncomingLiquidityGaugeTokenAmount,
1244
1934
  useUnderlyings: useUnderlyings
1245
- })
1935
+ }),
1936
+ selector: lendAndStakeSelector
1246
1937
  });
1247
1938
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
1248
1939
  }
1249
- function curveAaveRedeem(_ref5) {
1250
- var comptrollerProxy = _ref5.comptrollerProxy,
1251
- integrationManager = _ref5.integrationManager,
1252
- fundOwner = _ref5.fundOwner,
1253
- curveLiquidityAaveAdapter = _ref5.curveLiquidityAaveAdapter,
1254
- outgoingLPTokenAmount = _ref5.outgoingLPTokenAmount,
1255
- _ref5$minIncomingAave = _ref5.minIncomingAaveDaiAmount,
1256
- minIncomingAaveDaiAmount = _ref5$minIncomingAave === void 0 ? BigNumber.from(1) : _ref5$minIncomingAave,
1257
- _ref5$minIncomingAave2 = _ref5.minIncomingAaveUsdcAmount,
1258
- minIncomingAaveUsdcAmount = _ref5$minIncomingAave2 === void 0 ? BigNumber.from(1) : _ref5$minIncomingAave2,
1259
- _ref5$minIncomingAave3 = _ref5.minIncomingAaveUsdtAmount,
1260
- minIncomingAaveUsdtAmount = _ref5$minIncomingAave3 === void 0 ? BigNumber.from(1) : _ref5$minIncomingAave3,
1261
- _ref5$receiveSingleAs = _ref5.receiveSingleAsset,
1262
- receiveSingleAsset = _ref5$receiveSingleAs === void 0 ? false : _ref5$receiveSingleAs,
1263
- _ref5$useUnderlyings = _ref5.useUnderlyings,
1264
- 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;
1265
1956
  var callArgs = callOnIntegrationArgs({
1266
1957
  adapter: curveLiquidityAaveAdapter,
1267
- selector: redeemSelector,
1268
1958
  encodedCallArgs: curveAaveRedeemArgs({
1269
- outgoingLPTokenAmount: outgoingLPTokenAmount,
1270
1959
  minIncomingAaveDaiAmount: minIncomingAaveDaiAmount,
1271
1960
  minIncomingAaveUsdcAmount: minIncomingAaveUsdcAmount,
1272
1961
  minIncomingAaveUsdtAmount: minIncomingAaveUsdtAmount,
1962
+ outgoingLPTokenAmount: outgoingLPTokenAmount,
1273
1963
  receiveSingleAsset: receiveSingleAsset,
1274
1964
  useUnderlyings: useUnderlyings
1275
- })
1965
+ }),
1966
+ selector: redeemSelector
1276
1967
  });
1277
1968
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
1278
1969
  }
1279
- function curveAaveStake(_ref6) {
1280
- var comptrollerProxy = _ref6.comptrollerProxy,
1281
- integrationManager = _ref6.integrationManager,
1282
- fundOwner = _ref6.fundOwner,
1283
- curveLiquidityAaveAdapter = _ref6.curveLiquidityAaveAdapter,
1284
- 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;
1285
1976
  var callArgs = callOnIntegrationArgs({
1286
1977
  adapter: curveLiquidityAaveAdapter,
1287
- selector: stakeSelector,
1288
1978
  encodedCallArgs: curveAaveStakeArgs({
1289
1979
  outgoingLPTokenAmount: outgoingLPTokenAmount
1290
- })
1980
+ }),
1981
+ selector: stakeSelector
1291
1982
  });
1292
1983
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
1293
1984
  }
1294
- function curveAaveUnstakeAndRedeem(_ref7) {
1295
- var comptrollerProxy = _ref7.comptrollerProxy,
1296
- integrationManager = _ref7.integrationManager,
1297
- fundOwner = _ref7.fundOwner,
1298
- curveLiquidityAaveAdapter = _ref7.curveLiquidityAaveAdapter,
1299
- outgoingLiquidityGaugeTokenAmount = _ref7.outgoingLiquidityGaugeTokenAmount,
1300
- _ref7$minIncomingAave = _ref7.minIncomingAaveDaiAmount,
1301
- minIncomingAaveDaiAmount = _ref7$minIncomingAave === void 0 ? BigNumber.from(1) : _ref7$minIncomingAave,
1302
- _ref7$minIncomingAave2 = _ref7.minIncomingAaveUsdcAmount,
1303
- minIncomingAaveUsdcAmount = _ref7$minIncomingAave2 === void 0 ? BigNumber.from(1) : _ref7$minIncomingAave2,
1304
- _ref7$minIncomingAave3 = _ref7.minIncomingAaveUsdtAmount,
1305
- minIncomingAaveUsdtAmount = _ref7$minIncomingAave3 === void 0 ? BigNumber.from(1) : _ref7$minIncomingAave3,
1306
- _ref7$receiveSingleAs = _ref7.receiveSingleAsset,
1307
- receiveSingleAsset = _ref7$receiveSingleAs === void 0 ? false : _ref7$receiveSingleAs,
1308
- _ref7$useUnderlyings = _ref7.useUnderlyings,
1309
- 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;
1310
2001
  var callArgs = callOnIntegrationArgs({
1311
2002
  adapter: curveLiquidityAaveAdapter,
1312
- selector: unstakeAndRedeemSelector,
1313
2003
  encodedCallArgs: curveAaveUnstakeAndRedeemArgs({
1314
- outgoingLiquidityGaugeTokenAmount: outgoingLiquidityGaugeTokenAmount,
1315
2004
  minIncomingAaveDaiAmount: minIncomingAaveDaiAmount,
1316
2005
  minIncomingAaveUsdcAmount: minIncomingAaveUsdcAmount,
1317
2006
  minIncomingAaveUsdtAmount: minIncomingAaveUsdtAmount,
2007
+ outgoingLiquidityGaugeTokenAmount: outgoingLiquidityGaugeTokenAmount,
1318
2008
  receiveSingleAsset: receiveSingleAsset,
1319
2009
  useUnderlyings: useUnderlyings
1320
- })
2010
+ }),
2011
+ selector: unstakeAndRedeemSelector
1321
2012
  });
1322
2013
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
1323
2014
  }
1324
- function curveAaveUnstake(_ref8) {
1325
- var comptrollerProxy = _ref8.comptrollerProxy,
1326
- integrationManager = _ref8.integrationManager,
1327
- fundOwner = _ref8.fundOwner,
1328
- curveLiquidityAaveAdapter = _ref8.curveLiquidityAaveAdapter,
1329
- 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;
1330
2021
  var callArgs = callOnIntegrationArgs({
1331
2022
  adapter: curveLiquidityAaveAdapter,
1332
- selector: unstakeSelector,
1333
2023
  encodedCallArgs: curveAaveUnstakeArgs({
1334
2024
  outgoingLiquidityGaugeTokenAmount: outgoingLiquidityGaugeTokenAmount
1335
- })
2025
+ }),
2026
+ selector: unstakeSelector
1336
2027
  });
1337
2028
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
1338
2029
  } // eurs pool
1339
2030
 
1340
- function curveEursClaimRewards(_ref9) {
1341
- var comptrollerProxy = _ref9.comptrollerProxy,
1342
- integrationManager = _ref9.integrationManager,
1343
- fundOwner = _ref9.fundOwner,
1344
- curveLiquidityEursAdapter = _ref9.curveLiquidityEursAdapter;
2031
+ function curveEursClaimRewards(_ref16) {
2032
+ var comptrollerProxy = _ref16.comptrollerProxy,
2033
+ integrationManager = _ref16.integrationManager,
2034
+ fundOwner = _ref16.fundOwner,
2035
+ curveLiquidityEursAdapter = _ref16.curveLiquidityEursAdapter;
1345
2036
  var callArgs = callOnIntegrationArgs({
1346
2037
  adapter: curveLiquidityEursAdapter,
1347
- selector: claimRewardsSelector,
1348
- encodedCallArgs: constants.HashZero
2038
+ encodedCallArgs: constants.HashZero,
2039
+ selector: claimRewardsSelector
1349
2040
  });
1350
2041
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
1351
2042
  }
1352
- function curveEursLend(_ref10) {
1353
- var comptrollerProxy = _ref10.comptrollerProxy,
1354
- integrationManager = _ref10.integrationManager,
1355
- fundOwner = _ref10.fundOwner,
1356
- curveLiquidityEursAdapter = _ref10.curveLiquidityEursAdapter,
1357
- outgoingEursAmount = _ref10.outgoingEursAmount,
1358
- outgoingSeurAmount = _ref10.outgoingSeurAmount,
1359
- 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;
1360
2051
  var callArgs = callOnIntegrationArgs({
1361
2052
  adapter: curveLiquidityEursAdapter,
1362
- selector: lendSelector,
1363
2053
  encodedCallArgs: curveEursLendArgs({
2054
+ minIncomingLPTokenAmount: minIncomingLPTokenAmount,
1364
2055
  outgoingEursAmount: outgoingEursAmount,
1365
- outgoingSeurAmount: outgoingSeurAmount,
1366
- minIncomingLPTokenAmount: minIncomingLPTokenAmount
1367
- })
2056
+ outgoingSeurAmount: outgoingSeurAmount
2057
+ }),
2058
+ selector: lendSelector
1368
2059
  });
1369
2060
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
1370
2061
  }
1371
- function curveEursLendAndStake(_ref11) {
1372
- var comptrollerProxy = _ref11.comptrollerProxy,
1373
- integrationManager = _ref11.integrationManager,
1374
- fundOwner = _ref11.fundOwner,
1375
- curveLiquidityEursAdapter = _ref11.curveLiquidityEursAdapter,
1376
- outgoingEursAmount = _ref11.outgoingEursAmount,
1377
- outgoingSeurAmount = _ref11.outgoingSeurAmount,
1378
- 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;
1379
2070
  var callArgs = callOnIntegrationArgs({
1380
2071
  adapter: curveLiquidityEursAdapter,
1381
- selector: lendAndStakeSelector,
1382
2072
  encodedCallArgs: curveEursLendAndStakeArgs({
2073
+ minIncomingLiquidityGaugeTokenAmount: minIncomingLiquidityGaugeTokenAmount,
1383
2074
  outgoingEursAmount: outgoingEursAmount,
1384
- outgoingSeurAmount: outgoingSeurAmount,
1385
- minIncomingLiquidityGaugeTokenAmount: minIncomingLiquidityGaugeTokenAmount
1386
- })
2075
+ outgoingSeurAmount: outgoingSeurAmount
2076
+ }),
2077
+ selector: lendAndStakeSelector
1387
2078
  });
1388
2079
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
1389
2080
  }
1390
- function curveEursRedeem(_ref12) {
1391
- var comptrollerProxy = _ref12.comptrollerProxy,
1392
- integrationManager = _ref12.integrationManager,
1393
- fundOwner = _ref12.fundOwner,
1394
- curveLiquidityEursAdapter = _ref12.curveLiquidityEursAdapter,
1395
- outgoingLPTokenAmount = _ref12.outgoingLPTokenAmount,
1396
- minIncomingEursAmount = _ref12.minIncomingEursAmount,
1397
- minIncomingSeurAmount = _ref12.minIncomingSeurAmount,
1398
- 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;
1399
2090
  var callArgs = callOnIntegrationArgs({
1400
2091
  adapter: curveLiquidityEursAdapter,
1401
- selector: redeemSelector,
1402
2092
  encodedCallArgs: curveEursRedeemArgs({
1403
- outgoingLPTokenAmount: outgoingLPTokenAmount,
1404
2093
  minIncomingEursAmount: minIncomingEursAmount,
1405
2094
  minIncomingSeurAmount: minIncomingSeurAmount,
2095
+ outgoingLPTokenAmount: outgoingLPTokenAmount,
1406
2096
  receiveSingleAsset: receiveSingleAsset
1407
- })
2097
+ }),
2098
+ selector: redeemSelector
1408
2099
  });
1409
2100
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
1410
2101
  }
1411
- function curveEursStake(_ref13) {
1412
- var comptrollerProxy = _ref13.comptrollerProxy,
1413
- integrationManager = _ref13.integrationManager,
1414
- fundOwner = _ref13.fundOwner,
1415
- curveLiquidityEursAdapter = _ref13.curveLiquidityEursAdapter,
1416
- 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;
1417
2108
  var callArgs = callOnIntegrationArgs({
1418
2109
  adapter: curveLiquidityEursAdapter,
1419
- selector: stakeSelector,
1420
2110
  encodedCallArgs: curveEursStakeArgs({
1421
2111
  outgoingLPTokenAmount: outgoingLPTokenAmount
1422
- })
2112
+ }),
2113
+ selector: stakeSelector
1423
2114
  });
1424
2115
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
1425
2116
  }
1426
- function curveEursUnstakeAndRedeem(_ref14) {
1427
- var comptrollerProxy = _ref14.comptrollerProxy,
1428
- integrationManager = _ref14.integrationManager,
1429
- fundOwner = _ref14.fundOwner,
1430
- curveLiquidityEursAdapter = _ref14.curveLiquidityEursAdapter,
1431
- outgoingLiquidityGaugeTokenAmount = _ref14.outgoingLiquidityGaugeTokenAmount,
1432
- minIncomingEursAmount = _ref14.minIncomingEursAmount,
1433
- minIncomingSeurAmount = _ref14.minIncomingSeurAmount,
1434
- 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;
1435
2126
  var callArgs = callOnIntegrationArgs({
1436
2127
  adapter: curveLiquidityEursAdapter,
1437
- selector: unstakeAndRedeemSelector,
1438
2128
  encodedCallArgs: curveEursUnstakeAndRedeemArgs({
1439
- outgoingLiquidityGaugeTokenAmount: outgoingLiquidityGaugeTokenAmount,
1440
2129
  minIncomingEursAmount: minIncomingEursAmount,
1441
2130
  minIncomingSeurAmount: minIncomingSeurAmount,
2131
+ outgoingLiquidityGaugeTokenAmount: outgoingLiquidityGaugeTokenAmount,
1442
2132
  receiveSingleAsset: receiveSingleAsset
1443
- })
2133
+ }),
2134
+ selector: unstakeAndRedeemSelector
1444
2135
  });
1445
2136
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
1446
2137
  }
1447
- function curveEursUnstake(_ref15) {
1448
- var comptrollerProxy = _ref15.comptrollerProxy,
1449
- integrationManager = _ref15.integrationManager,
1450
- fundOwner = _ref15.fundOwner,
1451
- curveLiquidityEursAdapter = _ref15.curveLiquidityEursAdapter,
1452
- 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;
1453
2144
  var callArgs = callOnIntegrationArgs({
1454
2145
  adapter: curveLiquidityEursAdapter,
1455
- selector: unstakeSelector,
1456
2146
  encodedCallArgs: curveEursUnstakeArgs({
1457
2147
  outgoingLiquidityGaugeTokenAmount: outgoingLiquidityGaugeTokenAmount
1458
- })
2148
+ }),
2149
+ selector: unstakeSelector
1459
2150
  });
1460
2151
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
1461
2152
  } // sETH pool
1462
2153
 
1463
- function curveSethClaimRewards(_ref16) {
1464
- var comptrollerProxy = _ref16.comptrollerProxy,
1465
- integrationManager = _ref16.integrationManager,
1466
- fundOwner = _ref16.fundOwner,
1467
- curveLiquiditySethAdapter = _ref16.curveLiquiditySethAdapter;
2154
+ function curveSethClaimRewards(_ref23) {
2155
+ var comptrollerProxy = _ref23.comptrollerProxy,
2156
+ integrationManager = _ref23.integrationManager,
2157
+ fundOwner = _ref23.fundOwner,
2158
+ curveLiquiditySethAdapter = _ref23.curveLiquiditySethAdapter;
1468
2159
  var callArgs = callOnIntegrationArgs({
1469
2160
  adapter: curveLiquiditySethAdapter,
1470
- selector: claimRewardsSelector,
1471
- encodedCallArgs: constants.HashZero
2161
+ encodedCallArgs: constants.HashZero,
2162
+ selector: claimRewardsSelector
1472
2163
  });
1473
2164
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
1474
2165
  }
1475
- function curveSethLend(_ref17) {
1476
- var comptrollerProxy = _ref17.comptrollerProxy,
1477
- integrationManager = _ref17.integrationManager,
1478
- fundOwner = _ref17.fundOwner,
1479
- curveLiquiditySethAdapter = _ref17.curveLiquiditySethAdapter,
1480
- outgoingWethAmount = _ref17.outgoingWethAmount,
1481
- outgoingSethAmount = _ref17.outgoingSethAmount,
1482
- 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;
1483
2174
  var callArgs = callOnIntegrationArgs({
1484
2175
  adapter: curveLiquiditySethAdapter,
1485
- selector: lendSelector,
1486
2176
  encodedCallArgs: curveSethLendArgs({
1487
- outgoingWethAmount: outgoingWethAmount,
2177
+ minIncomingLPTokenAmount: minIncomingLPTokenAmount,
1488
2178
  outgoingSethAmount: outgoingSethAmount,
1489
- minIncomingLPTokenAmount: minIncomingLPTokenAmount
1490
- })
2179
+ outgoingWethAmount: outgoingWethAmount
2180
+ }),
2181
+ selector: lendSelector
1491
2182
  });
1492
2183
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
1493
2184
  }
1494
- function curveSethLendAndStake(_ref18) {
1495
- var comptrollerProxy = _ref18.comptrollerProxy,
1496
- integrationManager = _ref18.integrationManager,
1497
- fundOwner = _ref18.fundOwner,
1498
- curveLiquiditySethAdapter = _ref18.curveLiquiditySethAdapter,
1499
- outgoingWethAmount = _ref18.outgoingWethAmount,
1500
- outgoingSethAmount = _ref18.outgoingSethAmount,
1501
- 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;
1502
2193
  var callArgs = callOnIntegrationArgs({
1503
2194
  adapter: curveLiquiditySethAdapter,
1504
- selector: lendAndStakeSelector,
1505
2195
  encodedCallArgs: curveSethLendAndStakeArgs({
1506
- outgoingWethAmount: outgoingWethAmount,
2196
+ minIncomingLiquidityGaugeTokenAmount: minIncomingLiquidityGaugeTokenAmount,
1507
2197
  outgoingSethAmount: outgoingSethAmount,
1508
- minIncomingLiquidityGaugeTokenAmount: minIncomingLiquidityGaugeTokenAmount
1509
- })
2198
+ outgoingWethAmount: outgoingWethAmount
2199
+ }),
2200
+ selector: lendAndStakeSelector
1510
2201
  });
1511
2202
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
1512
2203
  }
1513
- function curveSethRedeem(_ref19) {
1514
- var comptrollerProxy = _ref19.comptrollerProxy,
1515
- integrationManager = _ref19.integrationManager,
1516
- fundOwner = _ref19.fundOwner,
1517
- curveLiquiditySethAdapter = _ref19.curveLiquiditySethAdapter,
1518
- outgoingLPTokenAmount = _ref19.outgoingLPTokenAmount,
1519
- minIncomingWethAmount = _ref19.minIncomingWethAmount,
1520
- minIncomingSethAmount = _ref19.minIncomingSethAmount,
1521
- 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;
1522
2213
  var callArgs = callOnIntegrationArgs({
1523
2214
  adapter: curveLiquiditySethAdapter,
1524
- selector: redeemSelector,
1525
2215
  encodedCallArgs: curveSethRedeemArgs({
1526
- outgoingLPTokenAmount: outgoingLPTokenAmount,
1527
- minIncomingWethAmount: minIncomingWethAmount,
1528
2216
  minIncomingSethAmount: minIncomingSethAmount,
2217
+ minIncomingWethAmount: minIncomingWethAmount,
2218
+ outgoingLPTokenAmount: outgoingLPTokenAmount,
1529
2219
  receiveSingleAsset: receiveSingleAsset
1530
- })
2220
+ }),
2221
+ selector: redeemSelector
1531
2222
  });
1532
2223
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
1533
2224
  }
1534
- function curveSethStake(_ref20) {
1535
- var comptrollerProxy = _ref20.comptrollerProxy,
1536
- integrationManager = _ref20.integrationManager,
1537
- fundOwner = _ref20.fundOwner,
1538
- curveLiquiditySethAdapter = _ref20.curveLiquiditySethAdapter,
1539
- 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;
1540
2231
  var callArgs = callOnIntegrationArgs({
1541
2232
  adapter: curveLiquiditySethAdapter,
1542
- selector: stakeSelector,
1543
2233
  encodedCallArgs: curveSethStakeArgs({
1544
2234
  outgoingLPTokenAmount: outgoingLPTokenAmount
1545
- })
2235
+ }),
2236
+ selector: stakeSelector
1546
2237
  });
1547
2238
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
1548
2239
  }
1549
- function curveSethUnstakeAndRedeem(_ref21) {
1550
- var comptrollerProxy = _ref21.comptrollerProxy,
1551
- integrationManager = _ref21.integrationManager,
1552
- fundOwner = _ref21.fundOwner,
1553
- curveLiquiditySethAdapter = _ref21.curveLiquiditySethAdapter,
1554
- outgoingLiquidityGaugeTokenAmount = _ref21.outgoingLiquidityGaugeTokenAmount,
1555
- minIncomingWethAmount = _ref21.minIncomingWethAmount,
1556
- minIncomingSethAmount = _ref21.minIncomingSethAmount,
1557
- 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;
1558
2249
  var callArgs = callOnIntegrationArgs({
1559
2250
  adapter: curveLiquiditySethAdapter,
1560
- selector: unstakeAndRedeemSelector,
1561
2251
  encodedCallArgs: curveSethUnstakeAndRedeemArgs({
1562
- outgoingLiquidityGaugeTokenAmount: outgoingLiquidityGaugeTokenAmount,
1563
- minIncomingWethAmount: minIncomingWethAmount,
1564
2252
  minIncomingSethAmount: minIncomingSethAmount,
2253
+ minIncomingWethAmount: minIncomingWethAmount,
2254
+ outgoingLiquidityGaugeTokenAmount: outgoingLiquidityGaugeTokenAmount,
1565
2255
  receiveSingleAsset: receiveSingleAsset
1566
- })
2256
+ }),
2257
+ selector: unstakeAndRedeemSelector
1567
2258
  });
1568
2259
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
1569
2260
  }
1570
- function curveSethUnstake(_ref22) {
1571
- var comptrollerProxy = _ref22.comptrollerProxy,
1572
- integrationManager = _ref22.integrationManager,
1573
- fundOwner = _ref22.fundOwner,
1574
- curveLiquiditySethAdapter = _ref22.curveLiquiditySethAdapter,
1575
- 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;
1576
2267
  var callArgs = callOnIntegrationArgs({
1577
2268
  adapter: curveLiquiditySethAdapter,
1578
- selector: unstakeSelector,
1579
2269
  encodedCallArgs: curveSethUnstakeArgs({
1580
2270
  outgoingLiquidityGaugeTokenAmount: outgoingLiquidityGaugeTokenAmount
1581
- })
2271
+ }),
2272
+ selector: unstakeSelector
1582
2273
  });
1583
2274
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
1584
2275
  } // stETH pool
1585
2276
 
1586
- function curveStethClaimRewards(_ref23) {
1587
- var comptrollerProxy = _ref23.comptrollerProxy,
1588
- integrationManager = _ref23.integrationManager,
1589
- fundOwner = _ref23.fundOwner,
1590
- curveLiquidityStethAdapter = _ref23.curveLiquidityStethAdapter;
2277
+ function curveStethClaimRewards(_ref30) {
2278
+ var comptrollerProxy = _ref30.comptrollerProxy,
2279
+ integrationManager = _ref30.integrationManager,
2280
+ fundOwner = _ref30.fundOwner,
2281
+ curveLiquidityStethAdapter = _ref30.curveLiquidityStethAdapter;
1591
2282
  var callArgs = callOnIntegrationArgs({
1592
2283
  adapter: curveLiquidityStethAdapter,
1593
- selector: claimRewardsSelector,
1594
- encodedCallArgs: constants.HashZero
2284
+ encodedCallArgs: constants.HashZero,
2285
+ selector: claimRewardsSelector
1595
2286
  });
1596
2287
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
1597
2288
  }
1598
- function curveStethLend(_ref24) {
1599
- var comptrollerProxy = _ref24.comptrollerProxy,
1600
- integrationManager = _ref24.integrationManager,
1601
- fundOwner = _ref24.fundOwner,
1602
- curveLiquidityStethAdapter = _ref24.curveLiquidityStethAdapter,
1603
- outgoingWethAmount = _ref24.outgoingWethAmount,
1604
- outgoingStethAmount = _ref24.outgoingStethAmount,
1605
- 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;
1606
2297
  var callArgs = callOnIntegrationArgs({
1607
2298
  adapter: curveLiquidityStethAdapter,
1608
- selector: lendSelector,
1609
2299
  encodedCallArgs: curveStethLendArgs({
1610
- outgoingWethAmount: outgoingWethAmount,
2300
+ minIncomingLPTokenAmount: minIncomingLPTokenAmount,
1611
2301
  outgoingStethAmount: outgoingStethAmount,
1612
- minIncomingLPTokenAmount: minIncomingLPTokenAmount
1613
- })
2302
+ outgoingWethAmount: outgoingWethAmount
2303
+ }),
2304
+ selector: lendSelector
1614
2305
  });
1615
2306
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
1616
2307
  }
1617
- function curveStethLendAndStake(_ref25) {
1618
- var comptrollerProxy = _ref25.comptrollerProxy,
1619
- integrationManager = _ref25.integrationManager,
1620
- fundOwner = _ref25.fundOwner,
1621
- curveLiquidityStethAdapter = _ref25.curveLiquidityStethAdapter,
1622
- outgoingWethAmount = _ref25.outgoingWethAmount,
1623
- outgoingStethAmount = _ref25.outgoingStethAmount,
1624
- 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;
1625
2316
  var callArgs = callOnIntegrationArgs({
1626
2317
  adapter: curveLiquidityStethAdapter,
1627
- selector: lendAndStakeSelector,
1628
2318
  encodedCallArgs: curveStethLendAndStakeArgs({
1629
- outgoingWethAmount: outgoingWethAmount,
2319
+ minIncomingLiquidityGaugeTokenAmount: minIncomingLiquidityGaugeTokenAmount,
1630
2320
  outgoingStethAmount: outgoingStethAmount,
1631
- minIncomingLiquidityGaugeTokenAmount: minIncomingLiquidityGaugeTokenAmount
1632
- })
2321
+ outgoingWethAmount: outgoingWethAmount
2322
+ }),
2323
+ selector: lendAndStakeSelector
1633
2324
  });
1634
2325
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
1635
2326
  }
1636
- function curveStethRedeem(_ref26) {
1637
- var comptrollerProxy = _ref26.comptrollerProxy,
1638
- integrationManager = _ref26.integrationManager,
1639
- fundOwner = _ref26.fundOwner,
1640
- curveLiquidityStethAdapter = _ref26.curveLiquidityStethAdapter,
1641
- outgoingLPTokenAmount = _ref26.outgoingLPTokenAmount,
1642
- minIncomingWethAmount = _ref26.minIncomingWethAmount,
1643
- minIncomingStethAmount = _ref26.minIncomingStethAmount,
1644
- 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;
1645
2336
  var callArgs = callOnIntegrationArgs({
1646
2337
  adapter: curveLiquidityStethAdapter,
1647
- selector: redeemSelector,
1648
2338
  encodedCallArgs: curveStethRedeemArgs({
1649
- outgoingLPTokenAmount: outgoingLPTokenAmount,
1650
- minIncomingWethAmount: minIncomingWethAmount,
1651
2339
  minIncomingStethAmount: minIncomingStethAmount,
2340
+ minIncomingWethAmount: minIncomingWethAmount,
2341
+ outgoingLPTokenAmount: outgoingLPTokenAmount,
1652
2342
  receiveSingleAsset: receiveSingleAsset
1653
- })
2343
+ }),
2344
+ selector: redeemSelector
1654
2345
  });
1655
2346
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
1656
2347
  }
1657
- function curveStethStake(_ref27) {
1658
- var comptrollerProxy = _ref27.comptrollerProxy,
1659
- integrationManager = _ref27.integrationManager,
1660
- fundOwner = _ref27.fundOwner,
1661
- curveLiquidityStethAdapter = _ref27.curveLiquidityStethAdapter,
1662
- 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;
1663
2354
  var callArgs = callOnIntegrationArgs({
1664
2355
  adapter: curveLiquidityStethAdapter,
1665
- selector: stakeSelector,
1666
2356
  encodedCallArgs: curveStethStakeArgs({
1667
2357
  outgoingLPTokenAmount: outgoingLPTokenAmount
1668
- })
2358
+ }),
2359
+ selector: stakeSelector
1669
2360
  });
1670
2361
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
1671
2362
  }
1672
- function curveStethUnstakeAndRedeem(_ref28) {
1673
- var comptrollerProxy = _ref28.comptrollerProxy,
1674
- integrationManager = _ref28.integrationManager,
1675
- fundOwner = _ref28.fundOwner,
1676
- curveLiquidityStethAdapter = _ref28.curveLiquidityStethAdapter,
1677
- outgoingLiquidityGaugeTokenAmount = _ref28.outgoingLiquidityGaugeTokenAmount,
1678
- minIncomingWethAmount = _ref28.minIncomingWethAmount,
1679
- minIncomingStethAmount = _ref28.minIncomingStethAmount,
1680
- 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;
1681
2372
  var callArgs = callOnIntegrationArgs({
1682
2373
  adapter: curveLiquidityStethAdapter,
1683
- selector: unstakeAndRedeemSelector,
1684
2374
  encodedCallArgs: curveStethUnstakeAndRedeemArgs({
1685
- outgoingLiquidityGaugeTokenAmount: outgoingLiquidityGaugeTokenAmount,
1686
- minIncomingWethAmount: minIncomingWethAmount,
1687
2375
  minIncomingStethAmount: minIncomingStethAmount,
2376
+ minIncomingWethAmount: minIncomingWethAmount,
2377
+ outgoingLiquidityGaugeTokenAmount: outgoingLiquidityGaugeTokenAmount,
1688
2378
  receiveSingleAsset: receiveSingleAsset
1689
- })
2379
+ }),
2380
+ selector: unstakeAndRedeemSelector
1690
2381
  });
1691
2382
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
1692
2383
  }
1693
- function curveStethUnstake(_ref29) {
1694
- var comptrollerProxy = _ref29.comptrollerProxy,
1695
- integrationManager = _ref29.integrationManager,
1696
- fundOwner = _ref29.fundOwner,
1697
- curveLiquidityStethAdapter = _ref29.curveLiquidityStethAdapter,
1698
- 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;
1699
2390
  var callArgs = callOnIntegrationArgs({
1700
2391
  adapter: curveLiquidityStethAdapter,
1701
- selector: unstakeSelector,
1702
2392
  encodedCallArgs: curveStethUnstakeArgs({
1703
2393
  outgoingLiquidityGaugeTokenAmount: outgoingLiquidityGaugeTokenAmount
1704
- })
2394
+ }),
2395
+ selector: unstakeSelector
1705
2396
  });
1706
2397
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
1707
2398
  }
@@ -1720,10 +2411,10 @@ function _idleClaimRewards() {
1720
2411
  comptrollerProxy = _ref.comptrollerProxy, integrationManager = _ref.integrationManager, fundOwner = _ref.fundOwner, idleAdapter = _ref.idleAdapter, idleToken = _ref.idleToken;
1721
2412
  callArgs = callOnIntegrationArgs({
1722
2413
  adapter: idleAdapter,
1723
- selector: claimRewardsSelector,
1724
2414
  encodedCallArgs: idleClaimRewardsArgs({
1725
2415
  idleToken: idleToken
1726
- })
2416
+ }),
2417
+ selector: claimRewardsSelector
1727
2418
  });
1728
2419
  return _context.abrupt("return", comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs));
1729
2420
 
@@ -1752,12 +2443,12 @@ function _idleLend() {
1752
2443
  comptrollerProxy = _ref2.comptrollerProxy, integrationManager = _ref2.integrationManager, fundOwner = _ref2.fundOwner, idleAdapter = _ref2.idleAdapter, idleToken = _ref2.idleToken, outgoingUnderlyingAmount = _ref2.outgoingUnderlyingAmount, _ref2$minIncomingIdle = _ref2.minIncomingIdleTokenAmount, minIncomingIdleTokenAmount = _ref2$minIncomingIdle === void 0 ? BigNumber.from(1) : _ref2$minIncomingIdle;
1753
2444
  callArgs = callOnIntegrationArgs({
1754
2445
  adapter: idleAdapter,
1755
- selector: lendSelector,
1756
2446
  encodedCallArgs: idleLendArgs({
1757
2447
  idleToken: idleToken,
1758
- outgoingUnderlyingAmount: outgoingUnderlyingAmount,
1759
- minIncomingIdleTokenAmount: minIncomingIdleTokenAmount
1760
- })
2448
+ minIncomingIdleTokenAmount: minIncomingIdleTokenAmount,
2449
+ outgoingUnderlyingAmount: outgoingUnderlyingAmount
2450
+ }),
2451
+ selector: lendSelector
1761
2452
  });
1762
2453
  return _context2.abrupt("return", comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs));
1763
2454
 
@@ -1786,12 +2477,12 @@ function _idleRedeem() {
1786
2477
  comptrollerProxy = _ref3.comptrollerProxy, integrationManager = _ref3.integrationManager, fundOwner = _ref3.fundOwner, idleAdapter = _ref3.idleAdapter, idleToken = _ref3.idleToken, outgoingIdleTokenAmount = _ref3.outgoingIdleTokenAmount, _ref3$minIncomingUnde = _ref3.minIncomingUnderlyingAmount, minIncomingUnderlyingAmount = _ref3$minIncomingUnde === void 0 ? BigNumber.from(1) : _ref3$minIncomingUnde;
1787
2478
  callArgs = callOnIntegrationArgs({
1788
2479
  adapter: idleAdapter,
1789
- selector: redeemSelector,
1790
2480
  encodedCallArgs: idleRedeemArgs({
1791
2481
  idleToken: idleToken,
1792
- outgoingIdleTokenAmount: outgoingIdleTokenAmount,
1793
- minIncomingUnderlyingAmount: minIncomingUnderlyingAmount
1794
- })
2482
+ minIncomingUnderlyingAmount: minIncomingUnderlyingAmount,
2483
+ outgoingIdleTokenAmount: outgoingIdleTokenAmount
2484
+ }),
2485
+ selector: redeemSelector
1795
2486
  });
1796
2487
  return _context3.abrupt("return", comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs));
1797
2488
 
@@ -1862,17 +2553,17 @@ function _mockGenericSwap() {
1862
2553
 
1863
2554
  case 9:
1864
2555
  swapArgs = mockGenericSwapArgs({
1865
- spendAssets: spendAssets,
1866
- maxSpendAssetAmounts: maxSpendAssetAmounts,
2556
+ actualIncomingAssetAmounts: actualIncomingAssetAmounts,
1867
2557
  actualSpendAssetAmounts: actualSpendAssetAmounts,
1868
2558
  incomingAssets: incomingAssets,
2559
+ maxSpendAssetAmounts: maxSpendAssetAmounts,
1869
2560
  minIncomingAssetAmounts: minIncomingAssetAmounts,
1870
- actualIncomingAssetAmounts: actualIncomingAssetAmounts
2561
+ spendAssets: spendAssets
1871
2562
  });
1872
2563
  callArgs = callOnIntegrationArgs({
1873
2564
  adapter: mockGenericAdapter,
1874
- selector: selector,
1875
- encodedCallArgs: swapArgs
2565
+ encodedCallArgs: swapArgs,
2566
+ selector: selector
1876
2567
  });
1877
2568
  swapTx = comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
1878
2569
  _context.next = 14;
@@ -1891,14 +2582,80 @@ function _mockGenericSwap() {
1891
2582
  return _mockGenericSwap.apply(this, arguments);
1892
2583
  }
1893
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
+
1894
2651
  function paraSwapV4GenerateDummyPaths(_ref) {
1895
2652
  var toTokens = _ref.toTokens;
1896
2653
  return toTokens.map(function (toToken) {
1897
2654
  return {
1898
- to: toToken,
1899
- totalNetworkFee: 0,
1900
2655
  // Not supported in our protocol
1901
- routes: [] // Can ignore this param in the dummy
2656
+ routes: [],
2657
+ to: toToken,
2658
+ totalNetworkFee: 0 // Can ignore this param in the dummy
1902
2659
 
1903
2660
  };
1904
2661
  });
@@ -1917,16 +2674,16 @@ function _paraSwapV4TakeOrder() {
1917
2674
  case 0:
1918
2675
  comptrollerProxy = _ref2.comptrollerProxy, integrationManager = _ref2.integrationManager, fundOwner = _ref2.fundOwner, paraSwapV4Adapter = _ref2.paraSwapV4Adapter, outgoingAsset = _ref2.outgoingAsset, _ref2$outgoingAssetAm = _ref2.outgoingAssetAmount, outgoingAssetAmount = _ref2$outgoingAssetAm === void 0 ? utils.parseEther('1') : _ref2$outgoingAssetAm, _ref2$minIncomingAsse = _ref2.minIncomingAssetAmount, minIncomingAssetAmount = _ref2$minIncomingAsse === void 0 ? 1 : _ref2$minIncomingAsse, _ref2$expectedIncomin = _ref2.expectedIncomingAssetAmount, expectedIncomingAssetAmount = _ref2$expectedIncomin === void 0 ? minIncomingAssetAmount : _ref2$expectedIncomin, paths = _ref2.paths;
1919
2676
  takeOrderArgs = paraSwapV4TakeOrderArgs({
1920
- minIncomingAssetAmount: minIncomingAssetAmount,
1921
2677
  expectedIncomingAssetAmount: expectedIncomingAssetAmount,
2678
+ minIncomingAssetAmount: minIncomingAssetAmount,
1922
2679
  outgoingAsset: outgoingAsset,
1923
2680
  outgoingAssetAmount: outgoingAssetAmount,
1924
2681
  paths: paths
1925
2682
  });
1926
2683
  callArgs = callOnIntegrationArgs({
1927
2684
  adapter: paraSwapV4Adapter,
1928
- selector: takeOrderSelector,
1929
- encodedCallArgs: takeOrderArgs
2685
+ encodedCallArgs: takeOrderArgs,
2686
+ selector: takeOrderSelector
1930
2687
  });
1931
2688
  return _context.abrupt("return", comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs));
1932
2689
 
@@ -1940,6 +2697,161 @@ function _paraSwapV4TakeOrder() {
1940
2697
  return _paraSwapV4TakeOrder.apply(this, arguments);
1941
2698
  }
1942
2699
 
2700
+ function paraSwapV5GenerateDummyPaths(_ref) {
2701
+ var toTokens = _ref.toTokens;
2702
+ return toTokens.map(function (toToken) {
2703
+ return {
2704
+ // Not supported in our protocol
2705
+ adapters: [],
2706
+ to: toToken,
2707
+ totalNetworkFee: 0 // Can ignore this param in the dummy
2708
+
2709
+ };
2710
+ });
2711
+ }
2712
+ function paraSwapV5TakeOrder(_x) {
2713
+ return _paraSwapV5TakeOrder.apply(this, arguments);
2714
+ }
2715
+
2716
+ function _paraSwapV5TakeOrder() {
2717
+ _paraSwapV5TakeOrder = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref2) {
2718
+ var comptrollerProxy, integrationManager, fundOwner, paraSwapV5Adapter, outgoingAsset, outgoingAssetAmount, _ref2$minIncomingAsse, minIncomingAssetAmount, _ref2$expectedIncomin, expectedIncomingAssetAmount, _ref2$uuid, uuid, paths, takeOrderArgs, callArgs;
2719
+
2720
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
2721
+ while (1) {
2722
+ switch (_context.prev = _context.next) {
2723
+ case 0:
2724
+ comptrollerProxy = _ref2.comptrollerProxy, integrationManager = _ref2.integrationManager, fundOwner = _ref2.fundOwner, paraSwapV5Adapter = _ref2.paraSwapV5Adapter, outgoingAsset = _ref2.outgoingAsset, outgoingAssetAmount = _ref2.outgoingAssetAmount, _ref2$minIncomingAsse = _ref2.minIncomingAssetAmount, minIncomingAssetAmount = _ref2$minIncomingAsse === void 0 ? 1 : _ref2$minIncomingAsse, _ref2$expectedIncomin = _ref2.expectedIncomingAssetAmount, expectedIncomingAssetAmount = _ref2$expectedIncomin === void 0 ? minIncomingAssetAmount : _ref2$expectedIncomin, _ref2$uuid = _ref2.uuid, uuid = _ref2$uuid === void 0 ? utils.randomBytes(16) : _ref2$uuid, paths = _ref2.paths;
2725
+ takeOrderArgs = paraSwapV5TakeOrderArgs({
2726
+ expectedIncomingAssetAmount: expectedIncomingAssetAmount,
2727
+ minIncomingAssetAmount: minIncomingAssetAmount,
2728
+ outgoingAsset: outgoingAsset,
2729
+ outgoingAssetAmount: outgoingAssetAmount,
2730
+ paths: paths,
2731
+ uuid: uuid
2732
+ });
2733
+ callArgs = callOnIntegrationArgs({
2734
+ adapter: paraSwapV5Adapter,
2735
+ encodedCallArgs: takeOrderArgs,
2736
+ selector: takeOrderSelector
2737
+ });
2738
+ return _context.abrupt("return", comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs));
2739
+
2740
+ case 4:
2741
+ case "end":
2742
+ return _context.stop();
2743
+ }
2744
+ }
2745
+ }, _callee);
2746
+ }));
2747
+ return _paraSwapV5TakeOrder.apply(this, arguments);
2748
+ }
2749
+
2750
+ function poolTogetherV4Lend(_x) {
2751
+ return _poolTogetherV4Lend.apply(this, arguments);
2752
+ }
2753
+
2754
+ function _poolTogetherV4Lend() {
2755
+ _poolTogetherV4Lend = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {
2756
+ var comptrollerProxy, integrationManager, fundOwner, poolTogetherV4Adapter, ptToken, _ref$amount, amount, lendArgs, callArgs, lendTx;
2757
+
2758
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
2759
+ while (1) {
2760
+ switch (_context.prev = _context.next) {
2761
+ case 0:
2762
+ comptrollerProxy = _ref.comptrollerProxy, integrationManager = _ref.integrationManager, fundOwner = _ref.fundOwner, poolTogetherV4Adapter = _ref.poolTogetherV4Adapter, ptToken = _ref.ptToken, _ref$amount = _ref.amount, amount = _ref$amount === void 0 ? utils.parseEther('1') : _ref$amount;
2763
+ lendArgs = poolTogetherV4LendArgs({
2764
+ amount: amount,
2765
+ ptToken: ptToken
2766
+ });
2767
+ callArgs = callOnIntegrationArgs({
2768
+ adapter: poolTogetherV4Adapter,
2769
+ encodedCallArgs: lendArgs,
2770
+ selector: lendSelector
2771
+ });
2772
+ lendTx = comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
2773
+ return _context.abrupt("return", lendTx);
2774
+
2775
+ case 5:
2776
+ case "end":
2777
+ return _context.stop();
2778
+ }
2779
+ }
2780
+ }, _callee);
2781
+ }));
2782
+ return _poolTogetherV4Lend.apply(this, arguments);
2783
+ }
2784
+
2785
+ function poolTogetherV4Redeem(_x2) {
2786
+ return _poolTogetherV4Redeem.apply(this, arguments);
2787
+ }
2788
+
2789
+ function _poolTogetherV4Redeem() {
2790
+ _poolTogetherV4Redeem = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(_ref2) {
2791
+ var comptrollerProxy, integrationManager, fundOwner, poolTogetherV4Adapter, ptToken, _ref2$amount, amount, redeemArgs, callArgs, redeemTx;
2792
+
2793
+ return _regeneratorRuntime.wrap(function _callee2$(_context2) {
2794
+ while (1) {
2795
+ switch (_context2.prev = _context2.next) {
2796
+ case 0:
2797
+ comptrollerProxy = _ref2.comptrollerProxy, integrationManager = _ref2.integrationManager, fundOwner = _ref2.fundOwner, poolTogetherV4Adapter = _ref2.poolTogetherV4Adapter, ptToken = _ref2.ptToken, _ref2$amount = _ref2.amount, amount = _ref2$amount === void 0 ? utils.parseEther('1') : _ref2$amount;
2798
+ redeemArgs = poolTogetherV4RedeemArgs({
2799
+ amount: amount,
2800
+ ptToken: ptToken
2801
+ });
2802
+ callArgs = callOnIntegrationArgs({
2803
+ adapter: poolTogetherV4Adapter,
2804
+ encodedCallArgs: redeemArgs,
2805
+ selector: redeemSelector
2806
+ });
2807
+ redeemTx = comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
2808
+ return _context2.abrupt("return", redeemTx);
2809
+
2810
+ case 5:
2811
+ case "end":
2812
+ return _context2.stop();
2813
+ }
2814
+ }
2815
+ }, _callee2);
2816
+ }));
2817
+ return _poolTogetherV4Redeem.apply(this, arguments);
2818
+ }
2819
+
2820
+ function poolTogetherV4ClaimRewards(_x3) {
2821
+ return _poolTogetherV4ClaimRewards.apply(this, arguments);
2822
+ }
2823
+
2824
+ function _poolTogetherV4ClaimRewards() {
2825
+ _poolTogetherV4ClaimRewards = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(_ref3) {
2826
+ var comptrollerProxy, integrationManager, fundOwner, poolTogetherV4Adapter, prizeDistributor, drawIds, winningPicks, claimRewardsArgs, callArgs, claimTx;
2827
+ return _regeneratorRuntime.wrap(function _callee3$(_context3) {
2828
+ while (1) {
2829
+ switch (_context3.prev = _context3.next) {
2830
+ case 0:
2831
+ comptrollerProxy = _ref3.comptrollerProxy, integrationManager = _ref3.integrationManager, fundOwner = _ref3.fundOwner, poolTogetherV4Adapter = _ref3.poolTogetherV4Adapter, prizeDistributor = _ref3.prizeDistributor, drawIds = _ref3.drawIds, winningPicks = _ref3.winningPicks;
2832
+ claimRewardsArgs = poolTogetherV4ClaimRewardsArgs({
2833
+ drawIds: drawIds,
2834
+ prizeDistributor: prizeDistributor,
2835
+ winningPicks: winningPicks
2836
+ });
2837
+ callArgs = callOnIntegrationArgs({
2838
+ adapter: poolTogetherV4Adapter,
2839
+ encodedCallArgs: claimRewardsArgs,
2840
+ selector: claimRewardsSelector
2841
+ });
2842
+ claimTx = comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
2843
+ return _context3.abrupt("return", claimTx);
2844
+
2845
+ case 5:
2846
+ case "end":
2847
+ return _context3.stop();
2848
+ }
2849
+ }
2850
+ }, _callee3);
2851
+ }));
2852
+ return _poolTogetherV4ClaimRewards.apply(this, arguments);
2853
+ }
2854
+
1943
2855
  function synthetixAssignExchangeDelegate(_x) {
1944
2856
  return _synthetixAssignExchangeDelegate.apply(this, arguments);
1945
2857
  }
@@ -1997,26 +2909,58 @@ function _synthetixResolveAddress() {
1997
2909
  return _synthetixResolveAddress.apply(this, arguments);
1998
2910
  }
1999
2911
 
2000
- function synthetixTakeOrder(_x3) {
2912
+ function synthetixRedeem(_x3) {
2913
+ return _synthetixRedeem.apply(this, arguments);
2914
+ }
2915
+
2916
+ function _synthetixRedeem() {
2917
+ _synthetixRedeem = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(_ref3) {
2918
+ var comptrollerProxy, integrationManager, signer, synthetixAdapter, synths, redeemArgs, callArgs;
2919
+ return _regeneratorRuntime.wrap(function _callee3$(_context3) {
2920
+ while (1) {
2921
+ switch (_context3.prev = _context3.next) {
2922
+ case 0:
2923
+ comptrollerProxy = _ref3.comptrollerProxy, integrationManager = _ref3.integrationManager, signer = _ref3.signer, synthetixAdapter = _ref3.synthetixAdapter, synths = _ref3.synths;
2924
+ redeemArgs = synthetixRedeemArgs({
2925
+ synths: synths
2926
+ });
2927
+ callArgs = callOnIntegrationArgs({
2928
+ adapter: synthetixAdapter,
2929
+ encodedCallArgs: redeemArgs,
2930
+ selector: redeemSelector
2931
+ });
2932
+ return _context3.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs));
2933
+
2934
+ case 4:
2935
+ case "end":
2936
+ return _context3.stop();
2937
+ }
2938
+ }
2939
+ }, _callee3);
2940
+ }));
2941
+ return _synthetixRedeem.apply(this, arguments);
2942
+ }
2943
+
2944
+ function synthetixTakeOrder(_x4) {
2001
2945
  return _synthetixTakeOrder.apply(this, arguments);
2002
2946
  }
2003
2947
 
2004
2948
  function _synthetixTakeOrder() {
2005
- _synthetixTakeOrder = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(_ref3) {
2006
- var comptrollerProxy, vaultProxy, integrationManager, fundOwner, synthetixAdapter, outgoingAsset, _ref3$outgoingAssetAm, outgoingAssetAmount, incomingAsset, _ref3$minIncomingAsse, minIncomingAssetAmount, _ref3$seedFund, seedFund, takeOrderArgs, callArgs;
2949
+ _synthetixTakeOrder = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(_ref4) {
2950
+ var comptrollerProxy, vaultProxy, integrationManager, fundOwner, synthetixAdapter, outgoingAsset, _ref4$outgoingAssetAm, outgoingAssetAmount, incomingAsset, _ref4$minIncomingAsse, minIncomingAssetAmount, _ref4$seedFund, seedFund, takeOrderArgs, callArgs;
2007
2951
 
2008
- return _regeneratorRuntime.wrap(function _callee3$(_context3) {
2952
+ return _regeneratorRuntime.wrap(function _callee4$(_context4) {
2009
2953
  while (1) {
2010
- switch (_context3.prev = _context3.next) {
2954
+ switch (_context4.prev = _context4.next) {
2011
2955
  case 0:
2012
- comptrollerProxy = _ref3.comptrollerProxy, vaultProxy = _ref3.vaultProxy, integrationManager = _ref3.integrationManager, fundOwner = _ref3.fundOwner, synthetixAdapter = _ref3.synthetixAdapter, outgoingAsset = _ref3.outgoingAsset, _ref3$outgoingAssetAm = _ref3.outgoingAssetAmount, outgoingAssetAmount = _ref3$outgoingAssetAm === void 0 ? utils.parseEther('1') : _ref3$outgoingAssetAm, incomingAsset = _ref3.incomingAsset, _ref3$minIncomingAsse = _ref3.minIncomingAssetAmount, minIncomingAssetAmount = _ref3$minIncomingAsse === void 0 ? utils.parseEther('1') : _ref3$minIncomingAsse, _ref3$seedFund = _ref3.seedFund, seedFund = _ref3$seedFund === void 0 ? false : _ref3$seedFund;
2956
+ comptrollerProxy = _ref4.comptrollerProxy, vaultProxy = _ref4.vaultProxy, integrationManager = _ref4.integrationManager, fundOwner = _ref4.fundOwner, synthetixAdapter = _ref4.synthetixAdapter, outgoingAsset = _ref4.outgoingAsset, _ref4$outgoingAssetAm = _ref4.outgoingAssetAmount, outgoingAssetAmount = _ref4$outgoingAssetAm === void 0 ? utils.parseEther('1') : _ref4$outgoingAssetAm, incomingAsset = _ref4.incomingAsset, _ref4$minIncomingAsse = _ref4.minIncomingAssetAmount, minIncomingAssetAmount = _ref4$minIncomingAsse === void 0 ? utils.parseEther('1') : _ref4$minIncomingAsse, _ref4$seedFund = _ref4.seedFund, seedFund = _ref4$seedFund === void 0 ? false : _ref4$seedFund;
2013
2957
 
2014
2958
  if (!seedFund) {
2015
- _context3.next = 4;
2959
+ _context4.next = 4;
2016
2960
  break;
2017
2961
  }
2018
2962
 
2019
- _context3.next = 4;
2963
+ _context4.next = 4;
2020
2964
  return outgoingAsset.transfer(vaultProxy, outgoingAssetAmount);
2021
2965
 
2022
2966
  case 4:
@@ -2026,23 +2970,23 @@ function _synthetixTakeOrder() {
2026
2970
  outgoingAsset: outgoingAsset,
2027
2971
  outgoingAssetAmount: outgoingAssetAmount
2028
2972
  });
2029
- _context3.next = 7;
2973
+ _context4.next = 7;
2030
2974
  return callOnIntegrationArgs({
2031
2975
  adapter: synthetixAdapter,
2032
- selector: takeOrderSelector,
2033
- encodedCallArgs: takeOrderArgs
2976
+ encodedCallArgs: takeOrderArgs,
2977
+ selector: takeOrderSelector
2034
2978
  });
2035
2979
 
2036
2980
  case 7:
2037
- callArgs = _context3.sent;
2038
- return _context3.abrupt("return", comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs));
2981
+ callArgs = _context4.sent;
2982
+ return _context4.abrupt("return", comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs));
2039
2983
 
2040
2984
  case 9:
2041
2985
  case "end":
2042
- return _context3.stop();
2986
+ return _context4.stop();
2043
2987
  }
2044
2988
  }
2045
- }, _callee3);
2989
+ }, _callee4);
2046
2990
  }));
2047
2991
  return _synthetixTakeOrder.apply(this, arguments);
2048
2992
  }
@@ -2055,13 +2999,13 @@ function uniswapV2Lend(_x) {
2055
2999
 
2056
3000
  function _uniswapV2Lend() {
2057
3001
  _uniswapV2Lend = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {
2058
- var comptrollerProxy, vaultProxy, integrationManager, fundOwner, uniswapV2Adapter, tokenA, tokenB, amountADesired, amountBDesired, amountAMin, amountBMin, minPoolTokenAmount, _ref$seedFund, seedFund, lendArgs, callArgs, lendTx;
3002
+ var comptrollerProxy, vaultProxy, integrationManager, fundOwner, uniswapV2LiquidityAdapter, tokenA, tokenB, amountADesired, amountBDesired, amountAMin, amountBMin, minPoolTokenAmount, _ref$seedFund, seedFund, lendArgs, callArgs, lendTx;
2059
3003
 
2060
3004
  return _regeneratorRuntime.wrap(function _callee$(_context) {
2061
3005
  while (1) {
2062
3006
  switch (_context.prev = _context.next) {
2063
3007
  case 0:
2064
- comptrollerProxy = _ref.comptrollerProxy, vaultProxy = _ref.vaultProxy, integrationManager = _ref.integrationManager, fundOwner = _ref.fundOwner, uniswapV2Adapter = _ref.uniswapV2Adapter, tokenA = _ref.tokenA, tokenB = _ref.tokenB, amountADesired = _ref.amountADesired, amountBDesired = _ref.amountBDesired, amountAMin = _ref.amountAMin, amountBMin = _ref.amountBMin, minPoolTokenAmount = _ref.minPoolTokenAmount, _ref$seedFund = _ref.seedFund, seedFund = _ref$seedFund === void 0 ? false : _ref$seedFund;
3008
+ comptrollerProxy = _ref.comptrollerProxy, vaultProxy = _ref.vaultProxy, integrationManager = _ref.integrationManager, fundOwner = _ref.fundOwner, uniswapV2LiquidityAdapter = _ref.uniswapV2LiquidityAdapter, tokenA = _ref.tokenA, tokenB = _ref.tokenB, amountADesired = _ref.amountADesired, amountBDesired = _ref.amountBDesired, amountAMin = _ref.amountAMin, amountBMin = _ref.amountBMin, minPoolTokenAmount = _ref.minPoolTokenAmount, _ref$seedFund = _ref.seedFund, seedFund = _ref$seedFund === void 0 ? false : _ref$seedFund;
2065
3009
 
2066
3010
  if (!seedFund) {
2067
3011
  _context.next = 6;
@@ -2077,18 +3021,18 @@ function _uniswapV2Lend() {
2077
3021
 
2078
3022
  case 6:
2079
3023
  lendArgs = uniswapV2LendArgs({
2080
- tokenA: tokenA,
2081
- tokenB: tokenB,
2082
3024
  amountADesired: amountADesired,
2083
- amountBDesired: amountBDesired,
2084
3025
  amountAMin: amountAMin,
3026
+ amountBDesired: amountBDesired,
2085
3027
  amountBMin: amountBMin,
2086
- minPoolTokenAmount: minPoolTokenAmount
3028
+ minPoolTokenAmount: minPoolTokenAmount,
3029
+ tokenA: tokenA,
3030
+ tokenB: tokenB
2087
3031
  });
2088
3032
  callArgs = callOnIntegrationArgs({
2089
- adapter: uniswapV2Adapter,
2090
- selector: lendSelector,
2091
- encodedCallArgs: lendArgs
3033
+ adapter: uniswapV2LiquidityAdapter,
3034
+ encodedCallArgs: lendArgs,
3035
+ selector: lendSelector
2092
3036
  });
2093
3037
  lendTx = comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
2094
3038
  _context.next = 11;
@@ -2113,23 +3057,23 @@ function uniswapV2Redeem(_x2) {
2113
3057
 
2114
3058
  function _uniswapV2Redeem() {
2115
3059
  _uniswapV2Redeem = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(_ref2) {
2116
- var comptrollerProxy, integrationManager, fundOwner, uniswapV2Adapter, poolTokenAmount, tokenA, tokenB, amountAMin, amountBMin, redeemArgs, callArgs, redeemTx;
3060
+ var comptrollerProxy, integrationManager, fundOwner, uniswapV2LiquidityAdapter, poolTokenAmount, tokenA, tokenB, amountAMin, amountBMin, redeemArgs, callArgs, redeemTx;
2117
3061
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
2118
3062
  while (1) {
2119
3063
  switch (_context2.prev = _context2.next) {
2120
3064
  case 0:
2121
- comptrollerProxy = _ref2.comptrollerProxy, integrationManager = _ref2.integrationManager, fundOwner = _ref2.fundOwner, uniswapV2Adapter = _ref2.uniswapV2Adapter, poolTokenAmount = _ref2.poolTokenAmount, tokenA = _ref2.tokenA, tokenB = _ref2.tokenB, amountAMin = _ref2.amountAMin, amountBMin = _ref2.amountBMin;
3065
+ comptrollerProxy = _ref2.comptrollerProxy, integrationManager = _ref2.integrationManager, fundOwner = _ref2.fundOwner, uniswapV2LiquidityAdapter = _ref2.uniswapV2LiquidityAdapter, poolTokenAmount = _ref2.poolTokenAmount, tokenA = _ref2.tokenA, tokenB = _ref2.tokenB, amountAMin = _ref2.amountAMin, amountBMin = _ref2.amountBMin;
2122
3066
  redeemArgs = uniswapV2RedeemArgs({
3067
+ amountAMin: amountAMin,
3068
+ amountBMin: amountBMin,
2123
3069
  poolTokenAmount: poolTokenAmount,
2124
3070
  tokenA: tokenA,
2125
- tokenB: tokenB,
2126
- amountAMin: amountAMin,
2127
- amountBMin: amountBMin
3071
+ tokenB: tokenB
2128
3072
  });
2129
3073
  callArgs = callOnIntegrationArgs({
2130
- adapter: uniswapV2Adapter,
2131
- selector: redeemSelector,
2132
- encodedCallArgs: redeemArgs
3074
+ adapter: uniswapV2LiquidityAdapter,
3075
+ encodedCallArgs: redeemArgs,
3076
+ selector: redeemSelector
2133
3077
  });
2134
3078
  redeemTx = comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs);
2135
3079
  _context2.next = 6;
@@ -2154,13 +3098,13 @@ function uniswapV2TakeOrder(_x3) {
2154
3098
 
2155
3099
  function _uniswapV2TakeOrder() {
2156
3100
  _uniswapV2TakeOrder = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(_ref3) {
2157
- var comptrollerProxy, vaultProxy, integrationManager, fundOwner, uniswapV2Adapter, path, outgoingAssetAmount, minIncomingAssetAmount, _ref3$seedFund, seedFund, takeOrderArgs, callArgs;
3101
+ var comptrollerProxy, vaultProxy, integrationManager, fundOwner, uniswapV2ExchangeAdapter, path, outgoingAssetAmount, minIncomingAssetAmount, _ref3$seedFund, seedFund, takeOrderArgs, callArgs;
2158
3102
 
2159
3103
  return _regeneratorRuntime.wrap(function _callee3$(_context3) {
2160
3104
  while (1) {
2161
3105
  switch (_context3.prev = _context3.next) {
2162
3106
  case 0:
2163
- comptrollerProxy = _ref3.comptrollerProxy, vaultProxy = _ref3.vaultProxy, integrationManager = _ref3.integrationManager, fundOwner = _ref3.fundOwner, uniswapV2Adapter = _ref3.uniswapV2Adapter, path = _ref3.path, outgoingAssetAmount = _ref3.outgoingAssetAmount, minIncomingAssetAmount = _ref3.minIncomingAssetAmount, _ref3$seedFund = _ref3.seedFund, seedFund = _ref3$seedFund === void 0 ? false : _ref3$seedFund;
3107
+ comptrollerProxy = _ref3.comptrollerProxy, vaultProxy = _ref3.vaultProxy, integrationManager = _ref3.integrationManager, fundOwner = _ref3.fundOwner, uniswapV2ExchangeAdapter = _ref3.uniswapV2ExchangeAdapter, path = _ref3.path, outgoingAssetAmount = _ref3.outgoingAssetAmount, minIncomingAssetAmount = _ref3.minIncomingAssetAmount, _ref3$seedFund = _ref3.seedFund, seedFund = _ref3$seedFund === void 0 ? false : _ref3$seedFund;
2164
3108
 
2165
3109
  if (!seedFund) {
2166
3110
  _context3.next = 4;
@@ -2172,14 +3116,14 @@ function _uniswapV2TakeOrder() {
2172
3116
 
2173
3117
  case 4:
2174
3118
  takeOrderArgs = uniswapV2TakeOrderArgs({
2175
- path: path,
3119
+ minIncomingAssetAmount: minIncomingAssetAmount,
2176
3120
  outgoingAssetAmount: outgoingAssetAmount,
2177
- minIncomingAssetAmount: minIncomingAssetAmount
3121
+ path: path
2178
3122
  });
2179
3123
  callArgs = callOnIntegrationArgs({
2180
- adapter: uniswapV2Adapter,
2181
- selector: takeOrderSelector,
2182
- encodedCallArgs: takeOrderArgs
3124
+ adapter: uniswapV2ExchangeAdapter,
3125
+ encodedCallArgs: takeOrderArgs,
3126
+ selector: takeOrderSelector
2183
3127
  });
2184
3128
  return _context3.abrupt("return", comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs));
2185
3129
 
@@ -2199,7 +3143,7 @@ function uniswapV3TakeOrder(_x) {
2199
3143
 
2200
3144
  function _uniswapV3TakeOrder() {
2201
3145
  _uniswapV3TakeOrder = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {
2202
- var comptrollerProxy, integrationManager, fundOwner, uniswapV3Adapter, pathAddresses, pathFees, outgoingAssetAmount, _ref$minIncomingAsset, minIncomingAssetAmount, _ref$seedFund, seedFund, takeOrderArgs, callArgs;
3146
+ var comptrollerProxy, integrationManager, fundOwner, uniswapV3Adapter, pathAddresses, pathFees, outgoingAssetAmount, _ref$minIncomingAsset, minIncomingAssetAmount, _ref$seedFund, seedFund, vaultProxy, takeOrderArgs, callArgs;
2203
3147
 
2204
3148
  return _regeneratorRuntime.wrap(function _callee$(_context) {
2205
3149
  while (1) {
@@ -2208,35 +3152,33 @@ function _uniswapV3TakeOrder() {
2208
3152
  comptrollerProxy = _ref.comptrollerProxy, integrationManager = _ref.integrationManager, fundOwner = _ref.fundOwner, uniswapV3Adapter = _ref.uniswapV3Adapter, pathAddresses = _ref.pathAddresses, pathFees = _ref.pathFees, outgoingAssetAmount = _ref.outgoingAssetAmount, _ref$minIncomingAsset = _ref.minIncomingAssetAmount, minIncomingAssetAmount = _ref$minIncomingAsset === void 0 ? 1 : _ref$minIncomingAsset, _ref$seedFund = _ref.seedFund, seedFund = _ref$seedFund === void 0 ? false : _ref$seedFund;
2209
3153
 
2210
3154
  if (!seedFund) {
2211
- _context.next = 9;
3155
+ _context.next = 7;
2212
3156
  break;
2213
3157
  }
2214
3158
 
2215
- _context.t0 = pathAddresses[0];
2216
- _context.next = 5;
3159
+ _context.next = 4;
2217
3160
  return comptrollerProxy.getVaultProxy();
2218
3161
 
2219
- case 5:
2220
- _context.t1 = _context.sent;
2221
- _context.t2 = outgoingAssetAmount;
2222
- _context.next = 9;
2223
- return _context.t0.transfer.call(_context.t0, _context.t1, _context.t2);
3162
+ case 4:
3163
+ vaultProxy = _context.sent;
3164
+ _context.next = 7;
3165
+ return pathAddresses[0].transfer(vaultProxy, outgoingAssetAmount);
2224
3166
 
2225
- case 9:
3167
+ case 7:
2226
3168
  takeOrderArgs = uniswapV3TakeOrderArgs({
2227
- pathAddresses: pathAddresses,
2228
- pathFees: pathFees,
3169
+ minIncomingAssetAmount: minIncomingAssetAmount,
2229
3170
  outgoingAssetAmount: outgoingAssetAmount,
2230
- minIncomingAssetAmount: minIncomingAssetAmount
3171
+ pathAddresses: pathAddresses,
3172
+ pathFees: pathFees
2231
3173
  });
2232
3174
  callArgs = callOnIntegrationArgs({
2233
3175
  adapter: uniswapV3Adapter,
2234
- selector: takeOrderSelector,
2235
- encodedCallArgs: takeOrderArgs
3176
+ encodedCallArgs: takeOrderArgs,
3177
+ selector: takeOrderSelector
2236
3178
  });
2237
3179
  return _context.abrupt("return", comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs));
2238
3180
 
2239
- case 12:
3181
+ case 10:
2240
3182
  case "end":
2241
3183
  return _context.stop();
2242
3184
  }
@@ -2261,12 +3203,12 @@ function _yearnVaultV2Lend() {
2261
3203
  signer = _ref.signer, comptrollerProxy = _ref.comptrollerProxy, integrationManager = _ref.integrationManager, yearnVaultV2Adapter = _ref.yearnVaultV2Adapter, yVault = _ref.yVault, outgoingUnderlyingAmount = _ref.outgoingUnderlyingAmount, _ref$minIncomingYVaul = _ref.minIncomingYVaultSharesAmount, minIncomingYVaultSharesAmount = _ref$minIncomingYVaul === void 0 ? BigNumber.from(1) : _ref$minIncomingYVaul;
2262
3204
  callArgs = callOnIntegrationArgs({
2263
3205
  adapter: yearnVaultV2Adapter,
2264
- selector: lendSelector,
2265
3206
  encodedCallArgs: yearnVaultV2LendArgs({
2266
- yVault: yVault,
3207
+ minIncomingYVaultSharesAmount: minIncomingYVaultSharesAmount,
2267
3208
  outgoingUnderlyingAmount: outgoingUnderlyingAmount,
2268
- minIncomingYVaultSharesAmount: minIncomingYVaultSharesAmount
2269
- })
3209
+ yVault: yVault
3210
+ }),
3211
+ selector: lendSelector
2270
3212
  });
2271
3213
  return _context.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs));
2272
3214
 
@@ -2295,13 +3237,13 @@ function _yearnVaultV2Redeem() {
2295
3237
  signer = _ref2.signer, comptrollerProxy = _ref2.comptrollerProxy, integrationManager = _ref2.integrationManager, yearnVaultV2Adapter = _ref2.yearnVaultV2Adapter, yVault = _ref2.yVault, maxOutgoingYVaultSharesAmount = _ref2.maxOutgoingYVaultSharesAmount, _ref2$minIncomingUnde = _ref2.minIncomingUnderlyingAmount, minIncomingUnderlyingAmount = _ref2$minIncomingUnde === void 0 ? BigNumber.from(1) : _ref2$minIncomingUnde, _ref2$slippageToleran = _ref2.slippageToleranceBps, slippageToleranceBps = _ref2$slippageToleran === void 0 ? 1 : _ref2$slippageToleran;
2296
3238
  callArgs = callOnIntegrationArgs({
2297
3239
  adapter: yearnVaultV2Adapter,
2298
- selector: redeemSelector,
2299
3240
  encodedCallArgs: yearnVaultV2RedeemArgs({
2300
- yVault: yVault,
2301
3241
  maxOutgoingYVaultSharesAmount: maxOutgoingYVaultSharesAmount,
2302
3242
  minIncomingUnderlyingAmount: minIncomingUnderlyingAmount,
2303
- slippageToleranceBps: slippageToleranceBps
2304
- })
3243
+ slippageToleranceBps: slippageToleranceBps,
3244
+ yVault: yVault
3245
+ }),
3246
+ selector: redeemSelector
2305
3247
  });
2306
3248
  return _context2.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs));
2307
3249
 
@@ -2333,8 +3275,8 @@ function _zeroExV2TakeOrder() {
2333
3275
  });
2334
3276
  callArgs = callOnIntegrationArgs({
2335
3277
  adapter: zeroExV2Adapter,
2336
- selector: takeOrderSelector,
2337
- encodedCallArgs: takeOrderArgs
3278
+ encodedCallArgs: takeOrderArgs,
3279
+ selector: takeOrderSelector
2338
3280
  });
2339
3281
  return _context.abrupt("return", comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId.CallOnIntegration, callArgs));
2340
3282
 
@@ -2477,7 +3419,8 @@ function assertEvent(receipt, event, match) {
2477
3419
  var events = extractEvent(receipt, event);
2478
3420
  expect(events.length).toBe(1);
2479
3421
  expect(receipt).toHaveEmittedWith(event, match);
2480
- var args = (_events$shift = events.shift()) === null || _events$shift === void 0 ? void 0 : _events$shift.args;
3422
+ var args = (_events$shift = events.shift()) === null || _events$shift === void 0 ? void 0 : _events$shift.args; // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
3423
+
2481
3424
  return args;
2482
3425
  }
2483
3426
  function assertNoEvent(receipt, event) {
@@ -2638,6 +3581,7 @@ function _createComptrollerProxy() {
2638
3581
  comptrollerProxyContract = _context.sent;
2639
3582
  return _context.abrupt("return", {
2640
3583
  comptrollerProxy: new ComptrollerLib(comptrollerProxyContract, signer),
3584
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
2641
3585
  receipt: comptrollerProxyContract.deployment
2642
3586
  });
2643
3587
 
@@ -2670,14 +3614,14 @@ function _createMigrationRequest() {
2670
3614
  case 3:
2671
3615
  receipt = _context2.sent;
2672
3616
  comptrollerDeployedArgs = assertEvent(receipt, 'ComptrollerProxyDeployed', {
2673
- creator: signer,
2674
3617
  comptrollerProxy: expect.any(String),
3618
+ creator: signer,
2675
3619
  denominationAsset: denominationAsset,
2676
3620
  sharesActionTimelock: BigNumber.from(sharesActionTimelock)
2677
3621
  });
2678
3622
  return _context2.abrupt("return", {
2679
- receipt: receipt,
2680
- comptrollerProxy: new ComptrollerLib(comptrollerDeployedArgs.comptrollerProxy, signer)
3623
+ comptrollerProxy: new ComptrollerLib(comptrollerDeployedArgs.comptrollerProxy, signer),
3624
+ receipt: receipt
2681
3625
  });
2682
3626
 
2683
3627
  case 6:
@@ -2696,29 +3640,29 @@ function createNewFund(_x3) {
2696
3640
 
2697
3641
  function _createNewFund() {
2698
3642
  _createNewFund = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(_ref3) {
2699
- var signer, fundDeployer, denominationAsset, _ref3$sharesActionTim, sharesActionTimelock, _ref3$fundOwner, fundOwner, _ref3$fundName, fundName, _ref3$feeManagerConfi, feeManagerConfig, _ref3$policyManagerCo, policyManagerConfig, investment, receipt, comptrollerDeployedArgs, comptrollerProxy, newFundDeployedArgs, vaultProxy;
3643
+ var signer, fundDeployer, denominationAsset, _ref3$sharesActionTim, sharesActionTimelock, _ref3$fundOwner, fundOwner, _ref3$fundName, fundName, _ref3$fundSymbol, fundSymbol, _ref3$feeManagerConfi, feeManagerConfig, _ref3$policyManagerCo, policyManagerConfig, investment, receipt, comptrollerDeployedArgs, comptrollerProxy, newFundDeployedArgs, vaultProxy;
2700
3644
 
2701
3645
  return _regeneratorRuntime.wrap(function _callee3$(_context3) {
2702
3646
  while (1) {
2703
3647
  switch (_context3.prev = _context3.next) {
2704
3648
  case 0:
2705
- signer = _ref3.signer, fundDeployer = _ref3.fundDeployer, denominationAsset = _ref3.denominationAsset, _ref3$sharesActionTim = _ref3.sharesActionTimelock, sharesActionTimelock = _ref3$sharesActionTim === void 0 ? 0 : _ref3$sharesActionTim, _ref3$fundOwner = _ref3.fundOwner, fundOwner = _ref3$fundOwner === void 0 ? randomAddress() : _ref3$fundOwner, _ref3$fundName = _ref3.fundName, fundName = _ref3$fundName === void 0 ? 'My Fund' : _ref3$fundName, _ref3$feeManagerConfi = _ref3.feeManagerConfig, feeManagerConfig = _ref3$feeManagerConfi === void 0 ? '0x' : _ref3$feeManagerConfi, _ref3$policyManagerCo = _ref3.policyManagerConfig, policyManagerConfig = _ref3$policyManagerCo === void 0 ? '0x' : _ref3$policyManagerCo, investment = _ref3.investment;
3649
+ signer = _ref3.signer, fundDeployer = _ref3.fundDeployer, denominationAsset = _ref3.denominationAsset, _ref3$sharesActionTim = _ref3.sharesActionTimelock, sharesActionTimelock = _ref3$sharesActionTim === void 0 ? 0 : _ref3$sharesActionTim, _ref3$fundOwner = _ref3.fundOwner, fundOwner = _ref3$fundOwner === void 0 ? randomAddress() : _ref3$fundOwner, _ref3$fundName = _ref3.fundName, fundName = _ref3$fundName === void 0 ? 'My Fund' : _ref3$fundName, _ref3$fundSymbol = _ref3.fundSymbol, fundSymbol = _ref3$fundSymbol === void 0 ? '' : _ref3$fundSymbol, _ref3$feeManagerConfi = _ref3.feeManagerConfig, feeManagerConfig = _ref3$feeManagerConfi === void 0 ? '0x' : _ref3$feeManagerConfi, _ref3$policyManagerCo = _ref3.policyManagerConfig, policyManagerConfig = _ref3$policyManagerCo === void 0 ? '0x' : _ref3$policyManagerCo, investment = _ref3.investment;
2706
3650
  _context3.next = 3;
2707
- return fundDeployer.connect(signer).createNewFund(fundOwner, fundName, denominationAsset, sharesActionTimelock, feeManagerConfig, policyManagerConfig);
3651
+ return fundDeployer.connect(signer).createNewFund(fundOwner, fundName, fundSymbol, denominationAsset, sharesActionTimelock, feeManagerConfig, policyManagerConfig);
2708
3652
 
2709
3653
  case 3:
2710
3654
  receipt = _context3.sent;
2711
3655
  comptrollerDeployedArgs = assertEvent(receipt, 'ComptrollerProxyDeployed', {
2712
- creator: signer,
2713
3656
  comptrollerProxy: expect.any(String),
3657
+ creator: signer,
2714
3658
  denominationAsset: denominationAsset,
2715
3659
  sharesActionTimelock: BigNumber.from(sharesActionTimelock)
2716
3660
  });
2717
3661
  comptrollerProxy = new ComptrollerLib(comptrollerDeployedArgs.comptrollerProxy, signer);
2718
3662
  newFundDeployedArgs = assertEvent(receipt, 'NewFundCreated', {
3663
+ comptrollerProxy: comptrollerProxy,
2719
3664
  creator: signer,
2720
- vaultProxy: expect.any(String),
2721
- comptrollerProxy: comptrollerProxy
3665
+ vaultProxy: expect.any(String)
2722
3666
  });
2723
3667
  vaultProxy = new VaultLib(newFundDeployedArgs.vaultProxy, signer);
2724
3668
 
@@ -2769,14 +3713,14 @@ function _createReconfigurationRequest() {
2769
3713
  case 3:
2770
3714
  receipt = _context4.sent;
2771
3715
  comptrollerDeployedArgs = assertEvent(receipt, 'ComptrollerProxyDeployed', {
2772
- creator: signer,
2773
3716
  comptrollerProxy: expect.any(String),
3717
+ creator: signer,
2774
3718
  denominationAsset: denominationAsset,
2775
3719
  sharesActionTimelock: BigNumber.from(sharesActionTimelock)
2776
3720
  });
2777
3721
  return _context4.abrupt("return", {
2778
- receipt: receipt,
2779
- comptrollerProxy: new ComptrollerLib(comptrollerDeployedArgs.comptrollerProxy, signer)
3722
+ comptrollerProxy: new ComptrollerLib(comptrollerDeployedArgs.comptrollerProxy, signer),
3723
+ receipt: receipt
2780
3724
  });
2781
3725
 
2782
3726
  case 6:
@@ -2858,16 +3802,49 @@ function _setupGasRelayerPaymaster() {
2858
3802
  return _setupGasRelayerPaymaster.apply(this, arguments);
2859
3803
  }
2860
3804
 
2861
- function vaultCallCurveMinterMint(_ref) {
2862
- var comptrollerProxy = _ref.comptrollerProxy,
2863
- minter = _ref.minter,
2864
- gauge = _ref.gauge;
2865
- return comptrollerProxy.vaultCallOnContract(minter, curveMinterMintSelector, encodeArgs(['address'], [gauge]));
3805
+ function vaultCallCreateNewList(_x) {
3806
+ return _vaultCallCreateNewList.apply(this, arguments);
3807
+ }
3808
+
3809
+ function _vaultCallCreateNewList() {
3810
+ _vaultCallCreateNewList = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {
3811
+ var addressListRegistry, comptrollerProxy, items, owner, signer, updateType, listCount;
3812
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
3813
+ while (1) {
3814
+ switch (_context.prev = _context.next) {
3815
+ case 0:
3816
+ addressListRegistry = _ref.addressListRegistry, comptrollerProxy = _ref.comptrollerProxy, items = _ref.items, owner = _ref.owner, signer = _ref.signer, updateType = _ref.updateType;
3817
+ _context.next = 3;
3818
+ return comptrollerProxy.connect(signer).vaultCallOnContract(addressListRegistry.address, addressListRegistryCreateListSelector, encodeArgs(['address', 'uint8', 'address[]'], [owner, updateType, items]));
3819
+
3820
+ case 3:
3821
+ _context.next = 5;
3822
+ return addressListRegistry.getListCount();
3823
+
3824
+ case 5:
3825
+ listCount = _context.sent;
3826
+ return _context.abrupt("return", listCount.sub(1));
3827
+
3828
+ case 7:
3829
+ case "end":
3830
+ return _context.stop();
3831
+ }
3832
+ }
3833
+ }, _callee);
3834
+ }));
3835
+ return _vaultCallCreateNewList.apply(this, arguments);
2866
3836
  }
2867
- function vaultCallCurveMinterMintMany(_ref2) {
3837
+
3838
+ function vaultCallCurveMinterMint(_ref2) {
2868
3839
  var comptrollerProxy = _ref2.comptrollerProxy,
2869
3840
  minter = _ref2.minter,
2870
- gauges = _ref2.gauges;
3841
+ gauge = _ref2.gauge;
3842
+ return comptrollerProxy.vaultCallOnContract(minter, curveMinterMintSelector, encodeArgs(['address'], [gauge]));
3843
+ }
3844
+ function vaultCallCurveMinterMintMany(_ref3) {
3845
+ var comptrollerProxy = _ref3.comptrollerProxy,
3846
+ minter = _ref3.minter,
3847
+ gauges = _ref3.gauges;
2871
3848
  var gaugesFormatted = new Array(8).fill(constants.AddressZero);
2872
3849
 
2873
3850
  for (var i in gauges) {
@@ -2876,16 +3853,16 @@ function vaultCallCurveMinterMintMany(_ref2) {
2876
3853
 
2877
3854
  return comptrollerProxy.vaultCallOnContract(minter, curveMinterMintManySelector, encodeArgs(['address[8]'], [gaugesFormatted]));
2878
3855
  }
2879
- function vaultCallCurveMinterToggleApproveMint(_ref3) {
2880
- var comptrollerProxy = _ref3.comptrollerProxy,
2881
- minter = _ref3.minter,
2882
- account = _ref3.account;
3856
+ function vaultCallCurveMinterToggleApproveMint(_ref4) {
3857
+ var comptrollerProxy = _ref4.comptrollerProxy,
3858
+ minter = _ref4.minter,
3859
+ account = _ref4.account;
2883
3860
  return comptrollerProxy.vaultCallOnContract(minter, curveMinterToggleApproveMintSelector, encodeArgs(['address'], [account]));
2884
3861
  }
2885
- function vaultCallStartAssetBypassTimelock(_ref4) {
2886
- var comptrollerProxy = _ref4.comptrollerProxy,
2887
- contract = _ref4.contract,
2888
- asset = _ref4.asset;
3862
+ function vaultCallStartAssetBypassTimelock(_ref5) {
3863
+ var comptrollerProxy = _ref5.comptrollerProxy,
3864
+ contract = _ref5.contract,
3865
+ asset = _ref5.asset;
2889
3866
  return comptrollerProxy.vaultCallOnContract(contract, sighash(utils.FunctionFragment.fromString('startAssetBypassTimelock(address)')), encodeArgs(['address'], [asset]));
2890
3867
  }
2891
3868
 
@@ -2941,8 +3918,8 @@ function _calcMlnValueAndBurnAmountForSharesBuyback() {
2941
3918
  // 50% discount
2942
3919
  mlnAmountToBurn = mlnValueOfBuyback.div(2);
2943
3920
  return _context2.abrupt("return", {
2944
- mlnValue: mlnValueOfBuyback,
2945
- mlnAmountToBurn: mlnAmountToBurn
3921
+ mlnAmountToBurn: mlnAmountToBurn,
3922
+ mlnValue: mlnValueOfBuyback
2946
3923
  });
2947
3924
 
2948
3925
  case 8:
@@ -2958,43 +3935,55 @@ function _calcMlnValueAndBurnAmountForSharesBuyback() {
2958
3935
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
2959
3936
 
2960
3937
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
3938
+
3939
+ /* eslint-disable sort-keys-fix/sort-keys-fix */
2961
3940
  var whales = {
2962
- wdgld: '0x9aa65464b4cfbe3dc2bdb3df412aee2b3de86687',
2963
- adai: '0x62e41b1185023bcc14a465d350e1dde341557925',
2964
- ausdc: '0x3DdfA8eC3052539b6C9549F12cEA2C295cfF5296',
3941
+ // primitives
2965
3942
  bat: '0x12274c71304bc0e6b38a56b94d2949b118feb838',
2966
3943
  bnb: '0xbe0eb53f46cd790cd13851d5eff43d12404d33e8',
2967
- bnt: '0xbe0eb53f46cd790cd13851d5eff43d12404d33e8',
2968
- comp: '0xC89b6f0146642688bb254bF93C28fcCF1E182C81',
3944
+ bnt: '0x7d1ed1601a12a172269436fa95fe156650603c1d',
3945
+ busd: '0x47ac0fb4f2d84898e4d9e7b4dab3c24507a6d503',
3946
+ comp: '0x0f50d31b3eaefd65236dd3736b863cffa4c63c4e',
2969
3947
  crv: '0x4ce799e6eD8D64536b67dD428565d52A531B3640',
2970
- dai: '0x16463c0fdb6ba9618909f5b120ea1581618c1b9e',
2971
- knc: '0x9d1167df52328db20d5d77288dce6ae3ef3a3e1f',
3948
+ dai: '0x47ac0fb4f2d84898e4d9e7b4dab3c24507a6d503',
3949
+ knc: '0x09d51654bd9efbfcb56da3491989cc1444095fff',
2972
3950
  ldo: '0x3dba737ccc50a32a1764b493285dd51c8af6c278',
2973
3951
  link: '0xbe6977e08d4479c0a6777539ae0e8fa27be4e9d6',
2974
3952
  mana: '0xefb94ac00f1cee8a89d5c3f49faa799da6f03024',
2975
3953
  mln: '0xd8f8a53945bcfbbc19da162aa405e662ef71c40d',
3954
+ ohm: '0x71a53aff36a699110d66d6bdfff2320caf8d2d59',
2976
3955
  rep: '0xc6a043b07d33b6f30d8cb501026c391cfd25abe1',
2977
3956
  ren: '0xbe0eb53f46cd790cd13851d5eff43d12404d33e8',
3957
+ susd: '0xa5f7a39e55d7878bc5bd754ee5d6bd7a7662355b',
3958
+ sohm: '0xf280f037cdbda99727ddf5dfede91e68fa78605c',
2978
3959
  uni: '0x47173b170c64d16393a52e6c480b3ad8c302ba1e',
2979
3960
  usdc: '0xae2d4617c862309a3d75a0ffb358c7a5009c673f',
2980
3961
  usdt: '0x5041ed759dd4afc3a72b8192c143f72f4724081a',
2981
3962
  weth: '0xe08A8b19e5722a201EaF20A6BC595eF655397bd5',
2982
3963
  zrx: '0x206376e8940e42538781cd94ef024df3c1e0fd43',
2983
- cbat: '0x285306442cd985cab2c30515cfdab106fca7bc44',
3964
+ // aTokens
3965
+ ausdc: '0x3DdfA8eC3052539b6C9549F12cEA2C295cfF5296',
3966
+ ausdt: '0x7d6149ad9a573a6e2ca6ebf7d4897c1b766841b4',
3967
+ // cTokens
2984
3968
  ccomp: '0xd74f186194ab9219fafac5c2fe4b3270169666db',
2985
- cdai: '0x2bddEd18E2CA464355091266B7616956944ee7eE',
3969
+ cdai: '0xab4ce310054a11328685ece1043211b68ba5d082',
2986
3970
  ceth: '0x8aceab8167c80cb8b3de7fa6228b889bb1130ee8',
2987
- crep: '0xc2386de1b7271a87b416f4605d500846e826a185',
2988
- cuni: '0x8889ff5b6323e71c28c26d2c34b8bb52654f00a6',
2989
- cusdc: '0xb3bd459e0598dde1fe84b1d0a1430be175b5d5be',
2990
- czrx: '0x57ca561798413a20508b6bc997481e784f3e6e5f',
3971
+ cuni: '0x39d8014b4f40d2cbc441137011d32023f4f1fd87',
3972
+ cusdc: '0xe1ed4da4284924ddaf69983b4d813fb1be58c380',
3973
+ // ptTokens
3974
+ ptUsdc: '0xd18236cd213f39d078177b6f6908f0e44e88e4aa',
3975
+ // synths
2991
3976
  seth: '0xc34a7c65aa08cb36744bda8eeec7b8e9891e147c',
2992
- seur: '0xe896e539e557bc751860a7763c8dd589af1698ce',
2993
- susd: '0x49BE88F0fcC3A8393a59d3688480d7D253C37D2A',
3977
+ seur: '0xc3f2f91723b16b95bef0619b2504c049075d5b0b',
3978
+ sxag: '0x40d68c490bf7262ec40048099aec23535f734be2',
3979
+ sxau: '0x92eb453b7b5b8d41edb44e2c8b8b53eb70a482c7',
3980
+ // misc
2994
3981
  lidoSteth: '0x31f644e2dd5d74f5c8d6d9de89dd517474d51800',
2995
3982
  eurs: '0x98ed26de6451db36246672df78ae7c50f2c76f6d',
2996
- idle: '0x34aaa3d5a73d6f9594326d0422ce69748f09b14f'
3983
+ ust: '0xf584f8728b874a6a5c7a8d4d387c9aae9172d621'
2997
3984
  };
3985
+ /* eslint-enable sort-keys-fix/sort-keys-fix */
3986
+
2998
3987
  function unlockWhale(_x) {
2999
3988
  return _unlockWhale.apply(this, arguments);
3000
3989
  }
@@ -3166,8 +4155,8 @@ function _relayTransaction() {
3166
4155
  defaultMaxAcceptance = BigNumber.from(150000); // NOTE: There is an inconsistency between how the typed data object shape and the relayCall argument.
3167
4156
 
3168
4157
  mergedRelayRequest = {
3169
- request: relayRequest,
3170
- relayData: relayData
4158
+ relayData: relayData,
4159
+ request: relayRequest
3171
4160
  };
3172
4161
  relayHub = new IGsnRelayHub(options.relayHub, provider.getSigner(options.relayWorker));
3173
4162
  return _context.abrupt("return", relayHub.relayCall.args(defaultMaxAcceptance, mergedRelayRequest, signedRelayRequest, '0x', defaultGasLimit).gas(defaultGasLimit, relayData.gasPrice).send());
@@ -3186,14 +4175,14 @@ var relayed = utils.EventFragment.fromString('TransactionRelayed(address indexed
3186
4175
  var rejected = utils.EventFragment.fromString('TransactionRejectedByPaymaster(address indexed relayManager, address indexed paymaster, address indexed from, address to, address relayWorker, bytes4 selector, uint256 innerGasUsed, bytes reason)');
3187
4176
  function assertDidRelay(receipt) {
3188
4177
  return assertEvent(receipt, relayed, {
3189
- relayManager: expect.any(String),
3190
- relayWorker: expect.any(String),
4178
+ charge: expect.anything(),
3191
4179
  from: expect.any(String),
3192
- to: expect.any(String),
3193
4180
  paymaster: expect.any(String),
4181
+ relayManager: expect.any(String),
4182
+ relayWorker: expect.any(String),
3194
4183
  selector: expect.any(String),
3195
4184
  status: expect.anything(),
3196
- charge: expect.anything()
4185
+ to: expect.any(String)
3197
4186
  });
3198
4187
  }
3199
4188
  function assertDidRelaySuccessfully(receipt) {
@@ -3210,14 +4199,14 @@ function assertDidRelayWithCharge(receipt, amount, tolerance) {
3210
4199
  }
3211
4200
  function assertPaymasterDidReject(receipt) {
3212
4201
  return assertEvent(receipt, rejected, {
3213
- relayManager: expect.any(String),
3214
- paymaster: expect.any(String),
3215
4202
  from: expect.any(String),
3216
- to: expect.any(String),
4203
+ innerGasUsed: expect.anything(),
4204
+ paymaster: expect.any(String),
4205
+ reason: expect.any(String),
4206
+ relayManager: expect.any(String),
3217
4207
  relayWorker: expect.any(String),
3218
4208
  selector: expect.any(String),
3219
- innerGasUsed: expect.anything(),
3220
- reason: expect.any(String)
4209
+ to: expect.any(String)
3221
4210
  });
3222
4211
  }
3223
4212
  function assertPaymasterDidRejectForReason(receipt, reason) {
@@ -3225,4 +4214,4 @@ function assertPaymasterDidRejectForReason(receipt, reason) {
3225
4214
  expect(utils.toUtf8String('0x' + params.reason.substr(138))).toMatch(reason);
3226
4215
  }
3227
4216
 
3228
- export { CurveLiquidityGaugeV2, CurveMinter, CurveSwaps, ICompoundComptroller, UniswapV2Factory, aaveLend, aaveRedeem, addCollateral, addNewAssetsToFund, addTrackedAssetsToVault, assertDidRelay, assertDidRelaySuccessfully, assertDidRelayWithCharge, assertDidRelayWithError, assertEvent, assertNoEvent, assertPaymasterDidReject, assertPaymasterDidRejectForReason, borrow, buyShares, buySharesFunction, calcMlnValueAndBurnAmountForSharesBuyback, callOnExtension, claimComp, compoundLend, compoundRedeem, createCompoundDebtPosition, createComptrollerProxy, createExternalPosition, createFundDeployer, createMigrationRequest, createMockExternalPosition, createNewFund, createReconfigurationRequest, 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, defaultTestDeployment, deployProtocolFixture, generateFeeManagerConfigWithMockFees, generateMockFees, generateMockPolicies, generatePolicyManagerConfigWithMockPolicies, getAssetBalances, getAssetUnit, getNamedSigner, getUnnamedSigners, idleClaimRewards, idleLend, idleRedeem, mockGenericRemoveOnlySelector, mockGenericSwap, mockGenericSwapASelector, mockGenericSwapArgs, mockGenericSwapBSelector, mockGenericSwapDirectFromVaultSelector, mockGenericSwapViaApprovalSelector, paraSwapV4GenerateDummyPaths, paraSwapV4TakeOrder, reactivateExternalPosition, redeemSharesForSpecificAssets, redeemSharesInKind, relayTransaction, removeCollateral, removeExternalPosition, removeTrackedAssetsFromVault, repayBorrow, setupGasRelayerPaymaster, synthetixAssignExchangeDelegate, synthetixResolveAddress, synthetixTakeOrder, transactionTimestamp, uniswapV2Lend, uniswapV2Redeem, uniswapV2TakeOrder, uniswapV3TakeOrder, unlockAllWhales, unlockWhale, unlockWhales, updateChainlinkAggregator, 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 };