@enzymefinance/testutils 4.0.0-next.6 → 4.0.1

Sign up to get free protection for your applications and to get access to all the features.
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;