@enzymefinance/testutils 4.0.0-next.7 → 4.0.2

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 +1553 -0
  2. package/dist/index.js +3352 -0
  3. package/dist/index.mjs +3352 -0
  4. package/package.json +74 -11
  5. package/CHANGELOG.md +0 -60
  6. package/dist/declarations/src/assertions.d.ts +0 -4
  7. package/dist/declarations/src/deployment.d.ts +0 -195
  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/actions.d.ts +0 -36
  17. package/dist/declarations/src/scaffolding/extensions/external-positions/compound.d.ts +0 -56
  18. package/dist/declarations/src/scaffolding/extensions/external-positions/index.d.ts +0 -4
  19. package/dist/declarations/src/scaffolding/extensions/external-positions/mocks.d.ts +0 -56
  20. package/dist/declarations/src/scaffolding/extensions/external-positions/uniswap-v3-liquidity.d.ts +0 -100
  21. package/dist/declarations/src/scaffolding/extensions/fees.d.ts +0 -12
  22. package/dist/declarations/src/scaffolding/extensions/index.d.ts +0 -5
  23. package/dist/declarations/src/scaffolding/extensions/integrations/aave.d.ts +0 -20
  24. package/dist/declarations/src/scaffolding/extensions/integrations/compound.d.ts +0 -56
  25. package/dist/declarations/src/scaffolding/extensions/integrations/curve.d.ts +0 -288
  26. package/dist/declarations/src/scaffolding/extensions/integrations/idle.d.ts +0 -28
  27. package/dist/declarations/src/scaffolding/extensions/integrations/index.d.ts +0 -15
  28. package/dist/declarations/src/scaffolding/extensions/integrations/mock.d.ts +0 -32
  29. package/dist/declarations/src/scaffolding/extensions/integrations/olympusV2.d.ts +0 -17
  30. package/dist/declarations/src/scaffolding/extensions/integrations/paraSwapV4.d.ts +0 -23
  31. package/dist/declarations/src/scaffolding/extensions/integrations/paraSwapV5.d.ts +0 -23
  32. package/dist/declarations/src/scaffolding/extensions/integrations/poolTogetherV4.d.ts +0 -29
  33. package/dist/declarations/src/scaffolding/extensions/integrations/synthetix.d.ts +0 -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 -4428
  46. package/dist/enzymefinance-testutils.browser.esm.js +0 -4281
  47. package/dist/enzymefinance-testutils.cjs.d.ts +0 -1
  48. package/dist/enzymefinance-testutils.cjs.dev.js +0 -4428
  49. package/dist/enzymefinance-testutils.cjs.js +0 -7
  50. package/dist/enzymefinance-testutils.cjs.prod.js +0 -4428
  51. package/dist/enzymefinance-testutils.esm.js +0 -4281
  52. package/src/assertions.ts +0 -23
  53. package/src/deployment.ts +0 -289
  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/actions.ts +0 -108
  63. package/src/scaffolding/extensions/external-positions/compound.ts +0 -190
  64. package/src/scaffolding/extensions/external-positions/index.ts +0 -4
  65. package/src/scaffolding/extensions/external-positions/mocks.ts +0 -191
  66. package/src/scaffolding/extensions/external-positions/uniswap-v3-liquidity.ts +0 -284
  67. package/src/scaffolding/extensions/fees.ts +0 -70
  68. package/src/scaffolding/extensions/index.ts +0 -5
  69. package/src/scaffolding/extensions/integrations/aave.ts +0 -78
  70. package/src/scaffolding/extensions/integrations/compound.ts +0 -255
  71. package/src/scaffolding/extensions/integrations/curve.ts +0 -1029
  72. package/src/scaffolding/extensions/integrations/idle.ts +0 -104
  73. package/src/scaffolding/extensions/integrations/index.ts +0 -15
  74. package/src/scaffolding/extensions/integrations/mock.ts +0 -116
  75. package/src/scaffolding/extensions/integrations/olympusV2.ts +0 -71
  76. package/src/scaffolding/extensions/integrations/paraSwapV4.ts +0 -70
  77. package/src/scaffolding/extensions/integrations/paraSwapV5.ts +0 -73
  78. package/src/scaffolding/extensions/integrations/poolTogetherV4.ts +0 -117
  79. package/src/scaffolding/extensions/integrations/synthetix.ts +0 -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,4428 +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
- aavePriceFeed: new protocol.AavePriceFeed(fixture['AavePriceFeed'].address, deployer),
117
- addressListRegistry: new protocol.AddressListRegistry(fixture['AddressListRegistry'].address, deployer),
118
- allowedAdapterIncomingAssetsPolicy: new protocol.AllowedAdapterIncomingAssetsPolicy(fixture['AllowedAdapterIncomingAssetsPolicy'].address, deployer),
119
- allowedAdaptersPolicy: new protocol.AllowedAdaptersPolicy(fixture['AllowedAdaptersPolicy'].address, deployer),
120
- allowedAssetsForRedemptionPolicy: new protocol.AllowedAssetsForRedemptionPolicy(fixture['AllowedAssetsForRedemptionPolicy'].address, deployer),
121
- allowedDepositRecipientsPolicy: new protocol.AllowedDepositRecipientsPolicy(fixture['AllowedDepositRecipientsPolicy'].address, deployer),
122
- allowedExternalPositionTypesPolicy: new protocol.AllowedExternalPositionTypesPolicy(fixture['AllowedExternalPositionTypesPolicy'].address, deployer),
123
- allowedSharesTransferRecipientsPolicy: new protocol.AllowedSharesTransferRecipientsPolicy(fixture['AllowedSharesTransferRecipientsPolicy'].address, deployer),
124
- compoundAdapter: new protocol.CompoundAdapter(fixture['CompoundAdapter'].address, deployer),
125
- compoundDebtPositionLib: new protocol.CompoundDebtPositionLib(fixture['CompoundDebtPositionLib'].address, deployer),
126
- compoundDebtPositionParser: new protocol.CompoundDebtPositionParser(fixture['CompoundDebtPositionParser'].address, deployer),
127
- compoundPriceFeed: new protocol.CompoundPriceFeed(fixture['CompoundPriceFeed'].address, deployer),
128
- comptrollerLib: new protocol.ComptrollerLib(fixture['ComptrollerLib'].address, deployer),
129
- convexCurveLpStakingAdapter: new protocol.ConvexCurveLpStakingAdapter(fixture['ConvexCurveLpStakingAdapter'].address, deployer),
130
- convexCurveLpStakingWrapperFactory: new protocol.ConvexCurveLpStakingWrapperFactory(fixture['ConvexCurveLpStakingWrapperFactory'].address, deployer),
131
- convexCurveLpStakingWrapperPriceFeed: new protocol.ConvexCurveLpStakingWrapperPriceFeed(fixture['ConvexCurveLpStakingWrapperPriceFeed'].address, deployer),
132
- cumulativeSlippageTolerancePolicy: new protocol.CumulativeSlippageTolerancePolicy(fixture['CumulativeSlippageTolerancePolicy'].address, deployer),
133
- curveExchangeAdapter: new protocol.CurveExchangeAdapter(fixture['CurveExchangeAdapter'].address, deployer),
134
- curveLiquidityAaveAdapter: new protocol.CurveLiquidityAaveAdapter(fixture['CurveLiquidityAaveAdapter'].address, deployer),
135
- curveLiquidityAdapter: new protocol.CurveLiquidityAdapter(fixture['CurveLiquidityAdapter'].address, deployer),
136
- curveLiquiditySethAdapter: new protocol.CurveLiquiditySethAdapter(fixture['CurveLiquiditySethAdapter'].address, deployer),
137
- curveLiquidityStethAdapter: new protocol.CurveLiquidityStethAdapter(fixture['CurveLiquidityStethAdapter'].address, deployer),
138
- curvePriceFeed: new protocol.CurvePriceFeed(fixture['CurvePriceFeed'].address, deployer),
139
- depositWrapper: new protocol.DepositWrapper(fixture['DepositWrapper'].address, deployer),
140
- dispatcher: new protocol.Dispatcher(fixture['Dispatcher'].address, deployer),
141
- entranceRateBurnFee: new protocol.EntranceRateBurnFee(fixture['EntranceRateBurnFee'].address, deployer),
142
- entranceRateDirectFee: new protocol.EntranceRateDirectFee(fixture['EntranceRateDirectFee'].address, deployer),
143
- exitRateBurnFee: new protocol.ExitRateBurnFee(fixture['ExitRateBurnFee'].address, deployer),
144
- exitRateDirectFee: new protocol.ExitRateDirectFee(fixture['ExitRateDirectFee'].address, deployer),
145
- externalPositionFactory: new protocol.ExternalPositionFactory(fixture['ExternalPositionFactory'].address, deployer),
146
- externalPositionManager: new protocol.ExternalPositionManager(fixture['ExternalPositionManager'].address, deployer),
147
- feeManager: new protocol.FeeManager(fixture['FeeManager'].address, deployer),
148
- fundDeployer: new protocol.FundDeployer(fixture['FundDeployer'].address, deployer),
149
- fundValueCalculator: new protocol.FundValueCalculator(fixture['FundValueCalculator'].address, deployer),
150
- fundValueCalculatorRouter: new protocol.FundValueCalculatorRouter(fixture['FundValueCalculatorRouter'].address, deployer),
151
- fundValueCalculatorUsdWrapper: new protocol.FundValueCalculatorUsdWrapper(fixture['FundValueCalculatorUsdWrapper'].address, deployer),
152
- fuseAdapter: new protocol.FuseAdapter(fixture['FuseAdapter'].address, deployer),
153
- fusePriceFeed: new protocol.FusePriceFeed(fixture['FusePriceFeed'].address, deployer),
154
- gasRelayPaymasterFactory: new protocol.GasRelayPaymasterFactory(fixture['GasRelayPaymasterFactory'].address, deployer),
155
- idleAdapter: new protocol.IdleAdapter(fixture['IdleAdapter'].address, deployer),
156
- idlePriceFeed: new protocol.IdlePriceFeed(fixture['IdlePriceFeed'].address, deployer),
157
- integrationManager: new protocol.IntegrationManager(fixture['IntegrationManager'].address, deployer),
158
- lidoStethPriceFeed: new protocol.LidoStethPriceFeed(fixture['LidoStethPriceFeed'].address, deployer),
159
- managementFee: new protocol.ManagementFee(fixture['ManagementFee'].address, deployer),
160
- minAssetBalancesPostRedemptionPolicy: new protocol.MinAssetBalancesPostRedemptionPolicy(fixture['MinAssetBalancesPostRedemptionPolicy'].address, deployer),
161
- minMaxInvestmentPolicy: new protocol.MinMaxInvestmentPolicy(fixture['MinMaxInvestmentPolicy'].address, deployer),
162
- olympusV2Adapter: new protocol.OlympusV2Adapter(fixture['OlympusV2Adapter'].address, deployer),
163
- onlyRemoveDustExternalPositionPolicy: new protocol.OnlyRemoveDustExternalPositionPolicy(fixture['OnlyRemoveDustExternalPositionPolicy'].address, deployer),
164
- onlyUntrackDustOrPricelessAssetsPolicy: new protocol.OnlyUntrackDustOrPricelessAssetsPolicy(fixture['OnlyUntrackDustOrPricelessAssetsPolicy'].address, deployer),
165
- paraSwapV4Adapter: new protocol.ParaSwapV4Adapter(fixture['ParaSwapV4Adapter'].address, deployer),
166
- paraSwapV5Adapter: new protocol.ParaSwapV5Adapter(fixture['ParaSwapV5Adapter'].address, deployer),
167
- performanceFee: new protocol.PerformanceFee(fixture['PerformanceFee'].address, deployer),
168
- policyManager: new protocol.PolicyManager(fixture['PolicyManager'].address, deployer),
169
- poolTogetherV4Adapter: new protocol.PoolTogetherV4Adapter(fixture['PoolTogetherV4Adapter'].address, deployer),
170
- poolTogetherV4PriceFeed: new protocol.PoolTogetherV4PriceFeed(fixture['PoolTogetherV4PriceFeed'].address, deployer),
171
- protocolFeeReserveLib: new protocol.ProtocolFeeReserveLib(fixture['ProtocolFeeReserveLib'].address, deployer),
172
- protocolFeeReserveProxy: new protocol.ProtocolFeeReserveLib(fixture['ProtocolFeeReserveProxy'].address, deployer),
173
- protocolFeeTracker: new protocol.ProtocolFeeTracker(fixture['ProtocolFeeTracker'].address, deployer),
174
- revertingPriceFeed: new protocol.RevertingPriceFeed(fixture['RevertingPriceFeed'].address, deployer),
175
- stakehoundEthPriceFeed: new protocol.StakehoundEthPriceFeed(fixture['StakehoundEthPriceFeed'].address, deployer),
176
- synthetixAdapter: new protocol.SynthetixAdapter(fixture['SynthetixAdapter'].address, deployer),
177
- uniswapV2ExchangeAdapter: new protocol.UniswapV2ExchangeAdapter(fixture['UniswapV2ExchangeAdapter'].address, deployer),
178
- uniswapV2LiquidityAdapter: new protocol.UniswapV2LiquidityAdapter(fixture['UniswapV2LiquidityAdapter'].address, deployer),
179
- uniswapV2PoolPriceFeed: new protocol.UniswapV2PoolPriceFeed(fixture['UniswapV2PoolPriceFeed'].address, deployer),
180
- uniswapV3Adapter: new protocol.UniswapV3Adapter(fixture['UniswapV3Adapter'].address, deployer),
181
- unpermissionedActionsWrapper: new protocol.UnpermissionedActionsWrapper(fixture['UnpermissionedActionsWrapper'].address, deployer),
182
- valueInterpreter: new protocol.ValueInterpreter(fixture['ValueInterpreter'].address, deployer),
183
- vaultLib: new protocol.VaultLib(fixture['VaultLib'].address, deployer),
184
- yearnVaultV2Adapter: new protocol.YearnVaultV2Adapter(fixture['YearnVaultV2Adapter'].address, deployer),
185
- yearnVaultV2PriceFeed: new protocol.YearnVaultV2PriceFeed(fixture['YearnVaultV2PriceFeed'].address, deployer),
186
- zeroExV2Adapter: new protocol.ZeroExV2Adapter(fixture['ZeroExV2Adapter'].address, deployer)
187
- };
188
- return _context3.abrupt("return", {
189
- accounts: accounts,
190
- config: config,
191
- deployer: deployer,
192
- deployment: deployment
193
- });
194
-
195
- case 12:
196
- case "end":
197
- return _context3.stop();
198
- }
199
- }
200
- }, _callee3);
201
- }));
202
- return _deployProtocolFixture.apply(this, arguments);
203
- }
204
-
205
- function addTrackedAssetsToVault(_ref) {
206
- var signer = _ref.signer,
207
- comptrollerProxy = _ref.comptrollerProxy,
208
- integrationManager = _ref.integrationManager,
209
- assets = _ref.assets;
210
- return comptrollerProxy.connect(signer).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.AddTrackedAssetsToVault, protocol.addTrackedAssetsToVaultArgs({
211
- assets: assets
212
- }));
213
- }
214
- function removeTrackedAssetsFromVault(_ref2) {
215
- var signer = _ref2.signer,
216
- comptrollerProxy = _ref2.comptrollerProxy,
217
- integrationManager = _ref2.integrationManager,
218
- assets = _ref2.assets;
219
- return comptrollerProxy.connect(signer).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.RemoveTrackedAssetsFromVault, protocol.removeTrackedAssetsFromVaultArgs({
220
- assets: assets
221
- }));
222
- }
223
-
224
- function addNewAssetsToFund(_x) {
225
- return _addNewAssetsToFund.apply(this, arguments);
226
- }
227
-
228
- function _addNewAssetsToFund() {
229
- _addNewAssetsToFund = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
230
- var signer, comptrollerProxy, integrationManager, assets, _ref$amounts, amounts, receipt, vaultProxy, i;
231
-
232
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
233
- while (1) {
234
- switch (_context.prev = _context.next) {
235
- case 0:
236
- 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;
237
- // First, add tracked assets
238
- receipt = addTrackedAssetsToVault({
239
- assets: assets,
240
- comptrollerProxy: comptrollerProxy,
241
- integrationManager: integrationManager,
242
- signer: signer
243
- }); // Then seed the vault with balances as necessary
244
-
245
- _context.next = 4;
246
- return comptrollerProxy.getVaultProxy();
247
-
248
- case 4:
249
- vaultProxy = _context.sent;
250
- _context.t0 = _regeneratorRuntime__default['default'].keys(assets);
251
-
252
- case 6:
253
- if ((_context.t1 = _context.t0()).done) {
254
- _context.next = 13;
255
- break;
256
- }
257
-
258
- i = _context.t1.value;
259
-
260
- if (!(amounts[i] > 0)) {
261
- _context.next = 11;
262
- break;
263
- }
264
-
265
- _context.next = 11;
266
- return assets[i].transfer(vaultProxy, amounts[i]);
267
-
268
- case 11:
269
- _context.next = 6;
270
- break;
271
-
272
- case 13:
273
- return _context.abrupt("return", receipt);
274
-
275
- case 14:
276
- case "end":
277
- return _context.stop();
278
- }
279
- }
280
- }, _callee);
281
- }));
282
- return _addNewAssetsToFund.apply(this, arguments);
283
- }
284
-
285
- function updateChainlinkAggregator(_x, _x2) {
286
- return _updateChainlinkAggregator.apply(this, arguments);
287
- }
288
-
289
- function _updateChainlinkAggregator() {
290
- _updateChainlinkAggregator = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(aggregator, price) {
291
- var answer, block;
292
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
293
- while (1) {
294
- switch (_context.prev = _context.next) {
295
- case 0:
296
- if (!(price !== null && price !== void 0)) {
297
- _context.next = 4;
298
- break;
299
- }
300
-
301
- _context.t0 = price;
302
- _context.next = 7;
303
- break;
304
-
305
- case 4:
306
- _context.next = 6;
307
- return aggregator.latestAnswer();
308
-
309
- case 6:
310
- _context.t0 = _context.sent;
311
-
312
- case 7:
313
- answer = _context.t0;
314
- _context.next = 10;
315
- return aggregator.provider.getBlock('latest');
316
-
317
- case 10:
318
- block = _context.sent;
319
- _context.next = 13;
320
- return aggregator.setLatestAnswer(answer, block.timestamp);
321
-
322
- case 13:
323
- case "end":
324
- return _context.stop();
325
- }
326
- }
327
- }, _callee);
328
- }));
329
- return _updateChainlinkAggregator.apply(this, arguments);
330
- }
331
-
332
- function getAssetBalances(_x) {
333
- return _getAssetBalances.apply(this, arguments);
334
- }
335
-
336
- function _getAssetBalances() {
337
- _getAssetBalances = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
338
- var account, assets;
339
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
340
- while (1) {
341
- switch (_context.prev = _context.next) {
342
- case 0:
343
- account = _ref.account, assets = _ref.assets;
344
- return _context.abrupt("return", Promise.all(assets.map(function (asset) {
345
- return new protocol.StandardToken(asset, provider).balanceOf(account);
346
- })));
347
-
348
- case 2:
349
- case "end":
350
- return _context.stop();
351
- }
352
- }
353
- }, _callee);
354
- }));
355
- return _getAssetBalances.apply(this, arguments);
356
- }
357
-
358
- function getAssetUnit(_x2) {
359
- return _getAssetUnit.apply(this, arguments);
360
- }
361
-
362
- function _getAssetUnit() {
363
- _getAssetUnit = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(asset) {
364
- return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
365
- while (1) {
366
- switch (_context2.prev = _context2.next) {
367
- case 0:
368
- _context2.t0 = ethers.utils;
369
- _context2.next = 3;
370
- return asset.decimals();
371
-
372
- case 3:
373
- _context2.t1 = _context2.sent;
374
- return _context2.abrupt("return", _context2.t0.parseUnits.call(_context2.t0, '1', _context2.t1));
375
-
376
- case 5:
377
- case "end":
378
- return _context2.stop();
379
- }
380
- }
381
- }, _callee2);
382
- }));
383
- return _getAssetUnit.apply(this, arguments);
384
- }
385
-
386
- // TODO: Should refactor this function to take all deployment contracts and set up everything by default,
387
- // unless overrides are passed-in
388
- function createFundDeployer(_x) {
389
- return _createFundDeployer.apply(this, arguments);
390
- }
391
-
392
- function _createFundDeployer() {
393
- _createFundDeployer = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
394
- var deployer, externalPositionManager, dispatcher, gasRelayPaymasterFactory, valueInterpreter, vaultLib, _ref$setOnDispatcher, setOnDispatcher, _ref$setReleaseLive, setReleaseLive, mlnToken, wethToken, protocolFeeReserve, nextFundDeployer, nextPolicyManager, nextExternalPositionManager, nextFeeManager, nextIntegrationManager, nextComptrollerLib, nextProtocolFeeTracker, nextVaultLib;
395
-
396
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
397
- while (1) {
398
- switch (_context.prev = _context.next) {
399
- case 0:
400
- 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;
401
- _context.next = 3;
402
- return vaultLib.getMlnToken();
403
-
404
- case 3:
405
- mlnToken = _context.sent;
406
- _context.next = 6;
407
- return vaultLib.getWethToken();
408
-
409
- case 6:
410
- wethToken = _context.sent;
411
- _context.next = 9;
412
- return vaultLib.getProtocolFeeReserve();
413
-
414
- case 9:
415
- protocolFeeReserve = _context.sent;
416
- _context.next = 12;
417
- return protocol.FundDeployer.deploy(deployer, dispatcher, gasRelayPaymasterFactory);
418
-
419
- case 12:
420
- nextFundDeployer = _context.sent;
421
- _context.next = 15;
422
- return protocol.PolicyManager.deploy(deployer, nextFundDeployer, gasRelayPaymasterFactory);
423
-
424
- case 15:
425
- nextPolicyManager = _context.sent;
426
- _context.t0 = protocol.ExternalPositionManager;
427
- _context.t1 = deployer;
428
- _context.t2 = nextFundDeployer;
429
- _context.next = 21;
430
- return externalPositionManager.getExternalPositionFactory();
431
-
432
- case 21:
433
- _context.t3 = _context.sent;
434
- _context.t4 = nextPolicyManager;
435
- _context.next = 25;
436
- return _context.t0.deploy.call(_context.t0, _context.t1, _context.t2, _context.t3, _context.t4);
437
-
438
- case 25:
439
- nextExternalPositionManager = _context.sent;
440
- _context.next = 28;
441
- return protocol.FeeManager.deploy(deployer, nextFundDeployer);
442
-
443
- case 28:
444
- nextFeeManager = _context.sent;
445
- _context.next = 31;
446
- return protocol.IntegrationManager.deploy(deployer, nextFundDeployer, nextPolicyManager, valueInterpreter);
447
-
448
- case 31:
449
- nextIntegrationManager = _context.sent;
450
- _context.next = 34;
451
- return protocol.ComptrollerLib.deploy(deployer, dispatcher, protocolFeeReserve, nextFundDeployer, valueInterpreter, nextExternalPositionManager, nextFeeManager, nextIntegrationManager, nextPolicyManager, gasRelayPaymasterFactory, mlnToken, wethToken);
452
-
453
- case 34:
454
- nextComptrollerLib = _context.sent;
455
- _context.next = 37;
456
- return nextFundDeployer.setComptrollerLib(nextComptrollerLib);
457
-
458
- case 37:
459
- _context.next = 39;
460
- return protocol.ProtocolFeeTracker.deploy(deployer, nextFundDeployer);
461
-
462
- case 39:
463
- nextProtocolFeeTracker = _context.sent;
464
- _context.next = 42;
465
- return nextFundDeployer.setProtocolFeeTracker(nextProtocolFeeTracker);
466
-
467
- case 42:
468
- _context.t5 = protocol.VaultLib;
469
- _context.t6 = deployer;
470
- _context.t7 = externalPositionManager;
471
- _context.next = 47;
472
- return vaultLib.getGasRelayPaymasterFactory();
473
-
474
- case 47:
475
- _context.t8 = _context.sent;
476
- _context.next = 50;
477
- return vaultLib.getProtocolFeeReserve();
478
-
479
- case 50:
480
- _context.t9 = _context.sent;
481
- _context.t10 = nextProtocolFeeTracker;
482
- _context.next = 54;
483
- return vaultLib.getMlnToken();
484
-
485
- case 54:
486
- _context.t11 = _context.sent;
487
- _context.next = 57;
488
- return vaultLib.getMlnBurner();
489
-
490
- case 57:
491
- _context.t12 = _context.sent;
492
- _context.next = 60;
493
- return vaultLib.getWethToken();
494
-
495
- case 60:
496
- _context.t13 = _context.sent;
497
- _context.next = 63;
498
- return vaultLib.getPositionsLimit();
499
-
500
- case 63:
501
- _context.t14 = _context.sent;
502
- _context.next = 66;
503
- 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);
504
-
505
- case 66:
506
- nextVaultLib = _context.sent;
507
- _context.next = 69;
508
- return nextFundDeployer.setVaultLib(nextVaultLib);
509
-
510
- case 69:
511
- if (!setReleaseLive) {
512
- _context.next = 72;
513
- break;
514
- }
515
-
516
- _context.next = 72;
517
- return nextFundDeployer.setReleaseLive();
518
-
519
- case 72:
520
- if (!setOnDispatcher) {
521
- _context.next = 75;
522
- break;
523
- }
524
-
525
- _context.next = 75;
526
- return dispatcher.setCurrentFundDeployer(nextFundDeployer);
527
-
528
- case 75:
529
- return _context.abrupt("return", nextFundDeployer);
530
-
531
- case 76:
532
- case "end":
533
- return _context.stop();
534
- }
535
- }
536
- }, _callee);
537
- }));
538
- return _createFundDeployer.apply(this, arguments);
539
- }
540
-
541
- function callOnExtension(_x) {
542
- return _callOnExtension.apply(this, arguments);
543
- }
544
-
545
- function _callOnExtension() {
546
- _callOnExtension = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
547
- var comptrollerProxy, extension, actionId, _ref$callArgs, callArgs, signer, callOnExtensionTx;
548
-
549
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
550
- while (1) {
551
- switch (_context.prev = _context.next) {
552
- case 0:
553
- comptrollerProxy = _ref.comptrollerProxy, extension = _ref.extension, actionId = _ref.actionId, _ref$callArgs = _ref.callArgs, callArgs = _ref$callArgs === void 0 ? '0x' : _ref$callArgs, signer = _ref.signer;
554
-
555
- if (signer) {
556
- callOnExtensionTx = comptrollerProxy.connect(signer).callOnExtension(extension, actionId, callArgs);
557
- } else {
558
- callOnExtensionTx = comptrollerProxy.callOnExtension(extension, actionId, callArgs);
559
- }
560
-
561
- _context.next = 4;
562
- return expect(callOnExtensionTx).resolves.toBeReceipt();
563
-
564
- case 4:
565
- return _context.abrupt("return", callOnExtensionTx);
566
-
567
- case 5:
568
- case "end":
569
- return _context.stop();
570
- }
571
- }
572
- }, _callee);
573
- }));
574
- return _callOnExtension.apply(this, arguments);
575
- }
576
-
577
- function callOnExternalPosition(_x) {
578
- return _callOnExternalPosition.apply(this, arguments);
579
- }
580
-
581
- function _callOnExternalPosition() {
582
- _callOnExternalPosition = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
583
- var signer, comptrollerProxy, externalPositionManager, externalPositionProxy, actionId, actionArgs, callArgs;
584
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
585
- while (1) {
586
- switch (_context.prev = _context.next) {
587
- case 0:
588
- signer = _ref.signer, comptrollerProxy = _ref.comptrollerProxy, externalPositionManager = _ref.externalPositionManager, externalPositionProxy = _ref.externalPositionProxy, actionId = _ref.actionId, actionArgs = _ref.actionArgs;
589
- callArgs = protocol.callOnExternalPositionArgs({
590
- actionArgs: actionArgs,
591
- actionId: actionId,
592
- externalPositionProxy: externalPositionProxy
593
- });
594
- return _context.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(externalPositionManager, protocol.ExternalPositionManagerActionId.CallOnExternalPosition, callArgs));
595
-
596
- case 3:
597
- case "end":
598
- return _context.stop();
599
- }
600
- }
601
- }, _callee);
602
- }));
603
- return _callOnExternalPosition.apply(this, arguments);
604
- }
605
-
606
- function createExternalPosition(_x2) {
607
- return _createExternalPosition.apply(this, arguments);
608
- }
609
-
610
- function _createExternalPosition() {
611
- _createExternalPosition = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(_ref2) {
612
- var signer, comptrollerProxy, externalPositionManager, externalPositionTypeId, _ref2$initializationD, initializationData, _ref2$callOnExternalP, callOnExternalPositionData, receipt, event, externalPositionProxy;
613
-
614
- return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
615
- while (1) {
616
- switch (_context2.prev = _context2.next) {
617
- case 0:
618
- 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;
619
- _context2.next = 3;
620
- return comptrollerProxy.connect(signer).callOnExtension(externalPositionManager, protocol.ExternalPositionManagerActionId.CreateExternalPosition, protocol.encodeArgs(['uint256', 'bytes', 'bytes'], [externalPositionTypeId, initializationData, callOnExternalPositionData]));
621
-
622
- case 3:
623
- receipt = _context2.sent;
624
- event = ethers$1.extractEvent(receipt, externalPositionManager.abi.getEvent('ExternalPositionDeployedForFund'));
625
- externalPositionProxy = new protocol.IExternalPositionProxy(event[0].args.externalPosition, signer);
626
- return _context2.abrupt("return", {
627
- externalPositionProxy: externalPositionProxy,
628
- receipt: receipt
629
- });
630
-
631
- case 7:
632
- case "end":
633
- return _context2.stop();
634
- }
635
- }
636
- }, _callee2);
637
- }));
638
- return _createExternalPosition.apply(this, arguments);
639
- }
640
-
641
- function reactivateExternalPosition(_x3) {
642
- return _reactivateExternalPosition.apply(this, arguments);
643
- }
644
-
645
- function _reactivateExternalPosition() {
646
- _reactivateExternalPosition = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee3(_ref3) {
647
- var signer, comptrollerProxy, externalPositionManager, externalPositionProxy, callArgs;
648
- return _regeneratorRuntime__default['default'].wrap(function _callee3$(_context3) {
649
- while (1) {
650
- switch (_context3.prev = _context3.next) {
651
- case 0:
652
- signer = _ref3.signer, comptrollerProxy = _ref3.comptrollerProxy, externalPositionManager = _ref3.externalPositionManager, externalPositionProxy = _ref3.externalPositionProxy;
653
- callArgs = protocol.externalPositionReactivateArgs({
654
- externalPositionProxy: externalPositionProxy
655
- });
656
- return _context3.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(externalPositionManager, protocol.ExternalPositionManagerActionId.ReactivateExternalPosition, callArgs));
657
-
658
- case 3:
659
- case "end":
660
- return _context3.stop();
661
- }
662
- }
663
- }, _callee3);
664
- }));
665
- return _reactivateExternalPosition.apply(this, arguments);
666
- }
667
-
668
- function removeExternalPosition(_x4) {
669
- return _removeExternalPosition.apply(this, arguments);
670
- }
671
-
672
- function _removeExternalPosition() {
673
- _removeExternalPosition = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee4(_ref4) {
674
- var signer, comptrollerProxy, externalPositionManager, externalPositionProxy, callArgs;
675
- return _regeneratorRuntime__default['default'].wrap(function _callee4$(_context4) {
676
- while (1) {
677
- switch (_context4.prev = _context4.next) {
678
- case 0:
679
- signer = _ref4.signer, comptrollerProxy = _ref4.comptrollerProxy, externalPositionManager = _ref4.externalPositionManager, externalPositionProxy = _ref4.externalPositionProxy;
680
- callArgs = protocol.externalPositionRemoveArgs({
681
- externalPositionProxy: externalPositionProxy
682
- });
683
- return _context4.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(externalPositionManager, protocol.ExternalPositionManagerActionId.RemoveExternalPosition, callArgs));
684
-
685
- case 3:
686
- case "end":
687
- return _context4.stop();
688
- }
689
- }
690
- }, _callee4);
691
- }));
692
- return _removeExternalPosition.apply(this, arguments);
693
- }
694
-
695
- function compoundDebtPositionAddCollateral(_x) {
696
- return _compoundDebtPositionAddCollateral.apply(this, arguments);
697
- }
698
-
699
- function _compoundDebtPositionAddCollateral() {
700
- _compoundDebtPositionAddCollateral = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
701
- var comptrollerProxy, externalPositionManager, fundOwner, assets, amounts, externalPositionProxy, cTokens, actionArgs;
702
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
703
- while (1) {
704
- switch (_context.prev = _context.next) {
705
- case 0:
706
- comptrollerProxy = _ref.comptrollerProxy, externalPositionManager = _ref.externalPositionManager, fundOwner = _ref.fundOwner, assets = _ref.assets, amounts = _ref.amounts, externalPositionProxy = _ref.externalPositionProxy, cTokens = _ref.cTokens;
707
- actionArgs = protocol.compoundExternalPositionActionArgs({
708
- amounts: amounts,
709
- assets: assets,
710
- data: protocol.encodeArgs(['address[]'], [cTokens])
711
- });
712
- return _context.abrupt("return", callOnExternalPosition({
713
- actionArgs: actionArgs,
714
- actionId: protocol.CompoundDebtPositionActionId.AddCollateralAssets,
715
- comptrollerProxy: comptrollerProxy,
716
- externalPositionManager: externalPositionManager,
717
- externalPositionProxy: externalPositionProxy,
718
- signer: fundOwner
719
- }));
720
-
721
- case 3:
722
- case "end":
723
- return _context.stop();
724
- }
725
- }
726
- }, _callee);
727
- }));
728
- return _compoundDebtPositionAddCollateral.apply(this, arguments);
729
- }
730
-
731
- function compoundDebtPositionBorrow(_x2) {
732
- return _compoundDebtPositionBorrow.apply(this, arguments);
733
- }
734
-
735
- function _compoundDebtPositionBorrow() {
736
- _compoundDebtPositionBorrow = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(_ref2) {
737
- var comptrollerProxy, externalPositionManager, fundOwner, externalPositionProxy, assets, amounts, cTokens, actionArgs;
738
- return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
739
- while (1) {
740
- switch (_context2.prev = _context2.next) {
741
- case 0:
742
- comptrollerProxy = _ref2.comptrollerProxy, externalPositionManager = _ref2.externalPositionManager, fundOwner = _ref2.fundOwner, externalPositionProxy = _ref2.externalPositionProxy, assets = _ref2.assets, amounts = _ref2.amounts, cTokens = _ref2.cTokens;
743
- actionArgs = protocol.compoundExternalPositionActionArgs({
744
- amounts: amounts,
745
- assets: assets,
746
- data: protocol.encodeArgs(['address[]'], [cTokens])
747
- });
748
- return _context2.abrupt("return", callOnExternalPosition({
749
- actionArgs: actionArgs,
750
- actionId: protocol.CompoundDebtPositionActionId.BorrowAsset,
751
- comptrollerProxy: comptrollerProxy,
752
- externalPositionManager: externalPositionManager,
753
- externalPositionProxy: externalPositionProxy,
754
- signer: fundOwner
755
- }));
756
-
757
- case 3:
758
- case "end":
759
- return _context2.stop();
760
- }
761
- }
762
- }, _callee2);
763
- }));
764
- return _compoundDebtPositionBorrow.apply(this, arguments);
765
- }
766
-
767
- function compoundDebtPositionClaimComp(_x3) {
768
- return _compoundDebtPositionClaimComp.apply(this, arguments);
769
- }
770
-
771
- function _compoundDebtPositionClaimComp() {
772
- _compoundDebtPositionClaimComp = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee3(_ref3) {
773
- var comptrollerProxy, externalPositionManager, fundOwner, externalPositionProxy, actionArgs;
774
- return _regeneratorRuntime__default['default'].wrap(function _callee3$(_context3) {
775
- while (1) {
776
- switch (_context3.prev = _context3.next) {
777
- case 0:
778
- comptrollerProxy = _ref3.comptrollerProxy, externalPositionManager = _ref3.externalPositionManager, fundOwner = _ref3.fundOwner, externalPositionProxy = _ref3.externalPositionProxy;
779
- actionArgs = protocol.compoundExternalPositionActionArgs({
780
- amounts: [],
781
- assets: [],
782
- data: '0x'
783
- });
784
- return _context3.abrupt("return", callOnExternalPosition({
785
- actionArgs: actionArgs,
786
- actionId: protocol.CompoundDebtPositionActionId.ClaimComp,
787
- comptrollerProxy: comptrollerProxy,
788
- externalPositionManager: externalPositionManager,
789
- externalPositionProxy: externalPositionProxy,
790
- signer: fundOwner
791
- }));
792
-
793
- case 3:
794
- case "end":
795
- return _context3.stop();
796
- }
797
- }
798
- }, _callee3);
799
- }));
800
- return _compoundDebtPositionClaimComp.apply(this, arguments);
801
- }
802
-
803
- function compoundDebtPositionRemoveCollateral(_x4) {
804
- return _compoundDebtPositionRemoveCollateral.apply(this, arguments);
805
- }
806
-
807
- function _compoundDebtPositionRemoveCollateral() {
808
- _compoundDebtPositionRemoveCollateral = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee4(_ref4) {
809
- var comptrollerProxy, externalPositionManager, fundOwner, assets, amounts, externalPositionProxy, cTokens, actionArgs;
810
- return _regeneratorRuntime__default['default'].wrap(function _callee4$(_context4) {
811
- while (1) {
812
- switch (_context4.prev = _context4.next) {
813
- case 0:
814
- comptrollerProxy = _ref4.comptrollerProxy, externalPositionManager = _ref4.externalPositionManager, fundOwner = _ref4.fundOwner, assets = _ref4.assets, amounts = _ref4.amounts, externalPositionProxy = _ref4.externalPositionProxy, cTokens = _ref4.cTokens;
815
- actionArgs = protocol.compoundExternalPositionActionArgs({
816
- amounts: amounts,
817
- assets: assets,
818
- data: protocol.encodeArgs(['address[]'], [cTokens])
819
- });
820
- return _context4.abrupt("return", callOnExternalPosition({
821
- actionArgs: actionArgs,
822
- actionId: protocol.CompoundDebtPositionActionId.RemoveCollateralAssets,
823
- comptrollerProxy: comptrollerProxy,
824
- externalPositionManager: externalPositionManager,
825
- externalPositionProxy: externalPositionProxy,
826
- signer: fundOwner
827
- }));
828
-
829
- case 3:
830
- case "end":
831
- return _context4.stop();
832
- }
833
- }
834
- }, _callee4);
835
- }));
836
- return _compoundDebtPositionRemoveCollateral.apply(this, arguments);
837
- }
838
-
839
- function compoundDebtPositionRepayBorrow(_x5) {
840
- return _compoundDebtPositionRepayBorrow.apply(this, arguments);
841
- }
842
-
843
- function _compoundDebtPositionRepayBorrow() {
844
- _compoundDebtPositionRepayBorrow = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee5(_ref5) {
845
- var comptrollerProxy, externalPositionManager, fundOwner, assets, amounts, externalPositionProxy, cTokens, actionArgs;
846
- return _regeneratorRuntime__default['default'].wrap(function _callee5$(_context5) {
847
- while (1) {
848
- switch (_context5.prev = _context5.next) {
849
- case 0:
850
- comptrollerProxy = _ref5.comptrollerProxy, externalPositionManager = _ref5.externalPositionManager, fundOwner = _ref5.fundOwner, assets = _ref5.assets, amounts = _ref5.amounts, externalPositionProxy = _ref5.externalPositionProxy, cTokens = _ref5.cTokens;
851
- actionArgs = protocol.compoundExternalPositionActionArgs({
852
- amounts: amounts,
853
- assets: assets,
854
- data: protocol.encodeArgs(['address[]'], [cTokens])
855
- });
856
- return _context5.abrupt("return", callOnExternalPosition({
857
- actionArgs: actionArgs,
858
- actionId: protocol.CompoundDebtPositionActionId.RepayBorrowedAssets,
859
- comptrollerProxy: comptrollerProxy,
860
- externalPositionManager: externalPositionManager,
861
- externalPositionProxy: externalPositionProxy,
862
- signer: fundOwner
863
- }));
864
-
865
- case 3:
866
- case "end":
867
- return _context5.stop();
868
- }
869
- }
870
- }, _callee5);
871
- }));
872
- return _compoundDebtPositionRepayBorrow.apply(this, arguments);
873
- }
874
-
875
- function createCompoundDebtPosition(_x6) {
876
- return _createCompoundDebtPosition.apply(this, arguments);
877
- }
878
-
879
- function _createCompoundDebtPosition() {
880
- _createCompoundDebtPosition = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee6(_ref6) {
881
- var signer, comptrollerProxy, externalPositionManager;
882
- return _regeneratorRuntime__default['default'].wrap(function _callee6$(_context6) {
883
- while (1) {
884
- switch (_context6.prev = _context6.next) {
885
- case 0:
886
- signer = _ref6.signer, comptrollerProxy = _ref6.comptrollerProxy, externalPositionManager = _ref6.externalPositionManager;
887
- return _context6.abrupt("return", createExternalPosition({
888
- comptrollerProxy: comptrollerProxy,
889
- externalPositionManager: externalPositionManager,
890
- externalPositionTypeId: protocol.ExternalPositionType.CompoundDebtPosition,
891
- signer: signer
892
- }));
893
-
894
- case 2:
895
- case "end":
896
- return _context6.stop();
897
- }
898
- }
899
- }, _callee6);
900
- }));
901
- return _createCompoundDebtPosition.apply(this, arguments);
902
- }
903
-
904
- function createMockExternalPosition(_x) {
905
- return _createMockExternalPosition.apply(this, arguments);
906
- }
907
-
908
- function _createMockExternalPosition() {
909
- _createMockExternalPosition = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
910
- var comptrollerProxy, externalPositionManager, externalPositionFactory, defaultActionAssetsToTransfer, defaultActionAmountsToTransfer, defaultActionAssetsToReceive, fundOwner, deployer, vaultProxy, typeId, mockGenericExternalPositionLib, mockExternalPositionParser, receipt, externalPositionProxy;
911
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
912
- while (1) {
913
- switch (_context.prev = _context.next) {
914
- case 0:
915
- comptrollerProxy = _ref.comptrollerProxy, externalPositionManager = _ref.externalPositionManager, externalPositionFactory = _ref.externalPositionFactory, defaultActionAssetsToTransfer = _ref.defaultActionAssetsToTransfer, defaultActionAmountsToTransfer = _ref.defaultActionAmountsToTransfer, defaultActionAssetsToReceive = _ref.defaultActionAssetsToReceive, fundOwner = _ref.fundOwner, deployer = _ref.deployer;
916
- _context.t0 = protocol.VaultLib;
917
- _context.next = 4;
918
- return comptrollerProxy.getVaultProxy();
919
-
920
- case 4:
921
- _context.t1 = _context.sent;
922
- _context.t2 = deployer;
923
- vaultProxy = new _context.t0(_context.t1, _context.t2);
924
- _context.next = 9;
925
- return externalPositionFactory.getPositionTypeCounter();
926
-
927
- case 9:
928
- typeId = _context.sent;
929
- _context.next = 12;
930
- return externalPositionFactory.addNewPositionTypes(['TEST']);
931
-
932
- case 12:
933
- _context.next = 14;
934
- return protocol.MockGenericExternalPositionLib.deploy(deployer);
935
-
936
- case 14:
937
- mockGenericExternalPositionLib = _context.sent;
938
- _context.next = 17;
939
- return protocol.MockGenericExternalPositionParser.deploy(deployer);
940
-
941
- case 17:
942
- mockExternalPositionParser = _context.sent;
943
- mockExternalPositionParser.setAssetsForAction(0, defaultActionAssetsToTransfer, defaultActionAmountsToTransfer, defaultActionAssetsToReceive);
944
- _context.next = 21;
945
- return externalPositionManager.updateExternalPositionTypesInfo([typeId], [mockGenericExternalPositionLib], [mockExternalPositionParser]);
946
-
947
- case 21:
948
- _context.next = 23;
949
- return createExternalPosition({
950
- comptrollerProxy: comptrollerProxy,
951
- externalPositionManager: externalPositionManager,
952
- externalPositionTypeId: typeId,
953
- signer: fundOwner
954
- });
955
-
956
- case 23:
957
- receipt = _context.sent;
958
- _context.next = 26;
959
- return vaultProxy.getActiveExternalPositions();
960
-
961
- case 26:
962
- externalPositionProxy = _context.sent[0];
963
- return _context.abrupt("return", {
964
- externalPositionProxy: externalPositionProxy,
965
- mockExternalPositionParser: mockExternalPositionParser,
966
- mockGenericExternalPositionLib: mockGenericExternalPositionLib,
967
- receipt: receipt,
968
- typeId: typeId
969
- });
970
-
971
- case 28:
972
- case "end":
973
- return _context.stop();
974
- }
975
- }
976
- }, _callee);
977
- }));
978
- return _createMockExternalPosition.apply(this, arguments);
979
- }
980
-
981
- function mockExternalPositionAddDebtAssets(_x2) {
982
- return _mockExternalPositionAddDebtAssets.apply(this, arguments);
983
- }
984
-
985
- function _mockExternalPositionAddDebtAssets() {
986
- _mockExternalPositionAddDebtAssets = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(_ref2) {
987
- var signer, comptrollerProxy, externalPositionManager, externalPositionProxy, assets, amounts, actionArgs;
988
- return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
989
- while (1) {
990
- switch (_context2.prev = _context2.next) {
991
- case 0:
992
- signer = _ref2.signer, comptrollerProxy = _ref2.comptrollerProxy, externalPositionManager = _ref2.externalPositionManager, externalPositionProxy = _ref2.externalPositionProxy, assets = _ref2.assets, amounts = _ref2.amounts;
993
- actionArgs = protocol.mockGenericExternalPositionActionArgs({
994
- amounts: amounts,
995
- assets: assets
996
- });
997
- return _context2.abrupt("return", callOnExternalPosition({
998
- actionArgs: actionArgs,
999
- actionId: protocol.MockGenericExternalPositionActionId.AddDebtAssets,
1000
- comptrollerProxy: comptrollerProxy,
1001
- externalPositionManager: externalPositionManager,
1002
- externalPositionProxy: externalPositionProxy,
1003
- signer: signer
1004
- }));
1005
-
1006
- case 3:
1007
- case "end":
1008
- return _context2.stop();
1009
- }
1010
- }
1011
- }, _callee2);
1012
- }));
1013
- return _mockExternalPositionAddDebtAssets.apply(this, arguments);
1014
- }
1015
-
1016
- function mockExternalPositionAddManagedAssets(_x3) {
1017
- return _mockExternalPositionAddManagedAssets.apply(this, arguments);
1018
- }
1019
-
1020
- function _mockExternalPositionAddManagedAssets() {
1021
- _mockExternalPositionAddManagedAssets = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee3(_ref3) {
1022
- var signer, comptrollerProxy, externalPositionManager, externalPositionProxy, assets, amounts, actionArgs;
1023
- return _regeneratorRuntime__default['default'].wrap(function _callee3$(_context3) {
1024
- while (1) {
1025
- switch (_context3.prev = _context3.next) {
1026
- case 0:
1027
- signer = _ref3.signer, comptrollerProxy = _ref3.comptrollerProxy, externalPositionManager = _ref3.externalPositionManager, externalPositionProxy = _ref3.externalPositionProxy, assets = _ref3.assets, amounts = _ref3.amounts;
1028
- actionArgs = protocol.mockGenericExternalPositionActionArgs({
1029
- amounts: amounts,
1030
- assets: assets
1031
- });
1032
- return _context3.abrupt("return", callOnExternalPosition({
1033
- actionArgs: actionArgs,
1034
- actionId: protocol.MockGenericExternalPositionActionId.AddManagedAssets,
1035
- comptrollerProxy: comptrollerProxy,
1036
- externalPositionManager: externalPositionManager,
1037
- externalPositionProxy: externalPositionProxy,
1038
- signer: signer
1039
- }));
1040
-
1041
- case 3:
1042
- case "end":
1043
- return _context3.stop();
1044
- }
1045
- }
1046
- }, _callee3);
1047
- }));
1048
- return _mockExternalPositionAddManagedAssets.apply(this, arguments);
1049
- }
1050
-
1051
- function mockExternalPositionRemoveDebtAssets(_x4) {
1052
- return _mockExternalPositionRemoveDebtAssets.apply(this, arguments);
1053
- }
1054
-
1055
- function _mockExternalPositionRemoveDebtAssets() {
1056
- _mockExternalPositionRemoveDebtAssets = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee4(_ref4) {
1057
- var signer, comptrollerProxy, externalPositionManager, externalPositionProxy, assets, amounts, actionArgs;
1058
- return _regeneratorRuntime__default['default'].wrap(function _callee4$(_context4) {
1059
- while (1) {
1060
- switch (_context4.prev = _context4.next) {
1061
- case 0:
1062
- signer = _ref4.signer, comptrollerProxy = _ref4.comptrollerProxy, externalPositionManager = _ref4.externalPositionManager, externalPositionProxy = _ref4.externalPositionProxy, assets = _ref4.assets, amounts = _ref4.amounts;
1063
- actionArgs = protocol.mockGenericExternalPositionActionArgs({
1064
- amounts: amounts,
1065
- assets: assets
1066
- });
1067
- return _context4.abrupt("return", callOnExternalPosition({
1068
- actionArgs: actionArgs,
1069
- actionId: protocol.MockGenericExternalPositionActionId.RemoveDebtAssets,
1070
- comptrollerProxy: comptrollerProxy,
1071
- externalPositionManager: externalPositionManager,
1072
- externalPositionProxy: externalPositionProxy,
1073
- signer: signer
1074
- }));
1075
-
1076
- case 3:
1077
- case "end":
1078
- return _context4.stop();
1079
- }
1080
- }
1081
- }, _callee4);
1082
- }));
1083
- return _mockExternalPositionRemoveDebtAssets.apply(this, arguments);
1084
- }
1085
-
1086
- function mockExternalPositionRemoveManagedAssets(_x5) {
1087
- return _mockExternalPositionRemoveManagedAssets.apply(this, arguments);
1088
- }
1089
-
1090
- function _mockExternalPositionRemoveManagedAssets() {
1091
- _mockExternalPositionRemoveManagedAssets = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee5(_ref5) {
1092
- var signer, comptrollerProxy, externalPositionManager, externalPositionProxy, assets, amounts, actionArgs;
1093
- return _regeneratorRuntime__default['default'].wrap(function _callee5$(_context5) {
1094
- while (1) {
1095
- switch (_context5.prev = _context5.next) {
1096
- case 0:
1097
- signer = _ref5.signer, comptrollerProxy = _ref5.comptrollerProxy, externalPositionManager = _ref5.externalPositionManager, externalPositionProxy = _ref5.externalPositionProxy, assets = _ref5.assets, amounts = _ref5.amounts;
1098
- actionArgs = protocol.mockGenericExternalPositionActionArgs({
1099
- amounts: amounts,
1100
- assets: assets
1101
- });
1102
- return _context5.abrupt("return", callOnExternalPosition({
1103
- actionArgs: actionArgs,
1104
- actionId: protocol.MockGenericExternalPositionActionId.RemoveManagedAssets,
1105
- comptrollerProxy: comptrollerProxy,
1106
- externalPositionManager: externalPositionManager,
1107
- externalPositionProxy: externalPositionProxy,
1108
- signer: signer
1109
- }));
1110
-
1111
- case 3:
1112
- case "end":
1113
- return _context5.stop();
1114
- }
1115
- }
1116
- }, _callee5);
1117
- }));
1118
- return _mockExternalPositionRemoveManagedAssets.apply(this, arguments);
1119
- }
1120
-
1121
- var _templateObject$3;
1122
- exports.UniswapV3FeeAmount = void 0;
1123
-
1124
- (function (UniswapV3FeeAmount) {
1125
- UniswapV3FeeAmount[UniswapV3FeeAmount["LOW"] = 500] = "LOW";
1126
- UniswapV3FeeAmount[UniswapV3FeeAmount["MEDIUM"] = 3000] = "MEDIUM";
1127
- UniswapV3FeeAmount[UniswapV3FeeAmount["HIGH"] = 10000] = "HIGH";
1128
- })(exports.UniswapV3FeeAmount || (exports.UniswapV3FeeAmount = {}));
1129
-
1130
- var uniswapV3LiquidityPositionGetMinTick = function uniswapV3LiquidityPositionGetMinTick(tickSpacing) {
1131
- return Math.ceil(-887272 / tickSpacing) * tickSpacing;
1132
- };
1133
- var uniswapV3LiquidityPositionGetMaxTick = function uniswapV3LiquidityPositionGetMaxTick(tickSpacing) {
1134
- return Math.floor(887272 / tickSpacing) * tickSpacing;
1135
- };
1136
- 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"])));
1137
- function createUniswapV3LiquidityPosition(_x) {
1138
- return _createUniswapV3LiquidityPosition.apply(this, arguments);
1139
- }
1140
-
1141
- function _createUniswapV3LiquidityPosition() {
1142
- _createUniswapV3LiquidityPosition = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
1143
- var signer, comptrollerProxy, externalPositionManager, _ref$callOnExternalPo, callOnExternalPositionData, _yield$createExternal, externalPositionProxyContract, receipt;
1144
-
1145
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
1146
- while (1) {
1147
- switch (_context.prev = _context.next) {
1148
- case 0:
1149
- signer = _ref.signer, comptrollerProxy = _ref.comptrollerProxy, externalPositionManager = _ref.externalPositionManager, _ref$callOnExternalPo = _ref.callOnExternalPositionData, callOnExternalPositionData = _ref$callOnExternalPo === void 0 ? '0x' : _ref$callOnExternalPo;
1150
- _context.next = 3;
1151
- return createExternalPosition({
1152
- callOnExternalPositionData: callOnExternalPositionData,
1153
- comptrollerProxy: comptrollerProxy,
1154
- externalPositionManager: externalPositionManager,
1155
- externalPositionTypeId: protocol.ExternalPositionType.UniswapV3LiquidityPosition,
1156
- signer: signer
1157
- });
1158
-
1159
- case 3:
1160
- _yield$createExternal = _context.sent;
1161
- externalPositionProxyContract = _yield$createExternal.externalPositionProxy;
1162
- receipt = _yield$createExternal.receipt;
1163
- return _context.abrupt("return", {
1164
- externalPositionProxyAddress: externalPositionProxyContract.address,
1165
- receipt: receipt
1166
- });
1167
-
1168
- case 7:
1169
- case "end":
1170
- return _context.stop();
1171
- }
1172
- }
1173
- }, _callee);
1174
- }));
1175
- return _createUniswapV3LiquidityPosition.apply(this, arguments);
1176
- }
1177
-
1178
- function uniswapV3LiquidityPositionAddLiquidity(_x2) {
1179
- return _uniswapV3LiquidityPositionAddLiquidity.apply(this, arguments);
1180
- }
1181
-
1182
- function _uniswapV3LiquidityPositionAddLiquidity() {
1183
- _uniswapV3LiquidityPositionAddLiquidity = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(_ref2) {
1184
- var signer, comptrollerProxy, externalPositionManager, externalPositionProxy, nftId, amount0Desired, amount1Desired, _ref2$amount0Min, amount0Min, _ref2$amount1Min, amount1Min, actionArgs, callArgs;
1185
-
1186
- return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
1187
- while (1) {
1188
- switch (_context2.prev = _context2.next) {
1189
- case 0:
1190
- 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;
1191
- actionArgs = protocol.uniswapV3LiquidityPositionAddLiquidityArgs({
1192
- amount0Desired: amount0Desired,
1193
- amount0Min: amount0Min,
1194
- amount1Desired: amount1Desired,
1195
- amount1Min: amount1Min,
1196
- nftId: nftId
1197
- });
1198
- callArgs = protocol.callOnExternalPositionArgs({
1199
- actionArgs: actionArgs,
1200
- actionId: protocol.UniswapV3LiquidityPositionActionId.AddLiquidity,
1201
- externalPositionProxy: externalPositionProxy
1202
- });
1203
- return _context2.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(externalPositionManager, protocol.ExternalPositionManagerActionId.CallOnExternalPosition, callArgs));
1204
-
1205
- case 4:
1206
- case "end":
1207
- return _context2.stop();
1208
- }
1209
- }
1210
- }, _callee2);
1211
- }));
1212
- return _uniswapV3LiquidityPositionAddLiquidity.apply(this, arguments);
1213
- }
1214
-
1215
- function uniswapV3LiquidityPositionCollect(_x3) {
1216
- return _uniswapV3LiquidityPositionCollect.apply(this, arguments);
1217
- }
1218
-
1219
- function _uniswapV3LiquidityPositionCollect() {
1220
- _uniswapV3LiquidityPositionCollect = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee3(_ref3) {
1221
- var signer, comptrollerProxy, externalPositionManager, externalPositionProxy, nftId, actionArgs, callArgs;
1222
- return _regeneratorRuntime__default['default'].wrap(function _callee3$(_context3) {
1223
- while (1) {
1224
- switch (_context3.prev = _context3.next) {
1225
- case 0:
1226
- signer = _ref3.signer, comptrollerProxy = _ref3.comptrollerProxy, externalPositionManager = _ref3.externalPositionManager, externalPositionProxy = _ref3.externalPositionProxy, nftId = _ref3.nftId;
1227
- actionArgs = protocol.uniswapV3LiquidityPositionCollectArgs({
1228
- nftId: nftId
1229
- });
1230
- callArgs = protocol.callOnExternalPositionArgs({
1231
- actionArgs: actionArgs,
1232
- actionId: protocol.UniswapV3LiquidityPositionActionId.Collect,
1233
- externalPositionProxy: externalPositionProxy
1234
- });
1235
- return _context3.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(externalPositionManager, protocol.ExternalPositionManagerActionId.CallOnExternalPosition, callArgs));
1236
-
1237
- case 4:
1238
- case "end":
1239
- return _context3.stop();
1240
- }
1241
- }
1242
- }, _callee3);
1243
- }));
1244
- return _uniswapV3LiquidityPositionCollect.apply(this, arguments);
1245
- }
1246
-
1247
- function uniswapV3LiquidityPositionMint(_x4) {
1248
- return _uniswapV3LiquidityPositionMint.apply(this, arguments);
1249
- }
1250
-
1251
- function _uniswapV3LiquidityPositionMint() {
1252
- _uniswapV3LiquidityPositionMint = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee4(_ref4) {
1253
- var signer, comptrollerProxy, externalPositionManager, externalPositionProxy, token0, token1, fee, tickLower, tickUpper, amount0Desired, amount1Desired, _ref4$amount0Min, amount0Min, _ref4$amount1Min, amount1Min, actionArgs, callArgs, receipt, externalPosition, nftId;
1254
-
1255
- return _regeneratorRuntime__default['default'].wrap(function _callee4$(_context4) {
1256
- while (1) {
1257
- switch (_context4.prev = _context4.next) {
1258
- case 0:
1259
- 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;
1260
- actionArgs = protocol.uniswapV3LiquidityPositionMintArgs({
1261
- amount0Desired: amount0Desired,
1262
- amount0Min: amount0Min,
1263
- amount1Desired: amount1Desired,
1264
- amount1Min: amount1Min,
1265
- fee: fee,
1266
- tickLower: tickLower,
1267
- tickUpper: tickUpper,
1268
- token0: token0,
1269
- token1: token1
1270
- });
1271
- callArgs = protocol.callOnExternalPositionArgs({
1272
- actionArgs: actionArgs,
1273
- actionId: protocol.UniswapV3LiquidityPositionActionId.Mint,
1274
- externalPositionProxy: externalPositionProxy
1275
- });
1276
- _context4.next = 5;
1277
- return comptrollerProxy.connect(signer).callOnExtension(externalPositionManager, protocol.ExternalPositionManagerActionId.CallOnExternalPosition, callArgs);
1278
-
1279
- case 5:
1280
- receipt = _context4.sent;
1281
- externalPosition = new protocol.UniswapV3LiquidityPositionLib(externalPositionProxy, provider);
1282
- nftId = ethers$1.extractEvent(receipt, externalPosition.abi.getEvent('NFTPositionAdded'))[0].args.tokenId;
1283
- return _context4.abrupt("return", {
1284
- nftId: nftId,
1285
- receipt: receipt
1286
- });
1287
-
1288
- case 9:
1289
- case "end":
1290
- return _context4.stop();
1291
- }
1292
- }
1293
- }, _callee4);
1294
- }));
1295
- return _uniswapV3LiquidityPositionMint.apply(this, arguments);
1296
- }
1297
-
1298
- function uniswapV3LiquidityPositionPurge(_x5) {
1299
- return _uniswapV3LiquidityPositionPurge.apply(this, arguments);
1300
- }
1301
-
1302
- function _uniswapV3LiquidityPositionPurge() {
1303
- _uniswapV3LiquidityPositionPurge = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee5(_ref5) {
1304
- var signer, comptrollerProxy, externalPositionManager, externalPositionProxy, nftId, liquidity, _ref5$amount0Min, amount0Min, _ref5$amount1Min, amount1Min, actionArgs, callArgs;
1305
-
1306
- return _regeneratorRuntime__default['default'].wrap(function _callee5$(_context5) {
1307
- while (1) {
1308
- switch (_context5.prev = _context5.next) {
1309
- case 0:
1310
- signer = _ref5.signer, comptrollerProxy = _ref5.comptrollerProxy, externalPositionManager = _ref5.externalPositionManager, externalPositionProxy = _ref5.externalPositionProxy, nftId = _ref5.nftId, liquidity = _ref5.liquidity, _ref5$amount0Min = _ref5.amount0Min, amount0Min = _ref5$amount0Min === void 0 ? 0 : _ref5$amount0Min, _ref5$amount1Min = _ref5.amount1Min, amount1Min = _ref5$amount1Min === void 0 ? 0 : _ref5$amount1Min;
1311
- actionArgs = protocol.uniswapV3LiquidityPositionPurgeArgs({
1312
- amount0Min: amount0Min,
1313
- amount1Min: amount1Min,
1314
- liquidity: liquidity,
1315
- nftId: nftId
1316
- });
1317
- callArgs = protocol.callOnExternalPositionArgs({
1318
- actionArgs: actionArgs,
1319
- actionId: protocol.UniswapV3LiquidityPositionActionId.Purge,
1320
- externalPositionProxy: externalPositionProxy
1321
- });
1322
- return _context5.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(externalPositionManager, protocol.ExternalPositionManagerActionId.CallOnExternalPosition, callArgs));
1323
-
1324
- case 4:
1325
- case "end":
1326
- return _context5.stop();
1327
- }
1328
- }
1329
- }, _callee5);
1330
- }));
1331
- return _uniswapV3LiquidityPositionPurge.apply(this, arguments);
1332
- }
1333
-
1334
- function uniswapV3LiquidityPositionRemoveLiquidity(_x6) {
1335
- return _uniswapV3LiquidityPositionRemoveLiquidity.apply(this, arguments);
1336
- }
1337
-
1338
- function _uniswapV3LiquidityPositionRemoveLiquidity() {
1339
- _uniswapV3LiquidityPositionRemoveLiquidity = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee6(_ref6) {
1340
- var signer, comptrollerProxy, externalPositionManager, externalPositionProxy, nftId, liquidity, _ref6$amount0Min, amount0Min, _ref6$amount1Min, amount1Min, actionArgs, callArgs;
1341
-
1342
- return _regeneratorRuntime__default['default'].wrap(function _callee6$(_context6) {
1343
- while (1) {
1344
- switch (_context6.prev = _context6.next) {
1345
- case 0:
1346
- signer = _ref6.signer, comptrollerProxy = _ref6.comptrollerProxy, externalPositionManager = _ref6.externalPositionManager, externalPositionProxy = _ref6.externalPositionProxy, nftId = _ref6.nftId, liquidity = _ref6.liquidity, _ref6$amount0Min = _ref6.amount0Min, amount0Min = _ref6$amount0Min === void 0 ? 0 : _ref6$amount0Min, _ref6$amount1Min = _ref6.amount1Min, amount1Min = _ref6$amount1Min === void 0 ? 0 : _ref6$amount1Min;
1347
- actionArgs = protocol.uniswapV3LiquidityPositionRemoveLiquidityArgs({
1348
- amount0Min: amount0Min,
1349
- amount1Min: amount1Min,
1350
- liquidity: liquidity,
1351
- nftId: nftId
1352
- });
1353
- callArgs = protocol.callOnExternalPositionArgs({
1354
- actionArgs: actionArgs,
1355
- actionId: protocol.UniswapV3LiquidityPositionActionId.RemoveLiquidity,
1356
- externalPositionProxy: externalPositionProxy
1357
- });
1358
- return _context6.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(externalPositionManager, protocol.ExternalPositionManagerActionId.CallOnExternalPosition, callArgs));
1359
-
1360
- case 4:
1361
- case "end":
1362
- return _context6.stop();
1363
- }
1364
- }
1365
- }, _callee6);
1366
- }));
1367
- return _uniswapV3LiquidityPositionRemoveLiquidity.apply(this, arguments);
1368
- }
1369
-
1370
- function uniswapV3OrderTokenPair(_ref7) {
1371
- var tokenA = _ref7.tokenA,
1372
- tokenB = _ref7.tokenB;
1373
- var tokenAAddress = ethers$1.resolveAddress(tokenA);
1374
- var tokenBAddress = ethers$1.resolveAddress(tokenB);
1375
- return tokenAAddress < tokenBAddress ? {
1376
- token0: tokenAAddress,
1377
- token1: tokenBAddress
1378
- } : {
1379
- token0: tokenBAddress,
1380
- token1: tokenAAddress
1381
- };
1382
- }
1383
-
1384
- function generateFeeManagerConfigWithMockFees(_x) {
1385
- return _generateFeeManagerConfigWithMockFees.apply(this, arguments);
1386
- }
1387
-
1388
- function _generateFeeManagerConfigWithMockFees() {
1389
- _generateFeeManagerConfigWithMockFees = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
1390
- var deployer, fees, feeManagerSettingsData;
1391
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
1392
- while (1) {
1393
- switch (_context.prev = _context.next) {
1394
- case 0:
1395
- deployer = _ref.deployer;
1396
- _context.next = 3;
1397
- return generateMockFees({
1398
- deployer: deployer
1399
- });
1400
-
1401
- case 3:
1402
- fees = _context.sent;
1403
- feeManagerSettingsData = [ethers.utils.randomBytes(10), '0x', ethers.utils.randomBytes(2)];
1404
- return _context.abrupt("return", protocol.feeManagerConfigArgs({
1405
- fees: Object.values(fees),
1406
- settings: feeManagerSettingsData
1407
- }));
1408
-
1409
- case 6:
1410
- case "end":
1411
- return _context.stop();
1412
- }
1413
- }
1414
- }, _callee);
1415
- }));
1416
- return _generateFeeManagerConfigWithMockFees.apply(this, arguments);
1417
- }
1418
-
1419
- function generateMockFees(_x2) {
1420
- return _generateMockFees.apply(this, arguments);
1421
- }
1422
-
1423
- function _generateMockFees() {
1424
- _generateMockFees = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(_ref2) {
1425
- var deployer, mockContinuousFeeSettleOnly, mockContinuousFeeWithGavAndUpdates, mockPostBuySharesFee;
1426
- return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
1427
- while (1) {
1428
- switch (_context2.prev = _context2.next) {
1429
- case 0:
1430
- deployer = _ref2.deployer;
1431
- _context2.next = 3;
1432
- return protocol.IFee.mock(deployer);
1433
-
1434
- case 3:
1435
- mockContinuousFeeSettleOnly = _context2.sent;
1436
- _context2.next = 6;
1437
- return protocol.IFee.mock(deployer);
1438
-
1439
- case 6:
1440
- mockContinuousFeeWithGavAndUpdates = _context2.sent;
1441
- _context2.next = 9;
1442
- return protocol.IFee.mock(deployer);
1443
-
1444
- case 9:
1445
- mockPostBuySharesFee = _context2.sent;
1446
- _context2.next = 12;
1447
- return Promise.all([// Continuous fee the mimics ManagementFee
1448
- mockContinuousFeeSettleOnly.getRecipientForFund.returns(ethers.constants.AddressZero), mockContinuousFeeSettleOnly.settle.returns(protocol.FeeSettlementType.None, ethers.constants.AddressZero, 0), mockContinuousFeeSettleOnly.payout.returns(false), mockContinuousFeeSettleOnly.addFundSettings.returns(undefined), mockContinuousFeeSettleOnly.activateForFund.returns(undefined), mockContinuousFeeSettleOnly.update.returns(undefined), mockContinuousFeeSettleOnly.settlesOnHook.returns(false, false), mockContinuousFeeSettleOnly.settlesOnHook.given(protocol.FeeHook.Continuous).returns(true, false), mockContinuousFeeSettleOnly.settlesOnHook.given(protocol.FeeHook.PreBuyShares).returns(true, false), mockContinuousFeeSettleOnly.settlesOnHook.given(protocol.FeeHook.PreRedeemShares).returns(true, false), mockContinuousFeeSettleOnly.updatesOnHook.returns(false, false), // Continuous fee the mimics PerformanceFee
1449
- mockContinuousFeeWithGavAndUpdates.getRecipientForFund.returns(ethers.constants.AddressZero), mockContinuousFeeWithGavAndUpdates.settle.returns(protocol.FeeSettlementType.None, ethers.constants.AddressZero, 0), mockContinuousFeeWithGavAndUpdates.payout.returns(false), mockContinuousFeeWithGavAndUpdates.addFundSettings.returns(undefined), mockContinuousFeeWithGavAndUpdates.activateForFund.returns(undefined), mockContinuousFeeWithGavAndUpdates.update.returns(undefined), mockContinuousFeeWithGavAndUpdates.settlesOnHook.returns(false, false), mockContinuousFeeWithGavAndUpdates.settlesOnHook.given(protocol.FeeHook.Continuous).returns(true, true), mockContinuousFeeWithGavAndUpdates.settlesOnHook.given(protocol.FeeHook.PreBuyShares).returns(true, true), mockContinuousFeeWithGavAndUpdates.settlesOnHook.given(protocol.FeeHook.PreRedeemShares).returns(true, true), mockContinuousFeeWithGavAndUpdates.updatesOnHook.returns(false, false), mockContinuousFeeWithGavAndUpdates.updatesOnHook.given(protocol.FeeHook.Continuous).returns(true, true), mockContinuousFeeWithGavAndUpdates.updatesOnHook.given(protocol.FeeHook.PostBuyShares).returns(true, true), mockContinuousFeeWithGavAndUpdates.updatesOnHook.given(protocol.FeeHook.PreRedeemShares).returns(true, true), // PostBuyShares fee
1450
- mockPostBuySharesFee.getRecipientForFund.returns(ethers.constants.AddressZero), mockPostBuySharesFee.settle.returns(protocol.FeeSettlementType.None, ethers.constants.AddressZero, 0), mockPostBuySharesFee.payout.returns(false), mockPostBuySharesFee.addFundSettings.returns(undefined), mockPostBuySharesFee.activateForFund.returns(undefined), mockPostBuySharesFee.update.returns(undefined), mockPostBuySharesFee.settlesOnHook.returns(false, false), mockPostBuySharesFee.settlesOnHook.given(protocol.FeeHook.PostBuyShares).returns(true, false), mockPostBuySharesFee.updatesOnHook.returns(false, false)]);
1451
-
1452
- case 12:
1453
- return _context2.abrupt("return", {
1454
- mockContinuousFeeSettleOnly: mockContinuousFeeSettleOnly,
1455
- mockContinuousFeeWithGavAndUpdates: mockContinuousFeeWithGavAndUpdates,
1456
- mockPostBuySharesFee: mockPostBuySharesFee
1457
- });
1458
-
1459
- case 13:
1460
- case "end":
1461
- return _context2.stop();
1462
- }
1463
- }
1464
- }, _callee2);
1465
- }));
1466
- return _generateMockFees.apply(this, arguments);
1467
- }
1468
-
1469
- function aaveLend(_x) {
1470
- return _aaveLend.apply(this, arguments);
1471
- }
1472
-
1473
- function _aaveLend() {
1474
- _aaveLend = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
1475
- var comptrollerProxy, integrationManager, fundOwner, aaveAdapter, aToken, _ref$amount, amount, lendArgs, callArgs, lendTx;
1476
-
1477
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
1478
- while (1) {
1479
- switch (_context.prev = _context.next) {
1480
- case 0:
1481
- comptrollerProxy = _ref.comptrollerProxy, integrationManager = _ref.integrationManager, fundOwner = _ref.fundOwner, aaveAdapter = _ref.aaveAdapter, aToken = _ref.aToken, _ref$amount = _ref.amount, amount = _ref$amount === void 0 ? ethers.utils.parseEther('1') : _ref$amount;
1482
- lendArgs = protocol.aaveLendArgs({
1483
- aToken: aToken,
1484
- amount: amount
1485
- });
1486
- callArgs = protocol.callOnIntegrationArgs({
1487
- adapter: aaveAdapter,
1488
- encodedCallArgs: lendArgs,
1489
- selector: protocol.lendSelector
1490
- });
1491
- lendTx = comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
1492
- return _context.abrupt("return", lendTx);
1493
-
1494
- case 5:
1495
- case "end":
1496
- return _context.stop();
1497
- }
1498
- }
1499
- }, _callee);
1500
- }));
1501
- return _aaveLend.apply(this, arguments);
1502
- }
1503
-
1504
- function aaveRedeem(_x2) {
1505
- return _aaveRedeem.apply(this, arguments);
1506
- }
1507
-
1508
- function _aaveRedeem() {
1509
- _aaveRedeem = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(_ref2) {
1510
- var comptrollerProxy, integrationManager, fundOwner, aaveAdapter, aToken, _ref2$amount, amount, redeemArgs, callArgs, redeemTx;
1511
-
1512
- return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
1513
- while (1) {
1514
- switch (_context2.prev = _context2.next) {
1515
- case 0:
1516
- comptrollerProxy = _ref2.comptrollerProxy, integrationManager = _ref2.integrationManager, fundOwner = _ref2.fundOwner, aaveAdapter = _ref2.aaveAdapter, aToken = _ref2.aToken, _ref2$amount = _ref2.amount, amount = _ref2$amount === void 0 ? ethers.utils.parseEther('1') : _ref2$amount;
1517
- redeemArgs = protocol.aaveRedeemArgs({
1518
- aToken: aToken,
1519
- amount: amount
1520
- });
1521
- callArgs = protocol.callOnIntegrationArgs({
1522
- adapter: aaveAdapter,
1523
- encodedCallArgs: redeemArgs,
1524
- selector: protocol.redeemSelector
1525
- });
1526
- redeemTx = comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
1527
- return _context2.abrupt("return", redeemTx);
1528
-
1529
- case 5:
1530
- case "end":
1531
- return _context2.stop();
1532
- }
1533
- }
1534
- }, _callee2);
1535
- }));
1536
- return _aaveRedeem.apply(this, arguments);
1537
- }
1538
-
1539
- var _templateObject$2;
1540
- var ICompoundComptroller = ethers$1.contract()(_templateObject$2 || (_templateObject$2 = _taggedTemplateLiteral(["\n function claimComp(address)\n"])));
1541
- function assertCompoundLend(_x) {
1542
- return _assertCompoundLend.apply(this, arguments);
1543
- }
1544
-
1545
- function _assertCompoundLend() {
1546
- _assertCompoundLend = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
1547
- 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;
1548
-
1549
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
1550
- while (1) {
1551
- switch (_context.prev = _context.next) {
1552
- case 0:
1553
- 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;
1554
- _context.t0 = protocol.StandardToken;
1555
- _context.next = 4;
1556
- return compoundPriceFeed.getTokenFromCToken.args(cToken).call();
1557
-
1558
- case 4:
1559
- _context.t1 = _context.sent;
1560
- _context.t2 = tokenWhale;
1561
- token = new _context.t0(_context.t1, _context.t2);
1562
- _context.next = 9;
1563
- return token.connect(tokenWhale).transfer(vaultProxy, tokenAmount);
1564
-
1565
- case 9:
1566
- _context.next = 11;
1567
- return cToken.exchangeRateStored.call();
1568
-
1569
- case 11:
1570
- rateBefore = _context.sent;
1571
- // Exchange rate stored can have a small deviation from exchangeRateStored
1572
- minIncomingCTokenAmount = tokenAmount.mul(ethers.utils.parseEther('1')).div(rateBefore).mul(ethers.BigNumber.from('999')).div(ethers.BigNumber.from('1000'));
1573
- _context.next = 15;
1574
- return getAssetBalances({
1575
- account: vaultProxy,
1576
- assets: [cToken, token]
1577
- });
1578
-
1579
- case 15:
1580
- _yield$getAssetBalanc = _context.sent;
1581
- _yield$getAssetBalanc2 = _slicedToArray(_yield$getAssetBalanc, 2);
1582
- preTxIncomingAssetBalance = _yield$getAssetBalanc2[0];
1583
- preTxOutgoingAssetBalance = _yield$getAssetBalanc2[1];
1584
- _context.next = 21;
1585
- return compoundLend({
1586
- cToken: cToken,
1587
- cTokenAmount: minIncomingCTokenAmount,
1588
- compoundAdapter: compoundAdapter,
1589
- comptrollerProxy: comptrollerProxy,
1590
- fundOwner: fundOwner,
1591
- integrationManager: integrationManager,
1592
- tokenAmount: tokenAmount
1593
- });
1594
-
1595
- case 21:
1596
- lendReceipt = _context.sent;
1597
- _context.next = 24;
1598
- return cToken.exchangeRateStored();
1599
-
1600
- case 24:
1601
- rate = _context.sent;
1602
- _context.next = 27;
1603
- return getAssetBalances({
1604
- account: vaultProxy,
1605
- assets: [cToken, token]
1606
- });
1607
-
1608
- case 27:
1609
- _yield$getAssetBalanc3 = _context.sent;
1610
- _yield$getAssetBalanc4 = _slicedToArray(_yield$getAssetBalanc3, 2);
1611
- postTxIncomingAssetBalance = _yield$getAssetBalanc4[0];
1612
- postTxOutgoingAssetBalance = _yield$getAssetBalanc4[1];
1613
- expectedCTokenAmount = tokenAmount.mul(ethers.utils.parseEther('1')).div(rate);
1614
- expect(postTxIncomingAssetBalance).toEqBigNumber(preTxIncomingAssetBalance.add(expectedCTokenAmount));
1615
- expect(postTxOutgoingAssetBalance).toEqBigNumber(preTxOutgoingAssetBalance.sub(tokenAmount));
1616
- return _context.abrupt("return", lendReceipt);
1617
-
1618
- case 35:
1619
- case "end":
1620
- return _context.stop();
1621
- }
1622
- }
1623
- }, _callee);
1624
- }));
1625
- return _assertCompoundLend.apply(this, arguments);
1626
- }
1627
-
1628
- function assertCompoundRedeem(_x2) {
1629
- return _assertCompoundRedeem.apply(this, arguments);
1630
- }
1631
-
1632
- function _assertCompoundRedeem() {
1633
- _assertCompoundRedeem = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(_ref2) {
1634
- 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;
1635
-
1636
- return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
1637
- while (1) {
1638
- switch (_context2.prev = _context2.next) {
1639
- case 0:
1640
- comptrollerProxy = _ref2.comptrollerProxy, vaultProxy = _ref2.vaultProxy, integrationManager = _ref2.integrationManager, fundOwner = _ref2.fundOwner, compoundAdapter = _ref2.compoundAdapter, cToken = _ref2.cToken, compoundPriceFeed = _ref2.compoundPriceFeed;
1641
- _context2.t0 = ethers.utils;
1642
- _context2.next = 4;
1643
- return cToken.decimals();
1644
-
1645
- case 4:
1646
- _context2.t1 = _context2.sent;
1647
- cTokenAmount = _context2.t0.parseUnits.call(_context2.t0, '1', _context2.t1);
1648
- _context2.next = 8;
1649
- return cToken.transfer(vaultProxy, cTokenAmount);
1650
-
1651
- case 8:
1652
- _context2.t2 = protocol.StandardToken;
1653
- _context2.next = 11;
1654
- return compoundPriceFeed.getTokenFromCToken.args(cToken).call();
1655
-
1656
- case 11:
1657
- _context2.t3 = _context2.sent;
1658
- _context2.t4 = provider;
1659
- token = new _context2.t2(_context2.t3, _context2.t4);
1660
- _context2.next = 16;
1661
- return getAssetBalances({
1662
- account: vaultProxy,
1663
- assets: [token, cToken]
1664
- });
1665
-
1666
- case 16:
1667
- _yield$getAssetBalanc5 = _context2.sent;
1668
- _yield$getAssetBalanc6 = _slicedToArray(_yield$getAssetBalanc5, 2);
1669
- preTxIncomingAssetBalance = _yield$getAssetBalanc6[0];
1670
- preTxOutgoingAssetBalance = _yield$getAssetBalanc6[1];
1671
- _context2.next = 22;
1672
- return cToken.exchangeRateStored();
1673
-
1674
- case 22:
1675
- rateBefore = _context2.sent;
1676
- minIncomingTokenAmount = cTokenAmount.mul(rateBefore).div(ethers.utils.parseEther('1'));
1677
- _context2.next = 26;
1678
- return compoundRedeem({
1679
- cToken: cToken,
1680
- cTokenAmount: cTokenAmount,
1681
- compoundAdapter: compoundAdapter,
1682
- comptrollerProxy: comptrollerProxy,
1683
- fundOwner: fundOwner,
1684
- integrationManager: integrationManager,
1685
- tokenAmount: minIncomingTokenAmount,
1686
- vaultProxy: vaultProxy
1687
- });
1688
-
1689
- case 26:
1690
- redeemReceipt = _context2.sent;
1691
- _context2.next = 29;
1692
- return getAssetBalances({
1693
- account: vaultProxy,
1694
- assets: [token, cToken]
1695
- });
1696
-
1697
- case 29:
1698
- _yield$getAssetBalanc7 = _context2.sent;
1699
- _yield$getAssetBalanc8 = _slicedToArray(_yield$getAssetBalanc7, 2);
1700
- postTxIncomingAssetBalance = _yield$getAssetBalanc8[0];
1701
- postTxOutgoingAssetBalance = _yield$getAssetBalanc8[1];
1702
- _context2.next = 35;
1703
- return cToken.exchangeRateStored();
1704
-
1705
- case 35:
1706
- rate = _context2.sent;
1707
- expectedTokenAmount = cTokenAmount.mul(rate).div(ethers.utils.parseEther('1'));
1708
- expect(postTxIncomingAssetBalance).toEqBigNumber(preTxIncomingAssetBalance.add(expectedTokenAmount));
1709
- expect(postTxOutgoingAssetBalance).toEqBigNumber(preTxOutgoingAssetBalance.sub(cTokenAmount));
1710
- return _context2.abrupt("return", redeemReceipt);
1711
-
1712
- case 40:
1713
- case "end":
1714
- return _context2.stop();
1715
- }
1716
- }
1717
- }, _callee2);
1718
- }));
1719
- return _assertCompoundRedeem.apply(this, arguments);
1720
- }
1721
-
1722
- function compoundClaim(_x3) {
1723
- return _compoundClaim.apply(this, arguments);
1724
- }
1725
-
1726
- function _compoundClaim() {
1727
- _compoundClaim = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee3(_ref3) {
1728
- var comptrollerProxy, integrationManager, fundOwner, compoundAdapter, compoundComptroller, cTokens, claimArgs, callArgs, claimRewardsTx;
1729
- return _regeneratorRuntime__default['default'].wrap(function _callee3$(_context3) {
1730
- while (1) {
1731
- switch (_context3.prev = _context3.next) {
1732
- case 0:
1733
- comptrollerProxy = _ref3.comptrollerProxy, integrationManager = _ref3.integrationManager, fundOwner = _ref3.fundOwner, compoundAdapter = _ref3.compoundAdapter, compoundComptroller = _ref3.compoundComptroller, cTokens = _ref3.cTokens;
1734
- claimArgs = protocol.compoundClaimRewardsArgs({
1735
- cTokens: cTokens,
1736
- compoundComptroller: compoundComptroller
1737
- });
1738
- callArgs = protocol.callOnIntegrationArgs({
1739
- adapter: compoundAdapter,
1740
- encodedCallArgs: claimArgs,
1741
- selector: protocol.claimRewardsSelector
1742
- });
1743
- claimRewardsTx = comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
1744
- return _context3.abrupt("return", claimRewardsTx);
1745
-
1746
- case 5:
1747
- case "end":
1748
- return _context3.stop();
1749
- }
1750
- }
1751
- }, _callee3);
1752
- }));
1753
- return _compoundClaim.apply(this, arguments);
1754
- }
1755
-
1756
- function compoundLend(_x4) {
1757
- return _compoundLend.apply(this, arguments);
1758
- }
1759
-
1760
- function _compoundLend() {
1761
- _compoundLend = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee4(_ref4) {
1762
- var comptrollerProxy, integrationManager, fundOwner, compoundAdapter, cToken, _ref4$tokenAmount, tokenAmount, _ref4$cTokenAmount, cTokenAmount, lendArgs, callArgs, lendTx;
1763
-
1764
- return _regeneratorRuntime__default['default'].wrap(function _callee4$(_context4) {
1765
- while (1) {
1766
- switch (_context4.prev = _context4.next) {
1767
- case 0:
1768
- 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;
1769
- lendArgs = protocol.compoundArgs({
1770
- cToken: cToken,
1771
- minIncomingAssetAmount: cTokenAmount,
1772
- outgoingAssetAmount: tokenAmount
1773
- });
1774
- callArgs = protocol.callOnIntegrationArgs({
1775
- adapter: compoundAdapter,
1776
- encodedCallArgs: lendArgs,
1777
- selector: protocol.lendSelector
1778
- });
1779
- lendTx = comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
1780
- return _context4.abrupt("return", lendTx);
1781
-
1782
- case 5:
1783
- case "end":
1784
- return _context4.stop();
1785
- }
1786
- }
1787
- }, _callee4);
1788
- }));
1789
- return _compoundLend.apply(this, arguments);
1790
- }
1791
-
1792
- function compoundRedeem(_x5) {
1793
- return _compoundRedeem.apply(this, arguments);
1794
- }
1795
-
1796
- function _compoundRedeem() {
1797
- _compoundRedeem = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee5(_ref5) {
1798
- var comptrollerProxy, integrationManager, fundOwner, compoundAdapter, cToken, _ref5$tokenAmount, tokenAmount, _ref5$cTokenAmount, cTokenAmount, redeemArgs, callArgs, redeemTx;
1799
-
1800
- return _regeneratorRuntime__default['default'].wrap(function _callee5$(_context5) {
1801
- while (1) {
1802
- switch (_context5.prev = _context5.next) {
1803
- case 0:
1804
- 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;
1805
- redeemArgs = protocol.compoundArgs({
1806
- cToken: ethers$1.resolveAddress(cToken),
1807
- minIncomingAssetAmount: tokenAmount,
1808
- outgoingAssetAmount: cTokenAmount
1809
- });
1810
- callArgs = protocol.callOnIntegrationArgs({
1811
- adapter: compoundAdapter,
1812
- encodedCallArgs: redeemArgs,
1813
- selector: protocol.redeemSelector
1814
- });
1815
- redeemTx = comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
1816
- return _context5.abrupt("return", redeemTx);
1817
-
1818
- case 5:
1819
- case "end":
1820
- return _context5.stop();
1821
- }
1822
- }
1823
- }, _callee5);
1824
- }));
1825
- return _compoundRedeem.apply(this, arguments);
1826
- }
1827
-
1828
- var _templateObject$1, _templateObject2, _templateObject3, _templateObject4;
1829
- var CurveLiquidityGaugeV2 = ethers$1.contract()(_templateObject$1 || (_templateObject$1 = _taggedTemplateLiteral(["\n function claim_rewards(address)\n function integrate_fraction(address) view returns (uint256)\n"])));
1830
- 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
1831
-
1832
- 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"])));
1833
- var CurveMinter = ethers$1.contract()(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n function mint_for(address,address)\n"]))); // exchanges
1834
-
1835
- function curveTakeOrder(_x) {
1836
- return _curveTakeOrder.apply(this, arguments);
1837
- } // combined liquidity
1838
-
1839
- function _curveTakeOrder() {
1840
- _curveTakeOrder = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
1841
- var comptrollerProxy, integrationManager, fundOwner, curveExchangeAdapter, pool, outgoingAsset, _ref$outgoingAssetAmo, outgoingAssetAmount, incomingAsset, _ref$minIncomingAsset, minIncomingAssetAmount, takeOrderArgs, callArgs;
1842
-
1843
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
1844
- while (1) {
1845
- switch (_context.prev = _context.next) {
1846
- case 0:
1847
- 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;
1848
- takeOrderArgs = protocol.curveTakeOrderArgs({
1849
- incomingAsset: incomingAsset,
1850
- minIncomingAssetAmount: minIncomingAssetAmount,
1851
- outgoingAsset: outgoingAsset,
1852
- outgoingAssetAmount: outgoingAssetAmount,
1853
- pool: pool
1854
- });
1855
- callArgs = protocol.callOnIntegrationArgs({
1856
- adapter: curveExchangeAdapter,
1857
- encodedCallArgs: takeOrderArgs,
1858
- selector: protocol.takeOrderSelector
1859
- });
1860
- return _context.abrupt("return", comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
1861
-
1862
- case 4:
1863
- case "end":
1864
- return _context.stop();
1865
- }
1866
- }
1867
- }, _callee);
1868
- }));
1869
- return _curveTakeOrder.apply(this, arguments);
1870
- }
1871
-
1872
- function curveClaimRewards(_ref2) {
1873
- var comptrollerProxy = _ref2.comptrollerProxy,
1874
- integrationManager = _ref2.integrationManager,
1875
- fundOwner = _ref2.fundOwner,
1876
- curveLiquidityAdapter = _ref2.curveLiquidityAdapter,
1877
- stakingToken = _ref2.stakingToken;
1878
- var callArgs = protocol.callOnIntegrationArgs({
1879
- adapter: curveLiquidityAdapter,
1880
- encodedCallArgs: protocol.curveClaimRewardsArgs({
1881
- stakingToken: stakingToken
1882
- }),
1883
- selector: protocol.claimRewardsSelector
1884
- });
1885
- return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
1886
- }
1887
- function curveLend(_x2) {
1888
- return _curveLend.apply(this, arguments);
1889
- }
1890
-
1891
- function _curveLend() {
1892
- _curveLend = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(_ref3) {
1893
- var comptrollerProxy, integrationManager, signer, curveLiquidityAdapter, pool, orderedOutgoingAssetAmounts, _ref3$minIncomingLpTo, minIncomingLpTokenAmount, useUnderlyings, callArgs;
1894
-
1895
- return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
1896
- while (1) {
1897
- switch (_context2.prev = _context2.next) {
1898
- case 0:
1899
- 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;
1900
- callArgs = protocol.callOnIntegrationArgs({
1901
- adapter: curveLiquidityAdapter,
1902
- encodedCallArgs: protocol.curveLendArgs({
1903
- minIncomingLpTokenAmount: minIncomingLpTokenAmount,
1904
- orderedOutgoingAssetAmounts: orderedOutgoingAssetAmounts,
1905
- pool: pool,
1906
- useUnderlyings: useUnderlyings
1907
- }),
1908
- selector: protocol.lendSelector
1909
- });
1910
- return _context2.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
1911
-
1912
- case 3:
1913
- case "end":
1914
- return _context2.stop();
1915
- }
1916
- }
1917
- }, _callee2);
1918
- }));
1919
- return _curveLend.apply(this, arguments);
1920
- }
1921
-
1922
- function curveLendAndStake(_x3) {
1923
- return _curveLendAndStake.apply(this, arguments);
1924
- }
1925
-
1926
- function _curveLendAndStake() {
1927
- _curveLendAndStake = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee3(_ref4) {
1928
- var comptrollerProxy, integrationManager, signer, curveLiquidityAdapter, pool, orderedOutgoingAssetAmounts, incomingStakingToken, _ref4$minIncomingStak, minIncomingStakingTokenAmount, useUnderlyings, callArgs;
1929
-
1930
- return _regeneratorRuntime__default['default'].wrap(function _callee3$(_context3) {
1931
- while (1) {
1932
- switch (_context3.prev = _context3.next) {
1933
- case 0:
1934
- 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;
1935
- callArgs = protocol.callOnIntegrationArgs({
1936
- adapter: curveLiquidityAdapter,
1937
- encodedCallArgs: protocol.curveLendAndStakeArgs({
1938
- incomingStakingToken: incomingStakingToken,
1939
- minIncomingStakingTokenAmount: minIncomingStakingTokenAmount,
1940
- orderedOutgoingAssetAmounts: orderedOutgoingAssetAmounts,
1941
- pool: pool,
1942
- useUnderlyings: useUnderlyings
1943
- }),
1944
- selector: protocol.lendAndStakeSelector
1945
- });
1946
- return _context3.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
1947
-
1948
- case 3:
1949
- case "end":
1950
- return _context3.stop();
1951
- }
1952
- }
1953
- }, _callee3);
1954
- }));
1955
- return _curveLendAndStake.apply(this, arguments);
1956
- }
1957
-
1958
- function curveRedeem(_x4) {
1959
- return _curveRedeem.apply(this, arguments);
1960
- }
1961
-
1962
- function _curveRedeem() {
1963
- _curveRedeem = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee4(_ref5) {
1964
- var comptrollerProxy, integrationManager, signer, curveLiquidityAdapter, pool, outgoingLpTokenAmount, useUnderlyings, redeemType, incomingAssetData, callArgs;
1965
- return _regeneratorRuntime__default['default'].wrap(function _callee4$(_context4) {
1966
- while (1) {
1967
- switch (_context4.prev = _context4.next) {
1968
- case 0:
1969
- 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;
1970
- callArgs = protocol.callOnIntegrationArgs({
1971
- adapter: curveLiquidityAdapter,
1972
- encodedCallArgs: protocol.curveRedeemArgs({
1973
- incomingAssetData: incomingAssetData,
1974
- outgoingLpTokenAmount: outgoingLpTokenAmount,
1975
- pool: pool,
1976
- redeemType: redeemType,
1977
- useUnderlyings: useUnderlyings
1978
- }),
1979
- selector: protocol.redeemSelector
1980
- });
1981
- return _context4.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
1982
-
1983
- case 3:
1984
- case "end":
1985
- return _context4.stop();
1986
- }
1987
- }
1988
- }, _callee4);
1989
- }));
1990
- return _curveRedeem.apply(this, arguments);
1991
- }
1992
-
1993
- function curveStake(_x5) {
1994
- return _curveStake.apply(this, arguments);
1995
- }
1996
-
1997
- function _curveStake() {
1998
- _curveStake = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee5(_ref6) {
1999
- var comptrollerProxy, integrationManager, signer, curveLiquidityAdapter, pool, incomingStakingToken, amount, callArgs;
2000
- return _regeneratorRuntime__default['default'].wrap(function _callee5$(_context5) {
2001
- while (1) {
2002
- switch (_context5.prev = _context5.next) {
2003
- case 0:
2004
- comptrollerProxy = _ref6.comptrollerProxy, integrationManager = _ref6.integrationManager, signer = _ref6.signer, curveLiquidityAdapter = _ref6.curveLiquidityAdapter, pool = _ref6.pool, incomingStakingToken = _ref6.incomingStakingToken, amount = _ref6.amount;
2005
- callArgs = protocol.callOnIntegrationArgs({
2006
- adapter: curveLiquidityAdapter,
2007
- encodedCallArgs: protocol.curveStakeArgs({
2008
- amount: amount,
2009
- incomingStakingToken: incomingStakingToken,
2010
- pool: pool
2011
- }),
2012
- selector: protocol.stakeSelector
2013
- });
2014
- return _context5.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
2015
-
2016
- case 3:
2017
- case "end":
2018
- return _context5.stop();
2019
- }
2020
- }
2021
- }, _callee5);
2022
- }));
2023
- return _curveStake.apply(this, arguments);
2024
- }
2025
-
2026
- function curveUnstake(_x6) {
2027
- return _curveUnstake.apply(this, arguments);
2028
- }
2029
-
2030
- function _curveUnstake() {
2031
- _curveUnstake = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee6(_ref7) {
2032
- var comptrollerProxy, integrationManager, signer, curveLiquidityAdapter, pool, outgoingStakingToken, amount, callArgs;
2033
- return _regeneratorRuntime__default['default'].wrap(function _callee6$(_context6) {
2034
- while (1) {
2035
- switch (_context6.prev = _context6.next) {
2036
- case 0:
2037
- comptrollerProxy = _ref7.comptrollerProxy, integrationManager = _ref7.integrationManager, signer = _ref7.signer, curveLiquidityAdapter = _ref7.curveLiquidityAdapter, pool = _ref7.pool, outgoingStakingToken = _ref7.outgoingStakingToken, amount = _ref7.amount;
2038
- callArgs = protocol.callOnIntegrationArgs({
2039
- adapter: curveLiquidityAdapter,
2040
- encodedCallArgs: protocol.curveUnstakeArgs({
2041
- amount: amount,
2042
- outgoingStakingToken: outgoingStakingToken,
2043
- pool: pool
2044
- }),
2045
- selector: protocol.unstakeSelector
2046
- });
2047
- return _context6.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
2048
-
2049
- case 3:
2050
- case "end":
2051
- return _context6.stop();
2052
- }
2053
- }
2054
- }, _callee6);
2055
- }));
2056
- return _curveUnstake.apply(this, arguments);
2057
- }
2058
-
2059
- function curveUnstakeAndRedeem(_x7) {
2060
- return _curveUnstakeAndRedeem.apply(this, arguments);
2061
- } // aave pool
2062
-
2063
- function _curveUnstakeAndRedeem() {
2064
- _curveUnstakeAndRedeem = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee7(_ref8) {
2065
- var comptrollerProxy, integrationManager, signer, curveLiquidityAdapter, pool, outgoingStakingToken, outgoingStakingTokenAmount, useUnderlyings, redeemType, incomingAssetData, callArgs;
2066
- return _regeneratorRuntime__default['default'].wrap(function _callee7$(_context7) {
2067
- while (1) {
2068
- switch (_context7.prev = _context7.next) {
2069
- case 0:
2070
- 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;
2071
- callArgs = protocol.callOnIntegrationArgs({
2072
- adapter: curveLiquidityAdapter,
2073
- encodedCallArgs: protocol.curveUnstakeAndRedeemArgs({
2074
- incomingAssetData: incomingAssetData,
2075
- outgoingStakingToken: outgoingStakingToken,
2076
- outgoingStakingTokenAmount: outgoingStakingTokenAmount,
2077
- pool: pool,
2078
- redeemType: redeemType,
2079
- useUnderlyings: useUnderlyings
2080
- }),
2081
- selector: protocol.unstakeAndRedeemSelector
2082
- });
2083
- return _context7.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
2084
-
2085
- case 3:
2086
- case "end":
2087
- return _context7.stop();
2088
- }
2089
- }
2090
- }, _callee7);
2091
- }));
2092
- return _curveUnstakeAndRedeem.apply(this, arguments);
2093
- }
2094
-
2095
- function curveAaveClaimRewards(_ref9) {
2096
- var comptrollerProxy = _ref9.comptrollerProxy,
2097
- integrationManager = _ref9.integrationManager,
2098
- fundOwner = _ref9.fundOwner,
2099
- curveLiquidityAaveAdapter = _ref9.curveLiquidityAaveAdapter;
2100
- var callArgs = protocol.callOnIntegrationArgs({
2101
- adapter: curveLiquidityAaveAdapter,
2102
- encodedCallArgs: ethers.constants.HashZero,
2103
- selector: protocol.claimRewardsSelector
2104
- });
2105
- return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2106
- }
2107
- function curveAaveLend(_ref10) {
2108
- var comptrollerProxy = _ref10.comptrollerProxy,
2109
- integrationManager = _ref10.integrationManager,
2110
- fundOwner = _ref10.fundOwner,
2111
- curveLiquidityAaveAdapter = _ref10.curveLiquidityAaveAdapter,
2112
- _ref10$outgoingAaveDa = _ref10.outgoingAaveDaiAmount,
2113
- outgoingAaveDaiAmount = _ref10$outgoingAaveDa === void 0 ? ethers.BigNumber.from(0) : _ref10$outgoingAaveDa,
2114
- _ref10$outgoingAaveUs = _ref10.outgoingAaveUsdcAmount,
2115
- outgoingAaveUsdcAmount = _ref10$outgoingAaveUs === void 0 ? ethers.BigNumber.from(0) : _ref10$outgoingAaveUs,
2116
- _ref10$outgoingAaveUs2 = _ref10.outgoingAaveUsdtAmount,
2117
- outgoingAaveUsdtAmount = _ref10$outgoingAaveUs2 === void 0 ? ethers.BigNumber.from(0) : _ref10$outgoingAaveUs2,
2118
- _ref10$minIncomingLPT = _ref10.minIncomingLPTokenAmount,
2119
- minIncomingLPTokenAmount = _ref10$minIncomingLPT === void 0 ? ethers.BigNumber.from(1) : _ref10$minIncomingLPT,
2120
- _ref10$useUnderlyings = _ref10.useUnderlyings,
2121
- useUnderlyings = _ref10$useUnderlyings === void 0 ? false : _ref10$useUnderlyings;
2122
- var callArgs = protocol.callOnIntegrationArgs({
2123
- adapter: curveLiquidityAaveAdapter,
2124
- encodedCallArgs: protocol.curveAaveLendArgs({
2125
- minIncomingLPTokenAmount: minIncomingLPTokenAmount,
2126
- outgoingAaveDaiAmount: outgoingAaveDaiAmount,
2127
- outgoingAaveUsdcAmount: outgoingAaveUsdcAmount,
2128
- outgoingAaveUsdtAmount: outgoingAaveUsdtAmount,
2129
- useUnderlyings: useUnderlyings
2130
- }),
2131
- selector: protocol.lendSelector
2132
- });
2133
- return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2134
- }
2135
- function curveAaveLendAndStake(_ref11) {
2136
- var comptrollerProxy = _ref11.comptrollerProxy,
2137
- integrationManager = _ref11.integrationManager,
2138
- fundOwner = _ref11.fundOwner,
2139
- curveLiquidityAaveAdapter = _ref11.curveLiquidityAaveAdapter,
2140
- _ref11$outgoingAaveDa = _ref11.outgoingAaveDaiAmount,
2141
- outgoingAaveDaiAmount = _ref11$outgoingAaveDa === void 0 ? ethers.BigNumber.from(0) : _ref11$outgoingAaveDa,
2142
- _ref11$outgoingAaveUs = _ref11.outgoingAaveUsdcAmount,
2143
- outgoingAaveUsdcAmount = _ref11$outgoingAaveUs === void 0 ? ethers.BigNumber.from(0) : _ref11$outgoingAaveUs,
2144
- _ref11$outgoingAaveUs2 = _ref11.outgoingAaveUsdtAmount,
2145
- outgoingAaveUsdtAmount = _ref11$outgoingAaveUs2 === void 0 ? ethers.BigNumber.from(0) : _ref11$outgoingAaveUs2,
2146
- _ref11$minIncomingLiq = _ref11.minIncomingLiquidityGaugeTokenAmount,
2147
- minIncomingLiquidityGaugeTokenAmount = _ref11$minIncomingLiq === void 0 ? ethers.BigNumber.from(1) : _ref11$minIncomingLiq,
2148
- _ref11$useUnderlyings = _ref11.useUnderlyings,
2149
- useUnderlyings = _ref11$useUnderlyings === void 0 ? false : _ref11$useUnderlyings;
2150
- var callArgs = protocol.callOnIntegrationArgs({
2151
- adapter: curveLiquidityAaveAdapter,
2152
- encodedCallArgs: protocol.curveAaveLendAndStakeArgs({
2153
- minIncomingLiquidityGaugeTokenAmount: minIncomingLiquidityGaugeTokenAmount,
2154
- outgoingAaveDaiAmount: outgoingAaveDaiAmount,
2155
- outgoingAaveUsdcAmount: outgoingAaveUsdcAmount,
2156
- outgoingAaveUsdtAmount: outgoingAaveUsdtAmount,
2157
- useUnderlyings: useUnderlyings
2158
- }),
2159
- selector: protocol.lendAndStakeSelector
2160
- });
2161
- return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2162
- }
2163
- function curveAaveRedeem(_ref12) {
2164
- var comptrollerProxy = _ref12.comptrollerProxy,
2165
- integrationManager = _ref12.integrationManager,
2166
- fundOwner = _ref12.fundOwner,
2167
- curveLiquidityAaveAdapter = _ref12.curveLiquidityAaveAdapter,
2168
- outgoingLPTokenAmount = _ref12.outgoingLPTokenAmount,
2169
- _ref12$minIncomingAav = _ref12.minIncomingAaveDaiAmount,
2170
- minIncomingAaveDaiAmount = _ref12$minIncomingAav === void 0 ? ethers.BigNumber.from(1) : _ref12$minIncomingAav,
2171
- _ref12$minIncomingAav2 = _ref12.minIncomingAaveUsdcAmount,
2172
- minIncomingAaveUsdcAmount = _ref12$minIncomingAav2 === void 0 ? ethers.BigNumber.from(1) : _ref12$minIncomingAav2,
2173
- _ref12$minIncomingAav3 = _ref12.minIncomingAaveUsdtAmount,
2174
- minIncomingAaveUsdtAmount = _ref12$minIncomingAav3 === void 0 ? ethers.BigNumber.from(1) : _ref12$minIncomingAav3,
2175
- _ref12$receiveSingleA = _ref12.receiveSingleAsset,
2176
- receiveSingleAsset = _ref12$receiveSingleA === void 0 ? false : _ref12$receiveSingleA,
2177
- _ref12$useUnderlyings = _ref12.useUnderlyings,
2178
- useUnderlyings = _ref12$useUnderlyings === void 0 ? false : _ref12$useUnderlyings;
2179
- var callArgs = protocol.callOnIntegrationArgs({
2180
- adapter: curveLiquidityAaveAdapter,
2181
- encodedCallArgs: protocol.curveAaveRedeemArgs({
2182
- minIncomingAaveDaiAmount: minIncomingAaveDaiAmount,
2183
- minIncomingAaveUsdcAmount: minIncomingAaveUsdcAmount,
2184
- minIncomingAaveUsdtAmount: minIncomingAaveUsdtAmount,
2185
- outgoingLPTokenAmount: outgoingLPTokenAmount,
2186
- receiveSingleAsset: receiveSingleAsset,
2187
- useUnderlyings: useUnderlyings
2188
- }),
2189
- selector: protocol.redeemSelector
2190
- });
2191
- return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2192
- }
2193
- function curveAaveStake(_ref13) {
2194
- var comptrollerProxy = _ref13.comptrollerProxy,
2195
- integrationManager = _ref13.integrationManager,
2196
- fundOwner = _ref13.fundOwner,
2197
- curveLiquidityAaveAdapter = _ref13.curveLiquidityAaveAdapter,
2198
- outgoingLPTokenAmount = _ref13.outgoingLPTokenAmount;
2199
- var callArgs = protocol.callOnIntegrationArgs({
2200
- adapter: curveLiquidityAaveAdapter,
2201
- encodedCallArgs: protocol.curveAaveStakeArgs({
2202
- outgoingLPTokenAmount: outgoingLPTokenAmount
2203
- }),
2204
- selector: protocol.stakeSelector
2205
- });
2206
- return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2207
- }
2208
- function curveAaveUnstakeAndRedeem(_ref14) {
2209
- var comptrollerProxy = _ref14.comptrollerProxy,
2210
- integrationManager = _ref14.integrationManager,
2211
- fundOwner = _ref14.fundOwner,
2212
- curveLiquidityAaveAdapter = _ref14.curveLiquidityAaveAdapter,
2213
- outgoingLiquidityGaugeTokenAmount = _ref14.outgoingLiquidityGaugeTokenAmount,
2214
- _ref14$minIncomingAav = _ref14.minIncomingAaveDaiAmount,
2215
- minIncomingAaveDaiAmount = _ref14$minIncomingAav === void 0 ? ethers.BigNumber.from(1) : _ref14$minIncomingAav,
2216
- _ref14$minIncomingAav2 = _ref14.minIncomingAaveUsdcAmount,
2217
- minIncomingAaveUsdcAmount = _ref14$minIncomingAav2 === void 0 ? ethers.BigNumber.from(1) : _ref14$minIncomingAav2,
2218
- _ref14$minIncomingAav3 = _ref14.minIncomingAaveUsdtAmount,
2219
- minIncomingAaveUsdtAmount = _ref14$minIncomingAav3 === void 0 ? ethers.BigNumber.from(1) : _ref14$minIncomingAav3,
2220
- _ref14$receiveSingleA = _ref14.receiveSingleAsset,
2221
- receiveSingleAsset = _ref14$receiveSingleA === void 0 ? false : _ref14$receiveSingleA,
2222
- _ref14$useUnderlyings = _ref14.useUnderlyings,
2223
- useUnderlyings = _ref14$useUnderlyings === void 0 ? false : _ref14$useUnderlyings;
2224
- var callArgs = protocol.callOnIntegrationArgs({
2225
- adapter: curveLiquidityAaveAdapter,
2226
- encodedCallArgs: protocol.curveAaveUnstakeAndRedeemArgs({
2227
- minIncomingAaveDaiAmount: minIncomingAaveDaiAmount,
2228
- minIncomingAaveUsdcAmount: minIncomingAaveUsdcAmount,
2229
- minIncomingAaveUsdtAmount: minIncomingAaveUsdtAmount,
2230
- outgoingLiquidityGaugeTokenAmount: outgoingLiquidityGaugeTokenAmount,
2231
- receiveSingleAsset: receiveSingleAsset,
2232
- useUnderlyings: useUnderlyings
2233
- }),
2234
- selector: protocol.unstakeAndRedeemSelector
2235
- });
2236
- return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2237
- }
2238
- function curveAaveUnstake(_ref15) {
2239
- var comptrollerProxy = _ref15.comptrollerProxy,
2240
- integrationManager = _ref15.integrationManager,
2241
- fundOwner = _ref15.fundOwner,
2242
- curveLiquidityAaveAdapter = _ref15.curveLiquidityAaveAdapter,
2243
- outgoingLiquidityGaugeTokenAmount = _ref15.outgoingLiquidityGaugeTokenAmount;
2244
- var callArgs = protocol.callOnIntegrationArgs({
2245
- adapter: curveLiquidityAaveAdapter,
2246
- encodedCallArgs: protocol.curveAaveUnstakeArgs({
2247
- outgoingLiquidityGaugeTokenAmount: outgoingLiquidityGaugeTokenAmount
2248
- }),
2249
- selector: protocol.unstakeSelector
2250
- });
2251
- return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2252
- } // sETH pool
2253
-
2254
- function curveSethClaimRewards(_ref16) {
2255
- var comptrollerProxy = _ref16.comptrollerProxy,
2256
- integrationManager = _ref16.integrationManager,
2257
- fundOwner = _ref16.fundOwner,
2258
- curveLiquiditySethAdapter = _ref16.curveLiquiditySethAdapter;
2259
- var callArgs = protocol.callOnIntegrationArgs({
2260
- adapter: curveLiquiditySethAdapter,
2261
- encodedCallArgs: ethers.constants.HashZero,
2262
- selector: protocol.claimRewardsSelector
2263
- });
2264
- return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2265
- }
2266
- function curveSethLend(_ref17) {
2267
- var comptrollerProxy = _ref17.comptrollerProxy,
2268
- integrationManager = _ref17.integrationManager,
2269
- fundOwner = _ref17.fundOwner,
2270
- curveLiquiditySethAdapter = _ref17.curveLiquiditySethAdapter,
2271
- outgoingWethAmount = _ref17.outgoingWethAmount,
2272
- outgoingSethAmount = _ref17.outgoingSethAmount,
2273
- minIncomingLPTokenAmount = _ref17.minIncomingLPTokenAmount;
2274
- var callArgs = protocol.callOnIntegrationArgs({
2275
- adapter: curveLiquiditySethAdapter,
2276
- encodedCallArgs: protocol.curveSethLendArgs({
2277
- minIncomingLPTokenAmount: minIncomingLPTokenAmount,
2278
- outgoingSethAmount: outgoingSethAmount,
2279
- outgoingWethAmount: outgoingWethAmount
2280
- }),
2281
- selector: protocol.lendSelector
2282
- });
2283
- return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2284
- }
2285
- function curveSethLendAndStake(_ref18) {
2286
- var comptrollerProxy = _ref18.comptrollerProxy,
2287
- integrationManager = _ref18.integrationManager,
2288
- fundOwner = _ref18.fundOwner,
2289
- curveLiquiditySethAdapter = _ref18.curveLiquiditySethAdapter,
2290
- outgoingWethAmount = _ref18.outgoingWethAmount,
2291
- outgoingSethAmount = _ref18.outgoingSethAmount,
2292
- minIncomingLiquidityGaugeTokenAmount = _ref18.minIncomingLiquidityGaugeTokenAmount;
2293
- var callArgs = protocol.callOnIntegrationArgs({
2294
- adapter: curveLiquiditySethAdapter,
2295
- encodedCallArgs: protocol.curveSethLendAndStakeArgs({
2296
- minIncomingLiquidityGaugeTokenAmount: minIncomingLiquidityGaugeTokenAmount,
2297
- outgoingSethAmount: outgoingSethAmount,
2298
- outgoingWethAmount: outgoingWethAmount
2299
- }),
2300
- selector: protocol.lendAndStakeSelector
2301
- });
2302
- return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2303
- }
2304
- function curveSethRedeem(_ref19) {
2305
- var comptrollerProxy = _ref19.comptrollerProxy,
2306
- integrationManager = _ref19.integrationManager,
2307
- fundOwner = _ref19.fundOwner,
2308
- curveLiquiditySethAdapter = _ref19.curveLiquiditySethAdapter,
2309
- outgoingLPTokenAmount = _ref19.outgoingLPTokenAmount,
2310
- minIncomingWethAmount = _ref19.minIncomingWethAmount,
2311
- minIncomingSethAmount = _ref19.minIncomingSethAmount,
2312
- receiveSingleAsset = _ref19.receiveSingleAsset;
2313
- var callArgs = protocol.callOnIntegrationArgs({
2314
- adapter: curveLiquiditySethAdapter,
2315
- encodedCallArgs: protocol.curveSethRedeemArgs({
2316
- minIncomingSethAmount: minIncomingSethAmount,
2317
- minIncomingWethAmount: minIncomingWethAmount,
2318
- outgoingLPTokenAmount: outgoingLPTokenAmount,
2319
- receiveSingleAsset: receiveSingleAsset
2320
- }),
2321
- selector: protocol.redeemSelector
2322
- });
2323
- return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2324
- }
2325
- function curveSethStake(_ref20) {
2326
- var comptrollerProxy = _ref20.comptrollerProxy,
2327
- integrationManager = _ref20.integrationManager,
2328
- fundOwner = _ref20.fundOwner,
2329
- curveLiquiditySethAdapter = _ref20.curveLiquiditySethAdapter,
2330
- outgoingLPTokenAmount = _ref20.outgoingLPTokenAmount;
2331
- var callArgs = protocol.callOnIntegrationArgs({
2332
- adapter: curveLiquiditySethAdapter,
2333
- encodedCallArgs: protocol.curveSethStakeArgs({
2334
- outgoingLPTokenAmount: outgoingLPTokenAmount
2335
- }),
2336
- selector: protocol.stakeSelector
2337
- });
2338
- return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2339
- }
2340
- function curveSethUnstakeAndRedeem(_ref21) {
2341
- var comptrollerProxy = _ref21.comptrollerProxy,
2342
- integrationManager = _ref21.integrationManager,
2343
- fundOwner = _ref21.fundOwner,
2344
- curveLiquiditySethAdapter = _ref21.curveLiquiditySethAdapter,
2345
- outgoingLiquidityGaugeTokenAmount = _ref21.outgoingLiquidityGaugeTokenAmount,
2346
- minIncomingWethAmount = _ref21.minIncomingWethAmount,
2347
- minIncomingSethAmount = _ref21.minIncomingSethAmount,
2348
- receiveSingleAsset = _ref21.receiveSingleAsset;
2349
- var callArgs = protocol.callOnIntegrationArgs({
2350
- adapter: curveLiquiditySethAdapter,
2351
- encodedCallArgs: protocol.curveSethUnstakeAndRedeemArgs({
2352
- minIncomingSethAmount: minIncomingSethAmount,
2353
- minIncomingWethAmount: minIncomingWethAmount,
2354
- outgoingLiquidityGaugeTokenAmount: outgoingLiquidityGaugeTokenAmount,
2355
- receiveSingleAsset: receiveSingleAsset
2356
- }),
2357
- selector: protocol.unstakeAndRedeemSelector
2358
- });
2359
- return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2360
- }
2361
- function curveSethUnstake(_ref22) {
2362
- var comptrollerProxy = _ref22.comptrollerProxy,
2363
- integrationManager = _ref22.integrationManager,
2364
- fundOwner = _ref22.fundOwner,
2365
- curveLiquiditySethAdapter = _ref22.curveLiquiditySethAdapter,
2366
- outgoingLiquidityGaugeTokenAmount = _ref22.outgoingLiquidityGaugeTokenAmount;
2367
- var callArgs = protocol.callOnIntegrationArgs({
2368
- adapter: curveLiquiditySethAdapter,
2369
- encodedCallArgs: protocol.curveSethUnstakeArgs({
2370
- outgoingLiquidityGaugeTokenAmount: outgoingLiquidityGaugeTokenAmount
2371
- }),
2372
- selector: protocol.unstakeSelector
2373
- });
2374
- return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2375
- } // stETH pool
2376
-
2377
- function curveStethClaimRewards(_ref23) {
2378
- var comptrollerProxy = _ref23.comptrollerProxy,
2379
- integrationManager = _ref23.integrationManager,
2380
- fundOwner = _ref23.fundOwner,
2381
- curveLiquidityStethAdapter = _ref23.curveLiquidityStethAdapter;
2382
- var callArgs = protocol.callOnIntegrationArgs({
2383
- adapter: curveLiquidityStethAdapter,
2384
- encodedCallArgs: ethers.constants.HashZero,
2385
- selector: protocol.claimRewardsSelector
2386
- });
2387
- return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2388
- }
2389
- function curveStethLend(_ref24) {
2390
- var comptrollerProxy = _ref24.comptrollerProxy,
2391
- integrationManager = _ref24.integrationManager,
2392
- fundOwner = _ref24.fundOwner,
2393
- curveLiquidityStethAdapter = _ref24.curveLiquidityStethAdapter,
2394
- outgoingWethAmount = _ref24.outgoingWethAmount,
2395
- outgoingStethAmount = _ref24.outgoingStethAmount,
2396
- minIncomingLPTokenAmount = _ref24.minIncomingLPTokenAmount;
2397
- var callArgs = protocol.callOnIntegrationArgs({
2398
- adapter: curveLiquidityStethAdapter,
2399
- encodedCallArgs: protocol.curveStethLendArgs({
2400
- minIncomingLPTokenAmount: minIncomingLPTokenAmount,
2401
- outgoingStethAmount: outgoingStethAmount,
2402
- outgoingWethAmount: outgoingWethAmount
2403
- }),
2404
- selector: protocol.lendSelector
2405
- });
2406
- return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2407
- }
2408
- function curveStethLendAndStake(_ref25) {
2409
- var comptrollerProxy = _ref25.comptrollerProxy,
2410
- integrationManager = _ref25.integrationManager,
2411
- fundOwner = _ref25.fundOwner,
2412
- curveLiquidityStethAdapter = _ref25.curveLiquidityStethAdapter,
2413
- outgoingWethAmount = _ref25.outgoingWethAmount,
2414
- outgoingStethAmount = _ref25.outgoingStethAmount,
2415
- minIncomingLiquidityGaugeTokenAmount = _ref25.minIncomingLiquidityGaugeTokenAmount;
2416
- var callArgs = protocol.callOnIntegrationArgs({
2417
- adapter: curveLiquidityStethAdapter,
2418
- encodedCallArgs: protocol.curveStethLendAndStakeArgs({
2419
- minIncomingLiquidityGaugeTokenAmount: minIncomingLiquidityGaugeTokenAmount,
2420
- outgoingStethAmount: outgoingStethAmount,
2421
- outgoingWethAmount: outgoingWethAmount
2422
- }),
2423
- selector: protocol.lendAndStakeSelector
2424
- });
2425
- return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2426
- }
2427
- function curveStethRedeem(_ref26) {
2428
- var comptrollerProxy = _ref26.comptrollerProxy,
2429
- integrationManager = _ref26.integrationManager,
2430
- fundOwner = _ref26.fundOwner,
2431
- curveLiquidityStethAdapter = _ref26.curveLiquidityStethAdapter,
2432
- outgoingLPTokenAmount = _ref26.outgoingLPTokenAmount,
2433
- minIncomingWethAmount = _ref26.minIncomingWethAmount,
2434
- minIncomingStethAmount = _ref26.minIncomingStethAmount,
2435
- receiveSingleAsset = _ref26.receiveSingleAsset;
2436
- var callArgs = protocol.callOnIntegrationArgs({
2437
- adapter: curveLiquidityStethAdapter,
2438
- encodedCallArgs: protocol.curveStethRedeemArgs({
2439
- minIncomingStethAmount: minIncomingStethAmount,
2440
- minIncomingWethAmount: minIncomingWethAmount,
2441
- outgoingLPTokenAmount: outgoingLPTokenAmount,
2442
- receiveSingleAsset: receiveSingleAsset
2443
- }),
2444
- selector: protocol.redeemSelector
2445
- });
2446
- return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2447
- }
2448
- function curveStethStake(_ref27) {
2449
- var comptrollerProxy = _ref27.comptrollerProxy,
2450
- integrationManager = _ref27.integrationManager,
2451
- fundOwner = _ref27.fundOwner,
2452
- curveLiquidityStethAdapter = _ref27.curveLiquidityStethAdapter,
2453
- outgoingLPTokenAmount = _ref27.outgoingLPTokenAmount;
2454
- var callArgs = protocol.callOnIntegrationArgs({
2455
- adapter: curveLiquidityStethAdapter,
2456
- encodedCallArgs: protocol.curveStethStakeArgs({
2457
- outgoingLPTokenAmount: outgoingLPTokenAmount
2458
- }),
2459
- selector: protocol.stakeSelector
2460
- });
2461
- return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2462
- }
2463
- function curveStethUnstakeAndRedeem(_ref28) {
2464
- var comptrollerProxy = _ref28.comptrollerProxy,
2465
- integrationManager = _ref28.integrationManager,
2466
- fundOwner = _ref28.fundOwner,
2467
- curveLiquidityStethAdapter = _ref28.curveLiquidityStethAdapter,
2468
- outgoingLiquidityGaugeTokenAmount = _ref28.outgoingLiquidityGaugeTokenAmount,
2469
- minIncomingWethAmount = _ref28.minIncomingWethAmount,
2470
- minIncomingStethAmount = _ref28.minIncomingStethAmount,
2471
- receiveSingleAsset = _ref28.receiveSingleAsset;
2472
- var callArgs = protocol.callOnIntegrationArgs({
2473
- adapter: curveLiquidityStethAdapter,
2474
- encodedCallArgs: protocol.curveStethUnstakeAndRedeemArgs({
2475
- minIncomingStethAmount: minIncomingStethAmount,
2476
- minIncomingWethAmount: minIncomingWethAmount,
2477
- outgoingLiquidityGaugeTokenAmount: outgoingLiquidityGaugeTokenAmount,
2478
- receiveSingleAsset: receiveSingleAsset
2479
- }),
2480
- selector: protocol.unstakeAndRedeemSelector
2481
- });
2482
- return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2483
- }
2484
- function curveStethUnstake(_ref29) {
2485
- var comptrollerProxy = _ref29.comptrollerProxy,
2486
- integrationManager = _ref29.integrationManager,
2487
- fundOwner = _ref29.fundOwner,
2488
- curveLiquidityStethAdapter = _ref29.curveLiquidityStethAdapter,
2489
- outgoingLiquidityGaugeTokenAmount = _ref29.outgoingLiquidityGaugeTokenAmount;
2490
- var callArgs = protocol.callOnIntegrationArgs({
2491
- adapter: curveLiquidityStethAdapter,
2492
- encodedCallArgs: protocol.curveStethUnstakeArgs({
2493
- outgoingLiquidityGaugeTokenAmount: outgoingLiquidityGaugeTokenAmount
2494
- }),
2495
- selector: protocol.unstakeSelector
2496
- });
2497
- return comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2498
- }
2499
-
2500
- function idleClaimRewards(_x) {
2501
- return _idleClaimRewards.apply(this, arguments);
2502
- }
2503
-
2504
- function _idleClaimRewards() {
2505
- _idleClaimRewards = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
2506
- var comptrollerProxy, integrationManager, fundOwner, idleAdapter, idleToken, callArgs;
2507
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
2508
- while (1) {
2509
- switch (_context.prev = _context.next) {
2510
- case 0:
2511
- comptrollerProxy = _ref.comptrollerProxy, integrationManager = _ref.integrationManager, fundOwner = _ref.fundOwner, idleAdapter = _ref.idleAdapter, idleToken = _ref.idleToken;
2512
- callArgs = protocol.callOnIntegrationArgs({
2513
- adapter: idleAdapter,
2514
- encodedCallArgs: protocol.idleClaimRewardsArgs({
2515
- idleToken: idleToken
2516
- }),
2517
- selector: protocol.claimRewardsSelector
2518
- });
2519
- return _context.abrupt("return", comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
2520
-
2521
- case 3:
2522
- case "end":
2523
- return _context.stop();
2524
- }
2525
- }
2526
- }, _callee);
2527
- }));
2528
- return _idleClaimRewards.apply(this, arguments);
2529
- }
2530
-
2531
- function idleLend(_x2) {
2532
- return _idleLend.apply(this, arguments);
2533
- }
2534
-
2535
- function _idleLend() {
2536
- _idleLend = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(_ref2) {
2537
- var comptrollerProxy, integrationManager, fundOwner, idleAdapter, idleToken, outgoingUnderlyingAmount, _ref2$minIncomingIdle, minIncomingIdleTokenAmount, callArgs;
2538
-
2539
- return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
2540
- while (1) {
2541
- switch (_context2.prev = _context2.next) {
2542
- case 0:
2543
- 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;
2544
- callArgs = protocol.callOnIntegrationArgs({
2545
- adapter: idleAdapter,
2546
- encodedCallArgs: protocol.idleLendArgs({
2547
- idleToken: idleToken,
2548
- minIncomingIdleTokenAmount: minIncomingIdleTokenAmount,
2549
- outgoingUnderlyingAmount: outgoingUnderlyingAmount
2550
- }),
2551
- selector: protocol.lendSelector
2552
- });
2553
- return _context2.abrupt("return", comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
2554
-
2555
- case 3:
2556
- case "end":
2557
- return _context2.stop();
2558
- }
2559
- }
2560
- }, _callee2);
2561
- }));
2562
- return _idleLend.apply(this, arguments);
2563
- }
2564
-
2565
- function idleRedeem(_x3) {
2566
- return _idleRedeem.apply(this, arguments);
2567
- }
2568
-
2569
- function _idleRedeem() {
2570
- _idleRedeem = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee3(_ref3) {
2571
- var comptrollerProxy, integrationManager, fundOwner, idleAdapter, idleToken, outgoingIdleTokenAmount, _ref3$minIncomingUnde, minIncomingUnderlyingAmount, callArgs;
2572
-
2573
- return _regeneratorRuntime__default['default'].wrap(function _callee3$(_context3) {
2574
- while (1) {
2575
- switch (_context3.prev = _context3.next) {
2576
- case 0:
2577
- 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;
2578
- callArgs = protocol.callOnIntegrationArgs({
2579
- adapter: idleAdapter,
2580
- encodedCallArgs: protocol.idleRedeemArgs({
2581
- idleToken: idleToken,
2582
- minIncomingUnderlyingAmount: minIncomingUnderlyingAmount,
2583
- outgoingIdleTokenAmount: outgoingIdleTokenAmount
2584
- }),
2585
- selector: protocol.redeemSelector
2586
- });
2587
- return _context3.abrupt("return", comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
2588
-
2589
- case 3:
2590
- case "end":
2591
- return _context3.stop();
2592
- }
2593
- }
2594
- }, _callee3);
2595
- }));
2596
- return _idleRedeem.apply(this, arguments);
2597
- }
2598
-
2599
- var mockGenericRemoveOnlySelector = protocol.sighash(ethers.utils.FunctionFragment.fromString('removeOnly(address,bytes,bytes)'));
2600
- var mockGenericSwapASelector = protocol.sighash(ethers.utils.FunctionFragment.fromString('swapA(address,bytes,bytes)'));
2601
- var mockGenericSwapBSelector = protocol.sighash(ethers.utils.FunctionFragment.fromString('swapB(address,bytes,bytes)'));
2602
- var mockGenericSwapDirectFromVaultSelector = protocol.sighash(ethers.utils.FunctionFragment.fromString('swapDirectFromVault(address,bytes,bytes)'));
2603
- var mockGenericSwapViaApprovalSelector = protocol.sighash(ethers.utils.FunctionFragment.fromString('swapViaApproval(address,bytes,bytes)'));
2604
- function mockGenericSwapArgs(_ref) {
2605
- var _ref$spendAssets = _ref.spendAssets,
2606
- spendAssets = _ref$spendAssets === void 0 ? [] : _ref$spendAssets,
2607
- _ref$actualSpendAsset = _ref.actualSpendAssetAmounts,
2608
- actualSpendAssetAmounts = _ref$actualSpendAsset === void 0 ? [] : _ref$actualSpendAsset,
2609
- _ref$maxSpendAssetAmo = _ref.maxSpendAssetAmounts,
2610
- maxSpendAssetAmounts = _ref$maxSpendAssetAmo === void 0 ? actualSpendAssetAmounts : _ref$maxSpendAssetAmo,
2611
- _ref$incomingAssets = _ref.incomingAssets,
2612
- incomingAssets = _ref$incomingAssets === void 0 ? [] : _ref$incomingAssets,
2613
- _ref$actualIncomingAs = _ref.actualIncomingAssetAmounts,
2614
- actualIncomingAssetAmounts = _ref$actualIncomingAs === void 0 ? [] : _ref$actualIncomingAs,
2615
- _ref$minIncomingAsset = _ref.minIncomingAssetAmounts,
2616
- minIncomingAssetAmounts = _ref$minIncomingAsset === void 0 ? actualIncomingAssetAmounts : _ref$minIncomingAsset;
2617
- return protocol.encodeArgs(['address[]', 'uint256[]', 'uint256[]', 'address[]', 'uint256[]', 'uint256[]'], [spendAssets, maxSpendAssetAmounts, actualSpendAssetAmounts, incomingAssets, minIncomingAssetAmounts, actualIncomingAssetAmounts]);
2618
- }
2619
- function mockGenericSwap(_x) {
2620
- return _mockGenericSwap.apply(this, arguments);
2621
- }
2622
-
2623
- function _mockGenericSwap() {
2624
- _mockGenericSwap = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref2) {
2625
- 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;
2626
-
2627
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
2628
- while (1) {
2629
- switch (_context.prev = _context.next) {
2630
- case 0:
2631
- 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;
2632
-
2633
- if (!seedFund) {
2634
- _context.next = 9;
2635
- break;
2636
- }
2637
-
2638
- _context.t0 = _regeneratorRuntime__default['default'].keys(spendAssets);
2639
-
2640
- case 3:
2641
- if ((_context.t1 = _context.t0()).done) {
2642
- _context.next = 9;
2643
- break;
2644
- }
2645
-
2646
- key = _context.t1.value;
2647
- _context.next = 7;
2648
- return spendAssets[key].transfer(vaultProxy, maxSpendAssetAmounts[key]);
2649
-
2650
- case 7:
2651
- _context.next = 3;
2652
- break;
2653
-
2654
- case 9:
2655
- swapArgs = mockGenericSwapArgs({
2656
- actualIncomingAssetAmounts: actualIncomingAssetAmounts,
2657
- actualSpendAssetAmounts: actualSpendAssetAmounts,
2658
- incomingAssets: incomingAssets,
2659
- maxSpendAssetAmounts: maxSpendAssetAmounts,
2660
- minIncomingAssetAmounts: minIncomingAssetAmounts,
2661
- spendAssets: spendAssets
2662
- });
2663
- callArgs = protocol.callOnIntegrationArgs({
2664
- adapter: mockGenericAdapter,
2665
- encodedCallArgs: swapArgs,
2666
- selector: selector
2667
- });
2668
- swapTx = comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2669
- _context.next = 14;
2670
- return expect(swapTx).resolves.toBeReceipt();
2671
-
2672
- case 14:
2673
- return _context.abrupt("return", swapTx);
2674
-
2675
- case 15:
2676
- case "end":
2677
- return _context.stop();
2678
- }
2679
- }
2680
- }, _callee);
2681
- }));
2682
- return _mockGenericSwap.apply(this, arguments);
2683
- }
2684
-
2685
- function olympusV2Stake(_x) {
2686
- return _olympusV2Stake.apply(this, arguments);
2687
- }
2688
-
2689
- function _olympusV2Stake() {
2690
- _olympusV2Stake = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
2691
- var comptrollerProxy, integrationManager, signer, olympusV2Adapter, amount, stakeArgs, callArgs, stakeTx;
2692
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
2693
- while (1) {
2694
- switch (_context.prev = _context.next) {
2695
- case 0:
2696
- comptrollerProxy = _ref.comptrollerProxy, integrationManager = _ref.integrationManager, signer = _ref.signer, olympusV2Adapter = _ref.olympusV2Adapter, amount = _ref.amount;
2697
- stakeArgs = protocol.olympusV2StakeArgs({
2698
- amount: amount
2699
- });
2700
- callArgs = protocol.callOnIntegrationArgs({
2701
- adapter: olympusV2Adapter,
2702
- encodedCallArgs: stakeArgs,
2703
- selector: protocol.stakeSelector
2704
- });
2705
- stakeTx = comptrollerProxy.connect(signer).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2706
- return _context.abrupt("return", stakeTx);
2707
-
2708
- case 5:
2709
- case "end":
2710
- return _context.stop();
2711
- }
2712
- }
2713
- }, _callee);
2714
- }));
2715
- return _olympusV2Stake.apply(this, arguments);
2716
- }
2717
-
2718
- function olympusV2Unstake(_x2) {
2719
- return _olympusV2Unstake.apply(this, arguments);
2720
- }
2721
-
2722
- function _olympusV2Unstake() {
2723
- _olympusV2Unstake = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(_ref2) {
2724
- var comptrollerProxy, integrationManager, signer, olympusV2Adapter, amount, unstakeArgs, callArgs, unstakeTx;
2725
- return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
2726
- while (1) {
2727
- switch (_context2.prev = _context2.next) {
2728
- case 0:
2729
- comptrollerProxy = _ref2.comptrollerProxy, integrationManager = _ref2.integrationManager, signer = _ref2.signer, olympusV2Adapter = _ref2.olympusV2Adapter, amount = _ref2.amount;
2730
- unstakeArgs = protocol.olympusV2UnstakeArgs({
2731
- amount: amount
2732
- });
2733
- callArgs = protocol.callOnIntegrationArgs({
2734
- adapter: olympusV2Adapter,
2735
- encodedCallArgs: unstakeArgs,
2736
- selector: protocol.unstakeSelector
2737
- });
2738
- unstakeTx = comptrollerProxy.connect(signer).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2739
- return _context2.abrupt("return", unstakeTx);
2740
-
2741
- case 5:
2742
- case "end":
2743
- return _context2.stop();
2744
- }
2745
- }
2746
- }, _callee2);
2747
- }));
2748
- return _olympusV2Unstake.apply(this, arguments);
2749
- }
2750
-
2751
- function paraSwapV4GenerateDummyPaths(_ref) {
2752
- var toTokens = _ref.toTokens;
2753
- return toTokens.map(function (toToken) {
2754
- return {
2755
- // Not supported in our protocol
2756
- routes: [],
2757
- to: toToken,
2758
- totalNetworkFee: 0 // Can ignore this param in the dummy
2759
-
2760
- };
2761
- });
2762
- }
2763
- function paraSwapV4TakeOrder(_x) {
2764
- return _paraSwapV4TakeOrder.apply(this, arguments);
2765
- }
2766
-
2767
- function _paraSwapV4TakeOrder() {
2768
- _paraSwapV4TakeOrder = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref2) {
2769
- var comptrollerProxy, integrationManager, fundOwner, paraSwapV4Adapter, outgoingAsset, _ref2$outgoingAssetAm, outgoingAssetAmount, _ref2$minIncomingAsse, minIncomingAssetAmount, _ref2$expectedIncomin, expectedIncomingAssetAmount, paths, takeOrderArgs, callArgs;
2770
-
2771
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
2772
- while (1) {
2773
- switch (_context.prev = _context.next) {
2774
- case 0:
2775
- comptrollerProxy = _ref2.comptrollerProxy, integrationManager = _ref2.integrationManager, fundOwner = _ref2.fundOwner, paraSwapV4Adapter = _ref2.paraSwapV4Adapter, outgoingAsset = _ref2.outgoingAsset, _ref2$outgoingAssetAm = _ref2.outgoingAssetAmount, outgoingAssetAmount = _ref2$outgoingAssetAm === void 0 ? ethers.utils.parseEther('1') : _ref2$outgoingAssetAm, _ref2$minIncomingAsse = _ref2.minIncomingAssetAmount, minIncomingAssetAmount = _ref2$minIncomingAsse === void 0 ? 1 : _ref2$minIncomingAsse, _ref2$expectedIncomin = _ref2.expectedIncomingAssetAmount, expectedIncomingAssetAmount = _ref2$expectedIncomin === void 0 ? minIncomingAssetAmount : _ref2$expectedIncomin, paths = _ref2.paths;
2776
- takeOrderArgs = protocol.paraSwapV4TakeOrderArgs({
2777
- expectedIncomingAssetAmount: expectedIncomingAssetAmount,
2778
- minIncomingAssetAmount: minIncomingAssetAmount,
2779
- outgoingAsset: outgoingAsset,
2780
- outgoingAssetAmount: outgoingAssetAmount,
2781
- paths: paths
2782
- });
2783
- callArgs = protocol.callOnIntegrationArgs({
2784
- adapter: paraSwapV4Adapter,
2785
- encodedCallArgs: takeOrderArgs,
2786
- selector: protocol.takeOrderSelector
2787
- });
2788
- return _context.abrupt("return", comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
2789
-
2790
- case 4:
2791
- case "end":
2792
- return _context.stop();
2793
- }
2794
- }
2795
- }, _callee);
2796
- }));
2797
- return _paraSwapV4TakeOrder.apply(this, arguments);
2798
- }
2799
-
2800
- function paraSwapV5GenerateDummyPaths(_ref) {
2801
- var toTokens = _ref.toTokens;
2802
- return toTokens.map(function (toToken) {
2803
- return {
2804
- // Not supported in our protocol
2805
- adapters: [],
2806
- to: toToken,
2807
- totalNetworkFee: 0 // Can ignore this param in the dummy
2808
-
2809
- };
2810
- });
2811
- }
2812
- function paraSwapV5TakeOrder(_x) {
2813
- return _paraSwapV5TakeOrder.apply(this, arguments);
2814
- }
2815
-
2816
- function _paraSwapV5TakeOrder() {
2817
- _paraSwapV5TakeOrder = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref2) {
2818
- var comptrollerProxy, integrationManager, fundOwner, paraSwapV5Adapter, outgoingAsset, outgoingAssetAmount, _ref2$minIncomingAsse, minIncomingAssetAmount, _ref2$expectedIncomin, expectedIncomingAssetAmount, _ref2$uuid, uuid, paths, takeOrderArgs, callArgs;
2819
-
2820
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
2821
- while (1) {
2822
- switch (_context.prev = _context.next) {
2823
- case 0:
2824
- 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;
2825
- takeOrderArgs = protocol.paraSwapV5TakeOrderArgs({
2826
- expectedIncomingAssetAmount: expectedIncomingAssetAmount,
2827
- minIncomingAssetAmount: minIncomingAssetAmount,
2828
- outgoingAsset: outgoingAsset,
2829
- outgoingAssetAmount: outgoingAssetAmount,
2830
- paths: paths,
2831
- uuid: uuid
2832
- });
2833
- callArgs = protocol.callOnIntegrationArgs({
2834
- adapter: paraSwapV5Adapter,
2835
- encodedCallArgs: takeOrderArgs,
2836
- selector: protocol.takeOrderSelector
2837
- });
2838
- return _context.abrupt("return", comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
2839
-
2840
- case 4:
2841
- case "end":
2842
- return _context.stop();
2843
- }
2844
- }
2845
- }, _callee);
2846
- }));
2847
- return _paraSwapV5TakeOrder.apply(this, arguments);
2848
- }
2849
-
2850
- function poolTogetherV4Lend(_x) {
2851
- return _poolTogetherV4Lend.apply(this, arguments);
2852
- }
2853
-
2854
- function _poolTogetherV4Lend() {
2855
- _poolTogetherV4Lend = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
2856
- var comptrollerProxy, integrationManager, fundOwner, poolTogetherV4Adapter, ptToken, _ref$amount, amount, lendArgs, callArgs, lendTx;
2857
-
2858
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
2859
- while (1) {
2860
- switch (_context.prev = _context.next) {
2861
- case 0:
2862
- 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;
2863
- lendArgs = protocol.poolTogetherV4LendArgs({
2864
- amount: amount,
2865
- ptToken: ptToken
2866
- });
2867
- callArgs = protocol.callOnIntegrationArgs({
2868
- adapter: poolTogetherV4Adapter,
2869
- encodedCallArgs: lendArgs,
2870
- selector: protocol.lendSelector
2871
- });
2872
- lendTx = comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2873
- return _context.abrupt("return", lendTx);
2874
-
2875
- case 5:
2876
- case "end":
2877
- return _context.stop();
2878
- }
2879
- }
2880
- }, _callee);
2881
- }));
2882
- return _poolTogetherV4Lend.apply(this, arguments);
2883
- }
2884
-
2885
- function poolTogetherV4Redeem(_x2) {
2886
- return _poolTogetherV4Redeem.apply(this, arguments);
2887
- }
2888
-
2889
- function _poolTogetherV4Redeem() {
2890
- _poolTogetherV4Redeem = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(_ref2) {
2891
- var comptrollerProxy, integrationManager, fundOwner, poolTogetherV4Adapter, ptToken, _ref2$amount, amount, redeemArgs, callArgs, redeemTx;
2892
-
2893
- return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
2894
- while (1) {
2895
- switch (_context2.prev = _context2.next) {
2896
- case 0:
2897
- 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;
2898
- redeemArgs = protocol.poolTogetherV4RedeemArgs({
2899
- amount: amount,
2900
- ptToken: ptToken
2901
- });
2902
- callArgs = protocol.callOnIntegrationArgs({
2903
- adapter: poolTogetherV4Adapter,
2904
- encodedCallArgs: redeemArgs,
2905
- selector: protocol.redeemSelector
2906
- });
2907
- redeemTx = comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2908
- return _context2.abrupt("return", redeemTx);
2909
-
2910
- case 5:
2911
- case "end":
2912
- return _context2.stop();
2913
- }
2914
- }
2915
- }, _callee2);
2916
- }));
2917
- return _poolTogetherV4Redeem.apply(this, arguments);
2918
- }
2919
-
2920
- function poolTogetherV4ClaimRewards(_x3) {
2921
- return _poolTogetherV4ClaimRewards.apply(this, arguments);
2922
- }
2923
-
2924
- function _poolTogetherV4ClaimRewards() {
2925
- _poolTogetherV4ClaimRewards = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee3(_ref3) {
2926
- var comptrollerProxy, integrationManager, fundOwner, poolTogetherV4Adapter, prizeDistributor, drawIds, winningPicks, claimRewardsArgs, callArgs, claimTx;
2927
- return _regeneratorRuntime__default['default'].wrap(function _callee3$(_context3) {
2928
- while (1) {
2929
- switch (_context3.prev = _context3.next) {
2930
- case 0:
2931
- comptrollerProxy = _ref3.comptrollerProxy, integrationManager = _ref3.integrationManager, fundOwner = _ref3.fundOwner, poolTogetherV4Adapter = _ref3.poolTogetherV4Adapter, prizeDistributor = _ref3.prizeDistributor, drawIds = _ref3.drawIds, winningPicks = _ref3.winningPicks;
2932
- claimRewardsArgs = protocol.poolTogetherV4ClaimRewardsArgs({
2933
- drawIds: drawIds,
2934
- prizeDistributor: prizeDistributor,
2935
- winningPicks: winningPicks
2936
- });
2937
- callArgs = protocol.callOnIntegrationArgs({
2938
- adapter: poolTogetherV4Adapter,
2939
- encodedCallArgs: claimRewardsArgs,
2940
- selector: protocol.claimRewardsSelector
2941
- });
2942
- claimTx = comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2943
- return _context3.abrupt("return", claimTx);
2944
-
2945
- case 5:
2946
- case "end":
2947
- return _context3.stop();
2948
- }
2949
- }
2950
- }, _callee3);
2951
- }));
2952
- return _poolTogetherV4ClaimRewards.apply(this, arguments);
2953
- }
2954
-
2955
- function synthetixAssignExchangeDelegate(_x) {
2956
- return _synthetixAssignExchangeDelegate.apply(this, arguments);
2957
- }
2958
-
2959
- function _synthetixAssignExchangeDelegate() {
2960
- _synthetixAssignExchangeDelegate = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
2961
- var comptrollerProxy, synthetixDelegateApprovals, fundOwner, delegate;
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, synthetixDelegateApprovals = _ref.synthetixDelegateApprovals, fundOwner = _ref.fundOwner, delegate = _ref.delegate;
2967
- _context.next = 3;
2968
- return comptrollerProxy.connect(fundOwner).vaultCallOnContract(synthetixDelegateApprovals, protocol.synthetixAssignExchangeDelegateSelector, protocol.encodeArgs(['address'], [delegate]));
2969
-
2970
- case 3:
2971
- case "end":
2972
- return _context.stop();
2973
- }
2974
- }
2975
- }, _callee);
2976
- }));
2977
- return _synthetixAssignExchangeDelegate.apply(this, arguments);
2978
- }
2979
-
2980
- function synthetixRedeem(_x2) {
2981
- return _synthetixRedeem.apply(this, arguments);
2982
- }
2983
-
2984
- function _synthetixRedeem() {
2985
- _synthetixRedeem = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(_ref2) {
2986
- var comptrollerProxy, integrationManager, signer, synthetixAdapter, synths, redeemArgs, callArgs;
2987
- return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
2988
- while (1) {
2989
- switch (_context2.prev = _context2.next) {
2990
- case 0:
2991
- comptrollerProxy = _ref2.comptrollerProxy, integrationManager = _ref2.integrationManager, signer = _ref2.signer, synthetixAdapter = _ref2.synthetixAdapter, synths = _ref2.synths;
2992
- redeemArgs = protocol.synthetixRedeemArgs({
2993
- synths: synths
2994
- });
2995
- callArgs = protocol.callOnIntegrationArgs({
2996
- adapter: synthetixAdapter,
2997
- encodedCallArgs: redeemArgs,
2998
- selector: protocol.redeemSelector
2999
- });
3000
- return _context2.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
3001
-
3002
- case 4:
3003
- case "end":
3004
- return _context2.stop();
3005
- }
3006
- }
3007
- }, _callee2);
3008
- }));
3009
- return _synthetixRedeem.apply(this, arguments);
3010
- }
3011
-
3012
- function synthetixTakeOrder(_x3) {
3013
- return _synthetixTakeOrder.apply(this, arguments);
3014
- }
3015
-
3016
- function _synthetixTakeOrder() {
3017
- _synthetixTakeOrder = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee3(_ref3) {
3018
- var comptrollerProxy, vaultProxy, integrationManager, fundOwner, synthetixAdapter, outgoingAsset, _ref3$outgoingAssetAm, outgoingAssetAmount, _ref3$minIncomingSusd, minIncomingSusdAmount, _ref3$seedFund, seedFund, takeOrderArgs, callArgs;
3019
-
3020
- return _regeneratorRuntime__default['default'].wrap(function _callee3$(_context3) {
3021
- while (1) {
3022
- switch (_context3.prev = _context3.next) {
3023
- case 0:
3024
- 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;
3025
-
3026
- if (!seedFund) {
3027
- _context3.next = 4;
3028
- break;
3029
- }
3030
-
3031
- _context3.next = 4;
3032
- return outgoingAsset.transfer(vaultProxy, outgoingAssetAmount);
3033
-
3034
- case 4:
3035
- takeOrderArgs = protocol.synthetixTakeOrderArgs({
3036
- minIncomingSusdAmount: minIncomingSusdAmount,
3037
- outgoingAsset: outgoingAsset,
3038
- outgoingAssetAmount: outgoingAssetAmount
3039
- });
3040
- _context3.next = 7;
3041
- return protocol.callOnIntegrationArgs({
3042
- adapter: synthetixAdapter,
3043
- encodedCallArgs: takeOrderArgs,
3044
- selector: protocol.takeOrderSelector
3045
- });
3046
-
3047
- case 7:
3048
- callArgs = _context3.sent;
3049
- return _context3.abrupt("return", comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
3050
-
3051
- case 9:
3052
- case "end":
3053
- return _context3.stop();
3054
- }
3055
- }
3056
- }, _callee3);
3057
- }));
3058
- return _synthetixTakeOrder.apply(this, arguments);
3059
- }
3060
-
3061
- var _templateObject;
3062
- var UniswapV2Factory = ethers$1.contract()(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n function createPair(address,address) returns (address)\n function getPair(address,address) view returns (address)\n"])));
3063
- function uniswapV2Lend(_x) {
3064
- return _uniswapV2Lend.apply(this, arguments);
3065
- }
3066
-
3067
- function _uniswapV2Lend() {
3068
- _uniswapV2Lend = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
3069
- var comptrollerProxy, vaultProxy, integrationManager, fundOwner, uniswapV2LiquidityAdapter, tokenA, tokenB, amountADesired, amountBDesired, amountAMin, amountBMin, minPoolTokenAmount, _ref$seedFund, seedFund, lendArgs, callArgs, lendTx;
3070
-
3071
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
3072
- while (1) {
3073
- switch (_context.prev = _context.next) {
3074
- case 0:
3075
- 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;
3076
-
3077
- if (!seedFund) {
3078
- _context.next = 6;
3079
- break;
3080
- }
3081
-
3082
- _context.next = 4;
3083
- return tokenA.transfer(vaultProxy, amountADesired);
3084
-
3085
- case 4:
3086
- _context.next = 6;
3087
- return tokenB.transfer(vaultProxy, amountBDesired);
3088
-
3089
- case 6:
3090
- lendArgs = protocol.uniswapV2LendArgs({
3091
- amountADesired: amountADesired,
3092
- amountAMin: amountAMin,
3093
- amountBDesired: amountBDesired,
3094
- amountBMin: amountBMin,
3095
- minPoolTokenAmount: minPoolTokenAmount,
3096
- tokenA: tokenA,
3097
- tokenB: tokenB
3098
- });
3099
- callArgs = protocol.callOnIntegrationArgs({
3100
- adapter: uniswapV2LiquidityAdapter,
3101
- encodedCallArgs: lendArgs,
3102
- selector: protocol.lendSelector
3103
- });
3104
- lendTx = comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
3105
- _context.next = 11;
3106
- return expect(lendTx).resolves.toBeReceipt();
3107
-
3108
- case 11:
3109
- return _context.abrupt("return", lendTx);
3110
-
3111
- case 12:
3112
- case "end":
3113
- return _context.stop();
3114
- }
3115
- }
3116
- }, _callee);
3117
- }));
3118
- return _uniswapV2Lend.apply(this, arguments);
3119
- }
3120
-
3121
- function uniswapV2Redeem(_x2) {
3122
- return _uniswapV2Redeem.apply(this, arguments);
3123
- }
3124
-
3125
- function _uniswapV2Redeem() {
3126
- _uniswapV2Redeem = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(_ref2) {
3127
- var comptrollerProxy, integrationManager, fundOwner, uniswapV2LiquidityAdapter, poolTokenAmount, tokenA, tokenB, amountAMin, amountBMin, redeemArgs, callArgs, redeemTx;
3128
- return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
3129
- while (1) {
3130
- switch (_context2.prev = _context2.next) {
3131
- case 0:
3132
- 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;
3133
- redeemArgs = protocol.uniswapV2RedeemArgs({
3134
- amountAMin: amountAMin,
3135
- amountBMin: amountBMin,
3136
- poolTokenAmount: poolTokenAmount,
3137
- tokenA: tokenA,
3138
- tokenB: tokenB
3139
- });
3140
- callArgs = protocol.callOnIntegrationArgs({
3141
- adapter: uniswapV2LiquidityAdapter,
3142
- encodedCallArgs: redeemArgs,
3143
- selector: protocol.redeemSelector
3144
- });
3145
- redeemTx = comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
3146
- _context2.next = 6;
3147
- return expect(redeemTx).resolves.toBeReceipt();
3148
-
3149
- case 6:
3150
- return _context2.abrupt("return", redeemTx);
3151
-
3152
- case 7:
3153
- case "end":
3154
- return _context2.stop();
3155
- }
3156
- }
3157
- }, _callee2);
3158
- }));
3159
- return _uniswapV2Redeem.apply(this, arguments);
3160
- }
3161
-
3162
- function uniswapV2TakeOrder(_x3) {
3163
- return _uniswapV2TakeOrder.apply(this, arguments);
3164
- }
3165
-
3166
- function _uniswapV2TakeOrder() {
3167
- _uniswapV2TakeOrder = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee3(_ref3) {
3168
- var comptrollerProxy, vaultProxy, integrationManager, fundOwner, uniswapV2ExchangeAdapter, path, outgoingAssetAmount, minIncomingAssetAmount, _ref3$seedFund, seedFund, takeOrderArgs, callArgs;
3169
-
3170
- return _regeneratorRuntime__default['default'].wrap(function _callee3$(_context3) {
3171
- while (1) {
3172
- switch (_context3.prev = _context3.next) {
3173
- case 0:
3174
- 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;
3175
-
3176
- if (!seedFund) {
3177
- _context3.next = 4;
3178
- break;
3179
- }
3180
-
3181
- _context3.next = 4;
3182
- return path[0].transfer(vaultProxy, outgoingAssetAmount);
3183
-
3184
- case 4:
3185
- takeOrderArgs = protocol.uniswapV2TakeOrderArgs({
3186
- minIncomingAssetAmount: minIncomingAssetAmount,
3187
- outgoingAssetAmount: outgoingAssetAmount,
3188
- path: path
3189
- });
3190
- callArgs = protocol.callOnIntegrationArgs({
3191
- adapter: uniswapV2ExchangeAdapter,
3192
- encodedCallArgs: takeOrderArgs,
3193
- selector: protocol.takeOrderSelector
3194
- });
3195
- return _context3.abrupt("return", comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
3196
-
3197
- case 7:
3198
- case "end":
3199
- return _context3.stop();
3200
- }
3201
- }
3202
- }, _callee3);
3203
- }));
3204
- return _uniswapV2TakeOrder.apply(this, arguments);
3205
- }
3206
-
3207
- function uniswapV3TakeOrder(_x) {
3208
- return _uniswapV3TakeOrder.apply(this, arguments);
3209
- }
3210
-
3211
- function _uniswapV3TakeOrder() {
3212
- _uniswapV3TakeOrder = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
3213
- var comptrollerProxy, integrationManager, fundOwner, uniswapV3Adapter, pathAddresses, pathFees, outgoingAssetAmount, _ref$minIncomingAsset, minIncomingAssetAmount, _ref$seedFund, seedFund, vaultProxy, takeOrderArgs, callArgs;
3214
-
3215
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
3216
- while (1) {
3217
- switch (_context.prev = _context.next) {
3218
- case 0:
3219
- 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;
3220
-
3221
- if (!seedFund) {
3222
- _context.next = 7;
3223
- break;
3224
- }
3225
-
3226
- _context.next = 4;
3227
- return comptrollerProxy.getVaultProxy();
3228
-
3229
- case 4:
3230
- vaultProxy = _context.sent;
3231
- _context.next = 7;
3232
- return pathAddresses[0].transfer(vaultProxy, outgoingAssetAmount);
3233
-
3234
- case 7:
3235
- takeOrderArgs = protocol.uniswapV3TakeOrderArgs({
3236
- minIncomingAssetAmount: minIncomingAssetAmount,
3237
- outgoingAssetAmount: outgoingAssetAmount,
3238
- pathAddresses: pathAddresses,
3239
- pathFees: pathFees
3240
- });
3241
- callArgs = protocol.callOnIntegrationArgs({
3242
- adapter: uniswapV3Adapter,
3243
- encodedCallArgs: takeOrderArgs,
3244
- selector: protocol.takeOrderSelector
3245
- });
3246
- return _context.abrupt("return", comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
3247
-
3248
- case 10:
3249
- case "end":
3250
- return _context.stop();
3251
- }
3252
- }
3253
- }, _callee);
3254
- }));
3255
- return _uniswapV3TakeOrder.apply(this, arguments);
3256
- }
3257
-
3258
- function yearnVaultV2Lend(_x) {
3259
- return _yearnVaultV2Lend.apply(this, arguments);
3260
- }
3261
-
3262
- function _yearnVaultV2Lend() {
3263
- _yearnVaultV2Lend = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
3264
- var signer, comptrollerProxy, integrationManager, yearnVaultV2Adapter, yVault, outgoingUnderlyingAmount, _ref$minIncomingYVaul, minIncomingYVaultSharesAmount, callArgs;
3265
-
3266
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
3267
- while (1) {
3268
- switch (_context.prev = _context.next) {
3269
- case 0:
3270
- 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;
3271
- callArgs = protocol.callOnIntegrationArgs({
3272
- adapter: yearnVaultV2Adapter,
3273
- encodedCallArgs: protocol.yearnVaultV2LendArgs({
3274
- minIncomingYVaultSharesAmount: minIncomingYVaultSharesAmount,
3275
- outgoingUnderlyingAmount: outgoingUnderlyingAmount,
3276
- yVault: yVault
3277
- }),
3278
- selector: protocol.lendSelector
3279
- });
3280
- return _context.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
3281
-
3282
- case 3:
3283
- case "end":
3284
- return _context.stop();
3285
- }
3286
- }
3287
- }, _callee);
3288
- }));
3289
- return _yearnVaultV2Lend.apply(this, arguments);
3290
- }
3291
-
3292
- function yearnVaultV2Redeem(_x2) {
3293
- return _yearnVaultV2Redeem.apply(this, arguments);
3294
- }
3295
-
3296
- function _yearnVaultV2Redeem() {
3297
- _yearnVaultV2Redeem = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(_ref2) {
3298
- var signer, comptrollerProxy, integrationManager, yearnVaultV2Adapter, yVault, maxOutgoingYVaultSharesAmount, _ref2$minIncomingUnde, minIncomingUnderlyingAmount, _ref2$slippageToleran, slippageToleranceBps, callArgs;
3299
-
3300
- return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
3301
- while (1) {
3302
- switch (_context2.prev = _context2.next) {
3303
- case 0:
3304
- 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;
3305
- callArgs = protocol.callOnIntegrationArgs({
3306
- adapter: yearnVaultV2Adapter,
3307
- encodedCallArgs: protocol.yearnVaultV2RedeemArgs({
3308
- maxOutgoingYVaultSharesAmount: maxOutgoingYVaultSharesAmount,
3309
- minIncomingUnderlyingAmount: minIncomingUnderlyingAmount,
3310
- slippageToleranceBps: slippageToleranceBps,
3311
- yVault: yVault
3312
- }),
3313
- selector: protocol.redeemSelector
3314
- });
3315
- return _context2.abrupt("return", comptrollerProxy.connect(signer).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
3316
-
3317
- case 3:
3318
- case "end":
3319
- return _context2.stop();
3320
- }
3321
- }
3322
- }, _callee2);
3323
- }));
3324
- return _yearnVaultV2Redeem.apply(this, arguments);
3325
- }
3326
-
3327
- function zeroExV2TakeOrder(_x) {
3328
- return _zeroExV2TakeOrder.apply(this, arguments);
3329
- }
3330
-
3331
- function _zeroExV2TakeOrder() {
3332
- _zeroExV2TakeOrder = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
3333
- var comptrollerProxy, integrationManager, fundOwner, zeroExV2Adapter, signedOrder, takerAssetFillAmount, takeOrderArgs, callArgs;
3334
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
3335
- while (1) {
3336
- switch (_context.prev = _context.next) {
3337
- case 0:
3338
- comptrollerProxy = _ref.comptrollerProxy, integrationManager = _ref.integrationManager, fundOwner = _ref.fundOwner, zeroExV2Adapter = _ref.zeroExV2Adapter, signedOrder = _ref.signedOrder, takerAssetFillAmount = _ref.takerAssetFillAmount;
3339
- takeOrderArgs = protocol.zeroExV2TakeOrderArgs({
3340
- signedOrder: signedOrder,
3341
- takerAssetFillAmount: takerAssetFillAmount
3342
- });
3343
- callArgs = protocol.callOnIntegrationArgs({
3344
- adapter: zeroExV2Adapter,
3345
- encodedCallArgs: takeOrderArgs,
3346
- selector: protocol.takeOrderSelector
3347
- });
3348
- return _context.abrupt("return", comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, protocol.IntegrationManagerActionId.CallOnIntegration, callArgs));
3349
-
3350
- case 4:
3351
- case "end":
3352
- return _context.stop();
3353
- }
3354
- }
3355
- }, _callee);
3356
- }));
3357
- return _zeroExV2TakeOrder.apply(this, arguments);
3358
- }
3359
-
3360
- function generatePolicyManagerConfigWithMockPolicies(_x) {
3361
- return _generatePolicyManagerConfigWithMockPolicies.apply(this, arguments);
3362
- }
3363
-
3364
- function _generatePolicyManagerConfigWithMockPolicies() {
3365
- _generatePolicyManagerConfigWithMockPolicies = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
3366
- var deployer, policies, policiesSettingsData;
3367
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
3368
- while (1) {
3369
- switch (_context.prev = _context.next) {
3370
- case 0:
3371
- deployer = _ref.deployer;
3372
- _context.t0 = Object;
3373
- _context.next = 4;
3374
- return generateMockPolicies({
3375
- deployer: deployer
3376
- });
3377
-
3378
- case 4:
3379
- _context.t1 = _context.sent;
3380
- policies = _context.t0.values.call(_context.t0, _context.t1);
3381
- // Guarantees one policy has settings data
3382
- policiesSettingsData = [].concat(_toConsumableArray(new Array(policies.length - 1).fill(ethers.constants.HashZero)), [ethers.utils.randomBytes(10)]);
3383
- return _context.abrupt("return", protocol.policyManagerConfigArgs({
3384
- policies: policies,
3385
- settings: policiesSettingsData
3386
- }));
3387
-
3388
- case 8:
3389
- case "end":
3390
- return _context.stop();
3391
- }
3392
- }
3393
- }, _callee);
3394
- }));
3395
- return _generatePolicyManagerConfigWithMockPolicies.apply(this, arguments);
3396
- }
3397
-
3398
- function generateMockPolicies(_x2) {
3399
- return _generateMockPolicies.apply(this, arguments);
3400
- }
3401
-
3402
- function _generateMockPolicies() {
3403
- _generateMockPolicies = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(_ref2) {
3404
- var deployer, mockAddTrackedAssetsPolicy, mockCreateExternalPositionPolicy, mockPostBuySharesPolicy, mockPostCallOnExternalPositionPolicy, mockPostCoIPolicy, mockRedeemSharesForSpecificAssetsPolicy, mockPreTransferSharesPolicy, mockRemoveExternalPositionPolicy;
3405
- return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
3406
- while (1) {
3407
- switch (_context2.prev = _context2.next) {
3408
- case 0:
3409
- deployer = _ref2.deployer;
3410
- _context2.next = 3;
3411
- return protocol.IPolicy.mock(deployer);
3412
-
3413
- case 3:
3414
- mockAddTrackedAssetsPolicy = _context2.sent;
3415
- _context2.next = 6;
3416
- return protocol.IPolicy.mock(deployer);
3417
-
3418
- case 6:
3419
- mockCreateExternalPositionPolicy = _context2.sent;
3420
- _context2.next = 9;
3421
- return protocol.IPolicy.mock(deployer);
3422
-
3423
- case 9:
3424
- mockPostBuySharesPolicy = _context2.sent;
3425
- _context2.next = 12;
3426
- return protocol.IPolicy.mock(deployer);
3427
-
3428
- case 12:
3429
- mockPostCallOnExternalPositionPolicy = _context2.sent;
3430
- _context2.next = 15;
3431
- return protocol.IPolicy.mock(deployer);
3432
-
3433
- case 15:
3434
- mockPostCoIPolicy = _context2.sent;
3435
- _context2.next = 18;
3436
- return protocol.IPolicy.mock(deployer);
3437
-
3438
- case 18:
3439
- mockRedeemSharesForSpecificAssetsPolicy = _context2.sent;
3440
- _context2.next = 21;
3441
- return protocol.IPolicy.mock(deployer);
3442
-
3443
- case 21:
3444
- mockPreTransferSharesPolicy = _context2.sent;
3445
- _context2.next = 24;
3446
- return protocol.IPolicy.mock(deployer);
3447
-
3448
- case 24:
3449
- mockRemoveExternalPositionPolicy = _context2.sent;
3450
- _context2.next = 27;
3451
- return Promise.all([// AddTrackedAssets
3452
- 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
3453
- 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
3454
- 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
3455
- 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
3456
- 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
3457
- 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
3458
- 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
3459
- 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)]);
3460
-
3461
- case 27:
3462
- return _context2.abrupt("return", {
3463
- mockAddTrackedAssetsPolicy: mockAddTrackedAssetsPolicy,
3464
- mockCreateExternalPositionPolicy: mockCreateExternalPositionPolicy,
3465
- mockPostBuySharesPolicy: mockPostBuySharesPolicy,
3466
- mockPostCallOnExternalPositionPolicy: mockPostCallOnExternalPositionPolicy,
3467
- mockPostCoIPolicy: mockPostCoIPolicy,
3468
- mockPreTransferSharesPolicy: mockPreTransferSharesPolicy,
3469
- mockRedeemSharesForSpecificAssetsPolicy: mockRedeemSharesForSpecificAssetsPolicy,
3470
- mockRemoveExternalPositionPolicy: mockRemoveExternalPositionPolicy
3471
- });
3472
-
3473
- case 28:
3474
- case "end":
3475
- return _context2.stop();
3476
- }
3477
- }
3478
- }, _callee2);
3479
- }));
3480
- return _generateMockPolicies.apply(this, arguments);
3481
- }
3482
-
3483
- function assertEvent(receipt, event, match) {
3484
- var _events$shift;
3485
-
3486
- var events = ethers$1.extractEvent(receipt, event);
3487
- expect(events.length).toBe(1);
3488
- expect(receipt).toHaveEmittedWith(event, match);
3489
- 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
3490
-
3491
- return args;
3492
- }
3493
- function assertNoEvent(receipt, event) {
3494
- var events = ethers$1.extractEvent(receipt, event);
3495
- expect(events.length).toBe(0);
3496
- }
3497
-
3498
- function buyShares(_x) {
3499
- return _buyShares.apply(this, arguments);
3500
- }
3501
-
3502
- function _buyShares() {
3503
- _buyShares = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(options) {
3504
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
3505
- while (1) {
3506
- switch (_context.prev = _context.next) {
3507
- case 0:
3508
- _context.next = 2;
3509
- return buySharesFunction(options);
3510
-
3511
- case 2:
3512
- return _context.abrupt("return", _context.sent.send());
3513
-
3514
- case 3:
3515
- case "end":
3516
- return _context.stop();
3517
- }
3518
- }
3519
- }, _callee);
3520
- }));
3521
- return _buyShares.apply(this, arguments);
3522
- }
3523
-
3524
- function buySharesFunction(_x2) {
3525
- return _buySharesFunction.apply(this, arguments);
3526
- }
3527
-
3528
- function _buySharesFunction() {
3529
- _buySharesFunction = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(_ref) {
3530
- var comptrollerProxy, denominationAsset, buyer, investmentAmount, _ref$minSharesQuantit, minSharesQuantity, _ref$seedBuyer, seedBuyer;
3531
-
3532
- return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
3533
- while (1) {
3534
- switch (_context2.prev = _context2.next) {
3535
- case 0:
3536
- 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;
3537
-
3538
- if (!(investmentAmount == undefined)) {
3539
- _context2.next = 7;
3540
- break;
3541
- }
3542
-
3543
- _context2.t0 = ethers.utils;
3544
- _context2.next = 5;
3545
- return denominationAsset.decimals();
3546
-
3547
- case 5:
3548
- _context2.t1 = _context2.sent;
3549
- investmentAmount = _context2.t0.parseUnits.call(_context2.t0, '1', _context2.t1);
3550
-
3551
- case 7:
3552
- if (!seedBuyer) {
3553
- _context2.next = 10;
3554
- break;
3555
- }
3556
-
3557
- _context2.next = 10;
3558
- return denominationAsset.transfer(buyer, investmentAmount);
3559
-
3560
- case 10:
3561
- _context2.next = 12;
3562
- return denominationAsset.connect(buyer).approve(comptrollerProxy, investmentAmount);
3563
-
3564
- case 12:
3565
- return _context2.abrupt("return", comptrollerProxy.connect(buyer).buyShares.args(investmentAmount, minSharesQuantity).ref);
3566
-
3567
- case 13:
3568
- case "end":
3569
- return _context2.stop();
3570
- }
3571
- }
3572
- }, _callee2);
3573
- }));
3574
- return _buySharesFunction.apply(this, arguments);
3575
- }
3576
-
3577
- function redeemSharesForSpecificAssets(_x3) {
3578
- return _redeemSharesForSpecificAssets.apply(this, arguments);
3579
- }
3580
-
3581
- function _redeemSharesForSpecificAssets() {
3582
- _redeemSharesForSpecificAssets = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee3(_ref2) {
3583
- var comptrollerProxy, signer, _ref2$recipient, recipient, _ref2$quantity, quantity, payoutAssets, payoutAssetPercentages;
3584
-
3585
- return _regeneratorRuntime__default['default'].wrap(function _callee3$(_context3) {
3586
- while (1) {
3587
- switch (_context3.prev = _context3.next) {
3588
- case 0:
3589
- 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;
3590
- return _context3.abrupt("return", comptrollerProxy.connect(signer).redeemSharesForSpecificAssets(recipient, quantity, payoutAssets, payoutAssetPercentages));
3591
-
3592
- case 2:
3593
- case "end":
3594
- return _context3.stop();
3595
- }
3596
- }
3597
- }, _callee3);
3598
- }));
3599
- return _redeemSharesForSpecificAssets.apply(this, arguments);
3600
- }
3601
-
3602
- function redeemSharesInKind(_x4) {
3603
- return _redeemSharesInKind.apply(this, arguments);
3604
- }
3605
-
3606
- function _redeemSharesInKind() {
3607
- _redeemSharesInKind = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee4(_ref3) {
3608
- var comptrollerProxy, signer, _ref3$recipient, recipient, _ref3$quantity, quantity, _ref3$additionalAsset, additionalAssets, _ref3$assetsToSkip, assetsToSkip;
3609
-
3610
- return _regeneratorRuntime__default['default'].wrap(function _callee4$(_context4) {
3611
- while (1) {
3612
- switch (_context4.prev = _context4.next) {
3613
- case 0:
3614
- 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;
3615
- return _context4.abrupt("return", comptrollerProxy.connect(signer).redeemSharesInKind(recipient, quantity, additionalAssets, assetsToSkip));
3616
-
3617
- case 2:
3618
- case "end":
3619
- return _context4.stop();
3620
- }
3621
- }
3622
- }, _callee4);
3623
- }));
3624
- return _redeemSharesInKind.apply(this, arguments);
3625
- }
3626
-
3627
- 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; }
3628
-
3629
- 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; }
3630
- function createComptrollerProxy(_x) {
3631
- return _createComptrollerProxy.apply(this, arguments);
3632
- }
3633
-
3634
- function _createComptrollerProxy() {
3635
- _createComptrollerProxy = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
3636
- var signer, comptrollerLib, denominationAsset, _ref$sharesActionTime, sharesActionTimelock, constructData, comptrollerProxyContract;
3637
-
3638
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
3639
- while (1) {
3640
- switch (_context.prev = _context.next) {
3641
- case 0:
3642
- signer = _ref.signer, comptrollerLib = _ref.comptrollerLib, denominationAsset = _ref.denominationAsset, _ref$sharesActionTime = _ref.sharesActionTimelock, sharesActionTimelock = _ref$sharesActionTime === void 0 ? 0 : _ref$sharesActionTime;
3643
- constructData = protocol.encodeFunctionData(comptrollerLib.init.fragment, [denominationAsset, sharesActionTimelock]);
3644
- _context.next = 4;
3645
- return protocol.ComptrollerProxy.deploy(signer, constructData, comptrollerLib);
3646
-
3647
- case 4:
3648
- comptrollerProxyContract = _context.sent;
3649
- return _context.abrupt("return", {
3650
- comptrollerProxy: new protocol.ComptrollerLib(comptrollerProxyContract, signer),
3651
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
3652
- receipt: comptrollerProxyContract.deployment
3653
- });
3654
-
3655
- case 6:
3656
- case "end":
3657
- return _context.stop();
3658
- }
3659
- }
3660
- }, _callee);
3661
- }));
3662
- return _createComptrollerProxy.apply(this, arguments);
3663
- }
3664
-
3665
- function createMigrationRequest(_x2) {
3666
- return _createMigrationRequest.apply(this, arguments);
3667
- } // TODO: should we pass in the fundOwner as a signer also so we can connect comptroller proxy and vault proxy to that acct instead?
3668
-
3669
- function _createMigrationRequest() {
3670
- _createMigrationRequest = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(_ref2) {
3671
- var signer, fundDeployer, vaultProxy, denominationAsset, _ref2$sharesActionTim, sharesActionTimelock, _ref2$feeManagerConfi, feeManagerConfigData, _ref2$policyManagerCo, policyManagerConfigData, _ref2$bypassPrevRelea, bypassPrevReleaseFailure, receipt, comptrollerDeployedArgs;
3672
-
3673
- return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
3674
- while (1) {
3675
- switch (_context2.prev = _context2.next) {
3676
- case 0:
3677
- 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;
3678
- _context2.next = 3;
3679
- return fundDeployer.connect(signer).createMigrationRequest(vaultProxy, denominationAsset, sharesActionTimelock, feeManagerConfigData, policyManagerConfigData, bypassPrevReleaseFailure);
3680
-
3681
- case 3:
3682
- receipt = _context2.sent;
3683
- comptrollerDeployedArgs = assertEvent(receipt, 'ComptrollerProxyDeployed', {
3684
- comptrollerProxy: expect.any(String),
3685
- creator: signer,
3686
- denominationAsset: denominationAsset,
3687
- sharesActionTimelock: ethers.BigNumber.from(sharesActionTimelock)
3688
- });
3689
- return _context2.abrupt("return", {
3690
- comptrollerProxy: new protocol.ComptrollerLib(comptrollerDeployedArgs.comptrollerProxy, signer),
3691
- receipt: receipt
3692
- });
3693
-
3694
- case 6:
3695
- case "end":
3696
- return _context2.stop();
3697
- }
3698
- }
3699
- }, _callee2);
3700
- }));
3701
- return _createMigrationRequest.apply(this, arguments);
3702
- }
3703
-
3704
- function createNewFund(_x3) {
3705
- return _createNewFund.apply(this, arguments);
3706
- }
3707
-
3708
- function _createNewFund() {
3709
- _createNewFund = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee3(_ref3) {
3710
- 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;
3711
-
3712
- return _regeneratorRuntime__default['default'].wrap(function _callee3$(_context3) {
3713
- while (1) {
3714
- switch (_context3.prev = _context3.next) {
3715
- case 0:
3716
- 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;
3717
- _context3.next = 3;
3718
- return fundDeployer.connect(signer).createNewFund(fundOwner, fundName, fundSymbol, denominationAsset, sharesActionTimelock, feeManagerConfig, policyManagerConfig);
3719
-
3720
- case 3:
3721
- receipt = _context3.sent;
3722
- comptrollerDeployedArgs = assertEvent(receipt, 'ComptrollerProxyDeployed', {
3723
- comptrollerProxy: expect.any(String),
3724
- creator: signer,
3725
- denominationAsset: denominationAsset,
3726
- sharesActionTimelock: ethers.BigNumber.from(sharesActionTimelock)
3727
- });
3728
- comptrollerProxy = new protocol.ComptrollerLib(comptrollerDeployedArgs.comptrollerProxy, signer);
3729
- newFundDeployedArgs = assertEvent(receipt, 'NewFundCreated', {
3730
- comptrollerProxy: comptrollerProxy,
3731
- creator: signer,
3732
- vaultProxy: expect.any(String)
3733
- });
3734
- vaultProxy = new protocol.VaultLib(newFundDeployedArgs.vaultProxy, signer);
3735
-
3736
- if (!(investment != null)) {
3737
- _context3.next = 11;
3738
- break;
3739
- }
3740
-
3741
- _context3.next = 11;
3742
- return buyShares(_objectSpread$1({
3743
- comptrollerProxy: comptrollerProxy,
3744
- denominationAsset: denominationAsset
3745
- }, investment));
3746
-
3747
- case 11:
3748
- return _context3.abrupt("return", {
3749
- comptrollerProxy: comptrollerProxy,
3750
- receipt: receipt,
3751
- vaultProxy: vaultProxy
3752
- });
3753
-
3754
- case 12:
3755
- case "end":
3756
- return _context3.stop();
3757
- }
3758
- }
3759
- }, _callee3);
3760
- }));
3761
- return _createNewFund.apply(this, arguments);
3762
- }
3763
-
3764
- function createReconfigurationRequest(_x4) {
3765
- return _createReconfigurationRequest.apply(this, arguments);
3766
- }
3767
-
3768
- function _createReconfigurationRequest() {
3769
- _createReconfigurationRequest = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee4(_ref4) {
3770
- var signer, fundDeployer, vaultProxy, denominationAsset, _ref4$sharesActionTim, sharesActionTimelock, _ref4$feeManagerConfi, feeManagerConfigData, _ref4$policyManagerCo, policyManagerConfigData, receipt, comptrollerDeployedArgs;
3771
-
3772
- return _regeneratorRuntime__default['default'].wrap(function _callee4$(_context4) {
3773
- while (1) {
3774
- switch (_context4.prev = _context4.next) {
3775
- case 0:
3776
- 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;
3777
- _context4.next = 3;
3778
- return fundDeployer.connect(signer).createReconfigurationRequest(vaultProxy, denominationAsset, sharesActionTimelock, feeManagerConfigData, policyManagerConfigData);
3779
-
3780
- case 3:
3781
- receipt = _context4.sent;
3782
- comptrollerDeployedArgs = assertEvent(receipt, 'ComptrollerProxyDeployed', {
3783
- comptrollerProxy: expect.any(String),
3784
- creator: signer,
3785
- denominationAsset: denominationAsset,
3786
- sharesActionTimelock: ethers.BigNumber.from(sharesActionTimelock)
3787
- });
3788
- return _context4.abrupt("return", {
3789
- comptrollerProxy: new protocol.ComptrollerLib(comptrollerDeployedArgs.comptrollerProxy, signer),
3790
- receipt: receipt
3791
- });
3792
-
3793
- case 6:
3794
- case "end":
3795
- return _context4.stop();
3796
- }
3797
- }
3798
- }, _callee4);
3799
- }));
3800
- return _createReconfigurationRequest.apply(this, arguments);
3801
- }
3802
-
3803
- function createVaultProxy(_x5) {
3804
- return _createVaultProxy.apply(this, arguments);
3805
- }
3806
-
3807
- function _createVaultProxy() {
3808
- _createVaultProxy = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee5(_ref5) {
3809
- var signer, vaultLib, fundOwner, fundAccessor, _ref5$fundName, fundName, constructData, vaultProxyContract;
3810
-
3811
- return _regeneratorRuntime__default['default'].wrap(function _callee5$(_context5) {
3812
- while (1) {
3813
- switch (_context5.prev = _context5.next) {
3814
- case 0:
3815
- 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;
3816
- constructData = protocol.encodeFunctionData(vaultLib.init.fragment, [fundOwner, fundAccessor, fundName]);
3817
- _context5.next = 4;
3818
- return protocol.VaultProxy.deploy(signer, constructData, vaultLib);
3819
-
3820
- case 4:
3821
- vaultProxyContract = _context5.sent;
3822
- return _context5.abrupt("return", new protocol.VaultLib(vaultProxyContract, fundAccessor));
3823
-
3824
- case 6:
3825
- case "end":
3826
- return _context5.stop();
3827
- }
3828
- }
3829
- }, _callee5);
3830
- }));
3831
- return _createVaultProxy.apply(this, arguments);
3832
- }
3833
-
3834
- function setupGasRelayerPaymaster(_x6) {
3835
- return _setupGasRelayerPaymaster.apply(this, arguments);
3836
- }
3837
-
3838
- function _setupGasRelayerPaymaster() {
3839
- _setupGasRelayerPaymaster = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee6(_ref6) {
3840
- var signer, vaultProxy, fundAccessor, weth, _ref6$startingBalance, startingBalance, comptrollerProxy, receipt, eventArgs;
3841
-
3842
- return _regeneratorRuntime__default['default'].wrap(function _callee6$(_context6) {
3843
- while (1) {
3844
- switch (_context6.prev = _context6.next) {
3845
- case 0:
3846
- 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;
3847
- _context6.next = 3;
3848
- return weth.transfer(vaultProxy, startingBalance);
3849
-
3850
- case 3:
3851
- comptrollerProxy = new protocol.ComptrollerLib(fundAccessor, signer);
3852
- _context6.next = 6;
3853
- return comptrollerProxy.deployGasRelayPaymaster();
3854
-
3855
- case 6:
3856
- receipt = _context6.sent;
3857
- eventArgs = assertEvent(receipt, 'GasRelayPaymasterSet', {
3858
- gasRelayPaymaster: expect.any(String)
3859
- });
3860
- return _context6.abrupt("return", new protocol.GasRelayPaymasterLib(eventArgs.gasRelayPaymaster, signer));
3861
-
3862
- case 9:
3863
- case "end":
3864
- return _context6.stop();
3865
- }
3866
- }
3867
- }, _callee6);
3868
- }));
3869
- return _setupGasRelayerPaymaster.apply(this, arguments);
3870
- }
3871
-
3872
- function vaultCallCreateNewList(_x) {
3873
- return _vaultCallCreateNewList.apply(this, arguments);
3874
- }
3875
-
3876
- function _vaultCallCreateNewList() {
3877
- _vaultCallCreateNewList = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref) {
3878
- var addressListRegistry, comptrollerProxy, items, owner, signer, updateType, listCount;
3879
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
3880
- while (1) {
3881
- switch (_context.prev = _context.next) {
3882
- case 0:
3883
- addressListRegistry = _ref.addressListRegistry, comptrollerProxy = _ref.comptrollerProxy, items = _ref.items, owner = _ref.owner, signer = _ref.signer, updateType = _ref.updateType;
3884
- _context.next = 3;
3885
- return comptrollerProxy.connect(signer).vaultCallOnContract(addressListRegistry.address, protocol.addressListRegistryCreateListSelector, protocol.encodeArgs(['address', 'uint8', 'address[]'], [owner, updateType, items]));
3886
-
3887
- case 3:
3888
- _context.next = 5;
3889
- return addressListRegistry.getListCount();
3890
-
3891
- case 5:
3892
- listCount = _context.sent;
3893
- return _context.abrupt("return", listCount.sub(1));
3894
-
3895
- case 7:
3896
- case "end":
3897
- return _context.stop();
3898
- }
3899
- }
3900
- }, _callee);
3901
- }));
3902
- return _vaultCallCreateNewList.apply(this, arguments);
3903
- }
3904
-
3905
- function vaultCallCurveMinterMint(_ref2) {
3906
- var comptrollerProxy = _ref2.comptrollerProxy,
3907
- minter = _ref2.minter,
3908
- gauge = _ref2.gauge;
3909
- return comptrollerProxy.vaultCallOnContract(minter, protocol.curveMinterMintSelector, protocol.encodeArgs(['address'], [gauge]));
3910
- }
3911
- function vaultCallCurveMinterMintMany(_ref3) {
3912
- var comptrollerProxy = _ref3.comptrollerProxy,
3913
- minter = _ref3.minter,
3914
- gauges = _ref3.gauges;
3915
- var gaugesFormatted = new Array(8).fill(ethers.constants.AddressZero);
3916
-
3917
- for (var i in gauges) {
3918
- gaugesFormatted[i] = gauges[i];
3919
- }
3920
-
3921
- return comptrollerProxy.vaultCallOnContract(minter, protocol.curveMinterMintManySelector, protocol.encodeArgs(['address[8]'], [gaugesFormatted]));
3922
- }
3923
- function vaultCallCurveMinterToggleApproveMint(_ref4) {
3924
- var comptrollerProxy = _ref4.comptrollerProxy,
3925
- minter = _ref4.minter,
3926
- account = _ref4.account;
3927
- return comptrollerProxy.vaultCallOnContract(minter, protocol.curveMinterToggleApproveMintSelector, protocol.encodeArgs(['address'], [account]));
3928
- }
3929
- function vaultCallStartAssetBypassTimelock(_ref5) {
3930
- var comptrollerProxy = _ref5.comptrollerProxy,
3931
- contract = _ref5.contract,
3932
- asset = _ref5.asset;
3933
- return comptrollerProxy.vaultCallOnContract(contract, protocol.sighash(ethers.utils.FunctionFragment.fromString('startAssetBypassTimelock(address)')), protocol.encodeArgs(['address'], [asset]));
3934
- }
3935
-
3936
- function transactionTimestamp(_x) {
3937
- return _transactionTimestamp.apply(this, arguments);
3938
- }
3939
-
3940
- function _transactionTimestamp() {
3941
- _transactionTimestamp = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(receipt) {
3942
- var block;
3943
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
3944
- while (1) {
3945
- switch (_context.prev = _context.next) {
3946
- case 0:
3947
- _context.next = 2;
3948
- return provider.getBlock(receipt.blockNumber);
3949
-
3950
- case 2:
3951
- block = _context.sent;
3952
- return _context.abrupt("return", block.timestamp);
3953
-
3954
- case 4:
3955
- case "end":
3956
- return _context.stop();
3957
- }
3958
- }
3959
- }, _callee);
3960
- }));
3961
- return _transactionTimestamp.apply(this, arguments);
3962
- }
3963
-
3964
- function calcMlnValueAndBurnAmountForSharesBuyback(_x2) {
3965
- return _calcMlnValueAndBurnAmountForSharesBuyback.apply(this, arguments);
3966
- }
3967
-
3968
- function _calcMlnValueAndBurnAmountForSharesBuyback() {
3969
- _calcMlnValueAndBurnAmountForSharesBuyback = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(_ref) {
3970
- var valueInterpreter, mln, denominationAsset, sharesSupply, gav, buybackSharesAmount, grossShareValue, denominationAssetValueOfBuyback, mlnValueOfBuyback, mlnAmountToBurn;
3971
- return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
3972
- while (1) {
3973
- switch (_context2.prev = _context2.next) {
3974
- case 0:
3975
- valueInterpreter = _ref.valueInterpreter, mln = _ref.mln, denominationAsset = _ref.denominationAsset, sharesSupply = _ref.sharesSupply, gav = _ref.gav, buybackSharesAmount = _ref.buybackSharesAmount;
3976
- // Calculate expected mlnValue of shares to buyback
3977
- // TODO: calcGrossShareValue can also be a helper util
3978
- grossShareValue = ethers.BigNumber.from(gav).mul(ethers.utils.parseEther('1')).div(sharesSupply);
3979
- denominationAssetValueOfBuyback = grossShareValue.mul(buybackSharesAmount).div(ethers.utils.parseEther('1'));
3980
- _context2.next = 5;
3981
- return valueInterpreter.calcCanonicalAssetValue.args(denominationAsset, denominationAssetValueOfBuyback, mln).call();
3982
-
3983
- case 5:
3984
- mlnValueOfBuyback = _context2.sent;
3985
- // 50% discount
3986
- mlnAmountToBurn = mlnValueOfBuyback.div(2);
3987
- return _context2.abrupt("return", {
3988
- mlnAmountToBurn: mlnAmountToBurn,
3989
- mlnValue: mlnValueOfBuyback
3990
- });
3991
-
3992
- case 8:
3993
- case "end":
3994
- return _context2.stop();
3995
- }
3996
- }
3997
- }, _callee2);
3998
- }));
3999
- return _calcMlnValueAndBurnAmountForSharesBuyback.apply(this, arguments);
4000
- }
4001
-
4002
- 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; }
4003
-
4004
- 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; }
4005
-
4006
- /* eslint-disable sort-keys-fix/sort-keys-fix */
4007
- var whales = {
4008
- // primitives
4009
- bat: '0x12274c71304bc0e6b38a56b94d2949b118feb838',
4010
- bnb: '0xbe0eb53f46cd790cd13851d5eff43d12404d33e8',
4011
- bnt: '0x7d1ed1601a12a172269436fa95fe156650603c1d',
4012
- busd: '0x47ac0fb4f2d84898e4d9e7b4dab3c24507a6d503',
4013
- comp: '0x0f50d31b3eaefd65236dd3736b863cffa4c63c4e',
4014
- crv: '0x4ce799e6eD8D64536b67dD428565d52A531B3640',
4015
- dai: '0x47ac0fb4f2d84898e4d9e7b4dab3c24507a6d503',
4016
- knc: '0x09d51654bd9efbfcb56da3491989cc1444095fff',
4017
- ldo: '0x3dba737ccc50a32a1764b493285dd51c8af6c278',
4018
- link: '0xbe6977e08d4479c0a6777539ae0e8fa27be4e9d6',
4019
- mana: '0xefb94ac00f1cee8a89d5c3f49faa799da6f03024',
4020
- mln: '0xd8f8a53945bcfbbc19da162aa405e662ef71c40d',
4021
- ohm: '0x71a53aff36a699110d66d6bdfff2320caf8d2d59',
4022
- rep: '0xc6a043b07d33b6f30d8cb501026c391cfd25abe1',
4023
- ren: '0xbe0eb53f46cd790cd13851d5eff43d12404d33e8',
4024
- susd: '0xa5f7a39e55d7878bc5bd754ee5d6bd7a7662355b',
4025
- sohm: '0xf280f037cdbda99727ddf5dfede91e68fa78605c',
4026
- uni: '0x47173b170c64d16393a52e6c480b3ad8c302ba1e',
4027
- usdc: '0xae2d4617c862309a3d75a0ffb358c7a5009c673f',
4028
- usdt: '0x5041ed759dd4afc3a72b8192c143f72f4724081a',
4029
- weth: '0xe08A8b19e5722a201EaF20A6BC595eF655397bd5',
4030
- zrx: '0x206376e8940e42538781cd94ef024df3c1e0fd43',
4031
- // aTokens
4032
- ausdc: '0x3DdfA8eC3052539b6C9549F12cEA2C295cfF5296',
4033
- ausdt: '0x7d6149ad9a573a6e2ca6ebf7d4897c1b766841b4',
4034
- // cTokens
4035
- ccomp: '0xd74f186194ab9219fafac5c2fe4b3270169666db',
4036
- cdai: '0xab4ce310054a11328685ece1043211b68ba5d082',
4037
- ceth: '0x8aceab8167c80cb8b3de7fa6228b889bb1130ee8',
4038
- cuni: '0x39d8014b4f40d2cbc441137011d32023f4f1fd87',
4039
- cusdc: '0xe1ed4da4284924ddaf69983b4d813fb1be58c380',
4040
- // fTokens
4041
- fdai7: '0x88884e35d7006ae84efef09ee6bc6a43dd8e2bb8',
4042
- feth7: '0xcd2ba6a4d50745b0b4096186f925115387852c15',
4043
- fdai8: '0x93f3f612a525a59523e91cc5552f718df9fc0746',
4044
- ftribe8: '0xdb5ac83c137321da29a59a7592232bc4ed461730',
4045
- // ptTokens
4046
- ptUsdc: '0xd18236cd213f39d078177b6f6908f0e44e88e4aa',
4047
- // synths (unsupported)
4048
- seth: '0xc34a7c65aa08cb36744bda8eeec7b8e9891e147c',
4049
- sxag: '0x40d68c490bf7262ec40048099aec23535f734be2',
4050
- sxau: '0x92eb453b7b5b8d41edb44e2c8b8b53eb70a482c7',
4051
- // misc
4052
- lidoSteth: '0x31f644e2dd5d74f5c8d6d9de89dd517474d51800',
4053
- ust: '0xf584f8728b874a6a5c7a8d4d387c9aae9172d621',
4054
- // Curve steth pool related
4055
- stecrv: '0x56c915758ad3f76fd287fff7563ee313142fb663'
4056
- };
4057
- /* eslint-enable sort-keys-fix/sort-keys-fix */
4058
-
4059
- function unlockWhale(_x) {
4060
- return _unlockWhale.apply(this, arguments);
4061
- }
4062
-
4063
- function _unlockWhale() {
4064
- _unlockWhale = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(token) {
4065
- var address;
4066
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
4067
- while (1) {
4068
- switch (_context.prev = _context.next) {
4069
- case 0:
4070
- address = ethers$1.resolveAddress(whales[token]);
4071
- _context.next = 3;
4072
- return provider.send('hardhat_impersonateAccount', [address]);
4073
-
4074
- case 3:
4075
- return _context.abrupt("return", provider.getSignerWithAddress(address));
4076
-
4077
- case 4:
4078
- case "end":
4079
- return _context.stop();
4080
- }
4081
- }
4082
- }, _callee);
4083
- }));
4084
- return _unlockWhale.apply(this, arguments);
4085
- }
4086
-
4087
- function unlockAllWhales() {
4088
- return _unlockAllWhales.apply(this, arguments);
4089
- }
4090
-
4091
- function _unlockAllWhales() {
4092
- _unlockAllWhales = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee3() {
4093
- var keys, signers;
4094
- return _regeneratorRuntime__default['default'].wrap(function _callee3$(_context3) {
4095
- while (1) {
4096
- switch (_context3.prev = _context3.next) {
4097
- case 0:
4098
- keys = Object.keys(whales);
4099
- _context3.next = 3;
4100
- return Promise.all(keys.map( /*#__PURE__*/function () {
4101
- var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2(token) {
4102
- return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
4103
- while (1) {
4104
- switch (_context2.prev = _context2.next) {
4105
- case 0:
4106
- return _context2.abrupt("return", unlockWhale(token));
4107
-
4108
- case 1:
4109
- case "end":
4110
- return _context2.stop();
4111
- }
4112
- }
4113
- }, _callee2);
4114
- }));
4115
-
4116
- return function (_x2) {
4117
- return _ref.apply(this, arguments);
4118
- };
4119
- }()));
4120
-
4121
- case 3:
4122
- signers = _context3.sent;
4123
- return _context3.abrupt("return", keys.reduce(function (carry, key, index) {
4124
- return _objectSpread(_objectSpread({}, carry), {}, _defineProperty({}, key, signers[index]));
4125
- }, {}));
4126
-
4127
- case 5:
4128
- case "end":
4129
- return _context3.stop();
4130
- }
4131
- }
4132
- }, _callee3);
4133
- }));
4134
- return _unlockAllWhales.apply(this, arguments);
4135
- }
4136
-
4137
- function unlockWhales() {
4138
- return _unlockWhales.apply(this, arguments);
4139
- }
4140
-
4141
- function _unlockWhales() {
4142
- _unlockWhales = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee5() {
4143
- var _len,
4144
- tokens,
4145
- _key,
4146
- signers,
4147
- _args5 = arguments;
4148
-
4149
- return _regeneratorRuntime__default['default'].wrap(function _callee5$(_context5) {
4150
- while (1) {
4151
- switch (_context5.prev = _context5.next) {
4152
- case 0:
4153
- for (_len = _args5.length, tokens = new Array(_len), _key = 0; _key < _len; _key++) {
4154
- tokens[_key] = _args5[_key];
4155
- }
4156
-
4157
- _context5.next = 3;
4158
- return Promise.all(tokens.map( /*#__PURE__*/function () {
4159
- var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee4(token) {
4160
- return _regeneratorRuntime__default['default'].wrap(function _callee4$(_context4) {
4161
- while (1) {
4162
- switch (_context4.prev = _context4.next) {
4163
- case 0:
4164
- return _context4.abrupt("return", unlockWhale(token));
4165
-
4166
- case 1:
4167
- case "end":
4168
- return _context4.stop();
4169
- }
4170
- }
4171
- }, _callee4);
4172
- }));
4173
-
4174
- return function (_x3) {
4175
- return _ref2.apply(this, arguments);
4176
- };
4177
- }()));
4178
-
4179
- case 3:
4180
- signers = _context5.sent;
4181
- return _context5.abrupt("return", tokens.reduce(function (carry, key, index) {
4182
- return _objectSpread(_objectSpread({}, carry), {}, _defineProperty({}, key, signers[index]));
4183
- }, {}));
4184
-
4185
- case 5:
4186
- case "end":
4187
- return _context5.stop();
4188
- }
4189
- }
4190
- }, _callee5);
4191
- }));
4192
- return _unlockWhales.apply(this, arguments);
4193
- }
4194
-
4195
- function relayTransaction(_x) {
4196
- return _relayTransaction.apply(this, arguments);
4197
- }
4198
-
4199
- function _relayTransaction() {
4200
- _relayTransaction = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(options) {
4201
- var signer, _yield$createSignedRe, relayData, relayRequest, signedRelayRequest, defaultGasLimit, defaultMaxAcceptance, mergedRelayRequest, relayHub;
4202
-
4203
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
4204
- while (1) {
4205
- switch (_context.prev = _context.next) {
4206
- case 0:
4207
- signer = options.sendFunction.contract.signer;
4208
-
4209
- if (signer && protocol.isTypedDataSigner(signer)) {
4210
- _context.next = 3;
4211
- break;
4212
- }
4213
-
4214
- throw new Error('Missing or invalid signer');
4215
-
4216
- case 3:
4217
- _context.next = 5;
4218
- return protocol.createSignedRelayRequest(options);
4219
-
4220
- case 5:
4221
- _yield$createSignedRe = _context.sent;
4222
- relayData = _yield$createSignedRe.relayData;
4223
- relayRequest = _yield$createSignedRe.relayRequest;
4224
- signedRelayRequest = _yield$createSignedRe.signedRelayRequest;
4225
- // NOTE: In the real implementation, we fetch these from the relayer.
4226
- defaultGasLimit = 12450000;
4227
- defaultMaxAcceptance = ethers.BigNumber.from(150000); // NOTE: There is an inconsistency between how the typed data object shape and the relayCall argument.
4228
-
4229
- mergedRelayRequest = {
4230
- relayData: relayData,
4231
- request: relayRequest
4232
- };
4233
- relayHub = new protocol.IGsnRelayHub(options.relayHub, provider.getSigner(options.relayWorker));
4234
- return _context.abrupt("return", relayHub.relayCall.args(defaultMaxAcceptance, mergedRelayRequest, signedRelayRequest, '0x', defaultGasLimit).gas(defaultGasLimit, relayData.gasPrice).send());
4235
-
4236
- case 14:
4237
- case "end":
4238
- return _context.stop();
4239
- }
4240
- }
4241
- }, _callee);
4242
- }));
4243
- return _relayTransaction.apply(this, arguments);
4244
- }
4245
-
4246
- 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)');
4247
- 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)');
4248
- function assertDidRelay(receipt) {
4249
- return assertEvent(receipt, relayed, {
4250
- charge: expect.anything(),
4251
- from: expect.any(String),
4252
- paymaster: expect.any(String),
4253
- relayManager: expect.any(String),
4254
- relayWorker: expect.any(String),
4255
- selector: expect.any(String),
4256
- status: expect.anything(),
4257
- to: expect.any(String)
4258
- });
4259
- }
4260
- function assertDidRelaySuccessfully(receipt) {
4261
- var result = assertDidRelay(receipt);
4262
- expect(result.status).toEqBigNumber(0);
4263
- }
4264
- function assertDidRelayWithError(receipt) {
4265
- var result = assertDidRelay(receipt);
4266
- expect(result.status).toEqBigNumber(1);
4267
- }
4268
- function assertDidRelayWithCharge(receipt, amount, tolerance) {
4269
- var result = assertDidRelay(receipt);
4270
- expect(result.charge).toBeAroundBigNumber(amount, tolerance);
4271
- }
4272
- function assertPaymasterDidReject(receipt) {
4273
- return assertEvent(receipt, rejected, {
4274
- from: expect.any(String),
4275
- innerGasUsed: expect.anything(),
4276
- paymaster: expect.any(String),
4277
- reason: expect.any(String),
4278
- relayManager: expect.any(String),
4279
- relayWorker: expect.any(String),
4280
- selector: expect.any(String),
4281
- to: expect.any(String)
4282
- });
4283
- }
4284
- function assertPaymasterDidRejectForReason(receipt, reason) {
4285
- var params = assertPaymasterDidReject(receipt);
4286
- expect(ethers.utils.toUtf8String('0x' + params.reason.substr(138))).toMatch(reason);
4287
- }
4288
-
4289
- exports.CurveLiquidityGaugeV2 = CurveLiquidityGaugeV2;
4290
- exports.CurveMinter = CurveMinter;
4291
- exports.CurveRegistry = CurveRegistry;
4292
- exports.CurveSwaps = CurveSwaps;
4293
- exports.ICompoundComptroller = ICompoundComptroller;
4294
- exports.IUniswapV3NonFungibleTokenManager = IUniswapV3NonFungibleTokenManager;
4295
- exports.UniswapV2Factory = UniswapV2Factory;
4296
- exports.aaveLend = aaveLend;
4297
- exports.aaveRedeem = aaveRedeem;
4298
- exports.addNewAssetsToFund = addNewAssetsToFund;
4299
- exports.addTrackedAssetsToVault = addTrackedAssetsToVault;
4300
- exports.assertCompoundLend = assertCompoundLend;
4301
- exports.assertCompoundRedeem = assertCompoundRedeem;
4302
- exports.assertDidRelay = assertDidRelay;
4303
- exports.assertDidRelaySuccessfully = assertDidRelaySuccessfully;
4304
- exports.assertDidRelayWithCharge = assertDidRelayWithCharge;
4305
- exports.assertDidRelayWithError = assertDidRelayWithError;
4306
- exports.assertEvent = assertEvent;
4307
- exports.assertNoEvent = assertNoEvent;
4308
- exports.assertPaymasterDidReject = assertPaymasterDidReject;
4309
- exports.assertPaymasterDidRejectForReason = assertPaymasterDidRejectForReason;
4310
- exports.buyShares = buyShares;
4311
- exports.buySharesFunction = buySharesFunction;
4312
- exports.calcMlnValueAndBurnAmountForSharesBuyback = calcMlnValueAndBurnAmountForSharesBuyback;
4313
- exports.callOnExtension = callOnExtension;
4314
- exports.callOnExternalPosition = callOnExternalPosition;
4315
- exports.compoundClaim = compoundClaim;
4316
- exports.compoundDebtPositionAddCollateral = compoundDebtPositionAddCollateral;
4317
- exports.compoundDebtPositionBorrow = compoundDebtPositionBorrow;
4318
- exports.compoundDebtPositionClaimComp = compoundDebtPositionClaimComp;
4319
- exports.compoundDebtPositionRemoveCollateral = compoundDebtPositionRemoveCollateral;
4320
- exports.compoundDebtPositionRepayBorrow = compoundDebtPositionRepayBorrow;
4321
- exports.compoundLend = compoundLend;
4322
- exports.compoundRedeem = compoundRedeem;
4323
- exports.createCompoundDebtPosition = createCompoundDebtPosition;
4324
- exports.createComptrollerProxy = createComptrollerProxy;
4325
- exports.createExternalPosition = createExternalPosition;
4326
- exports.createFundDeployer = createFundDeployer;
4327
- exports.createMigrationRequest = createMigrationRequest;
4328
- exports.createMockExternalPosition = createMockExternalPosition;
4329
- exports.createNewFund = createNewFund;
4330
- exports.createReconfigurationRequest = createReconfigurationRequest;
4331
- exports.createUniswapV3LiquidityPosition = createUniswapV3LiquidityPosition;
4332
- exports.createVaultProxy = createVaultProxy;
4333
- exports.curveAaveClaimRewards = curveAaveClaimRewards;
4334
- exports.curveAaveLend = curveAaveLend;
4335
- exports.curveAaveLendAndStake = curveAaveLendAndStake;
4336
- exports.curveAaveRedeem = curveAaveRedeem;
4337
- exports.curveAaveStake = curveAaveStake;
4338
- exports.curveAaveUnstake = curveAaveUnstake;
4339
- exports.curveAaveUnstakeAndRedeem = curveAaveUnstakeAndRedeem;
4340
- exports.curveClaimRewards = curveClaimRewards;
4341
- exports.curveLend = curveLend;
4342
- exports.curveLendAndStake = curveLendAndStake;
4343
- exports.curveRedeem = curveRedeem;
4344
- exports.curveSethClaimRewards = curveSethClaimRewards;
4345
- exports.curveSethLend = curveSethLend;
4346
- exports.curveSethLendAndStake = curveSethLendAndStake;
4347
- exports.curveSethRedeem = curveSethRedeem;
4348
- exports.curveSethStake = curveSethStake;
4349
- exports.curveSethUnstake = curveSethUnstake;
4350
- exports.curveSethUnstakeAndRedeem = curveSethUnstakeAndRedeem;
4351
- exports.curveStake = curveStake;
4352
- exports.curveStethClaimRewards = curveStethClaimRewards;
4353
- exports.curveStethLend = curveStethLend;
4354
- exports.curveStethLendAndStake = curveStethLendAndStake;
4355
- exports.curveStethRedeem = curveStethRedeem;
4356
- exports.curveStethStake = curveStethStake;
4357
- exports.curveStethUnstake = curveStethUnstake;
4358
- exports.curveStethUnstakeAndRedeem = curveStethUnstakeAndRedeem;
4359
- exports.curveTakeOrder = curveTakeOrder;
4360
- exports.curveUnstake = curveUnstake;
4361
- exports.curveUnstakeAndRedeem = curveUnstakeAndRedeem;
4362
- exports.deployProtocolFixture = deployProtocolFixture;
4363
- exports.generateFeeManagerConfigWithMockFees = generateFeeManagerConfigWithMockFees;
4364
- exports.generateMockFees = generateMockFees;
4365
- exports.generateMockPolicies = generateMockPolicies;
4366
- exports.generatePolicyManagerConfigWithMockPolicies = generatePolicyManagerConfigWithMockPolicies;
4367
- exports.getAssetBalances = getAssetBalances;
4368
- exports.getAssetUnit = getAssetUnit;
4369
- exports.getNamedSigner = getNamedSigner;
4370
- exports.getUnnamedSigners = getUnnamedSigners;
4371
- exports.idleClaimRewards = idleClaimRewards;
4372
- exports.idleLend = idleLend;
4373
- exports.idleRedeem = idleRedeem;
4374
- exports.mockExternalPositionAddDebtAssets = mockExternalPositionAddDebtAssets;
4375
- exports.mockExternalPositionAddManagedAssets = mockExternalPositionAddManagedAssets;
4376
- exports.mockExternalPositionRemoveDebtAssets = mockExternalPositionRemoveDebtAssets;
4377
- exports.mockExternalPositionRemoveManagedAssets = mockExternalPositionRemoveManagedAssets;
4378
- exports.mockGenericRemoveOnlySelector = mockGenericRemoveOnlySelector;
4379
- exports.mockGenericSwap = mockGenericSwap;
4380
- exports.mockGenericSwapASelector = mockGenericSwapASelector;
4381
- exports.mockGenericSwapArgs = mockGenericSwapArgs;
4382
- exports.mockGenericSwapBSelector = mockGenericSwapBSelector;
4383
- exports.mockGenericSwapDirectFromVaultSelector = mockGenericSwapDirectFromVaultSelector;
4384
- exports.mockGenericSwapViaApprovalSelector = mockGenericSwapViaApprovalSelector;
4385
- exports.olympusV2Stake = olympusV2Stake;
4386
- exports.olympusV2Unstake = olympusV2Unstake;
4387
- exports.paraSwapV4GenerateDummyPaths = paraSwapV4GenerateDummyPaths;
4388
- exports.paraSwapV4TakeOrder = paraSwapV4TakeOrder;
4389
- exports.paraSwapV5GenerateDummyPaths = paraSwapV5GenerateDummyPaths;
4390
- exports.paraSwapV5TakeOrder = paraSwapV5TakeOrder;
4391
- exports.poolTogetherV4ClaimRewards = poolTogetherV4ClaimRewards;
4392
- exports.poolTogetherV4Lend = poolTogetherV4Lend;
4393
- exports.poolTogetherV4Redeem = poolTogetherV4Redeem;
4394
- exports.reactivateExternalPosition = reactivateExternalPosition;
4395
- exports.redeemSharesForSpecificAssets = redeemSharesForSpecificAssets;
4396
- exports.redeemSharesInKind = redeemSharesInKind;
4397
- exports.relayTransaction = relayTransaction;
4398
- exports.removeExternalPosition = removeExternalPosition;
4399
- exports.removeTrackedAssetsFromVault = removeTrackedAssetsFromVault;
4400
- exports.setupGasRelayerPaymaster = setupGasRelayerPaymaster;
4401
- exports.synthetixAssignExchangeDelegate = synthetixAssignExchangeDelegate;
4402
- exports.synthetixRedeem = synthetixRedeem;
4403
- exports.synthetixTakeOrder = synthetixTakeOrder;
4404
- exports.transactionTimestamp = transactionTimestamp;
4405
- exports.uniswapV2Lend = uniswapV2Lend;
4406
- exports.uniswapV2Redeem = uniswapV2Redeem;
4407
- exports.uniswapV2TakeOrder = uniswapV2TakeOrder;
4408
- exports.uniswapV3LiquidityPositionAddLiquidity = uniswapV3LiquidityPositionAddLiquidity;
4409
- exports.uniswapV3LiquidityPositionCollect = uniswapV3LiquidityPositionCollect;
4410
- exports.uniswapV3LiquidityPositionGetMaxTick = uniswapV3LiquidityPositionGetMaxTick;
4411
- exports.uniswapV3LiquidityPositionGetMinTick = uniswapV3LiquidityPositionGetMinTick;
4412
- exports.uniswapV3LiquidityPositionMint = uniswapV3LiquidityPositionMint;
4413
- exports.uniswapV3LiquidityPositionPurge = uniswapV3LiquidityPositionPurge;
4414
- exports.uniswapV3LiquidityPositionRemoveLiquidity = uniswapV3LiquidityPositionRemoveLiquidity;
4415
- exports.uniswapV3OrderTokenPair = uniswapV3OrderTokenPair;
4416
- exports.uniswapV3TakeOrder = uniswapV3TakeOrder;
4417
- exports.unlockAllWhales = unlockAllWhales;
4418
- exports.unlockWhale = unlockWhale;
4419
- exports.unlockWhales = unlockWhales;
4420
- exports.updateChainlinkAggregator = updateChainlinkAggregator;
4421
- exports.vaultCallCreateNewList = vaultCallCreateNewList;
4422
- exports.vaultCallCurveMinterMint = vaultCallCurveMinterMint;
4423
- exports.vaultCallCurveMinterMintMany = vaultCallCurveMinterMintMany;
4424
- exports.vaultCallCurveMinterToggleApproveMint = vaultCallCurveMinterToggleApproveMint;
4425
- exports.vaultCallStartAssetBypassTimelock = vaultCallStartAssetBypassTimelock;
4426
- exports.yearnVaultV2Lend = yearnVaultV2Lend;
4427
- exports.yearnVaultV2Redeem = yearnVaultV2Redeem;
4428
- exports.zeroExV2TakeOrder = zeroExV2TakeOrder;