@enzymefinance/testutils 4.0.0 → 4.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/dist/index.d.ts +1566 -0
  2. package/dist/index.js +3375 -0
  3. package/dist/index.mjs +3375 -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;