@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
@@ -7,7 +7,6 @@ var _regeneratorRuntime = require('@babel/runtime/regenerator');
7
7
  var protocol = require('@enzymefinance/protocol');
8
8
  var ethers = require('ethers');
9
9
  var ethers$1 = require('@enzymefinance/ethers');
10
- var src = require('@enzymefinance/protocol/src');
11
10
  var _taggedTemplateLiteral = require('@babel/runtime/helpers/taggedTemplateLiteral');
12
11
  var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
13
12
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
@@ -112,74 +111,83 @@ function _deployProtocolFixture() {
112
111
  config = fixture['Config'].linkedData; // prettier-ignore
113
112
 
114
113
  deployment = {
115
- dispatcher: new protocol.Dispatcher(fixture['Dispatcher'].address, deployer),
116
- vaultLib: new protocol.VaultLib(fixture['VaultLib'].address, deployer),
117
- fundDeployer: new protocol.FundDeployer(fixture['FundDeployer'].address, deployer),
118
- policyManager: new protocol.PolicyManager(fixture['PolicyManager'].address, deployer),
114
+ aaveAdapter: new protocol.AaveAdapter(fixture['AaveAdapter'].address, deployer),
119
115
  aavePriceFeed: new protocol.AavePriceFeed(fixture['AavePriceFeed'].address, deployer),
116
+ addressListRegistry: new protocol.AddressListRegistry(fixture['AddressListRegistry'].address, deployer),
117
+ allowedAdapterIncomingAssetsPolicy: new protocol.AllowedAdapterIncomingAssetsPolicy(fixture['AllowedAdapterIncomingAssetsPolicy'].address, deployer),
118
+ allowedAdaptersPolicy: new protocol.AllowedAdaptersPolicy(fixture['AllowedAdaptersPolicy'].address, deployer),
119
+ allowedAssetsForRedemptionPolicy: new protocol.AllowedAssetsForRedemptionPolicy(fixture['AllowedAssetsForRedemptionPolicy'].address, deployer),
120
+ allowedDepositRecipientsPolicy: new protocol.AllowedDepositRecipientsPolicy(fixture['AllowedDepositRecipientsPolicy'].address, deployer),
121
+ allowedExternalPositionTypesPolicy: new protocol.AllowedExternalPositionTypesPolicy(fixture['AllowedExternalPositionTypesPolicy'].address, deployer),
122
+ allowedSharesTransferRecipientsPolicy: new protocol.AllowedSharesTransferRecipientsPolicy(fixture['AllowedSharesTransferRecipientsPolicy'].address, deployer),
123
+ assetFinalityResolver: new protocol.AssetFinalityResolver(fixture['AssetFinalityResolver'].address, deployer),
124
+ compoundAdapter: new protocol.CompoundAdapter(fixture['CompoundAdapter'].address, deployer),
120
125
  compoundDebtPositionLib: new protocol.CompoundDebtPositionLib(fixture['CompoundDebtPositionLib'].address, deployer),
121
126
  compoundDebtPositionParser: new protocol.CompoundDebtPositionParser(fixture['CompoundDebtPositionParser'].address, deployer),
122
127
  compoundPriceFeed: new protocol.CompoundPriceFeed(fixture['CompoundPriceFeed'].address, deployer),
123
- curvePriceFeed: new protocol.CurvePriceFeed(fixture['CurvePriceFeed'].address, deployer),
124
- idlePriceFeed: new protocol.IdlePriceFeed(fixture['IdlePriceFeed'].address, deployer),
125
- lidoStethPriceFeed: new protocol.LidoStethPriceFeed(fixture['LidoStethPriceFeed'].address, deployer),
126
- revertingPriceFeed: new protocol.RevertingPriceFeed(fixture['RevertingPriceFeed'].address, deployer),
127
- synthetixPriceFeed: new protocol.SynthetixPriceFeed(fixture['SynthetixPriceFeed'].address, deployer),
128
- stakehoundEthPriceFeed: new protocol.StakehoundEthPriceFeed(fixture['StakehoundEthPriceFeed'].address, deployer),
129
- wdgldPriceFeed: new protocol.WdgldPriceFeed(fixture['WdgldPriceFeed'].address, deployer),
130
- yearnVaultV2PriceFeed: new protocol.YearnVaultV2PriceFeed(fixture['YearnVaultV2PriceFeed'].address, deployer),
131
- valueInterpreter: new protocol.ValueInterpreter(fixture['ValueInterpreter'].address, deployer),
132
- uniswapV2PoolPriceFeed: new protocol.UniswapV2PoolPriceFeed(fixture['UniswapV2PoolPriceFeed'].address, deployer),
133
- integrationManager: new protocol.IntegrationManager(fixture['IntegrationManager'].address, deployer),
134
- externalPositionManager: new protocol.ExternalPositionManager(fixture['ExternalPositionManager'].address, deployer),
135
- externalPositionFactory: new protocol.ExternalPositionFactory(fixture['ExternalPositionFactory'].address, deployer),
128
+ comptrollerLib: new protocol.ComptrollerLib(fixture['ComptrollerLib'].address, deployer),
129
+ cumulativeSlippageTolerancePolicy: new protocol.CumulativeSlippageTolerancePolicy(fixture['CumulativeSlippageTolerancePolicy'].address, deployer),
130
+ curveExchangeAdapter: new protocol.CurveExchangeAdapter(fixture['CurveExchangeAdapter'].address, deployer),
136
131
  curveLiquidityAaveAdapter: new protocol.CurveLiquidityAaveAdapter(fixture['CurveLiquidityAaveAdapter'].address, deployer),
132
+ curveLiquidityAdapter: new protocol.CurveLiquidityAdapter(fixture['CurveLiquidityAdapter'].address, deployer),
137
133
  curveLiquidityEursAdapter: new protocol.CurveLiquidityEursAdapter(fixture['CurveLiquidityEursAdapter'].address, deployer),
138
134
  curveLiquiditySethAdapter: new protocol.CurveLiquiditySethAdapter(fixture['CurveLiquiditySethAdapter'].address, deployer),
139
135
  curveLiquidityStethAdapter: new protocol.CurveLiquidityStethAdapter(fixture['CurveLiquidityStethAdapter'].address, deployer),
140
- aaveAdapter: new protocol.AaveAdapter(fixture['AaveAdapter'].address, deployer),
141
- idleAdapter: new protocol.IdleAdapter(fixture['IdleAdapter'].address, deployer),
142
- paraSwapV4Adapter: new protocol.ParaSwapV4Adapter(fixture['ParaSwapV4Adapter'].address, deployer),
143
- synthetixAdapter: new protocol.SynthetixAdapter(fixture['SynthetixAdapter'].address, deployer),
144
- yearnVaultV2Adapter: new protocol.YearnVaultV2Adapter(fixture['YearnVaultV2Adapter'].address, deployer),
145
- zeroExV2Adapter: new protocol.ZeroExV2Adapter(fixture['ZeroExV2Adapter'].address, deployer),
146
- compoundAdapter: new protocol.CompoundAdapter(fixture['CompoundAdapter'].address, deployer),
147
- uniswapV2Adapter: new protocol.UniswapV2Adapter(fixture['UniswapV2Adapter'].address, deployer),
148
- uniswapV3Adapter: new protocol.UniswapV3Adapter(fixture['UniswapV3Adapter'].address, deployer),
149
- curveExchangeAdapter: new protocol.CurveExchangeAdapter(fixture['CurveExchangeAdapter'].address, deployer),
150
- feeManager: new protocol.FeeManager(fixture['FeeManager'].address, deployer),
151
- comptrollerLib: new protocol.ComptrollerLib(fixture['ComptrollerLib'].address, deployer),
136
+ curvePriceFeed: new protocol.CurvePriceFeed(fixture['CurvePriceFeed'].address, deployer),
137
+ depositWrapper: new protocol.DepositWrapper(fixture['DepositWrapper'].address, deployer),
138
+ dispatcher: new protocol.Dispatcher(fixture['Dispatcher'].address, deployer),
152
139
  entranceRateBurnFee: new protocol.EntranceRateBurnFee(fixture['EntranceRateBurnFee'].address, deployer),
153
140
  entranceRateDirectFee: new protocol.EntranceRateDirectFee(fixture['EntranceRateDirectFee'].address, deployer),
154
141
  exitRateBurnFee: new protocol.ExitRateBurnFee(fixture['ExitRateBurnFee'].address, deployer),
155
142
  exitRateDirectFee: new protocol.ExitRateDirectFee(fixture['ExitRateDirectFee'].address, deployer),
143
+ externalPositionFactory: new protocol.ExternalPositionFactory(fixture['ExternalPositionFactory'].address, deployer),
144
+ externalPositionManager: new protocol.ExternalPositionManager(fixture['ExternalPositionManager'].address, deployer),
145
+ feeManager: new protocol.FeeManager(fixture['FeeManager'].address, deployer),
146
+ fundDeployer: new protocol.FundDeployer(fixture['FundDeployer'].address, deployer),
147
+ fundValueCalculator: new protocol.FundValueCalculator(fixture['FundValueCalculator'].address, deployer),
148
+ fundValueCalculatorRouter: new protocol.FundValueCalculatorRouter(fixture['FundValueCalculatorRouter'].address, deployer),
149
+ fundValueCalculatorUsdWrapper: new protocol.FundValueCalculatorUsdWrapper(fixture['FundValueCalculatorUsdWrapper'].address, deployer),
150
+ gasRelayPaymasterFactory: new protocol.GasRelayPaymasterFactory(fixture['GasRelayPaymasterFactory'].address, deployer),
151
+ guaranteedRedemptionPolicy: new protocol.GuaranteedRedemptionPolicy(fixture['GuaranteedRedemptionPolicy'].address, deployer),
152
+ idleAdapter: new protocol.IdleAdapter(fixture['IdleAdapter'].address, deployer),
153
+ idlePriceFeed: new protocol.IdlePriceFeed(fixture['IdlePriceFeed'].address, deployer),
154
+ integrationManager: new protocol.IntegrationManager(fixture['IntegrationManager'].address, deployer),
155
+ lidoStethPriceFeed: new protocol.LidoStethPriceFeed(fixture['LidoStethPriceFeed'].address, deployer),
156
156
  managementFee: new protocol.ManagementFee(fixture['ManagementFee'].address, deployer),
157
- performanceFee: new protocol.PerformanceFee(fixture['PerformanceFee'].address, deployer),
158
- depositWrapper: new protocol.DepositWrapper(fixture['DepositWrapper'].address, deployer),
159
- unpermissionedActionsWrapper: new protocol.UnpermissionedActionsWrapper(fixture['UnpermissionedActionsWrapper'].address, deployer),
160
- allowedAdapterIncomingAssetsPolicy: new protocol.AllowedAdapterIncomingAssetsPolicy(fixture['AllowedAdapterIncomingAssetsPolicy'].address, deployer),
157
+ minAssetBalancesPostRedemptionPolicy: new protocol.MinAssetBalancesPostRedemptionPolicy(fixture['MinAssetBalancesPostRedemptionPolicy'].address, deployer),
161
158
  minMaxInvestmentPolicy: new protocol.MinMaxInvestmentPolicy(fixture['MinMaxInvestmentPolicy'].address, deployer),
162
- allowedDepositRecipientsPolicy: new protocol.AllowedDepositRecipientsPolicy(fixture['AllowedDepositRecipientsPolicy'].address, deployer),
163
- guaranteedRedemptionPolicy: new protocol.GuaranteedRedemptionPolicy(fixture['GuaranteedRedemptionPolicy'].address, deployer),
164
- globalConfigLib: new protocol.GlobalConfigLib(fixture['GlobalConfigLib'].address, deployer),
165
- globalConfigProxy: new protocol.GlobalConfigLib(fixture['GlobalConfigProxy'].address, deployer),
166
- assetFinalityResolver: new protocol.AssetFinalityResolver(fixture['AssetFinalityResolver'].address, deployer),
159
+ olympusV2Adapter: new protocol.OlympusV2Adapter(fixture['OlympusV2Adapter'].address, deployer),
160
+ onlyRemoveDustExternalPositionPolicy: new protocol.OnlyRemoveDustExternalPositionPolicy(fixture['OnlyRemoveDustExternalPositionPolicy'].address, deployer),
161
+ onlyUntrackDustOrPricelessAssetsPolicy: new protocol.OnlyUntrackDustOrPricelessAssetsPolicy(fixture['OnlyUntrackDustOrPricelessAssetsPolicy'].address, deployer),
162
+ paraSwapV4Adapter: new protocol.ParaSwapV4Adapter(fixture['ParaSwapV4Adapter'].address, deployer),
163
+ paraSwapV5Adapter: new protocol.ParaSwapV5Adapter(fixture['ParaSwapV5Adapter'].address, deployer),
164
+ performanceFee: new protocol.PerformanceFee(fixture['PerformanceFee'].address, deployer),
165
+ policyManager: new protocol.PolicyManager(fixture['PolicyManager'].address, deployer),
166
+ poolTogetherV4Adapter: new protocol.PoolTogetherV4Adapter(fixture['PoolTogetherV4Adapter'].address, deployer),
167
+ poolTogetherV4PriceFeed: new protocol.PoolTogetherV4PriceFeed(fixture['PoolTogetherV4PriceFeed'].address, deployer),
167
168
  protocolFeeReserveLib: new protocol.ProtocolFeeReserveLib(fixture['ProtocolFeeReserveLib'].address, deployer),
168
169
  protocolFeeReserveProxy: new protocol.ProtocolFeeReserveLib(fixture['ProtocolFeeReserveProxy'].address, deployer),
169
170
  protocolFeeTracker: new protocol.ProtocolFeeTracker(fixture['ProtocolFeeTracker'].address, deployer),
170
- gasRelayPaymasterFactory: new protocol.GasRelayPaymasterFactory(fixture['GasRelayPaymasterFactory'].address, deployer),
171
- addressListRegistry: new protocol.AddressListRegistry(fixture['AddressListRegistry'].address, deployer),
172
- allowedAdaptersPolicy: new protocol.AllowedAdaptersPolicy(fixture['AllowedAdaptersPolicy'].address, deployer),
173
- allowedAssetsForRedemptionPolicy: new protocol.AllowedAssetsForRedemptionPolicy(fixture['AllowedAssetsForRedemptionPolicy'].address, deployer),
174
- allowedExternalPositionTypesPolicy: new protocol.AllowedExternalPositionTypesPolicy(fixture['AllowedExternalPositionTypesPolicy'].address, deployer),
175
- allowedSharesTransferRecipientsPolicy: new protocol.AllowedSharesTransferRecipientsPolicy(fixture['AllowedSharesTransferRecipientsPolicy'].address, deployer),
176
- onlyUntrackDustOrPricelessAssetsPolicy: new protocol.OnlyUntrackDustOrPricelessAssetsPolicy(fixture['OnlyUntrackDustOrPricelessAssetsPolicy'].address, deployer)
171
+ revertingPriceFeed: new protocol.RevertingPriceFeed(fixture['RevertingPriceFeed'].address, deployer),
172
+ stakehoundEthPriceFeed: new protocol.StakehoundEthPriceFeed(fixture['StakehoundEthPriceFeed'].address, deployer),
173
+ synthetixAdapter: new protocol.SynthetixAdapter(fixture['SynthetixAdapter'].address, deployer),
174
+ synthetixPriceFeed: new protocol.SynthetixPriceFeed(fixture['SynthetixPriceFeed'].address, deployer),
175
+ uniswapV2ExchangeAdapter: new protocol.UniswapV2ExchangeAdapter(fixture['UniswapV2ExchangeAdapter'].address, deployer),
176
+ uniswapV2LiquidityAdapter: new protocol.UniswapV2LiquidityAdapter(fixture['UniswapV2LiquidityAdapter'].address, deployer),
177
+ uniswapV2PoolPriceFeed: new protocol.UniswapV2PoolPriceFeed(fixture['UniswapV2PoolPriceFeed'].address, deployer),
178
+ uniswapV3Adapter: new protocol.UniswapV3Adapter(fixture['UniswapV3Adapter'].address, deployer),
179
+ unpermissionedActionsWrapper: new protocol.UnpermissionedActionsWrapper(fixture['UnpermissionedActionsWrapper'].address, deployer),
180
+ valueInterpreter: new protocol.ValueInterpreter(fixture['ValueInterpreter'].address, deployer),
181
+ vaultLib: new protocol.VaultLib(fixture['VaultLib'].address, deployer),
182
+ yearnVaultV2Adapter: new protocol.YearnVaultV2Adapter(fixture['YearnVaultV2Adapter'].address, deployer),
183
+ yearnVaultV2PriceFeed: new protocol.YearnVaultV2PriceFeed(fixture['YearnVaultV2PriceFeed'].address, deployer),
184
+ zeroExV2Adapter: new protocol.ZeroExV2Adapter(fixture['ZeroExV2Adapter'].address, deployer)
177
185
  };
178
186
  return _context3.abrupt("return", {
179
- deployer: deployer,
180
- deployment: deployment,
181
187
  accounts: accounts,
182
- config: config
188
+ config: config,
189
+ deployer: deployer,
190
+ deployment: deployment
183
191
  });
184
192
 
185
193
  case 12:
@@ -192,30 +200,6 @@ function _deployProtocolFixture() {
192
200
  return _deployProtocolFixture.apply(this, arguments);
193
201
  }
194
202
 
195
- // TODO: Remove this.
196
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
197
- function defaultTestDeployment(_x2) {
198
- return _defaultTestDeployment.apply(this, arguments);
199
- }
200
-
201
- function _defaultTestDeployment() {
202
- _defaultTestDeployment = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee4(_) {
203
- return _regeneratorRuntime__default['default'].wrap(function _callee4$(_context4) {
204
- while (1) {
205
- switch (_context4.prev = _context4.next) {
206
- case 0:
207
- throw new Error('Removed');
208
-
209
- case 1:
210
- case "end":
211
- return _context4.stop();
212
- }
213
- }
214
- }, _callee4);
215
- }));
216
- return _defaultTestDeployment.apply(this, arguments);
217
- }
218
-
219
203
  function addTrackedAssetsToVault(_ref) {
220
204
  var signer = _ref.signer,
221
205
  comptrollerProxy = _ref.comptrollerProxy,
@@ -248,12 +232,12 @@ function _addNewAssetsToFund() {
248
232
  switch (_context.prev = _context.next) {
249
233
  case 0:
250
234
  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;
251
- // First, add tracked assets while their balances are 0
235
+ // First, add tracked assets
252
236
  receipt = addTrackedAssetsToVault({
253
- signer: signer,
237
+ assets: assets,
254
238
  comptrollerProxy: comptrollerProxy,
255
239
  integrationManager: integrationManager,
256
- assets: assets
240
+ signer: signer
257
241
  }); // Then seed the vault with balances as necessary
258
242
 
259
243
  _context.next = 4;
@@ -405,13 +389,13 @@ function createFundDeployer(_x) {
405
389
 
406
390
  function _createFundDeployer() {
407
391
  _createFundDeployer = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
408
- var deployer, assetFinalityResolver, externalPositionManager, dispatcher, feeManager, gasRelayPaymasterFactory, integrationManager, policyManager, valueInterpreter, vaultLib, _ref$setOnDispatcher, setOnDispatcher, _ref$setReleaseLive, setReleaseLive, mlnToken, wethToken, protocolFeeReserve, nextFundDeployer, nextComptrollerLib, nextProtocolFeeTracker, nextVaultLib;
392
+ 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;
409
393
 
410
394
  return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
411
395
  while (1) {
412
396
  switch (_context.prev = _context.next) {
413
397
  case 0:
414
- 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;
398
+ 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;
415
399
  _context.next = 3;
416
400
  return vaultLib.getMlnToken();
417
401
 
@@ -433,77 +417,116 @@ function _createFundDeployer() {
433
417
  case 12:
434
418
  nextFundDeployer = _context.sent;
435
419
  _context.next = 15;
436
- return protocol.ComptrollerLib.deploy(deployer, dispatcher, protocolFeeReserve, nextFundDeployer, valueInterpreter, externalPositionManager, feeManager, integrationManager, policyManager, assetFinalityResolver, gasRelayPaymasterFactory, mlnToken, wethToken);
420
+ return protocol.PolicyManager.deploy(deployer, nextFundDeployer, gasRelayPaymasterFactory);
437
421
 
438
422
  case 15:
423
+ nextPolicyManager = _context.sent;
424
+ _context.t0 = protocol.ExternalPositionManager;
425
+ _context.t1 = deployer;
426
+ _context.t2 = nextFundDeployer;
427
+ _context.next = 21;
428
+ return externalPositionManager.getExternalPositionFactory();
429
+
430
+ case 21:
431
+ _context.t3 = _context.sent;
432
+ _context.t4 = nextPolicyManager;
433
+ _context.next = 25;
434
+ return _context.t0.deploy.call(_context.t0, _context.t1, _context.t2, _context.t3, _context.t4);
435
+
436
+ case 25:
437
+ nextExternalPositionManager = _context.sent;
438
+ _context.next = 28;
439
+ return protocol.FeeManager.deploy(deployer, nextFundDeployer);
440
+
441
+ case 28:
442
+ nextFeeManager = _context.sent;
443
+ _context.next = 31;
444
+ return protocol.IntegrationManager.deploy(deployer, nextFundDeployer, nextPolicyManager, valueInterpreter);
445
+
446
+ case 31:
447
+ nextIntegrationManager = _context.sent;
448
+ _context.next = 34;
449
+ return protocol.ComptrollerLib.deploy(deployer, dispatcher, protocolFeeReserve, nextFundDeployer, valueInterpreter, nextExternalPositionManager, nextFeeManager, nextIntegrationManager, nextPolicyManager, assetFinalityResolver, gasRelayPaymasterFactory, mlnToken, wethToken);
450
+
451
+ case 34:
439
452
  nextComptrollerLib = _context.sent;
440
- _context.next = 18;
453
+ _context.next = 37;
441
454
  return nextFundDeployer.setComptrollerLib(nextComptrollerLib);
442
455
 
443
- case 18:
444
- _context.next = 20;
456
+ case 37:
457
+ _context.next = 39;
445
458
  return protocol.ProtocolFeeTracker.deploy(deployer, nextFundDeployer);
446
459
 
447
- case 20:
460
+ case 39:
448
461
  nextProtocolFeeTracker = _context.sent;
449
- _context.next = 23;
462
+ _context.next = 42;
450
463
  return nextFundDeployer.setProtocolFeeTracker(nextProtocolFeeTracker);
451
464
 
452
- case 23:
453
- _context.t0 = protocol.VaultLib;
454
- _context.t1 = deployer;
455
- _context.t2 = externalPositionManager;
456
- _context.next = 28;
465
+ case 42:
466
+ _context.t5 = protocol.VaultLib;
467
+ _context.t6 = deployer;
468
+ _context.t7 = externalPositionManager;
469
+ _context.next = 47;
457
470
  return vaultLib.getGasRelayPaymasterFactory();
458
471
 
459
- case 28:
460
- _context.t3 = _context.sent;
461
- _context.next = 31;
472
+ case 47:
473
+ _context.t8 = _context.sent;
474
+ _context.next = 50;
462
475
  return vaultLib.getProtocolFeeReserve();
463
476
 
464
- case 31:
465
- _context.t4 = _context.sent;
466
- _context.t5 = nextProtocolFeeTracker;
467
- _context.next = 35;
477
+ case 50:
478
+ _context.t9 = _context.sent;
479
+ _context.t10 = nextProtocolFeeTracker;
480
+ _context.next = 54;
468
481
  return vaultLib.getMlnToken();
469
482
 
470
- case 35:
471
- _context.t6 = _context.sent;
472
- _context.next = 38;
483
+ case 54:
484
+ _context.t11 = _context.sent;
485
+ _context.next = 57;
486
+ return vaultLib.getMlnBurner();
487
+
488
+ case 57:
489
+ _context.t12 = _context.sent;
490
+ _context.next = 60;
473
491
  return vaultLib.getWethToken();
474
492
 
475
- case 38:
476
- _context.t7 = _context.sent;
477
- _context.next = 41;
478
- return _context.t0.deploy.call(_context.t0, _context.t1, _context.t2, _context.t3, _context.t4, _context.t5, _context.t6, _context.t7);
493
+ case 60:
494
+ _context.t13 = _context.sent;
495
+ _context.next = 63;
496
+ return vaultLib.getPositionsLimit();
497
+
498
+ case 63:
499
+ _context.t14 = _context.sent;
500
+ _context.next = 66;
501
+ 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);
479
502
 
480
- case 41:
503
+ case 66:
481
504
  nextVaultLib = _context.sent;
482
- _context.next = 44;
505
+ _context.next = 69;
483
506
  return nextFundDeployer.setVaultLib(nextVaultLib);
484
507
 
485
- case 44:
508
+ case 69:
486
509
  if (!setReleaseLive) {
487
- _context.next = 47;
510
+ _context.next = 72;
488
511
  break;
489
512
  }
490
513
 
491
- _context.next = 47;
514
+ _context.next = 72;
492
515
  return nextFundDeployer.setReleaseLive();
493
516
 
494
- case 47:
517
+ case 72:
495
518
  if (!setOnDispatcher) {
496
- _context.next = 50;
519
+ _context.next = 75;
497
520
  break;
498
521
  }
499
522
 
500
- _context.next = 50;
523
+ _context.next = 75;
501
524
  return dispatcher.setCurrentFundDeployer(nextFundDeployer);
502
525
 
503
- case 50:
526
+ case 75:
504
527
  return _context.abrupt("return", nextFundDeployer);
505
528
 
506
- case 51:
529
+ case 76:
507
530
  case "end":
508
531
  return _context.stop();
509
532
  }
@@ -549,297 +572,331 @@ function _callOnExtension() {
549
572
  return _callOnExtension.apply(this, arguments);
550
573
  }
551
574
 
552
- function createExternalPosition(_x) {
575
+ function callOnExternalPosition(_x) {
576
+ return _callOnExternalPosition.apply(this, arguments);
577
+ }
578
+
579
+ function _callOnExternalPosition() {
580
+ _callOnExternalPosition = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
581
+ var signer, comptrollerProxy, externalPositionManager, externalPositionProxy, actionId, actionArgs, callArgs;
582
+ return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
583
+ while (1) {
584
+ switch (_context.prev = _context.next) {
585
+ case 0:
586
+ signer = _ref.signer, comptrollerProxy = _ref.comptrollerProxy, externalPositionManager = _ref.externalPositionManager, externalPositionProxy = _ref.externalPositionProxy, actionId = _ref.actionId, actionArgs = _ref.actionArgs;
587
+ callArgs = protocol.callOnExternalPositionArgs({
588
+ actionArgs: actionArgs,
589
+ actionId: actionId,
590
+ externalPositionProxy: externalPositionProxy
591
+ });
592
+ return _context.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(externalPositionManager, protocol.ExternalPositionManagerActionId.CallOnExternalPosition, callArgs));
593
+
594
+ case 3:
595
+ case "end":
596
+ return _context.stop();
597
+ }
598
+ }
599
+ }, _callee);
600
+ }));
601
+ return _callOnExternalPosition.apply(this, arguments);
602
+ }
603
+
604
+ function createExternalPosition(_x2) {
553
605
  return _createExternalPosition.apply(this, arguments);
554
606
  }
555
607
 
556
608
  function _createExternalPosition() {
557
- _createExternalPosition = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
558
- var signer, comptrollerProxy, externalPositionManager, externalPositionTypeId, _ref$initializationDa, initializationData, receipt, event, externalPositionProxy;
609
+ _createExternalPosition = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(_ref2) {
610
+ var signer, comptrollerProxy, externalPositionManager, externalPositionTypeId, _ref2$initializationD, initializationData, receipt, event, externalPositionProxy;
559
611
 
560
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
612
+ return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
561
613
  while (1) {
562
- switch (_context.prev = _context.next) {
614
+ switch (_context2.prev = _context2.next) {
563
615
  case 0:
564
- signer = _ref.signer, comptrollerProxy = _ref.comptrollerProxy, externalPositionManager = _ref.externalPositionManager, externalPositionTypeId = _ref.externalPositionTypeId, _ref$initializationDa = _ref.initializationData, initializationData = _ref$initializationDa === void 0 ? '0x' : _ref$initializationDa;
565
- _context.next = 3;
616
+ signer = _ref2.signer, comptrollerProxy = _ref2.comptrollerProxy, externalPositionManager = _ref2.externalPositionManager, externalPositionTypeId = _ref2.externalPositionTypeId, _ref2$initializationD = _ref2.initializationData, initializationData = _ref2$initializationD === void 0 ? '0x' : _ref2$initializationD;
617
+ _context2.next = 3;
566
618
  return comptrollerProxy.connect(signer).callOnExtension(externalPositionManager, protocol.ExternalPositionManagerActionId.CreateExternalPosition, protocol.encodeArgs(['uint256', 'bytes'], [externalPositionTypeId, initializationData]));
567
619
 
568
620
  case 3:
569
- receipt = _context.sent;
621
+ receipt = _context2.sent;
570
622
  event = ethers$1.extractEvent(receipt, externalPositionManager.abi.getEvent('ExternalPositionDeployedForFund'));
571
623
  externalPositionProxy = new protocol.IExternalPositionProxy(event[0].args.externalPosition, signer);
572
- return _context.abrupt("return", {
573
- receipt: receipt,
574
- externalPositionProxy: externalPositionProxy
624
+ return _context2.abrupt("return", {
625
+ externalPositionProxy: externalPositionProxy,
626
+ receipt: receipt
575
627
  });
576
628
 
577
629
  case 7:
578
630
  case "end":
579
- return _context.stop();
631
+ return _context2.stop();
580
632
  }
581
633
  }
582
- }, _callee);
634
+ }, _callee2);
583
635
  }));
584
636
  return _createExternalPosition.apply(this, arguments);
585
637
  }
586
638
 
587
- function reactivateExternalPosition(_x2) {
639
+ function reactivateExternalPosition(_x3) {
588
640
  return _reactivateExternalPosition.apply(this, arguments);
589
641
  }
590
642
 
591
643
  function _reactivateExternalPosition() {
592
- _reactivateExternalPosition = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(_ref2) {
644
+ _reactivateExternalPosition = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee3(_ref3) {
593
645
  var signer, comptrollerProxy, externalPositionManager, externalPositionProxy, callArgs;
594
- return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
646
+ return _regeneratorRuntime__default['default'].wrap(function _callee3$(_context3) {
595
647
  while (1) {
596
- switch (_context2.prev = _context2.next) {
648
+ switch (_context3.prev = _context3.next) {
597
649
  case 0:
598
- signer = _ref2.signer, comptrollerProxy = _ref2.comptrollerProxy, externalPositionManager = _ref2.externalPositionManager, externalPositionProxy = _ref2.externalPositionProxy;
650
+ signer = _ref3.signer, comptrollerProxy = _ref3.comptrollerProxy, externalPositionManager = _ref3.externalPositionManager, externalPositionProxy = _ref3.externalPositionProxy;
599
651
  callArgs = protocol.externalPositionReactivateArgs({
600
652
  externalPositionProxy: externalPositionProxy
601
653
  });
602
- return _context2.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(externalPositionManager, protocol.ExternalPositionManagerActionId.ReactivateExternalPosition, callArgs));
654
+ return _context3.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(externalPositionManager, protocol.ExternalPositionManagerActionId.ReactivateExternalPosition, callArgs));
603
655
 
604
656
  case 3:
605
657
  case "end":
606
- return _context2.stop();
658
+ return _context3.stop();
607
659
  }
608
660
  }
609
- }, _callee2);
661
+ }, _callee3);
610
662
  }));
611
663
  return _reactivateExternalPosition.apply(this, arguments);
612
664
  }
613
665
 
614
- function removeExternalPosition(_x3) {
666
+ function removeExternalPosition(_x4) {
615
667
  return _removeExternalPosition.apply(this, arguments);
616
668
  }
617
669
 
618
670
  function _removeExternalPosition() {
619
- _removeExternalPosition = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee3(_ref3) {
671
+ _removeExternalPosition = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee4(_ref4) {
620
672
  var signer, comptrollerProxy, externalPositionManager, externalPositionProxy, callArgs;
621
- return _regeneratorRuntime__default['default'].wrap(function _callee3$(_context3) {
673
+ return _regeneratorRuntime__default['default'].wrap(function _callee4$(_context4) {
622
674
  while (1) {
623
- switch (_context3.prev = _context3.next) {
675
+ switch (_context4.prev = _context4.next) {
624
676
  case 0:
625
- signer = _ref3.signer, comptrollerProxy = _ref3.comptrollerProxy, externalPositionManager = _ref3.externalPositionManager, externalPositionProxy = _ref3.externalPositionProxy;
677
+ signer = _ref4.signer, comptrollerProxy = _ref4.comptrollerProxy, externalPositionManager = _ref4.externalPositionManager, externalPositionProxy = _ref4.externalPositionProxy;
626
678
  callArgs = protocol.externalPositionRemoveArgs({
627
679
  externalPositionProxy: externalPositionProxy
628
680
  });
629
- return _context3.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(externalPositionManager, protocol.ExternalPositionManagerActionId.RemoveExternalPosition, callArgs));
681
+ return _context4.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(externalPositionManager, protocol.ExternalPositionManagerActionId.RemoveExternalPosition, callArgs));
630
682
 
631
683
  case 3:
632
684
  case "end":
633
- return _context3.stop();
685
+ return _context4.stop();
634
686
  }
635
687
  }
636
- }, _callee3);
688
+ }, _callee4);
637
689
  }));
638
690
  return _removeExternalPosition.apply(this, arguments);
639
691
  }
640
692
 
641
- function createCompoundDebtPosition(_x) {
642
- return _createCompoundDebtPosition.apply(this, arguments);
693
+ function compoundDebtPositionAddCollateral(_x) {
694
+ return _compoundDebtPositionAddCollateral.apply(this, arguments);
643
695
  }
644
696
 
645
- function _createCompoundDebtPosition() {
646
- _createCompoundDebtPosition = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
647
- var signer, comptrollerProxy, externalPositionManager;
697
+ function _compoundDebtPositionAddCollateral() {
698
+ _compoundDebtPositionAddCollateral = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
699
+ var comptrollerProxy, externalPositionManager, fundOwner, assets, amounts, externalPositionProxy, cTokens, actionArgs;
648
700
  return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
649
701
  while (1) {
650
702
  switch (_context.prev = _context.next) {
651
703
  case 0:
652
- signer = _ref.signer, comptrollerProxy = _ref.comptrollerProxy, externalPositionManager = _ref.externalPositionManager;
653
- return _context.abrupt("return", createExternalPosition({
654
- signer: signer,
704
+ comptrollerProxy = _ref.comptrollerProxy, externalPositionManager = _ref.externalPositionManager, fundOwner = _ref.fundOwner, assets = _ref.assets, amounts = _ref.amounts, externalPositionProxy = _ref.externalPositionProxy, cTokens = _ref.cTokens;
705
+ actionArgs = protocol.compoundExternalPositionActionArgs({
706
+ amounts: amounts,
707
+ assets: assets,
708
+ data: protocol.encodeArgs(['address[]'], [cTokens])
709
+ });
710
+ return _context.abrupt("return", callOnExternalPosition({
711
+ actionArgs: actionArgs,
712
+ actionId: protocol.CompoundDebtPositionActionId.AddCollateralAssets,
655
713
  comptrollerProxy: comptrollerProxy,
656
714
  externalPositionManager: externalPositionManager,
657
- externalPositionTypeId: protocol.ExternalPositionType.CompoundDebtPosition
715
+ externalPositionProxy: externalPositionProxy,
716
+ signer: fundOwner
658
717
  }));
659
718
 
660
- case 2:
719
+ case 3:
661
720
  case "end":
662
721
  return _context.stop();
663
722
  }
664
723
  }
665
724
  }, _callee);
666
725
  }));
667
- return _createCompoundDebtPosition.apply(this, arguments);
726
+ return _compoundDebtPositionAddCollateral.apply(this, arguments);
668
727
  }
669
728
 
670
- function addCollateral(_x2) {
671
- return _addCollateral.apply(this, arguments);
729
+ function compoundDebtPositionBorrow(_x2) {
730
+ return _compoundDebtPositionBorrow.apply(this, arguments);
672
731
  }
673
732
 
674
- function _addCollateral() {
675
- _addCollateral = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(_ref2) {
676
- var comptrollerProxy, externalPositionManager, fundOwner, assets, amounts, externalPositionProxy, cTokens, actionArgs, callArgs, addCollateralTx;
733
+ function _compoundDebtPositionBorrow() {
734
+ _compoundDebtPositionBorrow = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(_ref2) {
735
+ var comptrollerProxy, externalPositionManager, fundOwner, externalPositionProxy, assets, amounts, cTokens, actionArgs;
677
736
  return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
678
737
  while (1) {
679
738
  switch (_context2.prev = _context2.next) {
680
739
  case 0:
681
- comptrollerProxy = _ref2.comptrollerProxy, externalPositionManager = _ref2.externalPositionManager, fundOwner = _ref2.fundOwner, assets = _ref2.assets, amounts = _ref2.amounts, externalPositionProxy = _ref2.externalPositionProxy, cTokens = _ref2.cTokens;
740
+ comptrollerProxy = _ref2.comptrollerProxy, externalPositionManager = _ref2.externalPositionManager, fundOwner = _ref2.fundOwner, externalPositionProxy = _ref2.externalPositionProxy, assets = _ref2.assets, amounts = _ref2.amounts, cTokens = _ref2.cTokens;
682
741
  actionArgs = protocol.compoundExternalPositionActionArgs({
683
- assets: assets,
684
742
  amounts: amounts,
743
+ assets: assets,
685
744
  data: protocol.encodeArgs(['address[]'], [cTokens])
686
745
  });
687
- callArgs = protocol.callOnExternalPositionArgs({
746
+ return _context2.abrupt("return", callOnExternalPosition({
747
+ actionArgs: actionArgs,
748
+ actionId: protocol.CompoundDebtPositionActionId.BorrowAsset,
749
+ comptrollerProxy: comptrollerProxy,
750
+ externalPositionManager: externalPositionManager,
688
751
  externalPositionProxy: externalPositionProxy,
689
- actionId: protocol.CompoundDebtPositionActionId.AddCollateralAssets,
690
- encodedCallArgs: actionArgs
691
- });
692
- addCollateralTx = comptrollerProxy.connect(fundOwner).callOnExtension(externalPositionManager, protocol.ExternalPositionManagerActionId.CallOnExternalPosition, callArgs);
693
- return _context2.abrupt("return", addCollateralTx);
752
+ signer: fundOwner
753
+ }));
694
754
 
695
- case 5:
755
+ case 3:
696
756
  case "end":
697
757
  return _context2.stop();
698
758
  }
699
759
  }
700
760
  }, _callee2);
701
761
  }));
702
- return _addCollateral.apply(this, arguments);
762
+ return _compoundDebtPositionBorrow.apply(this, arguments);
703
763
  }
704
764
 
705
- function removeCollateral(_x3) {
706
- return _removeCollateral.apply(this, arguments);
765
+ function compoundDebtPositionClaimComp(_x3) {
766
+ return _compoundDebtPositionClaimComp.apply(this, arguments);
707
767
  }
708
768
 
709
- function _removeCollateral() {
710
- _removeCollateral = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee3(_ref3) {
711
- var comptrollerProxy, externalPositionManager, fundOwner, assets, amounts, externalPositionProxy, cTokens, actionArgs, callArgs, removeCollateralTx;
769
+ function _compoundDebtPositionClaimComp() {
770
+ _compoundDebtPositionClaimComp = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee3(_ref3) {
771
+ var comptrollerProxy, externalPositionManager, fundOwner, externalPositionProxy, actionArgs;
712
772
  return _regeneratorRuntime__default['default'].wrap(function _callee3$(_context3) {
713
773
  while (1) {
714
774
  switch (_context3.prev = _context3.next) {
715
775
  case 0:
716
- comptrollerProxy = _ref3.comptrollerProxy, externalPositionManager = _ref3.externalPositionManager, fundOwner = _ref3.fundOwner, assets = _ref3.assets, amounts = _ref3.amounts, externalPositionProxy = _ref3.externalPositionProxy, cTokens = _ref3.cTokens;
776
+ comptrollerProxy = _ref3.comptrollerProxy, externalPositionManager = _ref3.externalPositionManager, fundOwner = _ref3.fundOwner, externalPositionProxy = _ref3.externalPositionProxy;
717
777
  actionArgs = protocol.compoundExternalPositionActionArgs({
718
- assets: assets,
719
- amounts: amounts,
720
- data: protocol.encodeArgs(['address[]'], [cTokens])
778
+ amounts: [],
779
+ assets: [],
780
+ data: '0x'
721
781
  });
722
- callArgs = protocol.callOnExternalPositionArgs({
782
+ return _context3.abrupt("return", callOnExternalPosition({
783
+ actionArgs: actionArgs,
784
+ actionId: protocol.CompoundDebtPositionActionId.ClaimComp,
785
+ comptrollerProxy: comptrollerProxy,
786
+ externalPositionManager: externalPositionManager,
723
787
  externalPositionProxy: externalPositionProxy,
724
- actionId: protocol.CompoundDebtPositionActionId.RemoveCollateralAssets,
725
- encodedCallArgs: actionArgs
726
- });
727
- removeCollateralTx = comptrollerProxy.connect(fundOwner).callOnExtension(externalPositionManager, protocol.ExternalPositionManagerActionId.CallOnExternalPosition, callArgs);
728
- return _context3.abrupt("return", removeCollateralTx);
788
+ signer: fundOwner
789
+ }));
729
790
 
730
- case 5:
791
+ case 3:
731
792
  case "end":
732
793
  return _context3.stop();
733
794
  }
734
795
  }
735
796
  }, _callee3);
736
797
  }));
737
- return _removeCollateral.apply(this, arguments);
798
+ return _compoundDebtPositionClaimComp.apply(this, arguments);
738
799
  }
739
800
 
740
- function borrow(_x4) {
741
- return _borrow.apply(this, arguments);
801
+ function compoundDebtPositionRemoveCollateral(_x4) {
802
+ return _compoundDebtPositionRemoveCollateral.apply(this, arguments);
742
803
  }
743
804
 
744
- function _borrow() {
745
- _borrow = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee4(_ref4) {
746
- var comptrollerProxy, externalPositionManager, fundOwner, externalPositionProxy, assets, amounts, cTokens, actionArgs, callArgs, borrowTx;
805
+ function _compoundDebtPositionRemoveCollateral() {
806
+ _compoundDebtPositionRemoveCollateral = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee4(_ref4) {
807
+ var comptrollerProxy, externalPositionManager, fundOwner, assets, amounts, externalPositionProxy, cTokens, actionArgs;
747
808
  return _regeneratorRuntime__default['default'].wrap(function _callee4$(_context4) {
748
809
  while (1) {
749
810
  switch (_context4.prev = _context4.next) {
750
811
  case 0:
751
- comptrollerProxy = _ref4.comptrollerProxy, externalPositionManager = _ref4.externalPositionManager, fundOwner = _ref4.fundOwner, externalPositionProxy = _ref4.externalPositionProxy, assets = _ref4.assets, amounts = _ref4.amounts, cTokens = _ref4.cTokens;
812
+ comptrollerProxy = _ref4.comptrollerProxy, externalPositionManager = _ref4.externalPositionManager, fundOwner = _ref4.fundOwner, assets = _ref4.assets, amounts = _ref4.amounts, externalPositionProxy = _ref4.externalPositionProxy, cTokens = _ref4.cTokens;
752
813
  actionArgs = protocol.compoundExternalPositionActionArgs({
753
- assets: assets,
754
814
  amounts: amounts,
815
+ assets: assets,
755
816
  data: protocol.encodeArgs(['address[]'], [cTokens])
756
817
  });
757
- callArgs = protocol.callOnExternalPositionArgs({
818
+ return _context4.abrupt("return", callOnExternalPosition({
819
+ actionArgs: actionArgs,
820
+ actionId: protocol.CompoundDebtPositionActionId.RemoveCollateralAssets,
821
+ comptrollerProxy: comptrollerProxy,
822
+ externalPositionManager: externalPositionManager,
758
823
  externalPositionProxy: externalPositionProxy,
759
- actionId: protocol.CompoundDebtPositionActionId.BorrowAsset,
760
- encodedCallArgs: actionArgs
761
- });
762
- borrowTx = comptrollerProxy.connect(fundOwner).callOnExtension(externalPositionManager, protocol.ExternalPositionManagerActionId.CallOnExternalPosition, callArgs);
763
- return _context4.abrupt("return", borrowTx);
824
+ signer: fundOwner
825
+ }));
764
826
 
765
- case 5:
827
+ case 3:
766
828
  case "end":
767
829
  return _context4.stop();
768
830
  }
769
831
  }
770
832
  }, _callee4);
771
833
  }));
772
- return _borrow.apply(this, arguments);
834
+ return _compoundDebtPositionRemoveCollateral.apply(this, arguments);
773
835
  }
774
836
 
775
- function claimComp(_x5) {
776
- return _claimComp.apply(this, arguments);
837
+ function compoundDebtPositionRepayBorrow(_x5) {
838
+ return _compoundDebtPositionRepayBorrow.apply(this, arguments);
777
839
  }
778
840
 
779
- function _claimComp() {
780
- _claimComp = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee5(_ref5) {
781
- var comptrollerProxy, externalPositionManager, fundOwner, externalPositionProxy, actionArgs, callArgs, claimCompTx;
841
+ function _compoundDebtPositionRepayBorrow() {
842
+ _compoundDebtPositionRepayBorrow = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee5(_ref5) {
843
+ var comptrollerProxy, externalPositionManager, fundOwner, assets, amounts, externalPositionProxy, cTokens, actionArgs;
782
844
  return _regeneratorRuntime__default['default'].wrap(function _callee5$(_context5) {
783
845
  while (1) {
784
846
  switch (_context5.prev = _context5.next) {
785
847
  case 0:
786
- comptrollerProxy = _ref5.comptrollerProxy, externalPositionManager = _ref5.externalPositionManager, fundOwner = _ref5.fundOwner, externalPositionProxy = _ref5.externalPositionProxy;
848
+ comptrollerProxy = _ref5.comptrollerProxy, externalPositionManager = _ref5.externalPositionManager, fundOwner = _ref5.fundOwner, assets = _ref5.assets, amounts = _ref5.amounts, externalPositionProxy = _ref5.externalPositionProxy, cTokens = _ref5.cTokens;
787
849
  actionArgs = protocol.compoundExternalPositionActionArgs({
788
- assets: [],
789
- amounts: [],
790
- data: '0x'
850
+ amounts: amounts,
851
+ assets: assets,
852
+ data: protocol.encodeArgs(['address[]'], [cTokens])
791
853
  });
792
- callArgs = protocol.callOnExternalPositionArgs({
854
+ return _context5.abrupt("return", callOnExternalPosition({
855
+ actionArgs: actionArgs,
856
+ actionId: protocol.CompoundDebtPositionActionId.RepayBorrowedAssets,
857
+ comptrollerProxy: comptrollerProxy,
858
+ externalPositionManager: externalPositionManager,
793
859
  externalPositionProxy: externalPositionProxy,
794
- actionId: protocol.CompoundDebtPositionActionId.ClaimComp,
795
- encodedCallArgs: actionArgs
796
- });
797
- claimCompTx = comptrollerProxy.connect(fundOwner).callOnExtension(externalPositionManager, protocol.ExternalPositionManagerActionId.CallOnExternalPosition, callArgs);
798
- return _context5.abrupt("return", claimCompTx);
860
+ signer: fundOwner
861
+ }));
799
862
 
800
- case 5:
863
+ case 3:
801
864
  case "end":
802
865
  return _context5.stop();
803
866
  }
804
867
  }
805
868
  }, _callee5);
806
869
  }));
807
- return _claimComp.apply(this, arguments);
870
+ return _compoundDebtPositionRepayBorrow.apply(this, arguments);
808
871
  }
809
872
 
810
- function repayBorrow(_x6) {
811
- return _repayBorrow.apply(this, arguments);
873
+ function createCompoundDebtPosition(_x6) {
874
+ return _createCompoundDebtPosition.apply(this, arguments);
812
875
  }
813
876
 
814
- function _repayBorrow() {
815
- _repayBorrow = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee6(_ref6) {
816
- var comptrollerProxy, externalPositionManager, fundOwner, assets, amounts, externalPositionProxy, cTokens, actionArgs, callArgs, repayTx;
877
+ function _createCompoundDebtPosition() {
878
+ _createCompoundDebtPosition = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee6(_ref6) {
879
+ var signer, comptrollerProxy, externalPositionManager;
817
880
  return _regeneratorRuntime__default['default'].wrap(function _callee6$(_context6) {
818
881
  while (1) {
819
882
  switch (_context6.prev = _context6.next) {
820
883
  case 0:
821
- comptrollerProxy = _ref6.comptrollerProxy, externalPositionManager = _ref6.externalPositionManager, fundOwner = _ref6.fundOwner, assets = _ref6.assets, amounts = _ref6.amounts, externalPositionProxy = _ref6.externalPositionProxy, cTokens = _ref6.cTokens;
822
- actionArgs = protocol.compoundExternalPositionActionArgs({
823
- assets: assets,
824
- amounts: amounts,
825
- data: protocol.encodeArgs(['address[]'], [cTokens])
826
- });
827
- callArgs = protocol.callOnExternalPositionArgs({
828
- externalPositionProxy: externalPositionProxy,
829
- actionId: protocol.CompoundDebtPositionActionId.RepayBorrowedAssets,
830
- encodedCallArgs: actionArgs
831
- });
832
- repayTx = comptrollerProxy.connect(fundOwner).callOnExtension(externalPositionManager, protocol.ExternalPositionManagerActionId.CallOnExternalPosition, callArgs);
833
- return _context6.abrupt("return", repayTx);
884
+ signer = _ref6.signer, comptrollerProxy = _ref6.comptrollerProxy, externalPositionManager = _ref6.externalPositionManager;
885
+ return _context6.abrupt("return", createExternalPosition({
886
+ comptrollerProxy: comptrollerProxy,
887
+ externalPositionManager: externalPositionManager,
888
+ externalPositionTypeId: protocol.ExternalPositionType.CompoundDebtPosition,
889
+ signer: signer
890
+ }));
834
891
 
835
- case 5:
892
+ case 2:
836
893
  case "end":
837
894
  return _context6.stop();
838
895
  }
839
896
  }
840
897
  }, _callee6);
841
898
  }));
842
- return _repayBorrow.apply(this, arguments);
899
+ return _createCompoundDebtPosition.apply(this, arguments);
843
900
  }
844
901
 
845
902
  function createMockExternalPosition(_x) {
@@ -854,7 +911,7 @@ function _createMockExternalPosition() {
854
911
  switch (_context.prev = _context.next) {
855
912
  case 0:
856
913
  comptrollerProxy = _ref.comptrollerProxy, externalPositionManager = _ref.externalPositionManager, externalPositionFactory = _ref.externalPositionFactory, defaultActionAssetsToTransfer = _ref.defaultActionAssetsToTransfer, defaultActionAmountsToTransfer = _ref.defaultActionAmountsToTransfer, defaultActionAssetsToReceive = _ref.defaultActionAssetsToReceive, fundOwner = _ref.fundOwner, deployer = _ref.deployer;
857
- _context.t0 = src.VaultLib;
914
+ _context.t0 = protocol.VaultLib;
858
915
  _context.next = 4;
859
916
  return comptrollerProxy.getVaultProxy();
860
917
 
@@ -872,12 +929,12 @@ function _createMockExternalPosition() {
872
929
 
873
930
  case 12:
874
931
  _context.next = 14;
875
- return src.MockGenericExternalPositionLib.deploy(deployer);
932
+ return protocol.MockGenericExternalPositionLib.deploy(deployer);
876
933
 
877
934
  case 14:
878
935
  mockGenericExternalPositionLib = _context.sent;
879
936
  _context.next = 17;
880
- return src.MockGenericExternalPositionParser.deploy(deployer);
937
+ return protocol.MockGenericExternalPositionParser.deploy(deployer);
881
938
 
882
939
  case 17:
883
940
  mockExternalPositionParser = _context.sent;
@@ -887,7 +944,7 @@ function _createMockExternalPosition() {
887
944
 
888
945
  case 21:
889
946
  _context.next = 23;
890
- return comptrollerProxy.connect(fundOwner).callOnExtension(externalPositionManager, src.ExternalPositionManagerActionId.CreateExternalPosition, src.encodeArgs(['uint256', 'bytes'], [typeId, '0x']));
947
+ return comptrollerProxy.connect(fundOwner).callOnExtension(externalPositionManager, protocol.ExternalPositionManagerActionId.CreateExternalPosition, protocol.encodeArgs(['uint256', 'bytes'], [typeId, '0x']));
891
948
 
892
949
  case 23:
893
950
  receipt = _context.sent;
@@ -897,11 +954,11 @@ function _createMockExternalPosition() {
897
954
  case 26:
898
955
  externalPositionProxy = _context.sent[0];
899
956
  return _context.abrupt("return", {
900
- typeId: typeId,
901
- mockGenericExternalPositionLib: mockGenericExternalPositionLib,
902
- mockExternalPositionParser: mockExternalPositionParser,
903
957
  externalPositionProxy: externalPositionProxy,
904
- receipt: receipt
958
+ mockExternalPositionParser: mockExternalPositionParser,
959
+ mockGenericExternalPositionLib: mockGenericExternalPositionLib,
960
+ receipt: receipt,
961
+ typeId: typeId
905
962
  });
906
963
 
907
964
  case 28:
@@ -914,6 +971,416 @@ function _createMockExternalPosition() {
914
971
  return _createMockExternalPosition.apply(this, arguments);
915
972
  }
916
973
 
974
+ function mockExternalPositionAddDebtAssets(_x2) {
975
+ return _mockExternalPositionAddDebtAssets.apply(this, arguments);
976
+ }
977
+
978
+ function _mockExternalPositionAddDebtAssets() {
979
+ _mockExternalPositionAddDebtAssets = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(_ref2) {
980
+ var signer, comptrollerProxy, externalPositionManager, externalPositionProxy, assets, amounts, actionArgs;
981
+ return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
982
+ while (1) {
983
+ switch (_context2.prev = _context2.next) {
984
+ case 0:
985
+ signer = _ref2.signer, comptrollerProxy = _ref2.comptrollerProxy, externalPositionManager = _ref2.externalPositionManager, externalPositionProxy = _ref2.externalPositionProxy, assets = _ref2.assets, amounts = _ref2.amounts;
986
+ actionArgs = protocol.mockGenericExternalPositionActionArgs({
987
+ amounts: amounts,
988
+ assets: assets
989
+ });
990
+ return _context2.abrupt("return", callOnExternalPosition({
991
+ actionArgs: actionArgs,
992
+ actionId: protocol.MockGenericExternalPositionActionId.AddDebtAssets,
993
+ comptrollerProxy: comptrollerProxy,
994
+ externalPositionManager: externalPositionManager,
995
+ externalPositionProxy: externalPositionProxy,
996
+ signer: signer
997
+ }));
998
+
999
+ case 3:
1000
+ case "end":
1001
+ return _context2.stop();
1002
+ }
1003
+ }
1004
+ }, _callee2);
1005
+ }));
1006
+ return _mockExternalPositionAddDebtAssets.apply(this, arguments);
1007
+ }
1008
+
1009
+ function mockExternalPositionAddManagedAssets(_x3) {
1010
+ return _mockExternalPositionAddManagedAssets.apply(this, arguments);
1011
+ }
1012
+
1013
+ function _mockExternalPositionAddManagedAssets() {
1014
+ _mockExternalPositionAddManagedAssets = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee3(_ref3) {
1015
+ var signer, comptrollerProxy, externalPositionManager, externalPositionProxy, assets, amounts, actionArgs;
1016
+ return _regeneratorRuntime__default['default'].wrap(function _callee3$(_context3) {
1017
+ while (1) {
1018
+ switch (_context3.prev = _context3.next) {
1019
+ case 0:
1020
+ signer = _ref3.signer, comptrollerProxy = _ref3.comptrollerProxy, externalPositionManager = _ref3.externalPositionManager, externalPositionProxy = _ref3.externalPositionProxy, assets = _ref3.assets, amounts = _ref3.amounts;
1021
+ actionArgs = protocol.mockGenericExternalPositionActionArgs({
1022
+ amounts: amounts,
1023
+ assets: assets
1024
+ });
1025
+ return _context3.abrupt("return", callOnExternalPosition({
1026
+ actionArgs: actionArgs,
1027
+ actionId: protocol.MockGenericExternalPositionActionId.AddManagedAssets,
1028
+ comptrollerProxy: comptrollerProxy,
1029
+ externalPositionManager: externalPositionManager,
1030
+ externalPositionProxy: externalPositionProxy,
1031
+ signer: signer
1032
+ }));
1033
+
1034
+ case 3:
1035
+ case "end":
1036
+ return _context3.stop();
1037
+ }
1038
+ }
1039
+ }, _callee3);
1040
+ }));
1041
+ return _mockExternalPositionAddManagedAssets.apply(this, arguments);
1042
+ }
1043
+
1044
+ function mockExternalPositionRemoveDebtAssets(_x4) {
1045
+ return _mockExternalPositionRemoveDebtAssets.apply(this, arguments);
1046
+ }
1047
+
1048
+ function _mockExternalPositionRemoveDebtAssets() {
1049
+ _mockExternalPositionRemoveDebtAssets = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee4(_ref4) {
1050
+ var signer, comptrollerProxy, externalPositionManager, externalPositionProxy, assets, amounts, actionArgs;
1051
+ return _regeneratorRuntime__default['default'].wrap(function _callee4$(_context4) {
1052
+ while (1) {
1053
+ switch (_context4.prev = _context4.next) {
1054
+ case 0:
1055
+ signer = _ref4.signer, comptrollerProxy = _ref4.comptrollerProxy, externalPositionManager = _ref4.externalPositionManager, externalPositionProxy = _ref4.externalPositionProxy, assets = _ref4.assets, amounts = _ref4.amounts;
1056
+ actionArgs = protocol.mockGenericExternalPositionActionArgs({
1057
+ amounts: amounts,
1058
+ assets: assets
1059
+ });
1060
+ return _context4.abrupt("return", callOnExternalPosition({
1061
+ actionArgs: actionArgs,
1062
+ actionId: protocol.MockGenericExternalPositionActionId.RemoveDebtAssets,
1063
+ comptrollerProxy: comptrollerProxy,
1064
+ externalPositionManager: externalPositionManager,
1065
+ externalPositionProxy: externalPositionProxy,
1066
+ signer: signer
1067
+ }));
1068
+
1069
+ case 3:
1070
+ case "end":
1071
+ return _context4.stop();
1072
+ }
1073
+ }
1074
+ }, _callee4);
1075
+ }));
1076
+ return _mockExternalPositionRemoveDebtAssets.apply(this, arguments);
1077
+ }
1078
+
1079
+ function mockExternalPositionRemoveManagedAssets(_x5) {
1080
+ return _mockExternalPositionRemoveManagedAssets.apply(this, arguments);
1081
+ }
1082
+
1083
+ function _mockExternalPositionRemoveManagedAssets() {
1084
+ _mockExternalPositionRemoveManagedAssets = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee5(_ref5) {
1085
+ var signer, comptrollerProxy, externalPositionManager, externalPositionProxy, assets, amounts, actionArgs;
1086
+ return _regeneratorRuntime__default['default'].wrap(function _callee5$(_context5) {
1087
+ while (1) {
1088
+ switch (_context5.prev = _context5.next) {
1089
+ case 0:
1090
+ signer = _ref5.signer, comptrollerProxy = _ref5.comptrollerProxy, externalPositionManager = _ref5.externalPositionManager, externalPositionProxy = _ref5.externalPositionProxy, assets = _ref5.assets, amounts = _ref5.amounts;
1091
+ actionArgs = protocol.mockGenericExternalPositionActionArgs({
1092
+ amounts: amounts,
1093
+ assets: assets
1094
+ });
1095
+ return _context5.abrupt("return", callOnExternalPosition({
1096
+ actionArgs: actionArgs,
1097
+ actionId: protocol.MockGenericExternalPositionActionId.RemoveManagedAssets,
1098
+ comptrollerProxy: comptrollerProxy,
1099
+ externalPositionManager: externalPositionManager,
1100
+ externalPositionProxy: externalPositionProxy,
1101
+ signer: signer
1102
+ }));
1103
+
1104
+ case 3:
1105
+ case "end":
1106
+ return _context5.stop();
1107
+ }
1108
+ }
1109
+ }, _callee5);
1110
+ }));
1111
+ return _mockExternalPositionRemoveManagedAssets.apply(this, arguments);
1112
+ }
1113
+
1114
+ var _templateObject$3;
1115
+ exports.UniswapV3FeeAmount = void 0;
1116
+
1117
+ (function (UniswapV3FeeAmount) {
1118
+ UniswapV3FeeAmount[UniswapV3FeeAmount["LOW"] = 500] = "LOW";
1119
+ UniswapV3FeeAmount[UniswapV3FeeAmount["MEDIUM"] = 3000] = "MEDIUM";
1120
+ UniswapV3FeeAmount[UniswapV3FeeAmount["HIGH"] = 10000] = "HIGH";
1121
+ })(exports.UniswapV3FeeAmount || (exports.UniswapV3FeeAmount = {}));
1122
+
1123
+ var uniswapV3LiquidityPositionGetMinTick = function uniswapV3LiquidityPositionGetMinTick(tickSpacing) {
1124
+ return Math.ceil(-887272 / tickSpacing) * tickSpacing;
1125
+ };
1126
+ var uniswapV3LiquidityPositionGetMaxTick = function uniswapV3LiquidityPositionGetMaxTick(tickSpacing) {
1127
+ return Math.floor(887272 / tickSpacing) * tickSpacing;
1128
+ };
1129
+ var IUniswapV3NonFungibleTokenManager = ethers$1.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"])));
1130
+ function createUniswapV3LiquidityPosition(_x) {
1131
+ return _createUniswapV3LiquidityPosition.apply(this, arguments);
1132
+ }
1133
+
1134
+ function _createUniswapV3LiquidityPosition() {
1135
+ _createUniswapV3LiquidityPosition = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
1136
+ var signer, comptrollerProxy, externalPositionManager, token0, token1, initArgs, receipt, vaultProxy, externalPositions, externalPositionProxyAddress;
1137
+ return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
1138
+ while (1) {
1139
+ switch (_context.prev = _context.next) {
1140
+ case 0:
1141
+ signer = _ref.signer, comptrollerProxy = _ref.comptrollerProxy, externalPositionManager = _ref.externalPositionManager, token0 = _ref.token0, token1 = _ref.token1;
1142
+ initArgs = protocol.uniswapV3LiquidityPositionInitArgs({
1143
+ token0: token0,
1144
+ token1: token1
1145
+ });
1146
+ _context.next = 4;
1147
+ return comptrollerProxy.connect(signer).callOnExtension(externalPositionManager, protocol.ExternalPositionManagerActionId.CreateExternalPosition, protocol.encodeArgs(['uint256', 'bytes'], [protocol.ExternalPositionType.UniswapV3LiquidityPosition, initArgs]));
1148
+
1149
+ case 4:
1150
+ receipt = _context.sent;
1151
+ _context.t0 = protocol.VaultLib;
1152
+ _context.next = 8;
1153
+ return comptrollerProxy.getVaultProxy();
1154
+
1155
+ case 8:
1156
+ _context.t1 = _context.sent;
1157
+ _context.t2 = signer;
1158
+ vaultProxy = new _context.t0(_context.t1, _context.t2);
1159
+ _context.next = 13;
1160
+ return vaultProxy.getActiveExternalPositions.call();
1161
+
1162
+ case 13:
1163
+ externalPositions = _context.sent;
1164
+ externalPositionProxyAddress = externalPositions[externalPositions.length - 1];
1165
+ return _context.abrupt("return", {
1166
+ externalPositionProxyAddress: externalPositionProxyAddress,
1167
+ receipt: receipt
1168
+ });
1169
+
1170
+ case 16:
1171
+ case "end":
1172
+ return _context.stop();
1173
+ }
1174
+ }
1175
+ }, _callee);
1176
+ }));
1177
+ return _createUniswapV3LiquidityPosition.apply(this, arguments);
1178
+ }
1179
+
1180
+ function uniswapV3LiquidityPositionAddLiquidity(_x2) {
1181
+ return _uniswapV3LiquidityPositionAddLiquidity.apply(this, arguments);
1182
+ }
1183
+
1184
+ function _uniswapV3LiquidityPositionAddLiquidity() {
1185
+ _uniswapV3LiquidityPositionAddLiquidity = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(_ref2) {
1186
+ var signer, comptrollerProxy, externalPositionManager, externalPositionProxy, nftId, amount0Desired, amount1Desired, _ref2$amount0Min, amount0Min, _ref2$amount1Min, amount1Min, actionArgs, callArgs;
1187
+
1188
+ return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
1189
+ while (1) {
1190
+ switch (_context2.prev = _context2.next) {
1191
+ case 0:
1192
+ 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;
1193
+ actionArgs = protocol.uniswapV3LiquidityPositionAddLiquidityArgs({
1194
+ amount0Desired: amount0Desired,
1195
+ amount0Min: amount0Min,
1196
+ amount1Desired: amount1Desired,
1197
+ amount1Min: amount1Min,
1198
+ nftId: nftId
1199
+ });
1200
+ callArgs = protocol.callOnExternalPositionArgs({
1201
+ actionArgs: actionArgs,
1202
+ actionId: protocol.UniswapV3LiquidityPositionActionId.AddLiquidity,
1203
+ externalPositionProxy: externalPositionProxy
1204
+ });
1205
+ return _context2.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(externalPositionManager, protocol.ExternalPositionManagerActionId.CallOnExternalPosition, callArgs));
1206
+
1207
+ case 4:
1208
+ case "end":
1209
+ return _context2.stop();
1210
+ }
1211
+ }
1212
+ }, _callee2);
1213
+ }));
1214
+ return _uniswapV3LiquidityPositionAddLiquidity.apply(this, arguments);
1215
+ }
1216
+
1217
+ function uniswapV3LiquidityPositionCollect(_x3) {
1218
+ return _uniswapV3LiquidityPositionCollect.apply(this, arguments);
1219
+ }
1220
+
1221
+ function _uniswapV3LiquidityPositionCollect() {
1222
+ _uniswapV3LiquidityPositionCollect = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee3(_ref3) {
1223
+ var signer, comptrollerProxy, externalPositionManager, externalPositionProxy, nftId, actionArgs, callArgs;
1224
+ return _regeneratorRuntime__default['default'].wrap(function _callee3$(_context3) {
1225
+ while (1) {
1226
+ switch (_context3.prev = _context3.next) {
1227
+ case 0:
1228
+ signer = _ref3.signer, comptrollerProxy = _ref3.comptrollerProxy, externalPositionManager = _ref3.externalPositionManager, externalPositionProxy = _ref3.externalPositionProxy, nftId = _ref3.nftId;
1229
+ actionArgs = protocol.uniswapV3LiquidityPositionCollectArgs({
1230
+ nftId: nftId
1231
+ });
1232
+ callArgs = protocol.callOnExternalPositionArgs({
1233
+ actionArgs: actionArgs,
1234
+ actionId: protocol.UniswapV3LiquidityPositionActionId.Collect,
1235
+ externalPositionProxy: externalPositionProxy
1236
+ });
1237
+ return _context3.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(externalPositionManager, protocol.ExternalPositionManagerActionId.CallOnExternalPosition, callArgs));
1238
+
1239
+ case 4:
1240
+ case "end":
1241
+ return _context3.stop();
1242
+ }
1243
+ }
1244
+ }, _callee3);
1245
+ }));
1246
+ return _uniswapV3LiquidityPositionCollect.apply(this, arguments);
1247
+ }
1248
+
1249
+ function uniswapV3LiquidityPositionMint(_x4) {
1250
+ return _uniswapV3LiquidityPositionMint.apply(this, arguments);
1251
+ }
1252
+
1253
+ function _uniswapV3LiquidityPositionMint() {
1254
+ _uniswapV3LiquidityPositionMint = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee4(_ref4) {
1255
+ var signer, comptrollerProxy, externalPositionManager, externalPositionProxy, fee, tickLower, tickUpper, amount0Desired, amount1Desired, _ref4$amount0Min, amount0Min, _ref4$amount1Min, amount1Min, actionArgs, callArgs, receipt, externalPosition, nftId;
1256
+
1257
+ return _regeneratorRuntime__default['default'].wrap(function _callee4$(_context4) {
1258
+ while (1) {
1259
+ switch (_context4.prev = _context4.next) {
1260
+ case 0:
1261
+ 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;
1262
+ actionArgs = protocol.uniswapV3LiquidityPositionMintArgs({
1263
+ amount0Desired: amount0Desired,
1264
+ amount0Min: amount0Min,
1265
+ amount1Desired: amount1Desired,
1266
+ amount1Min: amount1Min,
1267
+ fee: fee,
1268
+ tickLower: tickLower,
1269
+ tickUpper: tickUpper
1270
+ });
1271
+ callArgs = protocol.callOnExternalPositionArgs({
1272
+ actionArgs: actionArgs,
1273
+ actionId: protocol.UniswapV3LiquidityPositionActionId.Mint,
1274
+ externalPositionProxy: externalPositionProxy
1275
+ });
1276
+ _context4.next = 5;
1277
+ return comptrollerProxy.connect(signer).callOnExtension(externalPositionManager, protocol.ExternalPositionManagerActionId.CallOnExternalPosition, callArgs);
1278
+
1279
+ case 5:
1280
+ receipt = _context4.sent;
1281
+ externalPosition = new protocol.UniswapV3LiquidityPositionLib(externalPositionProxy, provider);
1282
+ nftId = ethers$1.extractEvent(receipt, externalPosition.abi.getEvent('NFTPositionAdded'))[0].args.tokenId;
1283
+ return _context4.abrupt("return", {
1284
+ nftId: nftId,
1285
+ receipt: receipt
1286
+ });
1287
+
1288
+ case 9:
1289
+ case "end":
1290
+ return _context4.stop();
1291
+ }
1292
+ }
1293
+ }, _callee4);
1294
+ }));
1295
+ return _uniswapV3LiquidityPositionMint.apply(this, arguments);
1296
+ }
1297
+
1298
+ function uniswapV3LiquidityPositionPurge(_x5) {
1299
+ return _uniswapV3LiquidityPositionPurge.apply(this, arguments);
1300
+ }
1301
+
1302
+ function _uniswapV3LiquidityPositionPurge() {
1303
+ _uniswapV3LiquidityPositionPurge = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee5(_ref5) {
1304
+ var signer, comptrollerProxy, externalPositionManager, externalPositionProxy, nftId, liquidity, _ref5$amount0Min, amount0Min, _ref5$amount1Min, amount1Min, actionArgs, callArgs;
1305
+
1306
+ return _regeneratorRuntime__default['default'].wrap(function _callee5$(_context5) {
1307
+ while (1) {
1308
+ switch (_context5.prev = _context5.next) {
1309
+ case 0:
1310
+ 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;
1311
+ actionArgs = protocol.uniswapV3LiquidityPositionPurgeArgs({
1312
+ amount0Min: amount0Min,
1313
+ amount1Min: amount1Min,
1314
+ liquidity: liquidity,
1315
+ nftId: nftId
1316
+ });
1317
+ callArgs = protocol.callOnExternalPositionArgs({
1318
+ actionArgs: actionArgs,
1319
+ actionId: protocol.UniswapV3LiquidityPositionActionId.Purge,
1320
+ externalPositionProxy: externalPositionProxy
1321
+ });
1322
+ return _context5.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(externalPositionManager, protocol.ExternalPositionManagerActionId.CallOnExternalPosition, callArgs));
1323
+
1324
+ case 4:
1325
+ case "end":
1326
+ return _context5.stop();
1327
+ }
1328
+ }
1329
+ }, _callee5);
1330
+ }));
1331
+ return _uniswapV3LiquidityPositionPurge.apply(this, arguments);
1332
+ }
1333
+
1334
+ function uniswapV3LiquidityPositionRemoveLiquidity(_x6) {
1335
+ return _uniswapV3LiquidityPositionRemoveLiquidity.apply(this, arguments);
1336
+ }
1337
+
1338
+ function _uniswapV3LiquidityPositionRemoveLiquidity() {
1339
+ _uniswapV3LiquidityPositionRemoveLiquidity = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee6(_ref6) {
1340
+ var signer, comptrollerProxy, externalPositionManager, externalPositionProxy, nftId, liquidity, _ref6$amount0Min, amount0Min, _ref6$amount1Min, amount1Min, actionArgs, callArgs;
1341
+
1342
+ return _regeneratorRuntime__default['default'].wrap(function _callee6$(_context6) {
1343
+ while (1) {
1344
+ switch (_context6.prev = _context6.next) {
1345
+ case 0:
1346
+ 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;
1347
+ actionArgs = protocol.uniswapV3LiquidityPositionRemoveLiquidityArgs({
1348
+ amount0Min: amount0Min,
1349
+ amount1Min: amount1Min,
1350
+ liquidity: liquidity,
1351
+ nftId: nftId
1352
+ });
1353
+ callArgs = protocol.callOnExternalPositionArgs({
1354
+ actionArgs: actionArgs,
1355
+ actionId: protocol.UniswapV3LiquidityPositionActionId.RemoveLiquidity,
1356
+ externalPositionProxy: externalPositionProxy
1357
+ });
1358
+ return _context6.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(externalPositionManager, protocol.ExternalPositionManagerActionId.CallOnExternalPosition, callArgs));
1359
+
1360
+ case 4:
1361
+ case "end":
1362
+ return _context6.stop();
1363
+ }
1364
+ }
1365
+ }, _callee6);
1366
+ }));
1367
+ return _uniswapV3LiquidityPositionRemoveLiquidity.apply(this, arguments);
1368
+ }
1369
+
1370
+ function uniswapV3OrderTokenPair(_ref7) {
1371
+ var tokenA = _ref7.tokenA,
1372
+ tokenB = _ref7.tokenB;
1373
+ var tokenAAddress = ethers$1.resolveAddress(tokenA);
1374
+ var tokenBAddress = ethers$1.resolveAddress(tokenB);
1375
+ return tokenAAddress < tokenBAddress ? {
1376
+ token0: tokenAAddress,
1377
+ token1: tokenBAddress
1378
+ } : {
1379
+ token0: tokenBAddress,
1380
+ token1: tokenAAddress
1381
+ };
1382
+ }
1383
+
917
1384
  function generateFeeManagerConfigWithMockFees(_x) {
918
1385
  return _generateFeeManagerConfigWithMockFees.apply(this, arguments);
919
1386
  }
@@ -1018,8 +1485,8 @@ function _aaveLend() {
1018
1485
  });
1019
1486
  callArgs = protocol.callOnIntegrationArgs({
1020
1487
  adapter: aaveAdapter,
1021
- selector: protocol.lendSelector,
1022
- encodedCallArgs: lendArgs
1488
+ encodedCallArgs: lendArgs,
1489
+ selector: protocol.lendSelector
1023
1490
  });
1024
1491
  lendTx = comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
1025
1492
  return _context.abrupt("return", lendTx);
@@ -1053,8 +1520,8 @@ function _aaveRedeem() {
1053
1520
  });
1054
1521
  callArgs = protocol.callOnIntegrationArgs({
1055
1522
  adapter: aaveAdapter,
1056
- selector: protocol.redeemSelector,
1057
- encodedCallArgs: redeemArgs
1523
+ encodedCallArgs: redeemArgs,
1524
+ selector: protocol.redeemSelector
1058
1525
  });
1059
1526
  redeemTx = comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
1060
1527
  return _context2.abrupt("return", redeemTx);
@@ -1086,13 +1553,13 @@ function _compoundLend() {
1086
1553
  comptrollerProxy = _ref.comptrollerProxy, integrationManager = _ref.integrationManager, fundOwner = _ref.fundOwner, compoundAdapter = _ref.compoundAdapter, cToken = _ref.cToken, _ref$tokenAmount = _ref.tokenAmount, tokenAmount = _ref$tokenAmount === void 0 ? ethers.utils.parseEther('1') : _ref$tokenAmount, _ref$cTokenAmount = _ref.cTokenAmount, cTokenAmount = _ref$cTokenAmount === void 0 ? ethers.utils.parseEther('1') : _ref$cTokenAmount;
1087
1554
  lendArgs = protocol.compoundArgs({
1088
1555
  cToken: cToken,
1089
- outgoingAssetAmount: tokenAmount,
1090
- minIncomingAssetAmount: cTokenAmount
1556
+ minIncomingAssetAmount: cTokenAmount,
1557
+ outgoingAssetAmount: tokenAmount
1091
1558
  });
1092
1559
  callArgs = protocol.callOnIntegrationArgs({
1093
1560
  adapter: compoundAdapter,
1094
- selector: protocol.lendSelector,
1095
- encodedCallArgs: lendArgs
1561
+ encodedCallArgs: lendArgs,
1562
+ selector: protocol.lendSelector
1096
1563
  });
1097
1564
  lendTx = comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
1098
1565
  return _context.abrupt("return", lendTx);
@@ -1115,601 +1582,825 @@ function _compoundRedeem() {
1115
1582
  _compoundRedeem = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(_ref2) {
1116
1583
  var comptrollerProxy, integrationManager, fundOwner, compoundAdapter, cToken, _ref2$tokenAmount, tokenAmount, _ref2$cTokenAmount, cTokenAmount, redeemArgs, callArgs, redeemTx;
1117
1584
 
1118
- return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
1585
+ return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
1586
+ while (1) {
1587
+ switch (_context2.prev = _context2.next) {
1588
+ case 0:
1589
+ comptrollerProxy = _ref2.comptrollerProxy, integrationManager = _ref2.integrationManager, fundOwner = _ref2.fundOwner, compoundAdapter = _ref2.compoundAdapter, cToken = _ref2.cToken, _ref2$tokenAmount = _ref2.tokenAmount, tokenAmount = _ref2$tokenAmount === void 0 ? ethers.utils.parseEther('1') : _ref2$tokenAmount, _ref2$cTokenAmount = _ref2.cTokenAmount, cTokenAmount = _ref2$cTokenAmount === void 0 ? ethers.utils.parseEther('1') : _ref2$cTokenAmount;
1590
+ redeemArgs = protocol.compoundArgs({
1591
+ cToken: ethers$1.resolveAddress(cToken),
1592
+ minIncomingAssetAmount: tokenAmount,
1593
+ outgoingAssetAmount: cTokenAmount
1594
+ });
1595
+ callArgs = protocol.callOnIntegrationArgs({
1596
+ adapter: compoundAdapter,
1597
+ encodedCallArgs: redeemArgs,
1598
+ selector: protocol.redeemSelector
1599
+ });
1600
+ redeemTx = comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
1601
+ return _context2.abrupt("return", redeemTx);
1602
+
1603
+ case 5:
1604
+ case "end":
1605
+ return _context2.stop();
1606
+ }
1607
+ }
1608
+ }, _callee2);
1609
+ }));
1610
+ return _compoundRedeem.apply(this, arguments);
1611
+ }
1612
+
1613
+ var _templateObject$1, _templateObject2, _templateObject3, _templateObject4;
1614
+ var CurveLiquidityGaugeV2 = ethers$1.contract()(_templateObject$1 || (_templateObject$1 = _taggedTemplateLiteral(["\n function claim_rewards(address)\n function integrate_fraction(address) view returns (uint256)\n"])));
1615
+ var CurveRegistry = ethers$1.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
1616
+
1617
+ var CurveSwaps = ethers$1.contract()(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n function get_best_rate(address _from, address to, uint256 amount) view returns (address bestPool, uint256 amountReceived)\n"])));
1618
+ var CurveMinter = ethers$1.contract()(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n function mint_for(address,address)\n"]))); // exchanges
1619
+
1620
+ function curveTakeOrder(_x) {
1621
+ return _curveTakeOrder.apply(this, arguments);
1622
+ } // combined liquidity
1623
+
1624
+ function _curveTakeOrder() {
1625
+ _curveTakeOrder = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
1626
+ var comptrollerProxy, integrationManager, fundOwner, curveExchangeAdapter, pool, outgoingAsset, _ref$outgoingAssetAmo, outgoingAssetAmount, incomingAsset, _ref$minIncomingAsset, minIncomingAssetAmount, takeOrderArgs, callArgs;
1627
+
1628
+ return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
1629
+ while (1) {
1630
+ switch (_context.prev = _context.next) {
1631
+ case 0:
1632
+ 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 ? ethers.utils.parseEther('1') : _ref$outgoingAssetAmo, incomingAsset = _ref.incomingAsset, _ref$minIncomingAsset = _ref.minIncomingAssetAmount, minIncomingAssetAmount = _ref$minIncomingAsset === void 0 ? ethers.utils.parseEther('1') : _ref$minIncomingAsset;
1633
+ takeOrderArgs = protocol.curveTakeOrderArgs({
1634
+ incomingAsset: incomingAsset,
1635
+ minIncomingAssetAmount: minIncomingAssetAmount,
1636
+ outgoingAsset: outgoingAsset,
1637
+ outgoingAssetAmount: outgoingAssetAmount,
1638
+ pool: pool
1639
+ });
1640
+ callArgs = protocol.callOnIntegrationArgs({
1641
+ adapter: curveExchangeAdapter,
1642
+ encodedCallArgs: takeOrderArgs,
1643
+ selector: protocol.takeOrderSelector
1644
+ });
1645
+ return _context.abrupt("return", comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
1646
+
1647
+ case 4:
1648
+ case "end":
1649
+ return _context.stop();
1650
+ }
1651
+ }
1652
+ }, _callee);
1653
+ }));
1654
+ return _curveTakeOrder.apply(this, arguments);
1655
+ }
1656
+
1657
+ function curveClaimRewards(_ref2) {
1658
+ var comptrollerProxy = _ref2.comptrollerProxy,
1659
+ integrationManager = _ref2.integrationManager,
1660
+ fundOwner = _ref2.fundOwner,
1661
+ curveLiquidityAdapter = _ref2.curveLiquidityAdapter,
1662
+ gaugeToken = _ref2.gaugeToken;
1663
+ var callArgs = protocol.callOnIntegrationArgs({
1664
+ adapter: curveLiquidityAdapter,
1665
+ encodedCallArgs: protocol.curveClaimRewardsArgs({
1666
+ gaugeToken: gaugeToken
1667
+ }),
1668
+ selector: protocol.claimRewardsSelector
1669
+ });
1670
+ return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
1671
+ }
1672
+ function curveLend(_x2) {
1673
+ return _curveLend.apply(this, arguments);
1674
+ }
1675
+
1676
+ function _curveLend() {
1677
+ _curveLend = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(_ref3) {
1678
+ var comptrollerProxy, integrationManager, signer, curveLiquidityAdapter, pool, orderedOutgoingAssetAmounts, _ref3$minIncomingLpTo, minIncomingLpTokenAmount, useUnderlyings, callArgs;
1679
+
1680
+ return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
1681
+ while (1) {
1682
+ switch (_context2.prev = _context2.next) {
1683
+ case 0:
1684
+ 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 ? ethers.BigNumber.from(1) : _ref3$minIncomingLpTo, useUnderlyings = _ref3.useUnderlyings;
1685
+ callArgs = protocol.callOnIntegrationArgs({
1686
+ adapter: curveLiquidityAdapter,
1687
+ encodedCallArgs: protocol.curveLendArgs({
1688
+ minIncomingLpTokenAmount: minIncomingLpTokenAmount,
1689
+ orderedOutgoingAssetAmounts: orderedOutgoingAssetAmounts,
1690
+ pool: pool,
1691
+ useUnderlyings: useUnderlyings
1692
+ }),
1693
+ selector: protocol.lendSelector
1694
+ });
1695
+ return _context2.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
1696
+
1697
+ case 3:
1698
+ case "end":
1699
+ return _context2.stop();
1700
+ }
1701
+ }
1702
+ }, _callee2);
1703
+ }));
1704
+ return _curveLend.apply(this, arguments);
1705
+ }
1706
+
1707
+ function curveLendAndStake(_x3) {
1708
+ return _curveLendAndStake.apply(this, arguments);
1709
+ }
1710
+
1711
+ function _curveLendAndStake() {
1712
+ _curveLendAndStake = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee3(_ref4) {
1713
+ var comptrollerProxy, integrationManager, signer, curveLiquidityAdapter, pool, orderedOutgoingAssetAmounts, incomingGaugeToken, _ref4$minIncomingGaug, minIncomingGaugeTokenAmount, useUnderlyings, callArgs;
1714
+
1715
+ return _regeneratorRuntime__default['default'].wrap(function _callee3$(_context3) {
1716
+ while (1) {
1717
+ switch (_context3.prev = _context3.next) {
1718
+ case 0:
1719
+ 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 ? ethers.BigNumber.from(1) : _ref4$minIncomingGaug, useUnderlyings = _ref4.useUnderlyings;
1720
+ callArgs = protocol.callOnIntegrationArgs({
1721
+ adapter: curveLiquidityAdapter,
1722
+ encodedCallArgs: protocol.curveLendAndStakeArgs({
1723
+ incomingGaugeToken: incomingGaugeToken,
1724
+ minIncomingGaugeTokenAmount: minIncomingGaugeTokenAmount,
1725
+ orderedOutgoingAssetAmounts: orderedOutgoingAssetAmounts,
1726
+ pool: pool,
1727
+ useUnderlyings: useUnderlyings
1728
+ }),
1729
+ selector: protocol.lendAndStakeSelector
1730
+ });
1731
+ return _context3.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
1732
+
1733
+ case 3:
1734
+ case "end":
1735
+ return _context3.stop();
1736
+ }
1737
+ }
1738
+ }, _callee3);
1739
+ }));
1740
+ return _curveLendAndStake.apply(this, arguments);
1741
+ }
1742
+
1743
+ function curveRedeem(_x4) {
1744
+ return _curveRedeem.apply(this, arguments);
1745
+ }
1746
+
1747
+ function _curveRedeem() {
1748
+ _curveRedeem = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee4(_ref5) {
1749
+ var comptrollerProxy, integrationManager, signer, curveLiquidityAdapter, pool, outgoingLpTokenAmount, useUnderlyings, redeemType, incomingAssetData, callArgs;
1750
+ return _regeneratorRuntime__default['default'].wrap(function _callee4$(_context4) {
1751
+ while (1) {
1752
+ switch (_context4.prev = _context4.next) {
1753
+ case 0:
1754
+ 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;
1755
+ callArgs = protocol.callOnIntegrationArgs({
1756
+ adapter: curveLiquidityAdapter,
1757
+ encodedCallArgs: protocol.curveRedeemArgs({
1758
+ incomingAssetData: incomingAssetData,
1759
+ outgoingLpTokenAmount: outgoingLpTokenAmount,
1760
+ pool: pool,
1761
+ redeemType: redeemType,
1762
+ useUnderlyings: useUnderlyings
1763
+ }),
1764
+ selector: protocol.redeemSelector
1765
+ });
1766
+ return _context4.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
1767
+
1768
+ case 3:
1769
+ case "end":
1770
+ return _context4.stop();
1771
+ }
1772
+ }
1773
+ }, _callee4);
1774
+ }));
1775
+ return _curveRedeem.apply(this, arguments);
1776
+ }
1777
+
1778
+ function curveStake(_x5) {
1779
+ return _curveStake.apply(this, arguments);
1780
+ }
1781
+
1782
+ function _curveStake() {
1783
+ _curveStake = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee5(_ref6) {
1784
+ var comptrollerProxy, integrationManager, signer, curveLiquidityAdapter, pool, incomingGaugeToken, amount, callArgs;
1785
+ return _regeneratorRuntime__default['default'].wrap(function _callee5$(_context5) {
1786
+ while (1) {
1787
+ switch (_context5.prev = _context5.next) {
1788
+ case 0:
1789
+ comptrollerProxy = _ref6.comptrollerProxy, integrationManager = _ref6.integrationManager, signer = _ref6.signer, curveLiquidityAdapter = _ref6.curveLiquidityAdapter, pool = _ref6.pool, incomingGaugeToken = _ref6.incomingGaugeToken, amount = _ref6.amount;
1790
+ callArgs = protocol.callOnIntegrationArgs({
1791
+ adapter: curveLiquidityAdapter,
1792
+ encodedCallArgs: protocol.curveStakeArgs({
1793
+ amount: amount,
1794
+ incomingGaugeToken: incomingGaugeToken,
1795
+ pool: pool
1796
+ }),
1797
+ selector: protocol.stakeSelector
1798
+ });
1799
+ return _context5.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
1800
+
1801
+ case 3:
1802
+ case "end":
1803
+ return _context5.stop();
1804
+ }
1805
+ }
1806
+ }, _callee5);
1807
+ }));
1808
+ return _curveStake.apply(this, arguments);
1809
+ }
1810
+
1811
+ function curveUnstake(_x6) {
1812
+ return _curveUnstake.apply(this, arguments);
1813
+ }
1814
+
1815
+ function _curveUnstake() {
1816
+ _curveUnstake = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee6(_ref7) {
1817
+ var comptrollerProxy, integrationManager, signer, curveLiquidityAdapter, pool, outgoingGaugeToken, amount, callArgs;
1818
+ return _regeneratorRuntime__default['default'].wrap(function _callee6$(_context6) {
1119
1819
  while (1) {
1120
- switch (_context2.prev = _context2.next) {
1820
+ switch (_context6.prev = _context6.next) {
1121
1821
  case 0:
1122
- comptrollerProxy = _ref2.comptrollerProxy, integrationManager = _ref2.integrationManager, fundOwner = _ref2.fundOwner, compoundAdapter = _ref2.compoundAdapter, cToken = _ref2.cToken, _ref2$tokenAmount = _ref2.tokenAmount, tokenAmount = _ref2$tokenAmount === void 0 ? ethers.utils.parseEther('1') : _ref2$tokenAmount, _ref2$cTokenAmount = _ref2.cTokenAmount, cTokenAmount = _ref2$cTokenAmount === void 0 ? ethers.utils.parseEther('1') : _ref2$cTokenAmount;
1123
- redeemArgs = protocol.compoundArgs({
1124
- cToken: ethers$1.resolveAddress(cToken),
1125
- outgoingAssetAmount: cTokenAmount,
1126
- minIncomingAssetAmount: tokenAmount
1127
- });
1822
+ comptrollerProxy = _ref7.comptrollerProxy, integrationManager = _ref7.integrationManager, signer = _ref7.signer, curveLiquidityAdapter = _ref7.curveLiquidityAdapter, pool = _ref7.pool, outgoingGaugeToken = _ref7.outgoingGaugeToken, amount = _ref7.amount;
1128
1823
  callArgs = protocol.callOnIntegrationArgs({
1129
- adapter: compoundAdapter,
1130
- selector: protocol.redeemSelector,
1131
- encodedCallArgs: redeemArgs
1824
+ adapter: curveLiquidityAdapter,
1825
+ encodedCallArgs: protocol.curveUnstakeArgs({
1826
+ amount: amount,
1827
+ outgoingGaugeToken: outgoingGaugeToken,
1828
+ pool: pool
1829
+ }),
1830
+ selector: protocol.unstakeSelector
1132
1831
  });
1133
- redeemTx = comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
1134
- return _context2.abrupt("return", redeemTx);
1832
+ return _context6.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
1135
1833
 
1136
- case 5:
1834
+ case 3:
1137
1835
  case "end":
1138
- return _context2.stop();
1836
+ return _context6.stop();
1139
1837
  }
1140
1838
  }
1141
- }, _callee2);
1839
+ }, _callee6);
1142
1840
  }));
1143
- return _compoundRedeem.apply(this, arguments);
1841
+ return _curveUnstake.apply(this, arguments);
1144
1842
  }
1145
1843
 
1146
- var _templateObject$1, _templateObject2, _templateObject3;
1147
- var CurveLiquidityGaugeV2 = ethers$1.contract()(_templateObject$1 || (_templateObject$1 = _taggedTemplateLiteral(["\n function claim_rewards(address)\n function integrate_fraction(address) view returns (uint256)\n"]))); // prettier-ignore
1148
-
1149
- var CurveSwaps = ethers$1.contract()(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n function get_best_rate(address _from, address to, uint256 amount) view returns (address bestPool, uint256 amountReceived)\n"])));
1150
- var CurveMinter = ethers$1.contract()(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n function mint_for(address,address)\n"]))); // exchanges
1151
-
1152
- function curveTakeOrder(_x) {
1153
- return _curveTakeOrder.apply(this, arguments);
1844
+ function curveUnstakeAndRedeem(_x7) {
1845
+ return _curveUnstakeAndRedeem.apply(this, arguments);
1154
1846
  } // aave pool
1155
1847
 
1156
- function _curveTakeOrder() {
1157
- _curveTakeOrder = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
1158
- var comptrollerProxy, integrationManager, fundOwner, curveExchangeAdapter, pool, outgoingAsset, _ref$outgoingAssetAmo, outgoingAssetAmount, incomingAsset, _ref$minIncomingAsset, minIncomingAssetAmount, takeOrderArgs, callArgs;
1159
-
1160
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
1848
+ function _curveUnstakeAndRedeem() {
1849
+ _curveUnstakeAndRedeem = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee7(_ref8) {
1850
+ var comptrollerProxy, integrationManager, signer, curveLiquidityAdapter, pool, outgoingGaugeToken, outgoingGaugeTokenAmount, useUnderlyings, redeemType, incomingAssetData, callArgs;
1851
+ return _regeneratorRuntime__default['default'].wrap(function _callee7$(_context7) {
1161
1852
  while (1) {
1162
- switch (_context.prev = _context.next) {
1853
+ switch (_context7.prev = _context7.next) {
1163
1854
  case 0:
1164
- 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 ? ethers.utils.parseEther('1') : _ref$outgoingAssetAmo, incomingAsset = _ref.incomingAsset, _ref$minIncomingAsset = _ref.minIncomingAssetAmount, minIncomingAssetAmount = _ref$minIncomingAsset === void 0 ? ethers.utils.parseEther('1') : _ref$minIncomingAsset;
1165
- takeOrderArgs = protocol.curveTakeOrderArgs({
1166
- pool: pool,
1167
- outgoingAsset: outgoingAsset,
1168
- outgoingAssetAmount: outgoingAssetAmount,
1169
- incomingAsset: incomingAsset,
1170
- minIncomingAssetAmount: minIncomingAssetAmount
1171
- });
1855
+ 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;
1172
1856
  callArgs = protocol.callOnIntegrationArgs({
1173
- adapter: curveExchangeAdapter,
1174
- selector: protocol.takeOrderSelector,
1175
- encodedCallArgs: takeOrderArgs
1857
+ adapter: curveLiquidityAdapter,
1858
+ encodedCallArgs: protocol.curveUnstakeAndRedeemArgs({
1859
+ incomingAssetData: incomingAssetData,
1860
+ outgoingGaugeToken: outgoingGaugeToken,
1861
+ outgoingGaugeTokenAmount: outgoingGaugeTokenAmount,
1862
+ pool: pool,
1863
+ redeemType: redeemType,
1864
+ useUnderlyings: useUnderlyings
1865
+ }),
1866
+ selector: protocol.unstakeAndRedeemSelector
1176
1867
  });
1177
- return _context.abrupt("return", comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
1868
+ return _context7.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
1178
1869
 
1179
- case 4:
1870
+ case 3:
1180
1871
  case "end":
1181
- return _context.stop();
1872
+ return _context7.stop();
1182
1873
  }
1183
1874
  }
1184
- }, _callee);
1875
+ }, _callee7);
1185
1876
  }));
1186
- return _curveTakeOrder.apply(this, arguments);
1877
+ return _curveUnstakeAndRedeem.apply(this, arguments);
1187
1878
  }
1188
1879
 
1189
- function curveAaveClaimRewards(_ref2) {
1190
- var comptrollerProxy = _ref2.comptrollerProxy,
1191
- integrationManager = _ref2.integrationManager,
1192
- fundOwner = _ref2.fundOwner,
1193
- curveLiquidityAaveAdapter = _ref2.curveLiquidityAaveAdapter;
1880
+ function curveAaveClaimRewards(_ref9) {
1881
+ var comptrollerProxy = _ref9.comptrollerProxy,
1882
+ integrationManager = _ref9.integrationManager,
1883
+ fundOwner = _ref9.fundOwner,
1884
+ curveLiquidityAaveAdapter = _ref9.curveLiquidityAaveAdapter;
1194
1885
  var callArgs = protocol.callOnIntegrationArgs({
1195
1886
  adapter: curveLiquidityAaveAdapter,
1196
- selector: protocol.claimRewardsSelector,
1197
- encodedCallArgs: ethers.constants.HashZero
1887
+ encodedCallArgs: ethers.constants.HashZero,
1888
+ selector: protocol.claimRewardsSelector
1198
1889
  });
1199
1890
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
1200
1891
  }
1201
- function curveAaveLend(_ref3) {
1202
- var comptrollerProxy = _ref3.comptrollerProxy,
1203
- integrationManager = _ref3.integrationManager,
1204
- fundOwner = _ref3.fundOwner,
1205
- curveLiquidityAaveAdapter = _ref3.curveLiquidityAaveAdapter,
1206
- _ref3$outgoingAaveDai = _ref3.outgoingAaveDaiAmount,
1207
- outgoingAaveDaiAmount = _ref3$outgoingAaveDai === void 0 ? ethers.BigNumber.from(0) : _ref3$outgoingAaveDai,
1208
- _ref3$outgoingAaveUsd = _ref3.outgoingAaveUsdcAmount,
1209
- outgoingAaveUsdcAmount = _ref3$outgoingAaveUsd === void 0 ? ethers.BigNumber.from(0) : _ref3$outgoingAaveUsd,
1210
- _ref3$outgoingAaveUsd2 = _ref3.outgoingAaveUsdtAmount,
1211
- outgoingAaveUsdtAmount = _ref3$outgoingAaveUsd2 === void 0 ? ethers.BigNumber.from(0) : _ref3$outgoingAaveUsd2,
1212
- _ref3$minIncomingLPTo = _ref3.minIncomingLPTokenAmount,
1213
- minIncomingLPTokenAmount = _ref3$minIncomingLPTo === void 0 ? ethers.BigNumber.from(1) : _ref3$minIncomingLPTo,
1214
- _ref3$useUnderlyings = _ref3.useUnderlyings,
1215
- useUnderlyings = _ref3$useUnderlyings === void 0 ? false : _ref3$useUnderlyings;
1892
+ function curveAaveLend(_ref10) {
1893
+ var comptrollerProxy = _ref10.comptrollerProxy,
1894
+ integrationManager = _ref10.integrationManager,
1895
+ fundOwner = _ref10.fundOwner,
1896
+ curveLiquidityAaveAdapter = _ref10.curveLiquidityAaveAdapter,
1897
+ _ref10$outgoingAaveDa = _ref10.outgoingAaveDaiAmount,
1898
+ outgoingAaveDaiAmount = _ref10$outgoingAaveDa === void 0 ? ethers.BigNumber.from(0) : _ref10$outgoingAaveDa,
1899
+ _ref10$outgoingAaveUs = _ref10.outgoingAaveUsdcAmount,
1900
+ outgoingAaveUsdcAmount = _ref10$outgoingAaveUs === void 0 ? ethers.BigNumber.from(0) : _ref10$outgoingAaveUs,
1901
+ _ref10$outgoingAaveUs2 = _ref10.outgoingAaveUsdtAmount,
1902
+ outgoingAaveUsdtAmount = _ref10$outgoingAaveUs2 === void 0 ? ethers.BigNumber.from(0) : _ref10$outgoingAaveUs2,
1903
+ _ref10$minIncomingLPT = _ref10.minIncomingLPTokenAmount,
1904
+ minIncomingLPTokenAmount = _ref10$minIncomingLPT === void 0 ? ethers.BigNumber.from(1) : _ref10$minIncomingLPT,
1905
+ _ref10$useUnderlyings = _ref10.useUnderlyings,
1906
+ useUnderlyings = _ref10$useUnderlyings === void 0 ? false : _ref10$useUnderlyings;
1216
1907
  var callArgs = protocol.callOnIntegrationArgs({
1217
1908
  adapter: curveLiquidityAaveAdapter,
1218
- selector: protocol.lendSelector,
1219
1909
  encodedCallArgs: protocol.curveAaveLendArgs({
1910
+ minIncomingLPTokenAmount: minIncomingLPTokenAmount,
1220
1911
  outgoingAaveDaiAmount: outgoingAaveDaiAmount,
1221
1912
  outgoingAaveUsdcAmount: outgoingAaveUsdcAmount,
1222
1913
  outgoingAaveUsdtAmount: outgoingAaveUsdtAmount,
1223
- minIncomingLPTokenAmount: minIncomingLPTokenAmount,
1224
1914
  useUnderlyings: useUnderlyings
1225
- })
1915
+ }),
1916
+ selector: protocol.lendSelector
1226
1917
  });
1227
1918
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
1228
1919
  }
1229
- function curveAaveLendAndStake(_ref4) {
1230
- var comptrollerProxy = _ref4.comptrollerProxy,
1231
- integrationManager = _ref4.integrationManager,
1232
- fundOwner = _ref4.fundOwner,
1233
- curveLiquidityAaveAdapter = _ref4.curveLiquidityAaveAdapter,
1234
- _ref4$outgoingAaveDai = _ref4.outgoingAaveDaiAmount,
1235
- outgoingAaveDaiAmount = _ref4$outgoingAaveDai === void 0 ? ethers.BigNumber.from(0) : _ref4$outgoingAaveDai,
1236
- _ref4$outgoingAaveUsd = _ref4.outgoingAaveUsdcAmount,
1237
- outgoingAaveUsdcAmount = _ref4$outgoingAaveUsd === void 0 ? ethers.BigNumber.from(0) : _ref4$outgoingAaveUsd,
1238
- _ref4$outgoingAaveUsd2 = _ref4.outgoingAaveUsdtAmount,
1239
- outgoingAaveUsdtAmount = _ref4$outgoingAaveUsd2 === void 0 ? ethers.BigNumber.from(0) : _ref4$outgoingAaveUsd2,
1240
- _ref4$minIncomingLiqu = _ref4.minIncomingLiquidityGaugeTokenAmount,
1241
- minIncomingLiquidityGaugeTokenAmount = _ref4$minIncomingLiqu === void 0 ? ethers.BigNumber.from(1) : _ref4$minIncomingLiqu,
1242
- _ref4$useUnderlyings = _ref4.useUnderlyings,
1243
- useUnderlyings = _ref4$useUnderlyings === void 0 ? false : _ref4$useUnderlyings;
1920
+ function curveAaveLendAndStake(_ref11) {
1921
+ var comptrollerProxy = _ref11.comptrollerProxy,
1922
+ integrationManager = _ref11.integrationManager,
1923
+ fundOwner = _ref11.fundOwner,
1924
+ curveLiquidityAaveAdapter = _ref11.curveLiquidityAaveAdapter,
1925
+ _ref11$outgoingAaveDa = _ref11.outgoingAaveDaiAmount,
1926
+ outgoingAaveDaiAmount = _ref11$outgoingAaveDa === void 0 ? ethers.BigNumber.from(0) : _ref11$outgoingAaveDa,
1927
+ _ref11$outgoingAaveUs = _ref11.outgoingAaveUsdcAmount,
1928
+ outgoingAaveUsdcAmount = _ref11$outgoingAaveUs === void 0 ? ethers.BigNumber.from(0) : _ref11$outgoingAaveUs,
1929
+ _ref11$outgoingAaveUs2 = _ref11.outgoingAaveUsdtAmount,
1930
+ outgoingAaveUsdtAmount = _ref11$outgoingAaveUs2 === void 0 ? ethers.BigNumber.from(0) : _ref11$outgoingAaveUs2,
1931
+ _ref11$minIncomingLiq = _ref11.minIncomingLiquidityGaugeTokenAmount,
1932
+ minIncomingLiquidityGaugeTokenAmount = _ref11$minIncomingLiq === void 0 ? ethers.BigNumber.from(1) : _ref11$minIncomingLiq,
1933
+ _ref11$useUnderlyings = _ref11.useUnderlyings,
1934
+ useUnderlyings = _ref11$useUnderlyings === void 0 ? false : _ref11$useUnderlyings;
1244
1935
  var callArgs = protocol.callOnIntegrationArgs({
1245
1936
  adapter: curveLiquidityAaveAdapter,
1246
- selector: protocol.lendAndStakeSelector,
1247
1937
  encodedCallArgs: protocol.curveAaveLendAndStakeArgs({
1938
+ minIncomingLiquidityGaugeTokenAmount: minIncomingLiquidityGaugeTokenAmount,
1248
1939
  outgoingAaveDaiAmount: outgoingAaveDaiAmount,
1249
1940
  outgoingAaveUsdcAmount: outgoingAaveUsdcAmount,
1250
1941
  outgoingAaveUsdtAmount: outgoingAaveUsdtAmount,
1251
- minIncomingLiquidityGaugeTokenAmount: minIncomingLiquidityGaugeTokenAmount,
1252
1942
  useUnderlyings: useUnderlyings
1253
- })
1943
+ }),
1944
+ selector: protocol.lendAndStakeSelector
1254
1945
  });
1255
1946
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
1256
1947
  }
1257
- function curveAaveRedeem(_ref5) {
1258
- var comptrollerProxy = _ref5.comptrollerProxy,
1259
- integrationManager = _ref5.integrationManager,
1260
- fundOwner = _ref5.fundOwner,
1261
- curveLiquidityAaveAdapter = _ref5.curveLiquidityAaveAdapter,
1262
- outgoingLPTokenAmount = _ref5.outgoingLPTokenAmount,
1263
- _ref5$minIncomingAave = _ref5.minIncomingAaveDaiAmount,
1264
- minIncomingAaveDaiAmount = _ref5$minIncomingAave === void 0 ? ethers.BigNumber.from(1) : _ref5$minIncomingAave,
1265
- _ref5$minIncomingAave2 = _ref5.minIncomingAaveUsdcAmount,
1266
- minIncomingAaveUsdcAmount = _ref5$minIncomingAave2 === void 0 ? ethers.BigNumber.from(1) : _ref5$minIncomingAave2,
1267
- _ref5$minIncomingAave3 = _ref5.minIncomingAaveUsdtAmount,
1268
- minIncomingAaveUsdtAmount = _ref5$minIncomingAave3 === void 0 ? ethers.BigNumber.from(1) : _ref5$minIncomingAave3,
1269
- _ref5$receiveSingleAs = _ref5.receiveSingleAsset,
1270
- receiveSingleAsset = _ref5$receiveSingleAs === void 0 ? false : _ref5$receiveSingleAs,
1271
- _ref5$useUnderlyings = _ref5.useUnderlyings,
1272
- useUnderlyings = _ref5$useUnderlyings === void 0 ? false : _ref5$useUnderlyings;
1948
+ function curveAaveRedeem(_ref12) {
1949
+ var comptrollerProxy = _ref12.comptrollerProxy,
1950
+ integrationManager = _ref12.integrationManager,
1951
+ fundOwner = _ref12.fundOwner,
1952
+ curveLiquidityAaveAdapter = _ref12.curveLiquidityAaveAdapter,
1953
+ outgoingLPTokenAmount = _ref12.outgoingLPTokenAmount,
1954
+ _ref12$minIncomingAav = _ref12.minIncomingAaveDaiAmount,
1955
+ minIncomingAaveDaiAmount = _ref12$minIncomingAav === void 0 ? ethers.BigNumber.from(1) : _ref12$minIncomingAav,
1956
+ _ref12$minIncomingAav2 = _ref12.minIncomingAaveUsdcAmount,
1957
+ minIncomingAaveUsdcAmount = _ref12$minIncomingAav2 === void 0 ? ethers.BigNumber.from(1) : _ref12$minIncomingAav2,
1958
+ _ref12$minIncomingAav3 = _ref12.minIncomingAaveUsdtAmount,
1959
+ minIncomingAaveUsdtAmount = _ref12$minIncomingAav3 === void 0 ? ethers.BigNumber.from(1) : _ref12$minIncomingAav3,
1960
+ _ref12$receiveSingleA = _ref12.receiveSingleAsset,
1961
+ receiveSingleAsset = _ref12$receiveSingleA === void 0 ? false : _ref12$receiveSingleA,
1962
+ _ref12$useUnderlyings = _ref12.useUnderlyings,
1963
+ useUnderlyings = _ref12$useUnderlyings === void 0 ? false : _ref12$useUnderlyings;
1273
1964
  var callArgs = protocol.callOnIntegrationArgs({
1274
1965
  adapter: curveLiquidityAaveAdapter,
1275
- selector: protocol.redeemSelector,
1276
1966
  encodedCallArgs: protocol.curveAaveRedeemArgs({
1277
- outgoingLPTokenAmount: outgoingLPTokenAmount,
1278
1967
  minIncomingAaveDaiAmount: minIncomingAaveDaiAmount,
1279
1968
  minIncomingAaveUsdcAmount: minIncomingAaveUsdcAmount,
1280
1969
  minIncomingAaveUsdtAmount: minIncomingAaveUsdtAmount,
1970
+ outgoingLPTokenAmount: outgoingLPTokenAmount,
1281
1971
  receiveSingleAsset: receiveSingleAsset,
1282
1972
  useUnderlyings: useUnderlyings
1283
- })
1973
+ }),
1974
+ selector: protocol.redeemSelector
1284
1975
  });
1285
1976
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
1286
1977
  }
1287
- function curveAaveStake(_ref6) {
1288
- var comptrollerProxy = _ref6.comptrollerProxy,
1289
- integrationManager = _ref6.integrationManager,
1290
- fundOwner = _ref6.fundOwner,
1291
- curveLiquidityAaveAdapter = _ref6.curveLiquidityAaveAdapter,
1292
- outgoingLPTokenAmount = _ref6.outgoingLPTokenAmount;
1978
+ function curveAaveStake(_ref13) {
1979
+ var comptrollerProxy = _ref13.comptrollerProxy,
1980
+ integrationManager = _ref13.integrationManager,
1981
+ fundOwner = _ref13.fundOwner,
1982
+ curveLiquidityAaveAdapter = _ref13.curveLiquidityAaveAdapter,
1983
+ outgoingLPTokenAmount = _ref13.outgoingLPTokenAmount;
1293
1984
  var callArgs = protocol.callOnIntegrationArgs({
1294
1985
  adapter: curveLiquidityAaveAdapter,
1295
- selector: protocol.stakeSelector,
1296
1986
  encodedCallArgs: protocol.curveAaveStakeArgs({
1297
1987
  outgoingLPTokenAmount: outgoingLPTokenAmount
1298
- })
1988
+ }),
1989
+ selector: protocol.stakeSelector
1299
1990
  });
1300
1991
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
1301
1992
  }
1302
- function curveAaveUnstakeAndRedeem(_ref7) {
1303
- var comptrollerProxy = _ref7.comptrollerProxy,
1304
- integrationManager = _ref7.integrationManager,
1305
- fundOwner = _ref7.fundOwner,
1306
- curveLiquidityAaveAdapter = _ref7.curveLiquidityAaveAdapter,
1307
- outgoingLiquidityGaugeTokenAmount = _ref7.outgoingLiquidityGaugeTokenAmount,
1308
- _ref7$minIncomingAave = _ref7.minIncomingAaveDaiAmount,
1309
- minIncomingAaveDaiAmount = _ref7$minIncomingAave === void 0 ? ethers.BigNumber.from(1) : _ref7$minIncomingAave,
1310
- _ref7$minIncomingAave2 = _ref7.minIncomingAaveUsdcAmount,
1311
- minIncomingAaveUsdcAmount = _ref7$minIncomingAave2 === void 0 ? ethers.BigNumber.from(1) : _ref7$minIncomingAave2,
1312
- _ref7$minIncomingAave3 = _ref7.minIncomingAaveUsdtAmount,
1313
- minIncomingAaveUsdtAmount = _ref7$minIncomingAave3 === void 0 ? ethers.BigNumber.from(1) : _ref7$minIncomingAave3,
1314
- _ref7$receiveSingleAs = _ref7.receiveSingleAsset,
1315
- receiveSingleAsset = _ref7$receiveSingleAs === void 0 ? false : _ref7$receiveSingleAs,
1316
- _ref7$useUnderlyings = _ref7.useUnderlyings,
1317
- useUnderlyings = _ref7$useUnderlyings === void 0 ? false : _ref7$useUnderlyings;
1993
+ function curveAaveUnstakeAndRedeem(_ref14) {
1994
+ var comptrollerProxy = _ref14.comptrollerProxy,
1995
+ integrationManager = _ref14.integrationManager,
1996
+ fundOwner = _ref14.fundOwner,
1997
+ curveLiquidityAaveAdapter = _ref14.curveLiquidityAaveAdapter,
1998
+ outgoingLiquidityGaugeTokenAmount = _ref14.outgoingLiquidityGaugeTokenAmount,
1999
+ _ref14$minIncomingAav = _ref14.minIncomingAaveDaiAmount,
2000
+ minIncomingAaveDaiAmount = _ref14$minIncomingAav === void 0 ? ethers.BigNumber.from(1) : _ref14$minIncomingAav,
2001
+ _ref14$minIncomingAav2 = _ref14.minIncomingAaveUsdcAmount,
2002
+ minIncomingAaveUsdcAmount = _ref14$minIncomingAav2 === void 0 ? ethers.BigNumber.from(1) : _ref14$minIncomingAav2,
2003
+ _ref14$minIncomingAav3 = _ref14.minIncomingAaveUsdtAmount,
2004
+ minIncomingAaveUsdtAmount = _ref14$minIncomingAav3 === void 0 ? ethers.BigNumber.from(1) : _ref14$minIncomingAav3,
2005
+ _ref14$receiveSingleA = _ref14.receiveSingleAsset,
2006
+ receiveSingleAsset = _ref14$receiveSingleA === void 0 ? false : _ref14$receiveSingleA,
2007
+ _ref14$useUnderlyings = _ref14.useUnderlyings,
2008
+ useUnderlyings = _ref14$useUnderlyings === void 0 ? false : _ref14$useUnderlyings;
1318
2009
  var callArgs = protocol.callOnIntegrationArgs({
1319
2010
  adapter: curveLiquidityAaveAdapter,
1320
- selector: protocol.unstakeAndRedeemSelector,
1321
2011
  encodedCallArgs: protocol.curveAaveUnstakeAndRedeemArgs({
1322
- outgoingLiquidityGaugeTokenAmount: outgoingLiquidityGaugeTokenAmount,
1323
2012
  minIncomingAaveDaiAmount: minIncomingAaveDaiAmount,
1324
2013
  minIncomingAaveUsdcAmount: minIncomingAaveUsdcAmount,
1325
2014
  minIncomingAaveUsdtAmount: minIncomingAaveUsdtAmount,
2015
+ outgoingLiquidityGaugeTokenAmount: outgoingLiquidityGaugeTokenAmount,
1326
2016
  receiveSingleAsset: receiveSingleAsset,
1327
2017
  useUnderlyings: useUnderlyings
1328
- })
2018
+ }),
2019
+ selector: protocol.unstakeAndRedeemSelector
1329
2020
  });
1330
2021
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
1331
2022
  }
1332
- function curveAaveUnstake(_ref8) {
1333
- var comptrollerProxy = _ref8.comptrollerProxy,
1334
- integrationManager = _ref8.integrationManager,
1335
- fundOwner = _ref8.fundOwner,
1336
- curveLiquidityAaveAdapter = _ref8.curveLiquidityAaveAdapter,
1337
- outgoingLiquidityGaugeTokenAmount = _ref8.outgoingLiquidityGaugeTokenAmount;
2023
+ function curveAaveUnstake(_ref15) {
2024
+ var comptrollerProxy = _ref15.comptrollerProxy,
2025
+ integrationManager = _ref15.integrationManager,
2026
+ fundOwner = _ref15.fundOwner,
2027
+ curveLiquidityAaveAdapter = _ref15.curveLiquidityAaveAdapter,
2028
+ outgoingLiquidityGaugeTokenAmount = _ref15.outgoingLiquidityGaugeTokenAmount;
1338
2029
  var callArgs = protocol.callOnIntegrationArgs({
1339
2030
  adapter: curveLiquidityAaveAdapter,
1340
- selector: protocol.unstakeSelector,
1341
2031
  encodedCallArgs: protocol.curveAaveUnstakeArgs({
1342
2032
  outgoingLiquidityGaugeTokenAmount: outgoingLiquidityGaugeTokenAmount
1343
- })
2033
+ }),
2034
+ selector: protocol.unstakeSelector
1344
2035
  });
1345
2036
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
1346
2037
  } // eurs pool
1347
2038
 
1348
- function curveEursClaimRewards(_ref9) {
1349
- var comptrollerProxy = _ref9.comptrollerProxy,
1350
- integrationManager = _ref9.integrationManager,
1351
- fundOwner = _ref9.fundOwner,
1352
- curveLiquidityEursAdapter = _ref9.curveLiquidityEursAdapter;
2039
+ function curveEursClaimRewards(_ref16) {
2040
+ var comptrollerProxy = _ref16.comptrollerProxy,
2041
+ integrationManager = _ref16.integrationManager,
2042
+ fundOwner = _ref16.fundOwner,
2043
+ curveLiquidityEursAdapter = _ref16.curveLiquidityEursAdapter;
1353
2044
  var callArgs = protocol.callOnIntegrationArgs({
1354
2045
  adapter: curveLiquidityEursAdapter,
1355
- selector: protocol.claimRewardsSelector,
1356
- encodedCallArgs: ethers.constants.HashZero
2046
+ encodedCallArgs: ethers.constants.HashZero,
2047
+ selector: protocol.claimRewardsSelector
1357
2048
  });
1358
2049
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
1359
2050
  }
1360
- function curveEursLend(_ref10) {
1361
- var comptrollerProxy = _ref10.comptrollerProxy,
1362
- integrationManager = _ref10.integrationManager,
1363
- fundOwner = _ref10.fundOwner,
1364
- curveLiquidityEursAdapter = _ref10.curveLiquidityEursAdapter,
1365
- outgoingEursAmount = _ref10.outgoingEursAmount,
1366
- outgoingSeurAmount = _ref10.outgoingSeurAmount,
1367
- minIncomingLPTokenAmount = _ref10.minIncomingLPTokenAmount;
2051
+ function curveEursLend(_ref17) {
2052
+ var comptrollerProxy = _ref17.comptrollerProxy,
2053
+ integrationManager = _ref17.integrationManager,
2054
+ fundOwner = _ref17.fundOwner,
2055
+ curveLiquidityEursAdapter = _ref17.curveLiquidityEursAdapter,
2056
+ outgoingEursAmount = _ref17.outgoingEursAmount,
2057
+ outgoingSeurAmount = _ref17.outgoingSeurAmount,
2058
+ minIncomingLPTokenAmount = _ref17.minIncomingLPTokenAmount;
1368
2059
  var callArgs = protocol.callOnIntegrationArgs({
1369
2060
  adapter: curveLiquidityEursAdapter,
1370
- selector: protocol.lendSelector,
1371
2061
  encodedCallArgs: protocol.curveEursLendArgs({
2062
+ minIncomingLPTokenAmount: minIncomingLPTokenAmount,
1372
2063
  outgoingEursAmount: outgoingEursAmount,
1373
- outgoingSeurAmount: outgoingSeurAmount,
1374
- minIncomingLPTokenAmount: minIncomingLPTokenAmount
1375
- })
2064
+ outgoingSeurAmount: outgoingSeurAmount
2065
+ }),
2066
+ selector: protocol.lendSelector
1376
2067
  });
1377
2068
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
1378
2069
  }
1379
- function curveEursLendAndStake(_ref11) {
1380
- var comptrollerProxy = _ref11.comptrollerProxy,
1381
- integrationManager = _ref11.integrationManager,
1382
- fundOwner = _ref11.fundOwner,
1383
- curveLiquidityEursAdapter = _ref11.curveLiquidityEursAdapter,
1384
- outgoingEursAmount = _ref11.outgoingEursAmount,
1385
- outgoingSeurAmount = _ref11.outgoingSeurAmount,
1386
- minIncomingLiquidityGaugeTokenAmount = _ref11.minIncomingLiquidityGaugeTokenAmount;
2070
+ function curveEursLendAndStake(_ref18) {
2071
+ var comptrollerProxy = _ref18.comptrollerProxy,
2072
+ integrationManager = _ref18.integrationManager,
2073
+ fundOwner = _ref18.fundOwner,
2074
+ curveLiquidityEursAdapter = _ref18.curveLiquidityEursAdapter,
2075
+ outgoingEursAmount = _ref18.outgoingEursAmount,
2076
+ outgoingSeurAmount = _ref18.outgoingSeurAmount,
2077
+ minIncomingLiquidityGaugeTokenAmount = _ref18.minIncomingLiquidityGaugeTokenAmount;
1387
2078
  var callArgs = protocol.callOnIntegrationArgs({
1388
2079
  adapter: curveLiquidityEursAdapter,
1389
- selector: protocol.lendAndStakeSelector,
1390
2080
  encodedCallArgs: protocol.curveEursLendAndStakeArgs({
2081
+ minIncomingLiquidityGaugeTokenAmount: minIncomingLiquidityGaugeTokenAmount,
1391
2082
  outgoingEursAmount: outgoingEursAmount,
1392
- outgoingSeurAmount: outgoingSeurAmount,
1393
- minIncomingLiquidityGaugeTokenAmount: minIncomingLiquidityGaugeTokenAmount
1394
- })
2083
+ outgoingSeurAmount: outgoingSeurAmount
2084
+ }),
2085
+ selector: protocol.lendAndStakeSelector
1395
2086
  });
1396
2087
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
1397
2088
  }
1398
- function curveEursRedeem(_ref12) {
1399
- var comptrollerProxy = _ref12.comptrollerProxy,
1400
- integrationManager = _ref12.integrationManager,
1401
- fundOwner = _ref12.fundOwner,
1402
- curveLiquidityEursAdapter = _ref12.curveLiquidityEursAdapter,
1403
- outgoingLPTokenAmount = _ref12.outgoingLPTokenAmount,
1404
- minIncomingEursAmount = _ref12.minIncomingEursAmount,
1405
- minIncomingSeurAmount = _ref12.minIncomingSeurAmount,
1406
- receiveSingleAsset = _ref12.receiveSingleAsset;
2089
+ function curveEursRedeem(_ref19) {
2090
+ var comptrollerProxy = _ref19.comptrollerProxy,
2091
+ integrationManager = _ref19.integrationManager,
2092
+ fundOwner = _ref19.fundOwner,
2093
+ curveLiquidityEursAdapter = _ref19.curveLiquidityEursAdapter,
2094
+ outgoingLPTokenAmount = _ref19.outgoingLPTokenAmount,
2095
+ minIncomingEursAmount = _ref19.minIncomingEursAmount,
2096
+ minIncomingSeurAmount = _ref19.minIncomingSeurAmount,
2097
+ receiveSingleAsset = _ref19.receiveSingleAsset;
1407
2098
  var callArgs = protocol.callOnIntegrationArgs({
1408
2099
  adapter: curveLiquidityEursAdapter,
1409
- selector: protocol.redeemSelector,
1410
2100
  encodedCallArgs: protocol.curveEursRedeemArgs({
1411
- outgoingLPTokenAmount: outgoingLPTokenAmount,
1412
2101
  minIncomingEursAmount: minIncomingEursAmount,
1413
2102
  minIncomingSeurAmount: minIncomingSeurAmount,
2103
+ outgoingLPTokenAmount: outgoingLPTokenAmount,
1414
2104
  receiveSingleAsset: receiveSingleAsset
1415
- })
2105
+ }),
2106
+ selector: protocol.redeemSelector
1416
2107
  });
1417
2108
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
1418
2109
  }
1419
- function curveEursStake(_ref13) {
1420
- var comptrollerProxy = _ref13.comptrollerProxy,
1421
- integrationManager = _ref13.integrationManager,
1422
- fundOwner = _ref13.fundOwner,
1423
- curveLiquidityEursAdapter = _ref13.curveLiquidityEursAdapter,
1424
- outgoingLPTokenAmount = _ref13.outgoingLPTokenAmount;
2110
+ function curveEursStake(_ref20) {
2111
+ var comptrollerProxy = _ref20.comptrollerProxy,
2112
+ integrationManager = _ref20.integrationManager,
2113
+ fundOwner = _ref20.fundOwner,
2114
+ curveLiquidityEursAdapter = _ref20.curveLiquidityEursAdapter,
2115
+ outgoingLPTokenAmount = _ref20.outgoingLPTokenAmount;
1425
2116
  var callArgs = protocol.callOnIntegrationArgs({
1426
2117
  adapter: curveLiquidityEursAdapter,
1427
- selector: protocol.stakeSelector,
1428
2118
  encodedCallArgs: protocol.curveEursStakeArgs({
1429
2119
  outgoingLPTokenAmount: outgoingLPTokenAmount
1430
- })
2120
+ }),
2121
+ selector: protocol.stakeSelector
1431
2122
  });
1432
2123
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
1433
2124
  }
1434
- function curveEursUnstakeAndRedeem(_ref14) {
1435
- var comptrollerProxy = _ref14.comptrollerProxy,
1436
- integrationManager = _ref14.integrationManager,
1437
- fundOwner = _ref14.fundOwner,
1438
- curveLiquidityEursAdapter = _ref14.curveLiquidityEursAdapter,
1439
- outgoingLiquidityGaugeTokenAmount = _ref14.outgoingLiquidityGaugeTokenAmount,
1440
- minIncomingEursAmount = _ref14.minIncomingEursAmount,
1441
- minIncomingSeurAmount = _ref14.minIncomingSeurAmount,
1442
- receiveSingleAsset = _ref14.receiveSingleAsset;
2125
+ function curveEursUnstakeAndRedeem(_ref21) {
2126
+ var comptrollerProxy = _ref21.comptrollerProxy,
2127
+ integrationManager = _ref21.integrationManager,
2128
+ fundOwner = _ref21.fundOwner,
2129
+ curveLiquidityEursAdapter = _ref21.curveLiquidityEursAdapter,
2130
+ outgoingLiquidityGaugeTokenAmount = _ref21.outgoingLiquidityGaugeTokenAmount,
2131
+ minIncomingEursAmount = _ref21.minIncomingEursAmount,
2132
+ minIncomingSeurAmount = _ref21.minIncomingSeurAmount,
2133
+ receiveSingleAsset = _ref21.receiveSingleAsset;
1443
2134
  var callArgs = protocol.callOnIntegrationArgs({
1444
2135
  adapter: curveLiquidityEursAdapter,
1445
- selector: protocol.unstakeAndRedeemSelector,
1446
2136
  encodedCallArgs: protocol.curveEursUnstakeAndRedeemArgs({
1447
- outgoingLiquidityGaugeTokenAmount: outgoingLiquidityGaugeTokenAmount,
1448
2137
  minIncomingEursAmount: minIncomingEursAmount,
1449
2138
  minIncomingSeurAmount: minIncomingSeurAmount,
2139
+ outgoingLiquidityGaugeTokenAmount: outgoingLiquidityGaugeTokenAmount,
1450
2140
  receiveSingleAsset: receiveSingleAsset
1451
- })
2141
+ }),
2142
+ selector: protocol.unstakeAndRedeemSelector
1452
2143
  });
1453
2144
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
1454
2145
  }
1455
- function curveEursUnstake(_ref15) {
1456
- var comptrollerProxy = _ref15.comptrollerProxy,
1457
- integrationManager = _ref15.integrationManager,
1458
- fundOwner = _ref15.fundOwner,
1459
- curveLiquidityEursAdapter = _ref15.curveLiquidityEursAdapter,
1460
- outgoingLiquidityGaugeTokenAmount = _ref15.outgoingLiquidityGaugeTokenAmount;
2146
+ function curveEursUnstake(_ref22) {
2147
+ var comptrollerProxy = _ref22.comptrollerProxy,
2148
+ integrationManager = _ref22.integrationManager,
2149
+ fundOwner = _ref22.fundOwner,
2150
+ curveLiquidityEursAdapter = _ref22.curveLiquidityEursAdapter,
2151
+ outgoingLiquidityGaugeTokenAmount = _ref22.outgoingLiquidityGaugeTokenAmount;
1461
2152
  var callArgs = protocol.callOnIntegrationArgs({
1462
2153
  adapter: curveLiquidityEursAdapter,
1463
- selector: protocol.unstakeSelector,
1464
2154
  encodedCallArgs: protocol.curveEursUnstakeArgs({
1465
2155
  outgoingLiquidityGaugeTokenAmount: outgoingLiquidityGaugeTokenAmount
1466
- })
2156
+ }),
2157
+ selector: protocol.unstakeSelector
1467
2158
  });
1468
2159
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
1469
2160
  } // sETH pool
1470
2161
 
1471
- function curveSethClaimRewards(_ref16) {
1472
- var comptrollerProxy = _ref16.comptrollerProxy,
1473
- integrationManager = _ref16.integrationManager,
1474
- fundOwner = _ref16.fundOwner,
1475
- curveLiquiditySethAdapter = _ref16.curveLiquiditySethAdapter;
2162
+ function curveSethClaimRewards(_ref23) {
2163
+ var comptrollerProxy = _ref23.comptrollerProxy,
2164
+ integrationManager = _ref23.integrationManager,
2165
+ fundOwner = _ref23.fundOwner,
2166
+ curveLiquiditySethAdapter = _ref23.curveLiquiditySethAdapter;
1476
2167
  var callArgs = protocol.callOnIntegrationArgs({
1477
2168
  adapter: curveLiquiditySethAdapter,
1478
- selector: protocol.claimRewardsSelector,
1479
- encodedCallArgs: ethers.constants.HashZero
2169
+ encodedCallArgs: ethers.constants.HashZero,
2170
+ selector: protocol.claimRewardsSelector
1480
2171
  });
1481
2172
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
1482
2173
  }
1483
- function curveSethLend(_ref17) {
1484
- var comptrollerProxy = _ref17.comptrollerProxy,
1485
- integrationManager = _ref17.integrationManager,
1486
- fundOwner = _ref17.fundOwner,
1487
- curveLiquiditySethAdapter = _ref17.curveLiquiditySethAdapter,
1488
- outgoingWethAmount = _ref17.outgoingWethAmount,
1489
- outgoingSethAmount = _ref17.outgoingSethAmount,
1490
- minIncomingLPTokenAmount = _ref17.minIncomingLPTokenAmount;
2174
+ function curveSethLend(_ref24) {
2175
+ var comptrollerProxy = _ref24.comptrollerProxy,
2176
+ integrationManager = _ref24.integrationManager,
2177
+ fundOwner = _ref24.fundOwner,
2178
+ curveLiquiditySethAdapter = _ref24.curveLiquiditySethAdapter,
2179
+ outgoingWethAmount = _ref24.outgoingWethAmount,
2180
+ outgoingSethAmount = _ref24.outgoingSethAmount,
2181
+ minIncomingLPTokenAmount = _ref24.minIncomingLPTokenAmount;
1491
2182
  var callArgs = protocol.callOnIntegrationArgs({
1492
2183
  adapter: curveLiquiditySethAdapter,
1493
- selector: protocol.lendSelector,
1494
2184
  encodedCallArgs: protocol.curveSethLendArgs({
1495
- outgoingWethAmount: outgoingWethAmount,
2185
+ minIncomingLPTokenAmount: minIncomingLPTokenAmount,
1496
2186
  outgoingSethAmount: outgoingSethAmount,
1497
- minIncomingLPTokenAmount: minIncomingLPTokenAmount
1498
- })
2187
+ outgoingWethAmount: outgoingWethAmount
2188
+ }),
2189
+ selector: protocol.lendSelector
1499
2190
  });
1500
2191
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
1501
2192
  }
1502
- function curveSethLendAndStake(_ref18) {
1503
- var comptrollerProxy = _ref18.comptrollerProxy,
1504
- integrationManager = _ref18.integrationManager,
1505
- fundOwner = _ref18.fundOwner,
1506
- curveLiquiditySethAdapter = _ref18.curveLiquiditySethAdapter,
1507
- outgoingWethAmount = _ref18.outgoingWethAmount,
1508
- outgoingSethAmount = _ref18.outgoingSethAmount,
1509
- minIncomingLiquidityGaugeTokenAmount = _ref18.minIncomingLiquidityGaugeTokenAmount;
2193
+ function curveSethLendAndStake(_ref25) {
2194
+ var comptrollerProxy = _ref25.comptrollerProxy,
2195
+ integrationManager = _ref25.integrationManager,
2196
+ fundOwner = _ref25.fundOwner,
2197
+ curveLiquiditySethAdapter = _ref25.curveLiquiditySethAdapter,
2198
+ outgoingWethAmount = _ref25.outgoingWethAmount,
2199
+ outgoingSethAmount = _ref25.outgoingSethAmount,
2200
+ minIncomingLiquidityGaugeTokenAmount = _ref25.minIncomingLiquidityGaugeTokenAmount;
1510
2201
  var callArgs = protocol.callOnIntegrationArgs({
1511
2202
  adapter: curveLiquiditySethAdapter,
1512
- selector: protocol.lendAndStakeSelector,
1513
2203
  encodedCallArgs: protocol.curveSethLendAndStakeArgs({
1514
- outgoingWethAmount: outgoingWethAmount,
2204
+ minIncomingLiquidityGaugeTokenAmount: minIncomingLiquidityGaugeTokenAmount,
1515
2205
  outgoingSethAmount: outgoingSethAmount,
1516
- minIncomingLiquidityGaugeTokenAmount: minIncomingLiquidityGaugeTokenAmount
1517
- })
2206
+ outgoingWethAmount: outgoingWethAmount
2207
+ }),
2208
+ selector: protocol.lendAndStakeSelector
1518
2209
  });
1519
2210
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
1520
2211
  }
1521
- function curveSethRedeem(_ref19) {
1522
- var comptrollerProxy = _ref19.comptrollerProxy,
1523
- integrationManager = _ref19.integrationManager,
1524
- fundOwner = _ref19.fundOwner,
1525
- curveLiquiditySethAdapter = _ref19.curveLiquiditySethAdapter,
1526
- outgoingLPTokenAmount = _ref19.outgoingLPTokenAmount,
1527
- minIncomingWethAmount = _ref19.minIncomingWethAmount,
1528
- minIncomingSethAmount = _ref19.minIncomingSethAmount,
1529
- receiveSingleAsset = _ref19.receiveSingleAsset;
2212
+ function curveSethRedeem(_ref26) {
2213
+ var comptrollerProxy = _ref26.comptrollerProxy,
2214
+ integrationManager = _ref26.integrationManager,
2215
+ fundOwner = _ref26.fundOwner,
2216
+ curveLiquiditySethAdapter = _ref26.curveLiquiditySethAdapter,
2217
+ outgoingLPTokenAmount = _ref26.outgoingLPTokenAmount,
2218
+ minIncomingWethAmount = _ref26.minIncomingWethAmount,
2219
+ minIncomingSethAmount = _ref26.minIncomingSethAmount,
2220
+ receiveSingleAsset = _ref26.receiveSingleAsset;
1530
2221
  var callArgs = protocol.callOnIntegrationArgs({
1531
2222
  adapter: curveLiquiditySethAdapter,
1532
- selector: protocol.redeemSelector,
1533
2223
  encodedCallArgs: protocol.curveSethRedeemArgs({
1534
- outgoingLPTokenAmount: outgoingLPTokenAmount,
1535
- minIncomingWethAmount: minIncomingWethAmount,
1536
2224
  minIncomingSethAmount: minIncomingSethAmount,
2225
+ minIncomingWethAmount: minIncomingWethAmount,
2226
+ outgoingLPTokenAmount: outgoingLPTokenAmount,
1537
2227
  receiveSingleAsset: receiveSingleAsset
1538
- })
2228
+ }),
2229
+ selector: protocol.redeemSelector
1539
2230
  });
1540
2231
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
1541
2232
  }
1542
- function curveSethStake(_ref20) {
1543
- var comptrollerProxy = _ref20.comptrollerProxy,
1544
- integrationManager = _ref20.integrationManager,
1545
- fundOwner = _ref20.fundOwner,
1546
- curveLiquiditySethAdapter = _ref20.curveLiquiditySethAdapter,
1547
- outgoingLPTokenAmount = _ref20.outgoingLPTokenAmount;
2233
+ function curveSethStake(_ref27) {
2234
+ var comptrollerProxy = _ref27.comptrollerProxy,
2235
+ integrationManager = _ref27.integrationManager,
2236
+ fundOwner = _ref27.fundOwner,
2237
+ curveLiquiditySethAdapter = _ref27.curveLiquiditySethAdapter,
2238
+ outgoingLPTokenAmount = _ref27.outgoingLPTokenAmount;
1548
2239
  var callArgs = protocol.callOnIntegrationArgs({
1549
2240
  adapter: curveLiquiditySethAdapter,
1550
- selector: protocol.stakeSelector,
1551
2241
  encodedCallArgs: protocol.curveSethStakeArgs({
1552
2242
  outgoingLPTokenAmount: outgoingLPTokenAmount
1553
- })
2243
+ }),
2244
+ selector: protocol.stakeSelector
1554
2245
  });
1555
2246
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
1556
2247
  }
1557
- function curveSethUnstakeAndRedeem(_ref21) {
1558
- var comptrollerProxy = _ref21.comptrollerProxy,
1559
- integrationManager = _ref21.integrationManager,
1560
- fundOwner = _ref21.fundOwner,
1561
- curveLiquiditySethAdapter = _ref21.curveLiquiditySethAdapter,
1562
- outgoingLiquidityGaugeTokenAmount = _ref21.outgoingLiquidityGaugeTokenAmount,
1563
- minIncomingWethAmount = _ref21.minIncomingWethAmount,
1564
- minIncomingSethAmount = _ref21.minIncomingSethAmount,
1565
- receiveSingleAsset = _ref21.receiveSingleAsset;
2248
+ function curveSethUnstakeAndRedeem(_ref28) {
2249
+ var comptrollerProxy = _ref28.comptrollerProxy,
2250
+ integrationManager = _ref28.integrationManager,
2251
+ fundOwner = _ref28.fundOwner,
2252
+ curveLiquiditySethAdapter = _ref28.curveLiquiditySethAdapter,
2253
+ outgoingLiquidityGaugeTokenAmount = _ref28.outgoingLiquidityGaugeTokenAmount,
2254
+ minIncomingWethAmount = _ref28.minIncomingWethAmount,
2255
+ minIncomingSethAmount = _ref28.minIncomingSethAmount,
2256
+ receiveSingleAsset = _ref28.receiveSingleAsset;
1566
2257
  var callArgs = protocol.callOnIntegrationArgs({
1567
2258
  adapter: curveLiquiditySethAdapter,
1568
- selector: protocol.unstakeAndRedeemSelector,
1569
2259
  encodedCallArgs: protocol.curveSethUnstakeAndRedeemArgs({
1570
- outgoingLiquidityGaugeTokenAmount: outgoingLiquidityGaugeTokenAmount,
1571
- minIncomingWethAmount: minIncomingWethAmount,
1572
2260
  minIncomingSethAmount: minIncomingSethAmount,
2261
+ minIncomingWethAmount: minIncomingWethAmount,
2262
+ outgoingLiquidityGaugeTokenAmount: outgoingLiquidityGaugeTokenAmount,
1573
2263
  receiveSingleAsset: receiveSingleAsset
1574
- })
2264
+ }),
2265
+ selector: protocol.unstakeAndRedeemSelector
1575
2266
  });
1576
2267
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
1577
2268
  }
1578
- function curveSethUnstake(_ref22) {
1579
- var comptrollerProxy = _ref22.comptrollerProxy,
1580
- integrationManager = _ref22.integrationManager,
1581
- fundOwner = _ref22.fundOwner,
1582
- curveLiquiditySethAdapter = _ref22.curveLiquiditySethAdapter,
1583
- outgoingLiquidityGaugeTokenAmount = _ref22.outgoingLiquidityGaugeTokenAmount;
2269
+ function curveSethUnstake(_ref29) {
2270
+ var comptrollerProxy = _ref29.comptrollerProxy,
2271
+ integrationManager = _ref29.integrationManager,
2272
+ fundOwner = _ref29.fundOwner,
2273
+ curveLiquiditySethAdapter = _ref29.curveLiquiditySethAdapter,
2274
+ outgoingLiquidityGaugeTokenAmount = _ref29.outgoingLiquidityGaugeTokenAmount;
1584
2275
  var callArgs = protocol.callOnIntegrationArgs({
1585
2276
  adapter: curveLiquiditySethAdapter,
1586
- selector: protocol.unstakeSelector,
1587
2277
  encodedCallArgs: protocol.curveSethUnstakeArgs({
1588
2278
  outgoingLiquidityGaugeTokenAmount: outgoingLiquidityGaugeTokenAmount
1589
- })
2279
+ }),
2280
+ selector: protocol.unstakeSelector
1590
2281
  });
1591
2282
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
1592
2283
  } // stETH pool
1593
2284
 
1594
- function curveStethClaimRewards(_ref23) {
1595
- var comptrollerProxy = _ref23.comptrollerProxy,
1596
- integrationManager = _ref23.integrationManager,
1597
- fundOwner = _ref23.fundOwner,
1598
- curveLiquidityStethAdapter = _ref23.curveLiquidityStethAdapter;
2285
+ function curveStethClaimRewards(_ref30) {
2286
+ var comptrollerProxy = _ref30.comptrollerProxy,
2287
+ integrationManager = _ref30.integrationManager,
2288
+ fundOwner = _ref30.fundOwner,
2289
+ curveLiquidityStethAdapter = _ref30.curveLiquidityStethAdapter;
1599
2290
  var callArgs = protocol.callOnIntegrationArgs({
1600
2291
  adapter: curveLiquidityStethAdapter,
1601
- selector: protocol.claimRewardsSelector,
1602
- encodedCallArgs: ethers.constants.HashZero
2292
+ encodedCallArgs: ethers.constants.HashZero,
2293
+ selector: protocol.claimRewardsSelector
1603
2294
  });
1604
2295
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
1605
2296
  }
1606
- function curveStethLend(_ref24) {
1607
- var comptrollerProxy = _ref24.comptrollerProxy,
1608
- integrationManager = _ref24.integrationManager,
1609
- fundOwner = _ref24.fundOwner,
1610
- curveLiquidityStethAdapter = _ref24.curveLiquidityStethAdapter,
1611
- outgoingWethAmount = _ref24.outgoingWethAmount,
1612
- outgoingStethAmount = _ref24.outgoingStethAmount,
1613
- minIncomingLPTokenAmount = _ref24.minIncomingLPTokenAmount;
2297
+ function curveStethLend(_ref31) {
2298
+ var comptrollerProxy = _ref31.comptrollerProxy,
2299
+ integrationManager = _ref31.integrationManager,
2300
+ fundOwner = _ref31.fundOwner,
2301
+ curveLiquidityStethAdapter = _ref31.curveLiquidityStethAdapter,
2302
+ outgoingWethAmount = _ref31.outgoingWethAmount,
2303
+ outgoingStethAmount = _ref31.outgoingStethAmount,
2304
+ minIncomingLPTokenAmount = _ref31.minIncomingLPTokenAmount;
1614
2305
  var callArgs = protocol.callOnIntegrationArgs({
1615
2306
  adapter: curveLiquidityStethAdapter,
1616
- selector: protocol.lendSelector,
1617
2307
  encodedCallArgs: protocol.curveStethLendArgs({
1618
- outgoingWethAmount: outgoingWethAmount,
2308
+ minIncomingLPTokenAmount: minIncomingLPTokenAmount,
1619
2309
  outgoingStethAmount: outgoingStethAmount,
1620
- minIncomingLPTokenAmount: minIncomingLPTokenAmount
1621
- })
2310
+ outgoingWethAmount: outgoingWethAmount
2311
+ }),
2312
+ selector: protocol.lendSelector
1622
2313
  });
1623
2314
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
1624
2315
  }
1625
- function curveStethLendAndStake(_ref25) {
1626
- var comptrollerProxy = _ref25.comptrollerProxy,
1627
- integrationManager = _ref25.integrationManager,
1628
- fundOwner = _ref25.fundOwner,
1629
- curveLiquidityStethAdapter = _ref25.curveLiquidityStethAdapter,
1630
- outgoingWethAmount = _ref25.outgoingWethAmount,
1631
- outgoingStethAmount = _ref25.outgoingStethAmount,
1632
- minIncomingLiquidityGaugeTokenAmount = _ref25.minIncomingLiquidityGaugeTokenAmount;
2316
+ function curveStethLendAndStake(_ref32) {
2317
+ var comptrollerProxy = _ref32.comptrollerProxy,
2318
+ integrationManager = _ref32.integrationManager,
2319
+ fundOwner = _ref32.fundOwner,
2320
+ curveLiquidityStethAdapter = _ref32.curveLiquidityStethAdapter,
2321
+ outgoingWethAmount = _ref32.outgoingWethAmount,
2322
+ outgoingStethAmount = _ref32.outgoingStethAmount,
2323
+ minIncomingLiquidityGaugeTokenAmount = _ref32.minIncomingLiquidityGaugeTokenAmount;
1633
2324
  var callArgs = protocol.callOnIntegrationArgs({
1634
2325
  adapter: curveLiquidityStethAdapter,
1635
- selector: protocol.lendAndStakeSelector,
1636
2326
  encodedCallArgs: protocol.curveStethLendAndStakeArgs({
1637
- outgoingWethAmount: outgoingWethAmount,
2327
+ minIncomingLiquidityGaugeTokenAmount: minIncomingLiquidityGaugeTokenAmount,
1638
2328
  outgoingStethAmount: outgoingStethAmount,
1639
- minIncomingLiquidityGaugeTokenAmount: minIncomingLiquidityGaugeTokenAmount
1640
- })
2329
+ outgoingWethAmount: outgoingWethAmount
2330
+ }),
2331
+ selector: protocol.lendAndStakeSelector
1641
2332
  });
1642
2333
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
1643
2334
  }
1644
- function curveStethRedeem(_ref26) {
1645
- var comptrollerProxy = _ref26.comptrollerProxy,
1646
- integrationManager = _ref26.integrationManager,
1647
- fundOwner = _ref26.fundOwner,
1648
- curveLiquidityStethAdapter = _ref26.curveLiquidityStethAdapter,
1649
- outgoingLPTokenAmount = _ref26.outgoingLPTokenAmount,
1650
- minIncomingWethAmount = _ref26.minIncomingWethAmount,
1651
- minIncomingStethAmount = _ref26.minIncomingStethAmount,
1652
- receiveSingleAsset = _ref26.receiveSingleAsset;
2335
+ function curveStethRedeem(_ref33) {
2336
+ var comptrollerProxy = _ref33.comptrollerProxy,
2337
+ integrationManager = _ref33.integrationManager,
2338
+ fundOwner = _ref33.fundOwner,
2339
+ curveLiquidityStethAdapter = _ref33.curveLiquidityStethAdapter,
2340
+ outgoingLPTokenAmount = _ref33.outgoingLPTokenAmount,
2341
+ minIncomingWethAmount = _ref33.minIncomingWethAmount,
2342
+ minIncomingStethAmount = _ref33.minIncomingStethAmount,
2343
+ receiveSingleAsset = _ref33.receiveSingleAsset;
1653
2344
  var callArgs = protocol.callOnIntegrationArgs({
1654
2345
  adapter: curveLiquidityStethAdapter,
1655
- selector: protocol.redeemSelector,
1656
2346
  encodedCallArgs: protocol.curveStethRedeemArgs({
1657
- outgoingLPTokenAmount: outgoingLPTokenAmount,
1658
- minIncomingWethAmount: minIncomingWethAmount,
1659
2347
  minIncomingStethAmount: minIncomingStethAmount,
2348
+ minIncomingWethAmount: minIncomingWethAmount,
2349
+ outgoingLPTokenAmount: outgoingLPTokenAmount,
1660
2350
  receiveSingleAsset: receiveSingleAsset
1661
- })
2351
+ }),
2352
+ selector: protocol.redeemSelector
1662
2353
  });
1663
2354
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
1664
2355
  }
1665
- function curveStethStake(_ref27) {
1666
- var comptrollerProxy = _ref27.comptrollerProxy,
1667
- integrationManager = _ref27.integrationManager,
1668
- fundOwner = _ref27.fundOwner,
1669
- curveLiquidityStethAdapter = _ref27.curveLiquidityStethAdapter,
1670
- outgoingLPTokenAmount = _ref27.outgoingLPTokenAmount;
2356
+ function curveStethStake(_ref34) {
2357
+ var comptrollerProxy = _ref34.comptrollerProxy,
2358
+ integrationManager = _ref34.integrationManager,
2359
+ fundOwner = _ref34.fundOwner,
2360
+ curveLiquidityStethAdapter = _ref34.curveLiquidityStethAdapter,
2361
+ outgoingLPTokenAmount = _ref34.outgoingLPTokenAmount;
1671
2362
  var callArgs = protocol.callOnIntegrationArgs({
1672
2363
  adapter: curveLiquidityStethAdapter,
1673
- selector: protocol.stakeSelector,
1674
2364
  encodedCallArgs: protocol.curveStethStakeArgs({
1675
2365
  outgoingLPTokenAmount: outgoingLPTokenAmount
1676
- })
2366
+ }),
2367
+ selector: protocol.stakeSelector
1677
2368
  });
1678
2369
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
1679
2370
  }
1680
- function curveStethUnstakeAndRedeem(_ref28) {
1681
- var comptrollerProxy = _ref28.comptrollerProxy,
1682
- integrationManager = _ref28.integrationManager,
1683
- fundOwner = _ref28.fundOwner,
1684
- curveLiquidityStethAdapter = _ref28.curveLiquidityStethAdapter,
1685
- outgoingLiquidityGaugeTokenAmount = _ref28.outgoingLiquidityGaugeTokenAmount,
1686
- minIncomingWethAmount = _ref28.minIncomingWethAmount,
1687
- minIncomingStethAmount = _ref28.minIncomingStethAmount,
1688
- receiveSingleAsset = _ref28.receiveSingleAsset;
2371
+ function curveStethUnstakeAndRedeem(_ref35) {
2372
+ var comptrollerProxy = _ref35.comptrollerProxy,
2373
+ integrationManager = _ref35.integrationManager,
2374
+ fundOwner = _ref35.fundOwner,
2375
+ curveLiquidityStethAdapter = _ref35.curveLiquidityStethAdapter,
2376
+ outgoingLiquidityGaugeTokenAmount = _ref35.outgoingLiquidityGaugeTokenAmount,
2377
+ minIncomingWethAmount = _ref35.minIncomingWethAmount,
2378
+ minIncomingStethAmount = _ref35.minIncomingStethAmount,
2379
+ receiveSingleAsset = _ref35.receiveSingleAsset;
1689
2380
  var callArgs = protocol.callOnIntegrationArgs({
1690
2381
  adapter: curveLiquidityStethAdapter,
1691
- selector: protocol.unstakeAndRedeemSelector,
1692
2382
  encodedCallArgs: protocol.curveStethUnstakeAndRedeemArgs({
1693
- outgoingLiquidityGaugeTokenAmount: outgoingLiquidityGaugeTokenAmount,
1694
- minIncomingWethAmount: minIncomingWethAmount,
1695
2383
  minIncomingStethAmount: minIncomingStethAmount,
2384
+ minIncomingWethAmount: minIncomingWethAmount,
2385
+ outgoingLiquidityGaugeTokenAmount: outgoingLiquidityGaugeTokenAmount,
1696
2386
  receiveSingleAsset: receiveSingleAsset
1697
- })
2387
+ }),
2388
+ selector: protocol.unstakeAndRedeemSelector
1698
2389
  });
1699
2390
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
1700
2391
  }
1701
- function curveStethUnstake(_ref29) {
1702
- var comptrollerProxy = _ref29.comptrollerProxy,
1703
- integrationManager = _ref29.integrationManager,
1704
- fundOwner = _ref29.fundOwner,
1705
- curveLiquidityStethAdapter = _ref29.curveLiquidityStethAdapter,
1706
- outgoingLiquidityGaugeTokenAmount = _ref29.outgoingLiquidityGaugeTokenAmount;
2392
+ function curveStethUnstake(_ref36) {
2393
+ var comptrollerProxy = _ref36.comptrollerProxy,
2394
+ integrationManager = _ref36.integrationManager,
2395
+ fundOwner = _ref36.fundOwner,
2396
+ curveLiquidityStethAdapter = _ref36.curveLiquidityStethAdapter,
2397
+ outgoingLiquidityGaugeTokenAmount = _ref36.outgoingLiquidityGaugeTokenAmount;
1707
2398
  var callArgs = protocol.callOnIntegrationArgs({
1708
2399
  adapter: curveLiquidityStethAdapter,
1709
- selector: protocol.unstakeSelector,
1710
2400
  encodedCallArgs: protocol.curveStethUnstakeArgs({
1711
2401
  outgoingLiquidityGaugeTokenAmount: outgoingLiquidityGaugeTokenAmount
1712
- })
2402
+ }),
2403
+ selector: protocol.unstakeSelector
1713
2404
  });
1714
2405
  return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
1715
2406
  }
@@ -1728,10 +2419,10 @@ function _idleClaimRewards() {
1728
2419
  comptrollerProxy = _ref.comptrollerProxy, integrationManager = _ref.integrationManager, fundOwner = _ref.fundOwner, idleAdapter = _ref.idleAdapter, idleToken = _ref.idleToken;
1729
2420
  callArgs = protocol.callOnIntegrationArgs({
1730
2421
  adapter: idleAdapter,
1731
- selector: protocol.claimRewardsSelector,
1732
2422
  encodedCallArgs: protocol.idleClaimRewardsArgs({
1733
2423
  idleToken: idleToken
1734
- })
2424
+ }),
2425
+ selector: protocol.claimRewardsSelector
1735
2426
  });
1736
2427
  return _context.abrupt("return", comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
1737
2428
 
@@ -1760,12 +2451,12 @@ function _idleLend() {
1760
2451
  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 ? ethers.BigNumber.from(1) : _ref2$minIncomingIdle;
1761
2452
  callArgs = protocol.callOnIntegrationArgs({
1762
2453
  adapter: idleAdapter,
1763
- selector: protocol.lendSelector,
1764
2454
  encodedCallArgs: protocol.idleLendArgs({
1765
2455
  idleToken: idleToken,
1766
- outgoingUnderlyingAmount: outgoingUnderlyingAmount,
1767
- minIncomingIdleTokenAmount: minIncomingIdleTokenAmount
1768
- })
2456
+ minIncomingIdleTokenAmount: minIncomingIdleTokenAmount,
2457
+ outgoingUnderlyingAmount: outgoingUnderlyingAmount
2458
+ }),
2459
+ selector: protocol.lendSelector
1769
2460
  });
1770
2461
  return _context2.abrupt("return", comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
1771
2462
 
@@ -1794,12 +2485,12 @@ function _idleRedeem() {
1794
2485
  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 ? ethers.BigNumber.from(1) : _ref3$minIncomingUnde;
1795
2486
  callArgs = protocol.callOnIntegrationArgs({
1796
2487
  adapter: idleAdapter,
1797
- selector: protocol.redeemSelector,
1798
2488
  encodedCallArgs: protocol.idleRedeemArgs({
1799
2489
  idleToken: idleToken,
1800
- outgoingIdleTokenAmount: outgoingIdleTokenAmount,
1801
- minIncomingUnderlyingAmount: minIncomingUnderlyingAmount
1802
- })
2490
+ minIncomingUnderlyingAmount: minIncomingUnderlyingAmount,
2491
+ outgoingIdleTokenAmount: outgoingIdleTokenAmount
2492
+ }),
2493
+ selector: protocol.redeemSelector
1803
2494
  });
1804
2495
  return _context3.abrupt("return", comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
1805
2496
 
@@ -1870,17 +2561,17 @@ function _mockGenericSwap() {
1870
2561
 
1871
2562
  case 9:
1872
2563
  swapArgs = mockGenericSwapArgs({
1873
- spendAssets: spendAssets,
1874
- maxSpendAssetAmounts: maxSpendAssetAmounts,
2564
+ actualIncomingAssetAmounts: actualIncomingAssetAmounts,
1875
2565
  actualSpendAssetAmounts: actualSpendAssetAmounts,
1876
2566
  incomingAssets: incomingAssets,
2567
+ maxSpendAssetAmounts: maxSpendAssetAmounts,
1877
2568
  minIncomingAssetAmounts: minIncomingAssetAmounts,
1878
- actualIncomingAssetAmounts: actualIncomingAssetAmounts
2569
+ spendAssets: spendAssets
1879
2570
  });
1880
2571
  callArgs = protocol.callOnIntegrationArgs({
1881
2572
  adapter: mockGenericAdapter,
1882
- selector: selector,
1883
- encodedCallArgs: swapArgs
2573
+ encodedCallArgs: swapArgs,
2574
+ selector: selector
1884
2575
  });
1885
2576
  swapTx = comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
1886
2577
  _context.next = 14;
@@ -1899,14 +2590,80 @@ function _mockGenericSwap() {
1899
2590
  return _mockGenericSwap.apply(this, arguments);
1900
2591
  }
1901
2592
 
2593
+ function olympusV2Stake(_x) {
2594
+ return _olympusV2Stake.apply(this, arguments);
2595
+ }
2596
+
2597
+ function _olympusV2Stake() {
2598
+ _olympusV2Stake = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
2599
+ var comptrollerProxy, integrationManager, signer, olympusV2Adapter, amount, stakeArgs, callArgs, stakeTx;
2600
+ return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
2601
+ while (1) {
2602
+ switch (_context.prev = _context.next) {
2603
+ case 0:
2604
+ comptrollerProxy = _ref.comptrollerProxy, integrationManager = _ref.integrationManager, signer = _ref.signer, olympusV2Adapter = _ref.olympusV2Adapter, amount = _ref.amount;
2605
+ stakeArgs = protocol.olympusV2StakeArgs({
2606
+ amount: amount
2607
+ });
2608
+ callArgs = protocol.callOnIntegrationArgs({
2609
+ adapter: olympusV2Adapter,
2610
+ encodedCallArgs: stakeArgs,
2611
+ selector: protocol.stakeSelector
2612
+ });
2613
+ stakeTx = comptrollerProxy.connect(signer).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2614
+ return _context.abrupt("return", stakeTx);
2615
+
2616
+ case 5:
2617
+ case "end":
2618
+ return _context.stop();
2619
+ }
2620
+ }
2621
+ }, _callee);
2622
+ }));
2623
+ return _olympusV2Stake.apply(this, arguments);
2624
+ }
2625
+
2626
+ function olympusV2Unstake(_x2) {
2627
+ return _olympusV2Unstake.apply(this, arguments);
2628
+ }
2629
+
2630
+ function _olympusV2Unstake() {
2631
+ _olympusV2Unstake = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(_ref2) {
2632
+ var comptrollerProxy, integrationManager, signer, olympusV2Adapter, amount, unstakeArgs, callArgs, unstakeTx;
2633
+ return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
2634
+ while (1) {
2635
+ switch (_context2.prev = _context2.next) {
2636
+ case 0:
2637
+ comptrollerProxy = _ref2.comptrollerProxy, integrationManager = _ref2.integrationManager, signer = _ref2.signer, olympusV2Adapter = _ref2.olympusV2Adapter, amount = _ref2.amount;
2638
+ unstakeArgs = protocol.olympusV2UnstakeArgs({
2639
+ amount: amount
2640
+ });
2641
+ callArgs = protocol.callOnIntegrationArgs({
2642
+ adapter: olympusV2Adapter,
2643
+ encodedCallArgs: unstakeArgs,
2644
+ selector: protocol.unstakeSelector
2645
+ });
2646
+ unstakeTx = comptrollerProxy.connect(signer).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2647
+ return _context2.abrupt("return", unstakeTx);
2648
+
2649
+ case 5:
2650
+ case "end":
2651
+ return _context2.stop();
2652
+ }
2653
+ }
2654
+ }, _callee2);
2655
+ }));
2656
+ return _olympusV2Unstake.apply(this, arguments);
2657
+ }
2658
+
1902
2659
  function paraSwapV4GenerateDummyPaths(_ref) {
1903
2660
  var toTokens = _ref.toTokens;
1904
2661
  return toTokens.map(function (toToken) {
1905
2662
  return {
1906
- to: toToken,
1907
- totalNetworkFee: 0,
1908
2663
  // Not supported in our protocol
1909
- routes: [] // Can ignore this param in the dummy
2664
+ routes: [],
2665
+ to: toToken,
2666
+ totalNetworkFee: 0 // Can ignore this param in the dummy
1910
2667
 
1911
2668
  };
1912
2669
  });
@@ -1925,16 +2682,16 @@ function _paraSwapV4TakeOrder() {
1925
2682
  case 0:
1926
2683
  comptrollerProxy = _ref2.comptrollerProxy, integrationManager = _ref2.integrationManager, fundOwner = _ref2.fundOwner, paraSwapV4Adapter = _ref2.paraSwapV4Adapter, outgoingAsset = _ref2.outgoingAsset, _ref2$outgoingAssetAm = _ref2.outgoingAssetAmount, outgoingAssetAmount = _ref2$outgoingAssetAm === void 0 ? ethers.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;
1927
2684
  takeOrderArgs = protocol.paraSwapV4TakeOrderArgs({
1928
- minIncomingAssetAmount: minIncomingAssetAmount,
1929
2685
  expectedIncomingAssetAmount: expectedIncomingAssetAmount,
2686
+ minIncomingAssetAmount: minIncomingAssetAmount,
1930
2687
  outgoingAsset: outgoingAsset,
1931
2688
  outgoingAssetAmount: outgoingAssetAmount,
1932
2689
  paths: paths
1933
2690
  });
1934
2691
  callArgs = protocol.callOnIntegrationArgs({
1935
2692
  adapter: paraSwapV4Adapter,
1936
- selector: protocol.takeOrderSelector,
1937
- encodedCallArgs: takeOrderArgs
2693
+ encodedCallArgs: takeOrderArgs,
2694
+ selector: protocol.takeOrderSelector
1938
2695
  });
1939
2696
  return _context.abrupt("return", comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
1940
2697
 
@@ -1948,6 +2705,161 @@ function _paraSwapV4TakeOrder() {
1948
2705
  return _paraSwapV4TakeOrder.apply(this, arguments);
1949
2706
  }
1950
2707
 
2708
+ function paraSwapV5GenerateDummyPaths(_ref) {
2709
+ var toTokens = _ref.toTokens;
2710
+ return toTokens.map(function (toToken) {
2711
+ return {
2712
+ // Not supported in our protocol
2713
+ adapters: [],
2714
+ to: toToken,
2715
+ totalNetworkFee: 0 // Can ignore this param in the dummy
2716
+
2717
+ };
2718
+ });
2719
+ }
2720
+ function paraSwapV5TakeOrder(_x) {
2721
+ return _paraSwapV5TakeOrder.apply(this, arguments);
2722
+ }
2723
+
2724
+ function _paraSwapV5TakeOrder() {
2725
+ _paraSwapV5TakeOrder = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref2) {
2726
+ var comptrollerProxy, integrationManager, fundOwner, paraSwapV5Adapter, outgoingAsset, outgoingAssetAmount, _ref2$minIncomingAsse, minIncomingAssetAmount, _ref2$expectedIncomin, expectedIncomingAssetAmount, _ref2$uuid, uuid, paths, takeOrderArgs, callArgs;
2727
+
2728
+ return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
2729
+ while (1) {
2730
+ switch (_context.prev = _context.next) {
2731
+ case 0:
2732
+ 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 ? ethers.utils.randomBytes(16) : _ref2$uuid, paths = _ref2.paths;
2733
+ takeOrderArgs = protocol.paraSwapV5TakeOrderArgs({
2734
+ expectedIncomingAssetAmount: expectedIncomingAssetAmount,
2735
+ minIncomingAssetAmount: minIncomingAssetAmount,
2736
+ outgoingAsset: outgoingAsset,
2737
+ outgoingAssetAmount: outgoingAssetAmount,
2738
+ paths: paths,
2739
+ uuid: uuid
2740
+ });
2741
+ callArgs = protocol.callOnIntegrationArgs({
2742
+ adapter: paraSwapV5Adapter,
2743
+ encodedCallArgs: takeOrderArgs,
2744
+ selector: protocol.takeOrderSelector
2745
+ });
2746
+ return _context.abrupt("return", comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
2747
+
2748
+ case 4:
2749
+ case "end":
2750
+ return _context.stop();
2751
+ }
2752
+ }
2753
+ }, _callee);
2754
+ }));
2755
+ return _paraSwapV5TakeOrder.apply(this, arguments);
2756
+ }
2757
+
2758
+ function poolTogetherV4Lend(_x) {
2759
+ return _poolTogetherV4Lend.apply(this, arguments);
2760
+ }
2761
+
2762
+ function _poolTogetherV4Lend() {
2763
+ _poolTogetherV4Lend = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
2764
+ var comptrollerProxy, integrationManager, fundOwner, poolTogetherV4Adapter, ptToken, _ref$amount, amount, lendArgs, callArgs, lendTx;
2765
+
2766
+ return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
2767
+ while (1) {
2768
+ switch (_context.prev = _context.next) {
2769
+ case 0:
2770
+ comptrollerProxy = _ref.comptrollerProxy, integrationManager = _ref.integrationManager, fundOwner = _ref.fundOwner, poolTogetherV4Adapter = _ref.poolTogetherV4Adapter, ptToken = _ref.ptToken, _ref$amount = _ref.amount, amount = _ref$amount === void 0 ? ethers.utils.parseEther('1') : _ref$amount;
2771
+ lendArgs = protocol.poolTogetherV4LendArgs({
2772
+ amount: amount,
2773
+ ptToken: ptToken
2774
+ });
2775
+ callArgs = protocol.callOnIntegrationArgs({
2776
+ adapter: poolTogetherV4Adapter,
2777
+ encodedCallArgs: lendArgs,
2778
+ selector: protocol.lendSelector
2779
+ });
2780
+ lendTx = comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2781
+ return _context.abrupt("return", lendTx);
2782
+
2783
+ case 5:
2784
+ case "end":
2785
+ return _context.stop();
2786
+ }
2787
+ }
2788
+ }, _callee);
2789
+ }));
2790
+ return _poolTogetherV4Lend.apply(this, arguments);
2791
+ }
2792
+
2793
+ function poolTogetherV4Redeem(_x2) {
2794
+ return _poolTogetherV4Redeem.apply(this, arguments);
2795
+ }
2796
+
2797
+ function _poolTogetherV4Redeem() {
2798
+ _poolTogetherV4Redeem = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(_ref2) {
2799
+ var comptrollerProxy, integrationManager, fundOwner, poolTogetherV4Adapter, ptToken, _ref2$amount, amount, redeemArgs, callArgs, redeemTx;
2800
+
2801
+ return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
2802
+ while (1) {
2803
+ switch (_context2.prev = _context2.next) {
2804
+ case 0:
2805
+ comptrollerProxy = _ref2.comptrollerProxy, integrationManager = _ref2.integrationManager, fundOwner = _ref2.fundOwner, poolTogetherV4Adapter = _ref2.poolTogetherV4Adapter, ptToken = _ref2.ptToken, _ref2$amount = _ref2.amount, amount = _ref2$amount === void 0 ? ethers.utils.parseEther('1') : _ref2$amount;
2806
+ redeemArgs = protocol.poolTogetherV4RedeemArgs({
2807
+ amount: amount,
2808
+ ptToken: ptToken
2809
+ });
2810
+ callArgs = protocol.callOnIntegrationArgs({
2811
+ adapter: poolTogetherV4Adapter,
2812
+ encodedCallArgs: redeemArgs,
2813
+ selector: protocol.redeemSelector
2814
+ });
2815
+ redeemTx = comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2816
+ return _context2.abrupt("return", redeemTx);
2817
+
2818
+ case 5:
2819
+ case "end":
2820
+ return _context2.stop();
2821
+ }
2822
+ }
2823
+ }, _callee2);
2824
+ }));
2825
+ return _poolTogetherV4Redeem.apply(this, arguments);
2826
+ }
2827
+
2828
+ function poolTogetherV4ClaimRewards(_x3) {
2829
+ return _poolTogetherV4ClaimRewards.apply(this, arguments);
2830
+ }
2831
+
2832
+ function _poolTogetherV4ClaimRewards() {
2833
+ _poolTogetherV4ClaimRewards = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee3(_ref3) {
2834
+ var comptrollerProxy, integrationManager, fundOwner, poolTogetherV4Adapter, prizeDistributor, drawIds, winningPicks, claimRewardsArgs, callArgs, claimTx;
2835
+ return _regeneratorRuntime__default['default'].wrap(function _callee3$(_context3) {
2836
+ while (1) {
2837
+ switch (_context3.prev = _context3.next) {
2838
+ case 0:
2839
+ comptrollerProxy = _ref3.comptrollerProxy, integrationManager = _ref3.integrationManager, fundOwner = _ref3.fundOwner, poolTogetherV4Adapter = _ref3.poolTogetherV4Adapter, prizeDistributor = _ref3.prizeDistributor, drawIds = _ref3.drawIds, winningPicks = _ref3.winningPicks;
2840
+ claimRewardsArgs = protocol.poolTogetherV4ClaimRewardsArgs({
2841
+ drawIds: drawIds,
2842
+ prizeDistributor: prizeDistributor,
2843
+ winningPicks: winningPicks
2844
+ });
2845
+ callArgs = protocol.callOnIntegrationArgs({
2846
+ adapter: poolTogetherV4Adapter,
2847
+ encodedCallArgs: claimRewardsArgs,
2848
+ selector: protocol.claimRewardsSelector
2849
+ });
2850
+ claimTx = comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2851
+ return _context3.abrupt("return", claimTx);
2852
+
2853
+ case 5:
2854
+ case "end":
2855
+ return _context3.stop();
2856
+ }
2857
+ }
2858
+ }, _callee3);
2859
+ }));
2860
+ return _poolTogetherV4ClaimRewards.apply(this, arguments);
2861
+ }
2862
+
1951
2863
  function synthetixAssignExchangeDelegate(_x) {
1952
2864
  return _synthetixAssignExchangeDelegate.apply(this, arguments);
1953
2865
  }
@@ -2005,26 +2917,58 @@ function _synthetixResolveAddress() {
2005
2917
  return _synthetixResolveAddress.apply(this, arguments);
2006
2918
  }
2007
2919
 
2008
- function synthetixTakeOrder(_x3) {
2920
+ function synthetixRedeem(_x3) {
2921
+ return _synthetixRedeem.apply(this, arguments);
2922
+ }
2923
+
2924
+ function _synthetixRedeem() {
2925
+ _synthetixRedeem = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee3(_ref3) {
2926
+ var comptrollerProxy, integrationManager, signer, synthetixAdapter, synths, redeemArgs, callArgs;
2927
+ return _regeneratorRuntime__default['default'].wrap(function _callee3$(_context3) {
2928
+ while (1) {
2929
+ switch (_context3.prev = _context3.next) {
2930
+ case 0:
2931
+ comptrollerProxy = _ref3.comptrollerProxy, integrationManager = _ref3.integrationManager, signer = _ref3.signer, synthetixAdapter = _ref3.synthetixAdapter, synths = _ref3.synths;
2932
+ redeemArgs = protocol.synthetixRedeemArgs({
2933
+ synths: synths
2934
+ });
2935
+ callArgs = protocol.callOnIntegrationArgs({
2936
+ adapter: synthetixAdapter,
2937
+ encodedCallArgs: redeemArgs,
2938
+ selector: protocol.redeemSelector
2939
+ });
2940
+ return _context3.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
2941
+
2942
+ case 4:
2943
+ case "end":
2944
+ return _context3.stop();
2945
+ }
2946
+ }
2947
+ }, _callee3);
2948
+ }));
2949
+ return _synthetixRedeem.apply(this, arguments);
2950
+ }
2951
+
2952
+ function synthetixTakeOrder(_x4) {
2009
2953
  return _synthetixTakeOrder.apply(this, arguments);
2010
2954
  }
2011
2955
 
2012
2956
  function _synthetixTakeOrder() {
2013
- _synthetixTakeOrder = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee3(_ref3) {
2014
- var comptrollerProxy, vaultProxy, integrationManager, fundOwner, synthetixAdapter, outgoingAsset, _ref3$outgoingAssetAm, outgoingAssetAmount, incomingAsset, _ref3$minIncomingAsse, minIncomingAssetAmount, _ref3$seedFund, seedFund, takeOrderArgs, callArgs;
2957
+ _synthetixTakeOrder = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee4(_ref4) {
2958
+ var comptrollerProxy, vaultProxy, integrationManager, fundOwner, synthetixAdapter, outgoingAsset, _ref4$outgoingAssetAm, outgoingAssetAmount, incomingAsset, _ref4$minIncomingAsse, minIncomingAssetAmount, _ref4$seedFund, seedFund, takeOrderArgs, callArgs;
2015
2959
 
2016
- return _regeneratorRuntime__default['default'].wrap(function _callee3$(_context3) {
2960
+ return _regeneratorRuntime__default['default'].wrap(function _callee4$(_context4) {
2017
2961
  while (1) {
2018
- switch (_context3.prev = _context3.next) {
2962
+ switch (_context4.prev = _context4.next) {
2019
2963
  case 0:
2020
- 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 ? ethers.utils.parseEther('1') : _ref3$outgoingAssetAm, incomingAsset = _ref3.incomingAsset, _ref3$minIncomingAsse = _ref3.minIncomingAssetAmount, minIncomingAssetAmount = _ref3$minIncomingAsse === void 0 ? ethers.utils.parseEther('1') : _ref3$minIncomingAsse, _ref3$seedFund = _ref3.seedFund, seedFund = _ref3$seedFund === void 0 ? false : _ref3$seedFund;
2964
+ 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 ? ethers.utils.parseEther('1') : _ref4$outgoingAssetAm, incomingAsset = _ref4.incomingAsset, _ref4$minIncomingAsse = _ref4.minIncomingAssetAmount, minIncomingAssetAmount = _ref4$minIncomingAsse === void 0 ? ethers.utils.parseEther('1') : _ref4$minIncomingAsse, _ref4$seedFund = _ref4.seedFund, seedFund = _ref4$seedFund === void 0 ? false : _ref4$seedFund;
2021
2965
 
2022
2966
  if (!seedFund) {
2023
- _context3.next = 4;
2967
+ _context4.next = 4;
2024
2968
  break;
2025
2969
  }
2026
2970
 
2027
- _context3.next = 4;
2971
+ _context4.next = 4;
2028
2972
  return outgoingAsset.transfer(vaultProxy, outgoingAssetAmount);
2029
2973
 
2030
2974
  case 4:
@@ -2034,23 +2978,23 @@ function _synthetixTakeOrder() {
2034
2978
  outgoingAsset: outgoingAsset,
2035
2979
  outgoingAssetAmount: outgoingAssetAmount
2036
2980
  });
2037
- _context3.next = 7;
2981
+ _context4.next = 7;
2038
2982
  return protocol.callOnIntegrationArgs({
2039
2983
  adapter: synthetixAdapter,
2040
- selector: protocol.takeOrderSelector,
2041
- encodedCallArgs: takeOrderArgs
2984
+ encodedCallArgs: takeOrderArgs,
2985
+ selector: protocol.takeOrderSelector
2042
2986
  });
2043
2987
 
2044
2988
  case 7:
2045
- callArgs = _context3.sent;
2046
- return _context3.abrupt("return", comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
2989
+ callArgs = _context4.sent;
2990
+ return _context4.abrupt("return", comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
2047
2991
 
2048
2992
  case 9:
2049
2993
  case "end":
2050
- return _context3.stop();
2994
+ return _context4.stop();
2051
2995
  }
2052
2996
  }
2053
- }, _callee3);
2997
+ }, _callee4);
2054
2998
  }));
2055
2999
  return _synthetixTakeOrder.apply(this, arguments);
2056
3000
  }
@@ -2063,13 +3007,13 @@ function uniswapV2Lend(_x) {
2063
3007
 
2064
3008
  function _uniswapV2Lend() {
2065
3009
  _uniswapV2Lend = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
2066
- var comptrollerProxy, vaultProxy, integrationManager, fundOwner, uniswapV2Adapter, tokenA, tokenB, amountADesired, amountBDesired, amountAMin, amountBMin, minPoolTokenAmount, _ref$seedFund, seedFund, lendArgs, callArgs, lendTx;
3010
+ var comptrollerProxy, vaultProxy, integrationManager, fundOwner, uniswapV2LiquidityAdapter, tokenA, tokenB, amountADesired, amountBDesired, amountAMin, amountBMin, minPoolTokenAmount, _ref$seedFund, seedFund, lendArgs, callArgs, lendTx;
2067
3011
 
2068
3012
  return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
2069
3013
  while (1) {
2070
3014
  switch (_context.prev = _context.next) {
2071
3015
  case 0:
2072
- 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;
3016
+ 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;
2073
3017
 
2074
3018
  if (!seedFund) {
2075
3019
  _context.next = 6;
@@ -2085,18 +3029,18 @@ function _uniswapV2Lend() {
2085
3029
 
2086
3030
  case 6:
2087
3031
  lendArgs = protocol.uniswapV2LendArgs({
2088
- tokenA: tokenA,
2089
- tokenB: tokenB,
2090
3032
  amountADesired: amountADesired,
2091
- amountBDesired: amountBDesired,
2092
3033
  amountAMin: amountAMin,
3034
+ amountBDesired: amountBDesired,
2093
3035
  amountBMin: amountBMin,
2094
- minPoolTokenAmount: minPoolTokenAmount
3036
+ minPoolTokenAmount: minPoolTokenAmount,
3037
+ tokenA: tokenA,
3038
+ tokenB: tokenB
2095
3039
  });
2096
3040
  callArgs = protocol.callOnIntegrationArgs({
2097
- adapter: uniswapV2Adapter,
2098
- selector: protocol.lendSelector,
2099
- encodedCallArgs: lendArgs
3041
+ adapter: uniswapV2LiquidityAdapter,
3042
+ encodedCallArgs: lendArgs,
3043
+ selector: protocol.lendSelector
2100
3044
  });
2101
3045
  lendTx = comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2102
3046
  _context.next = 11;
@@ -2121,23 +3065,23 @@ function uniswapV2Redeem(_x2) {
2121
3065
 
2122
3066
  function _uniswapV2Redeem() {
2123
3067
  _uniswapV2Redeem = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(_ref2) {
2124
- var comptrollerProxy, integrationManager, fundOwner, uniswapV2Adapter, poolTokenAmount, tokenA, tokenB, amountAMin, amountBMin, redeemArgs, callArgs, redeemTx;
3068
+ var comptrollerProxy, integrationManager, fundOwner, uniswapV2LiquidityAdapter, poolTokenAmount, tokenA, tokenB, amountAMin, amountBMin, redeemArgs, callArgs, redeemTx;
2125
3069
  return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
2126
3070
  while (1) {
2127
3071
  switch (_context2.prev = _context2.next) {
2128
3072
  case 0:
2129
- 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;
3073
+ 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;
2130
3074
  redeemArgs = protocol.uniswapV2RedeemArgs({
3075
+ amountAMin: amountAMin,
3076
+ amountBMin: amountBMin,
2131
3077
  poolTokenAmount: poolTokenAmount,
2132
3078
  tokenA: tokenA,
2133
- tokenB: tokenB,
2134
- amountAMin: amountAMin,
2135
- amountBMin: amountBMin
3079
+ tokenB: tokenB
2136
3080
  });
2137
3081
  callArgs = protocol.callOnIntegrationArgs({
2138
- adapter: uniswapV2Adapter,
2139
- selector: protocol.redeemSelector,
2140
- encodedCallArgs: redeemArgs
3082
+ adapter: uniswapV2LiquidityAdapter,
3083
+ encodedCallArgs: redeemArgs,
3084
+ selector: protocol.redeemSelector
2141
3085
  });
2142
3086
  redeemTx = comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2143
3087
  _context2.next = 6;
@@ -2162,13 +3106,13 @@ function uniswapV2TakeOrder(_x3) {
2162
3106
 
2163
3107
  function _uniswapV2TakeOrder() {
2164
3108
  _uniswapV2TakeOrder = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee3(_ref3) {
2165
- var comptrollerProxy, vaultProxy, integrationManager, fundOwner, uniswapV2Adapter, path, outgoingAssetAmount, minIncomingAssetAmount, _ref3$seedFund, seedFund, takeOrderArgs, callArgs;
3109
+ var comptrollerProxy, vaultProxy, integrationManager, fundOwner, uniswapV2ExchangeAdapter, path, outgoingAssetAmount, minIncomingAssetAmount, _ref3$seedFund, seedFund, takeOrderArgs, callArgs;
2166
3110
 
2167
3111
  return _regeneratorRuntime__default['default'].wrap(function _callee3$(_context3) {
2168
3112
  while (1) {
2169
3113
  switch (_context3.prev = _context3.next) {
2170
3114
  case 0:
2171
- 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;
3115
+ 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;
2172
3116
 
2173
3117
  if (!seedFund) {
2174
3118
  _context3.next = 4;
@@ -2180,14 +3124,14 @@ function _uniswapV2TakeOrder() {
2180
3124
 
2181
3125
  case 4:
2182
3126
  takeOrderArgs = protocol.uniswapV2TakeOrderArgs({
2183
- path: path,
3127
+ minIncomingAssetAmount: minIncomingAssetAmount,
2184
3128
  outgoingAssetAmount: outgoingAssetAmount,
2185
- minIncomingAssetAmount: minIncomingAssetAmount
3129
+ path: path
2186
3130
  });
2187
3131
  callArgs = protocol.callOnIntegrationArgs({
2188
- adapter: uniswapV2Adapter,
2189
- selector: protocol.takeOrderSelector,
2190
- encodedCallArgs: takeOrderArgs
3132
+ adapter: uniswapV2ExchangeAdapter,
3133
+ encodedCallArgs: takeOrderArgs,
3134
+ selector: protocol.takeOrderSelector
2191
3135
  });
2192
3136
  return _context3.abrupt("return", comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
2193
3137
 
@@ -2207,7 +3151,7 @@ function uniswapV3TakeOrder(_x) {
2207
3151
 
2208
3152
  function _uniswapV3TakeOrder() {
2209
3153
  _uniswapV3TakeOrder = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
2210
- var comptrollerProxy, integrationManager, fundOwner, uniswapV3Adapter, pathAddresses, pathFees, outgoingAssetAmount, _ref$minIncomingAsset, minIncomingAssetAmount, _ref$seedFund, seedFund, takeOrderArgs, callArgs;
3154
+ var comptrollerProxy, integrationManager, fundOwner, uniswapV3Adapter, pathAddresses, pathFees, outgoingAssetAmount, _ref$minIncomingAsset, minIncomingAssetAmount, _ref$seedFund, seedFund, vaultProxy, takeOrderArgs, callArgs;
2211
3155
 
2212
3156
  return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
2213
3157
  while (1) {
@@ -2216,35 +3160,33 @@ function _uniswapV3TakeOrder() {
2216
3160
  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;
2217
3161
 
2218
3162
  if (!seedFund) {
2219
- _context.next = 9;
3163
+ _context.next = 7;
2220
3164
  break;
2221
3165
  }
2222
3166
 
2223
- _context.t0 = pathAddresses[0];
2224
- _context.next = 5;
3167
+ _context.next = 4;
2225
3168
  return comptrollerProxy.getVaultProxy();
2226
3169
 
2227
- case 5:
2228
- _context.t1 = _context.sent;
2229
- _context.t2 = outgoingAssetAmount;
2230
- _context.next = 9;
2231
- return _context.t0.transfer.call(_context.t0, _context.t1, _context.t2);
3170
+ case 4:
3171
+ vaultProxy = _context.sent;
3172
+ _context.next = 7;
3173
+ return pathAddresses[0].transfer(vaultProxy, outgoingAssetAmount);
2232
3174
 
2233
- case 9:
3175
+ case 7:
2234
3176
  takeOrderArgs = protocol.uniswapV3TakeOrderArgs({
2235
- pathAddresses: pathAddresses,
2236
- pathFees: pathFees,
3177
+ minIncomingAssetAmount: minIncomingAssetAmount,
2237
3178
  outgoingAssetAmount: outgoingAssetAmount,
2238
- minIncomingAssetAmount: minIncomingAssetAmount
3179
+ pathAddresses: pathAddresses,
3180
+ pathFees: pathFees
2239
3181
  });
2240
3182
  callArgs = protocol.callOnIntegrationArgs({
2241
3183
  adapter: uniswapV3Adapter,
2242
- selector: protocol.takeOrderSelector,
2243
- encodedCallArgs: takeOrderArgs
3184
+ encodedCallArgs: takeOrderArgs,
3185
+ selector: protocol.takeOrderSelector
2244
3186
  });
2245
3187
  return _context.abrupt("return", comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
2246
3188
 
2247
- case 12:
3189
+ case 10:
2248
3190
  case "end":
2249
3191
  return _context.stop();
2250
3192
  }
@@ -2269,12 +3211,12 @@ function _yearnVaultV2Lend() {
2269
3211
  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 ? ethers.BigNumber.from(1) : _ref$minIncomingYVaul;
2270
3212
  callArgs = protocol.callOnIntegrationArgs({
2271
3213
  adapter: yearnVaultV2Adapter,
2272
- selector: protocol.lendSelector,
2273
3214
  encodedCallArgs: protocol.yearnVaultV2LendArgs({
2274
- yVault: yVault,
3215
+ minIncomingYVaultSharesAmount: minIncomingYVaultSharesAmount,
2275
3216
  outgoingUnderlyingAmount: outgoingUnderlyingAmount,
2276
- minIncomingYVaultSharesAmount: minIncomingYVaultSharesAmount
2277
- })
3217
+ yVault: yVault
3218
+ }),
3219
+ selector: protocol.lendSelector
2278
3220
  });
2279
3221
  return _context.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
2280
3222
 
@@ -2303,13 +3245,13 @@ function _yearnVaultV2Redeem() {
2303
3245
  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 ? ethers.BigNumber.from(1) : _ref2$minIncomingUnde, _ref2$slippageToleran = _ref2.slippageToleranceBps, slippageToleranceBps = _ref2$slippageToleran === void 0 ? 1 : _ref2$slippageToleran;
2304
3246
  callArgs = protocol.callOnIntegrationArgs({
2305
3247
  adapter: yearnVaultV2Adapter,
2306
- selector: protocol.redeemSelector,
2307
3248
  encodedCallArgs: protocol.yearnVaultV2RedeemArgs({
2308
- yVault: yVault,
2309
3249
  maxOutgoingYVaultSharesAmount: maxOutgoingYVaultSharesAmount,
2310
3250
  minIncomingUnderlyingAmount: minIncomingUnderlyingAmount,
2311
- slippageToleranceBps: slippageToleranceBps
2312
- })
3251
+ slippageToleranceBps: slippageToleranceBps,
3252
+ yVault: yVault
3253
+ }),
3254
+ selector: protocol.redeemSelector
2313
3255
  });
2314
3256
  return _context2.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
2315
3257
 
@@ -2341,8 +3283,8 @@ function _zeroExV2TakeOrder() {
2341
3283
  });
2342
3284
  callArgs = protocol.callOnIntegrationArgs({
2343
3285
  adapter: zeroExV2Adapter,
2344
- selector: protocol.takeOrderSelector,
2345
- encodedCallArgs: takeOrderArgs
3286
+ encodedCallArgs: takeOrderArgs,
3287
+ selector: protocol.takeOrderSelector
2346
3288
  });
2347
3289
  return _context.abrupt("return", comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
2348
3290
 
@@ -2485,7 +3427,8 @@ function assertEvent(receipt, event, match) {
2485
3427
  var events = ethers$1.extractEvent(receipt, event);
2486
3428
  expect(events.length).toBe(1);
2487
3429
  expect(receipt).toHaveEmittedWith(event, match);
2488
- var args = (_events$shift = events.shift()) === null || _events$shift === void 0 ? void 0 : _events$shift.args;
3430
+ 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
3431
+
2489
3432
  return args;
2490
3433
  }
2491
3434
  function assertNoEvent(receipt, event) {
@@ -2646,6 +3589,7 @@ function _createComptrollerProxy() {
2646
3589
  comptrollerProxyContract = _context.sent;
2647
3590
  return _context.abrupt("return", {
2648
3591
  comptrollerProxy: new protocol.ComptrollerLib(comptrollerProxyContract, signer),
3592
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
2649
3593
  receipt: comptrollerProxyContract.deployment
2650
3594
  });
2651
3595
 
@@ -2678,14 +3622,14 @@ function _createMigrationRequest() {
2678
3622
  case 3:
2679
3623
  receipt = _context2.sent;
2680
3624
  comptrollerDeployedArgs = assertEvent(receipt, 'ComptrollerProxyDeployed', {
2681
- creator: signer,
2682
3625
  comptrollerProxy: expect.any(String),
3626
+ creator: signer,
2683
3627
  denominationAsset: denominationAsset,
2684
3628
  sharesActionTimelock: ethers.BigNumber.from(sharesActionTimelock)
2685
3629
  });
2686
3630
  return _context2.abrupt("return", {
2687
- receipt: receipt,
2688
- comptrollerProxy: new protocol.ComptrollerLib(comptrollerDeployedArgs.comptrollerProxy, signer)
3631
+ comptrollerProxy: new protocol.ComptrollerLib(comptrollerDeployedArgs.comptrollerProxy, signer),
3632
+ receipt: receipt
2689
3633
  });
2690
3634
 
2691
3635
  case 6:
@@ -2704,29 +3648,29 @@ function createNewFund(_x3) {
2704
3648
 
2705
3649
  function _createNewFund() {
2706
3650
  _createNewFund = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee3(_ref3) {
2707
- 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;
3651
+ 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;
2708
3652
 
2709
3653
  return _regeneratorRuntime__default['default'].wrap(function _callee3$(_context3) {
2710
3654
  while (1) {
2711
3655
  switch (_context3.prev = _context3.next) {
2712
3656
  case 0:
2713
- 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 ? ethers$1.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;
3657
+ 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 ? ethers$1.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;
2714
3658
  _context3.next = 3;
2715
- return fundDeployer.connect(signer).createNewFund(fundOwner, fundName, denominationAsset, sharesActionTimelock, feeManagerConfig, policyManagerConfig);
3659
+ return fundDeployer.connect(signer).createNewFund(fundOwner, fundName, fundSymbol, denominationAsset, sharesActionTimelock, feeManagerConfig, policyManagerConfig);
2716
3660
 
2717
3661
  case 3:
2718
3662
  receipt = _context3.sent;
2719
3663
  comptrollerDeployedArgs = assertEvent(receipt, 'ComptrollerProxyDeployed', {
2720
- creator: signer,
2721
3664
  comptrollerProxy: expect.any(String),
3665
+ creator: signer,
2722
3666
  denominationAsset: denominationAsset,
2723
3667
  sharesActionTimelock: ethers.BigNumber.from(sharesActionTimelock)
2724
3668
  });
2725
3669
  comptrollerProxy = new protocol.ComptrollerLib(comptrollerDeployedArgs.comptrollerProxy, signer);
2726
3670
  newFundDeployedArgs = assertEvent(receipt, 'NewFundCreated', {
3671
+ comptrollerProxy: comptrollerProxy,
2727
3672
  creator: signer,
2728
- vaultProxy: expect.any(String),
2729
- comptrollerProxy: comptrollerProxy
3673
+ vaultProxy: expect.any(String)
2730
3674
  });
2731
3675
  vaultProxy = new protocol.VaultLib(newFundDeployedArgs.vaultProxy, signer);
2732
3676
 
@@ -2777,14 +3721,14 @@ function _createReconfigurationRequest() {
2777
3721
  case 3:
2778
3722
  receipt = _context4.sent;
2779
3723
  comptrollerDeployedArgs = assertEvent(receipt, 'ComptrollerProxyDeployed', {
2780
- creator: signer,
2781
3724
  comptrollerProxy: expect.any(String),
3725
+ creator: signer,
2782
3726
  denominationAsset: denominationAsset,
2783
3727
  sharesActionTimelock: ethers.BigNumber.from(sharesActionTimelock)
2784
3728
  });
2785
3729
  return _context4.abrupt("return", {
2786
- receipt: receipt,
2787
- comptrollerProxy: new protocol.ComptrollerLib(comptrollerDeployedArgs.comptrollerProxy, signer)
3730
+ comptrollerProxy: new protocol.ComptrollerLib(comptrollerDeployedArgs.comptrollerProxy, signer),
3731
+ receipt: receipt
2788
3732
  });
2789
3733
 
2790
3734
  case 6:
@@ -2866,16 +3810,49 @@ function _setupGasRelayerPaymaster() {
2866
3810
  return _setupGasRelayerPaymaster.apply(this, arguments);
2867
3811
  }
2868
3812
 
2869
- function vaultCallCurveMinterMint(_ref) {
2870
- var comptrollerProxy = _ref.comptrollerProxy,
2871
- minter = _ref.minter,
2872
- gauge = _ref.gauge;
2873
- return comptrollerProxy.vaultCallOnContract(minter, protocol.curveMinterMintSelector, protocol.encodeArgs(['address'], [gauge]));
3813
+ function vaultCallCreateNewList(_x) {
3814
+ return _vaultCallCreateNewList.apply(this, arguments);
3815
+ }
3816
+
3817
+ function _vaultCallCreateNewList() {
3818
+ _vaultCallCreateNewList = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
3819
+ var addressListRegistry, comptrollerProxy, items, owner, signer, updateType, listCount;
3820
+ return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
3821
+ while (1) {
3822
+ switch (_context.prev = _context.next) {
3823
+ case 0:
3824
+ addressListRegistry = _ref.addressListRegistry, comptrollerProxy = _ref.comptrollerProxy, items = _ref.items, owner = _ref.owner, signer = _ref.signer, updateType = _ref.updateType;
3825
+ _context.next = 3;
3826
+ return comptrollerProxy.connect(signer).vaultCallOnContract(addressListRegistry.address, protocol.addressListRegistryCreateListSelector, protocol.encodeArgs(['address', 'uint8', 'address[]'], [owner, updateType, items]));
3827
+
3828
+ case 3:
3829
+ _context.next = 5;
3830
+ return addressListRegistry.getListCount();
3831
+
3832
+ case 5:
3833
+ listCount = _context.sent;
3834
+ return _context.abrupt("return", listCount.sub(1));
3835
+
3836
+ case 7:
3837
+ case "end":
3838
+ return _context.stop();
3839
+ }
3840
+ }
3841
+ }, _callee);
3842
+ }));
3843
+ return _vaultCallCreateNewList.apply(this, arguments);
2874
3844
  }
2875
- function vaultCallCurveMinterMintMany(_ref2) {
3845
+
3846
+ function vaultCallCurveMinterMint(_ref2) {
2876
3847
  var comptrollerProxy = _ref2.comptrollerProxy,
2877
3848
  minter = _ref2.minter,
2878
- gauges = _ref2.gauges;
3849
+ gauge = _ref2.gauge;
3850
+ return comptrollerProxy.vaultCallOnContract(minter, protocol.curveMinterMintSelector, protocol.encodeArgs(['address'], [gauge]));
3851
+ }
3852
+ function vaultCallCurveMinterMintMany(_ref3) {
3853
+ var comptrollerProxy = _ref3.comptrollerProxy,
3854
+ minter = _ref3.minter,
3855
+ gauges = _ref3.gauges;
2879
3856
  var gaugesFormatted = new Array(8).fill(ethers.constants.AddressZero);
2880
3857
 
2881
3858
  for (var i in gauges) {
@@ -2884,16 +3861,16 @@ function vaultCallCurveMinterMintMany(_ref2) {
2884
3861
 
2885
3862
  return comptrollerProxy.vaultCallOnContract(minter, protocol.curveMinterMintManySelector, protocol.encodeArgs(['address[8]'], [gaugesFormatted]));
2886
3863
  }
2887
- function vaultCallCurveMinterToggleApproveMint(_ref3) {
2888
- var comptrollerProxy = _ref3.comptrollerProxy,
2889
- minter = _ref3.minter,
2890
- account = _ref3.account;
3864
+ function vaultCallCurveMinterToggleApproveMint(_ref4) {
3865
+ var comptrollerProxy = _ref4.comptrollerProxy,
3866
+ minter = _ref4.minter,
3867
+ account = _ref4.account;
2891
3868
  return comptrollerProxy.vaultCallOnContract(minter, protocol.curveMinterToggleApproveMintSelector, protocol.encodeArgs(['address'], [account]));
2892
3869
  }
2893
- function vaultCallStartAssetBypassTimelock(_ref4) {
2894
- var comptrollerProxy = _ref4.comptrollerProxy,
2895
- contract = _ref4.contract,
2896
- asset = _ref4.asset;
3870
+ function vaultCallStartAssetBypassTimelock(_ref5) {
3871
+ var comptrollerProxy = _ref5.comptrollerProxy,
3872
+ contract = _ref5.contract,
3873
+ asset = _ref5.asset;
2897
3874
  return comptrollerProxy.vaultCallOnContract(contract, protocol.sighash(ethers.utils.FunctionFragment.fromString('startAssetBypassTimelock(address)')), protocol.encodeArgs(['address'], [asset]));
2898
3875
  }
2899
3876
 
@@ -2949,8 +3926,8 @@ function _calcMlnValueAndBurnAmountForSharesBuyback() {
2949
3926
  // 50% discount
2950
3927
  mlnAmountToBurn = mlnValueOfBuyback.div(2);
2951
3928
  return _context2.abrupt("return", {
2952
- mlnValue: mlnValueOfBuyback,
2953
- mlnAmountToBurn: mlnAmountToBurn
3929
+ mlnAmountToBurn: mlnAmountToBurn,
3930
+ mlnValue: mlnValueOfBuyback
2954
3931
  });
2955
3932
 
2956
3933
  case 8:
@@ -2966,43 +3943,55 @@ function _calcMlnValueAndBurnAmountForSharesBuyback() {
2966
3943
  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; }
2967
3944
 
2968
3945
  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; }
3946
+
3947
+ /* eslint-disable sort-keys-fix/sort-keys-fix */
2969
3948
  var whales = {
2970
- wdgld: '0x9aa65464b4cfbe3dc2bdb3df412aee2b3de86687',
2971
- adai: '0x62e41b1185023bcc14a465d350e1dde341557925',
2972
- ausdc: '0x3DdfA8eC3052539b6C9549F12cEA2C295cfF5296',
3949
+ // primitives
2973
3950
  bat: '0x12274c71304bc0e6b38a56b94d2949b118feb838',
2974
3951
  bnb: '0xbe0eb53f46cd790cd13851d5eff43d12404d33e8',
2975
- bnt: '0xbe0eb53f46cd790cd13851d5eff43d12404d33e8',
2976
- comp: '0xC89b6f0146642688bb254bF93C28fcCF1E182C81',
3952
+ bnt: '0x7d1ed1601a12a172269436fa95fe156650603c1d',
3953
+ busd: '0x47ac0fb4f2d84898e4d9e7b4dab3c24507a6d503',
3954
+ comp: '0x0f50d31b3eaefd65236dd3736b863cffa4c63c4e',
2977
3955
  crv: '0x4ce799e6eD8D64536b67dD428565d52A531B3640',
2978
- dai: '0x16463c0fdb6ba9618909f5b120ea1581618c1b9e',
2979
- knc: '0x9d1167df52328db20d5d77288dce6ae3ef3a3e1f',
3956
+ dai: '0x47ac0fb4f2d84898e4d9e7b4dab3c24507a6d503',
3957
+ knc: '0x09d51654bd9efbfcb56da3491989cc1444095fff',
2980
3958
  ldo: '0x3dba737ccc50a32a1764b493285dd51c8af6c278',
2981
3959
  link: '0xbe6977e08d4479c0a6777539ae0e8fa27be4e9d6',
2982
3960
  mana: '0xefb94ac00f1cee8a89d5c3f49faa799da6f03024',
2983
3961
  mln: '0xd8f8a53945bcfbbc19da162aa405e662ef71c40d',
3962
+ ohm: '0x71a53aff36a699110d66d6bdfff2320caf8d2d59',
2984
3963
  rep: '0xc6a043b07d33b6f30d8cb501026c391cfd25abe1',
2985
3964
  ren: '0xbe0eb53f46cd790cd13851d5eff43d12404d33e8',
3965
+ susd: '0xa5f7a39e55d7878bc5bd754ee5d6bd7a7662355b',
3966
+ sohm: '0xf280f037cdbda99727ddf5dfede91e68fa78605c',
2986
3967
  uni: '0x47173b170c64d16393a52e6c480b3ad8c302ba1e',
2987
3968
  usdc: '0xae2d4617c862309a3d75a0ffb358c7a5009c673f',
2988
3969
  usdt: '0x5041ed759dd4afc3a72b8192c143f72f4724081a',
2989
3970
  weth: '0xe08A8b19e5722a201EaF20A6BC595eF655397bd5',
2990
3971
  zrx: '0x206376e8940e42538781cd94ef024df3c1e0fd43',
2991
- cbat: '0x285306442cd985cab2c30515cfdab106fca7bc44',
3972
+ // aTokens
3973
+ ausdc: '0x3DdfA8eC3052539b6C9549F12cEA2C295cfF5296',
3974
+ ausdt: '0x7d6149ad9a573a6e2ca6ebf7d4897c1b766841b4',
3975
+ // cTokens
2992
3976
  ccomp: '0xd74f186194ab9219fafac5c2fe4b3270169666db',
2993
- cdai: '0x2bddEd18E2CA464355091266B7616956944ee7eE',
3977
+ cdai: '0xab4ce310054a11328685ece1043211b68ba5d082',
2994
3978
  ceth: '0x8aceab8167c80cb8b3de7fa6228b889bb1130ee8',
2995
- crep: '0xc2386de1b7271a87b416f4605d500846e826a185',
2996
- cuni: '0x8889ff5b6323e71c28c26d2c34b8bb52654f00a6',
2997
- cusdc: '0xb3bd459e0598dde1fe84b1d0a1430be175b5d5be',
2998
- czrx: '0x57ca561798413a20508b6bc997481e784f3e6e5f',
3979
+ cuni: '0x39d8014b4f40d2cbc441137011d32023f4f1fd87',
3980
+ cusdc: '0xe1ed4da4284924ddaf69983b4d813fb1be58c380',
3981
+ // ptTokens
3982
+ ptUsdc: '0xd18236cd213f39d078177b6f6908f0e44e88e4aa',
3983
+ // synths
2999
3984
  seth: '0xc34a7c65aa08cb36744bda8eeec7b8e9891e147c',
3000
- seur: '0xe896e539e557bc751860a7763c8dd589af1698ce',
3001
- susd: '0x49BE88F0fcC3A8393a59d3688480d7D253C37D2A',
3985
+ seur: '0xc3f2f91723b16b95bef0619b2504c049075d5b0b',
3986
+ sxag: '0x40d68c490bf7262ec40048099aec23535f734be2',
3987
+ sxau: '0x92eb453b7b5b8d41edb44e2c8b8b53eb70a482c7',
3988
+ // misc
3002
3989
  lidoSteth: '0x31f644e2dd5d74f5c8d6d9de89dd517474d51800',
3003
3990
  eurs: '0x98ed26de6451db36246672df78ae7c50f2c76f6d',
3004
- idle: '0x34aaa3d5a73d6f9594326d0422ce69748f09b14f'
3991
+ ust: '0xf584f8728b874a6a5c7a8d4d387c9aae9172d621'
3005
3992
  };
3993
+ /* eslint-enable sort-keys-fix/sort-keys-fix */
3994
+
3006
3995
  function unlockWhale(_x) {
3007
3996
  return _unlockWhale.apply(this, arguments);
3008
3997
  }
@@ -3174,8 +4163,8 @@ function _relayTransaction() {
3174
4163
  defaultMaxAcceptance = ethers.BigNumber.from(150000); // NOTE: There is an inconsistency between how the typed data object shape and the relayCall argument.
3175
4164
 
3176
4165
  mergedRelayRequest = {
3177
- request: relayRequest,
3178
- relayData: relayData
4166
+ relayData: relayData,
4167
+ request: relayRequest
3179
4168
  };
3180
4169
  relayHub = new protocol.IGsnRelayHub(options.relayHub, provider.getSigner(options.relayWorker));
3181
4170
  return _context.abrupt("return", relayHub.relayCall.args(defaultMaxAcceptance, mergedRelayRequest, signedRelayRequest, '0x', defaultGasLimit).gas(defaultGasLimit, relayData.gasPrice).send());
@@ -3194,14 +4183,14 @@ var relayed = ethers.utils.EventFragment.fromString('TransactionRelayed(address
3194
4183
  var rejected = ethers.utils.EventFragment.fromString('TransactionRejectedByPaymaster(address indexed relayManager, address indexed paymaster, address indexed from, address to, address relayWorker, bytes4 selector, uint256 innerGasUsed, bytes reason)');
3195
4184
  function assertDidRelay(receipt) {
3196
4185
  return assertEvent(receipt, relayed, {
3197
- relayManager: expect.any(String),
3198
- relayWorker: expect.any(String),
4186
+ charge: expect.anything(),
3199
4187
  from: expect.any(String),
3200
- to: expect.any(String),
3201
4188
  paymaster: expect.any(String),
4189
+ relayManager: expect.any(String),
4190
+ relayWorker: expect.any(String),
3202
4191
  selector: expect.any(String),
3203
4192
  status: expect.anything(),
3204
- charge: expect.anything()
4193
+ to: expect.any(String)
3205
4194
  });
3206
4195
  }
3207
4196
  function assertDidRelaySuccessfully(receipt) {
@@ -3218,14 +4207,14 @@ function assertDidRelayWithCharge(receipt, amount, tolerance) {
3218
4207
  }
3219
4208
  function assertPaymasterDidReject(receipt) {
3220
4209
  return assertEvent(receipt, rejected, {
3221
- relayManager: expect.any(String),
3222
- paymaster: expect.any(String),
3223
4210
  from: expect.any(String),
3224
- to: expect.any(String),
4211
+ innerGasUsed: expect.anything(),
4212
+ paymaster: expect.any(String),
4213
+ reason: expect.any(String),
4214
+ relayManager: expect.any(String),
3225
4215
  relayWorker: expect.any(String),
3226
4216
  selector: expect.any(String),
3227
- innerGasUsed: expect.anything(),
3228
- reason: expect.any(String)
4217
+ to: expect.any(String)
3229
4218
  });
3230
4219
  }
3231
4220
  function assertPaymasterDidRejectForReason(receipt, reason) {
@@ -3235,12 +4224,13 @@ function assertPaymasterDidRejectForReason(receipt, reason) {
3235
4224
 
3236
4225
  exports.CurveLiquidityGaugeV2 = CurveLiquidityGaugeV2;
3237
4226
  exports.CurveMinter = CurveMinter;
4227
+ exports.CurveRegistry = CurveRegistry;
3238
4228
  exports.CurveSwaps = CurveSwaps;
3239
4229
  exports.ICompoundComptroller = ICompoundComptroller;
4230
+ exports.IUniswapV3NonFungibleTokenManager = IUniswapV3NonFungibleTokenManager;
3240
4231
  exports.UniswapV2Factory = UniswapV2Factory;
3241
4232
  exports.aaveLend = aaveLend;
3242
4233
  exports.aaveRedeem = aaveRedeem;
3243
- exports.addCollateral = addCollateral;
3244
4234
  exports.addNewAssetsToFund = addNewAssetsToFund;
3245
4235
  exports.addTrackedAssetsToVault = addTrackedAssetsToVault;
3246
4236
  exports.assertDidRelay = assertDidRelay;
@@ -3251,12 +4241,16 @@ exports.assertEvent = assertEvent;
3251
4241
  exports.assertNoEvent = assertNoEvent;
3252
4242
  exports.assertPaymasterDidReject = assertPaymasterDidReject;
3253
4243
  exports.assertPaymasterDidRejectForReason = assertPaymasterDidRejectForReason;
3254
- exports.borrow = borrow;
3255
4244
  exports.buyShares = buyShares;
3256
4245
  exports.buySharesFunction = buySharesFunction;
3257
4246
  exports.calcMlnValueAndBurnAmountForSharesBuyback = calcMlnValueAndBurnAmountForSharesBuyback;
3258
4247
  exports.callOnExtension = callOnExtension;
3259
- exports.claimComp = claimComp;
4248
+ exports.callOnExternalPosition = callOnExternalPosition;
4249
+ exports.compoundDebtPositionAddCollateral = compoundDebtPositionAddCollateral;
4250
+ exports.compoundDebtPositionBorrow = compoundDebtPositionBorrow;
4251
+ exports.compoundDebtPositionClaimComp = compoundDebtPositionClaimComp;
4252
+ exports.compoundDebtPositionRemoveCollateral = compoundDebtPositionRemoveCollateral;
4253
+ exports.compoundDebtPositionRepayBorrow = compoundDebtPositionRepayBorrow;
3260
4254
  exports.compoundLend = compoundLend;
3261
4255
  exports.compoundRedeem = compoundRedeem;
3262
4256
  exports.createCompoundDebtPosition = createCompoundDebtPosition;
@@ -3267,6 +4261,7 @@ exports.createMigrationRequest = createMigrationRequest;
3267
4261
  exports.createMockExternalPosition = createMockExternalPosition;
3268
4262
  exports.createNewFund = createNewFund;
3269
4263
  exports.createReconfigurationRequest = createReconfigurationRequest;
4264
+ exports.createUniswapV3LiquidityPosition = createUniswapV3LiquidityPosition;
3270
4265
  exports.createVaultProxy = createVaultProxy;
3271
4266
  exports.curveAaveClaimRewards = curveAaveClaimRewards;
3272
4267
  exports.curveAaveLend = curveAaveLend;
@@ -3275,6 +4270,7 @@ exports.curveAaveRedeem = curveAaveRedeem;
3275
4270
  exports.curveAaveStake = curveAaveStake;
3276
4271
  exports.curveAaveUnstake = curveAaveUnstake;
3277
4272
  exports.curveAaveUnstakeAndRedeem = curveAaveUnstakeAndRedeem;
4273
+ exports.curveClaimRewards = curveClaimRewards;
3278
4274
  exports.curveEursClaimRewards = curveEursClaimRewards;
3279
4275
  exports.curveEursLend = curveEursLend;
3280
4276
  exports.curveEursLendAndStake = curveEursLendAndStake;
@@ -3282,6 +4278,9 @@ exports.curveEursRedeem = curveEursRedeem;
3282
4278
  exports.curveEursStake = curveEursStake;
3283
4279
  exports.curveEursUnstake = curveEursUnstake;
3284
4280
  exports.curveEursUnstakeAndRedeem = curveEursUnstakeAndRedeem;
4281
+ exports.curveLend = curveLend;
4282
+ exports.curveLendAndStake = curveLendAndStake;
4283
+ exports.curveRedeem = curveRedeem;
3285
4284
  exports.curveSethClaimRewards = curveSethClaimRewards;
3286
4285
  exports.curveSethLend = curveSethLend;
3287
4286
  exports.curveSethLendAndStake = curveSethLendAndStake;
@@ -3289,6 +4288,7 @@ exports.curveSethRedeem = curveSethRedeem;
3289
4288
  exports.curveSethStake = curveSethStake;
3290
4289
  exports.curveSethUnstake = curveSethUnstake;
3291
4290
  exports.curveSethUnstakeAndRedeem = curveSethUnstakeAndRedeem;
4291
+ exports.curveStake = curveStake;
3292
4292
  exports.curveStethClaimRewards = curveStethClaimRewards;
3293
4293
  exports.curveStethLend = curveStethLend;
3294
4294
  exports.curveStethLendAndStake = curveStethLendAndStake;
@@ -3297,7 +4297,8 @@ exports.curveStethStake = curveStethStake;
3297
4297
  exports.curveStethUnstake = curveStethUnstake;
3298
4298
  exports.curveStethUnstakeAndRedeem = curveStethUnstakeAndRedeem;
3299
4299
  exports.curveTakeOrder = curveTakeOrder;
3300
- exports.defaultTestDeployment = defaultTestDeployment;
4300
+ exports.curveUnstake = curveUnstake;
4301
+ exports.curveUnstakeAndRedeem = curveUnstakeAndRedeem;
3301
4302
  exports.deployProtocolFixture = deployProtocolFixture;
3302
4303
  exports.generateFeeManagerConfigWithMockFees = generateFeeManagerConfigWithMockFees;
3303
4304
  exports.generateMockFees = generateMockFees;
@@ -3310,6 +4311,10 @@ exports.getUnnamedSigners = getUnnamedSigners;
3310
4311
  exports.idleClaimRewards = idleClaimRewards;
3311
4312
  exports.idleLend = idleLend;
3312
4313
  exports.idleRedeem = idleRedeem;
4314
+ exports.mockExternalPositionAddDebtAssets = mockExternalPositionAddDebtAssets;
4315
+ exports.mockExternalPositionAddManagedAssets = mockExternalPositionAddManagedAssets;
4316
+ exports.mockExternalPositionRemoveDebtAssets = mockExternalPositionRemoveDebtAssets;
4317
+ exports.mockExternalPositionRemoveManagedAssets = mockExternalPositionRemoveManagedAssets;
3313
4318
  exports.mockGenericRemoveOnlySelector = mockGenericRemoveOnlySelector;
3314
4319
  exports.mockGenericSwap = mockGenericSwap;
3315
4320
  exports.mockGenericSwapASelector = mockGenericSwapASelector;
@@ -3317,29 +4322,44 @@ exports.mockGenericSwapArgs = mockGenericSwapArgs;
3317
4322
  exports.mockGenericSwapBSelector = mockGenericSwapBSelector;
3318
4323
  exports.mockGenericSwapDirectFromVaultSelector = mockGenericSwapDirectFromVaultSelector;
3319
4324
  exports.mockGenericSwapViaApprovalSelector = mockGenericSwapViaApprovalSelector;
4325
+ exports.olympusV2Stake = olympusV2Stake;
4326
+ exports.olympusV2Unstake = olympusV2Unstake;
3320
4327
  exports.paraSwapV4GenerateDummyPaths = paraSwapV4GenerateDummyPaths;
3321
4328
  exports.paraSwapV4TakeOrder = paraSwapV4TakeOrder;
4329
+ exports.paraSwapV5GenerateDummyPaths = paraSwapV5GenerateDummyPaths;
4330
+ exports.paraSwapV5TakeOrder = paraSwapV5TakeOrder;
4331
+ exports.poolTogetherV4ClaimRewards = poolTogetherV4ClaimRewards;
4332
+ exports.poolTogetherV4Lend = poolTogetherV4Lend;
4333
+ exports.poolTogetherV4Redeem = poolTogetherV4Redeem;
3322
4334
  exports.reactivateExternalPosition = reactivateExternalPosition;
3323
4335
  exports.redeemSharesForSpecificAssets = redeemSharesForSpecificAssets;
3324
4336
  exports.redeemSharesInKind = redeemSharesInKind;
3325
4337
  exports.relayTransaction = relayTransaction;
3326
- exports.removeCollateral = removeCollateral;
3327
4338
  exports.removeExternalPosition = removeExternalPosition;
3328
4339
  exports.removeTrackedAssetsFromVault = removeTrackedAssetsFromVault;
3329
- exports.repayBorrow = repayBorrow;
3330
4340
  exports.setupGasRelayerPaymaster = setupGasRelayerPaymaster;
3331
4341
  exports.synthetixAssignExchangeDelegate = synthetixAssignExchangeDelegate;
4342
+ exports.synthetixRedeem = synthetixRedeem;
3332
4343
  exports.synthetixResolveAddress = synthetixResolveAddress;
3333
4344
  exports.synthetixTakeOrder = synthetixTakeOrder;
3334
4345
  exports.transactionTimestamp = transactionTimestamp;
3335
4346
  exports.uniswapV2Lend = uniswapV2Lend;
3336
4347
  exports.uniswapV2Redeem = uniswapV2Redeem;
3337
4348
  exports.uniswapV2TakeOrder = uniswapV2TakeOrder;
4349
+ exports.uniswapV3LiquidityPositionAddLiquidity = uniswapV3LiquidityPositionAddLiquidity;
4350
+ exports.uniswapV3LiquidityPositionCollect = uniswapV3LiquidityPositionCollect;
4351
+ exports.uniswapV3LiquidityPositionGetMaxTick = uniswapV3LiquidityPositionGetMaxTick;
4352
+ exports.uniswapV3LiquidityPositionGetMinTick = uniswapV3LiquidityPositionGetMinTick;
4353
+ exports.uniswapV3LiquidityPositionMint = uniswapV3LiquidityPositionMint;
4354
+ exports.uniswapV3LiquidityPositionPurge = uniswapV3LiquidityPositionPurge;
4355
+ exports.uniswapV3LiquidityPositionRemoveLiquidity = uniswapV3LiquidityPositionRemoveLiquidity;
4356
+ exports.uniswapV3OrderTokenPair = uniswapV3OrderTokenPair;
3338
4357
  exports.uniswapV3TakeOrder = uniswapV3TakeOrder;
3339
4358
  exports.unlockAllWhales = unlockAllWhales;
3340
4359
  exports.unlockWhale = unlockWhale;
3341
4360
  exports.unlockWhales = unlockWhales;
3342
4361
  exports.updateChainlinkAggregator = updateChainlinkAggregator;
4362
+ exports.vaultCallCreateNewList = vaultCallCreateNewList;
3343
4363
  exports.vaultCallCurveMinterMint = vaultCallCurveMinterMint;
3344
4364
  exports.vaultCallCurveMinterMintMany = vaultCallCurveMinterMintMany;
3345
4365
  exports.vaultCallCurveMinterToggleApproveMint = vaultCallCurveMinterToggleApproveMint;