@enzymefinance/testutils 4.0.0-next.6 → 4.0.1

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