@enzymefinance/testutils 4.0.0-next.7 → 4.0.2

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 +1553 -0
  2. package/dist/index.js +3352 -0
  3. package/dist/index.mjs +3352 -0
  4. package/package.json +74 -11
  5. package/CHANGELOG.md +0 -60
  6. package/dist/declarations/src/assertions.d.ts +0 -4
  7. package/dist/declarations/src/deployment.d.ts +0 -195
  8. package/dist/declarations/src/gasRelayer.d.ts +0 -56
  9. package/dist/declarations/src/helpers.d.ts +0 -16
  10. package/dist/declarations/src/index.d.ts +0 -6
  11. package/dist/declarations/src/scaffolding/assets.d.ts +0 -10
  12. package/dist/declarations/src/scaffolding/chainlink.d.ts +0 -3
  13. package/dist/declarations/src/scaffolding/common.d.ts +0 -7
  14. package/dist/declarations/src/scaffolding/core.d.ts +0 -16
  15. package/dist/declarations/src/scaffolding/extensions/common.d.ts +0 -11
  16. package/dist/declarations/src/scaffolding/extensions/external-positions/actions.d.ts +0 -36
  17. package/dist/declarations/src/scaffolding/extensions/external-positions/compound.d.ts +0 -56
  18. package/dist/declarations/src/scaffolding/extensions/external-positions/index.d.ts +0 -4
  19. package/dist/declarations/src/scaffolding/extensions/external-positions/mocks.d.ts +0 -56
  20. package/dist/declarations/src/scaffolding/extensions/external-positions/uniswap-v3-liquidity.d.ts +0 -100
  21. package/dist/declarations/src/scaffolding/extensions/fees.d.ts +0 -12
  22. package/dist/declarations/src/scaffolding/extensions/index.d.ts +0 -5
  23. package/dist/declarations/src/scaffolding/extensions/integrations/aave.d.ts +0 -20
  24. package/dist/declarations/src/scaffolding/extensions/integrations/compound.d.ts +0 -56
  25. package/dist/declarations/src/scaffolding/extensions/integrations/curve.d.ts +0 -288
  26. package/dist/declarations/src/scaffolding/extensions/integrations/idle.d.ts +0 -28
  27. package/dist/declarations/src/scaffolding/extensions/integrations/index.d.ts +0 -15
  28. package/dist/declarations/src/scaffolding/extensions/integrations/mock.d.ts +0 -32
  29. package/dist/declarations/src/scaffolding/extensions/integrations/olympusV2.d.ts +0 -17
  30. package/dist/declarations/src/scaffolding/extensions/integrations/paraSwapV4.d.ts +0 -23
  31. package/dist/declarations/src/scaffolding/extensions/integrations/paraSwapV5.d.ts +0 -23
  32. package/dist/declarations/src/scaffolding/extensions/integrations/poolTogetherV4.d.ts +0 -29
  33. package/dist/declarations/src/scaffolding/extensions/integrations/synthetix.d.ts +0 -28
  34. package/dist/declarations/src/scaffolding/extensions/integrations/trackedAssets.d.ts +0 -15
  35. package/dist/declarations/src/scaffolding/extensions/integrations/uniswapV2.d.ts +0 -46
  36. package/dist/declarations/src/scaffolding/extensions/integrations/uniswapV3.d.ts +0 -15
  37. package/dist/declarations/src/scaffolding/extensions/integrations/yearn.d.ts +0 -22
  38. package/dist/declarations/src/scaffolding/extensions/integrations/zeroExV2.d.ts +0 -12
  39. package/dist/declarations/src/scaffolding/extensions/policies.d.ts +0 -17
  40. package/dist/declarations/src/scaffolding/index.d.ts +0 -8
  41. package/dist/declarations/src/scaffolding/setup.d.ts +0 -77
  42. package/dist/declarations/src/scaffolding/shares.d.ts +0 -35
  43. package/dist/declarations/src/scaffolding/vaultCalls.d.ts +0 -32
  44. package/dist/declarations/src/whales.d.ts +0 -49
  45. package/dist/enzymefinance-testutils.browser.cjs.js +0 -4428
  46. package/dist/enzymefinance-testutils.browser.esm.js +0 -4281
  47. package/dist/enzymefinance-testutils.cjs.d.ts +0 -1
  48. package/dist/enzymefinance-testutils.cjs.dev.js +0 -4428
  49. package/dist/enzymefinance-testutils.cjs.js +0 -7
  50. package/dist/enzymefinance-testutils.cjs.prod.js +0 -4428
  51. package/dist/enzymefinance-testutils.esm.js +0 -4281
  52. package/src/assertions.ts +0 -23
  53. package/src/deployment.ts +0 -289
  54. package/src/gasRelayer.ts +0 -95
  55. package/src/helpers.ts +0 -39
  56. package/src/index.ts +0 -6
  57. package/src/scaffolding/assets.ts +0 -37
  58. package/src/scaffolding/chainlink.ts +0 -8
  59. package/src/scaffolding/common.ts +0 -11
  60. package/src/scaffolding/core.ts +0 -103
  61. package/src/scaffolding/extensions/common.ts +0 -30
  62. package/src/scaffolding/extensions/external-positions/actions.ts +0 -108
  63. package/src/scaffolding/extensions/external-positions/compound.ts +0 -190
  64. package/src/scaffolding/extensions/external-positions/index.ts +0 -4
  65. package/src/scaffolding/extensions/external-positions/mocks.ts +0 -191
  66. package/src/scaffolding/extensions/external-positions/uniswap-v3-liquidity.ts +0 -284
  67. package/src/scaffolding/extensions/fees.ts +0 -70
  68. package/src/scaffolding/extensions/index.ts +0 -5
  69. package/src/scaffolding/extensions/integrations/aave.ts +0 -78
  70. package/src/scaffolding/extensions/integrations/compound.ts +0 -255
  71. package/src/scaffolding/extensions/integrations/curve.ts +0 -1029
  72. package/src/scaffolding/extensions/integrations/idle.ts +0 -104
  73. package/src/scaffolding/extensions/integrations/index.ts +0 -15
  74. package/src/scaffolding/extensions/integrations/mock.ts +0 -116
  75. package/src/scaffolding/extensions/integrations/olympusV2.ts +0 -71
  76. package/src/scaffolding/extensions/integrations/paraSwapV4.ts +0 -70
  77. package/src/scaffolding/extensions/integrations/paraSwapV5.ts +0 -73
  78. package/src/scaffolding/extensions/integrations/poolTogetherV4.ts +0 -117
  79. package/src/scaffolding/extensions/integrations/synthetix.ts +0 -111
  80. package/src/scaffolding/extensions/integrations/trackedAssets.ts +0 -48
  81. package/src/scaffolding/extensions/integrations/uniswapV2.ts +0 -175
  82. package/src/scaffolding/extensions/integrations/uniswapV3.ts +0 -55
  83. package/src/scaffolding/extensions/integrations/yearn.ts +0 -79
  84. package/src/scaffolding/extensions/integrations/zeroExV2.ts +0 -47
  85. package/src/scaffolding/extensions/policies.ts +0 -112
  86. package/src/scaffolding/index.ts +0 -8
  87. package/src/scaffolding/setup.ts +0 -243
  88. package/src/scaffolding/shares.ts +0 -80
  89. package/src/scaffolding/vaultCalls.ts +0 -105
  90. package/src/types.d.ts +0 -2
  91. package/src/whales.ts +0 -82
  92. package/tsconfig.json +0 -5
@@ -0,0 +1,1553 @@
1
+ import * as _enzymefinance_ethers from '@enzymefinance/ethers';
2
+ import { AddressLike, ContractReceipt, Contract, Call, Send } from '@enzymefinance/ethers';
3
+ import * as _enzymefinance_hardhat from '@enzymefinance/hardhat';
4
+ import { SignerWithAddress, EthereumTestnetProvider } from '@enzymefinance/hardhat';
5
+ import * as ethers from 'ethers';
6
+ import { utils, BigNumberish, BigNumber, Signer, BytesLike } from 'ethers';
7
+ import * as _enzymefinance_protocol from '@enzymefinance/protocol';
8
+ import { AaveAdapter, AaveDebtPositionLib, AaveDebtPositionParser, AavePriceFeed, AddressListRegistry, AllowedAdapterIncomingAssetsPolicy, AllowedAdaptersPolicy, AllowedAssetsForRedemptionPolicy, AllowedDepositRecipientsPolicy, AllowedExternalPositionTypesPolicy, AllowedSharesTransferRecipientsPolicy, CompoundAdapter, CompoundDebtPositionLib, CompoundDebtPositionParser, CompoundPriceFeed, ComptrollerLib, ConvexCurveLpStakingAdapter, ConvexCurveLpStakingWrapperFactory, ConvexCurveLpStakingWrapperPriceFeed, ConvexVotingPositionLib, ConvexVotingPositionParser, CumulativeSlippageTolerancePolicy, CurveExchangeAdapter, CurveLiquidityAdapter, CurvePriceFeed, DepositWrapper, Dispatcher, EntranceRateBurnFee, EntranceRateDirectFee, ExitRateBurnFee, ExitRateDirectFee, ExternalPositionFactory, ExternalPositionManager, FeeManager, FundDeployer, FundValueCalculator, FundValueCalculatorRouter, FundValueCalculatorUsdWrapper, FuseAdapter, FusePriceFeed, GasRelayPaymasterFactory, GlobalConfigLib, IdleAdapter, IdlePriceFeed, IntegrationManager, LidoStethPriceFeed, LiquityDebtPositionLib, LiquityDebtPositionParser, ManagementFee, MapleLiquidityPositionLib, MapleLiquidityPositionParser, MinAssetBalancesPostRedemptionPolicy, MinMaxInvestmentPolicy, OlympusV2Adapter, OnlyRemoveDustExternalPositionPolicy, OnlyUntrackDustOrPricelessAssetsPolicy, ParaSwapV5Adapter, PerformanceFee, PolicyManager, PoolTogetherV4Adapter, PoolTogetherV4PriceFeed, ProtocolFeeReserveLib, ProtocolFeeTracker, RevertingPriceFeed, SharesSplitterFactory, SynthetixAdapter, UniswapV2ExchangeAdapter, UniswapV2LiquidityAdapter, UniswapV2PoolPriceFeed, UniswapV3Adapter, UnpermissionedActionsWrapper, UsdEthSimulatedAggregator, ValueInterpreter, VaultLib, YearnVaultV2Adapter, YearnVaultV2PriceFeed, ZeroExV2Adapter, ChainlinkRateAsset, CreateSignedRelayRequestOptions, IGsnRelayHub, StandardToken, MockChainlinkPriceSource, IExternalPositionProxy, VotiumClaimParam, MockGenericExternalPositionParser, MockGenericExternalPositionLib, IFee, ICERC20, CurveRedeemType, MockGenericAdapter, ParaSwapV5Path, SignedZeroExV2Order, IPolicy, SharesSplitterLib, ComptrollerProxy, GasRelayPaymasterLib, AddressListUpdateType } from '@enzymefinance/protocol';
9
+ import { MerkleTree } from 'merkletreejs';
10
+
11
+ declare function impersonateContractSigner({ contractAddress, ethSeeder, provider, }: {
12
+ contractAddress: AddressLike;
13
+ ethSeeder: SignerWithAddress;
14
+ provider: EthereumTestnetProvider;
15
+ }): Promise<SignerWithAddress>;
16
+ declare function impersonateSigner({ signerAddress, provider, }: {
17
+ signerAddress: AddressLike;
18
+ provider: EthereumTestnetProvider;
19
+ }): Promise<SignerWithAddress>;
20
+
21
+ declare function assertEvent<TResult = any>(receipt: ContractReceipt<any>, event: utils.EventFragment | string, match?: TResult): NonNullable<TResult>;
22
+ declare function assertNoEvent(receipt: ContractReceipt<any>, event: utils.EventFragment | string): void;
23
+
24
+ declare function getNamedSigner(name: string): Promise<_enzymefinance_hardhat.SignerWithAddress>;
25
+ declare function getUnnamedSigners(): Promise<_enzymefinance_hardhat.SignerWithAddress[]>;
26
+ declare function deployProtocolFixture(): Promise<{
27
+ readonly accounts: _enzymefinance_hardhat.SignerWithAddress[];
28
+ readonly config: DeploymentConfig;
29
+ readonly deployer: _enzymefinance_hardhat.SignerWithAddress;
30
+ readonly deployment: {
31
+ readonly aaveAdapter: AaveAdapter;
32
+ readonly aaveDebtPositionLib: AaveDebtPositionLib;
33
+ readonly aaveDebtPositionParser: AaveDebtPositionParser;
34
+ readonly aavePriceFeed: AavePriceFeed;
35
+ readonly addressListRegistry: AddressListRegistry;
36
+ readonly allowedAdapterIncomingAssetsPolicy: AllowedAdapterIncomingAssetsPolicy;
37
+ readonly allowedAdaptersPolicy: AllowedAdaptersPolicy;
38
+ readonly allowedAssetsForRedemptionPolicy: AllowedAssetsForRedemptionPolicy;
39
+ readonly allowedDepositRecipientsPolicy: AllowedDepositRecipientsPolicy;
40
+ readonly allowedExternalPositionTypesPolicy: AllowedExternalPositionTypesPolicy;
41
+ readonly allowedSharesTransferRecipientsPolicy: AllowedSharesTransferRecipientsPolicy;
42
+ readonly compoundAdapter: CompoundAdapter;
43
+ readonly compoundDebtPositionLib: CompoundDebtPositionLib;
44
+ readonly compoundDebtPositionParser: CompoundDebtPositionParser;
45
+ readonly compoundPriceFeed: CompoundPriceFeed;
46
+ readonly comptrollerLib: ComptrollerLib;
47
+ readonly convexCurveLpStakingAdapter: ConvexCurveLpStakingAdapter;
48
+ readonly convexCurveLpStakingWrapperFactory: ConvexCurveLpStakingWrapperFactory;
49
+ readonly convexCurveLpStakingWrapperPriceFeed: ConvexCurveLpStakingWrapperPriceFeed;
50
+ readonly convexVotingPositionLib: ConvexVotingPositionLib;
51
+ readonly convexVotingPositionParser: ConvexVotingPositionParser;
52
+ readonly cumulativeSlippageTolerancePolicy: CumulativeSlippageTolerancePolicy;
53
+ readonly curveExchangeAdapter: CurveExchangeAdapter;
54
+ readonly curveLiquidityAdapter: CurveLiquidityAdapter;
55
+ readonly curvePriceFeed: CurvePriceFeed;
56
+ readonly depositWrapper: DepositWrapper;
57
+ readonly dispatcher: Dispatcher;
58
+ readonly entranceRateBurnFee: EntranceRateBurnFee;
59
+ readonly entranceRateDirectFee: EntranceRateDirectFee;
60
+ readonly exitRateBurnFee: ExitRateBurnFee;
61
+ readonly exitRateDirectFee: ExitRateDirectFee;
62
+ readonly externalPositionFactory: ExternalPositionFactory;
63
+ readonly externalPositionManager: ExternalPositionManager;
64
+ readonly feeManager: FeeManager;
65
+ readonly fundDeployer: FundDeployer;
66
+ readonly fundValueCalculator: FundValueCalculator;
67
+ readonly fundValueCalculatorRouter: FundValueCalculatorRouter;
68
+ readonly fundValueCalculatorUsdWrapper: FundValueCalculatorUsdWrapper;
69
+ readonly fuseAdapter: FuseAdapter;
70
+ readonly fusePriceFeed: FusePriceFeed;
71
+ readonly gasRelayPaymasterFactory: GasRelayPaymasterFactory;
72
+ readonly globalConfigLib: GlobalConfigLib;
73
+ readonly globalConfigProxy: GlobalConfigLib;
74
+ readonly idleAdapter: IdleAdapter;
75
+ readonly idlePriceFeed: IdlePriceFeed;
76
+ readonly integrationManager: IntegrationManager;
77
+ readonly lidoStethPriceFeed: LidoStethPriceFeed;
78
+ readonly liquityDebtPositionLib: LiquityDebtPositionLib;
79
+ readonly liquityDebtPositionParser: LiquityDebtPositionParser;
80
+ readonly managementFee: ManagementFee;
81
+ readonly mapleLiquidityPositionLib: MapleLiquidityPositionLib;
82
+ readonly mapleLiquidityPositionParser: MapleLiquidityPositionParser;
83
+ readonly minAssetBalancesPostRedemptionPolicy: MinAssetBalancesPostRedemptionPolicy;
84
+ readonly minMaxInvestmentPolicy: MinMaxInvestmentPolicy;
85
+ readonly olympusV2Adapter: OlympusV2Adapter;
86
+ readonly onlyRemoveDustExternalPositionPolicy: OnlyRemoveDustExternalPositionPolicy;
87
+ readonly onlyUntrackDustOrPricelessAssetsPolicy: OnlyUntrackDustOrPricelessAssetsPolicy;
88
+ readonly paraSwapV5Adapter: ParaSwapV5Adapter;
89
+ readonly performanceFee: PerformanceFee;
90
+ readonly policyManager: PolicyManager;
91
+ readonly poolTogetherV4Adapter: PoolTogetherV4Adapter;
92
+ readonly poolTogetherV4PriceFeed: PoolTogetherV4PriceFeed;
93
+ readonly protocolFeeReserveLib: ProtocolFeeReserveLib;
94
+ readonly protocolFeeReserveProxy: ProtocolFeeReserveLib;
95
+ readonly protocolFeeTracker: ProtocolFeeTracker;
96
+ readonly revertingPriceFeed: RevertingPriceFeed;
97
+ readonly sharesSplitterFactory: SharesSplitterFactory;
98
+ readonly synthetixAdapter: SynthetixAdapter;
99
+ readonly uniswapV2ExchangeAdapter: UniswapV2ExchangeAdapter;
100
+ readonly uniswapV2LiquidityAdapter: UniswapV2LiquidityAdapter;
101
+ readonly uniswapV2PoolPriceFeed: UniswapV2PoolPriceFeed;
102
+ readonly uniswapV3Adapter: UniswapV3Adapter;
103
+ readonly unpermissionedActionsWrapper: UnpermissionedActionsWrapper;
104
+ readonly usdEthSimulatedAggregator: UsdEthSimulatedAggregator;
105
+ readonly valueInterpreter: ValueInterpreter;
106
+ readonly vaultLib: VaultLib;
107
+ readonly yearnVaultV2Adapter: YearnVaultV2Adapter;
108
+ readonly yearnVaultV2PriceFeed: YearnVaultV2PriceFeed;
109
+ readonly zeroExV2Adapter: ZeroExV2Adapter;
110
+ };
111
+ }>;
112
+ declare type Resolve<T extends () => any> = ReturnType<T> extends Promise<infer U> ? U : ReturnType<T>;
113
+ declare type ProtocolDeployment = Resolve<typeof deployProtocolFixture>;
114
+
115
+ interface DeploymentConfig {
116
+ feeBps: number;
117
+ feeToken: string;
118
+ feeTokenBurn: {
119
+ burnFromVault: boolean;
120
+ sendToProtocolFeeReserve: boolean;
121
+ externalBurnerAddress: string;
122
+ };
123
+ weth: string;
124
+ wrappedNativeAsset: string;
125
+ primitives: Record<string, string>;
126
+ gsn: {
127
+ relayHub: string;
128
+ relayWorker: string;
129
+ trustedForwarder: string;
130
+ };
131
+ chainlink: {
132
+ ethusd: string;
133
+ aggregators: Record<string, readonly [string, ChainlinkRateAsset]>;
134
+ };
135
+ synthetix: {
136
+ snx: string;
137
+ susd: string;
138
+ delegateApprovals: string;
139
+ originator: string;
140
+ redeemer: string;
141
+ trackingCode: string;
142
+ };
143
+ convex: {
144
+ booster: string;
145
+ crvToken: string;
146
+ cvxCrvStaking: string;
147
+ cvxToken: string;
148
+ vlCvx: string;
149
+ vlCvxExtraRewards: string;
150
+ votiumMultiMerkleStash: string;
151
+ };
152
+ curve: {
153
+ addressProvider: string;
154
+ minter: string;
155
+ nativeAssetAddress: string;
156
+ poolOwner: string;
157
+ pools: Record<string, {
158
+ pool: string;
159
+ lpToken: string;
160
+ liquidityGaugeToken: string;
161
+ invariantProxyAsset: string;
162
+ hasReentrantVirtualPrice: boolean;
163
+ }>;
164
+ virtualPriceDeviationThreshold: number;
165
+ };
166
+ aave: {
167
+ incentivesController: string;
168
+ lendingPoolAddressProvider: string;
169
+ protocolDataProvider: string;
170
+ atokens: Record<string, [string, string]>;
171
+ };
172
+ compound: {
173
+ ceth: string;
174
+ comptroller: string;
175
+ ctokens: Record<string, string>;
176
+ };
177
+ fuse: {
178
+ fetherTokens: Record<string, string>;
179
+ ftokens: Record<string, string>;
180
+ };
181
+ idle: {
182
+ bestYieldIdleDai: string;
183
+ bestYieldIdleUsdc: string;
184
+ bestYieldIdleUsdt: string;
185
+ bestYieldIdleSusd: string;
186
+ bestYieldIdleWbtc: string;
187
+ riskAdjustedIdleDai: string;
188
+ riskAdjustedIdleUsdc: string;
189
+ riskAdjustedIdleUsdt: string;
190
+ };
191
+ lido: {
192
+ steth: string;
193
+ };
194
+ liquity: {
195
+ borrowerOperations: string;
196
+ troveManager: string;
197
+ };
198
+ maple: {
199
+ mplRewardsFactory: string;
200
+ poolFactory: string;
201
+ };
202
+ olympusV2: {
203
+ stakingContract: string;
204
+ };
205
+ paraSwapV5: {
206
+ augustusSwapper: string;
207
+ tokenTransferProxy: string;
208
+ feePartner: string;
209
+ feePercent: number;
210
+ };
211
+ poolTogetherV4: {
212
+ ptTokens: Record<string, [string, string]>;
213
+ };
214
+ positionsLimit: number;
215
+ snapshot: {
216
+ delegateRegistry: string;
217
+ };
218
+ theGraph: {
219
+ stakingProxy: string;
220
+ grt: string;
221
+ };
222
+ unsupportedAssets: Record<string, string>;
223
+ uniswap: {
224
+ factory: string;
225
+ router: string;
226
+ pools: Record<string, string>;
227
+ };
228
+ uniswapV3: {
229
+ router: string;
230
+ nonFungiblePositionManager: string;
231
+ };
232
+ yearn: {
233
+ vaultV2: {
234
+ registry: string;
235
+ yVaults: Record<string, string>;
236
+ };
237
+ };
238
+ zeroex: {
239
+ exchange: string;
240
+ allowedMakers: string[];
241
+ };
242
+ }
243
+
244
+ interface RelayTransactionOptions extends CreateSignedRelayRequestOptions {
245
+ relayHub: string;
246
+ }
247
+ declare function relayTransaction(options: RelayTransactionOptions): Promise<ContractReceipt<_enzymefinance_ethers.SendFunction<[maxAcceptanceBudget: BigNumberish, relayRequest: {
248
+ request: {
249
+ from: _enzymefinance_ethers.AddressLike;
250
+ to: _enzymefinance_ethers.AddressLike;
251
+ value: BigNumberish;
252
+ gas: BigNumberish;
253
+ nonce: BigNumberish;
254
+ data: utils.BytesLike;
255
+ validUntil: BigNumberish;
256
+ };
257
+ relayData: {
258
+ gasPrice: BigNumberish;
259
+ pctRelayFee: BigNumberish;
260
+ baseRelayFee: BigNumberish;
261
+ relayWorker: _enzymefinance_ethers.AddressLike;
262
+ paymaster: _enzymefinance_ethers.AddressLike;
263
+ forwarder: _enzymefinance_ethers.AddressLike;
264
+ paymasterData: utils.BytesLike;
265
+ clientId: BigNumberish;
266
+ };
267
+ }, signature: utils.BytesLike, approvalData: utils.BytesLike, externalGasLimit: BigNumberish], {
268
+ paymasterAccepted: boolean;
269
+ returnValue: string;
270
+ }, IGsnRelayHub>>>;
271
+ declare function assertDidRelay(receipt: ContractReceipt<any>): {
272
+ charge: any;
273
+ from: any;
274
+ paymaster: any;
275
+ relayManager: any;
276
+ relayWorker: any;
277
+ selector: any;
278
+ status: any;
279
+ to: any;
280
+ };
281
+ declare function assertDidRelaySuccessfully(receipt: ContractReceipt<any>): void;
282
+ declare function assertDidRelayWithError(receipt: ContractReceipt<any>): void;
283
+ declare function assertDidRelayWithCharge(receipt: ContractReceipt<any>, amount: BigNumberish, tolerance?: BigNumberish): void;
284
+ declare function assertPaymasterDidReject(receipt: ContractReceipt<any>): {
285
+ from: any;
286
+ innerGasUsed: any;
287
+ paymaster: any;
288
+ reason: any;
289
+ relayManager: any;
290
+ relayWorker: any;
291
+ selector: any;
292
+ to: any;
293
+ };
294
+ declare function assertPaymasterDidRejectForReason(receipt: ContractReceipt<any>, reason: string): void;
295
+
296
+ declare function calcMlnValueAndBurnAmountForSharesBuyback({ valueInterpreter, mln, denominationAsset, sharesSupply, gav, buybackSharesAmount, }: {
297
+ valueInterpreter: ValueInterpreter;
298
+ mln: AddressLike;
299
+ denominationAsset: AddressLike;
300
+ sharesSupply: BigNumberish;
301
+ gav: BigNumberish;
302
+ buybackSharesAmount: BigNumberish;
303
+ }): Promise<{
304
+ mlnAmountToBurn: BigNumber;
305
+ mlnValue: BigNumber;
306
+ }>;
307
+ declare function generateMerkleTreeForContractProof({ itemArrays, itemTypes, }: {
308
+ itemArrays: any[];
309
+ itemTypes: string[];
310
+ }): {
311
+ leaves: string[];
312
+ root: string;
313
+ tree: MerkleTree;
314
+ };
315
+ declare function sendEthBySelfDestruct({ signer, recipient, amount, }: {
316
+ signer: SignerWithAddress;
317
+ recipient: AddressLike;
318
+ amount?: BigNumberish;
319
+ }): Promise<void>;
320
+ declare function transactionTimestamp(receipt: ContractReceipt<any>): Promise<number>;
321
+
322
+ declare function addNewAssetsToFund({ signer, comptrollerProxy, integrationManager, assets, amounts, }: {
323
+ signer: SignerWithAddress;
324
+ comptrollerProxy: ComptrollerLib;
325
+ integrationManager: IntegrationManager;
326
+ assets: StandardToken[];
327
+ amounts?: BigNumberish[];
328
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: _enzymefinance_ethers.AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
329
+
330
+ declare function updateChainlinkAggregator(aggregator: MockChainlinkPriceSource, price?: BigNumberish): Promise<void>;
331
+
332
+ declare function getAssetBalances({ account, assets }: {
333
+ account: AddressLike;
334
+ assets: AddressLike[];
335
+ }): Promise<ethers.BigNumber[]>;
336
+ declare function getAssetUnit(asset: StandardToken): Promise<ethers.BigNumber>;
337
+
338
+ declare function createFundDeployer({ deployer, externalPositionManager, dispatcher, gasRelayPaymasterFactory, valueInterpreter, vaultLib, setOnDispatcher, setReleaseLive, }: {
339
+ deployer: Signer;
340
+ externalPositionManager: ExternalPositionManager;
341
+ dispatcher: Dispatcher;
342
+ feeManager: FeeManager;
343
+ gasRelayPaymasterFactory: GasRelayPaymasterFactory;
344
+ integrationManager: IntegrationManager;
345
+ policyManager: PolicyManager;
346
+ valueInterpreter: ValueInterpreter;
347
+ vaultLib: VaultLib;
348
+ setOnDispatcher?: boolean;
349
+ setReleaseLive?: boolean;
350
+ }): Promise<FundDeployer>;
351
+
352
+ declare function callOnExtension({ comptrollerProxy, extension, actionId, callArgs, signer, }: {
353
+ comptrollerProxy: ComptrollerLib;
354
+ extension: AddressLike;
355
+ actionId: BigNumberish;
356
+ callArgs?: BytesLike;
357
+ signer?: SignerWithAddress;
358
+ }): Promise<any>;
359
+
360
+ declare function aaveDebtPositionAddCollateral({ comptrollerProxy, externalPositionManager, signer, aTokens, amounts, externalPositionProxy, }: {
361
+ comptrollerProxy: ComptrollerLib;
362
+ externalPositionManager: ExternalPositionManager;
363
+ signer: SignerWithAddress;
364
+ aTokens: AddressLike[];
365
+ amounts: BigNumberish[];
366
+ externalPositionProxy: AddressLike;
367
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
368
+ declare function aaveDebtPositionBorrow({ comptrollerProxy, externalPositionManager, signer, tokens, amounts, externalPositionProxy, }: {
369
+ comptrollerProxy: ComptrollerLib;
370
+ externalPositionManager: ExternalPositionManager;
371
+ signer: SignerWithAddress;
372
+ tokens: AddressLike[];
373
+ amounts: BigNumberish[];
374
+ externalPositionProxy: AddressLike;
375
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
376
+ declare function aaveDebtPositionClaimRewards({ comptrollerProxy, externalPositionManager, signer, assets, externalPositionProxy, }: {
377
+ comptrollerProxy: ComptrollerLib;
378
+ externalPositionManager: ExternalPositionManager;
379
+ signer: SignerWithAddress;
380
+ assets: AddressLike[];
381
+ externalPositionProxy: AddressLike;
382
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
383
+ declare function aaveDebtPositionRemoveCollateral({ comptrollerProxy, externalPositionManager, signer, aTokens, amounts, externalPositionProxy, }: {
384
+ comptrollerProxy: ComptrollerLib;
385
+ externalPositionManager: ExternalPositionManager;
386
+ signer: SignerWithAddress;
387
+ aTokens: AddressLike[];
388
+ amounts: BigNumberish[];
389
+ externalPositionProxy: AddressLike;
390
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
391
+ declare function aaveDebtPositionRepayBorrow({ comptrollerProxy, externalPositionManager, signer, tokens, amounts, externalPositionProxy, }: {
392
+ comptrollerProxy: ComptrollerLib;
393
+ externalPositionManager: ExternalPositionManager;
394
+ signer: SignerWithAddress;
395
+ tokens: AddressLike[];
396
+ amounts: BigNumberish[];
397
+ externalPositionProxy: AddressLike;
398
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
399
+ declare function createAaveDebtPosition({ signer, comptrollerProxy, externalPositionManager, }: {
400
+ signer: SignerWithAddress;
401
+ comptrollerProxy: ComptrollerLib;
402
+ externalPositionManager: ExternalPositionManager;
403
+ }): Promise<{
404
+ externalPositionProxy: _enzymefinance_protocol.IExternalPositionProxy;
405
+ receipt: _enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>;
406
+ }>;
407
+
408
+ declare function callOnExternalPosition({ signer, comptrollerProxy, externalPositionManager, externalPositionProxy, actionId, actionArgs, }: {
409
+ signer: SignerWithAddress;
410
+ comptrollerProxy: ComptrollerLib;
411
+ externalPositionManager: ExternalPositionManager;
412
+ externalPositionProxy: AddressLike;
413
+ actionId: BigNumberish;
414
+ actionArgs: BytesLike;
415
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>>;
416
+ declare function createExternalPosition({ signer, comptrollerProxy, externalPositionManager, externalPositionTypeId, initializationData, callOnExternalPositionData, }: {
417
+ signer: SignerWithAddress;
418
+ comptrollerProxy: ComptrollerLib;
419
+ externalPositionManager: ExternalPositionManager;
420
+ externalPositionTypeId: BigNumberish;
421
+ initializationData?: BytesLike;
422
+ callOnExternalPositionData?: BytesLike;
423
+ }): Promise<{
424
+ externalPositionProxy: IExternalPositionProxy;
425
+ receipt: _enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>;
426
+ }>;
427
+ declare function reactivateExternalPosition({ signer, comptrollerProxy, externalPositionManager, externalPositionProxy, }: {
428
+ signer: SignerWithAddress;
429
+ comptrollerProxy: ComptrollerLib;
430
+ externalPositionManager: ExternalPositionManager;
431
+ externalPositionProxy: AddressLike;
432
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>>;
433
+ declare function removeExternalPosition({ signer, comptrollerProxy, externalPositionManager, externalPositionProxy, }: {
434
+ signer: SignerWithAddress;
435
+ comptrollerProxy: ComptrollerLib;
436
+ externalPositionManager: ExternalPositionManager;
437
+ externalPositionProxy: AddressLike;
438
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>>;
439
+
440
+ declare function compoundDebtPositionAddCollateral({ comptrollerProxy, externalPositionManager, fundOwner, assets, amounts, externalPositionProxy, cTokens, }: {
441
+ comptrollerProxy: ComptrollerLib;
442
+ externalPositionManager: ExternalPositionManager;
443
+ fundOwner: SignerWithAddress;
444
+ assets: AddressLike[];
445
+ cTokens: AddressLike[];
446
+ amounts: BigNumberish[];
447
+ externalPositionProxy: AddressLike;
448
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
449
+ declare function compoundDebtPositionBorrow({ comptrollerProxy, externalPositionManager, fundOwner, externalPositionProxy, assets, amounts, cTokens, }: {
450
+ comptrollerProxy: ComptrollerLib;
451
+ vaultProxy: VaultLib;
452
+ externalPositionManager: ExternalPositionManager;
453
+ fundOwner: SignerWithAddress;
454
+ externalPositionProxy: AddressLike;
455
+ assets: AddressLike[];
456
+ amounts: BigNumberish[];
457
+ cTokens: AddressLike[];
458
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
459
+ declare function compoundDebtPositionClaimComp({ comptrollerProxy, externalPositionManager, fundOwner, externalPositionProxy, }: {
460
+ comptrollerProxy: ComptrollerLib;
461
+ vaultProxy: VaultLib;
462
+ externalPositionManager: ExternalPositionManager;
463
+ fundOwner: SignerWithAddress;
464
+ externalPositionProxy: AddressLike;
465
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
466
+ declare function compoundDebtPositionRemoveCollateral({ comptrollerProxy, externalPositionManager, fundOwner, assets, amounts, externalPositionProxy, cTokens, }: {
467
+ comptrollerProxy: ComptrollerLib;
468
+ externalPositionManager: ExternalPositionManager;
469
+ fundOwner: SignerWithAddress;
470
+ assets: AddressLike[];
471
+ amounts: BigNumberish[];
472
+ externalPositionProxy: AddressLike;
473
+ cTokens: AddressLike[];
474
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
475
+ declare function compoundDebtPositionRepayBorrow({ comptrollerProxy, externalPositionManager, fundOwner, assets, amounts, externalPositionProxy, cTokens, }: {
476
+ comptrollerProxy: ComptrollerLib;
477
+ externalPositionManager: ExternalPositionManager;
478
+ fundOwner: SignerWithAddress;
479
+ assets: AddressLike[];
480
+ amounts: BigNumberish[];
481
+ externalPositionProxy: AddressLike;
482
+ cTokens: AddressLike[];
483
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
484
+ declare function createCompoundDebtPosition({ signer, comptrollerProxy, externalPositionManager, }: {
485
+ signer: SignerWithAddress;
486
+ comptrollerProxy: ComptrollerLib;
487
+ externalPositionManager: ExternalPositionManager;
488
+ }): Promise<{
489
+ externalPositionProxy: _enzymefinance_protocol.IExternalPositionProxy;
490
+ receipt: _enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>;
491
+ }>;
492
+
493
+ declare function createConvexVotingPosition({ signer, comptrollerProxy, externalPositionManager, }: {
494
+ signer: SignerWithAddress;
495
+ comptrollerProxy: ComptrollerLib;
496
+ externalPositionManager: ExternalPositionManager;
497
+ }): Promise<{
498
+ externalPositionProxy: _enzymefinance_protocol.IExternalPositionProxy;
499
+ receipt: _enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>;
500
+ }>;
501
+ declare function convexVotingPositionClaimRewards({ comptrollerProxy, externalPositionManager, signer, externalPositionProxy, claimLockerRewards, extraRewardTokens, votiumClaims, unstakeCvxCrv, allTokensToTransfer, }: {
502
+ comptrollerProxy: ComptrollerLib;
503
+ externalPositionManager: ExternalPositionManager;
504
+ signer: SignerWithAddress;
505
+ externalPositionProxy: AddressLike;
506
+ claimLockerRewards: boolean;
507
+ extraRewardTokens: AddressLike[];
508
+ votiumClaims: VotiumClaimParam[];
509
+ unstakeCvxCrv: boolean;
510
+ allTokensToTransfer: AddressLike[];
511
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
512
+ declare function convexVotingPositionDelegate({ comptrollerProxy, externalPositionManager, signer, externalPositionProxy, delegatee, }: {
513
+ comptrollerProxy: ComptrollerLib;
514
+ externalPositionManager: ExternalPositionManager;
515
+ signer: SignerWithAddress;
516
+ externalPositionProxy: AddressLike;
517
+ delegatee: AddressLike;
518
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
519
+ declare function convexVotingPositionLock({ comptrollerProxy, externalPositionManager, signer, externalPositionProxy, amount, spendRatio, }: {
520
+ comptrollerProxy: ComptrollerLib;
521
+ externalPositionManager: ExternalPositionManager;
522
+ signer: SignerWithAddress;
523
+ externalPositionProxy: AddressLike;
524
+ amount: BigNumberish;
525
+ spendRatio?: BigNumberish;
526
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
527
+ declare function convexVotingPositionRelock({ comptrollerProxy, externalPositionManager, signer, externalPositionProxy, }: {
528
+ comptrollerProxy: ComptrollerLib;
529
+ externalPositionManager: ExternalPositionManager;
530
+ signer: SignerWithAddress;
531
+ externalPositionProxy: AddressLike;
532
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
533
+ declare function convexVotingPositionWithdraw({ comptrollerProxy, externalPositionManager, signer, externalPositionProxy, }: {
534
+ comptrollerProxy: ComptrollerLib;
535
+ externalPositionManager: ExternalPositionManager;
536
+ signer: SignerWithAddress;
537
+ externalPositionProxy: AddressLike;
538
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
539
+
540
+ interface ILiquityTroveManager extends Contract<ILiquityTroveManager> {
541
+ getBorrowingFee: Call<(_LUSDDebt: BigNumberish) => BigNumber>;
542
+ }
543
+ declare const ILiquityTroveManager: _enzymefinance_ethers.ContractFactory<ILiquityTroveManager, never>;
544
+ interface ILiquityHintHelper extends Contract<ILiquityHintHelper> {
545
+ getApproxHint: Call<(_cr: BigNumberish, _numTrials: BigNumberish, _inputRandomSeed: BigNumberish) => [hintAddress_: AddressLike, diff_: BigNumber, latestRandomSeed_: BigNumber]>;
546
+ }
547
+ declare const ILiquityHintHelper: _enzymefinance_ethers.ContractFactory<ILiquityHintHelper, never>;
548
+ interface ILiquitySortedTroves extends Contract<ILiquitySortedTroves> {
549
+ findInsertPosition: Call<(_icr: BigNumberish, _prevId: AddressLike, _nextId: AddressLike) => [prevId_: AddressLike, nextId_: AddressLike]>;
550
+ }
551
+ declare const ILiquitySortedTroves: _enzymefinance_ethers.ContractFactory<ILiquitySortedTroves, never>;
552
+ declare function createLiquityDebtPosition({ signer, comptrollerProxy, externalPositionManager, }: {
553
+ signer: SignerWithAddress;
554
+ comptrollerProxy: ComptrollerLib;
555
+ externalPositionManager: ExternalPositionManager;
556
+ }): Promise<{
557
+ externalPositionProxy: _enzymefinance_protocol.IExternalPositionProxy;
558
+ receipt: _enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>;
559
+ }>;
560
+ declare function liquityCalcHints({ collateralAmount, debtAmount, // Total debt, inclusive of fees
561
+ numTrials, // See note above for recommended value. This helper uses a static value for testing purposes.
562
+ liquitySortedTroves, liquityHintHelper, inputRandomSeed, }: {
563
+ collateralAmount: BigNumber;
564
+ debtAmount: BigNumber;
565
+ numTrials?: BigNumber;
566
+ liquitySortedTroves: ILiquitySortedTroves;
567
+ liquityHintHelper: ILiquityHintHelper;
568
+ inputRandomSeed?: BigNumber;
569
+ }): Promise<{
570
+ lowerHint: AddressLike;
571
+ upperHint: AddressLike;
572
+ }>;
573
+ declare function liquityDebtPositionAddCollateral({ comptrollerProxy, externalPositionManager, signer, collateralAmount, upperHint, lowerHint, externalPositionProxy, }: {
574
+ comptrollerProxy: ComptrollerLib;
575
+ externalPositionManager: ExternalPositionManager;
576
+ signer: SignerWithAddress;
577
+ collateralAmount: BigNumberish;
578
+ upperHint: AddressLike;
579
+ lowerHint: AddressLike;
580
+ externalPositionProxy: AddressLike;
581
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
582
+ declare function liquityDebtPositionBorrow({ comptrollerProxy, externalPositionManager, signer, maxFeePercentage, lusdAmount, upperHint, lowerHint, externalPositionProxy, }: {
583
+ comptrollerProxy: ComptrollerLib;
584
+ externalPositionManager: ExternalPositionManager;
585
+ signer: SignerWithAddress;
586
+ maxFeePercentage: BigNumberish;
587
+ lusdAmount: BigNumberish;
588
+ upperHint: AddressLike;
589
+ lowerHint: AddressLike;
590
+ externalPositionProxy: AddressLike;
591
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
592
+ declare function liquityDebtPositionCloseTrove({ comptrollerProxy, externalPositionManager, signer, externalPositionProxy, }: {
593
+ comptrollerProxy: ComptrollerLib;
594
+ externalPositionManager: ExternalPositionManager;
595
+ signer: SignerWithAddress;
596
+ externalPositionProxy: AddressLike;
597
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
598
+ declare function liquityDebtPositionOpenTrove({ comptrollerProxy, externalPositionManager, signer, maxFeePercentage, collateralAmount, lusdAmount, upperHint, lowerHint, externalPositionProxy, }: {
599
+ comptrollerProxy: ComptrollerLib;
600
+ externalPositionManager: ExternalPositionManager;
601
+ signer: SignerWithAddress;
602
+ maxFeePercentage: BigNumberish;
603
+ collateralAmount: BigNumberish;
604
+ lusdAmount: BigNumberish;
605
+ upperHint: AddressLike;
606
+ lowerHint: AddressLike;
607
+ externalPositionProxy: AddressLike;
608
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
609
+ declare function liquityDebtPositionRemoveCollateral({ comptrollerProxy, externalPositionManager, signer, collateralAmount, upperHint, lowerHint, externalPositionProxy, }: {
610
+ comptrollerProxy: ComptrollerLib;
611
+ externalPositionManager: ExternalPositionManager;
612
+ signer: SignerWithAddress;
613
+ collateralAmount: BigNumberish;
614
+ upperHint: AddressLike;
615
+ lowerHint: AddressLike;
616
+ externalPositionProxy: AddressLike;
617
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
618
+ declare function liquityDebtPositionRepay({ comptrollerProxy, externalPositionManager, signer, lusdAmount, upperHint, lowerHint, externalPositionProxy, }: {
619
+ comptrollerProxy: ComptrollerLib;
620
+ externalPositionManager: ExternalPositionManager;
621
+ signer: SignerWithAddress;
622
+ lusdAmount: BigNumberish;
623
+ upperHint: AddressLike;
624
+ lowerHint: AddressLike;
625
+ externalPositionProxy: AddressLike;
626
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
627
+
628
+ declare function createMapleLiquidityPosition({ signer, comptrollerProxy, externalPositionManager, }: {
629
+ signer: SignerWithAddress;
630
+ comptrollerProxy: ComptrollerLib;
631
+ externalPositionManager: ExternalPositionManager;
632
+ }): Promise<{
633
+ externalPositionProxy: _enzymefinance_protocol.IExternalPositionProxy;
634
+ receipt: _enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>;
635
+ }>;
636
+ declare function mapleLiquidityPositionClaimInterest({ comptrollerProxy, externalPositionManager, signer, pool, externalPositionProxy, }: {
637
+ comptrollerProxy: ComptrollerLib;
638
+ externalPositionManager: ExternalPositionManager;
639
+ signer: SignerWithAddress;
640
+ pool: AddressLike;
641
+ externalPositionProxy: AddressLike;
642
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
643
+ declare function mapleLiquidityPositionClaimRewards({ comptrollerProxy, externalPositionManager, signer, rewardsContract, externalPositionProxy, }: {
644
+ comptrollerProxy: ComptrollerLib;
645
+ externalPositionManager: ExternalPositionManager;
646
+ signer: SignerWithAddress;
647
+ rewardsContract: AddressLike;
648
+ externalPositionProxy: AddressLike;
649
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
650
+ declare function mapleLiquidityPositionIntendToRedeem({ comptrollerProxy, externalPositionManager, signer, pool, externalPositionProxy, }: {
651
+ comptrollerProxy: ComptrollerLib;
652
+ externalPositionManager: ExternalPositionManager;
653
+ signer: SignerWithAddress;
654
+ pool: AddressLike;
655
+ externalPositionProxy: AddressLike;
656
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
657
+ declare function mapleLiquidityPositionLend({ comptrollerProxy, externalPositionManager, signer, liquidityAssetAmount, pool, externalPositionProxy, }: {
658
+ comptrollerProxy: ComptrollerLib;
659
+ externalPositionManager: ExternalPositionManager;
660
+ signer: SignerWithAddress;
661
+ pool: AddressLike;
662
+ liquidityAssetAmount: BigNumberish;
663
+ externalPositionProxy: AddressLike;
664
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
665
+ declare function mapleLiquidityPositionLendAndStake({ comptrollerProxy, externalPositionManager, signer, liquidityAssetAmount, pool, rewardsContract, externalPositionProxy, }: {
666
+ comptrollerProxy: ComptrollerLib;
667
+ externalPositionManager: ExternalPositionManager;
668
+ signer: SignerWithAddress;
669
+ pool: AddressLike;
670
+ rewardsContract: AddressLike;
671
+ liquidityAssetAmount: BigNumberish;
672
+ externalPositionProxy: AddressLike;
673
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
674
+ declare function mapleLiquidityPositionRedeem({ comptrollerProxy, externalPositionManager, signer, liquidityAssetAmount, pool, externalPositionProxy, }: {
675
+ comptrollerProxy: ComptrollerLib;
676
+ externalPositionManager: ExternalPositionManager;
677
+ signer: SignerWithAddress;
678
+ liquidityAsset: AddressLike;
679
+ pool: AddressLike;
680
+ liquidityAssetAmount: BigNumberish;
681
+ externalPositionProxy: AddressLike;
682
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
683
+ declare function mapleLiquidityPositionStake({ comptrollerProxy, externalPositionManager, signer, poolTokenAmount, pool, rewardsContract, externalPositionProxy, }: {
684
+ comptrollerProxy: ComptrollerLib;
685
+ externalPositionManager: ExternalPositionManager;
686
+ signer: SignerWithAddress;
687
+ poolTokenAmount: BigNumberish;
688
+ pool: AddressLike;
689
+ rewardsContract: AddressLike;
690
+ externalPositionProxy: AddressLike;
691
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
692
+ declare function mapleLiquidityPositionUnstake({ comptrollerProxy, externalPositionManager, signer, poolTokenAmount, rewardsContract, externalPositionProxy, }: {
693
+ comptrollerProxy: ComptrollerLib;
694
+ externalPositionManager: ExternalPositionManager;
695
+ signer: SignerWithAddress;
696
+ poolTokenAmount: BigNumberish;
697
+ rewardsContract: AddressLike;
698
+ externalPositionProxy: AddressLike;
699
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
700
+ declare function mapleLiquidityPositionUnstakeAndRedeem({ comptrollerProxy, externalPositionManager, signer, pool, poolTokenAmount, rewardsContract, externalPositionProxy, }: {
701
+ comptrollerProxy: ComptrollerLib;
702
+ externalPositionManager: ExternalPositionManager;
703
+ signer: SignerWithAddress;
704
+ pool: AddressLike;
705
+ poolTokenAmount: BigNumberish;
706
+ rewardsContract: AddressLike;
707
+ externalPositionProxy: AddressLike;
708
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
709
+
710
+ declare function createMockExternalPosition({ comptrollerProxy, externalPositionManager, externalPositionFactory, defaultActionAssetsToTransfer, defaultActionAmountsToTransfer, defaultActionAssetsToReceive, fundOwner, deployer, }: {
711
+ comptrollerProxy: ComptrollerLib;
712
+ externalPositionManager: ExternalPositionManager;
713
+ externalPositionFactory: ExternalPositionFactory;
714
+ defaultActionAssetsToTransfer: AddressLike[];
715
+ defaultActionAmountsToTransfer: BigNumberish[];
716
+ defaultActionAssetsToReceive: AddressLike[];
717
+ fundOwner: SignerWithAddress;
718
+ deployer: SignerWithAddress;
719
+ }): Promise<{
720
+ externalPositionProxy: string;
721
+ mockExternalPositionParser: MockGenericExternalPositionParser;
722
+ mockGenericExternalPositionLib: MockGenericExternalPositionLib;
723
+ receipt: {
724
+ externalPositionProxy: _enzymefinance_protocol.IExternalPositionProxy;
725
+ receipt: _enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>;
726
+ };
727
+ typeId: ethers.BigNumber;
728
+ }>;
729
+ declare function mockExternalPositionAddDebtAssets({ signer, comptrollerProxy, externalPositionManager, externalPositionProxy, assets, amounts, }: {
730
+ signer: SignerWithAddress;
731
+ comptrollerProxy: ComptrollerLib;
732
+ externalPositionManager: ExternalPositionManager;
733
+ externalPositionProxy: AddressLike;
734
+ assets: AddressLike[];
735
+ amounts: BigNumberish[];
736
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
737
+ declare function mockExternalPositionAddManagedAssets({ signer, comptrollerProxy, externalPositionManager, externalPositionProxy, assets, amounts, }: {
738
+ signer: SignerWithAddress;
739
+ comptrollerProxy: ComptrollerLib;
740
+ externalPositionManager: ExternalPositionManager;
741
+ externalPositionProxy: AddressLike;
742
+ assets: AddressLike[];
743
+ amounts: BigNumberish[];
744
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
745
+ declare function mockExternalPositionRemoveDebtAssets({ signer, comptrollerProxy, externalPositionManager, externalPositionProxy, assets, amounts, }: {
746
+ signer: SignerWithAddress;
747
+ comptrollerProxy: ComptrollerLib;
748
+ externalPositionManager: ExternalPositionManager;
749
+ externalPositionProxy: AddressLike;
750
+ assets: AddressLike[];
751
+ amounts: BigNumberish[];
752
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
753
+ declare function mockExternalPositionRemoveManagedAssets({ signer, comptrollerProxy, externalPositionManager, externalPositionProxy, assets, amounts, }: {
754
+ signer: SignerWithAddress;
755
+ comptrollerProxy: ComptrollerLib;
756
+ externalPositionManager: ExternalPositionManager;
757
+ externalPositionProxy: AddressLike;
758
+ assets: AddressLike[];
759
+ amounts: BigNumberish[];
760
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
761
+
762
+ declare function theGraphDelegationPositionDelegate({ comptrollerProxy, externalPositionManager, signer, indexer, tokens, externalPositionProxy, }: {
763
+ comptrollerProxy: ComptrollerLib;
764
+ externalPositionManager: ExternalPositionManager;
765
+ signer: SignerWithAddress;
766
+ indexer: AddressLike;
767
+ tokens: BigNumberish;
768
+ externalPositionProxy: AddressLike;
769
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
770
+ declare function theGraphDelegationPositionUndelegate({ comptrollerProxy, externalPositionManager, signer, indexer, shares, externalPositionProxy, }: {
771
+ comptrollerProxy: ComptrollerLib;
772
+ externalPositionManager: ExternalPositionManager;
773
+ signer: SignerWithAddress;
774
+ indexer: AddressLike;
775
+ shares: BigNumberish;
776
+ externalPositionProxy: AddressLike;
777
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
778
+ declare function theGraphDelegationPositionWithdraw({ comptrollerProxy, externalPositionManager, signer, indexer, nextIndexer, externalPositionProxy, }: {
779
+ comptrollerProxy: ComptrollerLib;
780
+ externalPositionManager: ExternalPositionManager;
781
+ signer: SignerWithAddress;
782
+ indexer: AddressLike;
783
+ nextIndexer: AddressLike;
784
+ externalPositionProxy: AddressLike;
785
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
786
+ declare function createTheGraphDelegationPosition({ signer, comptrollerProxy, externalPositionManager, }: {
787
+ signer: SignerWithAddress;
788
+ comptrollerProxy: ComptrollerLib;
789
+ externalPositionManager: ExternalPositionManager;
790
+ }): Promise<{
791
+ externalPositionProxy: _enzymefinance_protocol.IExternalPositionProxy;
792
+ receipt: _enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>;
793
+ }>;
794
+
795
+ declare enum UniswapV3FeeAmount {
796
+ LOW = 500,
797
+ MEDIUM = 3000,
798
+ HIGH = 10000
799
+ }
800
+ declare const uniswapV3LiquidityPositionGetMinTick: (tickSpacing: number) => number;
801
+ declare const uniswapV3LiquidityPositionGetMaxTick: (tickSpacing: number) => number;
802
+ interface IUniswapV3NonFungibleTokenManager extends Contract<IUniswapV3NonFungibleTokenManager> {
803
+ positions: Call<(tokenId: BigNumberish) => {
804
+ nonce: BigNumber;
805
+ operator: string;
806
+ token0: string;
807
+ token1: string;
808
+ fee: BigNumber;
809
+ tickLower: BigNumber;
810
+ tickUpper: BigNumber;
811
+ liquidity: BigNumber;
812
+ feeGrowthInside0LastX128: BigNumber;
813
+ feeGrowthInside1LastX128: BigNumber;
814
+ tokensOwed0: BigNumber;
815
+ tokensOwed1: BigNumber;
816
+ }>;
817
+ }
818
+ declare const IUniswapV3NonFungibleTokenManager: _enzymefinance_ethers.ContractFactory<IUniswapV3NonFungibleTokenManager, never>;
819
+ declare function createUniswapV3LiquidityPosition({ signer, comptrollerProxy, externalPositionManager, callOnExternalPositionData, }: {
820
+ signer: SignerWithAddress;
821
+ comptrollerProxy: ComptrollerLib;
822
+ externalPositionManager: ExternalPositionManager;
823
+ callOnExternalPositionData?: BytesLike;
824
+ }): Promise<{
825
+ externalPositionProxyAddress: string;
826
+ receipt: _enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>;
827
+ }>;
828
+ declare function uniswapV3LiquidityPositionAddLiquidity({ signer, comptrollerProxy, externalPositionManager, externalPositionProxy, nftId, amount0Desired, amount1Desired, amount0Min, amount1Min, }: {
829
+ signer: SignerWithAddress;
830
+ comptrollerProxy: ComptrollerLib;
831
+ externalPositionManager: ExternalPositionManager;
832
+ externalPositionProxy: AddressLike;
833
+ nftId: BigNumberish;
834
+ amount0Desired: BigNumberish;
835
+ amount1Desired: BigNumberish;
836
+ amount0Min?: BigNumberish;
837
+ amount1Min?: BigNumberish;
838
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>>;
839
+ declare function uniswapV3LiquidityPositionCollect({ signer, comptrollerProxy, externalPositionManager, externalPositionProxy, nftId, }: {
840
+ signer: SignerWithAddress;
841
+ comptrollerProxy: ComptrollerLib;
842
+ externalPositionManager: ExternalPositionManager;
843
+ externalPositionProxy: AddressLike;
844
+ nftId: BigNumberish;
845
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>>;
846
+ declare function uniswapV3LiquidityPositionMint({ signer, comptrollerProxy, externalPositionManager, externalPositionProxy, token0, token1, fee, tickLower, tickUpper, amount0Desired, amount1Desired, amount0Min, amount1Min, }: {
847
+ signer: SignerWithAddress;
848
+ comptrollerProxy: ComptrollerLib;
849
+ externalPositionManager: ExternalPositionManager;
850
+ externalPositionProxy: AddressLike;
851
+ token0: AddressLike;
852
+ token1: AddressLike;
853
+ fee: BigNumberish;
854
+ tickLower: BigNumberish;
855
+ tickUpper: BigNumberish;
856
+ amount0Desired: BigNumberish;
857
+ amount1Desired: BigNumberish;
858
+ amount0Min?: BigNumberish;
859
+ amount1Min?: BigNumberish;
860
+ }): Promise<{
861
+ nftId: any;
862
+ receipt: _enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>;
863
+ }>;
864
+ declare function uniswapV3LiquidityPositionPurge({ signer, comptrollerProxy, externalPositionManager, externalPositionProxy, nftId, liquidity, amount0Min, amount1Min, }: {
865
+ signer: SignerWithAddress;
866
+ comptrollerProxy: ComptrollerLib;
867
+ externalPositionManager: ExternalPositionManager;
868
+ externalPositionProxy: AddressLike;
869
+ nftId: BigNumberish;
870
+ liquidity: BigNumberish;
871
+ amount0Min?: BigNumberish;
872
+ amount1Min?: BigNumberish;
873
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>>;
874
+ declare function uniswapV3LiquidityPositionRemoveLiquidity({ signer, comptrollerProxy, externalPositionManager, externalPositionProxy, nftId, liquidity, amount0Min, amount1Min, }: {
875
+ signer: SignerWithAddress;
876
+ comptrollerProxy: ComptrollerLib;
877
+ externalPositionManager: ExternalPositionManager;
878
+ externalPositionProxy: AddressLike;
879
+ nftId: BigNumberish;
880
+ liquidity: BigNumberish;
881
+ amount0Min?: BigNumberish;
882
+ amount1Min?: BigNumberish;
883
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>>;
884
+ declare function uniswapV3OrderTokenPair({ tokenA, tokenB }: {
885
+ tokenA: AddressLike;
886
+ tokenB: AddressLike;
887
+ }): {
888
+ token0: string;
889
+ token1: string;
890
+ };
891
+
892
+ declare function generateFeeManagerConfigWithMockFees({ deployer }: {
893
+ deployer: SignerWithAddress;
894
+ }): Promise<string>;
895
+ declare function generateMockFees({ deployer }: {
896
+ deployer: SignerWithAddress;
897
+ }): Promise<{
898
+ mockContinuousFeeSettleOnly: _enzymefinance_ethers.MockContract<IFee>;
899
+ mockContinuousFeeWithGavAndUpdates: _enzymefinance_ethers.MockContract<IFee>;
900
+ mockPostBuySharesFee: _enzymefinance_ethers.MockContract<IFee>;
901
+ }>;
902
+
903
+ declare function aaveLend({ comptrollerProxy, integrationManager, fundOwner, aaveAdapter, aToken, amount, }: {
904
+ comptrollerProxy: ComptrollerLib;
905
+ integrationManager: IntegrationManager;
906
+ fundOwner: SignerWithAddress;
907
+ aaveAdapter: AaveAdapter;
908
+ aToken: StandardToken;
909
+ amount?: BigNumberish;
910
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: _enzymefinance_ethers.AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
911
+ declare function aaveRedeem({ comptrollerProxy, integrationManager, fundOwner, aaveAdapter, aToken, amount, }: {
912
+ comptrollerProxy: ComptrollerLib;
913
+ integrationManager: IntegrationManager;
914
+ fundOwner: SignerWithAddress;
915
+ aaveAdapter: AaveAdapter;
916
+ aToken: StandardToken;
917
+ amount?: BigNumberish;
918
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: _enzymefinance_ethers.AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
919
+
920
+ interface ICompoundComptroller extends Contract<ICompoundComptroller> {
921
+ claimComp: Send<(_account: AddressLike) => void>;
922
+ }
923
+ declare const ICompoundComptroller: _enzymefinance_ethers.ContractFactory<ICompoundComptroller, never>;
924
+ declare function assertCompoundLend({ tokenWhale, comptrollerProxy, vaultProxy, integrationManager, fundOwner, compoundAdapter, tokenAmount, cToken, compoundPriceFeed, }: {
925
+ tokenWhale: SignerWithAddress;
926
+ comptrollerProxy: ComptrollerLib;
927
+ vaultProxy: VaultLib;
928
+ integrationManager: IntegrationManager;
929
+ fundOwner: SignerWithAddress;
930
+ compoundAdapter: CompoundAdapter;
931
+ tokenAmount?: BigNumber;
932
+ cToken: ICERC20;
933
+ compoundPriceFeed: CompoundPriceFeed;
934
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
935
+ declare function assertCompoundRedeem({ comptrollerProxy, vaultProxy, integrationManager, fundOwner, compoundAdapter, cToken, compoundPriceFeed, }: {
936
+ comptrollerProxy: ComptrollerLib;
937
+ vaultProxy: VaultLib;
938
+ integrationManager: IntegrationManager;
939
+ fundOwner: SignerWithAddress;
940
+ compoundAdapter: CompoundAdapter;
941
+ cToken: ICERC20;
942
+ compoundPriceFeed: CompoundPriceFeed;
943
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
944
+ declare function compoundClaim({ comptrollerProxy, integrationManager, fundOwner, compoundAdapter, compoundComptroller, cTokens, }: {
945
+ comptrollerProxy: ComptrollerLib;
946
+ integrationManager: IntegrationManager;
947
+ fundOwner: SignerWithAddress;
948
+ compoundAdapter: CompoundAdapter;
949
+ compoundComptroller: AddressLike;
950
+ cTokens: AddressLike[];
951
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
952
+ declare function compoundLend({ comptrollerProxy, integrationManager, fundOwner, compoundAdapter, cToken, tokenAmount, cTokenAmount, }: {
953
+ comptrollerProxy: ComptrollerLib;
954
+ integrationManager: IntegrationManager;
955
+ fundOwner: SignerWithAddress;
956
+ compoundAdapter: CompoundAdapter;
957
+ cToken: AddressLike;
958
+ tokenAmount?: BigNumberish;
959
+ cTokenAmount?: BigNumberish;
960
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
961
+ declare function compoundRedeem({ comptrollerProxy, integrationManager, fundOwner, compoundAdapter, cToken, tokenAmount, cTokenAmount, }: {
962
+ comptrollerProxy: ComptrollerLib;
963
+ vaultProxy: VaultLib;
964
+ integrationManager: IntegrationManager;
965
+ fundOwner: SignerWithAddress;
966
+ compoundAdapter: CompoundAdapter;
967
+ cToken: AddressLike;
968
+ tokenAmount?: BigNumberish;
969
+ cTokenAmount?: BigNumberish;
970
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
971
+
972
+ interface CurveLiquidityGaugeV2 extends Contract<CurveLiquidityGaugeV2> {
973
+ claim_rewards: Send<(_addr: AddressLike) => void>;
974
+ integrate_fraction: Call<(_for: AddressLike) => BigNumber>;
975
+ }
976
+ declare const CurveLiquidityGaugeV2: _enzymefinance_ethers.ContractFactory<CurveLiquidityGaugeV2, never>;
977
+ interface CurveRegistry extends Contract<CurveRegistry> {
978
+ get_coins: Call<(_pool: AddressLike) => AddressLike[]>;
979
+ get_lp_token: Call<(_pool: AddressLike) => AddressLike>;
980
+ }
981
+ declare const CurveRegistry: _enzymefinance_ethers.ContractFactory<CurveRegistry, never>;
982
+ interface CurveSwaps extends Contract<CurveSwaps> {
983
+ get_best_rate: Call<(_from: AddressLike, to: AddressLike, amount: BigNumberish) => {
984
+ bestPool: AddressLike;
985
+ amountReceived: BigNumber;
986
+ }, CurveSwaps>;
987
+ }
988
+ declare const CurveSwaps: _enzymefinance_ethers.ContractFactory<CurveSwaps, never>;
989
+ interface CurveMinter extends Contract<CurveMinter> {
990
+ mint_for: Send<(_gauge_address: AddressLike, _for: AddressLike) => void>;
991
+ }
992
+ declare const CurveMinter: _enzymefinance_ethers.ContractFactory<CurveMinter, never>;
993
+ declare function curveTakeOrder({ comptrollerProxy, integrationManager, fundOwner, curveExchangeAdapter, pool, outgoingAsset, outgoingAssetAmount, incomingAsset, minIncomingAssetAmount, }: {
994
+ comptrollerProxy: ComptrollerLib;
995
+ integrationManager: IntegrationManager;
996
+ fundOwner: SignerWithAddress;
997
+ curveExchangeAdapter: CurveExchangeAdapter;
998
+ pool: AddressLike;
999
+ outgoingAsset: StandardToken;
1000
+ outgoingAssetAmount?: BigNumberish;
1001
+ incomingAsset: StandardToken;
1002
+ minIncomingAssetAmount?: BigNumberish;
1003
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>>;
1004
+ declare function curveClaimRewards({ comptrollerProxy, integrationManager, fundOwner, curveLiquidityAdapter, stakingToken, }: {
1005
+ comptrollerProxy: ComptrollerLib;
1006
+ integrationManager: IntegrationManager;
1007
+ fundOwner: SignerWithAddress;
1008
+ curveLiquidityAdapter: CurveLiquidityAdapter;
1009
+ stakingToken: AddressLike;
1010
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>>;
1011
+ declare function curveLend({ comptrollerProxy, integrationManager, signer, curveLiquidityAdapter, pool, orderedOutgoingAssetAmounts, minIncomingLpTokenAmount, useUnderlyings, }: {
1012
+ comptrollerProxy: ComptrollerLib;
1013
+ integrationManager: IntegrationManager;
1014
+ signer: SignerWithAddress;
1015
+ curveLiquidityAdapter: CurveLiquidityAdapter;
1016
+ pool: AddressLike;
1017
+ orderedOutgoingAssetAmounts: BigNumberish[];
1018
+ minIncomingLpTokenAmount?: BigNumberish;
1019
+ useUnderlyings: boolean;
1020
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>>;
1021
+ declare function curveLendAndStake({ comptrollerProxy, integrationManager, signer, curveLiquidityAdapter, pool, orderedOutgoingAssetAmounts, incomingStakingToken, minIncomingStakingTokenAmount, useUnderlyings, }: {
1022
+ comptrollerProxy: ComptrollerLib;
1023
+ integrationManager: IntegrationManager;
1024
+ signer: SignerWithAddress;
1025
+ curveLiquidityAdapter: CurveLiquidityAdapter;
1026
+ pool: AddressLike;
1027
+ orderedOutgoingAssetAmounts: BigNumberish[];
1028
+ incomingStakingToken: AddressLike;
1029
+ minIncomingStakingTokenAmount?: BigNumberish;
1030
+ useUnderlyings: boolean;
1031
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>>;
1032
+ declare function curveRedeem({ comptrollerProxy, integrationManager, signer, curveLiquidityAdapter, pool, outgoingLpTokenAmount, useUnderlyings, redeemType, incomingAssetData, }: {
1033
+ comptrollerProxy: ComptrollerLib;
1034
+ integrationManager: IntegrationManager;
1035
+ signer: SignerWithAddress;
1036
+ curveLiquidityAdapter: CurveLiquidityAdapter;
1037
+ pool: AddressLike;
1038
+ outgoingLpTokenAmount: BigNumberish;
1039
+ useUnderlyings: boolean;
1040
+ redeemType: CurveRedeemType;
1041
+ incomingAssetData: BytesLike;
1042
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>>;
1043
+ declare function curveStake({ comptrollerProxy, integrationManager, signer, curveLiquidityAdapter, pool, incomingStakingToken, amount, }: {
1044
+ comptrollerProxy: ComptrollerLib;
1045
+ integrationManager: IntegrationManager;
1046
+ signer: SignerWithAddress;
1047
+ curveLiquidityAdapter: CurveLiquidityAdapter;
1048
+ pool: AddressLike;
1049
+ incomingStakingToken: AddressLike;
1050
+ amount: BigNumberish;
1051
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>>;
1052
+ declare function curveUnstake({ comptrollerProxy, integrationManager, signer, curveLiquidityAdapter, pool, outgoingStakingToken, amount, }: {
1053
+ comptrollerProxy: ComptrollerLib;
1054
+ integrationManager: IntegrationManager;
1055
+ signer: SignerWithAddress;
1056
+ curveLiquidityAdapter: CurveLiquidityAdapter;
1057
+ pool: AddressLike;
1058
+ outgoingStakingToken: AddressLike;
1059
+ amount: BigNumberish;
1060
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>>;
1061
+ declare function curveUnstakeAndRedeem({ comptrollerProxy, integrationManager, signer, curveLiquidityAdapter, pool, outgoingStakingToken, outgoingStakingTokenAmount, useUnderlyings, redeemType, incomingAssetData, }: {
1062
+ comptrollerProxy: ComptrollerLib;
1063
+ integrationManager: IntegrationManager;
1064
+ signer: SignerWithAddress;
1065
+ curveLiquidityAdapter: CurveLiquidityAdapter;
1066
+ pool: AddressLike;
1067
+ outgoingStakingToken: StandardToken;
1068
+ outgoingStakingTokenAmount: BigNumberish;
1069
+ useUnderlyings: boolean;
1070
+ redeemType: CurveRedeemType;
1071
+ incomingAssetData: BytesLike;
1072
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>>;
1073
+
1074
+ declare function idleClaimRewards({ comptrollerProxy, integrationManager, fundOwner, idleAdapter, idleToken, }: {
1075
+ comptrollerProxy: ComptrollerLib;
1076
+ integrationManager: IntegrationManager;
1077
+ fundOwner: SignerWithAddress;
1078
+ idleAdapter: IdleAdapter;
1079
+ idleToken: StandardToken;
1080
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: _enzymefinance_ethers.AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
1081
+ declare function idleLend({ comptrollerProxy, integrationManager, fundOwner, idleAdapter, idleToken, outgoingUnderlyingAmount, minIncomingIdleTokenAmount, }: {
1082
+ comptrollerProxy: ComptrollerLib;
1083
+ integrationManager: IntegrationManager;
1084
+ fundOwner: SignerWithAddress;
1085
+ idleAdapter: IdleAdapter;
1086
+ idleToken: StandardToken;
1087
+ outgoingUnderlyingAmount: BigNumberish;
1088
+ minIncomingIdleTokenAmount?: BigNumberish;
1089
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: _enzymefinance_ethers.AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
1090
+ declare function idleRedeem({ comptrollerProxy, integrationManager, fundOwner, idleAdapter, idleToken, outgoingIdleTokenAmount, minIncomingUnderlyingAmount, }: {
1091
+ comptrollerProxy: ComptrollerLib;
1092
+ integrationManager: IntegrationManager;
1093
+ fundOwner: SignerWithAddress;
1094
+ idleAdapter: IdleAdapter;
1095
+ idleToken: StandardToken;
1096
+ outgoingIdleTokenAmount: BigNumberish;
1097
+ minIncomingUnderlyingAmount?: BigNumberish;
1098
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: _enzymefinance_ethers.AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
1099
+
1100
+ declare const mockGenericRemoveOnlySelector: string;
1101
+ declare const mockGenericSwapASelector: string;
1102
+ declare const mockGenericSwapBSelector: string;
1103
+ declare const mockGenericSwapDirectFromVaultSelector: string;
1104
+ declare const mockGenericSwapViaApprovalSelector: string;
1105
+ declare function mockGenericSwapArgs({ spendAssets, actualSpendAssetAmounts, maxSpendAssetAmounts, incomingAssets, actualIncomingAssetAmounts, minIncomingAssetAmounts, }: {
1106
+ spendAssets?: AddressLike[];
1107
+ maxSpendAssetAmounts?: BigNumberish[];
1108
+ actualSpendAssetAmounts?: BigNumberish[];
1109
+ incomingAssets?: AddressLike[];
1110
+ minIncomingAssetAmounts?: BigNumberish[];
1111
+ actualIncomingAssetAmounts?: BigNumberish[];
1112
+ }): string;
1113
+ declare function mockGenericSwap({ comptrollerProxy, vaultProxy, integrationManager, fundOwner, mockGenericAdapter, selector, spendAssets, actualSpendAssetAmounts, maxSpendAssetAmounts, incomingAssets, actualIncomingAssetAmounts, minIncomingAssetAmounts, seedFund, }: {
1114
+ comptrollerProxy: ComptrollerLib;
1115
+ vaultProxy: VaultLib;
1116
+ integrationManager: IntegrationManager;
1117
+ fundOwner: SignerWithAddress;
1118
+ mockGenericAdapter: MockGenericAdapter;
1119
+ selector?: BytesLike;
1120
+ spendAssets?: StandardToken[];
1121
+ maxSpendAssetAmounts?: BigNumberish[];
1122
+ actualSpendAssetAmounts?: BigNumberish[];
1123
+ incomingAssets?: StandardToken[];
1124
+ minIncomingAssetAmounts?: BigNumberish[];
1125
+ actualIncomingAssetAmounts?: BigNumberish[];
1126
+ seedFund?: boolean;
1127
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>>;
1128
+
1129
+ declare function olympusV2Stake({ comptrollerProxy, integrationManager, signer, olympusV2Adapter, amount, }: {
1130
+ comptrollerProxy: ComptrollerLib;
1131
+ integrationManager: IntegrationManager;
1132
+ signer: SignerWithAddress;
1133
+ olympusV2Adapter: OlympusV2Adapter;
1134
+ amount: BigNumberish;
1135
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: _enzymefinance_ethers.AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
1136
+ declare function olympusV2Unstake({ comptrollerProxy, integrationManager, signer, olympusV2Adapter, amount, }: {
1137
+ comptrollerProxy: ComptrollerLib;
1138
+ integrationManager: IntegrationManager;
1139
+ signer: SignerWithAddress;
1140
+ olympusV2Adapter: OlympusV2Adapter;
1141
+ amount: BigNumberish;
1142
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: _enzymefinance_ethers.AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
1143
+
1144
+ declare function paraSwapV5GenerateDummyPaths({ toTokens }: {
1145
+ toTokens: AddressLike[];
1146
+ }): {
1147
+ adapters: never[];
1148
+ to: AddressLike;
1149
+ totalNetworkFee: number;
1150
+ }[];
1151
+ declare function paraSwapV5TakeOrder({ comptrollerProxy, integrationManager, fundOwner, paraSwapV5Adapter, outgoingAsset, outgoingAssetAmount, minIncomingAssetAmount, expectedIncomingAssetAmount, uuid, paths, }: {
1152
+ comptrollerProxy: ComptrollerLib;
1153
+ integrationManager: IntegrationManager;
1154
+ fundOwner: SignerWithAddress;
1155
+ paraSwapV5Adapter: ParaSwapV5Adapter;
1156
+ outgoingAsset: StandardToken;
1157
+ outgoingAssetAmount: BigNumberish;
1158
+ minIncomingAssetAmount?: BigNumberish;
1159
+ expectedIncomingAssetAmount?: BigNumberish;
1160
+ uuid?: BytesLike;
1161
+ paths: ParaSwapV5Path[];
1162
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>>;
1163
+
1164
+ declare function poolTogetherV4Lend({ comptrollerProxy, integrationManager, fundOwner, poolTogetherV4Adapter, ptToken, amount, }: {
1165
+ comptrollerProxy: ComptrollerLib;
1166
+ integrationManager: IntegrationManager;
1167
+ fundOwner: SignerWithAddress;
1168
+ poolTogetherV4Adapter: PoolTogetherV4Adapter;
1169
+ ptToken: StandardToken;
1170
+ amount?: BigNumberish;
1171
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>>;
1172
+ declare function poolTogetherV4Redeem({ comptrollerProxy, integrationManager, fundOwner, poolTogetherV4Adapter, ptToken, amount, }: {
1173
+ comptrollerProxy: ComptrollerLib;
1174
+ integrationManager: IntegrationManager;
1175
+ fundOwner: SignerWithAddress;
1176
+ poolTogetherV4Adapter: PoolTogetherV4Adapter;
1177
+ ptToken: StandardToken;
1178
+ amount?: BigNumberish;
1179
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>>;
1180
+ declare function poolTogetherV4ClaimRewards({ comptrollerProxy, integrationManager, fundOwner, poolTogetherV4Adapter, prizeDistributor, drawIds, winningPicks, }: {
1181
+ comptrollerProxy: ComptrollerLib;
1182
+ integrationManager: IntegrationManager;
1183
+ fundOwner: SignerWithAddress;
1184
+ poolTogetherV4Adapter: PoolTogetherV4Adapter;
1185
+ prizeDistributor: AddressLike;
1186
+ drawIds: BigNumberish[];
1187
+ winningPicks: BytesLike;
1188
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>>;
1189
+
1190
+ declare function synthetixAssignExchangeDelegate({ comptrollerProxy, synthetixDelegateApprovals, fundOwner, delegate, }: {
1191
+ comptrollerProxy: ComptrollerLib;
1192
+ synthetixDelegateApprovals: AddressLike;
1193
+ fundOwner: Signer;
1194
+ delegate: AddressLike;
1195
+ }): Promise<void>;
1196
+ declare function synthetixRedeem({ comptrollerProxy, integrationManager, signer, synthetixAdapter, synths, }: {
1197
+ comptrollerProxy: ComptrollerLib;
1198
+ integrationManager: IntegrationManager;
1199
+ signer: Signer;
1200
+ synthetixAdapter: SynthetixAdapter;
1201
+ synths: AddressLike[];
1202
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
1203
+ declare function synthetixTakeOrder({ comptrollerProxy, vaultProxy, integrationManager, fundOwner, synthetixAdapter, outgoingAsset, outgoingAssetAmount, minIncomingSusdAmount, seedFund, }: {
1204
+ comptrollerProxy: ComptrollerLib;
1205
+ vaultProxy: VaultLib;
1206
+ integrationManager: IntegrationManager;
1207
+ fundOwner: Signer;
1208
+ synthetixAdapter: SynthetixAdapter;
1209
+ outgoingAsset: StandardToken;
1210
+ outgoingAssetAmount?: BigNumberish;
1211
+ minIncomingSusdAmount?: BigNumberish;
1212
+ seedFund?: boolean;
1213
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
1214
+
1215
+ declare function addTrackedAssetsToVault({ signer, comptrollerProxy, integrationManager, assets, }: {
1216
+ signer: SignerWithAddress;
1217
+ comptrollerProxy: ComptrollerLib;
1218
+ integrationManager: IntegrationManager;
1219
+ assets: AddressLike[];
1220
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: ethers.BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
1221
+ declare function removeTrackedAssetsFromVault({ signer, comptrollerProxy, integrationManager, assets, }: {
1222
+ signer: SignerWithAddress;
1223
+ comptrollerProxy: ComptrollerLib;
1224
+ integrationManager: IntegrationManager;
1225
+ assets: AddressLike[];
1226
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: ethers.BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
1227
+
1228
+ interface UniswapV2Factory extends Contract<UniswapV2Factory> {
1229
+ createPair: Send<(_token0: AddressLike, _token1: AddressLike) => AddressLike>;
1230
+ getPair: Call<(_token0: AddressLike, _token1: AddressLike) => AddressLike>;
1231
+ }
1232
+ declare const UniswapV2Factory: _enzymefinance_ethers.ContractFactory<UniswapV2Factory, never>;
1233
+ declare function uniswapV2Lend({ comptrollerProxy, vaultProxy, integrationManager, fundOwner, uniswapV2LiquidityAdapter, tokenA, tokenB, amountADesired, amountBDesired, amountAMin, amountBMin, minPoolTokenAmount, seedFund, }: {
1234
+ comptrollerProxy: ComptrollerLib;
1235
+ vaultProxy: VaultLib;
1236
+ integrationManager: IntegrationManager;
1237
+ fundOwner: SignerWithAddress;
1238
+ uniswapV2LiquidityAdapter: UniswapV2LiquidityAdapter;
1239
+ tokenA: StandardToken;
1240
+ tokenB: StandardToken;
1241
+ amountADesired: BigNumberish;
1242
+ amountBDesired: BigNumberish;
1243
+ amountAMin: BigNumberish;
1244
+ amountBMin: BigNumberish;
1245
+ minPoolTokenAmount: BigNumberish;
1246
+ seedFund?: boolean;
1247
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
1248
+ declare function uniswapV2Redeem({ comptrollerProxy, integrationManager, fundOwner, uniswapV2LiquidityAdapter, poolTokenAmount, tokenA, tokenB, amountAMin, amountBMin, }: {
1249
+ comptrollerProxy: ComptrollerLib;
1250
+ integrationManager: IntegrationManager;
1251
+ fundOwner: SignerWithAddress;
1252
+ uniswapV2LiquidityAdapter: UniswapV2LiquidityAdapter;
1253
+ poolTokenAmount: BigNumberish;
1254
+ tokenA: AddressLike;
1255
+ tokenB: AddressLike;
1256
+ amountAMin: BigNumberish;
1257
+ amountBMin: BigNumberish;
1258
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
1259
+ declare function uniswapV2TakeOrder({ comptrollerProxy, vaultProxy, integrationManager, fundOwner, uniswapV2ExchangeAdapter, path, outgoingAssetAmount, minIncomingAssetAmount, seedFund, }: {
1260
+ comptrollerProxy: ComptrollerLib;
1261
+ vaultProxy: VaultLib;
1262
+ integrationManager: IntegrationManager;
1263
+ fundOwner: SignerWithAddress;
1264
+ uniswapV2ExchangeAdapter: UniswapV2ExchangeAdapter;
1265
+ path: StandardToken[];
1266
+ outgoingAssetAmount: BigNumberish;
1267
+ minIncomingAssetAmount: BigNumberish;
1268
+ seedFund?: boolean;
1269
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
1270
+
1271
+ declare function uniswapV3TakeOrder({ comptrollerProxy, integrationManager, fundOwner, uniswapV3Adapter, pathAddresses, pathFees, outgoingAssetAmount, minIncomingAssetAmount, seedFund, }: {
1272
+ comptrollerProxy: ComptrollerLib;
1273
+ integrationManager: IntegrationManager;
1274
+ fundOwner: SignerWithAddress;
1275
+ uniswapV3Adapter: AddressLike;
1276
+ pathAddresses: StandardToken[];
1277
+ pathFees: BigNumber[];
1278
+ outgoingAssetAmount: BigNumberish;
1279
+ minIncomingAssetAmount?: BigNumberish;
1280
+ seedFund?: boolean;
1281
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
1282
+
1283
+ declare function yearnVaultV2Lend({ signer, comptrollerProxy, integrationManager, yearnVaultV2Adapter, yVault, outgoingUnderlyingAmount, minIncomingYVaultSharesAmount, }: {
1284
+ signer: SignerWithAddress;
1285
+ comptrollerProxy: ComptrollerLib;
1286
+ integrationManager: IntegrationManager;
1287
+ yearnVaultV2Adapter: YearnVaultV2Adapter;
1288
+ yVault: StandardToken;
1289
+ outgoingUnderlyingAmount: BigNumberish;
1290
+ minIncomingYVaultSharesAmount?: BigNumberish;
1291
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: _enzymefinance_ethers.AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
1292
+ declare function yearnVaultV2Redeem({ signer, comptrollerProxy, integrationManager, yearnVaultV2Adapter, yVault, maxOutgoingYVaultSharesAmount, minIncomingUnderlyingAmount, slippageToleranceBps, }: {
1293
+ signer: SignerWithAddress;
1294
+ comptrollerProxy: ComptrollerLib;
1295
+ integrationManager: IntegrationManager;
1296
+ yearnVaultV2Adapter: YearnVaultV2Adapter;
1297
+ yVault: StandardToken;
1298
+ maxOutgoingYVaultSharesAmount: BigNumberish;
1299
+ minIncomingUnderlyingAmount?: BigNumberish;
1300
+ slippageToleranceBps?: BigNumberish;
1301
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: _enzymefinance_ethers.AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
1302
+
1303
+ declare function zeroExV2TakeOrder({ comptrollerProxy, integrationManager, fundOwner, zeroExV2Adapter, signedOrder, takerAssetFillAmount, }: {
1304
+ comptrollerProxy: ComptrollerLib;
1305
+ vaultProxy: VaultLib;
1306
+ integrationManager: IntegrationManager;
1307
+ fundOwner: SignerWithAddress;
1308
+ zeroExV2Adapter: ZeroExV2Adapter;
1309
+ signedOrder: SignedZeroExV2Order;
1310
+ takerAssetFillAmount: BigNumberish;
1311
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: _enzymefinance_ethers.AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
1312
+
1313
+ declare function generatePolicyManagerConfigWithMockPolicies({ deployer }: {
1314
+ deployer: Signer;
1315
+ }): Promise<string>;
1316
+ declare function generateMockPolicies({ deployer }: {
1317
+ deployer: Signer;
1318
+ }): Promise<{
1319
+ mockAddTrackedAssetsPolicy: _enzymefinance_ethers.MockContract<IPolicy>;
1320
+ mockCreateExternalPositionPolicy: _enzymefinance_ethers.MockContract<IPolicy>;
1321
+ mockPostBuySharesPolicy: _enzymefinance_ethers.MockContract<IPolicy>;
1322
+ mockPostCallOnExternalPositionPolicy: _enzymefinance_ethers.MockContract<IPolicy>;
1323
+ mockPostCoIPolicy: _enzymefinance_ethers.MockContract<IPolicy>;
1324
+ mockPreTransferSharesPolicy: _enzymefinance_ethers.MockContract<IPolicy>;
1325
+ mockRedeemSharesForSpecificAssetsPolicy: _enzymefinance_ethers.MockContract<IPolicy>;
1326
+ mockRemoveExternalPositionPolicy: _enzymefinance_ethers.MockContract<IPolicy>;
1327
+ }>;
1328
+
1329
+ interface IConvexBaseRewardPool extends Contract<IConvexBaseRewardPool> {
1330
+ stakeFor: Send<(forUser: AddressLike, amount: BigNumberish) => boolean>;
1331
+ }
1332
+ declare const IConvexBaseRewardPool: _enzymefinance_ethers.ContractFactory<IConvexBaseRewardPool, never>;
1333
+ interface IConvexCrvDepositor extends Contract<IConvexCrvDepositor> {
1334
+ deposit: Send<(amount: BigNumberish, lock: boolean) => void>;
1335
+ }
1336
+ declare const IConvexCrvDepositor: _enzymefinance_ethers.ContractFactory<IConvexCrvDepositor, never>;
1337
+ interface IConvexCvxLocker extends Contract<IConvexCvxLocker> {
1338
+ balanceOf: Call<(account: AddressLike) => BigNumber>;
1339
+ checkpointEpoch: Send<() => void>;
1340
+ getReward: Send<(account: AddressLike, stake: boolean) => void>;
1341
+ lockedBalanceOf: Call<(account: AddressLike) => BigNumber>;
1342
+ }
1343
+ declare const IConvexCvxLocker: _enzymefinance_ethers.ContractFactory<IConvexCvxLocker, never>;
1344
+ interface IConvexVlCvxExtraRewardDistribution extends Contract<IConvexVlCvxExtraRewardDistribution> {
1345
+ addReward: Send<(token: AddressLike, amount: BigNumberish) => void>;
1346
+ claimableRewards: Call<(account: AddressLike, token: AddressLike) => BigNumber>;
1347
+ }
1348
+ declare const IConvexVlCvxExtraRewardDistribution: _enzymefinance_ethers.ContractFactory<IConvexVlCvxExtraRewardDistribution, never>;
1349
+ interface ISnapshotDelegateRegistry extends Contract<ISnapshotDelegateRegistry> {
1350
+ delegation: Call<(account: AddressLike, id: BytesLike) => AddressLike>;
1351
+ }
1352
+ declare const ISnapshotDelegateRegistry: _enzymefinance_ethers.ContractFactory<ISnapshotDelegateRegistry, never>;
1353
+ interface IVotiumMultiMerkleStash extends Contract<IVotiumMultiMerkleStash> {
1354
+ owner: Call<() => AddressLike>;
1355
+ updateMerkleRoot: Send<(token: AddressLike, merkleRoot: BytesLike) => void>;
1356
+ }
1357
+ declare const IVotiumMultiMerkleStash: _enzymefinance_ethers.ContractFactory<IVotiumMultiMerkleStash, never>;
1358
+
1359
+ declare function deploySharesSplitter({ signer, sharesSplitterFactory, splitUsers, splitPercentages, }: {
1360
+ signer: SignerWithAddress;
1361
+ sharesSplitterFactory: SharesSplitterFactory;
1362
+ splitUsers: AddressLike[];
1363
+ splitPercentages: BigNumberish[];
1364
+ }): Promise<{
1365
+ receipt: _enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_users: AddressLike[], _splitPercentages: BigNumberish[]], string, SharesSplitterFactory>>;
1366
+ sharesSplitterProxy: SharesSplitterLib;
1367
+ }>;
1368
+
1369
+ interface BuySharesParams {
1370
+ comptrollerProxy: ComptrollerLib;
1371
+ denominationAsset: StandardToken;
1372
+ buyer: SignerWithAddress;
1373
+ investmentAmount?: BigNumberish;
1374
+ minSharesQuantity?: BigNumberish;
1375
+ seedBuyer?: boolean;
1376
+ }
1377
+ interface RedeemSharesForSpecificAssetsParams {
1378
+ comptrollerProxy: ComptrollerLib;
1379
+ signer: SignerWithAddress;
1380
+ recipient?: AddressLike;
1381
+ quantity?: BigNumberish;
1382
+ payoutAssets: AddressLike[];
1383
+ payoutAssetPercentages: BigNumberish[];
1384
+ }
1385
+ interface RedeemSharesInKindParams {
1386
+ comptrollerProxy: ComptrollerLib;
1387
+ signer: SignerWithAddress;
1388
+ recipient?: AddressLike;
1389
+ quantity?: BigNumberish;
1390
+ additionalAssets?: AddressLike[];
1391
+ assetsToSkip?: AddressLike[];
1392
+ }
1393
+ declare function buyShares(options: BuySharesParams): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_investmentAmount: BigNumberish, _minSharesQuantity: BigNumberish], ethers.BigNumber, ComptrollerLib>>>;
1394
+ declare function buySharesFunction({ comptrollerProxy, denominationAsset, buyer, investmentAmount, minSharesQuantity, seedBuyer, }: BuySharesParams): Promise<_enzymefinance_ethers.Send<(_investmentAmount: BigNumberish, _minSharesQuantity: BigNumberish) => ethers.BigNumber, ComptrollerLib>>;
1395
+ declare function redeemSharesForSpecificAssets({ comptrollerProxy, signer, recipient, quantity, payoutAssets, payoutAssetPercentages, }: RedeemSharesForSpecificAssetsParams): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_recipient: AddressLike, _sharesQuantity: BigNumberish, _payoutAssets: AddressLike[], _payoutAssetPercentages: BigNumberish[]], ethers.BigNumber[], ComptrollerLib>>>;
1396
+ declare function redeemSharesInKind({ comptrollerProxy, signer, recipient, quantity, additionalAssets, assetsToSkip, }: RedeemSharesInKindParams): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_recipient: AddressLike, _sharesQuantity: BigNumberish, _additionalAssets: AddressLike[], _assetsToSkip: AddressLike[]], {
1397
+ payoutAssets_: string[];
1398
+ payoutAmounts_: ethers.BigNumber[];
1399
+ }, ComptrollerLib>>>;
1400
+
1401
+ declare type InitialInvestmentParams = Omit<BuySharesParams, 'comptrollerProxy' | 'denominationAsset'>;
1402
+ interface CreateMigrationRequestParams {
1403
+ signer: SignerWithAddress;
1404
+ fundDeployer: FundDeployer;
1405
+ vaultProxy: AddressLike;
1406
+ denominationAsset: AddressLike;
1407
+ sharesActionTimelock?: BigNumberish;
1408
+ feeManagerConfigData?: BytesLike;
1409
+ policyManagerConfigData?: BytesLike;
1410
+ bypassPrevReleaseFailure?: boolean;
1411
+ }
1412
+ interface CreateNewFundParams {
1413
+ signer: SignerWithAddress;
1414
+ fundDeployer: FundDeployer;
1415
+ denominationAsset: StandardToken;
1416
+ sharesActionTimelock?: BigNumberish;
1417
+ fundOwner?: AddressLike;
1418
+ fundName?: string;
1419
+ fundSymbol?: string;
1420
+ feeManagerConfig?: BytesLike;
1421
+ policyManagerConfig?: BytesLike;
1422
+ investment?: InitialInvestmentParams;
1423
+ }
1424
+ interface CreateReconfigurationRequestParams {
1425
+ signer: SignerWithAddress;
1426
+ fundDeployer: FundDeployer;
1427
+ vaultProxy: AddressLike;
1428
+ denominationAsset: AddressLike;
1429
+ sharesActionTimelock?: BigNumberish;
1430
+ feeManagerConfigData?: BytesLike;
1431
+ policyManagerConfigData?: BytesLike;
1432
+ }
1433
+ declare function createComptrollerProxy({ signer, comptrollerLib, denominationAsset, sharesActionTimelock, }: {
1434
+ signer: SignerWithAddress;
1435
+ comptrollerLib: ComptrollerLib;
1436
+ denominationAsset: AddressLike;
1437
+ sharesActionTimelock?: BigNumberish;
1438
+ }): Promise<{
1439
+ comptrollerProxy: ComptrollerLib;
1440
+ receipt: _enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.ConstructorFunction<any, ComptrollerProxy>>;
1441
+ }>;
1442
+ declare function createMigrationRequest({ signer, fundDeployer, vaultProxy, denominationAsset, sharesActionTimelock, feeManagerConfigData, policyManagerConfigData, bypassPrevReleaseFailure, }: CreateMigrationRequestParams): Promise<{
1443
+ comptrollerProxy: ComptrollerLib;
1444
+ receipt: _enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_vaultProxy: AddressLike, _denominationAsset: AddressLike, _sharesActionTimelock: BigNumberish, _feeManagerConfigData: BytesLike, _policyManagerConfigData: BytesLike, _bypassPrevReleaseFailure: boolean], string, FundDeployer>>;
1445
+ }>;
1446
+ declare function createNewFund({ signer, fundDeployer, denominationAsset, sharesActionTimelock, fundOwner, fundName, fundSymbol, feeManagerConfig, policyManagerConfig, investment, }: CreateNewFundParams): Promise<{
1447
+ comptrollerProxy: ComptrollerLib;
1448
+ receipt: _enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_fundOwner: AddressLike, _fundName: string, _fundSymbol: string, _denominationAsset: AddressLike, _sharesActionTimelock: BigNumberish, _feeManagerConfigData: BytesLike, _policyManagerConfigData: BytesLike], {
1449
+ comptrollerProxy_: string;
1450
+ vaultProxy_: string;
1451
+ }, FundDeployer>>;
1452
+ vaultProxy: VaultLib;
1453
+ }>;
1454
+ declare function createReconfigurationRequest({ signer, fundDeployer, vaultProxy, denominationAsset, sharesActionTimelock, feeManagerConfigData, policyManagerConfigData, }: CreateReconfigurationRequestParams): Promise<{
1455
+ comptrollerProxy: ComptrollerLib;
1456
+ receipt: _enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_vaultProxy: AddressLike, _denominationAsset: AddressLike, _sharesActionTimelock: BigNumberish, _feeManagerConfigData: BytesLike, _policyManagerConfigData: BytesLike], string, FundDeployer>>;
1457
+ }>;
1458
+ declare function createVaultProxy({ signer, vaultLib, fundOwner, fundAccessor, fundName, }: {
1459
+ signer: SignerWithAddress;
1460
+ vaultLib: VaultLib;
1461
+ fundOwner: AddressLike;
1462
+ fundAccessor: SignerWithAddress;
1463
+ fundName?: string;
1464
+ }): Promise<VaultLib>;
1465
+ declare function setupGasRelayerPaymaster({ signer, vaultProxy, fundAccessor, weth, startingBalance, }: {
1466
+ signer: SignerWithAddress;
1467
+ vaultProxy: AddressLike;
1468
+ fundAccessor: AddressLike;
1469
+ weth: StandardToken;
1470
+ startingBalance?: BigNumberish;
1471
+ }): Promise<GasRelayPaymasterLib>;
1472
+
1473
+ declare function vaultCallCreateNewList({ addressListRegistry, comptrollerProxy, items, owner, signer, updateType, }: {
1474
+ addressListRegistry: AddressListRegistry;
1475
+ comptrollerProxy: ComptrollerLib;
1476
+ items: AddressLike[];
1477
+ owner: AddressLike;
1478
+ signer: SignerWithAddress;
1479
+ updateType: AddressListUpdateType;
1480
+ }): Promise<ethers.BigNumber>;
1481
+ declare function vaultCallCurveMinterMint({ comptrollerProxy, minter, gauge, }: {
1482
+ comptrollerProxy: ComptrollerLib;
1483
+ minter: AddressLike;
1484
+ gauge: AddressLike;
1485
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_contract: AddressLike, _selector: utils.BytesLike, _encodedArgs: utils.BytesLike], string, ComptrollerLib>>>;
1486
+ declare function vaultCallCurveMinterMintMany({ comptrollerProxy, minter, gauges, }: {
1487
+ comptrollerProxy: ComptrollerLib;
1488
+ minter: AddressLike;
1489
+ gauges: AddressLike[];
1490
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_contract: AddressLike, _selector: utils.BytesLike, _encodedArgs: utils.BytesLike], string, ComptrollerLib>>>;
1491
+ declare function vaultCallCurveMinterToggleApproveMint({ comptrollerProxy, minter, account, }: {
1492
+ comptrollerProxy: ComptrollerLib;
1493
+ minter: AddressLike;
1494
+ account: AddressLike;
1495
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_contract: AddressLike, _selector: utils.BytesLike, _encodedArgs: utils.BytesLike], string, ComptrollerLib>>>;
1496
+ declare function vaultCallStartAssetBypassTimelock({ comptrollerProxy, contract, asset, }: {
1497
+ comptrollerProxy: ComptrollerLib;
1498
+ contract: AddressLike;
1499
+ asset: AddressLike;
1500
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_contract: AddressLike, _selector: utils.BytesLike, _encodedArgs: utils.BytesLike], string, ComptrollerLib>>>;
1501
+
1502
+ declare const whales: {
1503
+ readonly bat: "0x12274c71304bc0e6b38a56b94d2949b118feb838";
1504
+ readonly bnb: "0xbe0eb53f46cd790cd13851d5eff43d12404d33e8";
1505
+ readonly bnt: "0x7d1ed1601a12a172269436fa95fe156650603c1d";
1506
+ readonly busd: "0x47ac0fb4f2d84898e4d9e7b4dab3c24507a6d503";
1507
+ readonly comp: "0x0f50d31b3eaefd65236dd3736b863cffa4c63c4e";
1508
+ readonly crv: "0xf89501b77b2fa6329f94f5a05fe84cebb5c8b1a0";
1509
+ readonly dai: "0x47ac0fb4f2d84898e4d9e7b4dab3c24507a6d503";
1510
+ readonly grt: "0xf977814e90da44bfa03b6295a0616a897441acec";
1511
+ readonly knc: "0x09d51654bd9efbfcb56da3491989cc1444095fff";
1512
+ readonly ldo: "0x3dba737ccc50a32a1764b493285dd51c8af6c278";
1513
+ readonly link: "0xbe6977e08d4479c0a6777539ae0e8fa27be4e9d6";
1514
+ readonly lusd: "0x24cbbef882a77c5aaa9abd6558e68b4c648453c5";
1515
+ readonly mana: "0xefb94ac00f1cee8a89d5c3f49faa799da6f03024";
1516
+ readonly mln: "0xd8f8a53945bcfbbc19da162aa405e662ef71c40d";
1517
+ readonly ohm: "0x2cfcbd233268c302996c767347eb45bec36fb08d";
1518
+ readonly rep: "0xc6a043b07d33b6f30d8cb501026c391cfd25abe1";
1519
+ readonly ren: "0xbe0eb53f46cd790cd13851d5eff43d12404d33e8";
1520
+ readonly susd: "0xa5f7a39e55d7878bc5bd754ee5d6bd7a7662355b";
1521
+ readonly sohm: "0x3d5c83351c872fdf07da498c84ca3275222f284c";
1522
+ readonly uni: "0x47173b170c64d16393a52e6c480b3ad8c302ba1e";
1523
+ readonly usdc: "0xae2d4617c862309a3d75a0ffb358c7a5009c673f";
1524
+ readonly usdt: "0x5041ed759dd4afc3a72b8192c143f72f4724081a";
1525
+ readonly weth: "0xe08A8b19e5722a201EaF20A6BC595eF655397bd5";
1526
+ readonly zrx: "0x206376e8940e42538781cd94ef024df3c1e0fd43";
1527
+ readonly ausdc: "0x3DdfA8eC3052539b6C9549F12cEA2C295cfF5296";
1528
+ readonly ausdt: "0x7d6149ad9a573a6e2ca6ebf7d4897c1b766841b4";
1529
+ readonly ccomp: "0xd74f186194ab9219fafac5c2fe4b3270169666db";
1530
+ readonly cdai: "0x22fa8cc33a42320385cbd3690ed60a021891cb32";
1531
+ readonly ceth: "0x8aceab8167c80cb8b3de7fa6228b889bb1130ee8";
1532
+ readonly cuni: "0x39d8014b4f40d2cbc441137011d32023f4f1fd87";
1533
+ readonly cusdc: "0xb3bd459e0598dde1fe84b1d0a1430be175b5d5be";
1534
+ readonly fdai7: "0xa993d62492f41703f6185881eae755b0966ea5b0";
1535
+ readonly feth7: "0x05f284897641661fee9f1c1413a4f599a43a746f";
1536
+ readonly fdai8: "0xd6bf9d9079139dbb3a4fdb84b07efc75ea77838f";
1537
+ readonly ftribe8: "0xdb5ac83c137321da29a59a7592232bc4ed461730";
1538
+ readonly ptUsdc: "0x8904ffc6aa039db5941de11309a42372f3f7d2fd";
1539
+ readonly seth: "0xc34a7c65aa08cb36744bda8eeec7b8e9891e147c";
1540
+ readonly sxag: "0x40d68c490bf7262ec40048099aec23535f734be2";
1541
+ readonly sxau: "0x92eb453b7b5b8d41edb44e2c8b8b53eb70a482c7";
1542
+ readonly cvx: "0x0aca67fa70b142a3b9bf2ed89a81b40ff85dacdc";
1543
+ readonly lidoSteth: "0x06920c9fc643de77b99cb7670a944ad31eaaa260";
1544
+ readonly ust: "0x738cf6903e6c4e699d1c2dd9ab8b67fcdb3121ea";
1545
+ readonly stecrv: "0x56c915758ad3f76fd287fff7563ee313142fb663";
1546
+ };
1547
+ declare type Whale = keyof typeof whales;
1548
+ declare type WhaleSigners<T extends Partial<Whale> = Whale> = Record<T, SignerWithAddress>;
1549
+ declare function unlockWhale(token: Whale): Promise<SignerWithAddress>;
1550
+ declare function unlockAllWhales(): Promise<WhaleSigners<"link" | "mln" | "weth" | "bat" | "bnb" | "bnt" | "busd" | "comp" | "crv" | "dai" | "grt" | "knc" | "ldo" | "lusd" | "mana" | "ohm" | "rep" | "ren" | "susd" | "sohm" | "uni" | "usdc" | "usdt" | "zrx" | "ausdc" | "ausdt" | "ccomp" | "cdai" | "ceth" | "cuni" | "cusdc" | "fdai7" | "feth7" | "fdai8" | "ftribe8" | "ptUsdc" | "seth" | "sxag" | "sxau" | "cvx" | "lidoSteth" | "ust" | "stecrv">>;
1551
+ declare function unlockWhales<T extends Whale>(...tokens: T[]): Promise<WhaleSigners<T>>;
1552
+
1553
+ export { BuySharesParams, CreateMigrationRequestParams, CreateNewFundParams, CreateReconfigurationRequestParams, CurveLiquidityGaugeV2, CurveMinter, CurveRegistry, CurveSwaps, DeploymentConfig, ICompoundComptroller, IConvexBaseRewardPool, IConvexCrvDepositor, IConvexCvxLocker, IConvexVlCvxExtraRewardDistribution, ILiquityHintHelper, ILiquitySortedTroves, ILiquityTroveManager, ISnapshotDelegateRegistry, IUniswapV3NonFungibleTokenManager, IVotiumMultiMerkleStash, InitialInvestmentParams, ProtocolDeployment, RedeemSharesForSpecificAssetsParams, RedeemSharesInKindParams, RelayTransactionOptions, UniswapV2Factory, UniswapV3FeeAmount, Whale, WhaleSigners, aaveDebtPositionAddCollateral, aaveDebtPositionBorrow, aaveDebtPositionClaimRewards, aaveDebtPositionRemoveCollateral, aaveDebtPositionRepayBorrow, aaveLend, aaveRedeem, addNewAssetsToFund, addTrackedAssetsToVault, assertCompoundLend, assertCompoundRedeem, assertDidRelay, assertDidRelaySuccessfully, assertDidRelayWithCharge, assertDidRelayWithError, assertEvent, assertNoEvent, assertPaymasterDidReject, assertPaymasterDidRejectForReason, buyShares, buySharesFunction, calcMlnValueAndBurnAmountForSharesBuyback, callOnExtension, callOnExternalPosition, compoundClaim, compoundDebtPositionAddCollateral, compoundDebtPositionBorrow, compoundDebtPositionClaimComp, compoundDebtPositionRemoveCollateral, compoundDebtPositionRepayBorrow, compoundLend, compoundRedeem, convexVotingPositionClaimRewards, convexVotingPositionDelegate, convexVotingPositionLock, convexVotingPositionRelock, convexVotingPositionWithdraw, createAaveDebtPosition, createCompoundDebtPosition, createComptrollerProxy, createConvexVotingPosition, createExternalPosition, createFundDeployer, createLiquityDebtPosition, createMapleLiquidityPosition, createMigrationRequest, createMockExternalPosition, createNewFund, createReconfigurationRequest, createTheGraphDelegationPosition, createUniswapV3LiquidityPosition, createVaultProxy, curveClaimRewards, curveLend, curveLendAndStake, curveRedeem, curveStake, curveTakeOrder, curveUnstake, curveUnstakeAndRedeem, deployProtocolFixture, deploySharesSplitter, generateFeeManagerConfigWithMockFees, generateMerkleTreeForContractProof, generateMockFees, generateMockPolicies, generatePolicyManagerConfigWithMockPolicies, getAssetBalances, getAssetUnit, getNamedSigner, getUnnamedSigners, idleClaimRewards, idleLend, idleRedeem, impersonateContractSigner, impersonateSigner, liquityCalcHints, liquityDebtPositionAddCollateral, liquityDebtPositionBorrow, liquityDebtPositionCloseTrove, liquityDebtPositionOpenTrove, liquityDebtPositionRemoveCollateral, liquityDebtPositionRepay, mapleLiquidityPositionClaimInterest, mapleLiquidityPositionClaimRewards, mapleLiquidityPositionIntendToRedeem, mapleLiquidityPositionLend, mapleLiquidityPositionLendAndStake, mapleLiquidityPositionRedeem, mapleLiquidityPositionStake, mapleLiquidityPositionUnstake, mapleLiquidityPositionUnstakeAndRedeem, mockExternalPositionAddDebtAssets, mockExternalPositionAddManagedAssets, mockExternalPositionRemoveDebtAssets, mockExternalPositionRemoveManagedAssets, mockGenericRemoveOnlySelector, mockGenericSwap, mockGenericSwapASelector, mockGenericSwapArgs, mockGenericSwapBSelector, mockGenericSwapDirectFromVaultSelector, mockGenericSwapViaApprovalSelector, olympusV2Stake, olympusV2Unstake, paraSwapV5GenerateDummyPaths, paraSwapV5TakeOrder, poolTogetherV4ClaimRewards, poolTogetherV4Lend, poolTogetherV4Redeem, reactivateExternalPosition, redeemSharesForSpecificAssets, redeemSharesInKind, relayTransaction, removeExternalPosition, removeTrackedAssetsFromVault, sendEthBySelfDestruct, setupGasRelayerPaymaster, synthetixAssignExchangeDelegate, synthetixRedeem, synthetixTakeOrder, theGraphDelegationPositionDelegate, theGraphDelegationPositionUndelegate, theGraphDelegationPositionWithdraw, 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 };