@enzymefinance/testutils 4.0.0 → 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 -84
  6. package/dist/declarations/src/assertions.d.ts +0 -4
  7. package/dist/declarations/src/deployment.d.ts +0 -188
  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 -16
  15. package/dist/declarations/src/scaffolding/extensions/common.d.ts +0 -11
  16. package/dist/declarations/src/scaffolding/extensions/external-positions/aave-debt.d.ts +0 -51
  17. package/dist/declarations/src/scaffolding/extensions/external-positions/actions.d.ts +0 -36
  18. package/dist/declarations/src/scaffolding/extensions/external-positions/compound.d.ts +0 -56
  19. package/dist/declarations/src/scaffolding/extensions/external-positions/index.d.ts +0 -5
  20. package/dist/declarations/src/scaffolding/extensions/external-positions/mocks.d.ts +0 -56
  21. package/dist/declarations/src/scaffolding/extensions/external-positions/uniswap-v3-liquidity.d.ts +0 -100
  22. package/dist/declarations/src/scaffolding/extensions/fees.d.ts +0 -12
  23. package/dist/declarations/src/scaffolding/extensions/index.d.ts +0 -5
  24. package/dist/declarations/src/scaffolding/extensions/integrations/aave.d.ts +0 -20
  25. package/dist/declarations/src/scaffolding/extensions/integrations/compound.d.ts +0 -56
  26. package/dist/declarations/src/scaffolding/extensions/integrations/curve.d.ts +0 -106
  27. package/dist/declarations/src/scaffolding/extensions/integrations/idle.d.ts +0 -28
  28. package/dist/declarations/src/scaffolding/extensions/integrations/index.d.ts +0 -14
  29. package/dist/declarations/src/scaffolding/extensions/integrations/mock.d.ts +0 -32
  30. package/dist/declarations/src/scaffolding/extensions/integrations/olympusV2.d.ts +0 -17
  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 -28
  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 -49
  45. package/dist/enzymefinance-testutils.browser.cjs.js +0 -4158
  46. package/dist/enzymefinance-testutils.browser.esm.js +0 -4028
  47. package/dist/enzymefinance-testutils.cjs.d.ts +0 -1
  48. package/dist/enzymefinance-testutils.cjs.dev.js +0 -4158
  49. package/dist/enzymefinance-testutils.cjs.js +0 -7
  50. package/dist/enzymefinance-testutils.cjs.prod.js +0 -4158
  51. package/dist/enzymefinance-testutils.esm.js +0 -4028
  52. package/src/assertions.ts +0 -23
  53. package/src/deployment.ts +0 -280
  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 -103
  61. package/src/scaffolding/extensions/common.ts +0 -30
  62. package/src/scaffolding/extensions/external-positions/aave-debt.ts +0 -179
  63. package/src/scaffolding/extensions/external-positions/actions.ts +0 -108
  64. package/src/scaffolding/extensions/external-positions/compound.ts +0 -190
  65. package/src/scaffolding/extensions/external-positions/index.ts +0 -5
  66. package/src/scaffolding/extensions/external-positions/mocks.ts +0 -191
  67. package/src/scaffolding/extensions/external-positions/uniswap-v3-liquidity.ts +0 -284
  68. package/src/scaffolding/extensions/fees.ts +0 -70
  69. package/src/scaffolding/extensions/index.ts +0 -5
  70. package/src/scaffolding/extensions/integrations/aave.ts +0 -78
  71. package/src/scaffolding/extensions/integrations/compound.ts +0 -255
  72. package/src/scaffolding/extensions/integrations/curve.ts +0 -354
  73. package/src/scaffolding/extensions/integrations/idle.ts +0 -104
  74. package/src/scaffolding/extensions/integrations/index.ts +0 -14
  75. package/src/scaffolding/extensions/integrations/mock.ts +0 -116
  76. package/src/scaffolding/extensions/integrations/olympusV2.ts +0 -71
  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 -111
  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 -2
  91. package/src/whales.ts +0 -82
  92. package/tsconfig.json +0 -5
@@ -1,4158 +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 _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
12
- var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
13
- var _defineProperty = require('@babel/runtime/helpers/defineProperty');
14
-
15
- function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
16
-
17
- var _regeneratorRuntime__default = /*#__PURE__*/_interopDefault(_regeneratorRuntime);
18
-
19
- function getNamedSigner(_x) {
20
- return _getNamedSigner.apply(this, arguments);
21
- }
22
-
23
- function _getNamedSigner() {
24
- _getNamedSigner = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(name) {
25
- var accounts;
26
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
27
- while (1) {
28
- switch (_context.prev = _context.next) {
29
- case 0:
30
- _context.next = 2;
31
- return hre.getNamedAccounts();
32
-
33
- case 2:
34
- accounts = _context.sent;
35
-
36
- if (accounts[name]) {
37
- _context.next = 5;
38
- break;
39
- }
40
-
41
- throw new Error("Missing account with name ".concat(name));
42
-
43
- case 5:
44
- return _context.abrupt("return", provider.getSignerWithAddress(accounts[name]));
45
-
46
- case 6:
47
- case "end":
48
- return _context.stop();
49
- }
50
- }
51
- }, _callee);
52
- }));
53
- return _getNamedSigner.apply(this, arguments);
54
- }
55
-
56
- function getUnnamedSigners() {
57
- return _getUnnamedSigners.apply(this, arguments);
58
- }
59
-
60
- function _getUnnamedSigners() {
61
- _getUnnamedSigners = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2() {
62
- var accounts;
63
- return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
64
- while (1) {
65
- switch (_context2.prev = _context2.next) {
66
- case 0:
67
- _context2.next = 2;
68
- return hre.getUnnamedAccounts();
69
-
70
- case 2:
71
- accounts = _context2.sent;
72
- return _context2.abrupt("return", Promise.all(accounts.map(function (account) {
73
- return provider.getSignerWithAddress(account);
74
- })));
75
-
76
- case 4:
77
- case "end":
78
- return _context2.stop();
79
- }
80
- }
81
- }, _callee2);
82
- }));
83
- return _getUnnamedSigners.apply(this, arguments);
84
- }
85
-
86
- function deployProtocolFixture() {
87
- return _deployProtocolFixture.apply(this, arguments);
88
- }
89
-
90
- function _deployProtocolFixture() {
91
- _deployProtocolFixture = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee3() {
92
- var fixture, deployer, accounts, config, deployment;
93
- return _regeneratorRuntime__default['default'].wrap(function _callee3$(_context3) {
94
- while (1) {
95
- switch (_context3.prev = _context3.next) {
96
- case 0:
97
- _context3.next = 2;
98
- return hre.deployments.fixture();
99
-
100
- case 2:
101
- fixture = _context3.sent;
102
- _context3.next = 5;
103
- return getNamedSigner('deployer');
104
-
105
- case 5:
106
- deployer = _context3.sent;
107
- _context3.next = 8;
108
- return getUnnamedSigners();
109
-
110
- case 8:
111
- accounts = _context3.sent;
112
- config = fixture['Config'].linkedData; // prettier-ignore
113
-
114
- deployment = {
115
- aaveAdapter: new protocol.AaveAdapter(fixture['AaveAdapter'].address, deployer),
116
- aaveDebtPositionLib: new protocol.AaveDebtPositionLib(fixture['AaveDebtPositionLib'].address, deployer),
117
- aaveDebtPositionParser: new protocol.AaveDebtPositionParser(fixture['AaveDebtPositionParser'].address, deployer),
118
- aavePriceFeed: new protocol.AavePriceFeed(fixture['AavePriceFeed'].address, deployer),
119
- addressListRegistry: new protocol.AddressListRegistry(fixture['AddressListRegistry'].address, deployer),
120
- allowedAdapterIncomingAssetsPolicy: new protocol.AllowedAdapterIncomingAssetsPolicy(fixture['AllowedAdapterIncomingAssetsPolicy'].address, deployer),
121
- allowedAdaptersPolicy: new protocol.AllowedAdaptersPolicy(fixture['AllowedAdaptersPolicy'].address, deployer),
122
- allowedAssetsForRedemptionPolicy: new protocol.AllowedAssetsForRedemptionPolicy(fixture['AllowedAssetsForRedemptionPolicy'].address, deployer),
123
- allowedDepositRecipientsPolicy: new protocol.AllowedDepositRecipientsPolicy(fixture['AllowedDepositRecipientsPolicy'].address, deployer),
124
- allowedExternalPositionTypesPolicy: new protocol.AllowedExternalPositionTypesPolicy(fixture['AllowedExternalPositionTypesPolicy'].address, deployer),
125
- allowedSharesTransferRecipientsPolicy: new protocol.AllowedSharesTransferRecipientsPolicy(fixture['AllowedSharesTransferRecipientsPolicy'].address, deployer),
126
- compoundAdapter: new protocol.CompoundAdapter(fixture['CompoundAdapter'].address, deployer),
127
- compoundDebtPositionLib: new protocol.CompoundDebtPositionLib(fixture['CompoundDebtPositionLib'].address, deployer),
128
- compoundDebtPositionParser: new protocol.CompoundDebtPositionParser(fixture['CompoundDebtPositionParser'].address, deployer),
129
- compoundPriceFeed: new protocol.CompoundPriceFeed(fixture['CompoundPriceFeed'].address, deployer),
130
- comptrollerLib: new protocol.ComptrollerLib(fixture['ComptrollerLib'].address, deployer),
131
- convexCurveLpStakingAdapter: new protocol.ConvexCurveLpStakingAdapter(fixture['ConvexCurveLpStakingAdapter'].address, deployer),
132
- convexCurveLpStakingWrapperFactory: new protocol.ConvexCurveLpStakingWrapperFactory(fixture['ConvexCurveLpStakingWrapperFactory'].address, deployer),
133
- convexCurveLpStakingWrapperPriceFeed: new protocol.ConvexCurveLpStakingWrapperPriceFeed(fixture['ConvexCurveLpStakingWrapperPriceFeed'].address, deployer),
134
- cumulativeSlippageTolerancePolicy: new protocol.CumulativeSlippageTolerancePolicy(fixture['CumulativeSlippageTolerancePolicy'].address, deployer),
135
- curveExchangeAdapter: new protocol.CurveExchangeAdapter(fixture['CurveExchangeAdapter'].address, deployer),
136
- curveLiquidityAdapter: new protocol.CurveLiquidityAdapter(fixture['CurveLiquidityAdapter'].address, deployer),
137
- curvePriceFeed: new protocol.CurvePriceFeed(fixture['CurvePriceFeed'].address, deployer),
138
- depositWrapper: new protocol.DepositWrapper(fixture['DepositWrapper'].address, deployer),
139
- dispatcher: new protocol.Dispatcher(fixture['Dispatcher'].address, deployer),
140
- entranceRateBurnFee: new protocol.EntranceRateBurnFee(fixture['EntranceRateBurnFee'].address, deployer),
141
- entranceRateDirectFee: new protocol.EntranceRateDirectFee(fixture['EntranceRateDirectFee'].address, deployer),
142
- exitRateBurnFee: new protocol.ExitRateBurnFee(fixture['ExitRateBurnFee'].address, deployer),
143
- exitRateDirectFee: new protocol.ExitRateDirectFee(fixture['ExitRateDirectFee'].address, deployer),
144
- externalPositionFactory: new protocol.ExternalPositionFactory(fixture['ExternalPositionFactory'].address, deployer),
145
- externalPositionManager: new protocol.ExternalPositionManager(fixture['ExternalPositionManager'].address, deployer),
146
- feeManager: new protocol.FeeManager(fixture['FeeManager'].address, deployer),
147
- fundDeployer: new protocol.FundDeployer(fixture['FundDeployer'].address, deployer),
148
- fundValueCalculator: new protocol.FundValueCalculator(fixture['FundValueCalculator'].address, deployer),
149
- fundValueCalculatorRouter: new protocol.FundValueCalculatorRouter(fixture['FundValueCalculatorRouter'].address, deployer),
150
- fundValueCalculatorUsdWrapper: new protocol.FundValueCalculatorUsdWrapper(fixture['FundValueCalculatorUsdWrapper'].address, deployer),
151
- fuseAdapter: new protocol.FuseAdapter(fixture['FuseAdapter'].address, deployer),
152
- fusePriceFeed: new protocol.FusePriceFeed(fixture['FusePriceFeed'].address, deployer),
153
- gasRelayPaymasterFactory: new protocol.GasRelayPaymasterFactory(fixture['GasRelayPaymasterFactory'].address, deployer),
154
- idleAdapter: new protocol.IdleAdapter(fixture['IdleAdapter'].address, deployer),
155
- idlePriceFeed: new protocol.IdlePriceFeed(fixture['IdlePriceFeed'].address, deployer),
156
- integrationManager: new protocol.IntegrationManager(fixture['IntegrationManager'].address, deployer),
157
- lidoStethPriceFeed: new protocol.LidoStethPriceFeed(fixture['LidoStethPriceFeed'].address, deployer),
158
- managementFee: new protocol.ManagementFee(fixture['ManagementFee'].address, deployer),
159
- minAssetBalancesPostRedemptionPolicy: new protocol.MinAssetBalancesPostRedemptionPolicy(fixture['MinAssetBalancesPostRedemptionPolicy'].address, deployer),
160
- minMaxInvestmentPolicy: new protocol.MinMaxInvestmentPolicy(fixture['MinMaxInvestmentPolicy'].address, deployer),
161
- olympusV2Adapter: new protocol.OlympusV2Adapter(fixture['OlympusV2Adapter'].address, deployer),
162
- onlyRemoveDustExternalPositionPolicy: new protocol.OnlyRemoveDustExternalPositionPolicy(fixture['OnlyRemoveDustExternalPositionPolicy'].address, deployer),
163
- onlyUntrackDustOrPricelessAssetsPolicy: new protocol.OnlyUntrackDustOrPricelessAssetsPolicy(fixture['OnlyUntrackDustOrPricelessAssetsPolicy'].address, deployer),
164
- paraSwapV5Adapter: new protocol.ParaSwapV5Adapter(fixture['ParaSwapV5Adapter'].address, deployer),
165
- performanceFee: new protocol.PerformanceFee(fixture['PerformanceFee'].address, deployer),
166
- policyManager: new protocol.PolicyManager(fixture['PolicyManager'].address, deployer),
167
- poolTogetherV4Adapter: new protocol.PoolTogetherV4Adapter(fixture['PoolTogetherV4Adapter'].address, deployer),
168
- poolTogetherV4PriceFeed: new protocol.PoolTogetherV4PriceFeed(fixture['PoolTogetherV4PriceFeed'].address, deployer),
169
- protocolFeeReserveLib: new protocol.ProtocolFeeReserveLib(fixture['ProtocolFeeReserveLib'].address, deployer),
170
- protocolFeeReserveProxy: new protocol.ProtocolFeeReserveLib(fixture['ProtocolFeeReserveProxy'].address, deployer),
171
- protocolFeeTracker: new protocol.ProtocolFeeTracker(fixture['ProtocolFeeTracker'].address, deployer),
172
- revertingPriceFeed: new protocol.RevertingPriceFeed(fixture['RevertingPriceFeed'].address, deployer),
173
- synthetixAdapter: new protocol.SynthetixAdapter(fixture['SynthetixAdapter'].address, deployer),
174
- uniswapV2ExchangeAdapter: new protocol.UniswapV2ExchangeAdapter(fixture['UniswapV2ExchangeAdapter'].address, deployer),
175
- uniswapV2LiquidityAdapter: new protocol.UniswapV2LiquidityAdapter(fixture['UniswapV2LiquidityAdapter'].address, deployer),
176
- uniswapV2PoolPriceFeed: new protocol.UniswapV2PoolPriceFeed(fixture['UniswapV2PoolPriceFeed'].address, deployer),
177
- uniswapV3Adapter: new protocol.UniswapV3Adapter(fixture['UniswapV3Adapter'].address, deployer),
178
- unpermissionedActionsWrapper: new protocol.UnpermissionedActionsWrapper(fixture['UnpermissionedActionsWrapper'].address, deployer),
179
- usdEthSimulatedAggregator: new protocol.UsdEthSimulatedAggregator(fixture['UsdEthSimulatedAggregator'].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, 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, 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, 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, _ref2$callOnExternalP, callOnExternalPositionData, 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, _ref2$callOnExternalP = _ref2.callOnExternalPositionData, callOnExternalPositionData = _ref2$callOnExternalP === void 0 ? '0x' : _ref2$callOnExternalP;
617
- _context2.next = 3;
618
- return comptrollerProxy.connect(signer).callOnExtension(externalPositionManager, protocol.ExternalPositionManagerActionId.CreateExternalPosition, protocol.encodeArgs(['uint256', 'bytes', 'bytes'], [externalPositionTypeId, initializationData, callOnExternalPositionData]));
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 createExternalPosition({
948
- comptrollerProxy: comptrollerProxy,
949
- externalPositionManager: externalPositionManager,
950
- externalPositionTypeId: typeId,
951
- signer: fundOwner
952
- });
953
-
954
- case 23:
955
- receipt = _context.sent;
956
- _context.next = 26;
957
- return vaultProxy.getActiveExternalPositions();
958
-
959
- case 26:
960
- externalPositionProxy = _context.sent[0];
961
- return _context.abrupt("return", {
962
- externalPositionProxy: externalPositionProxy,
963
- mockExternalPositionParser: mockExternalPositionParser,
964
- mockGenericExternalPositionLib: mockGenericExternalPositionLib,
965
- receipt: receipt,
966
- typeId: typeId
967
- });
968
-
969
- case 28:
970
- case "end":
971
- return _context.stop();
972
- }
973
- }
974
- }, _callee);
975
- }));
976
- return _createMockExternalPosition.apply(this, arguments);
977
- }
978
-
979
- function mockExternalPositionAddDebtAssets(_x2) {
980
- return _mockExternalPositionAddDebtAssets.apply(this, arguments);
981
- }
982
-
983
- function _mockExternalPositionAddDebtAssets() {
984
- _mockExternalPositionAddDebtAssets = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(_ref2) {
985
- var signer, comptrollerProxy, externalPositionManager, externalPositionProxy, assets, amounts, actionArgs;
986
- return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
987
- while (1) {
988
- switch (_context2.prev = _context2.next) {
989
- case 0:
990
- signer = _ref2.signer, comptrollerProxy = _ref2.comptrollerProxy, externalPositionManager = _ref2.externalPositionManager, externalPositionProxy = _ref2.externalPositionProxy, assets = _ref2.assets, amounts = _ref2.amounts;
991
- actionArgs = protocol.mockGenericExternalPositionActionArgs({
992
- amounts: amounts,
993
- assets: assets
994
- });
995
- return _context2.abrupt("return", callOnExternalPosition({
996
- actionArgs: actionArgs,
997
- actionId: protocol.MockGenericExternalPositionActionId.AddDebtAssets,
998
- comptrollerProxy: comptrollerProxy,
999
- externalPositionManager: externalPositionManager,
1000
- externalPositionProxy: externalPositionProxy,
1001
- signer: signer
1002
- }));
1003
-
1004
- case 3:
1005
- case "end":
1006
- return _context2.stop();
1007
- }
1008
- }
1009
- }, _callee2);
1010
- }));
1011
- return _mockExternalPositionAddDebtAssets.apply(this, arguments);
1012
- }
1013
-
1014
- function mockExternalPositionAddManagedAssets(_x3) {
1015
- return _mockExternalPositionAddManagedAssets.apply(this, arguments);
1016
- }
1017
-
1018
- function _mockExternalPositionAddManagedAssets() {
1019
- _mockExternalPositionAddManagedAssets = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee3(_ref3) {
1020
- var signer, comptrollerProxy, externalPositionManager, externalPositionProxy, assets, amounts, actionArgs;
1021
- return _regeneratorRuntime__default['default'].wrap(function _callee3$(_context3) {
1022
- while (1) {
1023
- switch (_context3.prev = _context3.next) {
1024
- case 0:
1025
- signer = _ref3.signer, comptrollerProxy = _ref3.comptrollerProxy, externalPositionManager = _ref3.externalPositionManager, externalPositionProxy = _ref3.externalPositionProxy, assets = _ref3.assets, amounts = _ref3.amounts;
1026
- actionArgs = protocol.mockGenericExternalPositionActionArgs({
1027
- amounts: amounts,
1028
- assets: assets
1029
- });
1030
- return _context3.abrupt("return", callOnExternalPosition({
1031
- actionArgs: actionArgs,
1032
- actionId: protocol.MockGenericExternalPositionActionId.AddManagedAssets,
1033
- comptrollerProxy: comptrollerProxy,
1034
- externalPositionManager: externalPositionManager,
1035
- externalPositionProxy: externalPositionProxy,
1036
- signer: signer
1037
- }));
1038
-
1039
- case 3:
1040
- case "end":
1041
- return _context3.stop();
1042
- }
1043
- }
1044
- }, _callee3);
1045
- }));
1046
- return _mockExternalPositionAddManagedAssets.apply(this, arguments);
1047
- }
1048
-
1049
- function mockExternalPositionRemoveDebtAssets(_x4) {
1050
- return _mockExternalPositionRemoveDebtAssets.apply(this, arguments);
1051
- }
1052
-
1053
- function _mockExternalPositionRemoveDebtAssets() {
1054
- _mockExternalPositionRemoveDebtAssets = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee4(_ref4) {
1055
- var signer, comptrollerProxy, externalPositionManager, externalPositionProxy, assets, amounts, actionArgs;
1056
- return _regeneratorRuntime__default['default'].wrap(function _callee4$(_context4) {
1057
- while (1) {
1058
- switch (_context4.prev = _context4.next) {
1059
- case 0:
1060
- signer = _ref4.signer, comptrollerProxy = _ref4.comptrollerProxy, externalPositionManager = _ref4.externalPositionManager, externalPositionProxy = _ref4.externalPositionProxy, assets = _ref4.assets, amounts = _ref4.amounts;
1061
- actionArgs = protocol.mockGenericExternalPositionActionArgs({
1062
- amounts: amounts,
1063
- assets: assets
1064
- });
1065
- return _context4.abrupt("return", callOnExternalPosition({
1066
- actionArgs: actionArgs,
1067
- actionId: protocol.MockGenericExternalPositionActionId.RemoveDebtAssets,
1068
- comptrollerProxy: comptrollerProxy,
1069
- externalPositionManager: externalPositionManager,
1070
- externalPositionProxy: externalPositionProxy,
1071
- signer: signer
1072
- }));
1073
-
1074
- case 3:
1075
- case "end":
1076
- return _context4.stop();
1077
- }
1078
- }
1079
- }, _callee4);
1080
- }));
1081
- return _mockExternalPositionRemoveDebtAssets.apply(this, arguments);
1082
- }
1083
-
1084
- function mockExternalPositionRemoveManagedAssets(_x5) {
1085
- return _mockExternalPositionRemoveManagedAssets.apply(this, arguments);
1086
- }
1087
-
1088
- function _mockExternalPositionRemoveManagedAssets() {
1089
- _mockExternalPositionRemoveManagedAssets = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee5(_ref5) {
1090
- var signer, comptrollerProxy, externalPositionManager, externalPositionProxy, assets, amounts, actionArgs;
1091
- return _regeneratorRuntime__default['default'].wrap(function _callee5$(_context5) {
1092
- while (1) {
1093
- switch (_context5.prev = _context5.next) {
1094
- case 0:
1095
- signer = _ref5.signer, comptrollerProxy = _ref5.comptrollerProxy, externalPositionManager = _ref5.externalPositionManager, externalPositionProxy = _ref5.externalPositionProxy, assets = _ref5.assets, amounts = _ref5.amounts;
1096
- actionArgs = protocol.mockGenericExternalPositionActionArgs({
1097
- amounts: amounts,
1098
- assets: assets
1099
- });
1100
- return _context5.abrupt("return", callOnExternalPosition({
1101
- actionArgs: actionArgs,
1102
- actionId: protocol.MockGenericExternalPositionActionId.RemoveManagedAssets,
1103
- comptrollerProxy: comptrollerProxy,
1104
- externalPositionManager: externalPositionManager,
1105
- externalPositionProxy: externalPositionProxy,
1106
- signer: signer
1107
- }));
1108
-
1109
- case 3:
1110
- case "end":
1111
- return _context5.stop();
1112
- }
1113
- }
1114
- }, _callee5);
1115
- }));
1116
- return _mockExternalPositionRemoveManagedAssets.apply(this, arguments);
1117
- }
1118
-
1119
- function aaveDebtPositionAddCollateral(_x) {
1120
- return _aaveDebtPositionAddCollateral.apply(this, arguments);
1121
- }
1122
-
1123
- function _aaveDebtPositionAddCollateral() {
1124
- _aaveDebtPositionAddCollateral = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
1125
- var comptrollerProxy, externalPositionManager, signer, aTokens, amounts, externalPositionProxy, actionArgs;
1126
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
1127
- while (1) {
1128
- switch (_context.prev = _context.next) {
1129
- case 0:
1130
- comptrollerProxy = _ref.comptrollerProxy, externalPositionManager = _ref.externalPositionManager, signer = _ref.signer, aTokens = _ref.aTokens, amounts = _ref.amounts, externalPositionProxy = _ref.externalPositionProxy;
1131
- actionArgs = protocol.aaveDebtPositionAddCollateralArgs({
1132
- aTokens: aTokens,
1133
- amounts: amounts
1134
- });
1135
- return _context.abrupt("return", callOnExternalPosition({
1136
- actionArgs: actionArgs,
1137
- actionId: protocol.AaveDebtPositionActionId.AddCollateralAssets,
1138
- comptrollerProxy: comptrollerProxy,
1139
- externalPositionManager: externalPositionManager,
1140
- externalPositionProxy: externalPositionProxy,
1141
- signer: signer
1142
- }));
1143
-
1144
- case 3:
1145
- case "end":
1146
- return _context.stop();
1147
- }
1148
- }
1149
- }, _callee);
1150
- }));
1151
- return _aaveDebtPositionAddCollateral.apply(this, arguments);
1152
- }
1153
-
1154
- function aaveDebtPositionBorrow(_x2) {
1155
- return _aaveDebtPositionBorrow.apply(this, arguments);
1156
- }
1157
-
1158
- function _aaveDebtPositionBorrow() {
1159
- _aaveDebtPositionBorrow = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(_ref2) {
1160
- var comptrollerProxy, externalPositionManager, signer, tokens, amounts, externalPositionProxy, actionArgs;
1161
- return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
1162
- while (1) {
1163
- switch (_context2.prev = _context2.next) {
1164
- case 0:
1165
- comptrollerProxy = _ref2.comptrollerProxy, externalPositionManager = _ref2.externalPositionManager, signer = _ref2.signer, tokens = _ref2.tokens, amounts = _ref2.amounts, externalPositionProxy = _ref2.externalPositionProxy;
1166
- actionArgs = protocol.aaveDebtPositionBorrowArgs({
1167
- amounts: amounts,
1168
- tokens: tokens
1169
- });
1170
- return _context2.abrupt("return", callOnExternalPosition({
1171
- actionArgs: actionArgs,
1172
- actionId: protocol.AaveDebtPositionActionId.BorrowAsset,
1173
- comptrollerProxy: comptrollerProxy,
1174
- externalPositionManager: externalPositionManager,
1175
- externalPositionProxy: externalPositionProxy,
1176
- signer: signer
1177
- }));
1178
-
1179
- case 3:
1180
- case "end":
1181
- return _context2.stop();
1182
- }
1183
- }
1184
- }, _callee2);
1185
- }));
1186
- return _aaveDebtPositionBorrow.apply(this, arguments);
1187
- }
1188
-
1189
- function aaveDebtPositionClaimRewards(_x3) {
1190
- return _aaveDebtPositionClaimRewards.apply(this, arguments);
1191
- }
1192
-
1193
- function _aaveDebtPositionClaimRewards() {
1194
- _aaveDebtPositionClaimRewards = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee3(_ref3) {
1195
- var comptrollerProxy, externalPositionManager, signer, assets, externalPositionProxy, actionArgs;
1196
- return _regeneratorRuntime__default['default'].wrap(function _callee3$(_context3) {
1197
- while (1) {
1198
- switch (_context3.prev = _context3.next) {
1199
- case 0:
1200
- comptrollerProxy = _ref3.comptrollerProxy, externalPositionManager = _ref3.externalPositionManager, signer = _ref3.signer, assets = _ref3.assets, externalPositionProxy = _ref3.externalPositionProxy;
1201
- actionArgs = protocol.aaveDebtPositionClaimRewardsArgs({
1202
- assets: assets
1203
- });
1204
- return _context3.abrupt("return", callOnExternalPosition({
1205
- actionArgs: actionArgs,
1206
- actionId: protocol.AaveDebtPositionActionId.ClaimRewards,
1207
- comptrollerProxy: comptrollerProxy,
1208
- externalPositionManager: externalPositionManager,
1209
- externalPositionProxy: externalPositionProxy,
1210
- signer: signer
1211
- }));
1212
-
1213
- case 3:
1214
- case "end":
1215
- return _context3.stop();
1216
- }
1217
- }
1218
- }, _callee3);
1219
- }));
1220
- return _aaveDebtPositionClaimRewards.apply(this, arguments);
1221
- }
1222
-
1223
- function aaveDebtPositionRemoveCollateral(_x4) {
1224
- return _aaveDebtPositionRemoveCollateral.apply(this, arguments);
1225
- }
1226
-
1227
- function _aaveDebtPositionRemoveCollateral() {
1228
- _aaveDebtPositionRemoveCollateral = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee4(_ref4) {
1229
- var comptrollerProxy, externalPositionManager, signer, aTokens, amounts, externalPositionProxy, actionArgs;
1230
- return _regeneratorRuntime__default['default'].wrap(function _callee4$(_context4) {
1231
- while (1) {
1232
- switch (_context4.prev = _context4.next) {
1233
- case 0:
1234
- comptrollerProxy = _ref4.comptrollerProxy, externalPositionManager = _ref4.externalPositionManager, signer = _ref4.signer, aTokens = _ref4.aTokens, amounts = _ref4.amounts, externalPositionProxy = _ref4.externalPositionProxy;
1235
- actionArgs = protocol.aaveDebtPositionRemoveCollateralArgs({
1236
- aTokens: aTokens,
1237
- amounts: amounts
1238
- });
1239
- return _context4.abrupt("return", callOnExternalPosition({
1240
- actionArgs: actionArgs,
1241
- actionId: protocol.AaveDebtPositionActionId.RemoveCollateralAssets,
1242
- comptrollerProxy: comptrollerProxy,
1243
- externalPositionManager: externalPositionManager,
1244
- externalPositionProxy: externalPositionProxy,
1245
- signer: signer
1246
- }));
1247
-
1248
- case 3:
1249
- case "end":
1250
- return _context4.stop();
1251
- }
1252
- }
1253
- }, _callee4);
1254
- }));
1255
- return _aaveDebtPositionRemoveCollateral.apply(this, arguments);
1256
- }
1257
-
1258
- function aaveDebtPositionRepayBorrow(_x5) {
1259
- return _aaveDebtPositionRepayBorrow.apply(this, arguments);
1260
- }
1261
-
1262
- function _aaveDebtPositionRepayBorrow() {
1263
- _aaveDebtPositionRepayBorrow = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee5(_ref5) {
1264
- var comptrollerProxy, externalPositionManager, signer, tokens, amounts, externalPositionProxy, actionArgs;
1265
- return _regeneratorRuntime__default['default'].wrap(function _callee5$(_context5) {
1266
- while (1) {
1267
- switch (_context5.prev = _context5.next) {
1268
- case 0:
1269
- comptrollerProxy = _ref5.comptrollerProxy, externalPositionManager = _ref5.externalPositionManager, signer = _ref5.signer, tokens = _ref5.tokens, amounts = _ref5.amounts, externalPositionProxy = _ref5.externalPositionProxy;
1270
- actionArgs = protocol.aaveDebtPositionRepayBorrowArgs({
1271
- amounts: amounts,
1272
- tokens: tokens
1273
- });
1274
- return _context5.abrupt("return", callOnExternalPosition({
1275
- actionArgs: actionArgs,
1276
- actionId: protocol.AaveDebtPositionActionId.RepayBorrowedAssets,
1277
- comptrollerProxy: comptrollerProxy,
1278
- externalPositionManager: externalPositionManager,
1279
- externalPositionProxy: externalPositionProxy,
1280
- signer: signer
1281
- }));
1282
-
1283
- case 3:
1284
- case "end":
1285
- return _context5.stop();
1286
- }
1287
- }
1288
- }, _callee5);
1289
- }));
1290
- return _aaveDebtPositionRepayBorrow.apply(this, arguments);
1291
- }
1292
-
1293
- function createAaveDebtPosition(_x6) {
1294
- return _createAaveDebtPosition.apply(this, arguments);
1295
- }
1296
-
1297
- function _createAaveDebtPosition() {
1298
- _createAaveDebtPosition = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee6(_ref6) {
1299
- var signer, comptrollerProxy, externalPositionManager;
1300
- return _regeneratorRuntime__default['default'].wrap(function _callee6$(_context6) {
1301
- while (1) {
1302
- switch (_context6.prev = _context6.next) {
1303
- case 0:
1304
- signer = _ref6.signer, comptrollerProxy = _ref6.comptrollerProxy, externalPositionManager = _ref6.externalPositionManager;
1305
- return _context6.abrupt("return", createExternalPosition({
1306
- comptrollerProxy: comptrollerProxy,
1307
- externalPositionManager: externalPositionManager,
1308
- externalPositionTypeId: protocol.ExternalPositionType.AaveDebtPosition,
1309
- signer: signer
1310
- }));
1311
-
1312
- case 2:
1313
- case "end":
1314
- return _context6.stop();
1315
- }
1316
- }
1317
- }, _callee6);
1318
- }));
1319
- return _createAaveDebtPosition.apply(this, arguments);
1320
- }
1321
-
1322
- var _templateObject$3;
1323
- exports.UniswapV3FeeAmount = void 0;
1324
-
1325
- (function (UniswapV3FeeAmount) {
1326
- UniswapV3FeeAmount[UniswapV3FeeAmount["LOW"] = 500] = "LOW";
1327
- UniswapV3FeeAmount[UniswapV3FeeAmount["MEDIUM"] = 3000] = "MEDIUM";
1328
- UniswapV3FeeAmount[UniswapV3FeeAmount["HIGH"] = 10000] = "HIGH";
1329
- })(exports.UniswapV3FeeAmount || (exports.UniswapV3FeeAmount = {}));
1330
-
1331
- var uniswapV3LiquidityPositionGetMinTick = function uniswapV3LiquidityPositionGetMinTick(tickSpacing) {
1332
- return Math.ceil(-887272 / tickSpacing) * tickSpacing;
1333
- };
1334
- var uniswapV3LiquidityPositionGetMaxTick = function uniswapV3LiquidityPositionGetMaxTick(tickSpacing) {
1335
- return Math.floor(887272 / tickSpacing) * tickSpacing;
1336
- };
1337
- 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"])));
1338
- function createUniswapV3LiquidityPosition(_x) {
1339
- return _createUniswapV3LiquidityPosition.apply(this, arguments);
1340
- }
1341
-
1342
- function _createUniswapV3LiquidityPosition() {
1343
- _createUniswapV3LiquidityPosition = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
1344
- var signer, comptrollerProxy, externalPositionManager, _ref$callOnExternalPo, callOnExternalPositionData, _yield$createExternal, externalPositionProxyContract, receipt;
1345
-
1346
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
1347
- while (1) {
1348
- switch (_context.prev = _context.next) {
1349
- case 0:
1350
- signer = _ref.signer, comptrollerProxy = _ref.comptrollerProxy, externalPositionManager = _ref.externalPositionManager, _ref$callOnExternalPo = _ref.callOnExternalPositionData, callOnExternalPositionData = _ref$callOnExternalPo === void 0 ? '0x' : _ref$callOnExternalPo;
1351
- _context.next = 3;
1352
- return createExternalPosition({
1353
- callOnExternalPositionData: callOnExternalPositionData,
1354
- comptrollerProxy: comptrollerProxy,
1355
- externalPositionManager: externalPositionManager,
1356
- externalPositionTypeId: protocol.ExternalPositionType.UniswapV3LiquidityPosition,
1357
- signer: signer
1358
- });
1359
-
1360
- case 3:
1361
- _yield$createExternal = _context.sent;
1362
- externalPositionProxyContract = _yield$createExternal.externalPositionProxy;
1363
- receipt = _yield$createExternal.receipt;
1364
- return _context.abrupt("return", {
1365
- externalPositionProxyAddress: externalPositionProxyContract.address,
1366
- receipt: receipt
1367
- });
1368
-
1369
- case 7:
1370
- case "end":
1371
- return _context.stop();
1372
- }
1373
- }
1374
- }, _callee);
1375
- }));
1376
- return _createUniswapV3LiquidityPosition.apply(this, arguments);
1377
- }
1378
-
1379
- function uniswapV3LiquidityPositionAddLiquidity(_x2) {
1380
- return _uniswapV3LiquidityPositionAddLiquidity.apply(this, arguments);
1381
- }
1382
-
1383
- function _uniswapV3LiquidityPositionAddLiquidity() {
1384
- _uniswapV3LiquidityPositionAddLiquidity = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(_ref2) {
1385
- var signer, comptrollerProxy, externalPositionManager, externalPositionProxy, nftId, amount0Desired, amount1Desired, _ref2$amount0Min, amount0Min, _ref2$amount1Min, amount1Min, actionArgs, callArgs;
1386
-
1387
- return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
1388
- while (1) {
1389
- switch (_context2.prev = _context2.next) {
1390
- case 0:
1391
- 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;
1392
- actionArgs = protocol.uniswapV3LiquidityPositionAddLiquidityArgs({
1393
- amount0Desired: amount0Desired,
1394
- amount0Min: amount0Min,
1395
- amount1Desired: amount1Desired,
1396
- amount1Min: amount1Min,
1397
- nftId: nftId
1398
- });
1399
- callArgs = protocol.callOnExternalPositionArgs({
1400
- actionArgs: actionArgs,
1401
- actionId: protocol.UniswapV3LiquidityPositionActionId.AddLiquidity,
1402
- externalPositionProxy: externalPositionProxy
1403
- });
1404
- return _context2.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(externalPositionManager, protocol.ExternalPositionManagerActionId.CallOnExternalPosition, callArgs));
1405
-
1406
- case 4:
1407
- case "end":
1408
- return _context2.stop();
1409
- }
1410
- }
1411
- }, _callee2);
1412
- }));
1413
- return _uniswapV3LiquidityPositionAddLiquidity.apply(this, arguments);
1414
- }
1415
-
1416
- function uniswapV3LiquidityPositionCollect(_x3) {
1417
- return _uniswapV3LiquidityPositionCollect.apply(this, arguments);
1418
- }
1419
-
1420
- function _uniswapV3LiquidityPositionCollect() {
1421
- _uniswapV3LiquidityPositionCollect = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee3(_ref3) {
1422
- var signer, comptrollerProxy, externalPositionManager, externalPositionProxy, nftId, actionArgs, callArgs;
1423
- return _regeneratorRuntime__default['default'].wrap(function _callee3$(_context3) {
1424
- while (1) {
1425
- switch (_context3.prev = _context3.next) {
1426
- case 0:
1427
- signer = _ref3.signer, comptrollerProxy = _ref3.comptrollerProxy, externalPositionManager = _ref3.externalPositionManager, externalPositionProxy = _ref3.externalPositionProxy, nftId = _ref3.nftId;
1428
- actionArgs = protocol.uniswapV3LiquidityPositionCollectArgs({
1429
- nftId: nftId
1430
- });
1431
- callArgs = protocol.callOnExternalPositionArgs({
1432
- actionArgs: actionArgs,
1433
- actionId: protocol.UniswapV3LiquidityPositionActionId.Collect,
1434
- externalPositionProxy: externalPositionProxy
1435
- });
1436
- return _context3.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(externalPositionManager, protocol.ExternalPositionManagerActionId.CallOnExternalPosition, callArgs));
1437
-
1438
- case 4:
1439
- case "end":
1440
- return _context3.stop();
1441
- }
1442
- }
1443
- }, _callee3);
1444
- }));
1445
- return _uniswapV3LiquidityPositionCollect.apply(this, arguments);
1446
- }
1447
-
1448
- function uniswapV3LiquidityPositionMint(_x4) {
1449
- return _uniswapV3LiquidityPositionMint.apply(this, arguments);
1450
- }
1451
-
1452
- function _uniswapV3LiquidityPositionMint() {
1453
- _uniswapV3LiquidityPositionMint = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee4(_ref4) {
1454
- var signer, comptrollerProxy, externalPositionManager, externalPositionProxy, token0, token1, fee, tickLower, tickUpper, amount0Desired, amount1Desired, _ref4$amount0Min, amount0Min, _ref4$amount1Min, amount1Min, actionArgs, callArgs, receipt, externalPosition, nftId;
1455
-
1456
- return _regeneratorRuntime__default['default'].wrap(function _callee4$(_context4) {
1457
- while (1) {
1458
- switch (_context4.prev = _context4.next) {
1459
- case 0:
1460
- signer = _ref4.signer, comptrollerProxy = _ref4.comptrollerProxy, externalPositionManager = _ref4.externalPositionManager, externalPositionProxy = _ref4.externalPositionProxy, token0 = _ref4.token0, token1 = _ref4.token1, 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;
1461
- actionArgs = protocol.uniswapV3LiquidityPositionMintArgs({
1462
- amount0Desired: amount0Desired,
1463
- amount0Min: amount0Min,
1464
- amount1Desired: amount1Desired,
1465
- amount1Min: amount1Min,
1466
- fee: fee,
1467
- tickLower: tickLower,
1468
- tickUpper: tickUpper,
1469
- token0: token0,
1470
- token1: token1
1471
- });
1472
- callArgs = protocol.callOnExternalPositionArgs({
1473
- actionArgs: actionArgs,
1474
- actionId: protocol.UniswapV3LiquidityPositionActionId.Mint,
1475
- externalPositionProxy: externalPositionProxy
1476
- });
1477
- _context4.next = 5;
1478
- return comptrollerProxy.connect(signer).callOnExtension(externalPositionManager, protocol.ExternalPositionManagerActionId.CallOnExternalPosition, callArgs);
1479
-
1480
- case 5:
1481
- receipt = _context4.sent;
1482
- externalPosition = new protocol.UniswapV3LiquidityPositionLib(externalPositionProxy, provider);
1483
- nftId = ethers$1.extractEvent(receipt, externalPosition.abi.getEvent('NFTPositionAdded'))[0].args.tokenId;
1484
- return _context4.abrupt("return", {
1485
- nftId: nftId,
1486
- receipt: receipt
1487
- });
1488
-
1489
- case 9:
1490
- case "end":
1491
- return _context4.stop();
1492
- }
1493
- }
1494
- }, _callee4);
1495
- }));
1496
- return _uniswapV3LiquidityPositionMint.apply(this, arguments);
1497
- }
1498
-
1499
- function uniswapV3LiquidityPositionPurge(_x5) {
1500
- return _uniswapV3LiquidityPositionPurge.apply(this, arguments);
1501
- }
1502
-
1503
- function _uniswapV3LiquidityPositionPurge() {
1504
- _uniswapV3LiquidityPositionPurge = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee5(_ref5) {
1505
- var signer, comptrollerProxy, externalPositionManager, externalPositionProxy, nftId, liquidity, _ref5$amount0Min, amount0Min, _ref5$amount1Min, amount1Min, actionArgs, callArgs;
1506
-
1507
- return _regeneratorRuntime__default['default'].wrap(function _callee5$(_context5) {
1508
- while (1) {
1509
- switch (_context5.prev = _context5.next) {
1510
- case 0:
1511
- 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;
1512
- actionArgs = protocol.uniswapV3LiquidityPositionPurgeArgs({
1513
- amount0Min: amount0Min,
1514
- amount1Min: amount1Min,
1515
- liquidity: liquidity,
1516
- nftId: nftId
1517
- });
1518
- callArgs = protocol.callOnExternalPositionArgs({
1519
- actionArgs: actionArgs,
1520
- actionId: protocol.UniswapV3LiquidityPositionActionId.Purge,
1521
- externalPositionProxy: externalPositionProxy
1522
- });
1523
- return _context5.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(externalPositionManager, protocol.ExternalPositionManagerActionId.CallOnExternalPosition, callArgs));
1524
-
1525
- case 4:
1526
- case "end":
1527
- return _context5.stop();
1528
- }
1529
- }
1530
- }, _callee5);
1531
- }));
1532
- return _uniswapV3LiquidityPositionPurge.apply(this, arguments);
1533
- }
1534
-
1535
- function uniswapV3LiquidityPositionRemoveLiquidity(_x6) {
1536
- return _uniswapV3LiquidityPositionRemoveLiquidity.apply(this, arguments);
1537
- }
1538
-
1539
- function _uniswapV3LiquidityPositionRemoveLiquidity() {
1540
- _uniswapV3LiquidityPositionRemoveLiquidity = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee6(_ref6) {
1541
- var signer, comptrollerProxy, externalPositionManager, externalPositionProxy, nftId, liquidity, _ref6$amount0Min, amount0Min, _ref6$amount1Min, amount1Min, actionArgs, callArgs;
1542
-
1543
- return _regeneratorRuntime__default['default'].wrap(function _callee6$(_context6) {
1544
- while (1) {
1545
- switch (_context6.prev = _context6.next) {
1546
- case 0:
1547
- 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;
1548
- actionArgs = protocol.uniswapV3LiquidityPositionRemoveLiquidityArgs({
1549
- amount0Min: amount0Min,
1550
- amount1Min: amount1Min,
1551
- liquidity: liquidity,
1552
- nftId: nftId
1553
- });
1554
- callArgs = protocol.callOnExternalPositionArgs({
1555
- actionArgs: actionArgs,
1556
- actionId: protocol.UniswapV3LiquidityPositionActionId.RemoveLiquidity,
1557
- externalPositionProxy: externalPositionProxy
1558
- });
1559
- return _context6.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(externalPositionManager, protocol.ExternalPositionManagerActionId.CallOnExternalPosition, callArgs));
1560
-
1561
- case 4:
1562
- case "end":
1563
- return _context6.stop();
1564
- }
1565
- }
1566
- }, _callee6);
1567
- }));
1568
- return _uniswapV3LiquidityPositionRemoveLiquidity.apply(this, arguments);
1569
- }
1570
-
1571
- function uniswapV3OrderTokenPair(_ref7) {
1572
- var tokenA = _ref7.tokenA,
1573
- tokenB = _ref7.tokenB;
1574
- var tokenAAddress = ethers$1.resolveAddress(tokenA);
1575
- var tokenBAddress = ethers$1.resolveAddress(tokenB);
1576
- return tokenAAddress < tokenBAddress ? {
1577
- token0: tokenAAddress,
1578
- token1: tokenBAddress
1579
- } : {
1580
- token0: tokenBAddress,
1581
- token1: tokenAAddress
1582
- };
1583
- }
1584
-
1585
- function generateFeeManagerConfigWithMockFees(_x) {
1586
- return _generateFeeManagerConfigWithMockFees.apply(this, arguments);
1587
- }
1588
-
1589
- function _generateFeeManagerConfigWithMockFees() {
1590
- _generateFeeManagerConfigWithMockFees = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
1591
- var deployer, fees, feeManagerSettingsData;
1592
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
1593
- while (1) {
1594
- switch (_context.prev = _context.next) {
1595
- case 0:
1596
- deployer = _ref.deployer;
1597
- _context.next = 3;
1598
- return generateMockFees({
1599
- deployer: deployer
1600
- });
1601
-
1602
- case 3:
1603
- fees = _context.sent;
1604
- feeManagerSettingsData = [ethers.utils.randomBytes(10), '0x', ethers.utils.randomBytes(2)];
1605
- return _context.abrupt("return", protocol.feeManagerConfigArgs({
1606
- fees: Object.values(fees),
1607
- settings: feeManagerSettingsData
1608
- }));
1609
-
1610
- case 6:
1611
- case "end":
1612
- return _context.stop();
1613
- }
1614
- }
1615
- }, _callee);
1616
- }));
1617
- return _generateFeeManagerConfigWithMockFees.apply(this, arguments);
1618
- }
1619
-
1620
- function generateMockFees(_x2) {
1621
- return _generateMockFees.apply(this, arguments);
1622
- }
1623
-
1624
- function _generateMockFees() {
1625
- _generateMockFees = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(_ref2) {
1626
- var deployer, mockContinuousFeeSettleOnly, mockContinuousFeeWithGavAndUpdates, mockPostBuySharesFee;
1627
- return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
1628
- while (1) {
1629
- switch (_context2.prev = _context2.next) {
1630
- case 0:
1631
- deployer = _ref2.deployer;
1632
- _context2.next = 3;
1633
- return protocol.IFee.mock(deployer);
1634
-
1635
- case 3:
1636
- mockContinuousFeeSettleOnly = _context2.sent;
1637
- _context2.next = 6;
1638
- return protocol.IFee.mock(deployer);
1639
-
1640
- case 6:
1641
- mockContinuousFeeWithGavAndUpdates = _context2.sent;
1642
- _context2.next = 9;
1643
- return protocol.IFee.mock(deployer);
1644
-
1645
- case 9:
1646
- mockPostBuySharesFee = _context2.sent;
1647
- _context2.next = 12;
1648
- return Promise.all([// Continuous fee the mimics ManagementFee
1649
- 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
1650
- 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
1651
- 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)]);
1652
-
1653
- case 12:
1654
- return _context2.abrupt("return", {
1655
- mockContinuousFeeSettleOnly: mockContinuousFeeSettleOnly,
1656
- mockContinuousFeeWithGavAndUpdates: mockContinuousFeeWithGavAndUpdates,
1657
- mockPostBuySharesFee: mockPostBuySharesFee
1658
- });
1659
-
1660
- case 13:
1661
- case "end":
1662
- return _context2.stop();
1663
- }
1664
- }
1665
- }, _callee2);
1666
- }));
1667
- return _generateMockFees.apply(this, arguments);
1668
- }
1669
-
1670
- function aaveLend(_x) {
1671
- return _aaveLend.apply(this, arguments);
1672
- }
1673
-
1674
- function _aaveLend() {
1675
- _aaveLend = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
1676
- var comptrollerProxy, integrationManager, fundOwner, aaveAdapter, aToken, _ref$amount, amount, lendArgs, callArgs, lendTx;
1677
-
1678
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
1679
- while (1) {
1680
- switch (_context.prev = _context.next) {
1681
- case 0:
1682
- 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;
1683
- lendArgs = protocol.aaveLendArgs({
1684
- aToken: aToken,
1685
- amount: amount
1686
- });
1687
- callArgs = protocol.callOnIntegrationArgs({
1688
- adapter: aaveAdapter,
1689
- encodedCallArgs: lendArgs,
1690
- selector: protocol.lendSelector
1691
- });
1692
- lendTx = comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
1693
- return _context.abrupt("return", lendTx);
1694
-
1695
- case 5:
1696
- case "end":
1697
- return _context.stop();
1698
- }
1699
- }
1700
- }, _callee);
1701
- }));
1702
- return _aaveLend.apply(this, arguments);
1703
- }
1704
-
1705
- function aaveRedeem(_x2) {
1706
- return _aaveRedeem.apply(this, arguments);
1707
- }
1708
-
1709
- function _aaveRedeem() {
1710
- _aaveRedeem = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(_ref2) {
1711
- var comptrollerProxy, integrationManager, fundOwner, aaveAdapter, aToken, _ref2$amount, amount, redeemArgs, callArgs, redeemTx;
1712
-
1713
- return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
1714
- while (1) {
1715
- switch (_context2.prev = _context2.next) {
1716
- case 0:
1717
- 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;
1718
- redeemArgs = protocol.aaveRedeemArgs({
1719
- aToken: aToken,
1720
- amount: amount
1721
- });
1722
- callArgs = protocol.callOnIntegrationArgs({
1723
- adapter: aaveAdapter,
1724
- encodedCallArgs: redeemArgs,
1725
- selector: protocol.redeemSelector
1726
- });
1727
- redeemTx = comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
1728
- return _context2.abrupt("return", redeemTx);
1729
-
1730
- case 5:
1731
- case "end":
1732
- return _context2.stop();
1733
- }
1734
- }
1735
- }, _callee2);
1736
- }));
1737
- return _aaveRedeem.apply(this, arguments);
1738
- }
1739
-
1740
- var _templateObject$2;
1741
- var ICompoundComptroller = ethers$1.contract()(_templateObject$2 || (_templateObject$2 = _taggedTemplateLiteral(["\n function claimComp(address)\n"])));
1742
- function assertCompoundLend(_x) {
1743
- return _assertCompoundLend.apply(this, arguments);
1744
- }
1745
-
1746
- function _assertCompoundLend() {
1747
- _assertCompoundLend = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
1748
- var tokenWhale, comptrollerProxy, vaultProxy, integrationManager, fundOwner, compoundAdapter, _ref$tokenAmount, tokenAmount, cToken, compoundPriceFeed, token, rateBefore, minIncomingCTokenAmount, _yield$getAssetBalanc, _yield$getAssetBalanc2, preTxIncomingAssetBalance, preTxOutgoingAssetBalance, lendReceipt, rate, _yield$getAssetBalanc3, _yield$getAssetBalanc4, postTxIncomingAssetBalance, postTxOutgoingAssetBalance, expectedCTokenAmount;
1749
-
1750
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
1751
- while (1) {
1752
- switch (_context.prev = _context.next) {
1753
- case 0:
1754
- tokenWhale = _ref.tokenWhale, comptrollerProxy = _ref.comptrollerProxy, vaultProxy = _ref.vaultProxy, integrationManager = _ref.integrationManager, fundOwner = _ref.fundOwner, compoundAdapter = _ref.compoundAdapter, _ref$tokenAmount = _ref.tokenAmount, tokenAmount = _ref$tokenAmount === void 0 ? ethers.utils.parseEther('1') : _ref$tokenAmount, cToken = _ref.cToken, compoundPriceFeed = _ref.compoundPriceFeed;
1755
- _context.t0 = protocol.StandardToken;
1756
- _context.next = 4;
1757
- return compoundPriceFeed.getTokenFromCToken.args(cToken).call();
1758
-
1759
- case 4:
1760
- _context.t1 = _context.sent;
1761
- _context.t2 = tokenWhale;
1762
- token = new _context.t0(_context.t1, _context.t2);
1763
- _context.next = 9;
1764
- return token.connect(tokenWhale).transfer(vaultProxy, tokenAmount);
1765
-
1766
- case 9:
1767
- _context.next = 11;
1768
- return cToken.exchangeRateStored.call();
1769
-
1770
- case 11:
1771
- rateBefore = _context.sent;
1772
- // Exchange rate stored can have a small deviation from exchangeRateStored
1773
- minIncomingCTokenAmount = tokenAmount.mul(ethers.utils.parseEther('1')).div(rateBefore).mul(ethers.BigNumber.from('999')).div(ethers.BigNumber.from('1000'));
1774
- _context.next = 15;
1775
- return getAssetBalances({
1776
- account: vaultProxy,
1777
- assets: [cToken, token]
1778
- });
1779
-
1780
- case 15:
1781
- _yield$getAssetBalanc = _context.sent;
1782
- _yield$getAssetBalanc2 = _slicedToArray(_yield$getAssetBalanc, 2);
1783
- preTxIncomingAssetBalance = _yield$getAssetBalanc2[0];
1784
- preTxOutgoingAssetBalance = _yield$getAssetBalanc2[1];
1785
- _context.next = 21;
1786
- return compoundLend({
1787
- cToken: cToken,
1788
- cTokenAmount: minIncomingCTokenAmount,
1789
- compoundAdapter: compoundAdapter,
1790
- comptrollerProxy: comptrollerProxy,
1791
- fundOwner: fundOwner,
1792
- integrationManager: integrationManager,
1793
- tokenAmount: tokenAmount
1794
- });
1795
-
1796
- case 21:
1797
- lendReceipt = _context.sent;
1798
- _context.next = 24;
1799
- return cToken.exchangeRateStored();
1800
-
1801
- case 24:
1802
- rate = _context.sent;
1803
- _context.next = 27;
1804
- return getAssetBalances({
1805
- account: vaultProxy,
1806
- assets: [cToken, token]
1807
- });
1808
-
1809
- case 27:
1810
- _yield$getAssetBalanc3 = _context.sent;
1811
- _yield$getAssetBalanc4 = _slicedToArray(_yield$getAssetBalanc3, 2);
1812
- postTxIncomingAssetBalance = _yield$getAssetBalanc4[0];
1813
- postTxOutgoingAssetBalance = _yield$getAssetBalanc4[1];
1814
- expectedCTokenAmount = tokenAmount.mul(ethers.utils.parseEther('1')).div(rate);
1815
- expect(postTxIncomingAssetBalance).toEqBigNumber(preTxIncomingAssetBalance.add(expectedCTokenAmount));
1816
- expect(postTxOutgoingAssetBalance).toEqBigNumber(preTxOutgoingAssetBalance.sub(tokenAmount));
1817
- return _context.abrupt("return", lendReceipt);
1818
-
1819
- case 35:
1820
- case "end":
1821
- return _context.stop();
1822
- }
1823
- }
1824
- }, _callee);
1825
- }));
1826
- return _assertCompoundLend.apply(this, arguments);
1827
- }
1828
-
1829
- function assertCompoundRedeem(_x2) {
1830
- return _assertCompoundRedeem.apply(this, arguments);
1831
- }
1832
-
1833
- function _assertCompoundRedeem() {
1834
- _assertCompoundRedeem = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(_ref2) {
1835
- var comptrollerProxy, vaultProxy, integrationManager, fundOwner, compoundAdapter, cToken, compoundPriceFeed, cTokenAmount, token, _yield$getAssetBalanc5, _yield$getAssetBalanc6, preTxIncomingAssetBalance, preTxOutgoingAssetBalance, rateBefore, minIncomingTokenAmount, redeemReceipt, _yield$getAssetBalanc7, _yield$getAssetBalanc8, postTxIncomingAssetBalance, postTxOutgoingAssetBalance, rate, expectedTokenAmount;
1836
-
1837
- return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
1838
- while (1) {
1839
- switch (_context2.prev = _context2.next) {
1840
- case 0:
1841
- comptrollerProxy = _ref2.comptrollerProxy, vaultProxy = _ref2.vaultProxy, integrationManager = _ref2.integrationManager, fundOwner = _ref2.fundOwner, compoundAdapter = _ref2.compoundAdapter, cToken = _ref2.cToken, compoundPriceFeed = _ref2.compoundPriceFeed;
1842
- _context2.t0 = ethers.utils;
1843
- _context2.next = 4;
1844
- return cToken.decimals();
1845
-
1846
- case 4:
1847
- _context2.t1 = _context2.sent;
1848
- cTokenAmount = _context2.t0.parseUnits.call(_context2.t0, '1', _context2.t1);
1849
- _context2.next = 8;
1850
- return cToken.transfer(vaultProxy, cTokenAmount);
1851
-
1852
- case 8:
1853
- _context2.t2 = protocol.StandardToken;
1854
- _context2.next = 11;
1855
- return compoundPriceFeed.getTokenFromCToken.args(cToken).call();
1856
-
1857
- case 11:
1858
- _context2.t3 = _context2.sent;
1859
- _context2.t4 = provider;
1860
- token = new _context2.t2(_context2.t3, _context2.t4);
1861
- _context2.next = 16;
1862
- return getAssetBalances({
1863
- account: vaultProxy,
1864
- assets: [token, cToken]
1865
- });
1866
-
1867
- case 16:
1868
- _yield$getAssetBalanc5 = _context2.sent;
1869
- _yield$getAssetBalanc6 = _slicedToArray(_yield$getAssetBalanc5, 2);
1870
- preTxIncomingAssetBalance = _yield$getAssetBalanc6[0];
1871
- preTxOutgoingAssetBalance = _yield$getAssetBalanc6[1];
1872
- _context2.next = 22;
1873
- return cToken.exchangeRateStored();
1874
-
1875
- case 22:
1876
- rateBefore = _context2.sent;
1877
- minIncomingTokenAmount = cTokenAmount.mul(rateBefore).div(ethers.utils.parseEther('1'));
1878
- _context2.next = 26;
1879
- return compoundRedeem({
1880
- cToken: cToken,
1881
- cTokenAmount: cTokenAmount,
1882
- compoundAdapter: compoundAdapter,
1883
- comptrollerProxy: comptrollerProxy,
1884
- fundOwner: fundOwner,
1885
- integrationManager: integrationManager,
1886
- tokenAmount: minIncomingTokenAmount,
1887
- vaultProxy: vaultProxy
1888
- });
1889
-
1890
- case 26:
1891
- redeemReceipt = _context2.sent;
1892
- _context2.next = 29;
1893
- return getAssetBalances({
1894
- account: vaultProxy,
1895
- assets: [token, cToken]
1896
- });
1897
-
1898
- case 29:
1899
- _yield$getAssetBalanc7 = _context2.sent;
1900
- _yield$getAssetBalanc8 = _slicedToArray(_yield$getAssetBalanc7, 2);
1901
- postTxIncomingAssetBalance = _yield$getAssetBalanc8[0];
1902
- postTxOutgoingAssetBalance = _yield$getAssetBalanc8[1];
1903
- _context2.next = 35;
1904
- return cToken.exchangeRateStored();
1905
-
1906
- case 35:
1907
- rate = _context2.sent;
1908
- expectedTokenAmount = cTokenAmount.mul(rate).div(ethers.utils.parseEther('1'));
1909
- expect(postTxIncomingAssetBalance).toEqBigNumber(preTxIncomingAssetBalance.add(expectedTokenAmount));
1910
- expect(postTxOutgoingAssetBalance).toEqBigNumber(preTxOutgoingAssetBalance.sub(cTokenAmount));
1911
- return _context2.abrupt("return", redeemReceipt);
1912
-
1913
- case 40:
1914
- case "end":
1915
- return _context2.stop();
1916
- }
1917
- }
1918
- }, _callee2);
1919
- }));
1920
- return _assertCompoundRedeem.apply(this, arguments);
1921
- }
1922
-
1923
- function compoundClaim(_x3) {
1924
- return _compoundClaim.apply(this, arguments);
1925
- }
1926
-
1927
- function _compoundClaim() {
1928
- _compoundClaim = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee3(_ref3) {
1929
- var comptrollerProxy, integrationManager, fundOwner, compoundAdapter, compoundComptroller, cTokens, claimArgs, callArgs, claimRewardsTx;
1930
- return _regeneratorRuntime__default['default'].wrap(function _callee3$(_context3) {
1931
- while (1) {
1932
- switch (_context3.prev = _context3.next) {
1933
- case 0:
1934
- comptrollerProxy = _ref3.comptrollerProxy, integrationManager = _ref3.integrationManager, fundOwner = _ref3.fundOwner, compoundAdapter = _ref3.compoundAdapter, compoundComptroller = _ref3.compoundComptroller, cTokens = _ref3.cTokens;
1935
- claimArgs = protocol.compoundClaimRewardsArgs({
1936
- cTokens: cTokens,
1937
- compoundComptroller: compoundComptroller
1938
- });
1939
- callArgs = protocol.callOnIntegrationArgs({
1940
- adapter: compoundAdapter,
1941
- encodedCallArgs: claimArgs,
1942
- selector: protocol.claimRewardsSelector
1943
- });
1944
- claimRewardsTx = comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
1945
- return _context3.abrupt("return", claimRewardsTx);
1946
-
1947
- case 5:
1948
- case "end":
1949
- return _context3.stop();
1950
- }
1951
- }
1952
- }, _callee3);
1953
- }));
1954
- return _compoundClaim.apply(this, arguments);
1955
- }
1956
-
1957
- function compoundLend(_x4) {
1958
- return _compoundLend.apply(this, arguments);
1959
- }
1960
-
1961
- function _compoundLend() {
1962
- _compoundLend = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee4(_ref4) {
1963
- var comptrollerProxy, integrationManager, fundOwner, compoundAdapter, cToken, _ref4$tokenAmount, tokenAmount, _ref4$cTokenAmount, cTokenAmount, lendArgs, callArgs, lendTx;
1964
-
1965
- return _regeneratorRuntime__default['default'].wrap(function _callee4$(_context4) {
1966
- while (1) {
1967
- switch (_context4.prev = _context4.next) {
1968
- case 0:
1969
- comptrollerProxy = _ref4.comptrollerProxy, integrationManager = _ref4.integrationManager, fundOwner = _ref4.fundOwner, compoundAdapter = _ref4.compoundAdapter, cToken = _ref4.cToken, _ref4$tokenAmount = _ref4.tokenAmount, tokenAmount = _ref4$tokenAmount === void 0 ? ethers.utils.parseEther('1') : _ref4$tokenAmount, _ref4$cTokenAmount = _ref4.cTokenAmount, cTokenAmount = _ref4$cTokenAmount === void 0 ? ethers.utils.parseEther('1') : _ref4$cTokenAmount;
1970
- lendArgs = protocol.compoundArgs({
1971
- cToken: cToken,
1972
- minIncomingAssetAmount: cTokenAmount,
1973
- outgoingAssetAmount: tokenAmount
1974
- });
1975
- callArgs = protocol.callOnIntegrationArgs({
1976
- adapter: compoundAdapter,
1977
- encodedCallArgs: lendArgs,
1978
- selector: protocol.lendSelector
1979
- });
1980
- lendTx = comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
1981
- return _context4.abrupt("return", lendTx);
1982
-
1983
- case 5:
1984
- case "end":
1985
- return _context4.stop();
1986
- }
1987
- }
1988
- }, _callee4);
1989
- }));
1990
- return _compoundLend.apply(this, arguments);
1991
- }
1992
-
1993
- function compoundRedeem(_x5) {
1994
- return _compoundRedeem.apply(this, arguments);
1995
- }
1996
-
1997
- function _compoundRedeem() {
1998
- _compoundRedeem = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee5(_ref5) {
1999
- var comptrollerProxy, integrationManager, fundOwner, compoundAdapter, cToken, _ref5$tokenAmount, tokenAmount, _ref5$cTokenAmount, cTokenAmount, redeemArgs, callArgs, redeemTx;
2000
-
2001
- return _regeneratorRuntime__default['default'].wrap(function _callee5$(_context5) {
2002
- while (1) {
2003
- switch (_context5.prev = _context5.next) {
2004
- case 0:
2005
- comptrollerProxy = _ref5.comptrollerProxy, integrationManager = _ref5.integrationManager, fundOwner = _ref5.fundOwner, compoundAdapter = _ref5.compoundAdapter, cToken = _ref5.cToken, _ref5$tokenAmount = _ref5.tokenAmount, tokenAmount = _ref5$tokenAmount === void 0 ? ethers.utils.parseEther('1') : _ref5$tokenAmount, _ref5$cTokenAmount = _ref5.cTokenAmount, cTokenAmount = _ref5$cTokenAmount === void 0 ? ethers.utils.parseEther('1') : _ref5$cTokenAmount;
2006
- redeemArgs = protocol.compoundArgs({
2007
- cToken: ethers$1.resolveAddress(cToken),
2008
- minIncomingAssetAmount: tokenAmount,
2009
- outgoingAssetAmount: cTokenAmount
2010
- });
2011
- callArgs = protocol.callOnIntegrationArgs({
2012
- adapter: compoundAdapter,
2013
- encodedCallArgs: redeemArgs,
2014
- selector: protocol.redeemSelector
2015
- });
2016
- redeemTx = comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2017
- return _context5.abrupt("return", redeemTx);
2018
-
2019
- case 5:
2020
- case "end":
2021
- return _context5.stop();
2022
- }
2023
- }
2024
- }, _callee5);
2025
- }));
2026
- return _compoundRedeem.apply(this, arguments);
2027
- }
2028
-
2029
- var _templateObject$1, _templateObject2, _templateObject3, _templateObject4;
2030
- var CurveLiquidityGaugeV2 = ethers$1.contract()(_templateObject$1 || (_templateObject$1 = _taggedTemplateLiteral(["\n function claim_rewards(address)\n function integrate_fraction(address) view returns (uint256)\n"])));
2031
- 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
2032
-
2033
- 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"])));
2034
- var CurveMinter = ethers$1.contract()(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n function mint_for(address,address)\n"]))); // exchanges
2035
-
2036
- function curveTakeOrder(_x) {
2037
- return _curveTakeOrder.apply(this, arguments);
2038
- } // combined liquidity
2039
-
2040
- function _curveTakeOrder() {
2041
- _curveTakeOrder = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
2042
- var comptrollerProxy, integrationManager, fundOwner, curveExchangeAdapter, pool, outgoingAsset, _ref$outgoingAssetAmo, outgoingAssetAmount, incomingAsset, _ref$minIncomingAsset, minIncomingAssetAmount, takeOrderArgs, callArgs;
2043
-
2044
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
2045
- while (1) {
2046
- switch (_context.prev = _context.next) {
2047
- case 0:
2048
- 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;
2049
- takeOrderArgs = protocol.curveTakeOrderArgs({
2050
- incomingAsset: incomingAsset,
2051
- minIncomingAssetAmount: minIncomingAssetAmount,
2052
- outgoingAsset: outgoingAsset,
2053
- outgoingAssetAmount: outgoingAssetAmount,
2054
- pool: pool
2055
- });
2056
- callArgs = protocol.callOnIntegrationArgs({
2057
- adapter: curveExchangeAdapter,
2058
- encodedCallArgs: takeOrderArgs,
2059
- selector: protocol.takeOrderSelector
2060
- });
2061
- return _context.abrupt("return", comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
2062
-
2063
- case 4:
2064
- case "end":
2065
- return _context.stop();
2066
- }
2067
- }
2068
- }, _callee);
2069
- }));
2070
- return _curveTakeOrder.apply(this, arguments);
2071
- }
2072
-
2073
- function curveClaimRewards(_ref2) {
2074
- var comptrollerProxy = _ref2.comptrollerProxy,
2075
- integrationManager = _ref2.integrationManager,
2076
- fundOwner = _ref2.fundOwner,
2077
- curveLiquidityAdapter = _ref2.curveLiquidityAdapter,
2078
- stakingToken = _ref2.stakingToken;
2079
- var callArgs = protocol.callOnIntegrationArgs({
2080
- adapter: curveLiquidityAdapter,
2081
- encodedCallArgs: protocol.curveClaimRewardsArgs({
2082
- stakingToken: stakingToken
2083
- }),
2084
- selector: protocol.claimRewardsSelector
2085
- });
2086
- return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2087
- }
2088
- function curveLend(_x2) {
2089
- return _curveLend.apply(this, arguments);
2090
- }
2091
-
2092
- function _curveLend() {
2093
- _curveLend = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(_ref3) {
2094
- var comptrollerProxy, integrationManager, signer, curveLiquidityAdapter, pool, orderedOutgoingAssetAmounts, _ref3$minIncomingLpTo, minIncomingLpTokenAmount, useUnderlyings, callArgs;
2095
-
2096
- return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
2097
- while (1) {
2098
- switch (_context2.prev = _context2.next) {
2099
- case 0:
2100
- 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;
2101
- callArgs = protocol.callOnIntegrationArgs({
2102
- adapter: curveLiquidityAdapter,
2103
- encodedCallArgs: protocol.curveLendArgs({
2104
- minIncomingLpTokenAmount: minIncomingLpTokenAmount,
2105
- orderedOutgoingAssetAmounts: orderedOutgoingAssetAmounts,
2106
- pool: pool,
2107
- useUnderlyings: useUnderlyings
2108
- }),
2109
- selector: protocol.lendSelector
2110
- });
2111
- return _context2.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
2112
-
2113
- case 3:
2114
- case "end":
2115
- return _context2.stop();
2116
- }
2117
- }
2118
- }, _callee2);
2119
- }));
2120
- return _curveLend.apply(this, arguments);
2121
- }
2122
-
2123
- function curveLendAndStake(_x3) {
2124
- return _curveLendAndStake.apply(this, arguments);
2125
- }
2126
-
2127
- function _curveLendAndStake() {
2128
- _curveLendAndStake = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee3(_ref4) {
2129
- var comptrollerProxy, integrationManager, signer, curveLiquidityAdapter, pool, orderedOutgoingAssetAmounts, incomingStakingToken, _ref4$minIncomingStak, minIncomingStakingTokenAmount, useUnderlyings, callArgs;
2130
-
2131
- return _regeneratorRuntime__default['default'].wrap(function _callee3$(_context3) {
2132
- while (1) {
2133
- switch (_context3.prev = _context3.next) {
2134
- case 0:
2135
- comptrollerProxy = _ref4.comptrollerProxy, integrationManager = _ref4.integrationManager, signer = _ref4.signer, curveLiquidityAdapter = _ref4.curveLiquidityAdapter, pool = _ref4.pool, orderedOutgoingAssetAmounts = _ref4.orderedOutgoingAssetAmounts, incomingStakingToken = _ref4.incomingStakingToken, _ref4$minIncomingStak = _ref4.minIncomingStakingTokenAmount, minIncomingStakingTokenAmount = _ref4$minIncomingStak === void 0 ? ethers.BigNumber.from(1) : _ref4$minIncomingStak, useUnderlyings = _ref4.useUnderlyings;
2136
- callArgs = protocol.callOnIntegrationArgs({
2137
- adapter: curveLiquidityAdapter,
2138
- encodedCallArgs: protocol.curveLendAndStakeArgs({
2139
- incomingStakingToken: incomingStakingToken,
2140
- minIncomingStakingTokenAmount: minIncomingStakingTokenAmount,
2141
- orderedOutgoingAssetAmounts: orderedOutgoingAssetAmounts,
2142
- pool: pool,
2143
- useUnderlyings: useUnderlyings
2144
- }),
2145
- selector: protocol.lendAndStakeSelector
2146
- });
2147
- return _context3.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
2148
-
2149
- case 3:
2150
- case "end":
2151
- return _context3.stop();
2152
- }
2153
- }
2154
- }, _callee3);
2155
- }));
2156
- return _curveLendAndStake.apply(this, arguments);
2157
- }
2158
-
2159
- function curveRedeem(_x4) {
2160
- return _curveRedeem.apply(this, arguments);
2161
- }
2162
-
2163
- function _curveRedeem() {
2164
- _curveRedeem = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee4(_ref5) {
2165
- var comptrollerProxy, integrationManager, signer, curveLiquidityAdapter, pool, outgoingLpTokenAmount, useUnderlyings, redeemType, incomingAssetData, callArgs;
2166
- return _regeneratorRuntime__default['default'].wrap(function _callee4$(_context4) {
2167
- while (1) {
2168
- switch (_context4.prev = _context4.next) {
2169
- case 0:
2170
- 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;
2171
- callArgs = protocol.callOnIntegrationArgs({
2172
- adapter: curveLiquidityAdapter,
2173
- encodedCallArgs: protocol.curveRedeemArgs({
2174
- incomingAssetData: incomingAssetData,
2175
- outgoingLpTokenAmount: outgoingLpTokenAmount,
2176
- pool: pool,
2177
- redeemType: redeemType,
2178
- useUnderlyings: useUnderlyings
2179
- }),
2180
- selector: protocol.redeemSelector
2181
- });
2182
- return _context4.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
2183
-
2184
- case 3:
2185
- case "end":
2186
- return _context4.stop();
2187
- }
2188
- }
2189
- }, _callee4);
2190
- }));
2191
- return _curveRedeem.apply(this, arguments);
2192
- }
2193
-
2194
- function curveStake(_x5) {
2195
- return _curveStake.apply(this, arguments);
2196
- }
2197
-
2198
- function _curveStake() {
2199
- _curveStake = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee5(_ref6) {
2200
- var comptrollerProxy, integrationManager, signer, curveLiquidityAdapter, pool, incomingStakingToken, amount, callArgs;
2201
- return _regeneratorRuntime__default['default'].wrap(function _callee5$(_context5) {
2202
- while (1) {
2203
- switch (_context5.prev = _context5.next) {
2204
- case 0:
2205
- comptrollerProxy = _ref6.comptrollerProxy, integrationManager = _ref6.integrationManager, signer = _ref6.signer, curveLiquidityAdapter = _ref6.curveLiquidityAdapter, pool = _ref6.pool, incomingStakingToken = _ref6.incomingStakingToken, amount = _ref6.amount;
2206
- callArgs = protocol.callOnIntegrationArgs({
2207
- adapter: curveLiquidityAdapter,
2208
- encodedCallArgs: protocol.curveStakeArgs({
2209
- amount: amount,
2210
- incomingStakingToken: incomingStakingToken,
2211
- pool: pool
2212
- }),
2213
- selector: protocol.stakeSelector
2214
- });
2215
- return _context5.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
2216
-
2217
- case 3:
2218
- case "end":
2219
- return _context5.stop();
2220
- }
2221
- }
2222
- }, _callee5);
2223
- }));
2224
- return _curveStake.apply(this, arguments);
2225
- }
2226
-
2227
- function curveUnstake(_x6) {
2228
- return _curveUnstake.apply(this, arguments);
2229
- }
2230
-
2231
- function _curveUnstake() {
2232
- _curveUnstake = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee6(_ref7) {
2233
- var comptrollerProxy, integrationManager, signer, curveLiquidityAdapter, pool, outgoingStakingToken, amount, callArgs;
2234
- return _regeneratorRuntime__default['default'].wrap(function _callee6$(_context6) {
2235
- while (1) {
2236
- switch (_context6.prev = _context6.next) {
2237
- case 0:
2238
- comptrollerProxy = _ref7.comptrollerProxy, integrationManager = _ref7.integrationManager, signer = _ref7.signer, curveLiquidityAdapter = _ref7.curveLiquidityAdapter, pool = _ref7.pool, outgoingStakingToken = _ref7.outgoingStakingToken, amount = _ref7.amount;
2239
- callArgs = protocol.callOnIntegrationArgs({
2240
- adapter: curveLiquidityAdapter,
2241
- encodedCallArgs: protocol.curveUnstakeArgs({
2242
- amount: amount,
2243
- outgoingStakingToken: outgoingStakingToken,
2244
- pool: pool
2245
- }),
2246
- selector: protocol.unstakeSelector
2247
- });
2248
- return _context6.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
2249
-
2250
- case 3:
2251
- case "end":
2252
- return _context6.stop();
2253
- }
2254
- }
2255
- }, _callee6);
2256
- }));
2257
- return _curveUnstake.apply(this, arguments);
2258
- }
2259
-
2260
- function curveUnstakeAndRedeem(_x7) {
2261
- return _curveUnstakeAndRedeem.apply(this, arguments);
2262
- }
2263
-
2264
- function _curveUnstakeAndRedeem() {
2265
- _curveUnstakeAndRedeem = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee7(_ref8) {
2266
- var comptrollerProxy, integrationManager, signer, curveLiquidityAdapter, pool, outgoingStakingToken, outgoingStakingTokenAmount, useUnderlyings, redeemType, incomingAssetData, callArgs;
2267
- return _regeneratorRuntime__default['default'].wrap(function _callee7$(_context7) {
2268
- while (1) {
2269
- switch (_context7.prev = _context7.next) {
2270
- case 0:
2271
- comptrollerProxy = _ref8.comptrollerProxy, integrationManager = _ref8.integrationManager, signer = _ref8.signer, curveLiquidityAdapter = _ref8.curveLiquidityAdapter, pool = _ref8.pool, outgoingStakingToken = _ref8.outgoingStakingToken, outgoingStakingTokenAmount = _ref8.outgoingStakingTokenAmount, useUnderlyings = _ref8.useUnderlyings, redeemType = _ref8.redeemType, incomingAssetData = _ref8.incomingAssetData;
2272
- callArgs = protocol.callOnIntegrationArgs({
2273
- adapter: curveLiquidityAdapter,
2274
- encodedCallArgs: protocol.curveUnstakeAndRedeemArgs({
2275
- incomingAssetData: incomingAssetData,
2276
- outgoingStakingToken: outgoingStakingToken,
2277
- outgoingStakingTokenAmount: outgoingStakingTokenAmount,
2278
- pool: pool,
2279
- redeemType: redeemType,
2280
- useUnderlyings: useUnderlyings
2281
- }),
2282
- selector: protocol.unstakeAndRedeemSelector
2283
- });
2284
- return _context7.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
2285
-
2286
- case 3:
2287
- case "end":
2288
- return _context7.stop();
2289
- }
2290
- }
2291
- }, _callee7);
2292
- }));
2293
- return _curveUnstakeAndRedeem.apply(this, arguments);
2294
- }
2295
-
2296
- function idleClaimRewards(_x) {
2297
- return _idleClaimRewards.apply(this, arguments);
2298
- }
2299
-
2300
- function _idleClaimRewards() {
2301
- _idleClaimRewards = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
2302
- var comptrollerProxy, integrationManager, fundOwner, idleAdapter, idleToken, callArgs;
2303
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
2304
- while (1) {
2305
- switch (_context.prev = _context.next) {
2306
- case 0:
2307
- comptrollerProxy = _ref.comptrollerProxy, integrationManager = _ref.integrationManager, fundOwner = _ref.fundOwner, idleAdapter = _ref.idleAdapter, idleToken = _ref.idleToken;
2308
- callArgs = protocol.callOnIntegrationArgs({
2309
- adapter: idleAdapter,
2310
- encodedCallArgs: protocol.idleClaimRewardsArgs({
2311
- idleToken: idleToken
2312
- }),
2313
- selector: protocol.claimRewardsSelector
2314
- });
2315
- return _context.abrupt("return", comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
2316
-
2317
- case 3:
2318
- case "end":
2319
- return _context.stop();
2320
- }
2321
- }
2322
- }, _callee);
2323
- }));
2324
- return _idleClaimRewards.apply(this, arguments);
2325
- }
2326
-
2327
- function idleLend(_x2) {
2328
- return _idleLend.apply(this, arguments);
2329
- }
2330
-
2331
- function _idleLend() {
2332
- _idleLend = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(_ref2) {
2333
- var comptrollerProxy, integrationManager, fundOwner, idleAdapter, idleToken, outgoingUnderlyingAmount, _ref2$minIncomingIdle, minIncomingIdleTokenAmount, callArgs;
2334
-
2335
- return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
2336
- while (1) {
2337
- switch (_context2.prev = _context2.next) {
2338
- case 0:
2339
- 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;
2340
- callArgs = protocol.callOnIntegrationArgs({
2341
- adapter: idleAdapter,
2342
- encodedCallArgs: protocol.idleLendArgs({
2343
- idleToken: idleToken,
2344
- minIncomingIdleTokenAmount: minIncomingIdleTokenAmount,
2345
- outgoingUnderlyingAmount: outgoingUnderlyingAmount
2346
- }),
2347
- selector: protocol.lendSelector
2348
- });
2349
- return _context2.abrupt("return", comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
2350
-
2351
- case 3:
2352
- case "end":
2353
- return _context2.stop();
2354
- }
2355
- }
2356
- }, _callee2);
2357
- }));
2358
- return _idleLend.apply(this, arguments);
2359
- }
2360
-
2361
- function idleRedeem(_x3) {
2362
- return _idleRedeem.apply(this, arguments);
2363
- }
2364
-
2365
- function _idleRedeem() {
2366
- _idleRedeem = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee3(_ref3) {
2367
- var comptrollerProxy, integrationManager, fundOwner, idleAdapter, idleToken, outgoingIdleTokenAmount, _ref3$minIncomingUnde, minIncomingUnderlyingAmount, callArgs;
2368
-
2369
- return _regeneratorRuntime__default['default'].wrap(function _callee3$(_context3) {
2370
- while (1) {
2371
- switch (_context3.prev = _context3.next) {
2372
- case 0:
2373
- 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;
2374
- callArgs = protocol.callOnIntegrationArgs({
2375
- adapter: idleAdapter,
2376
- encodedCallArgs: protocol.idleRedeemArgs({
2377
- idleToken: idleToken,
2378
- minIncomingUnderlyingAmount: minIncomingUnderlyingAmount,
2379
- outgoingIdleTokenAmount: outgoingIdleTokenAmount
2380
- }),
2381
- selector: protocol.redeemSelector
2382
- });
2383
- return _context3.abrupt("return", comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
2384
-
2385
- case 3:
2386
- case "end":
2387
- return _context3.stop();
2388
- }
2389
- }
2390
- }, _callee3);
2391
- }));
2392
- return _idleRedeem.apply(this, arguments);
2393
- }
2394
-
2395
- var mockGenericRemoveOnlySelector = protocol.sighash(ethers.utils.FunctionFragment.fromString('removeOnly(address,bytes,bytes)'));
2396
- var mockGenericSwapASelector = protocol.sighash(ethers.utils.FunctionFragment.fromString('swapA(address,bytes,bytes)'));
2397
- var mockGenericSwapBSelector = protocol.sighash(ethers.utils.FunctionFragment.fromString('swapB(address,bytes,bytes)'));
2398
- var mockGenericSwapDirectFromVaultSelector = protocol.sighash(ethers.utils.FunctionFragment.fromString('swapDirectFromVault(address,bytes,bytes)'));
2399
- var mockGenericSwapViaApprovalSelector = protocol.sighash(ethers.utils.FunctionFragment.fromString('swapViaApproval(address,bytes,bytes)'));
2400
- function mockGenericSwapArgs(_ref) {
2401
- var _ref$spendAssets = _ref.spendAssets,
2402
- spendAssets = _ref$spendAssets === void 0 ? [] : _ref$spendAssets,
2403
- _ref$actualSpendAsset = _ref.actualSpendAssetAmounts,
2404
- actualSpendAssetAmounts = _ref$actualSpendAsset === void 0 ? [] : _ref$actualSpendAsset,
2405
- _ref$maxSpendAssetAmo = _ref.maxSpendAssetAmounts,
2406
- maxSpendAssetAmounts = _ref$maxSpendAssetAmo === void 0 ? actualSpendAssetAmounts : _ref$maxSpendAssetAmo,
2407
- _ref$incomingAssets = _ref.incomingAssets,
2408
- incomingAssets = _ref$incomingAssets === void 0 ? [] : _ref$incomingAssets,
2409
- _ref$actualIncomingAs = _ref.actualIncomingAssetAmounts,
2410
- actualIncomingAssetAmounts = _ref$actualIncomingAs === void 0 ? [] : _ref$actualIncomingAs,
2411
- _ref$minIncomingAsset = _ref.minIncomingAssetAmounts,
2412
- minIncomingAssetAmounts = _ref$minIncomingAsset === void 0 ? actualIncomingAssetAmounts : _ref$minIncomingAsset;
2413
- return protocol.encodeArgs(['address[]', 'uint256[]', 'uint256[]', 'address[]', 'uint256[]', 'uint256[]'], [spendAssets, maxSpendAssetAmounts, actualSpendAssetAmounts, incomingAssets, minIncomingAssetAmounts, actualIncomingAssetAmounts]);
2414
- }
2415
- function mockGenericSwap(_x) {
2416
- return _mockGenericSwap.apply(this, arguments);
2417
- }
2418
-
2419
- function _mockGenericSwap() {
2420
- _mockGenericSwap = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref2) {
2421
- 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;
2422
-
2423
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
2424
- while (1) {
2425
- switch (_context.prev = _context.next) {
2426
- case 0:
2427
- 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;
2428
-
2429
- if (!seedFund) {
2430
- _context.next = 9;
2431
- break;
2432
- }
2433
-
2434
- _context.t0 = _regeneratorRuntime__default['default'].keys(spendAssets);
2435
-
2436
- case 3:
2437
- if ((_context.t1 = _context.t0()).done) {
2438
- _context.next = 9;
2439
- break;
2440
- }
2441
-
2442
- key = _context.t1.value;
2443
- _context.next = 7;
2444
- return spendAssets[key].transfer(vaultProxy, maxSpendAssetAmounts[key]);
2445
-
2446
- case 7:
2447
- _context.next = 3;
2448
- break;
2449
-
2450
- case 9:
2451
- swapArgs = mockGenericSwapArgs({
2452
- actualIncomingAssetAmounts: actualIncomingAssetAmounts,
2453
- actualSpendAssetAmounts: actualSpendAssetAmounts,
2454
- incomingAssets: incomingAssets,
2455
- maxSpendAssetAmounts: maxSpendAssetAmounts,
2456
- minIncomingAssetAmounts: minIncomingAssetAmounts,
2457
- spendAssets: spendAssets
2458
- });
2459
- callArgs = protocol.callOnIntegrationArgs({
2460
- adapter: mockGenericAdapter,
2461
- encodedCallArgs: swapArgs,
2462
- selector: selector
2463
- });
2464
- swapTx = comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2465
- _context.next = 14;
2466
- return expect(swapTx).resolves.toBeReceipt();
2467
-
2468
- case 14:
2469
- return _context.abrupt("return", swapTx);
2470
-
2471
- case 15:
2472
- case "end":
2473
- return _context.stop();
2474
- }
2475
- }
2476
- }, _callee);
2477
- }));
2478
- return _mockGenericSwap.apply(this, arguments);
2479
- }
2480
-
2481
- function olympusV2Stake(_x) {
2482
- return _olympusV2Stake.apply(this, arguments);
2483
- }
2484
-
2485
- function _olympusV2Stake() {
2486
- _olympusV2Stake = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
2487
- var comptrollerProxy, integrationManager, signer, olympusV2Adapter, amount, stakeArgs, callArgs, stakeTx;
2488
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
2489
- while (1) {
2490
- switch (_context.prev = _context.next) {
2491
- case 0:
2492
- comptrollerProxy = _ref.comptrollerProxy, integrationManager = _ref.integrationManager, signer = _ref.signer, olympusV2Adapter = _ref.olympusV2Adapter, amount = _ref.amount;
2493
- stakeArgs = protocol.olympusV2StakeArgs({
2494
- amount: amount
2495
- });
2496
- callArgs = protocol.callOnIntegrationArgs({
2497
- adapter: olympusV2Adapter,
2498
- encodedCallArgs: stakeArgs,
2499
- selector: protocol.stakeSelector
2500
- });
2501
- stakeTx = comptrollerProxy.connect(signer).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2502
- return _context.abrupt("return", stakeTx);
2503
-
2504
- case 5:
2505
- case "end":
2506
- return _context.stop();
2507
- }
2508
- }
2509
- }, _callee);
2510
- }));
2511
- return _olympusV2Stake.apply(this, arguments);
2512
- }
2513
-
2514
- function olympusV2Unstake(_x2) {
2515
- return _olympusV2Unstake.apply(this, arguments);
2516
- }
2517
-
2518
- function _olympusV2Unstake() {
2519
- _olympusV2Unstake = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(_ref2) {
2520
- var comptrollerProxy, integrationManager, signer, olympusV2Adapter, amount, unstakeArgs, callArgs, unstakeTx;
2521
- return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
2522
- while (1) {
2523
- switch (_context2.prev = _context2.next) {
2524
- case 0:
2525
- comptrollerProxy = _ref2.comptrollerProxy, integrationManager = _ref2.integrationManager, signer = _ref2.signer, olympusV2Adapter = _ref2.olympusV2Adapter, amount = _ref2.amount;
2526
- unstakeArgs = protocol.olympusV2UnstakeArgs({
2527
- amount: amount
2528
- });
2529
- callArgs = protocol.callOnIntegrationArgs({
2530
- adapter: olympusV2Adapter,
2531
- encodedCallArgs: unstakeArgs,
2532
- selector: protocol.unstakeSelector
2533
- });
2534
- unstakeTx = comptrollerProxy.connect(signer).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2535
- return _context2.abrupt("return", unstakeTx);
2536
-
2537
- case 5:
2538
- case "end":
2539
- return _context2.stop();
2540
- }
2541
- }
2542
- }, _callee2);
2543
- }));
2544
- return _olympusV2Unstake.apply(this, arguments);
2545
- }
2546
-
2547
- function paraSwapV5GenerateDummyPaths(_ref) {
2548
- var toTokens = _ref.toTokens;
2549
- return toTokens.map(function (toToken) {
2550
- return {
2551
- // Not supported in our protocol
2552
- adapters: [],
2553
- to: toToken,
2554
- totalNetworkFee: 0 // Can ignore this param in the dummy
2555
-
2556
- };
2557
- });
2558
- }
2559
- function paraSwapV5TakeOrder(_x) {
2560
- return _paraSwapV5TakeOrder.apply(this, arguments);
2561
- }
2562
-
2563
- function _paraSwapV5TakeOrder() {
2564
- _paraSwapV5TakeOrder = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref2) {
2565
- var comptrollerProxy, integrationManager, fundOwner, paraSwapV5Adapter, outgoingAsset, outgoingAssetAmount, _ref2$minIncomingAsse, minIncomingAssetAmount, _ref2$expectedIncomin, expectedIncomingAssetAmount, _ref2$uuid, uuid, paths, takeOrderArgs, callArgs;
2566
-
2567
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
2568
- while (1) {
2569
- switch (_context.prev = _context.next) {
2570
- case 0:
2571
- 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;
2572
- takeOrderArgs = protocol.paraSwapV5TakeOrderArgs({
2573
- expectedIncomingAssetAmount: expectedIncomingAssetAmount,
2574
- minIncomingAssetAmount: minIncomingAssetAmount,
2575
- outgoingAsset: outgoingAsset,
2576
- outgoingAssetAmount: outgoingAssetAmount,
2577
- paths: paths,
2578
- uuid: uuid
2579
- });
2580
- callArgs = protocol.callOnIntegrationArgs({
2581
- adapter: paraSwapV5Adapter,
2582
- encodedCallArgs: takeOrderArgs,
2583
- selector: protocol.takeOrderSelector
2584
- });
2585
- return _context.abrupt("return", comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
2586
-
2587
- case 4:
2588
- case "end":
2589
- return _context.stop();
2590
- }
2591
- }
2592
- }, _callee);
2593
- }));
2594
- return _paraSwapV5TakeOrder.apply(this, arguments);
2595
- }
2596
-
2597
- function poolTogetherV4Lend(_x) {
2598
- return _poolTogetherV4Lend.apply(this, arguments);
2599
- }
2600
-
2601
- function _poolTogetherV4Lend() {
2602
- _poolTogetherV4Lend = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
2603
- var comptrollerProxy, integrationManager, fundOwner, poolTogetherV4Adapter, ptToken, _ref$amount, amount, lendArgs, callArgs, lendTx;
2604
-
2605
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
2606
- while (1) {
2607
- switch (_context.prev = _context.next) {
2608
- case 0:
2609
- 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;
2610
- lendArgs = protocol.poolTogetherV4LendArgs({
2611
- amount: amount,
2612
- ptToken: ptToken
2613
- });
2614
- callArgs = protocol.callOnIntegrationArgs({
2615
- adapter: poolTogetherV4Adapter,
2616
- encodedCallArgs: lendArgs,
2617
- selector: protocol.lendSelector
2618
- });
2619
- lendTx = comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2620
- return _context.abrupt("return", lendTx);
2621
-
2622
- case 5:
2623
- case "end":
2624
- return _context.stop();
2625
- }
2626
- }
2627
- }, _callee);
2628
- }));
2629
- return _poolTogetherV4Lend.apply(this, arguments);
2630
- }
2631
-
2632
- function poolTogetherV4Redeem(_x2) {
2633
- return _poolTogetherV4Redeem.apply(this, arguments);
2634
- }
2635
-
2636
- function _poolTogetherV4Redeem() {
2637
- _poolTogetherV4Redeem = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(_ref2) {
2638
- var comptrollerProxy, integrationManager, fundOwner, poolTogetherV4Adapter, ptToken, _ref2$amount, amount, redeemArgs, callArgs, redeemTx;
2639
-
2640
- return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
2641
- while (1) {
2642
- switch (_context2.prev = _context2.next) {
2643
- case 0:
2644
- 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;
2645
- redeemArgs = protocol.poolTogetherV4RedeemArgs({
2646
- amount: amount,
2647
- ptToken: ptToken
2648
- });
2649
- callArgs = protocol.callOnIntegrationArgs({
2650
- adapter: poolTogetherV4Adapter,
2651
- encodedCallArgs: redeemArgs,
2652
- selector: protocol.redeemSelector
2653
- });
2654
- redeemTx = comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2655
- return _context2.abrupt("return", redeemTx);
2656
-
2657
- case 5:
2658
- case "end":
2659
- return _context2.stop();
2660
- }
2661
- }
2662
- }, _callee2);
2663
- }));
2664
- return _poolTogetherV4Redeem.apply(this, arguments);
2665
- }
2666
-
2667
- function poolTogetherV4ClaimRewards(_x3) {
2668
- return _poolTogetherV4ClaimRewards.apply(this, arguments);
2669
- }
2670
-
2671
- function _poolTogetherV4ClaimRewards() {
2672
- _poolTogetherV4ClaimRewards = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee3(_ref3) {
2673
- var comptrollerProxy, integrationManager, fundOwner, poolTogetherV4Adapter, prizeDistributor, drawIds, winningPicks, claimRewardsArgs, callArgs, claimTx;
2674
- return _regeneratorRuntime__default['default'].wrap(function _callee3$(_context3) {
2675
- while (1) {
2676
- switch (_context3.prev = _context3.next) {
2677
- case 0:
2678
- comptrollerProxy = _ref3.comptrollerProxy, integrationManager = _ref3.integrationManager, fundOwner = _ref3.fundOwner, poolTogetherV4Adapter = _ref3.poolTogetherV4Adapter, prizeDistributor = _ref3.prizeDistributor, drawIds = _ref3.drawIds, winningPicks = _ref3.winningPicks;
2679
- claimRewardsArgs = protocol.poolTogetherV4ClaimRewardsArgs({
2680
- drawIds: drawIds,
2681
- prizeDistributor: prizeDistributor,
2682
- winningPicks: winningPicks
2683
- });
2684
- callArgs = protocol.callOnIntegrationArgs({
2685
- adapter: poolTogetherV4Adapter,
2686
- encodedCallArgs: claimRewardsArgs,
2687
- selector: protocol.claimRewardsSelector
2688
- });
2689
- claimTx = comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2690
- return _context3.abrupt("return", claimTx);
2691
-
2692
- case 5:
2693
- case "end":
2694
- return _context3.stop();
2695
- }
2696
- }
2697
- }, _callee3);
2698
- }));
2699
- return _poolTogetherV4ClaimRewards.apply(this, arguments);
2700
- }
2701
-
2702
- function synthetixAssignExchangeDelegate(_x) {
2703
- return _synthetixAssignExchangeDelegate.apply(this, arguments);
2704
- }
2705
-
2706
- function _synthetixAssignExchangeDelegate() {
2707
- _synthetixAssignExchangeDelegate = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
2708
- var comptrollerProxy, synthetixDelegateApprovals, fundOwner, delegate;
2709
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
2710
- while (1) {
2711
- switch (_context.prev = _context.next) {
2712
- case 0:
2713
- comptrollerProxy = _ref.comptrollerProxy, synthetixDelegateApprovals = _ref.synthetixDelegateApprovals, fundOwner = _ref.fundOwner, delegate = _ref.delegate;
2714
- _context.next = 3;
2715
- return comptrollerProxy.connect(fundOwner).vaultCallOnContract(synthetixDelegateApprovals, protocol.synthetixAssignExchangeDelegateSelector, protocol.encodeArgs(['address'], [delegate]));
2716
-
2717
- case 3:
2718
- case "end":
2719
- return _context.stop();
2720
- }
2721
- }
2722
- }, _callee);
2723
- }));
2724
- return _synthetixAssignExchangeDelegate.apply(this, arguments);
2725
- }
2726
-
2727
- function synthetixRedeem(_x2) {
2728
- return _synthetixRedeem.apply(this, arguments);
2729
- }
2730
-
2731
- function _synthetixRedeem() {
2732
- _synthetixRedeem = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(_ref2) {
2733
- var comptrollerProxy, integrationManager, signer, synthetixAdapter, synths, redeemArgs, callArgs;
2734
- return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
2735
- while (1) {
2736
- switch (_context2.prev = _context2.next) {
2737
- case 0:
2738
- comptrollerProxy = _ref2.comptrollerProxy, integrationManager = _ref2.integrationManager, signer = _ref2.signer, synthetixAdapter = _ref2.synthetixAdapter, synths = _ref2.synths;
2739
- redeemArgs = protocol.synthetixRedeemArgs({
2740
- synths: synths
2741
- });
2742
- callArgs = protocol.callOnIntegrationArgs({
2743
- adapter: synthetixAdapter,
2744
- encodedCallArgs: redeemArgs,
2745
- selector: protocol.redeemSelector
2746
- });
2747
- return _context2.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
2748
-
2749
- case 4:
2750
- case "end":
2751
- return _context2.stop();
2752
- }
2753
- }
2754
- }, _callee2);
2755
- }));
2756
- return _synthetixRedeem.apply(this, arguments);
2757
- }
2758
-
2759
- function synthetixTakeOrder(_x3) {
2760
- return _synthetixTakeOrder.apply(this, arguments);
2761
- }
2762
-
2763
- function _synthetixTakeOrder() {
2764
- _synthetixTakeOrder = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee3(_ref3) {
2765
- var comptrollerProxy, vaultProxy, integrationManager, fundOwner, synthetixAdapter, outgoingAsset, _ref3$outgoingAssetAm, outgoingAssetAmount, _ref3$minIncomingSusd, minIncomingSusdAmount, _ref3$seedFund, seedFund, takeOrderArgs, callArgs;
2766
-
2767
- return _regeneratorRuntime__default['default'].wrap(function _callee3$(_context3) {
2768
- while (1) {
2769
- switch (_context3.prev = _context3.next) {
2770
- case 0:
2771
- comptrollerProxy = _ref3.comptrollerProxy, vaultProxy = _ref3.vaultProxy, integrationManager = _ref3.integrationManager, fundOwner = _ref3.fundOwner, synthetixAdapter = _ref3.synthetixAdapter, outgoingAsset = _ref3.outgoingAsset, _ref3$outgoingAssetAm = _ref3.outgoingAssetAmount, outgoingAssetAmount = _ref3$outgoingAssetAm === void 0 ? ethers.utils.parseEther('1') : _ref3$outgoingAssetAm, _ref3$minIncomingSusd = _ref3.minIncomingSusdAmount, minIncomingSusdAmount = _ref3$minIncomingSusd === void 0 ? ethers.utils.parseEther('1') : _ref3$minIncomingSusd, _ref3$seedFund = _ref3.seedFund, seedFund = _ref3$seedFund === void 0 ? false : _ref3$seedFund;
2772
-
2773
- if (!seedFund) {
2774
- _context3.next = 4;
2775
- break;
2776
- }
2777
-
2778
- _context3.next = 4;
2779
- return outgoingAsset.transfer(vaultProxy, outgoingAssetAmount);
2780
-
2781
- case 4:
2782
- takeOrderArgs = protocol.synthetixTakeOrderArgs({
2783
- minIncomingSusdAmount: minIncomingSusdAmount,
2784
- outgoingAsset: outgoingAsset,
2785
- outgoingAssetAmount: outgoingAssetAmount
2786
- });
2787
- _context3.next = 7;
2788
- return protocol.callOnIntegrationArgs({
2789
- adapter: synthetixAdapter,
2790
- encodedCallArgs: takeOrderArgs,
2791
- selector: protocol.takeOrderSelector
2792
- });
2793
-
2794
- case 7:
2795
- callArgs = _context3.sent;
2796
- return _context3.abrupt("return", comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
2797
-
2798
- case 9:
2799
- case "end":
2800
- return _context3.stop();
2801
- }
2802
- }
2803
- }, _callee3);
2804
- }));
2805
- return _synthetixTakeOrder.apply(this, arguments);
2806
- }
2807
-
2808
- var _templateObject;
2809
- var UniswapV2Factory = ethers$1.contract()(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n function createPair(address,address) returns (address)\n function getPair(address,address) view returns (address)\n"])));
2810
- function uniswapV2Lend(_x) {
2811
- return _uniswapV2Lend.apply(this, arguments);
2812
- }
2813
-
2814
- function _uniswapV2Lend() {
2815
- _uniswapV2Lend = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
2816
- var comptrollerProxy, vaultProxy, integrationManager, fundOwner, uniswapV2LiquidityAdapter, tokenA, tokenB, amountADesired, amountBDesired, amountAMin, amountBMin, minPoolTokenAmount, _ref$seedFund, seedFund, lendArgs, callArgs, lendTx;
2817
-
2818
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
2819
- while (1) {
2820
- switch (_context.prev = _context.next) {
2821
- case 0:
2822
- 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;
2823
-
2824
- if (!seedFund) {
2825
- _context.next = 6;
2826
- break;
2827
- }
2828
-
2829
- _context.next = 4;
2830
- return tokenA.transfer(vaultProxy, amountADesired);
2831
-
2832
- case 4:
2833
- _context.next = 6;
2834
- return tokenB.transfer(vaultProxy, amountBDesired);
2835
-
2836
- case 6:
2837
- lendArgs = protocol.uniswapV2LendArgs({
2838
- amountADesired: amountADesired,
2839
- amountAMin: amountAMin,
2840
- amountBDesired: amountBDesired,
2841
- amountBMin: amountBMin,
2842
- minPoolTokenAmount: minPoolTokenAmount,
2843
- tokenA: tokenA,
2844
- tokenB: tokenB
2845
- });
2846
- callArgs = protocol.callOnIntegrationArgs({
2847
- adapter: uniswapV2LiquidityAdapter,
2848
- encodedCallArgs: lendArgs,
2849
- selector: protocol.lendSelector
2850
- });
2851
- lendTx = comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2852
- _context.next = 11;
2853
- return expect(lendTx).resolves.toBeReceipt();
2854
-
2855
- case 11:
2856
- return _context.abrupt("return", lendTx);
2857
-
2858
- case 12:
2859
- case "end":
2860
- return _context.stop();
2861
- }
2862
- }
2863
- }, _callee);
2864
- }));
2865
- return _uniswapV2Lend.apply(this, arguments);
2866
- }
2867
-
2868
- function uniswapV2Redeem(_x2) {
2869
- return _uniswapV2Redeem.apply(this, arguments);
2870
- }
2871
-
2872
- function _uniswapV2Redeem() {
2873
- _uniswapV2Redeem = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(_ref2) {
2874
- var comptrollerProxy, integrationManager, fundOwner, uniswapV2LiquidityAdapter, poolTokenAmount, tokenA, tokenB, amountAMin, amountBMin, redeemArgs, callArgs, redeemTx;
2875
- return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
2876
- while (1) {
2877
- switch (_context2.prev = _context2.next) {
2878
- case 0:
2879
- 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;
2880
- redeemArgs = protocol.uniswapV2RedeemArgs({
2881
- amountAMin: amountAMin,
2882
- amountBMin: amountBMin,
2883
- poolTokenAmount: poolTokenAmount,
2884
- tokenA: tokenA,
2885
- tokenB: tokenB
2886
- });
2887
- callArgs = protocol.callOnIntegrationArgs({
2888
- adapter: uniswapV2LiquidityAdapter,
2889
- encodedCallArgs: redeemArgs,
2890
- selector: protocol.redeemSelector
2891
- });
2892
- redeemTx = comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2893
- _context2.next = 6;
2894
- return expect(redeemTx).resolves.toBeReceipt();
2895
-
2896
- case 6:
2897
- return _context2.abrupt("return", redeemTx);
2898
-
2899
- case 7:
2900
- case "end":
2901
- return _context2.stop();
2902
- }
2903
- }
2904
- }, _callee2);
2905
- }));
2906
- return _uniswapV2Redeem.apply(this, arguments);
2907
- }
2908
-
2909
- function uniswapV2TakeOrder(_x3) {
2910
- return _uniswapV2TakeOrder.apply(this, arguments);
2911
- }
2912
-
2913
- function _uniswapV2TakeOrder() {
2914
- _uniswapV2TakeOrder = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee3(_ref3) {
2915
- var comptrollerProxy, vaultProxy, integrationManager, fundOwner, uniswapV2ExchangeAdapter, path, outgoingAssetAmount, minIncomingAssetAmount, _ref3$seedFund, seedFund, takeOrderArgs, callArgs;
2916
-
2917
- return _regeneratorRuntime__default['default'].wrap(function _callee3$(_context3) {
2918
- while (1) {
2919
- switch (_context3.prev = _context3.next) {
2920
- case 0:
2921
- 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;
2922
-
2923
- if (!seedFund) {
2924
- _context3.next = 4;
2925
- break;
2926
- }
2927
-
2928
- _context3.next = 4;
2929
- return path[0].transfer(vaultProxy, outgoingAssetAmount);
2930
-
2931
- case 4:
2932
- takeOrderArgs = protocol.uniswapV2TakeOrderArgs({
2933
- minIncomingAssetAmount: minIncomingAssetAmount,
2934
- outgoingAssetAmount: outgoingAssetAmount,
2935
- path: path
2936
- });
2937
- callArgs = protocol.callOnIntegrationArgs({
2938
- adapter: uniswapV2ExchangeAdapter,
2939
- encodedCallArgs: takeOrderArgs,
2940
- selector: protocol.takeOrderSelector
2941
- });
2942
- return _context3.abrupt("return", comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
2943
-
2944
- case 7:
2945
- case "end":
2946
- return _context3.stop();
2947
- }
2948
- }
2949
- }, _callee3);
2950
- }));
2951
- return _uniswapV2TakeOrder.apply(this, arguments);
2952
- }
2953
-
2954
- function uniswapV3TakeOrder(_x) {
2955
- return _uniswapV3TakeOrder.apply(this, arguments);
2956
- }
2957
-
2958
- function _uniswapV3TakeOrder() {
2959
- _uniswapV3TakeOrder = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
2960
- var comptrollerProxy, integrationManager, fundOwner, uniswapV3Adapter, pathAddresses, pathFees, outgoingAssetAmount, _ref$minIncomingAsset, minIncomingAssetAmount, _ref$seedFund, seedFund, vaultProxy, takeOrderArgs, callArgs;
2961
-
2962
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
2963
- while (1) {
2964
- switch (_context.prev = _context.next) {
2965
- case 0:
2966
- 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;
2967
-
2968
- if (!seedFund) {
2969
- _context.next = 7;
2970
- break;
2971
- }
2972
-
2973
- _context.next = 4;
2974
- return comptrollerProxy.getVaultProxy();
2975
-
2976
- case 4:
2977
- vaultProxy = _context.sent;
2978
- _context.next = 7;
2979
- return pathAddresses[0].transfer(vaultProxy, outgoingAssetAmount);
2980
-
2981
- case 7:
2982
- takeOrderArgs = protocol.uniswapV3TakeOrderArgs({
2983
- minIncomingAssetAmount: minIncomingAssetAmount,
2984
- outgoingAssetAmount: outgoingAssetAmount,
2985
- pathAddresses: pathAddresses,
2986
- pathFees: pathFees
2987
- });
2988
- callArgs = protocol.callOnIntegrationArgs({
2989
- adapter: uniswapV3Adapter,
2990
- encodedCallArgs: takeOrderArgs,
2991
- selector: protocol.takeOrderSelector
2992
- });
2993
- return _context.abrupt("return", comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
2994
-
2995
- case 10:
2996
- case "end":
2997
- return _context.stop();
2998
- }
2999
- }
3000
- }, _callee);
3001
- }));
3002
- return _uniswapV3TakeOrder.apply(this, arguments);
3003
- }
3004
-
3005
- function yearnVaultV2Lend(_x) {
3006
- return _yearnVaultV2Lend.apply(this, arguments);
3007
- }
3008
-
3009
- function _yearnVaultV2Lend() {
3010
- _yearnVaultV2Lend = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
3011
- var signer, comptrollerProxy, integrationManager, yearnVaultV2Adapter, yVault, outgoingUnderlyingAmount, _ref$minIncomingYVaul, minIncomingYVaultSharesAmount, callArgs;
3012
-
3013
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
3014
- while (1) {
3015
- switch (_context.prev = _context.next) {
3016
- case 0:
3017
- 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;
3018
- callArgs = protocol.callOnIntegrationArgs({
3019
- adapter: yearnVaultV2Adapter,
3020
- encodedCallArgs: protocol.yearnVaultV2LendArgs({
3021
- minIncomingYVaultSharesAmount: minIncomingYVaultSharesAmount,
3022
- outgoingUnderlyingAmount: outgoingUnderlyingAmount,
3023
- yVault: yVault
3024
- }),
3025
- selector: protocol.lendSelector
3026
- });
3027
- return _context.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
3028
-
3029
- case 3:
3030
- case "end":
3031
- return _context.stop();
3032
- }
3033
- }
3034
- }, _callee);
3035
- }));
3036
- return _yearnVaultV2Lend.apply(this, arguments);
3037
- }
3038
-
3039
- function yearnVaultV2Redeem(_x2) {
3040
- return _yearnVaultV2Redeem.apply(this, arguments);
3041
- }
3042
-
3043
- function _yearnVaultV2Redeem() {
3044
- _yearnVaultV2Redeem = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(_ref2) {
3045
- var signer, comptrollerProxy, integrationManager, yearnVaultV2Adapter, yVault, maxOutgoingYVaultSharesAmount, _ref2$minIncomingUnde, minIncomingUnderlyingAmount, _ref2$slippageToleran, slippageToleranceBps, callArgs;
3046
-
3047
- return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
3048
- while (1) {
3049
- switch (_context2.prev = _context2.next) {
3050
- case 0:
3051
- 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;
3052
- callArgs = protocol.callOnIntegrationArgs({
3053
- adapter: yearnVaultV2Adapter,
3054
- encodedCallArgs: protocol.yearnVaultV2RedeemArgs({
3055
- maxOutgoingYVaultSharesAmount: maxOutgoingYVaultSharesAmount,
3056
- minIncomingUnderlyingAmount: minIncomingUnderlyingAmount,
3057
- slippageToleranceBps: slippageToleranceBps,
3058
- yVault: yVault
3059
- }),
3060
- selector: protocol.redeemSelector
3061
- });
3062
- return _context2.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
3063
-
3064
- case 3:
3065
- case "end":
3066
- return _context2.stop();
3067
- }
3068
- }
3069
- }, _callee2);
3070
- }));
3071
- return _yearnVaultV2Redeem.apply(this, arguments);
3072
- }
3073
-
3074
- function zeroExV2TakeOrder(_x) {
3075
- return _zeroExV2TakeOrder.apply(this, arguments);
3076
- }
3077
-
3078
- function _zeroExV2TakeOrder() {
3079
- _zeroExV2TakeOrder = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
3080
- var comptrollerProxy, integrationManager, fundOwner, zeroExV2Adapter, signedOrder, takerAssetFillAmount, takeOrderArgs, callArgs;
3081
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
3082
- while (1) {
3083
- switch (_context.prev = _context.next) {
3084
- case 0:
3085
- comptrollerProxy = _ref.comptrollerProxy, integrationManager = _ref.integrationManager, fundOwner = _ref.fundOwner, zeroExV2Adapter = _ref.zeroExV2Adapter, signedOrder = _ref.signedOrder, takerAssetFillAmount = _ref.takerAssetFillAmount;
3086
- takeOrderArgs = protocol.zeroExV2TakeOrderArgs({
3087
- signedOrder: signedOrder,
3088
- takerAssetFillAmount: takerAssetFillAmount
3089
- });
3090
- callArgs = protocol.callOnIntegrationArgs({
3091
- adapter: zeroExV2Adapter,
3092
- encodedCallArgs: takeOrderArgs,
3093
- selector: protocol.takeOrderSelector
3094
- });
3095
- return _context.abrupt("return", comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
3096
-
3097
- case 4:
3098
- case "end":
3099
- return _context.stop();
3100
- }
3101
- }
3102
- }, _callee);
3103
- }));
3104
- return _zeroExV2TakeOrder.apply(this, arguments);
3105
- }
3106
-
3107
- function generatePolicyManagerConfigWithMockPolicies(_x) {
3108
- return _generatePolicyManagerConfigWithMockPolicies.apply(this, arguments);
3109
- }
3110
-
3111
- function _generatePolicyManagerConfigWithMockPolicies() {
3112
- _generatePolicyManagerConfigWithMockPolicies = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
3113
- var deployer, policies, policiesSettingsData;
3114
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
3115
- while (1) {
3116
- switch (_context.prev = _context.next) {
3117
- case 0:
3118
- deployer = _ref.deployer;
3119
- _context.t0 = Object;
3120
- _context.next = 4;
3121
- return generateMockPolicies({
3122
- deployer: deployer
3123
- });
3124
-
3125
- case 4:
3126
- _context.t1 = _context.sent;
3127
- policies = _context.t0.values.call(_context.t0, _context.t1);
3128
- // Guarantees one policy has settings data
3129
- policiesSettingsData = [].concat(_toConsumableArray(new Array(policies.length - 1).fill(ethers.constants.HashZero)), [ethers.utils.randomBytes(10)]);
3130
- return _context.abrupt("return", protocol.policyManagerConfigArgs({
3131
- policies: policies,
3132
- settings: policiesSettingsData
3133
- }));
3134
-
3135
- case 8:
3136
- case "end":
3137
- return _context.stop();
3138
- }
3139
- }
3140
- }, _callee);
3141
- }));
3142
- return _generatePolicyManagerConfigWithMockPolicies.apply(this, arguments);
3143
- }
3144
-
3145
- function generateMockPolicies(_x2) {
3146
- return _generateMockPolicies.apply(this, arguments);
3147
- }
3148
-
3149
- function _generateMockPolicies() {
3150
- _generateMockPolicies = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(_ref2) {
3151
- var deployer, mockAddTrackedAssetsPolicy, mockCreateExternalPositionPolicy, mockPostBuySharesPolicy, mockPostCallOnExternalPositionPolicy, mockPostCoIPolicy, mockRedeemSharesForSpecificAssetsPolicy, mockPreTransferSharesPolicy, mockRemoveExternalPositionPolicy;
3152
- return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
3153
- while (1) {
3154
- switch (_context2.prev = _context2.next) {
3155
- case 0:
3156
- deployer = _ref2.deployer;
3157
- _context2.next = 3;
3158
- return protocol.IPolicy.mock(deployer);
3159
-
3160
- case 3:
3161
- mockAddTrackedAssetsPolicy = _context2.sent;
3162
- _context2.next = 6;
3163
- return protocol.IPolicy.mock(deployer);
3164
-
3165
- case 6:
3166
- mockCreateExternalPositionPolicy = _context2.sent;
3167
- _context2.next = 9;
3168
- return protocol.IPolicy.mock(deployer);
3169
-
3170
- case 9:
3171
- mockPostBuySharesPolicy = _context2.sent;
3172
- _context2.next = 12;
3173
- return protocol.IPolicy.mock(deployer);
3174
-
3175
- case 12:
3176
- mockPostCallOnExternalPositionPolicy = _context2.sent;
3177
- _context2.next = 15;
3178
- return protocol.IPolicy.mock(deployer);
3179
-
3180
- case 15:
3181
- mockPostCoIPolicy = _context2.sent;
3182
- _context2.next = 18;
3183
- return protocol.IPolicy.mock(deployer);
3184
-
3185
- case 18:
3186
- mockRedeemSharesForSpecificAssetsPolicy = _context2.sent;
3187
- _context2.next = 21;
3188
- return protocol.IPolicy.mock(deployer);
3189
-
3190
- case 21:
3191
- mockPreTransferSharesPolicy = _context2.sent;
3192
- _context2.next = 24;
3193
- return protocol.IPolicy.mock(deployer);
3194
-
3195
- case 24:
3196
- mockRemoveExternalPositionPolicy = _context2.sent;
3197
- _context2.next = 27;
3198
- return Promise.all([// AddTrackedAssets
3199
- 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
3200
- 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
3201
- 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
3202
- 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
3203
- 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
3204
- 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
3205
- 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
3206
- 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)]);
3207
-
3208
- case 27:
3209
- return _context2.abrupt("return", {
3210
- mockAddTrackedAssetsPolicy: mockAddTrackedAssetsPolicy,
3211
- mockCreateExternalPositionPolicy: mockCreateExternalPositionPolicy,
3212
- mockPostBuySharesPolicy: mockPostBuySharesPolicy,
3213
- mockPostCallOnExternalPositionPolicy: mockPostCallOnExternalPositionPolicy,
3214
- mockPostCoIPolicy: mockPostCoIPolicy,
3215
- mockPreTransferSharesPolicy: mockPreTransferSharesPolicy,
3216
- mockRedeemSharesForSpecificAssetsPolicy: mockRedeemSharesForSpecificAssetsPolicy,
3217
- mockRemoveExternalPositionPolicy: mockRemoveExternalPositionPolicy
3218
- });
3219
-
3220
- case 28:
3221
- case "end":
3222
- return _context2.stop();
3223
- }
3224
- }
3225
- }, _callee2);
3226
- }));
3227
- return _generateMockPolicies.apply(this, arguments);
3228
- }
3229
-
3230
- function assertEvent(receipt, event, match) {
3231
- var _events$shift;
3232
-
3233
- var events = ethers$1.extractEvent(receipt, event);
3234
- expect(events.length).toBe(1);
3235
- expect(receipt).toHaveEmittedWith(event, match);
3236
- 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
3237
-
3238
- return args;
3239
- }
3240
- function assertNoEvent(receipt, event) {
3241
- var events = ethers$1.extractEvent(receipt, event);
3242
- expect(events.length).toBe(0);
3243
- }
3244
-
3245
- function buyShares(_x) {
3246
- return _buyShares.apply(this, arguments);
3247
- }
3248
-
3249
- function _buyShares() {
3250
- _buyShares = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(options) {
3251
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
3252
- while (1) {
3253
- switch (_context.prev = _context.next) {
3254
- case 0:
3255
- _context.next = 2;
3256
- return buySharesFunction(options);
3257
-
3258
- case 2:
3259
- return _context.abrupt("return", _context.sent.send());
3260
-
3261
- case 3:
3262
- case "end":
3263
- return _context.stop();
3264
- }
3265
- }
3266
- }, _callee);
3267
- }));
3268
- return _buyShares.apply(this, arguments);
3269
- }
3270
-
3271
- function buySharesFunction(_x2) {
3272
- return _buySharesFunction.apply(this, arguments);
3273
- }
3274
-
3275
- function _buySharesFunction() {
3276
- _buySharesFunction = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(_ref) {
3277
- var comptrollerProxy, denominationAsset, buyer, investmentAmount, _ref$minSharesQuantit, minSharesQuantity, _ref$seedBuyer, seedBuyer;
3278
-
3279
- return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
3280
- while (1) {
3281
- switch (_context2.prev = _context2.next) {
3282
- case 0:
3283
- 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;
3284
-
3285
- if (!(investmentAmount == undefined)) {
3286
- _context2.next = 7;
3287
- break;
3288
- }
3289
-
3290
- _context2.t0 = ethers.utils;
3291
- _context2.next = 5;
3292
- return denominationAsset.decimals();
3293
-
3294
- case 5:
3295
- _context2.t1 = _context2.sent;
3296
- investmentAmount = _context2.t0.parseUnits.call(_context2.t0, '1', _context2.t1);
3297
-
3298
- case 7:
3299
- if (!seedBuyer) {
3300
- _context2.next = 10;
3301
- break;
3302
- }
3303
-
3304
- _context2.next = 10;
3305
- return denominationAsset.transfer(buyer, investmentAmount);
3306
-
3307
- case 10:
3308
- _context2.next = 12;
3309
- return denominationAsset.connect(buyer).approve(comptrollerProxy, investmentAmount);
3310
-
3311
- case 12:
3312
- return _context2.abrupt("return", comptrollerProxy.connect(buyer).buyShares.args(investmentAmount, minSharesQuantity).ref);
3313
-
3314
- case 13:
3315
- case "end":
3316
- return _context2.stop();
3317
- }
3318
- }
3319
- }, _callee2);
3320
- }));
3321
- return _buySharesFunction.apply(this, arguments);
3322
- }
3323
-
3324
- function redeemSharesForSpecificAssets(_x3) {
3325
- return _redeemSharesForSpecificAssets.apply(this, arguments);
3326
- }
3327
-
3328
- function _redeemSharesForSpecificAssets() {
3329
- _redeemSharesForSpecificAssets = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee3(_ref2) {
3330
- var comptrollerProxy, signer, _ref2$recipient, recipient, _ref2$quantity, quantity, payoutAssets, payoutAssetPercentages;
3331
-
3332
- return _regeneratorRuntime__default['default'].wrap(function _callee3$(_context3) {
3333
- while (1) {
3334
- switch (_context3.prev = _context3.next) {
3335
- case 0:
3336
- 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;
3337
- return _context3.abrupt("return", comptrollerProxy.connect(signer).redeemSharesForSpecificAssets(recipient, quantity, payoutAssets, payoutAssetPercentages));
3338
-
3339
- case 2:
3340
- case "end":
3341
- return _context3.stop();
3342
- }
3343
- }
3344
- }, _callee3);
3345
- }));
3346
- return _redeemSharesForSpecificAssets.apply(this, arguments);
3347
- }
3348
-
3349
- function redeemSharesInKind(_x4) {
3350
- return _redeemSharesInKind.apply(this, arguments);
3351
- }
3352
-
3353
- function _redeemSharesInKind() {
3354
- _redeemSharesInKind = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee4(_ref3) {
3355
- var comptrollerProxy, signer, _ref3$recipient, recipient, _ref3$quantity, quantity, _ref3$additionalAsset, additionalAssets, _ref3$assetsToSkip, assetsToSkip;
3356
-
3357
- return _regeneratorRuntime__default['default'].wrap(function _callee4$(_context4) {
3358
- while (1) {
3359
- switch (_context4.prev = _context4.next) {
3360
- case 0:
3361
- 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;
3362
- return _context4.abrupt("return", comptrollerProxy.connect(signer).redeemSharesInKind(recipient, quantity, additionalAssets, assetsToSkip));
3363
-
3364
- case 2:
3365
- case "end":
3366
- return _context4.stop();
3367
- }
3368
- }
3369
- }, _callee4);
3370
- }));
3371
- return _redeemSharesInKind.apply(this, arguments);
3372
- }
3373
-
3374
- 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; }
3375
-
3376
- 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; }
3377
- function createComptrollerProxy(_x) {
3378
- return _createComptrollerProxy.apply(this, arguments);
3379
- }
3380
-
3381
- function _createComptrollerProxy() {
3382
- _createComptrollerProxy = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
3383
- var signer, comptrollerLib, denominationAsset, _ref$sharesActionTime, sharesActionTimelock, constructData, comptrollerProxyContract;
3384
-
3385
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
3386
- while (1) {
3387
- switch (_context.prev = _context.next) {
3388
- case 0:
3389
- signer = _ref.signer, comptrollerLib = _ref.comptrollerLib, denominationAsset = _ref.denominationAsset, _ref$sharesActionTime = _ref.sharesActionTimelock, sharesActionTimelock = _ref$sharesActionTime === void 0 ? 0 : _ref$sharesActionTime;
3390
- constructData = protocol.encodeFunctionData(comptrollerLib.init.fragment, [denominationAsset, sharesActionTimelock]);
3391
- _context.next = 4;
3392
- return protocol.ComptrollerProxy.deploy(signer, constructData, comptrollerLib);
3393
-
3394
- case 4:
3395
- comptrollerProxyContract = _context.sent;
3396
- return _context.abrupt("return", {
3397
- comptrollerProxy: new protocol.ComptrollerLib(comptrollerProxyContract, signer),
3398
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
3399
- receipt: comptrollerProxyContract.deployment
3400
- });
3401
-
3402
- case 6:
3403
- case "end":
3404
- return _context.stop();
3405
- }
3406
- }
3407
- }, _callee);
3408
- }));
3409
- return _createComptrollerProxy.apply(this, arguments);
3410
- }
3411
-
3412
- function createMigrationRequest(_x2) {
3413
- return _createMigrationRequest.apply(this, arguments);
3414
- } // TODO: should we pass in the fundOwner as a signer also so we can connect comptroller proxy and vault proxy to that acct instead?
3415
-
3416
- function _createMigrationRequest() {
3417
- _createMigrationRequest = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(_ref2) {
3418
- var signer, fundDeployer, vaultProxy, denominationAsset, _ref2$sharesActionTim, sharesActionTimelock, _ref2$feeManagerConfi, feeManagerConfigData, _ref2$policyManagerCo, policyManagerConfigData, _ref2$bypassPrevRelea, bypassPrevReleaseFailure, receipt, comptrollerDeployedArgs;
3419
-
3420
- return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
3421
- while (1) {
3422
- switch (_context2.prev = _context2.next) {
3423
- case 0:
3424
- 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;
3425
- _context2.next = 3;
3426
- return fundDeployer.connect(signer).createMigrationRequest(vaultProxy, denominationAsset, sharesActionTimelock, feeManagerConfigData, policyManagerConfigData, bypassPrevReleaseFailure);
3427
-
3428
- case 3:
3429
- receipt = _context2.sent;
3430
- comptrollerDeployedArgs = assertEvent(receipt, 'ComptrollerProxyDeployed', {
3431
- comptrollerProxy: expect.any(String),
3432
- creator: signer,
3433
- denominationAsset: denominationAsset,
3434
- sharesActionTimelock: ethers.BigNumber.from(sharesActionTimelock)
3435
- });
3436
- return _context2.abrupt("return", {
3437
- comptrollerProxy: new protocol.ComptrollerLib(comptrollerDeployedArgs.comptrollerProxy, signer),
3438
- receipt: receipt
3439
- });
3440
-
3441
- case 6:
3442
- case "end":
3443
- return _context2.stop();
3444
- }
3445
- }
3446
- }, _callee2);
3447
- }));
3448
- return _createMigrationRequest.apply(this, arguments);
3449
- }
3450
-
3451
- function createNewFund(_x3) {
3452
- return _createNewFund.apply(this, arguments);
3453
- }
3454
-
3455
- function _createNewFund() {
3456
- _createNewFund = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee3(_ref3) {
3457
- 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;
3458
-
3459
- return _regeneratorRuntime__default['default'].wrap(function _callee3$(_context3) {
3460
- while (1) {
3461
- switch (_context3.prev = _context3.next) {
3462
- case 0:
3463
- 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;
3464
- _context3.next = 3;
3465
- return fundDeployer.connect(signer).createNewFund(fundOwner, fundName, fundSymbol, denominationAsset, sharesActionTimelock, feeManagerConfig, policyManagerConfig);
3466
-
3467
- case 3:
3468
- receipt = _context3.sent;
3469
- comptrollerDeployedArgs = assertEvent(receipt, 'ComptrollerProxyDeployed', {
3470
- comptrollerProxy: expect.any(String),
3471
- creator: signer,
3472
- denominationAsset: denominationAsset,
3473
- sharesActionTimelock: ethers.BigNumber.from(sharesActionTimelock)
3474
- });
3475
- comptrollerProxy = new protocol.ComptrollerLib(comptrollerDeployedArgs.comptrollerProxy, signer);
3476
- newFundDeployedArgs = assertEvent(receipt, 'NewFundCreated', {
3477
- comptrollerProxy: comptrollerProxy,
3478
- creator: signer,
3479
- vaultProxy: expect.any(String)
3480
- });
3481
- vaultProxy = new protocol.VaultLib(newFundDeployedArgs.vaultProxy, signer);
3482
-
3483
- if (!(investment != null)) {
3484
- _context3.next = 11;
3485
- break;
3486
- }
3487
-
3488
- _context3.next = 11;
3489
- return buyShares(_objectSpread$1({
3490
- comptrollerProxy: comptrollerProxy,
3491
- denominationAsset: denominationAsset
3492
- }, investment));
3493
-
3494
- case 11:
3495
- return _context3.abrupt("return", {
3496
- comptrollerProxy: comptrollerProxy,
3497
- receipt: receipt,
3498
- vaultProxy: vaultProxy
3499
- });
3500
-
3501
- case 12:
3502
- case "end":
3503
- return _context3.stop();
3504
- }
3505
- }
3506
- }, _callee3);
3507
- }));
3508
- return _createNewFund.apply(this, arguments);
3509
- }
3510
-
3511
- function createReconfigurationRequest(_x4) {
3512
- return _createReconfigurationRequest.apply(this, arguments);
3513
- }
3514
-
3515
- function _createReconfigurationRequest() {
3516
- _createReconfigurationRequest = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee4(_ref4) {
3517
- var signer, fundDeployer, vaultProxy, denominationAsset, _ref4$sharesActionTim, sharesActionTimelock, _ref4$feeManagerConfi, feeManagerConfigData, _ref4$policyManagerCo, policyManagerConfigData, receipt, comptrollerDeployedArgs;
3518
-
3519
- return _regeneratorRuntime__default['default'].wrap(function _callee4$(_context4) {
3520
- while (1) {
3521
- switch (_context4.prev = _context4.next) {
3522
- case 0:
3523
- 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;
3524
- _context4.next = 3;
3525
- return fundDeployer.connect(signer).createReconfigurationRequest(vaultProxy, denominationAsset, sharesActionTimelock, feeManagerConfigData, policyManagerConfigData);
3526
-
3527
- case 3:
3528
- receipt = _context4.sent;
3529
- comptrollerDeployedArgs = assertEvent(receipt, 'ComptrollerProxyDeployed', {
3530
- comptrollerProxy: expect.any(String),
3531
- creator: signer,
3532
- denominationAsset: denominationAsset,
3533
- sharesActionTimelock: ethers.BigNumber.from(sharesActionTimelock)
3534
- });
3535
- return _context4.abrupt("return", {
3536
- comptrollerProxy: new protocol.ComptrollerLib(comptrollerDeployedArgs.comptrollerProxy, signer),
3537
- receipt: receipt
3538
- });
3539
-
3540
- case 6:
3541
- case "end":
3542
- return _context4.stop();
3543
- }
3544
- }
3545
- }, _callee4);
3546
- }));
3547
- return _createReconfigurationRequest.apply(this, arguments);
3548
- }
3549
-
3550
- function createVaultProxy(_x5) {
3551
- return _createVaultProxy.apply(this, arguments);
3552
- }
3553
-
3554
- function _createVaultProxy() {
3555
- _createVaultProxy = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee5(_ref5) {
3556
- var signer, vaultLib, fundOwner, fundAccessor, _ref5$fundName, fundName, constructData, vaultProxyContract;
3557
-
3558
- return _regeneratorRuntime__default['default'].wrap(function _callee5$(_context5) {
3559
- while (1) {
3560
- switch (_context5.prev = _context5.next) {
3561
- case 0:
3562
- 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;
3563
- constructData = protocol.encodeFunctionData(vaultLib.init.fragment, [fundOwner, fundAccessor, fundName]);
3564
- _context5.next = 4;
3565
- return protocol.VaultProxy.deploy(signer, constructData, vaultLib);
3566
-
3567
- case 4:
3568
- vaultProxyContract = _context5.sent;
3569
- return _context5.abrupt("return", new protocol.VaultLib(vaultProxyContract, fundAccessor));
3570
-
3571
- case 6:
3572
- case "end":
3573
- return _context5.stop();
3574
- }
3575
- }
3576
- }, _callee5);
3577
- }));
3578
- return _createVaultProxy.apply(this, arguments);
3579
- }
3580
-
3581
- function setupGasRelayerPaymaster(_x6) {
3582
- return _setupGasRelayerPaymaster.apply(this, arguments);
3583
- }
3584
-
3585
- function _setupGasRelayerPaymaster() {
3586
- _setupGasRelayerPaymaster = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee6(_ref6) {
3587
- var signer, vaultProxy, fundAccessor, weth, _ref6$startingBalance, startingBalance, comptrollerProxy, receipt, eventArgs;
3588
-
3589
- return _regeneratorRuntime__default['default'].wrap(function _callee6$(_context6) {
3590
- while (1) {
3591
- switch (_context6.prev = _context6.next) {
3592
- case 0:
3593
- 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;
3594
- _context6.next = 3;
3595
- return weth.transfer(vaultProxy, startingBalance);
3596
-
3597
- case 3:
3598
- comptrollerProxy = new protocol.ComptrollerLib(fundAccessor, signer);
3599
- _context6.next = 6;
3600
- return comptrollerProxy.deployGasRelayPaymaster();
3601
-
3602
- case 6:
3603
- receipt = _context6.sent;
3604
- eventArgs = assertEvent(receipt, 'GasRelayPaymasterSet', {
3605
- gasRelayPaymaster: expect.any(String)
3606
- });
3607
- return _context6.abrupt("return", new protocol.GasRelayPaymasterLib(eventArgs.gasRelayPaymaster, signer));
3608
-
3609
- case 9:
3610
- case "end":
3611
- return _context6.stop();
3612
- }
3613
- }
3614
- }, _callee6);
3615
- }));
3616
- return _setupGasRelayerPaymaster.apply(this, arguments);
3617
- }
3618
-
3619
- function vaultCallCreateNewList(_x) {
3620
- return _vaultCallCreateNewList.apply(this, arguments);
3621
- }
3622
-
3623
- function _vaultCallCreateNewList() {
3624
- _vaultCallCreateNewList = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
3625
- var addressListRegistry, comptrollerProxy, items, owner, signer, updateType, listCount;
3626
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
3627
- while (1) {
3628
- switch (_context.prev = _context.next) {
3629
- case 0:
3630
- addressListRegistry = _ref.addressListRegistry, comptrollerProxy = _ref.comptrollerProxy, items = _ref.items, owner = _ref.owner, signer = _ref.signer, updateType = _ref.updateType;
3631
- _context.next = 3;
3632
- return comptrollerProxy.connect(signer).vaultCallOnContract(addressListRegistry.address, protocol.addressListRegistryCreateListSelector, protocol.encodeArgs(['address', 'uint8', 'address[]'], [owner, updateType, items]));
3633
-
3634
- case 3:
3635
- _context.next = 5;
3636
- return addressListRegistry.getListCount();
3637
-
3638
- case 5:
3639
- listCount = _context.sent;
3640
- return _context.abrupt("return", listCount.sub(1));
3641
-
3642
- case 7:
3643
- case "end":
3644
- return _context.stop();
3645
- }
3646
- }
3647
- }, _callee);
3648
- }));
3649
- return _vaultCallCreateNewList.apply(this, arguments);
3650
- }
3651
-
3652
- function vaultCallCurveMinterMint(_ref2) {
3653
- var comptrollerProxy = _ref2.comptrollerProxy,
3654
- minter = _ref2.minter,
3655
- gauge = _ref2.gauge;
3656
- return comptrollerProxy.vaultCallOnContract(minter, protocol.curveMinterMintSelector, protocol.encodeArgs(['address'], [gauge]));
3657
- }
3658
- function vaultCallCurveMinterMintMany(_ref3) {
3659
- var comptrollerProxy = _ref3.comptrollerProxy,
3660
- minter = _ref3.minter,
3661
- gauges = _ref3.gauges;
3662
- var gaugesFormatted = new Array(8).fill(ethers.constants.AddressZero);
3663
-
3664
- for (var i in gauges) {
3665
- gaugesFormatted[i] = gauges[i];
3666
- }
3667
-
3668
- return comptrollerProxy.vaultCallOnContract(minter, protocol.curveMinterMintManySelector, protocol.encodeArgs(['address[8]'], [gaugesFormatted]));
3669
- }
3670
- function vaultCallCurveMinterToggleApproveMint(_ref4) {
3671
- var comptrollerProxy = _ref4.comptrollerProxy,
3672
- minter = _ref4.minter,
3673
- account = _ref4.account;
3674
- return comptrollerProxy.vaultCallOnContract(minter, protocol.curveMinterToggleApproveMintSelector, protocol.encodeArgs(['address'], [account]));
3675
- }
3676
- function vaultCallStartAssetBypassTimelock(_ref5) {
3677
- var comptrollerProxy = _ref5.comptrollerProxy,
3678
- contract = _ref5.contract,
3679
- asset = _ref5.asset;
3680
- return comptrollerProxy.vaultCallOnContract(contract, protocol.sighash(ethers.utils.FunctionFragment.fromString('startAssetBypassTimelock(address)')), protocol.encodeArgs(['address'], [asset]));
3681
- }
3682
-
3683
- function transactionTimestamp(_x) {
3684
- return _transactionTimestamp.apply(this, arguments);
3685
- }
3686
-
3687
- function _transactionTimestamp() {
3688
- _transactionTimestamp = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(receipt) {
3689
- var block;
3690
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
3691
- while (1) {
3692
- switch (_context.prev = _context.next) {
3693
- case 0:
3694
- _context.next = 2;
3695
- return provider.getBlock(receipt.blockNumber);
3696
-
3697
- case 2:
3698
- block = _context.sent;
3699
- return _context.abrupt("return", block.timestamp);
3700
-
3701
- case 4:
3702
- case "end":
3703
- return _context.stop();
3704
- }
3705
- }
3706
- }, _callee);
3707
- }));
3708
- return _transactionTimestamp.apply(this, arguments);
3709
- }
3710
-
3711
- function calcMlnValueAndBurnAmountForSharesBuyback(_x2) {
3712
- return _calcMlnValueAndBurnAmountForSharesBuyback.apply(this, arguments);
3713
- }
3714
-
3715
- function _calcMlnValueAndBurnAmountForSharesBuyback() {
3716
- _calcMlnValueAndBurnAmountForSharesBuyback = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(_ref) {
3717
- var valueInterpreter, mln, denominationAsset, sharesSupply, gav, buybackSharesAmount, grossShareValue, denominationAssetValueOfBuyback, mlnValueOfBuyback, mlnAmountToBurn;
3718
- return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
3719
- while (1) {
3720
- switch (_context2.prev = _context2.next) {
3721
- case 0:
3722
- valueInterpreter = _ref.valueInterpreter, mln = _ref.mln, denominationAsset = _ref.denominationAsset, sharesSupply = _ref.sharesSupply, gav = _ref.gav, buybackSharesAmount = _ref.buybackSharesAmount;
3723
- // Calculate expected mlnValue of shares to buyback
3724
- // TODO: calcGrossShareValue can also be a helper util
3725
- grossShareValue = ethers.BigNumber.from(gav).mul(ethers.utils.parseEther('1')).div(sharesSupply);
3726
- denominationAssetValueOfBuyback = grossShareValue.mul(buybackSharesAmount).div(ethers.utils.parseEther('1'));
3727
- _context2.next = 5;
3728
- return valueInterpreter.calcCanonicalAssetValue.args(denominationAsset, denominationAssetValueOfBuyback, mln).call();
3729
-
3730
- case 5:
3731
- mlnValueOfBuyback = _context2.sent;
3732
- // 50% discount
3733
- mlnAmountToBurn = mlnValueOfBuyback.div(2);
3734
- return _context2.abrupt("return", {
3735
- mlnAmountToBurn: mlnAmountToBurn,
3736
- mlnValue: mlnValueOfBuyback
3737
- });
3738
-
3739
- case 8:
3740
- case "end":
3741
- return _context2.stop();
3742
- }
3743
- }
3744
- }, _callee2);
3745
- }));
3746
- return _calcMlnValueAndBurnAmountForSharesBuyback.apply(this, arguments);
3747
- }
3748
-
3749
- 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; }
3750
-
3751
- 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; }
3752
-
3753
- /* eslint-disable sort-keys-fix/sort-keys-fix */
3754
- var whales = {
3755
- // primitives
3756
- bat: '0x12274c71304bc0e6b38a56b94d2949b118feb838',
3757
- bnb: '0xbe0eb53f46cd790cd13851d5eff43d12404d33e8',
3758
- bnt: '0x7d1ed1601a12a172269436fa95fe156650603c1d',
3759
- busd: '0x47ac0fb4f2d84898e4d9e7b4dab3c24507a6d503',
3760
- comp: '0x0f50d31b3eaefd65236dd3736b863cffa4c63c4e',
3761
- crv: '0x4ce799e6eD8D64536b67dD428565d52A531B3640',
3762
- dai: '0x47ac0fb4f2d84898e4d9e7b4dab3c24507a6d503',
3763
- knc: '0x09d51654bd9efbfcb56da3491989cc1444095fff',
3764
- ldo: '0x3dba737ccc50a32a1764b493285dd51c8af6c278',
3765
- link: '0xbe6977e08d4479c0a6777539ae0e8fa27be4e9d6',
3766
- mana: '0xefb94ac00f1cee8a89d5c3f49faa799da6f03024',
3767
- mln: '0xd8f8a53945bcfbbc19da162aa405e662ef71c40d',
3768
- ohm: '0x71a53aff36a699110d66d6bdfff2320caf8d2d59',
3769
- rep: '0xc6a043b07d33b6f30d8cb501026c391cfd25abe1',
3770
- ren: '0xbe0eb53f46cd790cd13851d5eff43d12404d33e8',
3771
- susd: '0xa5f7a39e55d7878bc5bd754ee5d6bd7a7662355b',
3772
- sohm: '0xf280f037cdbda99727ddf5dfede91e68fa78605c',
3773
- uni: '0x47173b170c64d16393a52e6c480b3ad8c302ba1e',
3774
- usdc: '0xae2d4617c862309a3d75a0ffb358c7a5009c673f',
3775
- usdt: '0x5041ed759dd4afc3a72b8192c143f72f4724081a',
3776
- weth: '0xe08A8b19e5722a201EaF20A6BC595eF655397bd5',
3777
- zrx: '0x206376e8940e42538781cd94ef024df3c1e0fd43',
3778
- // aTokens
3779
- ausdc: '0x3DdfA8eC3052539b6C9549F12cEA2C295cfF5296',
3780
- ausdt: '0x7d6149ad9a573a6e2ca6ebf7d4897c1b766841b4',
3781
- // cTokens
3782
- ccomp: '0xd74f186194ab9219fafac5c2fe4b3270169666db',
3783
- cdai: '0xab4ce310054a11328685ece1043211b68ba5d082',
3784
- ceth: '0x8aceab8167c80cb8b3de7fa6228b889bb1130ee8',
3785
- cuni: '0x39d8014b4f40d2cbc441137011d32023f4f1fd87',
3786
- cusdc: '0xe1ed4da4284924ddaf69983b4d813fb1be58c380',
3787
- // fTokens
3788
- fdai7: '0x88884e35d7006ae84efef09ee6bc6a43dd8e2bb8',
3789
- feth7: '0xcd2ba6a4d50745b0b4096186f925115387852c15',
3790
- fdai8: '0x93f3f612a525a59523e91cc5552f718df9fc0746',
3791
- ftribe8: '0xdb5ac83c137321da29a59a7592232bc4ed461730',
3792
- // ptTokens
3793
- ptUsdc: '0xd18236cd213f39d078177b6f6908f0e44e88e4aa',
3794
- // synths (unsupported)
3795
- seth: '0xc34a7c65aa08cb36744bda8eeec7b8e9891e147c',
3796
- sxag: '0x40d68c490bf7262ec40048099aec23535f734be2',
3797
- sxau: '0x92eb453b7b5b8d41edb44e2c8b8b53eb70a482c7',
3798
- // misc
3799
- lidoSteth: '0x31f644e2dd5d74f5c8d6d9de89dd517474d51800',
3800
- ust: '0xf584f8728b874a6a5c7a8d4d387c9aae9172d621',
3801
- // Curve steth pool related
3802
- stecrv: '0x56c915758ad3f76fd287fff7563ee313142fb663'
3803
- };
3804
- /* eslint-enable sort-keys-fix/sort-keys-fix */
3805
-
3806
- function unlockWhale(_x) {
3807
- return _unlockWhale.apply(this, arguments);
3808
- }
3809
-
3810
- function _unlockWhale() {
3811
- _unlockWhale = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(token) {
3812
- var address;
3813
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
3814
- while (1) {
3815
- switch (_context.prev = _context.next) {
3816
- case 0:
3817
- address = ethers$1.resolveAddress(whales[token]);
3818
- _context.next = 3;
3819
- return provider.send('hardhat_impersonateAccount', [address]);
3820
-
3821
- case 3:
3822
- return _context.abrupt("return", provider.getSignerWithAddress(address));
3823
-
3824
- case 4:
3825
- case "end":
3826
- return _context.stop();
3827
- }
3828
- }
3829
- }, _callee);
3830
- }));
3831
- return _unlockWhale.apply(this, arguments);
3832
- }
3833
-
3834
- function unlockAllWhales() {
3835
- return _unlockAllWhales.apply(this, arguments);
3836
- }
3837
-
3838
- function _unlockAllWhales() {
3839
- _unlockAllWhales = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee3() {
3840
- var keys, signers;
3841
- return _regeneratorRuntime__default['default'].wrap(function _callee3$(_context3) {
3842
- while (1) {
3843
- switch (_context3.prev = _context3.next) {
3844
- case 0:
3845
- keys = Object.keys(whales);
3846
- _context3.next = 3;
3847
- return Promise.all(keys.map( /*#__PURE__*/function () {
3848
- var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(token) {
3849
- return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
3850
- while (1) {
3851
- switch (_context2.prev = _context2.next) {
3852
- case 0:
3853
- return _context2.abrupt("return", unlockWhale(token));
3854
-
3855
- case 1:
3856
- case "end":
3857
- return _context2.stop();
3858
- }
3859
- }
3860
- }, _callee2);
3861
- }));
3862
-
3863
- return function (_x2) {
3864
- return _ref.apply(this, arguments);
3865
- };
3866
- }()));
3867
-
3868
- case 3:
3869
- signers = _context3.sent;
3870
- return _context3.abrupt("return", keys.reduce(function (carry, key, index) {
3871
- return _objectSpread(_objectSpread({}, carry), {}, _defineProperty({}, key, signers[index]));
3872
- }, {}));
3873
-
3874
- case 5:
3875
- case "end":
3876
- return _context3.stop();
3877
- }
3878
- }
3879
- }, _callee3);
3880
- }));
3881
- return _unlockAllWhales.apply(this, arguments);
3882
- }
3883
-
3884
- function unlockWhales() {
3885
- return _unlockWhales.apply(this, arguments);
3886
- }
3887
-
3888
- function _unlockWhales() {
3889
- _unlockWhales = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee5() {
3890
- var _len,
3891
- tokens,
3892
- _key,
3893
- signers,
3894
- _args5 = arguments;
3895
-
3896
- return _regeneratorRuntime__default['default'].wrap(function _callee5$(_context5) {
3897
- while (1) {
3898
- switch (_context5.prev = _context5.next) {
3899
- case 0:
3900
- for (_len = _args5.length, tokens = new Array(_len), _key = 0; _key < _len; _key++) {
3901
- tokens[_key] = _args5[_key];
3902
- }
3903
-
3904
- _context5.next = 3;
3905
- return Promise.all(tokens.map( /*#__PURE__*/function () {
3906
- var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee4(token) {
3907
- return _regeneratorRuntime__default['default'].wrap(function _callee4$(_context4) {
3908
- while (1) {
3909
- switch (_context4.prev = _context4.next) {
3910
- case 0:
3911
- return _context4.abrupt("return", unlockWhale(token));
3912
-
3913
- case 1:
3914
- case "end":
3915
- return _context4.stop();
3916
- }
3917
- }
3918
- }, _callee4);
3919
- }));
3920
-
3921
- return function (_x3) {
3922
- return _ref2.apply(this, arguments);
3923
- };
3924
- }()));
3925
-
3926
- case 3:
3927
- signers = _context5.sent;
3928
- return _context5.abrupt("return", tokens.reduce(function (carry, key, index) {
3929
- return _objectSpread(_objectSpread({}, carry), {}, _defineProperty({}, key, signers[index]));
3930
- }, {}));
3931
-
3932
- case 5:
3933
- case "end":
3934
- return _context5.stop();
3935
- }
3936
- }
3937
- }, _callee5);
3938
- }));
3939
- return _unlockWhales.apply(this, arguments);
3940
- }
3941
-
3942
- function relayTransaction(_x) {
3943
- return _relayTransaction.apply(this, arguments);
3944
- }
3945
-
3946
- function _relayTransaction() {
3947
- _relayTransaction = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(options) {
3948
- var signer, _yield$createSignedRe, relayData, relayRequest, signedRelayRequest, defaultGasLimit, defaultMaxAcceptance, mergedRelayRequest, relayHub;
3949
-
3950
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
3951
- while (1) {
3952
- switch (_context.prev = _context.next) {
3953
- case 0:
3954
- signer = options.sendFunction.contract.signer;
3955
-
3956
- if (signer && protocol.isTypedDataSigner(signer)) {
3957
- _context.next = 3;
3958
- break;
3959
- }
3960
-
3961
- throw new Error('Missing or invalid signer');
3962
-
3963
- case 3:
3964
- _context.next = 5;
3965
- return protocol.createSignedRelayRequest(options);
3966
-
3967
- case 5:
3968
- _yield$createSignedRe = _context.sent;
3969
- relayData = _yield$createSignedRe.relayData;
3970
- relayRequest = _yield$createSignedRe.relayRequest;
3971
- signedRelayRequest = _yield$createSignedRe.signedRelayRequest;
3972
- // NOTE: In the real implementation, we fetch these from the relayer.
3973
- defaultGasLimit = 12450000;
3974
- defaultMaxAcceptance = ethers.BigNumber.from(150000); // NOTE: There is an inconsistency between how the typed data object shape and the relayCall argument.
3975
-
3976
- mergedRelayRequest = {
3977
- relayData: relayData,
3978
- request: relayRequest
3979
- };
3980
- relayHub = new protocol.IGsnRelayHub(options.relayHub, provider.getSigner(options.relayWorker));
3981
- return _context.abrupt("return", relayHub.relayCall.args(defaultMaxAcceptance, mergedRelayRequest, signedRelayRequest, '0x', defaultGasLimit).gas(defaultGasLimit, relayData.gasPrice).send());
3982
-
3983
- case 14:
3984
- case "end":
3985
- return _context.stop();
3986
- }
3987
- }
3988
- }, _callee);
3989
- }));
3990
- return _relayTransaction.apply(this, arguments);
3991
- }
3992
-
3993
- 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)');
3994
- 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)');
3995
- function assertDidRelay(receipt) {
3996
- return assertEvent(receipt, relayed, {
3997
- charge: expect.anything(),
3998
- from: expect.any(String),
3999
- paymaster: expect.any(String),
4000
- relayManager: expect.any(String),
4001
- relayWorker: expect.any(String),
4002
- selector: expect.any(String),
4003
- status: expect.anything(),
4004
- to: expect.any(String)
4005
- });
4006
- }
4007
- function assertDidRelaySuccessfully(receipt) {
4008
- var result = assertDidRelay(receipt);
4009
- expect(result.status).toEqBigNumber(0);
4010
- }
4011
- function assertDidRelayWithError(receipt) {
4012
- var result = assertDidRelay(receipt);
4013
- expect(result.status).toEqBigNumber(1);
4014
- }
4015
- function assertDidRelayWithCharge(receipt, amount, tolerance) {
4016
- var result = assertDidRelay(receipt);
4017
- expect(result.charge).toBeAroundBigNumber(amount, tolerance);
4018
- }
4019
- function assertPaymasterDidReject(receipt) {
4020
- return assertEvent(receipt, rejected, {
4021
- from: expect.any(String),
4022
- innerGasUsed: expect.anything(),
4023
- paymaster: expect.any(String),
4024
- reason: expect.any(String),
4025
- relayManager: expect.any(String),
4026
- relayWorker: expect.any(String),
4027
- selector: expect.any(String),
4028
- to: expect.any(String)
4029
- });
4030
- }
4031
- function assertPaymasterDidRejectForReason(receipt, reason) {
4032
- var params = assertPaymasterDidReject(receipt);
4033
- expect(ethers.utils.toUtf8String('0x' + params.reason.substr(138))).toMatch(reason);
4034
- }
4035
-
4036
- exports.CurveLiquidityGaugeV2 = CurveLiquidityGaugeV2;
4037
- exports.CurveMinter = CurveMinter;
4038
- exports.CurveRegistry = CurveRegistry;
4039
- exports.CurveSwaps = CurveSwaps;
4040
- exports.ICompoundComptroller = ICompoundComptroller;
4041
- exports.IUniswapV3NonFungibleTokenManager = IUniswapV3NonFungibleTokenManager;
4042
- exports.UniswapV2Factory = UniswapV2Factory;
4043
- exports.aaveDebtPositionAddCollateral = aaveDebtPositionAddCollateral;
4044
- exports.aaveDebtPositionBorrow = aaveDebtPositionBorrow;
4045
- exports.aaveDebtPositionClaimRewards = aaveDebtPositionClaimRewards;
4046
- exports.aaveDebtPositionRemoveCollateral = aaveDebtPositionRemoveCollateral;
4047
- exports.aaveDebtPositionRepayBorrow = aaveDebtPositionRepayBorrow;
4048
- exports.aaveLend = aaveLend;
4049
- exports.aaveRedeem = aaveRedeem;
4050
- exports.addNewAssetsToFund = addNewAssetsToFund;
4051
- exports.addTrackedAssetsToVault = addTrackedAssetsToVault;
4052
- exports.assertCompoundLend = assertCompoundLend;
4053
- exports.assertCompoundRedeem = assertCompoundRedeem;
4054
- exports.assertDidRelay = assertDidRelay;
4055
- exports.assertDidRelaySuccessfully = assertDidRelaySuccessfully;
4056
- exports.assertDidRelayWithCharge = assertDidRelayWithCharge;
4057
- exports.assertDidRelayWithError = assertDidRelayWithError;
4058
- exports.assertEvent = assertEvent;
4059
- exports.assertNoEvent = assertNoEvent;
4060
- exports.assertPaymasterDidReject = assertPaymasterDidReject;
4061
- exports.assertPaymasterDidRejectForReason = assertPaymasterDidRejectForReason;
4062
- exports.buyShares = buyShares;
4063
- exports.buySharesFunction = buySharesFunction;
4064
- exports.calcMlnValueAndBurnAmountForSharesBuyback = calcMlnValueAndBurnAmountForSharesBuyback;
4065
- exports.callOnExtension = callOnExtension;
4066
- exports.callOnExternalPosition = callOnExternalPosition;
4067
- exports.compoundClaim = compoundClaim;
4068
- exports.compoundDebtPositionAddCollateral = compoundDebtPositionAddCollateral;
4069
- exports.compoundDebtPositionBorrow = compoundDebtPositionBorrow;
4070
- exports.compoundDebtPositionClaimComp = compoundDebtPositionClaimComp;
4071
- exports.compoundDebtPositionRemoveCollateral = compoundDebtPositionRemoveCollateral;
4072
- exports.compoundDebtPositionRepayBorrow = compoundDebtPositionRepayBorrow;
4073
- exports.compoundLend = compoundLend;
4074
- exports.compoundRedeem = compoundRedeem;
4075
- exports.createAaveDebtPosition = createAaveDebtPosition;
4076
- exports.createCompoundDebtPosition = createCompoundDebtPosition;
4077
- exports.createComptrollerProxy = createComptrollerProxy;
4078
- exports.createExternalPosition = createExternalPosition;
4079
- exports.createFundDeployer = createFundDeployer;
4080
- exports.createMigrationRequest = createMigrationRequest;
4081
- exports.createMockExternalPosition = createMockExternalPosition;
4082
- exports.createNewFund = createNewFund;
4083
- exports.createReconfigurationRequest = createReconfigurationRequest;
4084
- exports.createUniswapV3LiquidityPosition = createUniswapV3LiquidityPosition;
4085
- exports.createVaultProxy = createVaultProxy;
4086
- exports.curveClaimRewards = curveClaimRewards;
4087
- exports.curveLend = curveLend;
4088
- exports.curveLendAndStake = curveLendAndStake;
4089
- exports.curveRedeem = curveRedeem;
4090
- exports.curveStake = curveStake;
4091
- exports.curveTakeOrder = curveTakeOrder;
4092
- exports.curveUnstake = curveUnstake;
4093
- exports.curveUnstakeAndRedeem = curveUnstakeAndRedeem;
4094
- exports.deployProtocolFixture = deployProtocolFixture;
4095
- exports.generateFeeManagerConfigWithMockFees = generateFeeManagerConfigWithMockFees;
4096
- exports.generateMockFees = generateMockFees;
4097
- exports.generateMockPolicies = generateMockPolicies;
4098
- exports.generatePolicyManagerConfigWithMockPolicies = generatePolicyManagerConfigWithMockPolicies;
4099
- exports.getAssetBalances = getAssetBalances;
4100
- exports.getAssetUnit = getAssetUnit;
4101
- exports.getNamedSigner = getNamedSigner;
4102
- exports.getUnnamedSigners = getUnnamedSigners;
4103
- exports.idleClaimRewards = idleClaimRewards;
4104
- exports.idleLend = idleLend;
4105
- exports.idleRedeem = idleRedeem;
4106
- exports.mockExternalPositionAddDebtAssets = mockExternalPositionAddDebtAssets;
4107
- exports.mockExternalPositionAddManagedAssets = mockExternalPositionAddManagedAssets;
4108
- exports.mockExternalPositionRemoveDebtAssets = mockExternalPositionRemoveDebtAssets;
4109
- exports.mockExternalPositionRemoveManagedAssets = mockExternalPositionRemoveManagedAssets;
4110
- exports.mockGenericRemoveOnlySelector = mockGenericRemoveOnlySelector;
4111
- exports.mockGenericSwap = mockGenericSwap;
4112
- exports.mockGenericSwapASelector = mockGenericSwapASelector;
4113
- exports.mockGenericSwapArgs = mockGenericSwapArgs;
4114
- exports.mockGenericSwapBSelector = mockGenericSwapBSelector;
4115
- exports.mockGenericSwapDirectFromVaultSelector = mockGenericSwapDirectFromVaultSelector;
4116
- exports.mockGenericSwapViaApprovalSelector = mockGenericSwapViaApprovalSelector;
4117
- exports.olympusV2Stake = olympusV2Stake;
4118
- exports.olympusV2Unstake = olympusV2Unstake;
4119
- exports.paraSwapV5GenerateDummyPaths = paraSwapV5GenerateDummyPaths;
4120
- exports.paraSwapV5TakeOrder = paraSwapV5TakeOrder;
4121
- exports.poolTogetherV4ClaimRewards = poolTogetherV4ClaimRewards;
4122
- exports.poolTogetherV4Lend = poolTogetherV4Lend;
4123
- exports.poolTogetherV4Redeem = poolTogetherV4Redeem;
4124
- exports.reactivateExternalPosition = reactivateExternalPosition;
4125
- exports.redeemSharesForSpecificAssets = redeemSharesForSpecificAssets;
4126
- exports.redeemSharesInKind = redeemSharesInKind;
4127
- exports.relayTransaction = relayTransaction;
4128
- exports.removeExternalPosition = removeExternalPosition;
4129
- exports.removeTrackedAssetsFromVault = removeTrackedAssetsFromVault;
4130
- exports.setupGasRelayerPaymaster = setupGasRelayerPaymaster;
4131
- exports.synthetixAssignExchangeDelegate = synthetixAssignExchangeDelegate;
4132
- exports.synthetixRedeem = synthetixRedeem;
4133
- exports.synthetixTakeOrder = synthetixTakeOrder;
4134
- exports.transactionTimestamp = transactionTimestamp;
4135
- exports.uniswapV2Lend = uniswapV2Lend;
4136
- exports.uniswapV2Redeem = uniswapV2Redeem;
4137
- exports.uniswapV2TakeOrder = uniswapV2TakeOrder;
4138
- exports.uniswapV3LiquidityPositionAddLiquidity = uniswapV3LiquidityPositionAddLiquidity;
4139
- exports.uniswapV3LiquidityPositionCollect = uniswapV3LiquidityPositionCollect;
4140
- exports.uniswapV3LiquidityPositionGetMaxTick = uniswapV3LiquidityPositionGetMaxTick;
4141
- exports.uniswapV3LiquidityPositionGetMinTick = uniswapV3LiquidityPositionGetMinTick;
4142
- exports.uniswapV3LiquidityPositionMint = uniswapV3LiquidityPositionMint;
4143
- exports.uniswapV3LiquidityPositionPurge = uniswapV3LiquidityPositionPurge;
4144
- exports.uniswapV3LiquidityPositionRemoveLiquidity = uniswapV3LiquidityPositionRemoveLiquidity;
4145
- exports.uniswapV3OrderTokenPair = uniswapV3OrderTokenPair;
4146
- exports.uniswapV3TakeOrder = uniswapV3TakeOrder;
4147
- exports.unlockAllWhales = unlockAllWhales;
4148
- exports.unlockWhale = unlockWhale;
4149
- exports.unlockWhales = unlockWhales;
4150
- exports.updateChainlinkAggregator = updateChainlinkAggregator;
4151
- exports.vaultCallCreateNewList = vaultCallCreateNewList;
4152
- exports.vaultCallCurveMinterMint = vaultCallCurveMinterMint;
4153
- exports.vaultCallCurveMinterMintMany = vaultCallCurveMinterMintMany;
4154
- exports.vaultCallCurveMinterToggleApproveMint = vaultCallCurveMinterToggleApproveMint;
4155
- exports.vaultCallStartAssetBypassTimelock = vaultCallStartAssetBypassTimelock;
4156
- exports.yearnVaultV2Lend = yearnVaultV2Lend;
4157
- exports.yearnVaultV2Redeem = yearnVaultV2Redeem;
4158
- exports.zeroExV2TakeOrder = zeroExV2TakeOrder;