@enzymefinance/testutils 4.0.0-next.6 → 4.0.1

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 (92) hide show
  1. package/dist/index.d.ts +1548 -0
  2. package/dist/index.js +3352 -0
  3. package/dist/index.mjs +3352 -0
  4. package/package.json +74 -11
  5. package/CHANGELOG.md +0 -52
  6. package/dist/declarations/src/assertions.d.ts +0 -4
  7. package/dist/declarations/src/deployment.d.ts +0 -192
  8. package/dist/declarations/src/gasRelayer.d.ts +0 -56
  9. package/dist/declarations/src/helpers.d.ts +0 -16
  10. package/dist/declarations/src/index.d.ts +0 -6
  11. package/dist/declarations/src/scaffolding/assets.d.ts +0 -10
  12. package/dist/declarations/src/scaffolding/chainlink.d.ts +0 -3
  13. package/dist/declarations/src/scaffolding/common.d.ts +0 -7
  14. package/dist/declarations/src/scaffolding/core.d.ts +0 -17
  15. package/dist/declarations/src/scaffolding/extensions/common.d.ts +0 -11
  16. package/dist/declarations/src/scaffolding/extensions/external-positions/actions.d.ts +0 -35
  17. package/dist/declarations/src/scaffolding/extensions/external-positions/compound.d.ts +0 -56
  18. package/dist/declarations/src/scaffolding/extensions/external-positions/index.d.ts +0 -4
  19. package/dist/declarations/src/scaffolding/extensions/external-positions/mocks.d.ts +0 -53
  20. package/dist/declarations/src/scaffolding/extensions/external-positions/uniswap-v3-liquidity.d.ts +0 -99
  21. package/dist/declarations/src/scaffolding/extensions/fees.d.ts +0 -12
  22. package/dist/declarations/src/scaffolding/extensions/index.d.ts +0 -5
  23. package/dist/declarations/src/scaffolding/extensions/integrations/aave.d.ts +0 -20
  24. package/dist/declarations/src/scaffolding/extensions/integrations/compound.d.ts +0 -28
  25. package/dist/declarations/src/scaffolding/extensions/integrations/curve.d.ts +0 -346
  26. package/dist/declarations/src/scaffolding/extensions/integrations/idle.d.ts +0 -28
  27. package/dist/declarations/src/scaffolding/extensions/integrations/index.d.ts +0 -15
  28. package/dist/declarations/src/scaffolding/extensions/integrations/mock.d.ts +0 -32
  29. package/dist/declarations/src/scaffolding/extensions/integrations/olympusV2.d.ts +0 -17
  30. package/dist/declarations/src/scaffolding/extensions/integrations/paraSwapV4.d.ts +0 -23
  31. package/dist/declarations/src/scaffolding/extensions/integrations/paraSwapV5.d.ts +0 -23
  32. package/dist/declarations/src/scaffolding/extensions/integrations/poolTogetherV4.d.ts +0 -29
  33. package/dist/declarations/src/scaffolding/extensions/integrations/synthetix.d.ts +0 -33
  34. package/dist/declarations/src/scaffolding/extensions/integrations/trackedAssets.d.ts +0 -15
  35. package/dist/declarations/src/scaffolding/extensions/integrations/uniswapV2.d.ts +0 -46
  36. package/dist/declarations/src/scaffolding/extensions/integrations/uniswapV3.d.ts +0 -15
  37. package/dist/declarations/src/scaffolding/extensions/integrations/yearn.d.ts +0 -22
  38. package/dist/declarations/src/scaffolding/extensions/integrations/zeroExV2.d.ts +0 -12
  39. package/dist/declarations/src/scaffolding/extensions/policies.d.ts +0 -17
  40. package/dist/declarations/src/scaffolding/index.d.ts +0 -8
  41. package/dist/declarations/src/scaffolding/setup.d.ts +0 -77
  42. package/dist/declarations/src/scaffolding/shares.d.ts +0 -35
  43. package/dist/declarations/src/scaffolding/vaultCalls.d.ts +0 -32
  44. package/dist/declarations/src/whales.d.ts +0 -46
  45. package/dist/enzymefinance-testutils.browser.cjs.js +0 -4369
  46. package/dist/enzymefinance-testutils.browser.esm.js +0 -4217
  47. package/dist/enzymefinance-testutils.cjs.d.ts +0 -1
  48. package/dist/enzymefinance-testutils.cjs.dev.js +0 -4369
  49. package/dist/enzymefinance-testutils.cjs.js +0 -7
  50. package/dist/enzymefinance-testutils.cjs.prod.js +0 -4369
  51. package/dist/enzymefinance-testutils.esm.js +0 -4217
  52. package/src/assertions.ts +0 -23
  53. package/src/deployment.ts +0 -285
  54. package/src/gasRelayer.ts +0 -95
  55. package/src/helpers.ts +0 -39
  56. package/src/index.ts +0 -6
  57. package/src/scaffolding/assets.ts +0 -37
  58. package/src/scaffolding/chainlink.ts +0 -8
  59. package/src/scaffolding/common.ts +0 -11
  60. package/src/scaffolding/core.ts +0 -111
  61. package/src/scaffolding/extensions/common.ts +0 -30
  62. package/src/scaffolding/extensions/external-positions/actions.ts +0 -103
  63. package/src/scaffolding/extensions/external-positions/compound.ts +0 -190
  64. package/src/scaffolding/extensions/external-positions/index.ts +0 -4
  65. package/src/scaffolding/extensions/external-positions/mocks.ts +0 -194
  66. package/src/scaffolding/extensions/external-positions/uniswap-v3-liquidity.ts +0 -290
  67. package/src/scaffolding/extensions/fees.ts +0 -70
  68. package/src/scaffolding/extensions/index.ts +0 -5
  69. package/src/scaffolding/extensions/integrations/aave.ts +0 -78
  70. package/src/scaffolding/extensions/integrations/compound.ts +0 -94
  71. package/src/scaffolding/extensions/integrations/curve.ts +0 -1246
  72. package/src/scaffolding/extensions/integrations/idle.ts +0 -104
  73. package/src/scaffolding/extensions/integrations/index.ts +0 -15
  74. package/src/scaffolding/extensions/integrations/mock.ts +0 -116
  75. package/src/scaffolding/extensions/integrations/olympusV2.ts +0 -71
  76. package/src/scaffolding/extensions/integrations/paraSwapV4.ts +0 -70
  77. package/src/scaffolding/extensions/integrations/paraSwapV5.ts +0 -73
  78. package/src/scaffolding/extensions/integrations/poolTogetherV4.ts +0 -117
  79. package/src/scaffolding/extensions/integrations/synthetix.ts +0 -130
  80. package/src/scaffolding/extensions/integrations/trackedAssets.ts +0 -48
  81. package/src/scaffolding/extensions/integrations/uniswapV2.ts +0 -175
  82. package/src/scaffolding/extensions/integrations/uniswapV3.ts +0 -55
  83. package/src/scaffolding/extensions/integrations/yearn.ts +0 -79
  84. package/src/scaffolding/extensions/integrations/zeroExV2.ts +0 -47
  85. package/src/scaffolding/extensions/policies.ts +0 -112
  86. package/src/scaffolding/index.ts +0 -8
  87. package/src/scaffolding/setup.ts +0 -243
  88. package/src/scaffolding/shares.ts +0 -80
  89. package/src/scaffolding/vaultCalls.ts +0 -105
  90. package/src/types.d.ts +0 -1
  91. package/src/whales.ts +0 -77
  92. package/tsconfig.json +0 -5
@@ -1,4369 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var _asyncToGenerator = require('@babel/runtime/helpers/asyncToGenerator');
6
- var _regeneratorRuntime = require('@babel/runtime/regenerator');
7
- var protocol = require('@enzymefinance/protocol');
8
- var ethers = require('ethers');
9
- var ethers$1 = require('@enzymefinance/ethers');
10
- var _taggedTemplateLiteral = require('@babel/runtime/helpers/taggedTemplateLiteral');
11
- var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
12
- var _defineProperty = require('@babel/runtime/helpers/defineProperty');
13
-
14
- function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
15
-
16
- var _regeneratorRuntime__default = /*#__PURE__*/_interopDefault(_regeneratorRuntime);
17
-
18
- function getNamedSigner(_x) {
19
- return _getNamedSigner.apply(this, arguments);
20
- }
21
-
22
- function _getNamedSigner() {
23
- _getNamedSigner = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(name) {
24
- var accounts;
25
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
26
- while (1) {
27
- switch (_context.prev = _context.next) {
28
- case 0:
29
- _context.next = 2;
30
- return hre.getNamedAccounts();
31
-
32
- case 2:
33
- accounts = _context.sent;
34
-
35
- if (accounts[name]) {
36
- _context.next = 5;
37
- break;
38
- }
39
-
40
- throw new Error("Missing account with name ".concat(name));
41
-
42
- case 5:
43
- return _context.abrupt("return", provider.getSignerWithAddress(accounts[name]));
44
-
45
- case 6:
46
- case "end":
47
- return _context.stop();
48
- }
49
- }
50
- }, _callee);
51
- }));
52
- return _getNamedSigner.apply(this, arguments);
53
- }
54
-
55
- function getUnnamedSigners() {
56
- return _getUnnamedSigners.apply(this, arguments);
57
- }
58
-
59
- function _getUnnamedSigners() {
60
- _getUnnamedSigners = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2() {
61
- var accounts;
62
- return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
63
- while (1) {
64
- switch (_context2.prev = _context2.next) {
65
- case 0:
66
- _context2.next = 2;
67
- return hre.getUnnamedAccounts();
68
-
69
- case 2:
70
- accounts = _context2.sent;
71
- return _context2.abrupt("return", Promise.all(accounts.map(function (account) {
72
- return provider.getSignerWithAddress(account);
73
- })));
74
-
75
- case 4:
76
- case "end":
77
- return _context2.stop();
78
- }
79
- }
80
- }, _callee2);
81
- }));
82
- return _getUnnamedSigners.apply(this, arguments);
83
- }
84
-
85
- function deployProtocolFixture() {
86
- return _deployProtocolFixture.apply(this, arguments);
87
- }
88
-
89
- function _deployProtocolFixture() {
90
- _deployProtocolFixture = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee3() {
91
- var fixture, deployer, accounts, config, deployment;
92
- return _regeneratorRuntime__default['default'].wrap(function _callee3$(_context3) {
93
- while (1) {
94
- switch (_context3.prev = _context3.next) {
95
- case 0:
96
- _context3.next = 2;
97
- return hre.deployments.fixture();
98
-
99
- case 2:
100
- fixture = _context3.sent;
101
- _context3.next = 5;
102
- return getNamedSigner('deployer');
103
-
104
- case 5:
105
- deployer = _context3.sent;
106
- _context3.next = 8;
107
- return getUnnamedSigners();
108
-
109
- case 8:
110
- accounts = _context3.sent;
111
- config = fixture['Config'].linkedData; // prettier-ignore
112
-
113
- deployment = {
114
- aaveAdapter: new protocol.AaveAdapter(fixture['AaveAdapter'].address, deployer),
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),
125
- compoundDebtPositionLib: new protocol.CompoundDebtPositionLib(fixture['CompoundDebtPositionLib'].address, deployer),
126
- compoundDebtPositionParser: new protocol.CompoundDebtPositionParser(fixture['CompoundDebtPositionParser'].address, deployer),
127
- compoundPriceFeed: new protocol.CompoundPriceFeed(fixture['CompoundPriceFeed'].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),
131
- curveLiquidityAaveAdapter: new protocol.CurveLiquidityAaveAdapter(fixture['CurveLiquidityAaveAdapter'].address, deployer),
132
- curveLiquidityAdapter: new protocol.CurveLiquidityAdapter(fixture['CurveLiquidityAdapter'].address, deployer),
133
- curveLiquidityEursAdapter: new protocol.CurveLiquidityEursAdapter(fixture['CurveLiquidityEursAdapter'].address, deployer),
134
- curveLiquiditySethAdapter: new protocol.CurveLiquiditySethAdapter(fixture['CurveLiquiditySethAdapter'].address, deployer),
135
- curveLiquidityStethAdapter: new protocol.CurveLiquidityStethAdapter(fixture['CurveLiquidityStethAdapter'].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),
139
- entranceRateBurnFee: new protocol.EntranceRateBurnFee(fixture['EntranceRateBurnFee'].address, deployer),
140
- entranceRateDirectFee: new protocol.EntranceRateDirectFee(fixture['EntranceRateDirectFee'].address, deployer),
141
- exitRateBurnFee: new protocol.ExitRateBurnFee(fixture['ExitRateBurnFee'].address, deployer),
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
- managementFee: new protocol.ManagementFee(fixture['ManagementFee'].address, deployer),
157
- minAssetBalancesPostRedemptionPolicy: new protocol.MinAssetBalancesPostRedemptionPolicy(fixture['MinAssetBalancesPostRedemptionPolicy'].address, deployer),
158
- minMaxInvestmentPolicy: new protocol.MinMaxInvestmentPolicy(fixture['MinMaxInvestmentPolicy'].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),
168
- protocolFeeReserveLib: new protocol.ProtocolFeeReserveLib(fixture['ProtocolFeeReserveLib'].address, deployer),
169
- protocolFeeReserveProxy: new protocol.ProtocolFeeReserveLib(fixture['ProtocolFeeReserveProxy'].address, deployer),
170
- protocolFeeTracker: new protocol.ProtocolFeeTracker(fixture['ProtocolFeeTracker'].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)
185
- };
186
- return _context3.abrupt("return", {
187
- accounts: accounts,
188
- config: config,
189
- deployer: deployer,
190
- deployment: deployment
191
- });
192
-
193
- case 12:
194
- case "end":
195
- return _context3.stop();
196
- }
197
- }
198
- }, _callee3);
199
- }));
200
- return _deployProtocolFixture.apply(this, arguments);
201
- }
202
-
203
- function addTrackedAssetsToVault(_ref) {
204
- var signer = _ref.signer,
205
- comptrollerProxy = _ref.comptrollerProxy,
206
- integrationManager = _ref.integrationManager,
207
- assets = _ref.assets;
208
- return comptrollerProxy.connect(signer).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.AddTrackedAssetsToVault, protocol.addTrackedAssetsToVaultArgs({
209
- assets: assets
210
- }));
211
- }
212
- function removeTrackedAssetsFromVault(_ref2) {
213
- var signer = _ref2.signer,
214
- comptrollerProxy = _ref2.comptrollerProxy,
215
- integrationManager = _ref2.integrationManager,
216
- assets = _ref2.assets;
217
- return comptrollerProxy.connect(signer).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.RemoveTrackedAssetsFromVault, protocol.removeTrackedAssetsFromVaultArgs({
218
- assets: assets
219
- }));
220
- }
221
-
222
- function addNewAssetsToFund(_x) {
223
- return _addNewAssetsToFund.apply(this, arguments);
224
- }
225
-
226
- function _addNewAssetsToFund() {
227
- _addNewAssetsToFund = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
228
- var signer, comptrollerProxy, integrationManager, assets, _ref$amounts, amounts, receipt, vaultProxy, i;
229
-
230
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
231
- while (1) {
232
- switch (_context.prev = _context.next) {
233
- case 0:
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;
235
- // First, add tracked assets
236
- receipt = addTrackedAssetsToVault({
237
- assets: assets,
238
- comptrollerProxy: comptrollerProxy,
239
- integrationManager: integrationManager,
240
- signer: signer
241
- }); // Then seed the vault with balances as necessary
242
-
243
- _context.next = 4;
244
- return comptrollerProxy.getVaultProxy();
245
-
246
- case 4:
247
- vaultProxy = _context.sent;
248
- _context.t0 = _regeneratorRuntime__default['default'].keys(assets);
249
-
250
- case 6:
251
- if ((_context.t1 = _context.t0()).done) {
252
- _context.next = 13;
253
- break;
254
- }
255
-
256
- i = _context.t1.value;
257
-
258
- if (!(amounts[i] > 0)) {
259
- _context.next = 11;
260
- break;
261
- }
262
-
263
- _context.next = 11;
264
- return assets[i].transfer(vaultProxy, amounts[i]);
265
-
266
- case 11:
267
- _context.next = 6;
268
- break;
269
-
270
- case 13:
271
- return _context.abrupt("return", receipt);
272
-
273
- case 14:
274
- case "end":
275
- return _context.stop();
276
- }
277
- }
278
- }, _callee);
279
- }));
280
- return _addNewAssetsToFund.apply(this, arguments);
281
- }
282
-
283
- function updateChainlinkAggregator(_x, _x2) {
284
- return _updateChainlinkAggregator.apply(this, arguments);
285
- }
286
-
287
- function _updateChainlinkAggregator() {
288
- _updateChainlinkAggregator = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(aggregator, price) {
289
- var answer, block;
290
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
291
- while (1) {
292
- switch (_context.prev = _context.next) {
293
- case 0:
294
- if (!(price !== null && price !== void 0)) {
295
- _context.next = 4;
296
- break;
297
- }
298
-
299
- _context.t0 = price;
300
- _context.next = 7;
301
- break;
302
-
303
- case 4:
304
- _context.next = 6;
305
- return aggregator.latestAnswer();
306
-
307
- case 6:
308
- _context.t0 = _context.sent;
309
-
310
- case 7:
311
- answer = _context.t0;
312
- _context.next = 10;
313
- return aggregator.provider.getBlock('latest');
314
-
315
- case 10:
316
- block = _context.sent;
317
- _context.next = 13;
318
- return aggregator.setLatestAnswer(answer, block.timestamp);
319
-
320
- case 13:
321
- case "end":
322
- return _context.stop();
323
- }
324
- }
325
- }, _callee);
326
- }));
327
- return _updateChainlinkAggregator.apply(this, arguments);
328
- }
329
-
330
- function getAssetBalances(_x) {
331
- return _getAssetBalances.apply(this, arguments);
332
- }
333
-
334
- function _getAssetBalances() {
335
- _getAssetBalances = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
336
- var account, assets;
337
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
338
- while (1) {
339
- switch (_context.prev = _context.next) {
340
- case 0:
341
- account = _ref.account, assets = _ref.assets;
342
- return _context.abrupt("return", Promise.all(assets.map(function (asset) {
343
- return new protocol.StandardToken(asset, provider).balanceOf(account);
344
- })));
345
-
346
- case 2:
347
- case "end":
348
- return _context.stop();
349
- }
350
- }
351
- }, _callee);
352
- }));
353
- return _getAssetBalances.apply(this, arguments);
354
- }
355
-
356
- function getAssetUnit(_x2) {
357
- return _getAssetUnit.apply(this, arguments);
358
- }
359
-
360
- function _getAssetUnit() {
361
- _getAssetUnit = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(asset) {
362
- return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
363
- while (1) {
364
- switch (_context2.prev = _context2.next) {
365
- case 0:
366
- _context2.t0 = ethers.utils;
367
- _context2.next = 3;
368
- return asset.decimals();
369
-
370
- case 3:
371
- _context2.t1 = _context2.sent;
372
- return _context2.abrupt("return", _context2.t0.parseUnits.call(_context2.t0, '1', _context2.t1));
373
-
374
- case 5:
375
- case "end":
376
- return _context2.stop();
377
- }
378
- }
379
- }, _callee2);
380
- }));
381
- return _getAssetUnit.apply(this, arguments);
382
- }
383
-
384
- // TODO: Should refactor this function to take all deployment contracts and set up everything by default,
385
- // unless overrides are passed-in
386
- function createFundDeployer(_x) {
387
- return _createFundDeployer.apply(this, arguments);
388
- }
389
-
390
- function _createFundDeployer() {
391
- _createFundDeployer = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
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;
393
-
394
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
395
- while (1) {
396
- switch (_context.prev = _context.next) {
397
- case 0:
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;
399
- _context.next = 3;
400
- return vaultLib.getMlnToken();
401
-
402
- case 3:
403
- mlnToken = _context.sent;
404
- _context.next = 6;
405
- return vaultLib.getWethToken();
406
-
407
- case 6:
408
- wethToken = _context.sent;
409
- _context.next = 9;
410
- return vaultLib.getProtocolFeeReserve();
411
-
412
- case 9:
413
- protocolFeeReserve = _context.sent;
414
- _context.next = 12;
415
- return protocol.FundDeployer.deploy(deployer, dispatcher, gasRelayPaymasterFactory);
416
-
417
- case 12:
418
- nextFundDeployer = _context.sent;
419
- _context.next = 15;
420
- return protocol.PolicyManager.deploy(deployer, nextFundDeployer, gasRelayPaymasterFactory);
421
-
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:
452
- nextComptrollerLib = _context.sent;
453
- _context.next = 37;
454
- return nextFundDeployer.setComptrollerLib(nextComptrollerLib);
455
-
456
- case 37:
457
- _context.next = 39;
458
- return protocol.ProtocolFeeTracker.deploy(deployer, nextFundDeployer);
459
-
460
- case 39:
461
- nextProtocolFeeTracker = _context.sent;
462
- _context.next = 42;
463
- return nextFundDeployer.setProtocolFeeTracker(nextProtocolFeeTracker);
464
-
465
- case 42:
466
- _context.t5 = protocol.VaultLib;
467
- _context.t6 = deployer;
468
- _context.t7 = externalPositionManager;
469
- _context.next = 47;
470
- return vaultLib.getGasRelayPaymasterFactory();
471
-
472
- case 47:
473
- _context.t8 = _context.sent;
474
- _context.next = 50;
475
- return vaultLib.getProtocolFeeReserve();
476
-
477
- case 50:
478
- _context.t9 = _context.sent;
479
- _context.t10 = nextProtocolFeeTracker;
480
- _context.next = 54;
481
- return vaultLib.getMlnToken();
482
-
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;
491
- return vaultLib.getWethToken();
492
-
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);
502
-
503
- case 66:
504
- nextVaultLib = _context.sent;
505
- _context.next = 69;
506
- return nextFundDeployer.setVaultLib(nextVaultLib);
507
-
508
- case 69:
509
- if (!setReleaseLive) {
510
- _context.next = 72;
511
- break;
512
- }
513
-
514
- _context.next = 72;
515
- return nextFundDeployer.setReleaseLive();
516
-
517
- case 72:
518
- if (!setOnDispatcher) {
519
- _context.next = 75;
520
- break;
521
- }
522
-
523
- _context.next = 75;
524
- return dispatcher.setCurrentFundDeployer(nextFundDeployer);
525
-
526
- case 75:
527
- return _context.abrupt("return", nextFundDeployer);
528
-
529
- case 76:
530
- case "end":
531
- return _context.stop();
532
- }
533
- }
534
- }, _callee);
535
- }));
536
- return _createFundDeployer.apply(this, arguments);
537
- }
538
-
539
- function callOnExtension(_x) {
540
- return _callOnExtension.apply(this, arguments);
541
- }
542
-
543
- function _callOnExtension() {
544
- _callOnExtension = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
545
- var comptrollerProxy, extension, actionId, _ref$callArgs, callArgs, signer, callOnExtensionTx;
546
-
547
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
548
- while (1) {
549
- switch (_context.prev = _context.next) {
550
- case 0:
551
- comptrollerProxy = _ref.comptrollerProxy, extension = _ref.extension, actionId = _ref.actionId, _ref$callArgs = _ref.callArgs, callArgs = _ref$callArgs === void 0 ? '0x' : _ref$callArgs, signer = _ref.signer;
552
-
553
- if (signer) {
554
- callOnExtensionTx = comptrollerProxy.connect(signer).callOnExtension(extension, actionId, callArgs);
555
- } else {
556
- callOnExtensionTx = comptrollerProxy.callOnExtension(extension, actionId, callArgs);
557
- }
558
-
559
- _context.next = 4;
560
- return expect(callOnExtensionTx).resolves.toBeReceipt();
561
-
562
- case 4:
563
- return _context.abrupt("return", callOnExtensionTx);
564
-
565
- case 5:
566
- case "end":
567
- return _context.stop();
568
- }
569
- }
570
- }, _callee);
571
- }));
572
- return _callOnExtension.apply(this, arguments);
573
- }
574
-
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) {
605
- return _createExternalPosition.apply(this, arguments);
606
- }
607
-
608
- function _createExternalPosition() {
609
- _createExternalPosition = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(_ref2) {
610
- var signer, comptrollerProxy, externalPositionManager, externalPositionTypeId, _ref2$initializationD, initializationData, receipt, event, externalPositionProxy;
611
-
612
- return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
613
- while (1) {
614
- switch (_context2.prev = _context2.next) {
615
- case 0:
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;
618
- return comptrollerProxy.connect(signer).callOnExtension(externalPositionManager, protocol.ExternalPositionManagerActionId.CreateExternalPosition, protocol.encodeArgs(['uint256', 'bytes'], [externalPositionTypeId, initializationData]));
619
-
620
- case 3:
621
- receipt = _context2.sent;
622
- event = ethers$1.extractEvent(receipt, externalPositionManager.abi.getEvent('ExternalPositionDeployedForFund'));
623
- externalPositionProxy = new protocol.IExternalPositionProxy(event[0].args.externalPosition, signer);
624
- return _context2.abrupt("return", {
625
- externalPositionProxy: externalPositionProxy,
626
- receipt: receipt
627
- });
628
-
629
- case 7:
630
- case "end":
631
- return _context2.stop();
632
- }
633
- }
634
- }, _callee2);
635
- }));
636
- return _createExternalPosition.apply(this, arguments);
637
- }
638
-
639
- function reactivateExternalPosition(_x3) {
640
- return _reactivateExternalPosition.apply(this, arguments);
641
- }
642
-
643
- function _reactivateExternalPosition() {
644
- _reactivateExternalPosition = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee3(_ref3) {
645
- var signer, comptrollerProxy, externalPositionManager, externalPositionProxy, callArgs;
646
- return _regeneratorRuntime__default['default'].wrap(function _callee3$(_context3) {
647
- while (1) {
648
- switch (_context3.prev = _context3.next) {
649
- case 0:
650
- signer = _ref3.signer, comptrollerProxy = _ref3.comptrollerProxy, externalPositionManager = _ref3.externalPositionManager, externalPositionProxy = _ref3.externalPositionProxy;
651
- callArgs = protocol.externalPositionReactivateArgs({
652
- externalPositionProxy: externalPositionProxy
653
- });
654
- return _context3.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(externalPositionManager, protocol.ExternalPositionManagerActionId.ReactivateExternalPosition, callArgs));
655
-
656
- case 3:
657
- case "end":
658
- return _context3.stop();
659
- }
660
- }
661
- }, _callee3);
662
- }));
663
- return _reactivateExternalPosition.apply(this, arguments);
664
- }
665
-
666
- function removeExternalPosition(_x4) {
667
- return _removeExternalPosition.apply(this, arguments);
668
- }
669
-
670
- function _removeExternalPosition() {
671
- _removeExternalPosition = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee4(_ref4) {
672
- var signer, comptrollerProxy, externalPositionManager, externalPositionProxy, callArgs;
673
- return _regeneratorRuntime__default['default'].wrap(function _callee4$(_context4) {
674
- while (1) {
675
- switch (_context4.prev = _context4.next) {
676
- case 0:
677
- signer = _ref4.signer, comptrollerProxy = _ref4.comptrollerProxy, externalPositionManager = _ref4.externalPositionManager, externalPositionProxy = _ref4.externalPositionProxy;
678
- callArgs = protocol.externalPositionRemoveArgs({
679
- externalPositionProxy: externalPositionProxy
680
- });
681
- return _context4.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(externalPositionManager, protocol.ExternalPositionManagerActionId.RemoveExternalPosition, callArgs));
682
-
683
- case 3:
684
- case "end":
685
- return _context4.stop();
686
- }
687
- }
688
- }, _callee4);
689
- }));
690
- return _removeExternalPosition.apply(this, arguments);
691
- }
692
-
693
- function compoundDebtPositionAddCollateral(_x) {
694
- return _compoundDebtPositionAddCollateral.apply(this, arguments);
695
- }
696
-
697
- function _compoundDebtPositionAddCollateral() {
698
- _compoundDebtPositionAddCollateral = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
699
- var comptrollerProxy, externalPositionManager, fundOwner, assets, amounts, externalPositionProxy, cTokens, actionArgs;
700
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
701
- while (1) {
702
- switch (_context.prev = _context.next) {
703
- case 0:
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,
713
- comptrollerProxy: comptrollerProxy,
714
- externalPositionManager: externalPositionManager,
715
- externalPositionProxy: externalPositionProxy,
716
- signer: fundOwner
717
- }));
718
-
719
- case 3:
720
- case "end":
721
- return _context.stop();
722
- }
723
- }
724
- }, _callee);
725
- }));
726
- return _compoundDebtPositionAddCollateral.apply(this, arguments);
727
- }
728
-
729
- function compoundDebtPositionBorrow(_x2) {
730
- return _compoundDebtPositionBorrow.apply(this, arguments);
731
- }
732
-
733
- function _compoundDebtPositionBorrow() {
734
- _compoundDebtPositionBorrow = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(_ref2) {
735
- var comptrollerProxy, externalPositionManager, fundOwner, externalPositionProxy, assets, amounts, cTokens, actionArgs;
736
- return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
737
- while (1) {
738
- switch (_context2.prev = _context2.next) {
739
- case 0:
740
- comptrollerProxy = _ref2.comptrollerProxy, externalPositionManager = _ref2.externalPositionManager, fundOwner = _ref2.fundOwner, externalPositionProxy = _ref2.externalPositionProxy, assets = _ref2.assets, amounts = _ref2.amounts, cTokens = _ref2.cTokens;
741
- actionArgs = protocol.compoundExternalPositionActionArgs({
742
- amounts: amounts,
743
- assets: assets,
744
- data: protocol.encodeArgs(['address[]'], [cTokens])
745
- });
746
- return _context2.abrupt("return", callOnExternalPosition({
747
- actionArgs: actionArgs,
748
- actionId: protocol.CompoundDebtPositionActionId.BorrowAsset,
749
- comptrollerProxy: comptrollerProxy,
750
- externalPositionManager: externalPositionManager,
751
- externalPositionProxy: externalPositionProxy,
752
- signer: fundOwner
753
- }));
754
-
755
- case 3:
756
- case "end":
757
- return _context2.stop();
758
- }
759
- }
760
- }, _callee2);
761
- }));
762
- return _compoundDebtPositionBorrow.apply(this, arguments);
763
- }
764
-
765
- function compoundDebtPositionClaimComp(_x3) {
766
- return _compoundDebtPositionClaimComp.apply(this, arguments);
767
- }
768
-
769
- function _compoundDebtPositionClaimComp() {
770
- _compoundDebtPositionClaimComp = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee3(_ref3) {
771
- var comptrollerProxy, externalPositionManager, fundOwner, externalPositionProxy, actionArgs;
772
- return _regeneratorRuntime__default['default'].wrap(function _callee3$(_context3) {
773
- while (1) {
774
- switch (_context3.prev = _context3.next) {
775
- case 0:
776
- comptrollerProxy = _ref3.comptrollerProxy, externalPositionManager = _ref3.externalPositionManager, fundOwner = _ref3.fundOwner, externalPositionProxy = _ref3.externalPositionProxy;
777
- actionArgs = protocol.compoundExternalPositionActionArgs({
778
- amounts: [],
779
- assets: [],
780
- data: '0x'
781
- });
782
- return _context3.abrupt("return", callOnExternalPosition({
783
- actionArgs: actionArgs,
784
- actionId: protocol.CompoundDebtPositionActionId.ClaimComp,
785
- comptrollerProxy: comptrollerProxy,
786
- externalPositionManager: externalPositionManager,
787
- externalPositionProxy: externalPositionProxy,
788
- signer: fundOwner
789
- }));
790
-
791
- case 3:
792
- case "end":
793
- return _context3.stop();
794
- }
795
- }
796
- }, _callee3);
797
- }));
798
- return _compoundDebtPositionClaimComp.apply(this, arguments);
799
- }
800
-
801
- function compoundDebtPositionRemoveCollateral(_x4) {
802
- return _compoundDebtPositionRemoveCollateral.apply(this, arguments);
803
- }
804
-
805
- function _compoundDebtPositionRemoveCollateral() {
806
- _compoundDebtPositionRemoveCollateral = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee4(_ref4) {
807
- var comptrollerProxy, externalPositionManager, fundOwner, assets, amounts, externalPositionProxy, cTokens, actionArgs;
808
- return _regeneratorRuntime__default['default'].wrap(function _callee4$(_context4) {
809
- while (1) {
810
- switch (_context4.prev = _context4.next) {
811
- case 0:
812
- comptrollerProxy = _ref4.comptrollerProxy, externalPositionManager = _ref4.externalPositionManager, fundOwner = _ref4.fundOwner, assets = _ref4.assets, amounts = _ref4.amounts, externalPositionProxy = _ref4.externalPositionProxy, cTokens = _ref4.cTokens;
813
- actionArgs = protocol.compoundExternalPositionActionArgs({
814
- amounts: amounts,
815
- assets: assets,
816
- data: protocol.encodeArgs(['address[]'], [cTokens])
817
- });
818
- return _context4.abrupt("return", callOnExternalPosition({
819
- actionArgs: actionArgs,
820
- actionId: protocol.CompoundDebtPositionActionId.RemoveCollateralAssets,
821
- comptrollerProxy: comptrollerProxy,
822
- externalPositionManager: externalPositionManager,
823
- externalPositionProxy: externalPositionProxy,
824
- signer: fundOwner
825
- }));
826
-
827
- case 3:
828
- case "end":
829
- return _context4.stop();
830
- }
831
- }
832
- }, _callee4);
833
- }));
834
- return _compoundDebtPositionRemoveCollateral.apply(this, arguments);
835
- }
836
-
837
- function compoundDebtPositionRepayBorrow(_x5) {
838
- return _compoundDebtPositionRepayBorrow.apply(this, arguments);
839
- }
840
-
841
- function _compoundDebtPositionRepayBorrow() {
842
- _compoundDebtPositionRepayBorrow = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee5(_ref5) {
843
- var comptrollerProxy, externalPositionManager, fundOwner, assets, amounts, externalPositionProxy, cTokens, actionArgs;
844
- return _regeneratorRuntime__default['default'].wrap(function _callee5$(_context5) {
845
- while (1) {
846
- switch (_context5.prev = _context5.next) {
847
- case 0:
848
- comptrollerProxy = _ref5.comptrollerProxy, externalPositionManager = _ref5.externalPositionManager, fundOwner = _ref5.fundOwner, assets = _ref5.assets, amounts = _ref5.amounts, externalPositionProxy = _ref5.externalPositionProxy, cTokens = _ref5.cTokens;
849
- actionArgs = protocol.compoundExternalPositionActionArgs({
850
- amounts: amounts,
851
- assets: assets,
852
- data: protocol.encodeArgs(['address[]'], [cTokens])
853
- });
854
- return _context5.abrupt("return", callOnExternalPosition({
855
- actionArgs: actionArgs,
856
- actionId: protocol.CompoundDebtPositionActionId.RepayBorrowedAssets,
857
- comptrollerProxy: comptrollerProxy,
858
- externalPositionManager: externalPositionManager,
859
- externalPositionProxy: externalPositionProxy,
860
- signer: fundOwner
861
- }));
862
-
863
- case 3:
864
- case "end":
865
- return _context5.stop();
866
- }
867
- }
868
- }, _callee5);
869
- }));
870
- return _compoundDebtPositionRepayBorrow.apply(this, arguments);
871
- }
872
-
873
- function createCompoundDebtPosition(_x6) {
874
- return _createCompoundDebtPosition.apply(this, arguments);
875
- }
876
-
877
- function _createCompoundDebtPosition() {
878
- _createCompoundDebtPosition = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee6(_ref6) {
879
- var signer, comptrollerProxy, externalPositionManager;
880
- return _regeneratorRuntime__default['default'].wrap(function _callee6$(_context6) {
881
- while (1) {
882
- switch (_context6.prev = _context6.next) {
883
- case 0:
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
- }));
891
-
892
- case 2:
893
- case "end":
894
- return _context6.stop();
895
- }
896
- }
897
- }, _callee6);
898
- }));
899
- return _createCompoundDebtPosition.apply(this, arguments);
900
- }
901
-
902
- function createMockExternalPosition(_x) {
903
- return _createMockExternalPosition.apply(this, arguments);
904
- }
905
-
906
- function _createMockExternalPosition() {
907
- _createMockExternalPosition = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
908
- var comptrollerProxy, externalPositionManager, externalPositionFactory, defaultActionAssetsToTransfer, defaultActionAmountsToTransfer, defaultActionAssetsToReceive, fundOwner, deployer, vaultProxy, typeId, mockGenericExternalPositionLib, mockExternalPositionParser, receipt, externalPositionProxy;
909
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
910
- while (1) {
911
- switch (_context.prev = _context.next) {
912
- case 0:
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;
914
- _context.t0 = protocol.VaultLib;
915
- _context.next = 4;
916
- return comptrollerProxy.getVaultProxy();
917
-
918
- case 4:
919
- _context.t1 = _context.sent;
920
- _context.t2 = deployer;
921
- vaultProxy = new _context.t0(_context.t1, _context.t2);
922
- _context.next = 9;
923
- return externalPositionFactory.getPositionTypeCounter();
924
-
925
- case 9:
926
- typeId = _context.sent;
927
- _context.next = 12;
928
- return externalPositionFactory.addNewPositionTypes(['TEST']);
929
-
930
- case 12:
931
- _context.next = 14;
932
- return protocol.MockGenericExternalPositionLib.deploy(deployer);
933
-
934
- case 14:
935
- mockGenericExternalPositionLib = _context.sent;
936
- _context.next = 17;
937
- return protocol.MockGenericExternalPositionParser.deploy(deployer);
938
-
939
- case 17:
940
- mockExternalPositionParser = _context.sent;
941
- mockExternalPositionParser.setAssetsForAction(0, defaultActionAssetsToTransfer, defaultActionAmountsToTransfer, defaultActionAssetsToReceive);
942
- _context.next = 21;
943
- return externalPositionManager.updateExternalPositionTypesInfo([typeId], [mockGenericExternalPositionLib], [mockExternalPositionParser]);
944
-
945
- case 21:
946
- _context.next = 23;
947
- return comptrollerProxy.connect(fundOwner).callOnExtension(externalPositionManager, protocol.ExternalPositionManagerActionId.CreateExternalPosition, protocol.encodeArgs(['uint256', 'bytes'], [typeId, '0x']));
948
-
949
- case 23:
950
- receipt = _context.sent;
951
- _context.next = 26;
952
- return vaultProxy.getActiveExternalPositions();
953
-
954
- case 26:
955
- externalPositionProxy = _context.sent[0];
956
- return _context.abrupt("return", {
957
- externalPositionProxy: externalPositionProxy,
958
- mockExternalPositionParser: mockExternalPositionParser,
959
- mockGenericExternalPositionLib: mockGenericExternalPositionLib,
960
- receipt: receipt,
961
- typeId: typeId
962
- });
963
-
964
- case 28:
965
- case "end":
966
- return _context.stop();
967
- }
968
- }
969
- }, _callee);
970
- }));
971
- return _createMockExternalPosition.apply(this, arguments);
972
- }
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
-
1384
- function generateFeeManagerConfigWithMockFees(_x) {
1385
- return _generateFeeManagerConfigWithMockFees.apply(this, arguments);
1386
- }
1387
-
1388
- function _generateFeeManagerConfigWithMockFees() {
1389
- _generateFeeManagerConfigWithMockFees = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
1390
- var deployer, fees, feeManagerSettingsData;
1391
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
1392
- while (1) {
1393
- switch (_context.prev = _context.next) {
1394
- case 0:
1395
- deployer = _ref.deployer;
1396
- _context.next = 3;
1397
- return generateMockFees({
1398
- deployer: deployer
1399
- });
1400
-
1401
- case 3:
1402
- fees = _context.sent;
1403
- feeManagerSettingsData = [ethers.utils.randomBytes(10), '0x', ethers.utils.randomBytes(2)];
1404
- return _context.abrupt("return", protocol.feeManagerConfigArgs({
1405
- fees: Object.values(fees),
1406
- settings: feeManagerSettingsData
1407
- }));
1408
-
1409
- case 6:
1410
- case "end":
1411
- return _context.stop();
1412
- }
1413
- }
1414
- }, _callee);
1415
- }));
1416
- return _generateFeeManagerConfigWithMockFees.apply(this, arguments);
1417
- }
1418
-
1419
- function generateMockFees(_x2) {
1420
- return _generateMockFees.apply(this, arguments);
1421
- }
1422
-
1423
- function _generateMockFees() {
1424
- _generateMockFees = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(_ref2) {
1425
- var deployer, mockContinuousFeeSettleOnly, mockContinuousFeeWithGavAndUpdates, mockPostBuySharesFee;
1426
- return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
1427
- while (1) {
1428
- switch (_context2.prev = _context2.next) {
1429
- case 0:
1430
- deployer = _ref2.deployer;
1431
- _context2.next = 3;
1432
- return protocol.IFee.mock(deployer);
1433
-
1434
- case 3:
1435
- mockContinuousFeeSettleOnly = _context2.sent;
1436
- _context2.next = 6;
1437
- return protocol.IFee.mock(deployer);
1438
-
1439
- case 6:
1440
- mockContinuousFeeWithGavAndUpdates = _context2.sent;
1441
- _context2.next = 9;
1442
- return protocol.IFee.mock(deployer);
1443
-
1444
- case 9:
1445
- mockPostBuySharesFee = _context2.sent;
1446
- _context2.next = 12;
1447
- return Promise.all([// Continuous fee the mimics ManagementFee
1448
- mockContinuousFeeSettleOnly.getRecipientForFund.returns(ethers.constants.AddressZero), mockContinuousFeeSettleOnly.settle.returns(protocol.FeeSettlementType.None, ethers.constants.AddressZero, 0), mockContinuousFeeSettleOnly.payout.returns(false), mockContinuousFeeSettleOnly.addFundSettings.returns(undefined), mockContinuousFeeSettleOnly.activateForFund.returns(undefined), mockContinuousFeeSettleOnly.update.returns(undefined), mockContinuousFeeSettleOnly.settlesOnHook.returns(false, false), mockContinuousFeeSettleOnly.settlesOnHook.given(protocol.FeeHook.Continuous).returns(true, false), mockContinuousFeeSettleOnly.settlesOnHook.given(protocol.FeeHook.PreBuyShares).returns(true, false), mockContinuousFeeSettleOnly.settlesOnHook.given(protocol.FeeHook.PreRedeemShares).returns(true, false), mockContinuousFeeSettleOnly.updatesOnHook.returns(false, false), // Continuous fee the mimics PerformanceFee
1449
- mockContinuousFeeWithGavAndUpdates.getRecipientForFund.returns(ethers.constants.AddressZero), mockContinuousFeeWithGavAndUpdates.settle.returns(protocol.FeeSettlementType.None, ethers.constants.AddressZero, 0), mockContinuousFeeWithGavAndUpdates.payout.returns(false), mockContinuousFeeWithGavAndUpdates.addFundSettings.returns(undefined), mockContinuousFeeWithGavAndUpdates.activateForFund.returns(undefined), mockContinuousFeeWithGavAndUpdates.update.returns(undefined), mockContinuousFeeWithGavAndUpdates.settlesOnHook.returns(false, false), mockContinuousFeeWithGavAndUpdates.settlesOnHook.given(protocol.FeeHook.Continuous).returns(true, true), mockContinuousFeeWithGavAndUpdates.settlesOnHook.given(protocol.FeeHook.PreBuyShares).returns(true, true), mockContinuousFeeWithGavAndUpdates.settlesOnHook.given(protocol.FeeHook.PreRedeemShares).returns(true, true), mockContinuousFeeWithGavAndUpdates.updatesOnHook.returns(false, false), mockContinuousFeeWithGavAndUpdates.updatesOnHook.given(protocol.FeeHook.Continuous).returns(true, true), mockContinuousFeeWithGavAndUpdates.updatesOnHook.given(protocol.FeeHook.PostBuyShares).returns(true, true), mockContinuousFeeWithGavAndUpdates.updatesOnHook.given(protocol.FeeHook.PreRedeemShares).returns(true, true), // PostBuyShares fee
1450
- mockPostBuySharesFee.getRecipientForFund.returns(ethers.constants.AddressZero), mockPostBuySharesFee.settle.returns(protocol.FeeSettlementType.None, ethers.constants.AddressZero, 0), mockPostBuySharesFee.payout.returns(false), mockPostBuySharesFee.addFundSettings.returns(undefined), mockPostBuySharesFee.activateForFund.returns(undefined), mockPostBuySharesFee.update.returns(undefined), mockPostBuySharesFee.settlesOnHook.returns(false, false), mockPostBuySharesFee.settlesOnHook.given(protocol.FeeHook.PostBuyShares).returns(true, false), mockPostBuySharesFee.updatesOnHook.returns(false, false)]);
1451
-
1452
- case 12:
1453
- return _context2.abrupt("return", {
1454
- mockContinuousFeeSettleOnly: mockContinuousFeeSettleOnly,
1455
- mockContinuousFeeWithGavAndUpdates: mockContinuousFeeWithGavAndUpdates,
1456
- mockPostBuySharesFee: mockPostBuySharesFee
1457
- });
1458
-
1459
- case 13:
1460
- case "end":
1461
- return _context2.stop();
1462
- }
1463
- }
1464
- }, _callee2);
1465
- }));
1466
- return _generateMockFees.apply(this, arguments);
1467
- }
1468
-
1469
- function aaveLend(_x) {
1470
- return _aaveLend.apply(this, arguments);
1471
- }
1472
-
1473
- function _aaveLend() {
1474
- _aaveLend = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
1475
- var comptrollerProxy, integrationManager, fundOwner, aaveAdapter, aToken, _ref$amount, amount, lendArgs, callArgs, lendTx;
1476
-
1477
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
1478
- while (1) {
1479
- switch (_context.prev = _context.next) {
1480
- case 0:
1481
- comptrollerProxy = _ref.comptrollerProxy, integrationManager = _ref.integrationManager, fundOwner = _ref.fundOwner, aaveAdapter = _ref.aaveAdapter, aToken = _ref.aToken, _ref$amount = _ref.amount, amount = _ref$amount === void 0 ? ethers.utils.parseEther('1') : _ref$amount;
1482
- lendArgs = protocol.aaveLendArgs({
1483
- aToken: aToken,
1484
- amount: amount
1485
- });
1486
- callArgs = protocol.callOnIntegrationArgs({
1487
- adapter: aaveAdapter,
1488
- encodedCallArgs: lendArgs,
1489
- selector: protocol.lendSelector
1490
- });
1491
- lendTx = comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
1492
- return _context.abrupt("return", lendTx);
1493
-
1494
- case 5:
1495
- case "end":
1496
- return _context.stop();
1497
- }
1498
- }
1499
- }, _callee);
1500
- }));
1501
- return _aaveLend.apply(this, arguments);
1502
- }
1503
-
1504
- function aaveRedeem(_x2) {
1505
- return _aaveRedeem.apply(this, arguments);
1506
- }
1507
-
1508
- function _aaveRedeem() {
1509
- _aaveRedeem = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(_ref2) {
1510
- var comptrollerProxy, integrationManager, fundOwner, aaveAdapter, aToken, _ref2$amount, amount, redeemArgs, callArgs, redeemTx;
1511
-
1512
- return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
1513
- while (1) {
1514
- switch (_context2.prev = _context2.next) {
1515
- case 0:
1516
- comptrollerProxy = _ref2.comptrollerProxy, integrationManager = _ref2.integrationManager, fundOwner = _ref2.fundOwner, aaveAdapter = _ref2.aaveAdapter, aToken = _ref2.aToken, _ref2$amount = _ref2.amount, amount = _ref2$amount === void 0 ? ethers.utils.parseEther('1') : _ref2$amount;
1517
- redeemArgs = protocol.aaveRedeemArgs({
1518
- aToken: aToken,
1519
- amount: amount
1520
- });
1521
- callArgs = protocol.callOnIntegrationArgs({
1522
- adapter: aaveAdapter,
1523
- encodedCallArgs: redeemArgs,
1524
- selector: protocol.redeemSelector
1525
- });
1526
- redeemTx = comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
1527
- return _context2.abrupt("return", redeemTx);
1528
-
1529
- case 5:
1530
- case "end":
1531
- return _context2.stop();
1532
- }
1533
- }
1534
- }, _callee2);
1535
- }));
1536
- return _aaveRedeem.apply(this, arguments);
1537
- }
1538
-
1539
- var _templateObject$2;
1540
- var ICompoundComptroller = ethers$1.contract()(_templateObject$2 || (_templateObject$2 = _taggedTemplateLiteral(["\n function claimComp(address)\n"])));
1541
- function compoundLend(_x) {
1542
- return _compoundLend.apply(this, arguments);
1543
- }
1544
-
1545
- function _compoundLend() {
1546
- _compoundLend = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
1547
- var comptrollerProxy, integrationManager, fundOwner, compoundAdapter, cToken, _ref$tokenAmount, tokenAmount, _ref$cTokenAmount, cTokenAmount, lendArgs, callArgs, lendTx;
1548
-
1549
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
1550
- while (1) {
1551
- switch (_context.prev = _context.next) {
1552
- case 0:
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;
1554
- lendArgs = protocol.compoundArgs({
1555
- cToken: cToken,
1556
- minIncomingAssetAmount: cTokenAmount,
1557
- outgoingAssetAmount: tokenAmount
1558
- });
1559
- callArgs = protocol.callOnIntegrationArgs({
1560
- adapter: compoundAdapter,
1561
- encodedCallArgs: lendArgs,
1562
- selector: protocol.lendSelector
1563
- });
1564
- lendTx = comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
1565
- return _context.abrupt("return", lendTx);
1566
-
1567
- case 5:
1568
- case "end":
1569
- return _context.stop();
1570
- }
1571
- }
1572
- }, _callee);
1573
- }));
1574
- return _compoundLend.apply(this, arguments);
1575
- }
1576
-
1577
- function compoundRedeem(_x2) {
1578
- return _compoundRedeem.apply(this, arguments);
1579
- }
1580
-
1581
- function _compoundRedeem() {
1582
- _compoundRedeem = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(_ref2) {
1583
- var comptrollerProxy, integrationManager, fundOwner, compoundAdapter, cToken, _ref2$tokenAmount, tokenAmount, _ref2$cTokenAmount, cTokenAmount, redeemArgs, callArgs, redeemTx;
1584
-
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) {
1819
- while (1) {
1820
- switch (_context6.prev = _context6.next) {
1821
- case 0:
1822
- comptrollerProxy = _ref7.comptrollerProxy, integrationManager = _ref7.integrationManager, signer = _ref7.signer, curveLiquidityAdapter = _ref7.curveLiquidityAdapter, pool = _ref7.pool, outgoingGaugeToken = _ref7.outgoingGaugeToken, amount = _ref7.amount;
1823
- callArgs = protocol.callOnIntegrationArgs({
1824
- adapter: curveLiquidityAdapter,
1825
- encodedCallArgs: protocol.curveUnstakeArgs({
1826
- amount: amount,
1827
- outgoingGaugeToken: outgoingGaugeToken,
1828
- pool: pool
1829
- }),
1830
- selector: protocol.unstakeSelector
1831
- });
1832
- return _context6.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
1833
-
1834
- case 3:
1835
- case "end":
1836
- return _context6.stop();
1837
- }
1838
- }
1839
- }, _callee6);
1840
- }));
1841
- return _curveUnstake.apply(this, arguments);
1842
- }
1843
-
1844
- function curveUnstakeAndRedeem(_x7) {
1845
- return _curveUnstakeAndRedeem.apply(this, arguments);
1846
- } // aave pool
1847
-
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) {
1852
- while (1) {
1853
- switch (_context7.prev = _context7.next) {
1854
- case 0:
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;
1856
- callArgs = protocol.callOnIntegrationArgs({
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
1867
- });
1868
- return _context7.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
1869
-
1870
- case 3:
1871
- case "end":
1872
- return _context7.stop();
1873
- }
1874
- }
1875
- }, _callee7);
1876
- }));
1877
- return _curveUnstakeAndRedeem.apply(this, arguments);
1878
- }
1879
-
1880
- function curveAaveClaimRewards(_ref9) {
1881
- var comptrollerProxy = _ref9.comptrollerProxy,
1882
- integrationManager = _ref9.integrationManager,
1883
- fundOwner = _ref9.fundOwner,
1884
- curveLiquidityAaveAdapter = _ref9.curveLiquidityAaveAdapter;
1885
- var callArgs = protocol.callOnIntegrationArgs({
1886
- adapter: curveLiquidityAaveAdapter,
1887
- encodedCallArgs: ethers.constants.HashZero,
1888
- selector: protocol.claimRewardsSelector
1889
- });
1890
- return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
1891
- }
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;
1907
- var callArgs = protocol.callOnIntegrationArgs({
1908
- adapter: curveLiquidityAaveAdapter,
1909
- encodedCallArgs: protocol.curveAaveLendArgs({
1910
- minIncomingLPTokenAmount: minIncomingLPTokenAmount,
1911
- outgoingAaveDaiAmount: outgoingAaveDaiAmount,
1912
- outgoingAaveUsdcAmount: outgoingAaveUsdcAmount,
1913
- outgoingAaveUsdtAmount: outgoingAaveUsdtAmount,
1914
- useUnderlyings: useUnderlyings
1915
- }),
1916
- selector: protocol.lendSelector
1917
- });
1918
- return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
1919
- }
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;
1935
- var callArgs = protocol.callOnIntegrationArgs({
1936
- adapter: curveLiquidityAaveAdapter,
1937
- encodedCallArgs: protocol.curveAaveLendAndStakeArgs({
1938
- minIncomingLiquidityGaugeTokenAmount: minIncomingLiquidityGaugeTokenAmount,
1939
- outgoingAaveDaiAmount: outgoingAaveDaiAmount,
1940
- outgoingAaveUsdcAmount: outgoingAaveUsdcAmount,
1941
- outgoingAaveUsdtAmount: outgoingAaveUsdtAmount,
1942
- useUnderlyings: useUnderlyings
1943
- }),
1944
- selector: protocol.lendAndStakeSelector
1945
- });
1946
- return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
1947
- }
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;
1964
- var callArgs = protocol.callOnIntegrationArgs({
1965
- adapter: curveLiquidityAaveAdapter,
1966
- encodedCallArgs: protocol.curveAaveRedeemArgs({
1967
- minIncomingAaveDaiAmount: minIncomingAaveDaiAmount,
1968
- minIncomingAaveUsdcAmount: minIncomingAaveUsdcAmount,
1969
- minIncomingAaveUsdtAmount: minIncomingAaveUsdtAmount,
1970
- outgoingLPTokenAmount: outgoingLPTokenAmount,
1971
- receiveSingleAsset: receiveSingleAsset,
1972
- useUnderlyings: useUnderlyings
1973
- }),
1974
- selector: protocol.redeemSelector
1975
- });
1976
- return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
1977
- }
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;
1984
- var callArgs = protocol.callOnIntegrationArgs({
1985
- adapter: curveLiquidityAaveAdapter,
1986
- encodedCallArgs: protocol.curveAaveStakeArgs({
1987
- outgoingLPTokenAmount: outgoingLPTokenAmount
1988
- }),
1989
- selector: protocol.stakeSelector
1990
- });
1991
- return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
1992
- }
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;
2009
- var callArgs = protocol.callOnIntegrationArgs({
2010
- adapter: curveLiquidityAaveAdapter,
2011
- encodedCallArgs: protocol.curveAaveUnstakeAndRedeemArgs({
2012
- minIncomingAaveDaiAmount: minIncomingAaveDaiAmount,
2013
- minIncomingAaveUsdcAmount: minIncomingAaveUsdcAmount,
2014
- minIncomingAaveUsdtAmount: minIncomingAaveUsdtAmount,
2015
- outgoingLiquidityGaugeTokenAmount: outgoingLiquidityGaugeTokenAmount,
2016
- receiveSingleAsset: receiveSingleAsset,
2017
- useUnderlyings: useUnderlyings
2018
- }),
2019
- selector: protocol.unstakeAndRedeemSelector
2020
- });
2021
- return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2022
- }
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;
2029
- var callArgs = protocol.callOnIntegrationArgs({
2030
- adapter: curveLiquidityAaveAdapter,
2031
- encodedCallArgs: protocol.curveAaveUnstakeArgs({
2032
- outgoingLiquidityGaugeTokenAmount: outgoingLiquidityGaugeTokenAmount
2033
- }),
2034
- selector: protocol.unstakeSelector
2035
- });
2036
- return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2037
- } // eurs pool
2038
-
2039
- function curveEursClaimRewards(_ref16) {
2040
- var comptrollerProxy = _ref16.comptrollerProxy,
2041
- integrationManager = _ref16.integrationManager,
2042
- fundOwner = _ref16.fundOwner,
2043
- curveLiquidityEursAdapter = _ref16.curveLiquidityEursAdapter;
2044
- var callArgs = protocol.callOnIntegrationArgs({
2045
- adapter: curveLiquidityEursAdapter,
2046
- encodedCallArgs: ethers.constants.HashZero,
2047
- selector: protocol.claimRewardsSelector
2048
- });
2049
- return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2050
- }
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;
2059
- var callArgs = protocol.callOnIntegrationArgs({
2060
- adapter: curveLiquidityEursAdapter,
2061
- encodedCallArgs: protocol.curveEursLendArgs({
2062
- minIncomingLPTokenAmount: minIncomingLPTokenAmount,
2063
- outgoingEursAmount: outgoingEursAmount,
2064
- outgoingSeurAmount: outgoingSeurAmount
2065
- }),
2066
- selector: protocol.lendSelector
2067
- });
2068
- return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2069
- }
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;
2078
- var callArgs = protocol.callOnIntegrationArgs({
2079
- adapter: curveLiquidityEursAdapter,
2080
- encodedCallArgs: protocol.curveEursLendAndStakeArgs({
2081
- minIncomingLiquidityGaugeTokenAmount: minIncomingLiquidityGaugeTokenAmount,
2082
- outgoingEursAmount: outgoingEursAmount,
2083
- outgoingSeurAmount: outgoingSeurAmount
2084
- }),
2085
- selector: protocol.lendAndStakeSelector
2086
- });
2087
- return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2088
- }
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;
2098
- var callArgs = protocol.callOnIntegrationArgs({
2099
- adapter: curveLiquidityEursAdapter,
2100
- encodedCallArgs: protocol.curveEursRedeemArgs({
2101
- minIncomingEursAmount: minIncomingEursAmount,
2102
- minIncomingSeurAmount: minIncomingSeurAmount,
2103
- outgoingLPTokenAmount: outgoingLPTokenAmount,
2104
- receiveSingleAsset: receiveSingleAsset
2105
- }),
2106
- selector: protocol.redeemSelector
2107
- });
2108
- return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2109
- }
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;
2116
- var callArgs = protocol.callOnIntegrationArgs({
2117
- adapter: curveLiquidityEursAdapter,
2118
- encodedCallArgs: protocol.curveEursStakeArgs({
2119
- outgoingLPTokenAmount: outgoingLPTokenAmount
2120
- }),
2121
- selector: protocol.stakeSelector
2122
- });
2123
- return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2124
- }
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;
2134
- var callArgs = protocol.callOnIntegrationArgs({
2135
- adapter: curveLiquidityEursAdapter,
2136
- encodedCallArgs: protocol.curveEursUnstakeAndRedeemArgs({
2137
- minIncomingEursAmount: minIncomingEursAmount,
2138
- minIncomingSeurAmount: minIncomingSeurAmount,
2139
- outgoingLiquidityGaugeTokenAmount: outgoingLiquidityGaugeTokenAmount,
2140
- receiveSingleAsset: receiveSingleAsset
2141
- }),
2142
- selector: protocol.unstakeAndRedeemSelector
2143
- });
2144
- return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2145
- }
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;
2152
- var callArgs = protocol.callOnIntegrationArgs({
2153
- adapter: curveLiquidityEursAdapter,
2154
- encodedCallArgs: protocol.curveEursUnstakeArgs({
2155
- outgoingLiquidityGaugeTokenAmount: outgoingLiquidityGaugeTokenAmount
2156
- }),
2157
- selector: protocol.unstakeSelector
2158
- });
2159
- return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2160
- } // sETH pool
2161
-
2162
- function curveSethClaimRewards(_ref23) {
2163
- var comptrollerProxy = _ref23.comptrollerProxy,
2164
- integrationManager = _ref23.integrationManager,
2165
- fundOwner = _ref23.fundOwner,
2166
- curveLiquiditySethAdapter = _ref23.curveLiquiditySethAdapter;
2167
- var callArgs = protocol.callOnIntegrationArgs({
2168
- adapter: curveLiquiditySethAdapter,
2169
- encodedCallArgs: ethers.constants.HashZero,
2170
- selector: protocol.claimRewardsSelector
2171
- });
2172
- return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2173
- }
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;
2182
- var callArgs = protocol.callOnIntegrationArgs({
2183
- adapter: curveLiquiditySethAdapter,
2184
- encodedCallArgs: protocol.curveSethLendArgs({
2185
- minIncomingLPTokenAmount: minIncomingLPTokenAmount,
2186
- outgoingSethAmount: outgoingSethAmount,
2187
- outgoingWethAmount: outgoingWethAmount
2188
- }),
2189
- selector: protocol.lendSelector
2190
- });
2191
- return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2192
- }
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;
2201
- var callArgs = protocol.callOnIntegrationArgs({
2202
- adapter: curveLiquiditySethAdapter,
2203
- encodedCallArgs: protocol.curveSethLendAndStakeArgs({
2204
- minIncomingLiquidityGaugeTokenAmount: minIncomingLiquidityGaugeTokenAmount,
2205
- outgoingSethAmount: outgoingSethAmount,
2206
- outgoingWethAmount: outgoingWethAmount
2207
- }),
2208
- selector: protocol.lendAndStakeSelector
2209
- });
2210
- return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2211
- }
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;
2221
- var callArgs = protocol.callOnIntegrationArgs({
2222
- adapter: curveLiquiditySethAdapter,
2223
- encodedCallArgs: protocol.curveSethRedeemArgs({
2224
- minIncomingSethAmount: minIncomingSethAmount,
2225
- minIncomingWethAmount: minIncomingWethAmount,
2226
- outgoingLPTokenAmount: outgoingLPTokenAmount,
2227
- receiveSingleAsset: receiveSingleAsset
2228
- }),
2229
- selector: protocol.redeemSelector
2230
- });
2231
- return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2232
- }
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;
2239
- var callArgs = protocol.callOnIntegrationArgs({
2240
- adapter: curveLiquiditySethAdapter,
2241
- encodedCallArgs: protocol.curveSethStakeArgs({
2242
- outgoingLPTokenAmount: outgoingLPTokenAmount
2243
- }),
2244
- selector: protocol.stakeSelector
2245
- });
2246
- return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2247
- }
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;
2257
- var callArgs = protocol.callOnIntegrationArgs({
2258
- adapter: curveLiquiditySethAdapter,
2259
- encodedCallArgs: protocol.curveSethUnstakeAndRedeemArgs({
2260
- minIncomingSethAmount: minIncomingSethAmount,
2261
- minIncomingWethAmount: minIncomingWethAmount,
2262
- outgoingLiquidityGaugeTokenAmount: outgoingLiquidityGaugeTokenAmount,
2263
- receiveSingleAsset: receiveSingleAsset
2264
- }),
2265
- selector: protocol.unstakeAndRedeemSelector
2266
- });
2267
- return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2268
- }
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;
2275
- var callArgs = protocol.callOnIntegrationArgs({
2276
- adapter: curveLiquiditySethAdapter,
2277
- encodedCallArgs: protocol.curveSethUnstakeArgs({
2278
- outgoingLiquidityGaugeTokenAmount: outgoingLiquidityGaugeTokenAmount
2279
- }),
2280
- selector: protocol.unstakeSelector
2281
- });
2282
- return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2283
- } // stETH pool
2284
-
2285
- function curveStethClaimRewards(_ref30) {
2286
- var comptrollerProxy = _ref30.comptrollerProxy,
2287
- integrationManager = _ref30.integrationManager,
2288
- fundOwner = _ref30.fundOwner,
2289
- curveLiquidityStethAdapter = _ref30.curveLiquidityStethAdapter;
2290
- var callArgs = protocol.callOnIntegrationArgs({
2291
- adapter: curveLiquidityStethAdapter,
2292
- encodedCallArgs: ethers.constants.HashZero,
2293
- selector: protocol.claimRewardsSelector
2294
- });
2295
- return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2296
- }
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;
2305
- var callArgs = protocol.callOnIntegrationArgs({
2306
- adapter: curveLiquidityStethAdapter,
2307
- encodedCallArgs: protocol.curveStethLendArgs({
2308
- minIncomingLPTokenAmount: minIncomingLPTokenAmount,
2309
- outgoingStethAmount: outgoingStethAmount,
2310
- outgoingWethAmount: outgoingWethAmount
2311
- }),
2312
- selector: protocol.lendSelector
2313
- });
2314
- return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2315
- }
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;
2324
- var callArgs = protocol.callOnIntegrationArgs({
2325
- adapter: curveLiquidityStethAdapter,
2326
- encodedCallArgs: protocol.curveStethLendAndStakeArgs({
2327
- minIncomingLiquidityGaugeTokenAmount: minIncomingLiquidityGaugeTokenAmount,
2328
- outgoingStethAmount: outgoingStethAmount,
2329
- outgoingWethAmount: outgoingWethAmount
2330
- }),
2331
- selector: protocol.lendAndStakeSelector
2332
- });
2333
- return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2334
- }
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;
2344
- var callArgs = protocol.callOnIntegrationArgs({
2345
- adapter: curveLiquidityStethAdapter,
2346
- encodedCallArgs: protocol.curveStethRedeemArgs({
2347
- minIncomingStethAmount: minIncomingStethAmount,
2348
- minIncomingWethAmount: minIncomingWethAmount,
2349
- outgoingLPTokenAmount: outgoingLPTokenAmount,
2350
- receiveSingleAsset: receiveSingleAsset
2351
- }),
2352
- selector: protocol.redeemSelector
2353
- });
2354
- return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2355
- }
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;
2362
- var callArgs = protocol.callOnIntegrationArgs({
2363
- adapter: curveLiquidityStethAdapter,
2364
- encodedCallArgs: protocol.curveStethStakeArgs({
2365
- outgoingLPTokenAmount: outgoingLPTokenAmount
2366
- }),
2367
- selector: protocol.stakeSelector
2368
- });
2369
- return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2370
- }
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;
2380
- var callArgs = protocol.callOnIntegrationArgs({
2381
- adapter: curveLiquidityStethAdapter,
2382
- encodedCallArgs: protocol.curveStethUnstakeAndRedeemArgs({
2383
- minIncomingStethAmount: minIncomingStethAmount,
2384
- minIncomingWethAmount: minIncomingWethAmount,
2385
- outgoingLiquidityGaugeTokenAmount: outgoingLiquidityGaugeTokenAmount,
2386
- receiveSingleAsset: receiveSingleAsset
2387
- }),
2388
- selector: protocol.unstakeAndRedeemSelector
2389
- });
2390
- return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2391
- }
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;
2398
- var callArgs = protocol.callOnIntegrationArgs({
2399
- adapter: curveLiquidityStethAdapter,
2400
- encodedCallArgs: protocol.curveStethUnstakeArgs({
2401
- outgoingLiquidityGaugeTokenAmount: outgoingLiquidityGaugeTokenAmount
2402
- }),
2403
- selector: protocol.unstakeSelector
2404
- });
2405
- return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2406
- }
2407
-
2408
- function idleClaimRewards(_x) {
2409
- return _idleClaimRewards.apply(this, arguments);
2410
- }
2411
-
2412
- function _idleClaimRewards() {
2413
- _idleClaimRewards = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
2414
- var comptrollerProxy, integrationManager, fundOwner, idleAdapter, idleToken, callArgs;
2415
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
2416
- while (1) {
2417
- switch (_context.prev = _context.next) {
2418
- case 0:
2419
- comptrollerProxy = _ref.comptrollerProxy, integrationManager = _ref.integrationManager, fundOwner = _ref.fundOwner, idleAdapter = _ref.idleAdapter, idleToken = _ref.idleToken;
2420
- callArgs = protocol.callOnIntegrationArgs({
2421
- adapter: idleAdapter,
2422
- encodedCallArgs: protocol.idleClaimRewardsArgs({
2423
- idleToken: idleToken
2424
- }),
2425
- selector: protocol.claimRewardsSelector
2426
- });
2427
- return _context.abrupt("return", comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
2428
-
2429
- case 3:
2430
- case "end":
2431
- return _context.stop();
2432
- }
2433
- }
2434
- }, _callee);
2435
- }));
2436
- return _idleClaimRewards.apply(this, arguments);
2437
- }
2438
-
2439
- function idleLend(_x2) {
2440
- return _idleLend.apply(this, arguments);
2441
- }
2442
-
2443
- function _idleLend() {
2444
- _idleLend = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(_ref2) {
2445
- var comptrollerProxy, integrationManager, fundOwner, idleAdapter, idleToken, outgoingUnderlyingAmount, _ref2$minIncomingIdle, minIncomingIdleTokenAmount, callArgs;
2446
-
2447
- return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
2448
- while (1) {
2449
- switch (_context2.prev = _context2.next) {
2450
- case 0:
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;
2452
- callArgs = protocol.callOnIntegrationArgs({
2453
- adapter: idleAdapter,
2454
- encodedCallArgs: protocol.idleLendArgs({
2455
- idleToken: idleToken,
2456
- minIncomingIdleTokenAmount: minIncomingIdleTokenAmount,
2457
- outgoingUnderlyingAmount: outgoingUnderlyingAmount
2458
- }),
2459
- selector: protocol.lendSelector
2460
- });
2461
- return _context2.abrupt("return", comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
2462
-
2463
- case 3:
2464
- case "end":
2465
- return _context2.stop();
2466
- }
2467
- }
2468
- }, _callee2);
2469
- }));
2470
- return _idleLend.apply(this, arguments);
2471
- }
2472
-
2473
- function idleRedeem(_x3) {
2474
- return _idleRedeem.apply(this, arguments);
2475
- }
2476
-
2477
- function _idleRedeem() {
2478
- _idleRedeem = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee3(_ref3) {
2479
- var comptrollerProxy, integrationManager, fundOwner, idleAdapter, idleToken, outgoingIdleTokenAmount, _ref3$minIncomingUnde, minIncomingUnderlyingAmount, callArgs;
2480
-
2481
- return _regeneratorRuntime__default['default'].wrap(function _callee3$(_context3) {
2482
- while (1) {
2483
- switch (_context3.prev = _context3.next) {
2484
- case 0:
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;
2486
- callArgs = protocol.callOnIntegrationArgs({
2487
- adapter: idleAdapter,
2488
- encodedCallArgs: protocol.idleRedeemArgs({
2489
- idleToken: idleToken,
2490
- minIncomingUnderlyingAmount: minIncomingUnderlyingAmount,
2491
- outgoingIdleTokenAmount: outgoingIdleTokenAmount
2492
- }),
2493
- selector: protocol.redeemSelector
2494
- });
2495
- return _context3.abrupt("return", comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
2496
-
2497
- case 3:
2498
- case "end":
2499
- return _context3.stop();
2500
- }
2501
- }
2502
- }, _callee3);
2503
- }));
2504
- return _idleRedeem.apply(this, arguments);
2505
- }
2506
-
2507
- var mockGenericRemoveOnlySelector = protocol.sighash(ethers.utils.FunctionFragment.fromString('removeOnly(address,bytes,bytes)'));
2508
- var mockGenericSwapASelector = protocol.sighash(ethers.utils.FunctionFragment.fromString('swapA(address,bytes,bytes)'));
2509
- var mockGenericSwapBSelector = protocol.sighash(ethers.utils.FunctionFragment.fromString('swapB(address,bytes,bytes)'));
2510
- var mockGenericSwapDirectFromVaultSelector = protocol.sighash(ethers.utils.FunctionFragment.fromString('swapDirectFromVault(address,bytes,bytes)'));
2511
- var mockGenericSwapViaApprovalSelector = protocol.sighash(ethers.utils.FunctionFragment.fromString('swapViaApproval(address,bytes,bytes)'));
2512
- function mockGenericSwapArgs(_ref) {
2513
- var _ref$spendAssets = _ref.spendAssets,
2514
- spendAssets = _ref$spendAssets === void 0 ? [] : _ref$spendAssets,
2515
- _ref$actualSpendAsset = _ref.actualSpendAssetAmounts,
2516
- actualSpendAssetAmounts = _ref$actualSpendAsset === void 0 ? [] : _ref$actualSpendAsset,
2517
- _ref$maxSpendAssetAmo = _ref.maxSpendAssetAmounts,
2518
- maxSpendAssetAmounts = _ref$maxSpendAssetAmo === void 0 ? actualSpendAssetAmounts : _ref$maxSpendAssetAmo,
2519
- _ref$incomingAssets = _ref.incomingAssets,
2520
- incomingAssets = _ref$incomingAssets === void 0 ? [] : _ref$incomingAssets,
2521
- _ref$actualIncomingAs = _ref.actualIncomingAssetAmounts,
2522
- actualIncomingAssetAmounts = _ref$actualIncomingAs === void 0 ? [] : _ref$actualIncomingAs,
2523
- _ref$minIncomingAsset = _ref.minIncomingAssetAmounts,
2524
- minIncomingAssetAmounts = _ref$minIncomingAsset === void 0 ? actualIncomingAssetAmounts : _ref$minIncomingAsset;
2525
- return protocol.encodeArgs(['address[]', 'uint256[]', 'uint256[]', 'address[]', 'uint256[]', 'uint256[]'], [spendAssets, maxSpendAssetAmounts, actualSpendAssetAmounts, incomingAssets, minIncomingAssetAmounts, actualIncomingAssetAmounts]);
2526
- }
2527
- function mockGenericSwap(_x) {
2528
- return _mockGenericSwap.apply(this, arguments);
2529
- }
2530
-
2531
- function _mockGenericSwap() {
2532
- _mockGenericSwap = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref2) {
2533
- var comptrollerProxy, vaultProxy, integrationManager, fundOwner, mockGenericAdapter, _ref2$selector, selector, _ref2$spendAssets, spendAssets, _ref2$actualSpendAsse, actualSpendAssetAmounts, _ref2$maxSpendAssetAm, maxSpendAssetAmounts, _ref2$incomingAssets, incomingAssets, _ref2$actualIncomingA, actualIncomingAssetAmounts, _ref2$minIncomingAsse, minIncomingAssetAmounts, _ref2$seedFund, seedFund, key, swapArgs, callArgs, swapTx;
2534
-
2535
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
2536
- while (1) {
2537
- switch (_context.prev = _context.next) {
2538
- case 0:
2539
- comptrollerProxy = _ref2.comptrollerProxy, vaultProxy = _ref2.vaultProxy, integrationManager = _ref2.integrationManager, fundOwner = _ref2.fundOwner, mockGenericAdapter = _ref2.mockGenericAdapter, _ref2$selector = _ref2.selector, selector = _ref2$selector === void 0 ? mockGenericSwapASelector : _ref2$selector, _ref2$spendAssets = _ref2.spendAssets, spendAssets = _ref2$spendAssets === void 0 ? [] : _ref2$spendAssets, _ref2$actualSpendAsse = _ref2.actualSpendAssetAmounts, actualSpendAssetAmounts = _ref2$actualSpendAsse === void 0 ? [] : _ref2$actualSpendAsse, _ref2$maxSpendAssetAm = _ref2.maxSpendAssetAmounts, maxSpendAssetAmounts = _ref2$maxSpendAssetAm === void 0 ? actualSpendAssetAmounts : _ref2$maxSpendAssetAm, _ref2$incomingAssets = _ref2.incomingAssets, incomingAssets = _ref2$incomingAssets === void 0 ? [] : _ref2$incomingAssets, _ref2$actualIncomingA = _ref2.actualIncomingAssetAmounts, actualIncomingAssetAmounts = _ref2$actualIncomingA === void 0 ? [] : _ref2$actualIncomingA, _ref2$minIncomingAsse = _ref2.minIncomingAssetAmounts, minIncomingAssetAmounts = _ref2$minIncomingAsse === void 0 ? actualIncomingAssetAmounts : _ref2$minIncomingAsse, _ref2$seedFund = _ref2.seedFund, seedFund = _ref2$seedFund === void 0 ? false : _ref2$seedFund;
2540
-
2541
- if (!seedFund) {
2542
- _context.next = 9;
2543
- break;
2544
- }
2545
-
2546
- _context.t0 = _regeneratorRuntime__default['default'].keys(spendAssets);
2547
-
2548
- case 3:
2549
- if ((_context.t1 = _context.t0()).done) {
2550
- _context.next = 9;
2551
- break;
2552
- }
2553
-
2554
- key = _context.t1.value;
2555
- _context.next = 7;
2556
- return spendAssets[key].transfer(vaultProxy, maxSpendAssetAmounts[key]);
2557
-
2558
- case 7:
2559
- _context.next = 3;
2560
- break;
2561
-
2562
- case 9:
2563
- swapArgs = mockGenericSwapArgs({
2564
- actualIncomingAssetAmounts: actualIncomingAssetAmounts,
2565
- actualSpendAssetAmounts: actualSpendAssetAmounts,
2566
- incomingAssets: incomingAssets,
2567
- maxSpendAssetAmounts: maxSpendAssetAmounts,
2568
- minIncomingAssetAmounts: minIncomingAssetAmounts,
2569
- spendAssets: spendAssets
2570
- });
2571
- callArgs = protocol.callOnIntegrationArgs({
2572
- adapter: mockGenericAdapter,
2573
- encodedCallArgs: swapArgs,
2574
- selector: selector
2575
- });
2576
- swapTx = comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2577
- _context.next = 14;
2578
- return expect(swapTx).resolves.toBeReceipt();
2579
-
2580
- case 14:
2581
- return _context.abrupt("return", swapTx);
2582
-
2583
- case 15:
2584
- case "end":
2585
- return _context.stop();
2586
- }
2587
- }
2588
- }, _callee);
2589
- }));
2590
- return _mockGenericSwap.apply(this, arguments);
2591
- }
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
-
2659
- function paraSwapV4GenerateDummyPaths(_ref) {
2660
- var toTokens = _ref.toTokens;
2661
- return toTokens.map(function (toToken) {
2662
- return {
2663
- // Not supported in our protocol
2664
- routes: [],
2665
- to: toToken,
2666
- totalNetworkFee: 0 // Can ignore this param in the dummy
2667
-
2668
- };
2669
- });
2670
- }
2671
- function paraSwapV4TakeOrder(_x) {
2672
- return _paraSwapV4TakeOrder.apply(this, arguments);
2673
- }
2674
-
2675
- function _paraSwapV4TakeOrder() {
2676
- _paraSwapV4TakeOrder = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref2) {
2677
- var comptrollerProxy, integrationManager, fundOwner, paraSwapV4Adapter, outgoingAsset, _ref2$outgoingAssetAm, outgoingAssetAmount, _ref2$minIncomingAsse, minIncomingAssetAmount, _ref2$expectedIncomin, expectedIncomingAssetAmount, paths, takeOrderArgs, callArgs;
2678
-
2679
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
2680
- while (1) {
2681
- switch (_context.prev = _context.next) {
2682
- case 0:
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;
2684
- takeOrderArgs = protocol.paraSwapV4TakeOrderArgs({
2685
- expectedIncomingAssetAmount: expectedIncomingAssetAmount,
2686
- minIncomingAssetAmount: minIncomingAssetAmount,
2687
- outgoingAsset: outgoingAsset,
2688
- outgoingAssetAmount: outgoingAssetAmount,
2689
- paths: paths
2690
- });
2691
- callArgs = protocol.callOnIntegrationArgs({
2692
- adapter: paraSwapV4Adapter,
2693
- encodedCallArgs: takeOrderArgs,
2694
- selector: protocol.takeOrderSelector
2695
- });
2696
- return _context.abrupt("return", comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
2697
-
2698
- case 4:
2699
- case "end":
2700
- return _context.stop();
2701
- }
2702
- }
2703
- }, _callee);
2704
- }));
2705
- return _paraSwapV4TakeOrder.apply(this, arguments);
2706
- }
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
-
2863
- function synthetixAssignExchangeDelegate(_x) {
2864
- return _synthetixAssignExchangeDelegate.apply(this, arguments);
2865
- }
2866
-
2867
- function _synthetixAssignExchangeDelegate() {
2868
- _synthetixAssignExchangeDelegate = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
2869
- var comptrollerProxy, addressResolver, fundOwner, delegate, delegateApprovals;
2870
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
2871
- while (1) {
2872
- switch (_context.prev = _context.next) {
2873
- case 0:
2874
- comptrollerProxy = _ref.comptrollerProxy, addressResolver = _ref.addressResolver, fundOwner = _ref.fundOwner, delegate = _ref.delegate;
2875
- _context.next = 3;
2876
- return synthetixResolveAddress({
2877
- addressResolver: addressResolver,
2878
- name: 'DelegateApprovals'
2879
- });
2880
-
2881
- case 3:
2882
- delegateApprovals = _context.sent;
2883
- _context.next = 6;
2884
- return comptrollerProxy.connect(fundOwner).vaultCallOnContract(delegateApprovals, protocol.synthetixAssignExchangeDelegateSelector, protocol.encodeArgs(['address'], [delegate]));
2885
-
2886
- case 6:
2887
- case "end":
2888
- return _context.stop();
2889
- }
2890
- }
2891
- }, _callee);
2892
- }));
2893
- return _synthetixAssignExchangeDelegate.apply(this, arguments);
2894
- }
2895
-
2896
- function synthetixResolveAddress(_x2) {
2897
- return _synthetixResolveAddress.apply(this, arguments);
2898
- }
2899
-
2900
- function _synthetixResolveAddress() {
2901
- _synthetixResolveAddress = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(_ref2) {
2902
- var addressResolver, name;
2903
- return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
2904
- while (1) {
2905
- switch (_context2.prev = _context2.next) {
2906
- case 0:
2907
- addressResolver = _ref2.addressResolver, name = _ref2.name;
2908
- return _context2.abrupt("return", addressResolver.requireAndGetAddress(ethers.utils.formatBytes32String(name), "Missing ".concat(name)));
2909
-
2910
- case 2:
2911
- case "end":
2912
- return _context2.stop();
2913
- }
2914
- }
2915
- }, _callee2);
2916
- }));
2917
- return _synthetixResolveAddress.apply(this, arguments);
2918
- }
2919
-
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) {
2953
- return _synthetixTakeOrder.apply(this, arguments);
2954
- }
2955
-
2956
- function _synthetixTakeOrder() {
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;
2959
-
2960
- return _regeneratorRuntime__default['default'].wrap(function _callee4$(_context4) {
2961
- while (1) {
2962
- switch (_context4.prev = _context4.next) {
2963
- case 0:
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;
2965
-
2966
- if (!seedFund) {
2967
- _context4.next = 4;
2968
- break;
2969
- }
2970
-
2971
- _context4.next = 4;
2972
- return outgoingAsset.transfer(vaultProxy, outgoingAssetAmount);
2973
-
2974
- case 4:
2975
- takeOrderArgs = protocol.synthetixTakeOrderArgs({
2976
- incomingAsset: incomingAsset,
2977
- minIncomingAssetAmount: minIncomingAssetAmount,
2978
- outgoingAsset: outgoingAsset,
2979
- outgoingAssetAmount: outgoingAssetAmount
2980
- });
2981
- _context4.next = 7;
2982
- return protocol.callOnIntegrationArgs({
2983
- adapter: synthetixAdapter,
2984
- encodedCallArgs: takeOrderArgs,
2985
- selector: protocol.takeOrderSelector
2986
- });
2987
-
2988
- case 7:
2989
- callArgs = _context4.sent;
2990
- return _context4.abrupt("return", comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
2991
-
2992
- case 9:
2993
- case "end":
2994
- return _context4.stop();
2995
- }
2996
- }
2997
- }, _callee4);
2998
- }));
2999
- return _synthetixTakeOrder.apply(this, arguments);
3000
- }
3001
-
3002
- var _templateObject;
3003
- var UniswapV2Factory = ethers$1.contract()(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n function createPair(address,address) returns (address)\n function getPair(address,address) view returns (address)\n"])));
3004
- function uniswapV2Lend(_x) {
3005
- return _uniswapV2Lend.apply(this, arguments);
3006
- }
3007
-
3008
- function _uniswapV2Lend() {
3009
- _uniswapV2Lend = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
3010
- var comptrollerProxy, vaultProxy, integrationManager, fundOwner, uniswapV2LiquidityAdapter, tokenA, tokenB, amountADesired, amountBDesired, amountAMin, amountBMin, minPoolTokenAmount, _ref$seedFund, seedFund, lendArgs, callArgs, lendTx;
3011
-
3012
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
3013
- while (1) {
3014
- switch (_context.prev = _context.next) {
3015
- case 0:
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;
3017
-
3018
- if (!seedFund) {
3019
- _context.next = 6;
3020
- break;
3021
- }
3022
-
3023
- _context.next = 4;
3024
- return tokenA.transfer(vaultProxy, amountADesired);
3025
-
3026
- case 4:
3027
- _context.next = 6;
3028
- return tokenB.transfer(vaultProxy, amountBDesired);
3029
-
3030
- case 6:
3031
- lendArgs = protocol.uniswapV2LendArgs({
3032
- amountADesired: amountADesired,
3033
- amountAMin: amountAMin,
3034
- amountBDesired: amountBDesired,
3035
- amountBMin: amountBMin,
3036
- minPoolTokenAmount: minPoolTokenAmount,
3037
- tokenA: tokenA,
3038
- tokenB: tokenB
3039
- });
3040
- callArgs = protocol.callOnIntegrationArgs({
3041
- adapter: uniswapV2LiquidityAdapter,
3042
- encodedCallArgs: lendArgs,
3043
- selector: protocol.lendSelector
3044
- });
3045
- lendTx = comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
3046
- _context.next = 11;
3047
- return expect(lendTx).resolves.toBeReceipt();
3048
-
3049
- case 11:
3050
- return _context.abrupt("return", lendTx);
3051
-
3052
- case 12:
3053
- case "end":
3054
- return _context.stop();
3055
- }
3056
- }
3057
- }, _callee);
3058
- }));
3059
- return _uniswapV2Lend.apply(this, arguments);
3060
- }
3061
-
3062
- function uniswapV2Redeem(_x2) {
3063
- return _uniswapV2Redeem.apply(this, arguments);
3064
- }
3065
-
3066
- function _uniswapV2Redeem() {
3067
- _uniswapV2Redeem = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(_ref2) {
3068
- var comptrollerProxy, integrationManager, fundOwner, uniswapV2LiquidityAdapter, poolTokenAmount, tokenA, tokenB, amountAMin, amountBMin, redeemArgs, callArgs, redeemTx;
3069
- return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
3070
- while (1) {
3071
- switch (_context2.prev = _context2.next) {
3072
- case 0:
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;
3074
- redeemArgs = protocol.uniswapV2RedeemArgs({
3075
- amountAMin: amountAMin,
3076
- amountBMin: amountBMin,
3077
- poolTokenAmount: poolTokenAmount,
3078
- tokenA: tokenA,
3079
- tokenB: tokenB
3080
- });
3081
- callArgs = protocol.callOnIntegrationArgs({
3082
- adapter: uniswapV2LiquidityAdapter,
3083
- encodedCallArgs: redeemArgs,
3084
- selector: protocol.redeemSelector
3085
- });
3086
- redeemTx = comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
3087
- _context2.next = 6;
3088
- return expect(redeemTx).resolves.toBeReceipt();
3089
-
3090
- case 6:
3091
- return _context2.abrupt("return", redeemTx);
3092
-
3093
- case 7:
3094
- case "end":
3095
- return _context2.stop();
3096
- }
3097
- }
3098
- }, _callee2);
3099
- }));
3100
- return _uniswapV2Redeem.apply(this, arguments);
3101
- }
3102
-
3103
- function uniswapV2TakeOrder(_x3) {
3104
- return _uniswapV2TakeOrder.apply(this, arguments);
3105
- }
3106
-
3107
- function _uniswapV2TakeOrder() {
3108
- _uniswapV2TakeOrder = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee3(_ref3) {
3109
- var comptrollerProxy, vaultProxy, integrationManager, fundOwner, uniswapV2ExchangeAdapter, path, outgoingAssetAmount, minIncomingAssetAmount, _ref3$seedFund, seedFund, takeOrderArgs, callArgs;
3110
-
3111
- return _regeneratorRuntime__default['default'].wrap(function _callee3$(_context3) {
3112
- while (1) {
3113
- switch (_context3.prev = _context3.next) {
3114
- case 0:
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;
3116
-
3117
- if (!seedFund) {
3118
- _context3.next = 4;
3119
- break;
3120
- }
3121
-
3122
- _context3.next = 4;
3123
- return path[0].transfer(vaultProxy, outgoingAssetAmount);
3124
-
3125
- case 4:
3126
- takeOrderArgs = protocol.uniswapV2TakeOrderArgs({
3127
- minIncomingAssetAmount: minIncomingAssetAmount,
3128
- outgoingAssetAmount: outgoingAssetAmount,
3129
- path: path
3130
- });
3131
- callArgs = protocol.callOnIntegrationArgs({
3132
- adapter: uniswapV2ExchangeAdapter,
3133
- encodedCallArgs: takeOrderArgs,
3134
- selector: protocol.takeOrderSelector
3135
- });
3136
- return _context3.abrupt("return", comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
3137
-
3138
- case 7:
3139
- case "end":
3140
- return _context3.stop();
3141
- }
3142
- }
3143
- }, _callee3);
3144
- }));
3145
- return _uniswapV2TakeOrder.apply(this, arguments);
3146
- }
3147
-
3148
- function uniswapV3TakeOrder(_x) {
3149
- return _uniswapV3TakeOrder.apply(this, arguments);
3150
- }
3151
-
3152
- function _uniswapV3TakeOrder() {
3153
- _uniswapV3TakeOrder = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
3154
- var comptrollerProxy, integrationManager, fundOwner, uniswapV3Adapter, pathAddresses, pathFees, outgoingAssetAmount, _ref$minIncomingAsset, minIncomingAssetAmount, _ref$seedFund, seedFund, vaultProxy, takeOrderArgs, callArgs;
3155
-
3156
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
3157
- while (1) {
3158
- switch (_context.prev = _context.next) {
3159
- case 0:
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;
3161
-
3162
- if (!seedFund) {
3163
- _context.next = 7;
3164
- break;
3165
- }
3166
-
3167
- _context.next = 4;
3168
- return comptrollerProxy.getVaultProxy();
3169
-
3170
- case 4:
3171
- vaultProxy = _context.sent;
3172
- _context.next = 7;
3173
- return pathAddresses[0].transfer(vaultProxy, outgoingAssetAmount);
3174
-
3175
- case 7:
3176
- takeOrderArgs = protocol.uniswapV3TakeOrderArgs({
3177
- minIncomingAssetAmount: minIncomingAssetAmount,
3178
- outgoingAssetAmount: outgoingAssetAmount,
3179
- pathAddresses: pathAddresses,
3180
- pathFees: pathFees
3181
- });
3182
- callArgs = protocol.callOnIntegrationArgs({
3183
- adapter: uniswapV3Adapter,
3184
- encodedCallArgs: takeOrderArgs,
3185
- selector: protocol.takeOrderSelector
3186
- });
3187
- return _context.abrupt("return", comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
3188
-
3189
- case 10:
3190
- case "end":
3191
- return _context.stop();
3192
- }
3193
- }
3194
- }, _callee);
3195
- }));
3196
- return _uniswapV3TakeOrder.apply(this, arguments);
3197
- }
3198
-
3199
- function yearnVaultV2Lend(_x) {
3200
- return _yearnVaultV2Lend.apply(this, arguments);
3201
- }
3202
-
3203
- function _yearnVaultV2Lend() {
3204
- _yearnVaultV2Lend = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
3205
- var signer, comptrollerProxy, integrationManager, yearnVaultV2Adapter, yVault, outgoingUnderlyingAmount, _ref$minIncomingYVaul, minIncomingYVaultSharesAmount, callArgs;
3206
-
3207
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
3208
- while (1) {
3209
- switch (_context.prev = _context.next) {
3210
- case 0:
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;
3212
- callArgs = protocol.callOnIntegrationArgs({
3213
- adapter: yearnVaultV2Adapter,
3214
- encodedCallArgs: protocol.yearnVaultV2LendArgs({
3215
- minIncomingYVaultSharesAmount: minIncomingYVaultSharesAmount,
3216
- outgoingUnderlyingAmount: outgoingUnderlyingAmount,
3217
- yVault: yVault
3218
- }),
3219
- selector: protocol.lendSelector
3220
- });
3221
- return _context.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
3222
-
3223
- case 3:
3224
- case "end":
3225
- return _context.stop();
3226
- }
3227
- }
3228
- }, _callee);
3229
- }));
3230
- return _yearnVaultV2Lend.apply(this, arguments);
3231
- }
3232
-
3233
- function yearnVaultV2Redeem(_x2) {
3234
- return _yearnVaultV2Redeem.apply(this, arguments);
3235
- }
3236
-
3237
- function _yearnVaultV2Redeem() {
3238
- _yearnVaultV2Redeem = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(_ref2) {
3239
- var signer, comptrollerProxy, integrationManager, yearnVaultV2Adapter, yVault, maxOutgoingYVaultSharesAmount, _ref2$minIncomingUnde, minIncomingUnderlyingAmount, _ref2$slippageToleran, slippageToleranceBps, callArgs;
3240
-
3241
- return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
3242
- while (1) {
3243
- switch (_context2.prev = _context2.next) {
3244
- case 0:
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;
3246
- callArgs = protocol.callOnIntegrationArgs({
3247
- adapter: yearnVaultV2Adapter,
3248
- encodedCallArgs: protocol.yearnVaultV2RedeemArgs({
3249
- maxOutgoingYVaultSharesAmount: maxOutgoingYVaultSharesAmount,
3250
- minIncomingUnderlyingAmount: minIncomingUnderlyingAmount,
3251
- slippageToleranceBps: slippageToleranceBps,
3252
- yVault: yVault
3253
- }),
3254
- selector: protocol.redeemSelector
3255
- });
3256
- return _context2.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
3257
-
3258
- case 3:
3259
- case "end":
3260
- return _context2.stop();
3261
- }
3262
- }
3263
- }, _callee2);
3264
- }));
3265
- return _yearnVaultV2Redeem.apply(this, arguments);
3266
- }
3267
-
3268
- function zeroExV2TakeOrder(_x) {
3269
- return _zeroExV2TakeOrder.apply(this, arguments);
3270
- }
3271
-
3272
- function _zeroExV2TakeOrder() {
3273
- _zeroExV2TakeOrder = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
3274
- var comptrollerProxy, integrationManager, fundOwner, zeroExV2Adapter, signedOrder, takerAssetFillAmount, takeOrderArgs, callArgs;
3275
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
3276
- while (1) {
3277
- switch (_context.prev = _context.next) {
3278
- case 0:
3279
- comptrollerProxy = _ref.comptrollerProxy, integrationManager = _ref.integrationManager, fundOwner = _ref.fundOwner, zeroExV2Adapter = _ref.zeroExV2Adapter, signedOrder = _ref.signedOrder, takerAssetFillAmount = _ref.takerAssetFillAmount;
3280
- takeOrderArgs = protocol.zeroExV2TakeOrderArgs({
3281
- signedOrder: signedOrder,
3282
- takerAssetFillAmount: takerAssetFillAmount
3283
- });
3284
- callArgs = protocol.callOnIntegrationArgs({
3285
- adapter: zeroExV2Adapter,
3286
- encodedCallArgs: takeOrderArgs,
3287
- selector: protocol.takeOrderSelector
3288
- });
3289
- return _context.abrupt("return", comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
3290
-
3291
- case 4:
3292
- case "end":
3293
- return _context.stop();
3294
- }
3295
- }
3296
- }, _callee);
3297
- }));
3298
- return _zeroExV2TakeOrder.apply(this, arguments);
3299
- }
3300
-
3301
- function generatePolicyManagerConfigWithMockPolicies(_x) {
3302
- return _generatePolicyManagerConfigWithMockPolicies.apply(this, arguments);
3303
- }
3304
-
3305
- function _generatePolicyManagerConfigWithMockPolicies() {
3306
- _generatePolicyManagerConfigWithMockPolicies = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
3307
- var deployer, policies, policiesSettingsData;
3308
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
3309
- while (1) {
3310
- switch (_context.prev = _context.next) {
3311
- case 0:
3312
- deployer = _ref.deployer;
3313
- _context.t0 = Object;
3314
- _context.next = 4;
3315
- return generateMockPolicies({
3316
- deployer: deployer
3317
- });
3318
-
3319
- case 4:
3320
- _context.t1 = _context.sent;
3321
- policies = _context.t0.values.call(_context.t0, _context.t1);
3322
- // Guarantees one policy has settings data
3323
- policiesSettingsData = [].concat(_toConsumableArray(new Array(policies.length - 1).fill(ethers.constants.HashZero)), [ethers.utils.randomBytes(10)]);
3324
- return _context.abrupt("return", protocol.policyManagerConfigArgs({
3325
- policies: policies,
3326
- settings: policiesSettingsData
3327
- }));
3328
-
3329
- case 8:
3330
- case "end":
3331
- return _context.stop();
3332
- }
3333
- }
3334
- }, _callee);
3335
- }));
3336
- return _generatePolicyManagerConfigWithMockPolicies.apply(this, arguments);
3337
- }
3338
-
3339
- function generateMockPolicies(_x2) {
3340
- return _generateMockPolicies.apply(this, arguments);
3341
- }
3342
-
3343
- function _generateMockPolicies() {
3344
- _generateMockPolicies = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(_ref2) {
3345
- var deployer, mockAddTrackedAssetsPolicy, mockCreateExternalPositionPolicy, mockPostBuySharesPolicy, mockPostCallOnExternalPositionPolicy, mockPostCoIPolicy, mockRedeemSharesForSpecificAssetsPolicy, mockPreTransferSharesPolicy, mockRemoveExternalPositionPolicy;
3346
- return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
3347
- while (1) {
3348
- switch (_context2.prev = _context2.next) {
3349
- case 0:
3350
- deployer = _ref2.deployer;
3351
- _context2.next = 3;
3352
- return protocol.IPolicy.mock(deployer);
3353
-
3354
- case 3:
3355
- mockAddTrackedAssetsPolicy = _context2.sent;
3356
- _context2.next = 6;
3357
- return protocol.IPolicy.mock(deployer);
3358
-
3359
- case 6:
3360
- mockCreateExternalPositionPolicy = _context2.sent;
3361
- _context2.next = 9;
3362
- return protocol.IPolicy.mock(deployer);
3363
-
3364
- case 9:
3365
- mockPostBuySharesPolicy = _context2.sent;
3366
- _context2.next = 12;
3367
- return protocol.IPolicy.mock(deployer);
3368
-
3369
- case 12:
3370
- mockPostCallOnExternalPositionPolicy = _context2.sent;
3371
- _context2.next = 15;
3372
- return protocol.IPolicy.mock(deployer);
3373
-
3374
- case 15:
3375
- mockPostCoIPolicy = _context2.sent;
3376
- _context2.next = 18;
3377
- return protocol.IPolicy.mock(deployer);
3378
-
3379
- case 18:
3380
- mockRedeemSharesForSpecificAssetsPolicy = _context2.sent;
3381
- _context2.next = 21;
3382
- return protocol.IPolicy.mock(deployer);
3383
-
3384
- case 21:
3385
- mockPreTransferSharesPolicy = _context2.sent;
3386
- _context2.next = 24;
3387
- return protocol.IPolicy.mock(deployer);
3388
-
3389
- case 24:
3390
- mockRemoveExternalPositionPolicy = _context2.sent;
3391
- _context2.next = 27;
3392
- return Promise.all([// AddTrackedAssets
3393
- mockAddTrackedAssetsPolicy.identifier.returns("MOCK_ADD_TRACKED_ASSETS"), mockAddTrackedAssetsPolicy.addFundSettings.returns(undefined), mockAddTrackedAssetsPolicy.activateForFund.returns(undefined), mockAddTrackedAssetsPolicy.canDisable.returns(false), mockAddTrackedAssetsPolicy.validateRule.returns(true), mockAddTrackedAssetsPolicy.implementedHooks.returns([protocol.PolicyHook.AddTrackedAssets]), mockAddTrackedAssetsPolicy.updateFundSettings.returns(undefined), // CreateExternalPosition
3394
- mockCreateExternalPositionPolicy.identifier.returns("MOCK_CREATE_EXTERNAL_POSITION"), mockCreateExternalPositionPolicy.addFundSettings.returns(undefined), mockCreateExternalPositionPolicy.activateForFund.returns(undefined), mockCreateExternalPositionPolicy.canDisable.returns(false), mockCreateExternalPositionPolicy.validateRule.returns(true), mockCreateExternalPositionPolicy.implementedHooks.returns([protocol.PolicyHook.CreateExternalPosition]), mockCreateExternalPositionPolicy.updateFundSettings.returns(undefined), // PostBuyShares
3395
- mockPostBuySharesPolicy.identifier.returns("MOCK_POST_BUY_SHARES"), mockPostBuySharesPolicy.addFundSettings.returns(undefined), mockPostBuySharesPolicy.activateForFund.returns(undefined), mockPostBuySharesPolicy.canDisable.returns(false), mockPostBuySharesPolicy.validateRule.returns(true), mockPostBuySharesPolicy.implementedHooks.returns([protocol.PolicyHook.PostBuyShares]), mockPostBuySharesPolicy.updateFundSettings.returns(undefined), // PostCallOnExternalPosition
3396
- mockPostCallOnExternalPositionPolicy.identifier.returns("MOCK_POST_CALL_ON_EXTERNAL_POSITION"), mockPostCallOnExternalPositionPolicy.addFundSettings.returns(undefined), mockPostCallOnExternalPositionPolicy.activateForFund.returns(undefined), mockPostCallOnExternalPositionPolicy.canDisable.returns(false), mockPostCallOnExternalPositionPolicy.validateRule.returns(true), mockPostCallOnExternalPositionPolicy.implementedHooks.returns([protocol.PolicyHook.PostCallOnExternalPosition]), mockPostCallOnExternalPositionPolicy.updateFundSettings.returns(undefined), // PostCallOnIntegration
3397
- mockPostCoIPolicy.identifier.returns("MOCK_POST_CALL_ON_INTEGRATION"), mockPostCoIPolicy.addFundSettings.returns(undefined), mockPostCoIPolicy.activateForFund.returns(undefined), mockPostCoIPolicy.canDisable.returns(false), mockPostCoIPolicy.validateRule.returns(true), mockPostCoIPolicy.implementedHooks.returns([protocol.PolicyHook.PostCallOnIntegration]), mockPostCoIPolicy.updateFundSettings.returns(undefined), // PreTransferSharesPolicy
3398
- mockPreTransferSharesPolicy.identifier.returns("MOCK_PRE_TRANSFER_SHARES"), mockPreTransferSharesPolicy.addFundSettings.returns(undefined), mockPreTransferSharesPolicy.activateForFund.returns(undefined), mockPreTransferSharesPolicy.canDisable.returns(false), mockPreTransferSharesPolicy.validateRule.returns(true), mockPreTransferSharesPolicy.implementedHooks.returns([protocol.PolicyHook.PreTransferShares]), mockPreTransferSharesPolicy.updateFundSettings.returns(undefined), // RedeemSharesForSpecificAssets
3399
- mockRedeemSharesForSpecificAssetsPolicy.identifier.returns("MOCK_REDEEM_SHARES_FOR_SPECIFIC_ASSETS"), mockRedeemSharesForSpecificAssetsPolicy.addFundSettings.returns(undefined), mockRedeemSharesForSpecificAssetsPolicy.activateForFund.returns(undefined), mockRedeemSharesForSpecificAssetsPolicy.canDisable.returns(false), mockRedeemSharesForSpecificAssetsPolicy.validateRule.returns(true), mockRedeemSharesForSpecificAssetsPolicy.implementedHooks.returns([protocol.PolicyHook.RedeemSharesForSpecificAssets]), mockRedeemSharesForSpecificAssetsPolicy.updateFundSettings.returns(undefined), // RemoveExternalPosition
3400
- mockRemoveExternalPositionPolicy.identifier.returns("MOCK_REMOVE_EXTERNAL_POSITION"), mockRemoveExternalPositionPolicy.addFundSettings.returns(undefined), mockRemoveExternalPositionPolicy.activateForFund.returns(undefined), mockRemoveExternalPositionPolicy.canDisable.returns(false), mockRemoveExternalPositionPolicy.validateRule.returns(true), mockRemoveExternalPositionPolicy.implementedHooks.returns([protocol.PolicyHook.RedeemSharesForSpecificAssets]), mockRemoveExternalPositionPolicy.updateFundSettings.returns(undefined)]);
3401
-
3402
- case 27:
3403
- return _context2.abrupt("return", {
3404
- mockAddTrackedAssetsPolicy: mockAddTrackedAssetsPolicy,
3405
- mockCreateExternalPositionPolicy: mockCreateExternalPositionPolicy,
3406
- mockPostBuySharesPolicy: mockPostBuySharesPolicy,
3407
- mockPostCallOnExternalPositionPolicy: mockPostCallOnExternalPositionPolicy,
3408
- mockPostCoIPolicy: mockPostCoIPolicy,
3409
- mockPreTransferSharesPolicy: mockPreTransferSharesPolicy,
3410
- mockRedeemSharesForSpecificAssetsPolicy: mockRedeemSharesForSpecificAssetsPolicy,
3411
- mockRemoveExternalPositionPolicy: mockRemoveExternalPositionPolicy
3412
- });
3413
-
3414
- case 28:
3415
- case "end":
3416
- return _context2.stop();
3417
- }
3418
- }
3419
- }, _callee2);
3420
- }));
3421
- return _generateMockPolicies.apply(this, arguments);
3422
- }
3423
-
3424
- function assertEvent(receipt, event, match) {
3425
- var _events$shift;
3426
-
3427
- var events = ethers$1.extractEvent(receipt, event);
3428
- expect(events.length).toBe(1);
3429
- expect(receipt).toHaveEmittedWith(event, match);
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
-
3432
- return args;
3433
- }
3434
- function assertNoEvent(receipt, event) {
3435
- var events = ethers$1.extractEvent(receipt, event);
3436
- expect(events.length).toBe(0);
3437
- }
3438
-
3439
- function buyShares(_x) {
3440
- return _buyShares.apply(this, arguments);
3441
- }
3442
-
3443
- function _buyShares() {
3444
- _buyShares = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(options) {
3445
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
3446
- while (1) {
3447
- switch (_context.prev = _context.next) {
3448
- case 0:
3449
- _context.next = 2;
3450
- return buySharesFunction(options);
3451
-
3452
- case 2:
3453
- return _context.abrupt("return", _context.sent.send());
3454
-
3455
- case 3:
3456
- case "end":
3457
- return _context.stop();
3458
- }
3459
- }
3460
- }, _callee);
3461
- }));
3462
- return _buyShares.apply(this, arguments);
3463
- }
3464
-
3465
- function buySharesFunction(_x2) {
3466
- return _buySharesFunction.apply(this, arguments);
3467
- }
3468
-
3469
- function _buySharesFunction() {
3470
- _buySharesFunction = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(_ref) {
3471
- var comptrollerProxy, denominationAsset, buyer, investmentAmount, _ref$minSharesQuantit, minSharesQuantity, _ref$seedBuyer, seedBuyer;
3472
-
3473
- return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
3474
- while (1) {
3475
- switch (_context2.prev = _context2.next) {
3476
- case 0:
3477
- comptrollerProxy = _ref.comptrollerProxy, denominationAsset = _ref.denominationAsset, buyer = _ref.buyer, investmentAmount = _ref.investmentAmount, _ref$minSharesQuantit = _ref.minSharesQuantity, minSharesQuantity = _ref$minSharesQuantit === void 0 ? 1 : _ref$minSharesQuantit, _ref$seedBuyer = _ref.seedBuyer, seedBuyer = _ref$seedBuyer === void 0 ? false : _ref$seedBuyer;
3478
-
3479
- if (!(investmentAmount == undefined)) {
3480
- _context2.next = 7;
3481
- break;
3482
- }
3483
-
3484
- _context2.t0 = ethers.utils;
3485
- _context2.next = 5;
3486
- return denominationAsset.decimals();
3487
-
3488
- case 5:
3489
- _context2.t1 = _context2.sent;
3490
- investmentAmount = _context2.t0.parseUnits.call(_context2.t0, '1', _context2.t1);
3491
-
3492
- case 7:
3493
- if (!seedBuyer) {
3494
- _context2.next = 10;
3495
- break;
3496
- }
3497
-
3498
- _context2.next = 10;
3499
- return denominationAsset.transfer(buyer, investmentAmount);
3500
-
3501
- case 10:
3502
- _context2.next = 12;
3503
- return denominationAsset.connect(buyer).approve(comptrollerProxy, investmentAmount);
3504
-
3505
- case 12:
3506
- return _context2.abrupt("return", comptrollerProxy.connect(buyer).buyShares.args(investmentAmount, minSharesQuantity).ref);
3507
-
3508
- case 13:
3509
- case "end":
3510
- return _context2.stop();
3511
- }
3512
- }
3513
- }, _callee2);
3514
- }));
3515
- return _buySharesFunction.apply(this, arguments);
3516
- }
3517
-
3518
- function redeemSharesForSpecificAssets(_x3) {
3519
- return _redeemSharesForSpecificAssets.apply(this, arguments);
3520
- }
3521
-
3522
- function _redeemSharesForSpecificAssets() {
3523
- _redeemSharesForSpecificAssets = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee3(_ref2) {
3524
- var comptrollerProxy, signer, _ref2$recipient, recipient, _ref2$quantity, quantity, payoutAssets, payoutAssetPercentages;
3525
-
3526
- return _regeneratorRuntime__default['default'].wrap(function _callee3$(_context3) {
3527
- while (1) {
3528
- switch (_context3.prev = _context3.next) {
3529
- case 0:
3530
- comptrollerProxy = _ref2.comptrollerProxy, signer = _ref2.signer, _ref2$recipient = _ref2.recipient, recipient = _ref2$recipient === void 0 ? signer : _ref2$recipient, _ref2$quantity = _ref2.quantity, quantity = _ref2$quantity === void 0 ? ethers.constants.MaxUint256 : _ref2$quantity, payoutAssets = _ref2.payoutAssets, payoutAssetPercentages = _ref2.payoutAssetPercentages;
3531
- return _context3.abrupt("return", comptrollerProxy.connect(signer).redeemSharesForSpecificAssets(recipient, quantity, payoutAssets, payoutAssetPercentages));
3532
-
3533
- case 2:
3534
- case "end":
3535
- return _context3.stop();
3536
- }
3537
- }
3538
- }, _callee3);
3539
- }));
3540
- return _redeemSharesForSpecificAssets.apply(this, arguments);
3541
- }
3542
-
3543
- function redeemSharesInKind(_x4) {
3544
- return _redeemSharesInKind.apply(this, arguments);
3545
- }
3546
-
3547
- function _redeemSharesInKind() {
3548
- _redeemSharesInKind = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee4(_ref3) {
3549
- var comptrollerProxy, signer, _ref3$recipient, recipient, _ref3$quantity, quantity, _ref3$additionalAsset, additionalAssets, _ref3$assetsToSkip, assetsToSkip;
3550
-
3551
- return _regeneratorRuntime__default['default'].wrap(function _callee4$(_context4) {
3552
- while (1) {
3553
- switch (_context4.prev = _context4.next) {
3554
- case 0:
3555
- comptrollerProxy = _ref3.comptrollerProxy, signer = _ref3.signer, _ref3$recipient = _ref3.recipient, recipient = _ref3$recipient === void 0 ? signer : _ref3$recipient, _ref3$quantity = _ref3.quantity, quantity = _ref3$quantity === void 0 ? ethers.constants.MaxUint256 : _ref3$quantity, _ref3$additionalAsset = _ref3.additionalAssets, additionalAssets = _ref3$additionalAsset === void 0 ? [] : _ref3$additionalAsset, _ref3$assetsToSkip = _ref3.assetsToSkip, assetsToSkip = _ref3$assetsToSkip === void 0 ? [] : _ref3$assetsToSkip;
3556
- return _context4.abrupt("return", comptrollerProxy.connect(signer).redeemSharesInKind(recipient, quantity, additionalAssets, assetsToSkip));
3557
-
3558
- case 2:
3559
- case "end":
3560
- return _context4.stop();
3561
- }
3562
- }
3563
- }, _callee4);
3564
- }));
3565
- return _redeemSharesInKind.apply(this, arguments);
3566
- }
3567
-
3568
- function ownKeys$1(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; }
3569
-
3570
- function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$1(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
3571
- function createComptrollerProxy(_x) {
3572
- return _createComptrollerProxy.apply(this, arguments);
3573
- }
3574
-
3575
- function _createComptrollerProxy() {
3576
- _createComptrollerProxy = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
3577
- var signer, comptrollerLib, denominationAsset, _ref$sharesActionTime, sharesActionTimelock, constructData, comptrollerProxyContract;
3578
-
3579
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
3580
- while (1) {
3581
- switch (_context.prev = _context.next) {
3582
- case 0:
3583
- signer = _ref.signer, comptrollerLib = _ref.comptrollerLib, denominationAsset = _ref.denominationAsset, _ref$sharesActionTime = _ref.sharesActionTimelock, sharesActionTimelock = _ref$sharesActionTime === void 0 ? 0 : _ref$sharesActionTime;
3584
- constructData = protocol.encodeFunctionData(comptrollerLib.init.fragment, [denominationAsset, sharesActionTimelock]);
3585
- _context.next = 4;
3586
- return protocol.ComptrollerProxy.deploy(signer, constructData, comptrollerLib);
3587
-
3588
- case 4:
3589
- comptrollerProxyContract = _context.sent;
3590
- return _context.abrupt("return", {
3591
- comptrollerProxy: new protocol.ComptrollerLib(comptrollerProxyContract, signer),
3592
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
3593
- receipt: comptrollerProxyContract.deployment
3594
- });
3595
-
3596
- case 6:
3597
- case "end":
3598
- return _context.stop();
3599
- }
3600
- }
3601
- }, _callee);
3602
- }));
3603
- return _createComptrollerProxy.apply(this, arguments);
3604
- }
3605
-
3606
- function createMigrationRequest(_x2) {
3607
- return _createMigrationRequest.apply(this, arguments);
3608
- } // TODO: should we pass in the fundOwner as a signer also so we can connect comptroller proxy and vault proxy to that acct instead?
3609
-
3610
- function _createMigrationRequest() {
3611
- _createMigrationRequest = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(_ref2) {
3612
- var signer, fundDeployer, vaultProxy, denominationAsset, _ref2$sharesActionTim, sharesActionTimelock, _ref2$feeManagerConfi, feeManagerConfigData, _ref2$policyManagerCo, policyManagerConfigData, _ref2$bypassPrevRelea, bypassPrevReleaseFailure, receipt, comptrollerDeployedArgs;
3613
-
3614
- return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
3615
- while (1) {
3616
- switch (_context2.prev = _context2.next) {
3617
- case 0:
3618
- signer = _ref2.signer, fundDeployer = _ref2.fundDeployer, vaultProxy = _ref2.vaultProxy, denominationAsset = _ref2.denominationAsset, _ref2$sharesActionTim = _ref2.sharesActionTimelock, sharesActionTimelock = _ref2$sharesActionTim === void 0 ? 0 : _ref2$sharesActionTim, _ref2$feeManagerConfi = _ref2.feeManagerConfigData, feeManagerConfigData = _ref2$feeManagerConfi === void 0 ? '0x' : _ref2$feeManagerConfi, _ref2$policyManagerCo = _ref2.policyManagerConfigData, policyManagerConfigData = _ref2$policyManagerCo === void 0 ? '0x' : _ref2$policyManagerCo, _ref2$bypassPrevRelea = _ref2.bypassPrevReleaseFailure, bypassPrevReleaseFailure = _ref2$bypassPrevRelea === void 0 ? false : _ref2$bypassPrevRelea;
3619
- _context2.next = 3;
3620
- return fundDeployer.connect(signer).createMigrationRequest(vaultProxy, denominationAsset, sharesActionTimelock, feeManagerConfigData, policyManagerConfigData, bypassPrevReleaseFailure);
3621
-
3622
- case 3:
3623
- receipt = _context2.sent;
3624
- comptrollerDeployedArgs = assertEvent(receipt, 'ComptrollerProxyDeployed', {
3625
- comptrollerProxy: expect.any(String),
3626
- creator: signer,
3627
- denominationAsset: denominationAsset,
3628
- sharesActionTimelock: ethers.BigNumber.from(sharesActionTimelock)
3629
- });
3630
- return _context2.abrupt("return", {
3631
- comptrollerProxy: new protocol.ComptrollerLib(comptrollerDeployedArgs.comptrollerProxy, signer),
3632
- receipt: receipt
3633
- });
3634
-
3635
- case 6:
3636
- case "end":
3637
- return _context2.stop();
3638
- }
3639
- }
3640
- }, _callee2);
3641
- }));
3642
- return _createMigrationRequest.apply(this, arguments);
3643
- }
3644
-
3645
- function createNewFund(_x3) {
3646
- return _createNewFund.apply(this, arguments);
3647
- }
3648
-
3649
- function _createNewFund() {
3650
- _createNewFund = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee3(_ref3) {
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;
3652
-
3653
- return _regeneratorRuntime__default['default'].wrap(function _callee3$(_context3) {
3654
- while (1) {
3655
- switch (_context3.prev = _context3.next) {
3656
- case 0:
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;
3658
- _context3.next = 3;
3659
- return fundDeployer.connect(signer).createNewFund(fundOwner, fundName, fundSymbol, denominationAsset, sharesActionTimelock, feeManagerConfig, policyManagerConfig);
3660
-
3661
- case 3:
3662
- receipt = _context3.sent;
3663
- comptrollerDeployedArgs = assertEvent(receipt, 'ComptrollerProxyDeployed', {
3664
- comptrollerProxy: expect.any(String),
3665
- creator: signer,
3666
- denominationAsset: denominationAsset,
3667
- sharesActionTimelock: ethers.BigNumber.from(sharesActionTimelock)
3668
- });
3669
- comptrollerProxy = new protocol.ComptrollerLib(comptrollerDeployedArgs.comptrollerProxy, signer);
3670
- newFundDeployedArgs = assertEvent(receipt, 'NewFundCreated', {
3671
- comptrollerProxy: comptrollerProxy,
3672
- creator: signer,
3673
- vaultProxy: expect.any(String)
3674
- });
3675
- vaultProxy = new protocol.VaultLib(newFundDeployedArgs.vaultProxy, signer);
3676
-
3677
- if (!(investment != null)) {
3678
- _context3.next = 11;
3679
- break;
3680
- }
3681
-
3682
- _context3.next = 11;
3683
- return buyShares(_objectSpread$1({
3684
- comptrollerProxy: comptrollerProxy,
3685
- denominationAsset: denominationAsset
3686
- }, investment));
3687
-
3688
- case 11:
3689
- return _context3.abrupt("return", {
3690
- comptrollerProxy: comptrollerProxy,
3691
- receipt: receipt,
3692
- vaultProxy: vaultProxy
3693
- });
3694
-
3695
- case 12:
3696
- case "end":
3697
- return _context3.stop();
3698
- }
3699
- }
3700
- }, _callee3);
3701
- }));
3702
- return _createNewFund.apply(this, arguments);
3703
- }
3704
-
3705
- function createReconfigurationRequest(_x4) {
3706
- return _createReconfigurationRequest.apply(this, arguments);
3707
- }
3708
-
3709
- function _createReconfigurationRequest() {
3710
- _createReconfigurationRequest = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee4(_ref4) {
3711
- var signer, fundDeployer, vaultProxy, denominationAsset, _ref4$sharesActionTim, sharesActionTimelock, _ref4$feeManagerConfi, feeManagerConfigData, _ref4$policyManagerCo, policyManagerConfigData, receipt, comptrollerDeployedArgs;
3712
-
3713
- return _regeneratorRuntime__default['default'].wrap(function _callee4$(_context4) {
3714
- while (1) {
3715
- switch (_context4.prev = _context4.next) {
3716
- case 0:
3717
- signer = _ref4.signer, fundDeployer = _ref4.fundDeployer, vaultProxy = _ref4.vaultProxy, denominationAsset = _ref4.denominationAsset, _ref4$sharesActionTim = _ref4.sharesActionTimelock, sharesActionTimelock = _ref4$sharesActionTim === void 0 ? 0 : _ref4$sharesActionTim, _ref4$feeManagerConfi = _ref4.feeManagerConfigData, feeManagerConfigData = _ref4$feeManagerConfi === void 0 ? '0x' : _ref4$feeManagerConfi, _ref4$policyManagerCo = _ref4.policyManagerConfigData, policyManagerConfigData = _ref4$policyManagerCo === void 0 ? '0x' : _ref4$policyManagerCo;
3718
- _context4.next = 3;
3719
- return fundDeployer.connect(signer).createReconfigurationRequest(vaultProxy, denominationAsset, sharesActionTimelock, feeManagerConfigData, policyManagerConfigData);
3720
-
3721
- case 3:
3722
- receipt = _context4.sent;
3723
- comptrollerDeployedArgs = assertEvent(receipt, 'ComptrollerProxyDeployed', {
3724
- comptrollerProxy: expect.any(String),
3725
- creator: signer,
3726
- denominationAsset: denominationAsset,
3727
- sharesActionTimelock: ethers.BigNumber.from(sharesActionTimelock)
3728
- });
3729
- return _context4.abrupt("return", {
3730
- comptrollerProxy: new protocol.ComptrollerLib(comptrollerDeployedArgs.comptrollerProxy, signer),
3731
- receipt: receipt
3732
- });
3733
-
3734
- case 6:
3735
- case "end":
3736
- return _context4.stop();
3737
- }
3738
- }
3739
- }, _callee4);
3740
- }));
3741
- return _createReconfigurationRequest.apply(this, arguments);
3742
- }
3743
-
3744
- function createVaultProxy(_x5) {
3745
- return _createVaultProxy.apply(this, arguments);
3746
- }
3747
-
3748
- function _createVaultProxy() {
3749
- _createVaultProxy = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee5(_ref5) {
3750
- var signer, vaultLib, fundOwner, fundAccessor, _ref5$fundName, fundName, constructData, vaultProxyContract;
3751
-
3752
- return _regeneratorRuntime__default['default'].wrap(function _callee5$(_context5) {
3753
- while (1) {
3754
- switch (_context5.prev = _context5.next) {
3755
- case 0:
3756
- signer = _ref5.signer, vaultLib = _ref5.vaultLib, fundOwner = _ref5.fundOwner, fundAccessor = _ref5.fundAccessor, _ref5$fundName = _ref5.fundName, fundName = _ref5$fundName === void 0 ? 'My Fund' : _ref5$fundName;
3757
- constructData = protocol.encodeFunctionData(vaultLib.init.fragment, [fundOwner, fundAccessor, fundName]);
3758
- _context5.next = 4;
3759
- return protocol.VaultProxy.deploy(signer, constructData, vaultLib);
3760
-
3761
- case 4:
3762
- vaultProxyContract = _context5.sent;
3763
- return _context5.abrupt("return", new protocol.VaultLib(vaultProxyContract, fundAccessor));
3764
-
3765
- case 6:
3766
- case "end":
3767
- return _context5.stop();
3768
- }
3769
- }
3770
- }, _callee5);
3771
- }));
3772
- return _createVaultProxy.apply(this, arguments);
3773
- }
3774
-
3775
- function setupGasRelayerPaymaster(_x6) {
3776
- return _setupGasRelayerPaymaster.apply(this, arguments);
3777
- }
3778
-
3779
- function _setupGasRelayerPaymaster() {
3780
- _setupGasRelayerPaymaster = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee6(_ref6) {
3781
- var signer, vaultProxy, fundAccessor, weth, _ref6$startingBalance, startingBalance, comptrollerProxy, receipt, eventArgs;
3782
-
3783
- return _regeneratorRuntime__default['default'].wrap(function _callee6$(_context6) {
3784
- while (1) {
3785
- switch (_context6.prev = _context6.next) {
3786
- case 0:
3787
- signer = _ref6.signer, vaultProxy = _ref6.vaultProxy, fundAccessor = _ref6.fundAccessor, weth = _ref6.weth, _ref6$startingBalance = _ref6.startingBalance, startingBalance = _ref6$startingBalance === void 0 ? ethers.utils.parseUnits('10', 18) : _ref6$startingBalance;
3788
- _context6.next = 3;
3789
- return weth.transfer(vaultProxy, startingBalance);
3790
-
3791
- case 3:
3792
- comptrollerProxy = new protocol.ComptrollerLib(fundAccessor, signer);
3793
- _context6.next = 6;
3794
- return comptrollerProxy.deployGasRelayPaymaster();
3795
-
3796
- case 6:
3797
- receipt = _context6.sent;
3798
- eventArgs = assertEvent(receipt, 'GasRelayPaymasterSet', {
3799
- gasRelayPaymaster: expect.any(String)
3800
- });
3801
- return _context6.abrupt("return", new protocol.GasRelayPaymasterLib(eventArgs.gasRelayPaymaster, signer));
3802
-
3803
- case 9:
3804
- case "end":
3805
- return _context6.stop();
3806
- }
3807
- }
3808
- }, _callee6);
3809
- }));
3810
- return _setupGasRelayerPaymaster.apply(this, arguments);
3811
- }
3812
-
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);
3844
- }
3845
-
3846
- function vaultCallCurveMinterMint(_ref2) {
3847
- var comptrollerProxy = _ref2.comptrollerProxy,
3848
- minter = _ref2.minter,
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;
3856
- var gaugesFormatted = new Array(8).fill(ethers.constants.AddressZero);
3857
-
3858
- for (var i in gauges) {
3859
- gaugesFormatted[i] = gauges[i];
3860
- }
3861
-
3862
- return comptrollerProxy.vaultCallOnContract(minter, protocol.curveMinterMintManySelector, protocol.encodeArgs(['address[8]'], [gaugesFormatted]));
3863
- }
3864
- function vaultCallCurveMinterToggleApproveMint(_ref4) {
3865
- var comptrollerProxy = _ref4.comptrollerProxy,
3866
- minter = _ref4.minter,
3867
- account = _ref4.account;
3868
- return comptrollerProxy.vaultCallOnContract(minter, protocol.curveMinterToggleApproveMintSelector, protocol.encodeArgs(['address'], [account]));
3869
- }
3870
- function vaultCallStartAssetBypassTimelock(_ref5) {
3871
- var comptrollerProxy = _ref5.comptrollerProxy,
3872
- contract = _ref5.contract,
3873
- asset = _ref5.asset;
3874
- return comptrollerProxy.vaultCallOnContract(contract, protocol.sighash(ethers.utils.FunctionFragment.fromString('startAssetBypassTimelock(address)')), protocol.encodeArgs(['address'], [asset]));
3875
- }
3876
-
3877
- function transactionTimestamp(_x) {
3878
- return _transactionTimestamp.apply(this, arguments);
3879
- }
3880
-
3881
- function _transactionTimestamp() {
3882
- _transactionTimestamp = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(receipt) {
3883
- var block;
3884
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
3885
- while (1) {
3886
- switch (_context.prev = _context.next) {
3887
- case 0:
3888
- _context.next = 2;
3889
- return provider.getBlock(receipt.blockNumber);
3890
-
3891
- case 2:
3892
- block = _context.sent;
3893
- return _context.abrupt("return", block.timestamp);
3894
-
3895
- case 4:
3896
- case "end":
3897
- return _context.stop();
3898
- }
3899
- }
3900
- }, _callee);
3901
- }));
3902
- return _transactionTimestamp.apply(this, arguments);
3903
- }
3904
-
3905
- function calcMlnValueAndBurnAmountForSharesBuyback(_x2) {
3906
- return _calcMlnValueAndBurnAmountForSharesBuyback.apply(this, arguments);
3907
- }
3908
-
3909
- function _calcMlnValueAndBurnAmountForSharesBuyback() {
3910
- _calcMlnValueAndBurnAmountForSharesBuyback = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(_ref) {
3911
- var valueInterpreter, mln, denominationAsset, sharesSupply, gav, buybackSharesAmount, grossShareValue, denominationAssetValueOfBuyback, mlnValueOfBuyback, mlnAmountToBurn;
3912
- return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
3913
- while (1) {
3914
- switch (_context2.prev = _context2.next) {
3915
- case 0:
3916
- valueInterpreter = _ref.valueInterpreter, mln = _ref.mln, denominationAsset = _ref.denominationAsset, sharesSupply = _ref.sharesSupply, gav = _ref.gav, buybackSharesAmount = _ref.buybackSharesAmount;
3917
- // Calculate expected mlnValue of shares to buyback
3918
- // TODO: calcGrossShareValue can also be a helper util
3919
- grossShareValue = ethers.BigNumber.from(gav).mul(ethers.utils.parseEther('1')).div(sharesSupply);
3920
- denominationAssetValueOfBuyback = grossShareValue.mul(buybackSharesAmount).div(ethers.utils.parseEther('1'));
3921
- _context2.next = 5;
3922
- return valueInterpreter.calcCanonicalAssetValue.args(denominationAsset, denominationAssetValueOfBuyback, mln).call();
3923
-
3924
- case 5:
3925
- mlnValueOfBuyback = _context2.sent;
3926
- // 50% discount
3927
- mlnAmountToBurn = mlnValueOfBuyback.div(2);
3928
- return _context2.abrupt("return", {
3929
- mlnAmountToBurn: mlnAmountToBurn,
3930
- mlnValue: mlnValueOfBuyback
3931
- });
3932
-
3933
- case 8:
3934
- case "end":
3935
- return _context2.stop();
3936
- }
3937
- }
3938
- }, _callee2);
3939
- }));
3940
- return _calcMlnValueAndBurnAmountForSharesBuyback.apply(this, arguments);
3941
- }
3942
-
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; }
3944
-
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 */
3948
- var whales = {
3949
- // primitives
3950
- bat: '0x12274c71304bc0e6b38a56b94d2949b118feb838',
3951
- bnb: '0xbe0eb53f46cd790cd13851d5eff43d12404d33e8',
3952
- bnt: '0x7d1ed1601a12a172269436fa95fe156650603c1d',
3953
- busd: '0x47ac0fb4f2d84898e4d9e7b4dab3c24507a6d503',
3954
- comp: '0x0f50d31b3eaefd65236dd3736b863cffa4c63c4e',
3955
- crv: '0x4ce799e6eD8D64536b67dD428565d52A531B3640',
3956
- dai: '0x47ac0fb4f2d84898e4d9e7b4dab3c24507a6d503',
3957
- knc: '0x09d51654bd9efbfcb56da3491989cc1444095fff',
3958
- ldo: '0x3dba737ccc50a32a1764b493285dd51c8af6c278',
3959
- link: '0xbe6977e08d4479c0a6777539ae0e8fa27be4e9d6',
3960
- mana: '0xefb94ac00f1cee8a89d5c3f49faa799da6f03024',
3961
- mln: '0xd8f8a53945bcfbbc19da162aa405e662ef71c40d',
3962
- ohm: '0x71a53aff36a699110d66d6bdfff2320caf8d2d59',
3963
- rep: '0xc6a043b07d33b6f30d8cb501026c391cfd25abe1',
3964
- ren: '0xbe0eb53f46cd790cd13851d5eff43d12404d33e8',
3965
- susd: '0xa5f7a39e55d7878bc5bd754ee5d6bd7a7662355b',
3966
- sohm: '0xf280f037cdbda99727ddf5dfede91e68fa78605c',
3967
- uni: '0x47173b170c64d16393a52e6c480b3ad8c302ba1e',
3968
- usdc: '0xae2d4617c862309a3d75a0ffb358c7a5009c673f',
3969
- usdt: '0x5041ed759dd4afc3a72b8192c143f72f4724081a',
3970
- weth: '0xe08A8b19e5722a201EaF20A6BC595eF655397bd5',
3971
- zrx: '0x206376e8940e42538781cd94ef024df3c1e0fd43',
3972
- // aTokens
3973
- ausdc: '0x3DdfA8eC3052539b6C9549F12cEA2C295cfF5296',
3974
- ausdt: '0x7d6149ad9a573a6e2ca6ebf7d4897c1b766841b4',
3975
- // cTokens
3976
- ccomp: '0xd74f186194ab9219fafac5c2fe4b3270169666db',
3977
- cdai: '0xab4ce310054a11328685ece1043211b68ba5d082',
3978
- ceth: '0x8aceab8167c80cb8b3de7fa6228b889bb1130ee8',
3979
- cuni: '0x39d8014b4f40d2cbc441137011d32023f4f1fd87',
3980
- cusdc: '0xe1ed4da4284924ddaf69983b4d813fb1be58c380',
3981
- // ptTokens
3982
- ptUsdc: '0xd18236cd213f39d078177b6f6908f0e44e88e4aa',
3983
- // synths
3984
- seth: '0xc34a7c65aa08cb36744bda8eeec7b8e9891e147c',
3985
- seur: '0xc3f2f91723b16b95bef0619b2504c049075d5b0b',
3986
- sxag: '0x40d68c490bf7262ec40048099aec23535f734be2',
3987
- sxau: '0x92eb453b7b5b8d41edb44e2c8b8b53eb70a482c7',
3988
- // misc
3989
- lidoSteth: '0x31f644e2dd5d74f5c8d6d9de89dd517474d51800',
3990
- eurs: '0x98ed26de6451db36246672df78ae7c50f2c76f6d',
3991
- ust: '0xf584f8728b874a6a5c7a8d4d387c9aae9172d621'
3992
- };
3993
- /* eslint-enable sort-keys-fix/sort-keys-fix */
3994
-
3995
- function unlockWhale(_x) {
3996
- return _unlockWhale.apply(this, arguments);
3997
- }
3998
-
3999
- function _unlockWhale() {
4000
- _unlockWhale = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(token) {
4001
- var address;
4002
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
4003
- while (1) {
4004
- switch (_context.prev = _context.next) {
4005
- case 0:
4006
- address = ethers$1.resolveAddress(whales[token]);
4007
- _context.next = 3;
4008
- return provider.send('hardhat_impersonateAccount', [address]);
4009
-
4010
- case 3:
4011
- return _context.abrupt("return", provider.getSignerWithAddress(address));
4012
-
4013
- case 4:
4014
- case "end":
4015
- return _context.stop();
4016
- }
4017
- }
4018
- }, _callee);
4019
- }));
4020
- return _unlockWhale.apply(this, arguments);
4021
- }
4022
-
4023
- function unlockAllWhales() {
4024
- return _unlockAllWhales.apply(this, arguments);
4025
- }
4026
-
4027
- function _unlockAllWhales() {
4028
- _unlockAllWhales = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee3() {
4029
- var keys, signers;
4030
- return _regeneratorRuntime__default['default'].wrap(function _callee3$(_context3) {
4031
- while (1) {
4032
- switch (_context3.prev = _context3.next) {
4033
- case 0:
4034
- keys = Object.keys(whales);
4035
- _context3.next = 3;
4036
- return Promise.all(keys.map( /*#__PURE__*/function () {
4037
- var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(token) {
4038
- return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
4039
- while (1) {
4040
- switch (_context2.prev = _context2.next) {
4041
- case 0:
4042
- return _context2.abrupt("return", unlockWhale(token));
4043
-
4044
- case 1:
4045
- case "end":
4046
- return _context2.stop();
4047
- }
4048
- }
4049
- }, _callee2);
4050
- }));
4051
-
4052
- return function (_x2) {
4053
- return _ref.apply(this, arguments);
4054
- };
4055
- }()));
4056
-
4057
- case 3:
4058
- signers = _context3.sent;
4059
- return _context3.abrupt("return", keys.reduce(function (carry, key, index) {
4060
- return _objectSpread(_objectSpread({}, carry), {}, _defineProperty({}, key, signers[index]));
4061
- }, {}));
4062
-
4063
- case 5:
4064
- case "end":
4065
- return _context3.stop();
4066
- }
4067
- }
4068
- }, _callee3);
4069
- }));
4070
- return _unlockAllWhales.apply(this, arguments);
4071
- }
4072
-
4073
- function unlockWhales() {
4074
- return _unlockWhales.apply(this, arguments);
4075
- }
4076
-
4077
- function _unlockWhales() {
4078
- _unlockWhales = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee5() {
4079
- var _len,
4080
- tokens,
4081
- _key,
4082
- signers,
4083
- _args5 = arguments;
4084
-
4085
- return _regeneratorRuntime__default['default'].wrap(function _callee5$(_context5) {
4086
- while (1) {
4087
- switch (_context5.prev = _context5.next) {
4088
- case 0:
4089
- for (_len = _args5.length, tokens = new Array(_len), _key = 0; _key < _len; _key++) {
4090
- tokens[_key] = _args5[_key];
4091
- }
4092
-
4093
- _context5.next = 3;
4094
- return Promise.all(tokens.map( /*#__PURE__*/function () {
4095
- var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee4(token) {
4096
- return _regeneratorRuntime__default['default'].wrap(function _callee4$(_context4) {
4097
- while (1) {
4098
- switch (_context4.prev = _context4.next) {
4099
- case 0:
4100
- return _context4.abrupt("return", unlockWhale(token));
4101
-
4102
- case 1:
4103
- case "end":
4104
- return _context4.stop();
4105
- }
4106
- }
4107
- }, _callee4);
4108
- }));
4109
-
4110
- return function (_x3) {
4111
- return _ref2.apply(this, arguments);
4112
- };
4113
- }()));
4114
-
4115
- case 3:
4116
- signers = _context5.sent;
4117
- return _context5.abrupt("return", tokens.reduce(function (carry, key, index) {
4118
- return _objectSpread(_objectSpread({}, carry), {}, _defineProperty({}, key, signers[index]));
4119
- }, {}));
4120
-
4121
- case 5:
4122
- case "end":
4123
- return _context5.stop();
4124
- }
4125
- }
4126
- }, _callee5);
4127
- }));
4128
- return _unlockWhales.apply(this, arguments);
4129
- }
4130
-
4131
- function relayTransaction(_x) {
4132
- return _relayTransaction.apply(this, arguments);
4133
- }
4134
-
4135
- function _relayTransaction() {
4136
- _relayTransaction = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(options) {
4137
- var signer, _yield$createSignedRe, relayData, relayRequest, signedRelayRequest, defaultGasLimit, defaultMaxAcceptance, mergedRelayRequest, relayHub;
4138
-
4139
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
4140
- while (1) {
4141
- switch (_context.prev = _context.next) {
4142
- case 0:
4143
- signer = options.sendFunction.contract.signer;
4144
-
4145
- if (signer && protocol.isTypedDataSigner(signer)) {
4146
- _context.next = 3;
4147
- break;
4148
- }
4149
-
4150
- throw new Error('Missing or invalid signer');
4151
-
4152
- case 3:
4153
- _context.next = 5;
4154
- return protocol.createSignedRelayRequest(options);
4155
-
4156
- case 5:
4157
- _yield$createSignedRe = _context.sent;
4158
- relayData = _yield$createSignedRe.relayData;
4159
- relayRequest = _yield$createSignedRe.relayRequest;
4160
- signedRelayRequest = _yield$createSignedRe.signedRelayRequest;
4161
- // NOTE: In the real implementation, we fetch these from the relayer.
4162
- defaultGasLimit = 12450000;
4163
- defaultMaxAcceptance = ethers.BigNumber.from(150000); // NOTE: There is an inconsistency between how the typed data object shape and the relayCall argument.
4164
-
4165
- mergedRelayRequest = {
4166
- relayData: relayData,
4167
- request: relayRequest
4168
- };
4169
- relayHub = new protocol.IGsnRelayHub(options.relayHub, provider.getSigner(options.relayWorker));
4170
- return _context.abrupt("return", relayHub.relayCall.args(defaultMaxAcceptance, mergedRelayRequest, signedRelayRequest, '0x', defaultGasLimit).gas(defaultGasLimit, relayData.gasPrice).send());
4171
-
4172
- case 14:
4173
- case "end":
4174
- return _context.stop();
4175
- }
4176
- }
4177
- }, _callee);
4178
- }));
4179
- return _relayTransaction.apply(this, arguments);
4180
- }
4181
-
4182
- var relayed = ethers.utils.EventFragment.fromString('TransactionRelayed(address indexed relayManager, address indexed relayWorker, address indexed from, address to, address paymaster, bytes4 selector, uint8 status, uint256 charge)');
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)');
4184
- function assertDidRelay(receipt) {
4185
- return assertEvent(receipt, relayed, {
4186
- charge: expect.anything(),
4187
- from: expect.any(String),
4188
- paymaster: expect.any(String),
4189
- relayManager: expect.any(String),
4190
- relayWorker: expect.any(String),
4191
- selector: expect.any(String),
4192
- status: expect.anything(),
4193
- to: expect.any(String)
4194
- });
4195
- }
4196
- function assertDidRelaySuccessfully(receipt) {
4197
- var result = assertDidRelay(receipt);
4198
- expect(result.status).toEqBigNumber(0);
4199
- }
4200
- function assertDidRelayWithError(receipt) {
4201
- var result = assertDidRelay(receipt);
4202
- expect(result.status).toEqBigNumber(1);
4203
- }
4204
- function assertDidRelayWithCharge(receipt, amount, tolerance) {
4205
- var result = assertDidRelay(receipt);
4206
- expect(result.charge).toBeAroundBigNumber(amount, tolerance);
4207
- }
4208
- function assertPaymasterDidReject(receipt) {
4209
- return assertEvent(receipt, rejected, {
4210
- from: expect.any(String),
4211
- innerGasUsed: expect.anything(),
4212
- paymaster: expect.any(String),
4213
- reason: expect.any(String),
4214
- relayManager: expect.any(String),
4215
- relayWorker: expect.any(String),
4216
- selector: expect.any(String),
4217
- to: expect.any(String)
4218
- });
4219
- }
4220
- function assertPaymasterDidRejectForReason(receipt, reason) {
4221
- var params = assertPaymasterDidReject(receipt);
4222
- expect(ethers.utils.toUtf8String('0x' + params.reason.substr(138))).toMatch(reason);
4223
- }
4224
-
4225
- exports.CurveLiquidityGaugeV2 = CurveLiquidityGaugeV2;
4226
- exports.CurveMinter = CurveMinter;
4227
- exports.CurveRegistry = CurveRegistry;
4228
- exports.CurveSwaps = CurveSwaps;
4229
- exports.ICompoundComptroller = ICompoundComptroller;
4230
- exports.IUniswapV3NonFungibleTokenManager = IUniswapV3NonFungibleTokenManager;
4231
- exports.UniswapV2Factory = UniswapV2Factory;
4232
- exports.aaveLend = aaveLend;
4233
- exports.aaveRedeem = aaveRedeem;
4234
- exports.addNewAssetsToFund = addNewAssetsToFund;
4235
- exports.addTrackedAssetsToVault = addTrackedAssetsToVault;
4236
- exports.assertDidRelay = assertDidRelay;
4237
- exports.assertDidRelaySuccessfully = assertDidRelaySuccessfully;
4238
- exports.assertDidRelayWithCharge = assertDidRelayWithCharge;
4239
- exports.assertDidRelayWithError = assertDidRelayWithError;
4240
- exports.assertEvent = assertEvent;
4241
- exports.assertNoEvent = assertNoEvent;
4242
- exports.assertPaymasterDidReject = assertPaymasterDidReject;
4243
- exports.assertPaymasterDidRejectForReason = assertPaymasterDidRejectForReason;
4244
- exports.buyShares = buyShares;
4245
- exports.buySharesFunction = buySharesFunction;
4246
- exports.calcMlnValueAndBurnAmountForSharesBuyback = calcMlnValueAndBurnAmountForSharesBuyback;
4247
- exports.callOnExtension = callOnExtension;
4248
- exports.callOnExternalPosition = callOnExternalPosition;
4249
- exports.compoundDebtPositionAddCollateral = compoundDebtPositionAddCollateral;
4250
- exports.compoundDebtPositionBorrow = compoundDebtPositionBorrow;
4251
- exports.compoundDebtPositionClaimComp = compoundDebtPositionClaimComp;
4252
- exports.compoundDebtPositionRemoveCollateral = compoundDebtPositionRemoveCollateral;
4253
- exports.compoundDebtPositionRepayBorrow = compoundDebtPositionRepayBorrow;
4254
- exports.compoundLend = compoundLend;
4255
- exports.compoundRedeem = compoundRedeem;
4256
- exports.createCompoundDebtPosition = createCompoundDebtPosition;
4257
- exports.createComptrollerProxy = createComptrollerProxy;
4258
- exports.createExternalPosition = createExternalPosition;
4259
- exports.createFundDeployer = createFundDeployer;
4260
- exports.createMigrationRequest = createMigrationRequest;
4261
- exports.createMockExternalPosition = createMockExternalPosition;
4262
- exports.createNewFund = createNewFund;
4263
- exports.createReconfigurationRequest = createReconfigurationRequest;
4264
- exports.createUniswapV3LiquidityPosition = createUniswapV3LiquidityPosition;
4265
- exports.createVaultProxy = createVaultProxy;
4266
- exports.curveAaveClaimRewards = curveAaveClaimRewards;
4267
- exports.curveAaveLend = curveAaveLend;
4268
- exports.curveAaveLendAndStake = curveAaveLendAndStake;
4269
- exports.curveAaveRedeem = curveAaveRedeem;
4270
- exports.curveAaveStake = curveAaveStake;
4271
- exports.curveAaveUnstake = curveAaveUnstake;
4272
- exports.curveAaveUnstakeAndRedeem = curveAaveUnstakeAndRedeem;
4273
- exports.curveClaimRewards = curveClaimRewards;
4274
- exports.curveEursClaimRewards = curveEursClaimRewards;
4275
- exports.curveEursLend = curveEursLend;
4276
- exports.curveEursLendAndStake = curveEursLendAndStake;
4277
- exports.curveEursRedeem = curveEursRedeem;
4278
- exports.curveEursStake = curveEursStake;
4279
- exports.curveEursUnstake = curveEursUnstake;
4280
- exports.curveEursUnstakeAndRedeem = curveEursUnstakeAndRedeem;
4281
- exports.curveLend = curveLend;
4282
- exports.curveLendAndStake = curveLendAndStake;
4283
- exports.curveRedeem = curveRedeem;
4284
- exports.curveSethClaimRewards = curveSethClaimRewards;
4285
- exports.curveSethLend = curveSethLend;
4286
- exports.curveSethLendAndStake = curveSethLendAndStake;
4287
- exports.curveSethRedeem = curveSethRedeem;
4288
- exports.curveSethStake = curveSethStake;
4289
- exports.curveSethUnstake = curveSethUnstake;
4290
- exports.curveSethUnstakeAndRedeem = curveSethUnstakeAndRedeem;
4291
- exports.curveStake = curveStake;
4292
- exports.curveStethClaimRewards = curveStethClaimRewards;
4293
- exports.curveStethLend = curveStethLend;
4294
- exports.curveStethLendAndStake = curveStethLendAndStake;
4295
- exports.curveStethRedeem = curveStethRedeem;
4296
- exports.curveStethStake = curveStethStake;
4297
- exports.curveStethUnstake = curveStethUnstake;
4298
- exports.curveStethUnstakeAndRedeem = curveStethUnstakeAndRedeem;
4299
- exports.curveTakeOrder = curveTakeOrder;
4300
- exports.curveUnstake = curveUnstake;
4301
- exports.curveUnstakeAndRedeem = curveUnstakeAndRedeem;
4302
- exports.deployProtocolFixture = deployProtocolFixture;
4303
- exports.generateFeeManagerConfigWithMockFees = generateFeeManagerConfigWithMockFees;
4304
- exports.generateMockFees = generateMockFees;
4305
- exports.generateMockPolicies = generateMockPolicies;
4306
- exports.generatePolicyManagerConfigWithMockPolicies = generatePolicyManagerConfigWithMockPolicies;
4307
- exports.getAssetBalances = getAssetBalances;
4308
- exports.getAssetUnit = getAssetUnit;
4309
- exports.getNamedSigner = getNamedSigner;
4310
- exports.getUnnamedSigners = getUnnamedSigners;
4311
- exports.idleClaimRewards = idleClaimRewards;
4312
- exports.idleLend = idleLend;
4313
- exports.idleRedeem = idleRedeem;
4314
- exports.mockExternalPositionAddDebtAssets = mockExternalPositionAddDebtAssets;
4315
- exports.mockExternalPositionAddManagedAssets = mockExternalPositionAddManagedAssets;
4316
- exports.mockExternalPositionRemoveDebtAssets = mockExternalPositionRemoveDebtAssets;
4317
- exports.mockExternalPositionRemoveManagedAssets = mockExternalPositionRemoveManagedAssets;
4318
- exports.mockGenericRemoveOnlySelector = mockGenericRemoveOnlySelector;
4319
- exports.mockGenericSwap = mockGenericSwap;
4320
- exports.mockGenericSwapASelector = mockGenericSwapASelector;
4321
- exports.mockGenericSwapArgs = mockGenericSwapArgs;
4322
- exports.mockGenericSwapBSelector = mockGenericSwapBSelector;
4323
- exports.mockGenericSwapDirectFromVaultSelector = mockGenericSwapDirectFromVaultSelector;
4324
- exports.mockGenericSwapViaApprovalSelector = mockGenericSwapViaApprovalSelector;
4325
- exports.olympusV2Stake = olympusV2Stake;
4326
- exports.olympusV2Unstake = olympusV2Unstake;
4327
- exports.paraSwapV4GenerateDummyPaths = paraSwapV4GenerateDummyPaths;
4328
- exports.paraSwapV4TakeOrder = paraSwapV4TakeOrder;
4329
- exports.paraSwapV5GenerateDummyPaths = paraSwapV5GenerateDummyPaths;
4330
- exports.paraSwapV5TakeOrder = paraSwapV5TakeOrder;
4331
- exports.poolTogetherV4ClaimRewards = poolTogetherV4ClaimRewards;
4332
- exports.poolTogetherV4Lend = poolTogetherV4Lend;
4333
- exports.poolTogetherV4Redeem = poolTogetherV4Redeem;
4334
- exports.reactivateExternalPosition = reactivateExternalPosition;
4335
- exports.redeemSharesForSpecificAssets = redeemSharesForSpecificAssets;
4336
- exports.redeemSharesInKind = redeemSharesInKind;
4337
- exports.relayTransaction = relayTransaction;
4338
- exports.removeExternalPosition = removeExternalPosition;
4339
- exports.removeTrackedAssetsFromVault = removeTrackedAssetsFromVault;
4340
- exports.setupGasRelayerPaymaster = setupGasRelayerPaymaster;
4341
- exports.synthetixAssignExchangeDelegate = synthetixAssignExchangeDelegate;
4342
- exports.synthetixRedeem = synthetixRedeem;
4343
- exports.synthetixResolveAddress = synthetixResolveAddress;
4344
- exports.synthetixTakeOrder = synthetixTakeOrder;
4345
- exports.transactionTimestamp = transactionTimestamp;
4346
- exports.uniswapV2Lend = uniswapV2Lend;
4347
- exports.uniswapV2Redeem = uniswapV2Redeem;
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;
4357
- exports.uniswapV3TakeOrder = uniswapV3TakeOrder;
4358
- exports.unlockAllWhales = unlockAllWhales;
4359
- exports.unlockWhale = unlockWhale;
4360
- exports.unlockWhales = unlockWhales;
4361
- exports.updateChainlinkAggregator = updateChainlinkAggregator;
4362
- exports.vaultCallCreateNewList = vaultCallCreateNewList;
4363
- exports.vaultCallCurveMinterMint = vaultCallCurveMinterMint;
4364
- exports.vaultCallCurveMinterMintMany = vaultCallCurveMinterMintMany;
4365
- exports.vaultCallCurveMinterToggleApproveMint = vaultCallCurveMinterToggleApproveMint;
4366
- exports.vaultCallStartAssetBypassTimelock = vaultCallStartAssetBypassTimelock;
4367
- exports.yearnVaultV2Lend = yearnVaultV2Lend;
4368
- exports.yearnVaultV2Redeem = yearnVaultV2Redeem;
4369
- exports.zeroExV2TakeOrder = zeroExV2TakeOrder;