@enzymefinance/testutils 4.0.0-next.6 → 4.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (92) hide show
  1. package/dist/index.d.ts +1548 -0
  2. package/dist/index.js +3352 -0
  3. package/dist/index.mjs +3352 -0
  4. package/package.json +74 -11
  5. package/CHANGELOG.md +0 -52
  6. package/dist/declarations/src/assertions.d.ts +0 -4
  7. package/dist/declarations/src/deployment.d.ts +0 -192
  8. package/dist/declarations/src/gasRelayer.d.ts +0 -56
  9. package/dist/declarations/src/helpers.d.ts +0 -16
  10. package/dist/declarations/src/index.d.ts +0 -6
  11. package/dist/declarations/src/scaffolding/assets.d.ts +0 -10
  12. package/dist/declarations/src/scaffolding/chainlink.d.ts +0 -3
  13. package/dist/declarations/src/scaffolding/common.d.ts +0 -7
  14. package/dist/declarations/src/scaffolding/core.d.ts +0 -17
  15. package/dist/declarations/src/scaffolding/extensions/common.d.ts +0 -11
  16. package/dist/declarations/src/scaffolding/extensions/external-positions/actions.d.ts +0 -35
  17. package/dist/declarations/src/scaffolding/extensions/external-positions/compound.d.ts +0 -56
  18. package/dist/declarations/src/scaffolding/extensions/external-positions/index.d.ts +0 -4
  19. package/dist/declarations/src/scaffolding/extensions/external-positions/mocks.d.ts +0 -53
  20. package/dist/declarations/src/scaffolding/extensions/external-positions/uniswap-v3-liquidity.d.ts +0 -99
  21. package/dist/declarations/src/scaffolding/extensions/fees.d.ts +0 -12
  22. package/dist/declarations/src/scaffolding/extensions/index.d.ts +0 -5
  23. package/dist/declarations/src/scaffolding/extensions/integrations/aave.d.ts +0 -20
  24. package/dist/declarations/src/scaffolding/extensions/integrations/compound.d.ts +0 -28
  25. package/dist/declarations/src/scaffolding/extensions/integrations/curve.d.ts +0 -346
  26. package/dist/declarations/src/scaffolding/extensions/integrations/idle.d.ts +0 -28
  27. package/dist/declarations/src/scaffolding/extensions/integrations/index.d.ts +0 -15
  28. package/dist/declarations/src/scaffolding/extensions/integrations/mock.d.ts +0 -32
  29. package/dist/declarations/src/scaffolding/extensions/integrations/olympusV2.d.ts +0 -17
  30. package/dist/declarations/src/scaffolding/extensions/integrations/paraSwapV4.d.ts +0 -23
  31. package/dist/declarations/src/scaffolding/extensions/integrations/paraSwapV5.d.ts +0 -23
  32. package/dist/declarations/src/scaffolding/extensions/integrations/poolTogetherV4.d.ts +0 -29
  33. package/dist/declarations/src/scaffolding/extensions/integrations/synthetix.d.ts +0 -33
  34. package/dist/declarations/src/scaffolding/extensions/integrations/trackedAssets.d.ts +0 -15
  35. package/dist/declarations/src/scaffolding/extensions/integrations/uniswapV2.d.ts +0 -46
  36. package/dist/declarations/src/scaffolding/extensions/integrations/uniswapV3.d.ts +0 -15
  37. package/dist/declarations/src/scaffolding/extensions/integrations/yearn.d.ts +0 -22
  38. package/dist/declarations/src/scaffolding/extensions/integrations/zeroExV2.d.ts +0 -12
  39. package/dist/declarations/src/scaffolding/extensions/policies.d.ts +0 -17
  40. package/dist/declarations/src/scaffolding/index.d.ts +0 -8
  41. package/dist/declarations/src/scaffolding/setup.d.ts +0 -77
  42. package/dist/declarations/src/scaffolding/shares.d.ts +0 -35
  43. package/dist/declarations/src/scaffolding/vaultCalls.d.ts +0 -32
  44. package/dist/declarations/src/whales.d.ts +0 -46
  45. package/dist/enzymefinance-testutils.browser.cjs.js +0 -4369
  46. package/dist/enzymefinance-testutils.browser.esm.js +0 -4217
  47. package/dist/enzymefinance-testutils.cjs.d.ts +0 -1
  48. package/dist/enzymefinance-testutils.cjs.dev.js +0 -4369
  49. package/dist/enzymefinance-testutils.cjs.js +0 -7
  50. package/dist/enzymefinance-testutils.cjs.prod.js +0 -4369
  51. package/dist/enzymefinance-testutils.esm.js +0 -4217
  52. package/src/assertions.ts +0 -23
  53. package/src/deployment.ts +0 -285
  54. package/src/gasRelayer.ts +0 -95
  55. package/src/helpers.ts +0 -39
  56. package/src/index.ts +0 -6
  57. package/src/scaffolding/assets.ts +0 -37
  58. package/src/scaffolding/chainlink.ts +0 -8
  59. package/src/scaffolding/common.ts +0 -11
  60. package/src/scaffolding/core.ts +0 -111
  61. package/src/scaffolding/extensions/common.ts +0 -30
  62. package/src/scaffolding/extensions/external-positions/actions.ts +0 -103
  63. package/src/scaffolding/extensions/external-positions/compound.ts +0 -190
  64. package/src/scaffolding/extensions/external-positions/index.ts +0 -4
  65. package/src/scaffolding/extensions/external-positions/mocks.ts +0 -194
  66. package/src/scaffolding/extensions/external-positions/uniswap-v3-liquidity.ts +0 -290
  67. package/src/scaffolding/extensions/fees.ts +0 -70
  68. package/src/scaffolding/extensions/index.ts +0 -5
  69. package/src/scaffolding/extensions/integrations/aave.ts +0 -78
  70. package/src/scaffolding/extensions/integrations/compound.ts +0 -94
  71. package/src/scaffolding/extensions/integrations/curve.ts +0 -1246
  72. package/src/scaffolding/extensions/integrations/idle.ts +0 -104
  73. package/src/scaffolding/extensions/integrations/index.ts +0 -15
  74. package/src/scaffolding/extensions/integrations/mock.ts +0 -116
  75. package/src/scaffolding/extensions/integrations/olympusV2.ts +0 -71
  76. package/src/scaffolding/extensions/integrations/paraSwapV4.ts +0 -70
  77. package/src/scaffolding/extensions/integrations/paraSwapV5.ts +0 -73
  78. package/src/scaffolding/extensions/integrations/poolTogetherV4.ts +0 -117
  79. package/src/scaffolding/extensions/integrations/synthetix.ts +0 -130
  80. package/src/scaffolding/extensions/integrations/trackedAssets.ts +0 -48
  81. package/src/scaffolding/extensions/integrations/uniswapV2.ts +0 -175
  82. package/src/scaffolding/extensions/integrations/uniswapV3.ts +0 -55
  83. package/src/scaffolding/extensions/integrations/yearn.ts +0 -79
  84. package/src/scaffolding/extensions/integrations/zeroExV2.ts +0 -47
  85. package/src/scaffolding/extensions/policies.ts +0 -112
  86. package/src/scaffolding/index.ts +0 -8
  87. package/src/scaffolding/setup.ts +0 -243
  88. package/src/scaffolding/shares.ts +0 -80
  89. package/src/scaffolding/vaultCalls.ts +0 -105
  90. package/src/types.d.ts +0 -1
  91. package/src/whales.ts +0 -77
  92. package/tsconfig.json +0 -5
@@ -0,0 +1,1548 @@
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) => BigNumberish>;
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_: BigNumberish, latestRandomSeed_: BigNumberish]>;
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, lusdAmount, numTrials, liquitySortedTroves, liquityHintHelper, inputRandomSeed, }: {
561
+ collateralAmount: BigNumber;
562
+ lusdAmount: BigNumber;
563
+ numTrials?: BigNumber;
564
+ liquitySortedTroves: ILiquitySortedTroves;
565
+ liquityHintHelper: ILiquityHintHelper;
566
+ inputRandomSeed?: BigNumber;
567
+ }): Promise<[prevId_: AddressLike, nextId_: AddressLike]>;
568
+ declare function liquityDebtPositionAddCollateral({ comptrollerProxy, externalPositionManager, signer, collateralAmount, lowerHint, upperHint, externalPositionProxy, }: {
569
+ comptrollerProxy: ComptrollerLib;
570
+ externalPositionManager: ExternalPositionManager;
571
+ signer: SignerWithAddress;
572
+ collateralAmount: BigNumberish;
573
+ lowerHint: AddressLike;
574
+ upperHint: AddressLike;
575
+ externalPositionProxy: AddressLike;
576
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
577
+ declare function liquityDebtPositionBorrow({ comptrollerProxy, externalPositionManager, signer, maxFeePercentage, lusdAmount, lowerHint, upperHint, externalPositionProxy, }: {
578
+ comptrollerProxy: ComptrollerLib;
579
+ externalPositionManager: ExternalPositionManager;
580
+ signer: SignerWithAddress;
581
+ maxFeePercentage: BigNumberish;
582
+ lusdAmount: BigNumberish;
583
+ lowerHint: AddressLike;
584
+ upperHint: AddressLike;
585
+ externalPositionProxy: AddressLike;
586
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
587
+ declare function liquityDebtPositionCloseTrove({ comptrollerProxy, externalPositionManager, signer, externalPositionProxy, }: {
588
+ comptrollerProxy: ComptrollerLib;
589
+ externalPositionManager: ExternalPositionManager;
590
+ signer: SignerWithAddress;
591
+ externalPositionProxy: AddressLike;
592
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
593
+ declare function liquityDebtPositionOpenTrove({ comptrollerProxy, externalPositionManager, signer, maxFeePercentage, collateralAmount, lusdAmount, lowerHint, upperHint, externalPositionProxy, }: {
594
+ comptrollerProxy: ComptrollerLib;
595
+ externalPositionManager: ExternalPositionManager;
596
+ signer: SignerWithAddress;
597
+ maxFeePercentage: BigNumberish;
598
+ collateralAmount: BigNumberish;
599
+ lusdAmount: BigNumberish;
600
+ lowerHint: AddressLike;
601
+ upperHint: AddressLike;
602
+ externalPositionProxy: AddressLike;
603
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
604
+ declare function liquityDebtPositionRemoveCollateral({ comptrollerProxy, externalPositionManager, signer, collateralAmount, lowerHint, upperHint, externalPositionProxy, }: {
605
+ comptrollerProxy: ComptrollerLib;
606
+ externalPositionManager: ExternalPositionManager;
607
+ signer: SignerWithAddress;
608
+ collateralAmount: BigNumberish;
609
+ lowerHint: AddressLike;
610
+ upperHint: AddressLike;
611
+ externalPositionProxy: AddressLike;
612
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
613
+ declare function liquityDebtPositionRepay({ comptrollerProxy, externalPositionManager, signer, lusdAmount, lowerHint, upperHint, externalPositionProxy, }: {
614
+ comptrollerProxy: ComptrollerLib;
615
+ externalPositionManager: ExternalPositionManager;
616
+ signer: SignerWithAddress;
617
+ lusdAmount: BigNumberish;
618
+ lowerHint: AddressLike;
619
+ upperHint: AddressLike;
620
+ externalPositionProxy: AddressLike;
621
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
622
+
623
+ declare function createMapleLiquidityPosition({ signer, comptrollerProxy, externalPositionManager, }: {
624
+ signer: SignerWithAddress;
625
+ comptrollerProxy: ComptrollerLib;
626
+ externalPositionManager: ExternalPositionManager;
627
+ }): Promise<{
628
+ externalPositionProxy: _enzymefinance_protocol.IExternalPositionProxy;
629
+ receipt: _enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>;
630
+ }>;
631
+ declare function mapleLiquidityPositionClaimInterest({ comptrollerProxy, externalPositionManager, signer, pool, externalPositionProxy, }: {
632
+ comptrollerProxy: ComptrollerLib;
633
+ externalPositionManager: ExternalPositionManager;
634
+ signer: SignerWithAddress;
635
+ pool: AddressLike;
636
+ externalPositionProxy: AddressLike;
637
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
638
+ declare function mapleLiquidityPositionClaimRewards({ comptrollerProxy, externalPositionManager, signer, rewardsContract, externalPositionProxy, }: {
639
+ comptrollerProxy: ComptrollerLib;
640
+ externalPositionManager: ExternalPositionManager;
641
+ signer: SignerWithAddress;
642
+ rewardsContract: AddressLike;
643
+ externalPositionProxy: AddressLike;
644
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
645
+ declare function mapleLiquidityPositionIntendToRedeem({ comptrollerProxy, externalPositionManager, signer, pool, externalPositionProxy, }: {
646
+ comptrollerProxy: ComptrollerLib;
647
+ externalPositionManager: ExternalPositionManager;
648
+ signer: SignerWithAddress;
649
+ pool: AddressLike;
650
+ externalPositionProxy: AddressLike;
651
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
652
+ declare function mapleLiquidityPositionLend({ comptrollerProxy, externalPositionManager, signer, liquidityAssetAmount, pool, externalPositionProxy, }: {
653
+ comptrollerProxy: ComptrollerLib;
654
+ externalPositionManager: ExternalPositionManager;
655
+ signer: SignerWithAddress;
656
+ pool: AddressLike;
657
+ liquidityAssetAmount: BigNumberish;
658
+ externalPositionProxy: AddressLike;
659
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
660
+ declare function mapleLiquidityPositionLendAndStake({ comptrollerProxy, externalPositionManager, signer, liquidityAssetAmount, pool, rewardsContract, externalPositionProxy, }: {
661
+ comptrollerProxy: ComptrollerLib;
662
+ externalPositionManager: ExternalPositionManager;
663
+ signer: SignerWithAddress;
664
+ pool: AddressLike;
665
+ rewardsContract: AddressLike;
666
+ liquidityAssetAmount: BigNumberish;
667
+ externalPositionProxy: AddressLike;
668
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
669
+ declare function mapleLiquidityPositionRedeem({ comptrollerProxy, externalPositionManager, signer, liquidityAssetAmount, pool, externalPositionProxy, }: {
670
+ comptrollerProxy: ComptrollerLib;
671
+ externalPositionManager: ExternalPositionManager;
672
+ signer: SignerWithAddress;
673
+ liquidityAsset: AddressLike;
674
+ pool: AddressLike;
675
+ liquidityAssetAmount: BigNumberish;
676
+ externalPositionProxy: AddressLike;
677
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
678
+ declare function mapleLiquidityPositionStake({ comptrollerProxy, externalPositionManager, signer, poolTokenAmount, pool, rewardsContract, externalPositionProxy, }: {
679
+ comptrollerProxy: ComptrollerLib;
680
+ externalPositionManager: ExternalPositionManager;
681
+ signer: SignerWithAddress;
682
+ poolTokenAmount: BigNumberish;
683
+ pool: AddressLike;
684
+ rewardsContract: AddressLike;
685
+ externalPositionProxy: AddressLike;
686
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
687
+ declare function mapleLiquidityPositionUnstake({ comptrollerProxy, externalPositionManager, signer, poolTokenAmount, rewardsContract, externalPositionProxy, }: {
688
+ comptrollerProxy: ComptrollerLib;
689
+ externalPositionManager: ExternalPositionManager;
690
+ signer: SignerWithAddress;
691
+ poolTokenAmount: BigNumberish;
692
+ rewardsContract: AddressLike;
693
+ externalPositionProxy: AddressLike;
694
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
695
+ declare function mapleLiquidityPositionUnstakeAndRedeem({ comptrollerProxy, externalPositionManager, signer, pool, poolTokenAmount, rewardsContract, externalPositionProxy, }: {
696
+ comptrollerProxy: ComptrollerLib;
697
+ externalPositionManager: ExternalPositionManager;
698
+ signer: SignerWithAddress;
699
+ pool: AddressLike;
700
+ poolTokenAmount: BigNumberish;
701
+ rewardsContract: AddressLike;
702
+ externalPositionProxy: AddressLike;
703
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
704
+
705
+ declare function createMockExternalPosition({ comptrollerProxy, externalPositionManager, externalPositionFactory, defaultActionAssetsToTransfer, defaultActionAmountsToTransfer, defaultActionAssetsToReceive, fundOwner, deployer, }: {
706
+ comptrollerProxy: ComptrollerLib;
707
+ externalPositionManager: ExternalPositionManager;
708
+ externalPositionFactory: ExternalPositionFactory;
709
+ defaultActionAssetsToTransfer: AddressLike[];
710
+ defaultActionAmountsToTransfer: BigNumberish[];
711
+ defaultActionAssetsToReceive: AddressLike[];
712
+ fundOwner: SignerWithAddress;
713
+ deployer: SignerWithAddress;
714
+ }): Promise<{
715
+ externalPositionProxy: string;
716
+ mockExternalPositionParser: MockGenericExternalPositionParser;
717
+ mockGenericExternalPositionLib: MockGenericExternalPositionLib;
718
+ receipt: {
719
+ externalPositionProxy: _enzymefinance_protocol.IExternalPositionProxy;
720
+ receipt: _enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>;
721
+ };
722
+ typeId: ethers.BigNumber;
723
+ }>;
724
+ declare function mockExternalPositionAddDebtAssets({ signer, comptrollerProxy, externalPositionManager, externalPositionProxy, assets, amounts, }: {
725
+ signer: SignerWithAddress;
726
+ comptrollerProxy: ComptrollerLib;
727
+ externalPositionManager: ExternalPositionManager;
728
+ externalPositionProxy: AddressLike;
729
+ assets: AddressLike[];
730
+ amounts: BigNumberish[];
731
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
732
+ declare function mockExternalPositionAddManagedAssets({ signer, comptrollerProxy, externalPositionManager, externalPositionProxy, assets, amounts, }: {
733
+ signer: SignerWithAddress;
734
+ comptrollerProxy: ComptrollerLib;
735
+ externalPositionManager: ExternalPositionManager;
736
+ externalPositionProxy: AddressLike;
737
+ assets: AddressLike[];
738
+ amounts: BigNumberish[];
739
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
740
+ declare function mockExternalPositionRemoveDebtAssets({ signer, comptrollerProxy, externalPositionManager, externalPositionProxy, assets, amounts, }: {
741
+ signer: SignerWithAddress;
742
+ comptrollerProxy: ComptrollerLib;
743
+ externalPositionManager: ExternalPositionManager;
744
+ externalPositionProxy: AddressLike;
745
+ assets: AddressLike[];
746
+ amounts: BigNumberish[];
747
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
748
+ declare function mockExternalPositionRemoveManagedAssets({ signer, comptrollerProxy, externalPositionManager, externalPositionProxy, assets, amounts, }: {
749
+ signer: SignerWithAddress;
750
+ comptrollerProxy: ComptrollerLib;
751
+ externalPositionManager: ExternalPositionManager;
752
+ externalPositionProxy: AddressLike;
753
+ assets: AddressLike[];
754
+ amounts: BigNumberish[];
755
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
756
+
757
+ declare function theGraphDelegationPositionDelegate({ comptrollerProxy, externalPositionManager, signer, indexer, tokens, externalPositionProxy, }: {
758
+ comptrollerProxy: ComptrollerLib;
759
+ externalPositionManager: ExternalPositionManager;
760
+ signer: SignerWithAddress;
761
+ indexer: AddressLike;
762
+ tokens: BigNumberish;
763
+ externalPositionProxy: AddressLike;
764
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
765
+ declare function theGraphDelegationPositionUndelegate({ comptrollerProxy, externalPositionManager, signer, indexer, shares, externalPositionProxy, }: {
766
+ comptrollerProxy: ComptrollerLib;
767
+ externalPositionManager: ExternalPositionManager;
768
+ signer: SignerWithAddress;
769
+ indexer: AddressLike;
770
+ shares: BigNumberish;
771
+ externalPositionProxy: AddressLike;
772
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
773
+ declare function theGraphDelegationPositionWithdraw({ comptrollerProxy, externalPositionManager, signer, indexer, nextIndexer, externalPositionProxy, }: {
774
+ comptrollerProxy: ComptrollerLib;
775
+ externalPositionManager: ExternalPositionManager;
776
+ signer: SignerWithAddress;
777
+ indexer: AddressLike;
778
+ nextIndexer: AddressLike;
779
+ externalPositionProxy: AddressLike;
780
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
781
+ declare function createTheGraphDelegationPosition({ signer, comptrollerProxy, externalPositionManager, }: {
782
+ signer: SignerWithAddress;
783
+ comptrollerProxy: ComptrollerLib;
784
+ externalPositionManager: ExternalPositionManager;
785
+ }): Promise<{
786
+ externalPositionProxy: _enzymefinance_protocol.IExternalPositionProxy;
787
+ receipt: _enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>;
788
+ }>;
789
+
790
+ declare enum UniswapV3FeeAmount {
791
+ LOW = 500,
792
+ MEDIUM = 3000,
793
+ HIGH = 10000
794
+ }
795
+ declare const uniswapV3LiquidityPositionGetMinTick: (tickSpacing: number) => number;
796
+ declare const uniswapV3LiquidityPositionGetMaxTick: (tickSpacing: number) => number;
797
+ interface IUniswapV3NonFungibleTokenManager extends Contract<IUniswapV3NonFungibleTokenManager> {
798
+ positions: Call<(tokenId: BigNumberish) => {
799
+ nonce: BigNumber;
800
+ operator: string;
801
+ token0: string;
802
+ token1: string;
803
+ fee: BigNumber;
804
+ tickLower: BigNumber;
805
+ tickUpper: BigNumber;
806
+ liquidity: BigNumber;
807
+ feeGrowthInside0LastX128: BigNumber;
808
+ feeGrowthInside1LastX128: BigNumber;
809
+ tokensOwed0: BigNumber;
810
+ tokensOwed1: BigNumber;
811
+ }>;
812
+ }
813
+ declare const IUniswapV3NonFungibleTokenManager: _enzymefinance_ethers.ContractFactory<IUniswapV3NonFungibleTokenManager, never>;
814
+ declare function createUniswapV3LiquidityPosition({ signer, comptrollerProxy, externalPositionManager, callOnExternalPositionData, }: {
815
+ signer: SignerWithAddress;
816
+ comptrollerProxy: ComptrollerLib;
817
+ externalPositionManager: ExternalPositionManager;
818
+ callOnExternalPositionData?: BytesLike;
819
+ }): Promise<{
820
+ externalPositionProxyAddress: string;
821
+ receipt: _enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>;
822
+ }>;
823
+ declare function uniswapV3LiquidityPositionAddLiquidity({ signer, comptrollerProxy, externalPositionManager, externalPositionProxy, nftId, amount0Desired, amount1Desired, amount0Min, amount1Min, }: {
824
+ signer: SignerWithAddress;
825
+ comptrollerProxy: ComptrollerLib;
826
+ externalPositionManager: ExternalPositionManager;
827
+ externalPositionProxy: AddressLike;
828
+ nftId: BigNumberish;
829
+ amount0Desired: BigNumberish;
830
+ amount1Desired: BigNumberish;
831
+ amount0Min?: BigNumberish;
832
+ amount1Min?: BigNumberish;
833
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>>;
834
+ declare function uniswapV3LiquidityPositionCollect({ signer, comptrollerProxy, externalPositionManager, externalPositionProxy, nftId, }: {
835
+ signer: SignerWithAddress;
836
+ comptrollerProxy: ComptrollerLib;
837
+ externalPositionManager: ExternalPositionManager;
838
+ externalPositionProxy: AddressLike;
839
+ nftId: BigNumberish;
840
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>>;
841
+ declare function uniswapV3LiquidityPositionMint({ signer, comptrollerProxy, externalPositionManager, externalPositionProxy, token0, token1, fee, tickLower, tickUpper, amount0Desired, amount1Desired, amount0Min, amount1Min, }: {
842
+ signer: SignerWithAddress;
843
+ comptrollerProxy: ComptrollerLib;
844
+ externalPositionManager: ExternalPositionManager;
845
+ externalPositionProxy: AddressLike;
846
+ token0: AddressLike;
847
+ token1: AddressLike;
848
+ fee: BigNumberish;
849
+ tickLower: BigNumberish;
850
+ tickUpper: BigNumberish;
851
+ amount0Desired: BigNumberish;
852
+ amount1Desired: BigNumberish;
853
+ amount0Min?: BigNumberish;
854
+ amount1Min?: BigNumberish;
855
+ }): Promise<{
856
+ nftId: any;
857
+ receipt: _enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>;
858
+ }>;
859
+ declare function uniswapV3LiquidityPositionPurge({ signer, comptrollerProxy, externalPositionManager, externalPositionProxy, nftId, liquidity, amount0Min, amount1Min, }: {
860
+ signer: SignerWithAddress;
861
+ comptrollerProxy: ComptrollerLib;
862
+ externalPositionManager: ExternalPositionManager;
863
+ externalPositionProxy: AddressLike;
864
+ nftId: BigNumberish;
865
+ liquidity: BigNumberish;
866
+ amount0Min?: BigNumberish;
867
+ amount1Min?: BigNumberish;
868
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>>;
869
+ declare function uniswapV3LiquidityPositionRemoveLiquidity({ signer, comptrollerProxy, externalPositionManager, externalPositionProxy, nftId, liquidity, amount0Min, amount1Min, }: {
870
+ signer: SignerWithAddress;
871
+ comptrollerProxy: ComptrollerLib;
872
+ externalPositionManager: ExternalPositionManager;
873
+ externalPositionProxy: AddressLike;
874
+ nftId: BigNumberish;
875
+ liquidity: BigNumberish;
876
+ amount0Min?: BigNumberish;
877
+ amount1Min?: BigNumberish;
878
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>>;
879
+ declare function uniswapV3OrderTokenPair({ tokenA, tokenB }: {
880
+ tokenA: AddressLike;
881
+ tokenB: AddressLike;
882
+ }): {
883
+ token0: string;
884
+ token1: string;
885
+ };
886
+
887
+ declare function generateFeeManagerConfigWithMockFees({ deployer }: {
888
+ deployer: SignerWithAddress;
889
+ }): Promise<string>;
890
+ declare function generateMockFees({ deployer }: {
891
+ deployer: SignerWithAddress;
892
+ }): Promise<{
893
+ mockContinuousFeeSettleOnly: _enzymefinance_ethers.MockContract<IFee>;
894
+ mockContinuousFeeWithGavAndUpdates: _enzymefinance_ethers.MockContract<IFee>;
895
+ mockPostBuySharesFee: _enzymefinance_ethers.MockContract<IFee>;
896
+ }>;
897
+
898
+ declare function aaveLend({ comptrollerProxy, integrationManager, fundOwner, aaveAdapter, aToken, amount, }: {
899
+ comptrollerProxy: ComptrollerLib;
900
+ integrationManager: IntegrationManager;
901
+ fundOwner: SignerWithAddress;
902
+ aaveAdapter: AaveAdapter;
903
+ aToken: StandardToken;
904
+ amount?: BigNumberish;
905
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: _enzymefinance_ethers.AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
906
+ declare function aaveRedeem({ comptrollerProxy, integrationManager, fundOwner, aaveAdapter, aToken, amount, }: {
907
+ comptrollerProxy: ComptrollerLib;
908
+ integrationManager: IntegrationManager;
909
+ fundOwner: SignerWithAddress;
910
+ aaveAdapter: AaveAdapter;
911
+ aToken: StandardToken;
912
+ amount?: BigNumberish;
913
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: _enzymefinance_ethers.AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
914
+
915
+ interface ICompoundComptroller extends Contract<ICompoundComptroller> {
916
+ claimComp: Send<(_account: AddressLike) => void>;
917
+ }
918
+ declare const ICompoundComptroller: _enzymefinance_ethers.ContractFactory<ICompoundComptroller, never>;
919
+ declare function assertCompoundLend({ tokenWhale, comptrollerProxy, vaultProxy, integrationManager, fundOwner, compoundAdapter, tokenAmount, cToken, compoundPriceFeed, }: {
920
+ tokenWhale: SignerWithAddress;
921
+ comptrollerProxy: ComptrollerLib;
922
+ vaultProxy: VaultLib;
923
+ integrationManager: IntegrationManager;
924
+ fundOwner: SignerWithAddress;
925
+ compoundAdapter: CompoundAdapter;
926
+ tokenAmount?: BigNumber;
927
+ cToken: ICERC20;
928
+ compoundPriceFeed: CompoundPriceFeed;
929
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
930
+ declare function assertCompoundRedeem({ comptrollerProxy, vaultProxy, integrationManager, fundOwner, compoundAdapter, cToken, compoundPriceFeed, }: {
931
+ comptrollerProxy: ComptrollerLib;
932
+ vaultProxy: VaultLib;
933
+ integrationManager: IntegrationManager;
934
+ fundOwner: SignerWithAddress;
935
+ compoundAdapter: CompoundAdapter;
936
+ cToken: ICERC20;
937
+ compoundPriceFeed: CompoundPriceFeed;
938
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
939
+ declare function compoundClaim({ comptrollerProxy, integrationManager, fundOwner, compoundAdapter, compoundComptroller, cTokens, }: {
940
+ comptrollerProxy: ComptrollerLib;
941
+ integrationManager: IntegrationManager;
942
+ fundOwner: SignerWithAddress;
943
+ compoundAdapter: CompoundAdapter;
944
+ compoundComptroller: AddressLike;
945
+ cTokens: AddressLike[];
946
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
947
+ declare function compoundLend({ comptrollerProxy, integrationManager, fundOwner, compoundAdapter, cToken, tokenAmount, cTokenAmount, }: {
948
+ comptrollerProxy: ComptrollerLib;
949
+ integrationManager: IntegrationManager;
950
+ fundOwner: SignerWithAddress;
951
+ compoundAdapter: CompoundAdapter;
952
+ cToken: AddressLike;
953
+ tokenAmount?: BigNumberish;
954
+ cTokenAmount?: BigNumberish;
955
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
956
+ declare function compoundRedeem({ comptrollerProxy, integrationManager, fundOwner, compoundAdapter, cToken, tokenAmount, cTokenAmount, }: {
957
+ comptrollerProxy: ComptrollerLib;
958
+ vaultProxy: VaultLib;
959
+ integrationManager: IntegrationManager;
960
+ fundOwner: SignerWithAddress;
961
+ compoundAdapter: CompoundAdapter;
962
+ cToken: AddressLike;
963
+ tokenAmount?: BigNumberish;
964
+ cTokenAmount?: BigNumberish;
965
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
966
+
967
+ interface CurveLiquidityGaugeV2 extends Contract<CurveLiquidityGaugeV2> {
968
+ claim_rewards: Send<(_addr: AddressLike) => void>;
969
+ integrate_fraction: Call<(_for: AddressLike) => BigNumber>;
970
+ }
971
+ declare const CurveLiquidityGaugeV2: _enzymefinance_ethers.ContractFactory<CurveLiquidityGaugeV2, never>;
972
+ interface CurveRegistry extends Contract<CurveRegistry> {
973
+ get_coins: Call<(_pool: AddressLike) => AddressLike[]>;
974
+ get_lp_token: Call<(_pool: AddressLike) => AddressLike>;
975
+ }
976
+ declare const CurveRegistry: _enzymefinance_ethers.ContractFactory<CurveRegistry, never>;
977
+ interface CurveSwaps extends Contract<CurveSwaps> {
978
+ get_best_rate: Call<(_from: AddressLike, to: AddressLike, amount: BigNumberish) => {
979
+ bestPool: AddressLike;
980
+ amountReceived: BigNumber;
981
+ }, CurveSwaps>;
982
+ }
983
+ declare const CurveSwaps: _enzymefinance_ethers.ContractFactory<CurveSwaps, never>;
984
+ interface CurveMinter extends Contract<CurveMinter> {
985
+ mint_for: Send<(_gauge_address: AddressLike, _for: AddressLike) => void>;
986
+ }
987
+ declare const CurveMinter: _enzymefinance_ethers.ContractFactory<CurveMinter, never>;
988
+ declare function curveTakeOrder({ comptrollerProxy, integrationManager, fundOwner, curveExchangeAdapter, pool, outgoingAsset, outgoingAssetAmount, incomingAsset, minIncomingAssetAmount, }: {
989
+ comptrollerProxy: ComptrollerLib;
990
+ integrationManager: IntegrationManager;
991
+ fundOwner: SignerWithAddress;
992
+ curveExchangeAdapter: CurveExchangeAdapter;
993
+ pool: AddressLike;
994
+ outgoingAsset: StandardToken;
995
+ outgoingAssetAmount?: BigNumberish;
996
+ incomingAsset: StandardToken;
997
+ minIncomingAssetAmount?: BigNumberish;
998
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>>;
999
+ declare function curveClaimRewards({ comptrollerProxy, integrationManager, fundOwner, curveLiquidityAdapter, stakingToken, }: {
1000
+ comptrollerProxy: ComptrollerLib;
1001
+ integrationManager: IntegrationManager;
1002
+ fundOwner: SignerWithAddress;
1003
+ curveLiquidityAdapter: CurveLiquidityAdapter;
1004
+ stakingToken: AddressLike;
1005
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>>;
1006
+ declare function curveLend({ comptrollerProxy, integrationManager, signer, curveLiquidityAdapter, pool, orderedOutgoingAssetAmounts, minIncomingLpTokenAmount, useUnderlyings, }: {
1007
+ comptrollerProxy: ComptrollerLib;
1008
+ integrationManager: IntegrationManager;
1009
+ signer: SignerWithAddress;
1010
+ curveLiquidityAdapter: CurveLiquidityAdapter;
1011
+ pool: AddressLike;
1012
+ orderedOutgoingAssetAmounts: BigNumberish[];
1013
+ minIncomingLpTokenAmount?: BigNumberish;
1014
+ useUnderlyings: boolean;
1015
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>>;
1016
+ declare function curveLendAndStake({ comptrollerProxy, integrationManager, signer, curveLiquidityAdapter, pool, orderedOutgoingAssetAmounts, incomingStakingToken, minIncomingStakingTokenAmount, useUnderlyings, }: {
1017
+ comptrollerProxy: ComptrollerLib;
1018
+ integrationManager: IntegrationManager;
1019
+ signer: SignerWithAddress;
1020
+ curveLiquidityAdapter: CurveLiquidityAdapter;
1021
+ pool: AddressLike;
1022
+ orderedOutgoingAssetAmounts: BigNumberish[];
1023
+ incomingStakingToken: AddressLike;
1024
+ minIncomingStakingTokenAmount?: BigNumberish;
1025
+ useUnderlyings: boolean;
1026
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>>;
1027
+ declare function curveRedeem({ comptrollerProxy, integrationManager, signer, curveLiquidityAdapter, pool, outgoingLpTokenAmount, useUnderlyings, redeemType, incomingAssetData, }: {
1028
+ comptrollerProxy: ComptrollerLib;
1029
+ integrationManager: IntegrationManager;
1030
+ signer: SignerWithAddress;
1031
+ curveLiquidityAdapter: CurveLiquidityAdapter;
1032
+ pool: AddressLike;
1033
+ outgoingLpTokenAmount: BigNumberish;
1034
+ useUnderlyings: boolean;
1035
+ redeemType: CurveRedeemType;
1036
+ incomingAssetData: BytesLike;
1037
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>>;
1038
+ declare function curveStake({ comptrollerProxy, integrationManager, signer, curveLiquidityAdapter, pool, incomingStakingToken, amount, }: {
1039
+ comptrollerProxy: ComptrollerLib;
1040
+ integrationManager: IntegrationManager;
1041
+ signer: SignerWithAddress;
1042
+ curveLiquidityAdapter: CurveLiquidityAdapter;
1043
+ pool: AddressLike;
1044
+ incomingStakingToken: AddressLike;
1045
+ amount: BigNumberish;
1046
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>>;
1047
+ declare function curveUnstake({ comptrollerProxy, integrationManager, signer, curveLiquidityAdapter, pool, outgoingStakingToken, amount, }: {
1048
+ comptrollerProxy: ComptrollerLib;
1049
+ integrationManager: IntegrationManager;
1050
+ signer: SignerWithAddress;
1051
+ curveLiquidityAdapter: CurveLiquidityAdapter;
1052
+ pool: AddressLike;
1053
+ outgoingStakingToken: AddressLike;
1054
+ amount: BigNumberish;
1055
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>>;
1056
+ declare function curveUnstakeAndRedeem({ comptrollerProxy, integrationManager, signer, curveLiquidityAdapter, pool, outgoingStakingToken, outgoingStakingTokenAmount, useUnderlyings, redeemType, incomingAssetData, }: {
1057
+ comptrollerProxy: ComptrollerLib;
1058
+ integrationManager: IntegrationManager;
1059
+ signer: SignerWithAddress;
1060
+ curveLiquidityAdapter: CurveLiquidityAdapter;
1061
+ pool: AddressLike;
1062
+ outgoingStakingToken: StandardToken;
1063
+ outgoingStakingTokenAmount: BigNumberish;
1064
+ useUnderlyings: boolean;
1065
+ redeemType: CurveRedeemType;
1066
+ incomingAssetData: BytesLike;
1067
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>>;
1068
+
1069
+ declare function idleClaimRewards({ comptrollerProxy, integrationManager, fundOwner, idleAdapter, idleToken, }: {
1070
+ comptrollerProxy: ComptrollerLib;
1071
+ integrationManager: IntegrationManager;
1072
+ fundOwner: SignerWithAddress;
1073
+ idleAdapter: IdleAdapter;
1074
+ idleToken: StandardToken;
1075
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: _enzymefinance_ethers.AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
1076
+ declare function idleLend({ comptrollerProxy, integrationManager, fundOwner, idleAdapter, idleToken, outgoingUnderlyingAmount, minIncomingIdleTokenAmount, }: {
1077
+ comptrollerProxy: ComptrollerLib;
1078
+ integrationManager: IntegrationManager;
1079
+ fundOwner: SignerWithAddress;
1080
+ idleAdapter: IdleAdapter;
1081
+ idleToken: StandardToken;
1082
+ outgoingUnderlyingAmount: BigNumberish;
1083
+ minIncomingIdleTokenAmount?: BigNumberish;
1084
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: _enzymefinance_ethers.AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
1085
+ declare function idleRedeem({ comptrollerProxy, integrationManager, fundOwner, idleAdapter, idleToken, outgoingIdleTokenAmount, minIncomingUnderlyingAmount, }: {
1086
+ comptrollerProxy: ComptrollerLib;
1087
+ integrationManager: IntegrationManager;
1088
+ fundOwner: SignerWithAddress;
1089
+ idleAdapter: IdleAdapter;
1090
+ idleToken: StandardToken;
1091
+ outgoingIdleTokenAmount: BigNumberish;
1092
+ minIncomingUnderlyingAmount?: BigNumberish;
1093
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: _enzymefinance_ethers.AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
1094
+
1095
+ declare const mockGenericRemoveOnlySelector: string;
1096
+ declare const mockGenericSwapASelector: string;
1097
+ declare const mockGenericSwapBSelector: string;
1098
+ declare const mockGenericSwapDirectFromVaultSelector: string;
1099
+ declare const mockGenericSwapViaApprovalSelector: string;
1100
+ declare function mockGenericSwapArgs({ spendAssets, actualSpendAssetAmounts, maxSpendAssetAmounts, incomingAssets, actualIncomingAssetAmounts, minIncomingAssetAmounts, }: {
1101
+ spendAssets?: AddressLike[];
1102
+ maxSpendAssetAmounts?: BigNumberish[];
1103
+ actualSpendAssetAmounts?: BigNumberish[];
1104
+ incomingAssets?: AddressLike[];
1105
+ minIncomingAssetAmounts?: BigNumberish[];
1106
+ actualIncomingAssetAmounts?: BigNumberish[];
1107
+ }): string;
1108
+ declare function mockGenericSwap({ comptrollerProxy, vaultProxy, integrationManager, fundOwner, mockGenericAdapter, selector, spendAssets, actualSpendAssetAmounts, maxSpendAssetAmounts, incomingAssets, actualIncomingAssetAmounts, minIncomingAssetAmounts, seedFund, }: {
1109
+ comptrollerProxy: ComptrollerLib;
1110
+ vaultProxy: VaultLib;
1111
+ integrationManager: IntegrationManager;
1112
+ fundOwner: SignerWithAddress;
1113
+ mockGenericAdapter: MockGenericAdapter;
1114
+ selector?: BytesLike;
1115
+ spendAssets?: StandardToken[];
1116
+ maxSpendAssetAmounts?: BigNumberish[];
1117
+ actualSpendAssetAmounts?: BigNumberish[];
1118
+ incomingAssets?: StandardToken[];
1119
+ minIncomingAssetAmounts?: BigNumberish[];
1120
+ actualIncomingAssetAmounts?: BigNumberish[];
1121
+ seedFund?: boolean;
1122
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>>;
1123
+
1124
+ declare function olympusV2Stake({ comptrollerProxy, integrationManager, signer, olympusV2Adapter, amount, }: {
1125
+ comptrollerProxy: ComptrollerLib;
1126
+ integrationManager: IntegrationManager;
1127
+ signer: SignerWithAddress;
1128
+ olympusV2Adapter: OlympusV2Adapter;
1129
+ amount: BigNumberish;
1130
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: _enzymefinance_ethers.AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
1131
+ declare function olympusV2Unstake({ comptrollerProxy, integrationManager, signer, olympusV2Adapter, amount, }: {
1132
+ comptrollerProxy: ComptrollerLib;
1133
+ integrationManager: IntegrationManager;
1134
+ signer: SignerWithAddress;
1135
+ olympusV2Adapter: OlympusV2Adapter;
1136
+ amount: BigNumberish;
1137
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: _enzymefinance_ethers.AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
1138
+
1139
+ declare function paraSwapV5GenerateDummyPaths({ toTokens }: {
1140
+ toTokens: AddressLike[];
1141
+ }): {
1142
+ adapters: never[];
1143
+ to: AddressLike;
1144
+ totalNetworkFee: number;
1145
+ }[];
1146
+ declare function paraSwapV5TakeOrder({ comptrollerProxy, integrationManager, fundOwner, paraSwapV5Adapter, outgoingAsset, outgoingAssetAmount, minIncomingAssetAmount, expectedIncomingAssetAmount, uuid, paths, }: {
1147
+ comptrollerProxy: ComptrollerLib;
1148
+ integrationManager: IntegrationManager;
1149
+ fundOwner: SignerWithAddress;
1150
+ paraSwapV5Adapter: ParaSwapV5Adapter;
1151
+ outgoingAsset: StandardToken;
1152
+ outgoingAssetAmount: BigNumberish;
1153
+ minIncomingAssetAmount?: BigNumberish;
1154
+ expectedIncomingAssetAmount?: BigNumberish;
1155
+ uuid?: BytesLike;
1156
+ paths: ParaSwapV5Path[];
1157
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>>;
1158
+
1159
+ declare function poolTogetherV4Lend({ comptrollerProxy, integrationManager, fundOwner, poolTogetherV4Adapter, ptToken, amount, }: {
1160
+ comptrollerProxy: ComptrollerLib;
1161
+ integrationManager: IntegrationManager;
1162
+ fundOwner: SignerWithAddress;
1163
+ poolTogetherV4Adapter: PoolTogetherV4Adapter;
1164
+ ptToken: StandardToken;
1165
+ amount?: BigNumberish;
1166
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>>;
1167
+ declare function poolTogetherV4Redeem({ comptrollerProxy, integrationManager, fundOwner, poolTogetherV4Adapter, ptToken, amount, }: {
1168
+ comptrollerProxy: ComptrollerLib;
1169
+ integrationManager: IntegrationManager;
1170
+ fundOwner: SignerWithAddress;
1171
+ poolTogetherV4Adapter: PoolTogetherV4Adapter;
1172
+ ptToken: StandardToken;
1173
+ amount?: BigNumberish;
1174
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>>;
1175
+ declare function poolTogetherV4ClaimRewards({ comptrollerProxy, integrationManager, fundOwner, poolTogetherV4Adapter, prizeDistributor, drawIds, winningPicks, }: {
1176
+ comptrollerProxy: ComptrollerLib;
1177
+ integrationManager: IntegrationManager;
1178
+ fundOwner: SignerWithAddress;
1179
+ poolTogetherV4Adapter: PoolTogetherV4Adapter;
1180
+ prizeDistributor: AddressLike;
1181
+ drawIds: BigNumberish[];
1182
+ winningPicks: BytesLike;
1183
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>>;
1184
+
1185
+ declare function synthetixAssignExchangeDelegate({ comptrollerProxy, synthetixDelegateApprovals, fundOwner, delegate, }: {
1186
+ comptrollerProxy: ComptrollerLib;
1187
+ synthetixDelegateApprovals: AddressLike;
1188
+ fundOwner: Signer;
1189
+ delegate: AddressLike;
1190
+ }): Promise<void>;
1191
+ declare function synthetixRedeem({ comptrollerProxy, integrationManager, signer, synthetixAdapter, synths, }: {
1192
+ comptrollerProxy: ComptrollerLib;
1193
+ integrationManager: IntegrationManager;
1194
+ signer: Signer;
1195
+ synthetixAdapter: SynthetixAdapter;
1196
+ synths: AddressLike[];
1197
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
1198
+ declare function synthetixTakeOrder({ comptrollerProxy, vaultProxy, integrationManager, fundOwner, synthetixAdapter, outgoingAsset, outgoingAssetAmount, minIncomingSusdAmount, seedFund, }: {
1199
+ comptrollerProxy: ComptrollerLib;
1200
+ vaultProxy: VaultLib;
1201
+ integrationManager: IntegrationManager;
1202
+ fundOwner: Signer;
1203
+ synthetixAdapter: SynthetixAdapter;
1204
+ outgoingAsset: StandardToken;
1205
+ outgoingAssetAmount?: BigNumberish;
1206
+ minIncomingSusdAmount?: BigNumberish;
1207
+ seedFund?: boolean;
1208
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
1209
+
1210
+ declare function addTrackedAssetsToVault({ signer, comptrollerProxy, integrationManager, assets, }: {
1211
+ signer: SignerWithAddress;
1212
+ comptrollerProxy: ComptrollerLib;
1213
+ integrationManager: IntegrationManager;
1214
+ assets: AddressLike[];
1215
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: ethers.BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
1216
+ declare function removeTrackedAssetsFromVault({ signer, comptrollerProxy, integrationManager, assets, }: {
1217
+ signer: SignerWithAddress;
1218
+ comptrollerProxy: ComptrollerLib;
1219
+ integrationManager: IntegrationManager;
1220
+ assets: AddressLike[];
1221
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: ethers.BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
1222
+
1223
+ interface UniswapV2Factory extends Contract<UniswapV2Factory> {
1224
+ createPair: Send<(_token0: AddressLike, _token1: AddressLike) => AddressLike>;
1225
+ getPair: Call<(_token0: AddressLike, _token1: AddressLike) => AddressLike>;
1226
+ }
1227
+ declare const UniswapV2Factory: _enzymefinance_ethers.ContractFactory<UniswapV2Factory, never>;
1228
+ declare function uniswapV2Lend({ comptrollerProxy, vaultProxy, integrationManager, fundOwner, uniswapV2LiquidityAdapter, tokenA, tokenB, amountADesired, amountBDesired, amountAMin, amountBMin, minPoolTokenAmount, seedFund, }: {
1229
+ comptrollerProxy: ComptrollerLib;
1230
+ vaultProxy: VaultLib;
1231
+ integrationManager: IntegrationManager;
1232
+ fundOwner: SignerWithAddress;
1233
+ uniswapV2LiquidityAdapter: UniswapV2LiquidityAdapter;
1234
+ tokenA: StandardToken;
1235
+ tokenB: StandardToken;
1236
+ amountADesired: BigNumberish;
1237
+ amountBDesired: BigNumberish;
1238
+ amountAMin: BigNumberish;
1239
+ amountBMin: BigNumberish;
1240
+ minPoolTokenAmount: BigNumberish;
1241
+ seedFund?: boolean;
1242
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
1243
+ declare function uniswapV2Redeem({ comptrollerProxy, integrationManager, fundOwner, uniswapV2LiquidityAdapter, poolTokenAmount, tokenA, tokenB, amountAMin, amountBMin, }: {
1244
+ comptrollerProxy: ComptrollerLib;
1245
+ integrationManager: IntegrationManager;
1246
+ fundOwner: SignerWithAddress;
1247
+ uniswapV2LiquidityAdapter: UniswapV2LiquidityAdapter;
1248
+ poolTokenAmount: BigNumberish;
1249
+ tokenA: AddressLike;
1250
+ tokenB: AddressLike;
1251
+ amountAMin: BigNumberish;
1252
+ amountBMin: BigNumberish;
1253
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
1254
+ declare function uniswapV2TakeOrder({ comptrollerProxy, vaultProxy, integrationManager, fundOwner, uniswapV2ExchangeAdapter, path, outgoingAssetAmount, minIncomingAssetAmount, seedFund, }: {
1255
+ comptrollerProxy: ComptrollerLib;
1256
+ vaultProxy: VaultLib;
1257
+ integrationManager: IntegrationManager;
1258
+ fundOwner: SignerWithAddress;
1259
+ uniswapV2ExchangeAdapter: UniswapV2ExchangeAdapter;
1260
+ path: StandardToken[];
1261
+ outgoingAssetAmount: BigNumberish;
1262
+ minIncomingAssetAmount: BigNumberish;
1263
+ seedFund?: boolean;
1264
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
1265
+
1266
+ declare function uniswapV3TakeOrder({ comptrollerProxy, integrationManager, fundOwner, uniswapV3Adapter, pathAddresses, pathFees, outgoingAssetAmount, minIncomingAssetAmount, seedFund, }: {
1267
+ comptrollerProxy: ComptrollerLib;
1268
+ integrationManager: IntegrationManager;
1269
+ fundOwner: SignerWithAddress;
1270
+ uniswapV3Adapter: AddressLike;
1271
+ pathAddresses: StandardToken[];
1272
+ pathFees: BigNumber[];
1273
+ outgoingAssetAmount: BigNumberish;
1274
+ minIncomingAssetAmount?: BigNumberish;
1275
+ seedFund?: boolean;
1276
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
1277
+
1278
+ declare function yearnVaultV2Lend({ signer, comptrollerProxy, integrationManager, yearnVaultV2Adapter, yVault, outgoingUnderlyingAmount, minIncomingYVaultSharesAmount, }: {
1279
+ signer: SignerWithAddress;
1280
+ comptrollerProxy: ComptrollerLib;
1281
+ integrationManager: IntegrationManager;
1282
+ yearnVaultV2Adapter: YearnVaultV2Adapter;
1283
+ yVault: StandardToken;
1284
+ outgoingUnderlyingAmount: BigNumberish;
1285
+ minIncomingYVaultSharesAmount?: BigNumberish;
1286
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: _enzymefinance_ethers.AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
1287
+ declare function yearnVaultV2Redeem({ signer, comptrollerProxy, integrationManager, yearnVaultV2Adapter, yVault, maxOutgoingYVaultSharesAmount, minIncomingUnderlyingAmount, slippageToleranceBps, }: {
1288
+ signer: SignerWithAddress;
1289
+ comptrollerProxy: ComptrollerLib;
1290
+ integrationManager: IntegrationManager;
1291
+ yearnVaultV2Adapter: YearnVaultV2Adapter;
1292
+ yVault: StandardToken;
1293
+ maxOutgoingYVaultSharesAmount: BigNumberish;
1294
+ minIncomingUnderlyingAmount?: BigNumberish;
1295
+ slippageToleranceBps?: BigNumberish;
1296
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: _enzymefinance_ethers.AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
1297
+
1298
+ declare function zeroExV2TakeOrder({ comptrollerProxy, integrationManager, fundOwner, zeroExV2Adapter, signedOrder, takerAssetFillAmount, }: {
1299
+ comptrollerProxy: ComptrollerLib;
1300
+ vaultProxy: VaultLib;
1301
+ integrationManager: IntegrationManager;
1302
+ fundOwner: SignerWithAddress;
1303
+ zeroExV2Adapter: ZeroExV2Adapter;
1304
+ signedOrder: SignedZeroExV2Order;
1305
+ takerAssetFillAmount: BigNumberish;
1306
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: _enzymefinance_ethers.AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
1307
+
1308
+ declare function generatePolicyManagerConfigWithMockPolicies({ deployer }: {
1309
+ deployer: Signer;
1310
+ }): Promise<string>;
1311
+ declare function generateMockPolicies({ deployer }: {
1312
+ deployer: Signer;
1313
+ }): Promise<{
1314
+ mockAddTrackedAssetsPolicy: _enzymefinance_ethers.MockContract<IPolicy>;
1315
+ mockCreateExternalPositionPolicy: _enzymefinance_ethers.MockContract<IPolicy>;
1316
+ mockPostBuySharesPolicy: _enzymefinance_ethers.MockContract<IPolicy>;
1317
+ mockPostCallOnExternalPositionPolicy: _enzymefinance_ethers.MockContract<IPolicy>;
1318
+ mockPostCoIPolicy: _enzymefinance_ethers.MockContract<IPolicy>;
1319
+ mockPreTransferSharesPolicy: _enzymefinance_ethers.MockContract<IPolicy>;
1320
+ mockRedeemSharesForSpecificAssetsPolicy: _enzymefinance_ethers.MockContract<IPolicy>;
1321
+ mockRemoveExternalPositionPolicy: _enzymefinance_ethers.MockContract<IPolicy>;
1322
+ }>;
1323
+
1324
+ interface IConvexBaseRewardPool extends Contract<IConvexBaseRewardPool> {
1325
+ stakeFor: Send<(forUser: AddressLike, amount: BigNumberish) => boolean>;
1326
+ }
1327
+ declare const IConvexBaseRewardPool: _enzymefinance_ethers.ContractFactory<IConvexBaseRewardPool, never>;
1328
+ interface IConvexCrvDepositor extends Contract<IConvexCrvDepositor> {
1329
+ deposit: Send<(amount: BigNumberish, lock: boolean) => void>;
1330
+ }
1331
+ declare const IConvexCrvDepositor: _enzymefinance_ethers.ContractFactory<IConvexCrvDepositor, never>;
1332
+ interface IConvexCvxLocker extends Contract<IConvexCvxLocker> {
1333
+ balanceOf: Call<(account: AddressLike) => BigNumber>;
1334
+ checkpointEpoch: Send<() => void>;
1335
+ getReward: Send<(account: AddressLike, stake: boolean) => void>;
1336
+ lockedBalanceOf: Call<(account: AddressLike) => BigNumber>;
1337
+ }
1338
+ declare const IConvexCvxLocker: _enzymefinance_ethers.ContractFactory<IConvexCvxLocker, never>;
1339
+ interface IConvexVlCvxExtraRewardDistribution extends Contract<IConvexVlCvxExtraRewardDistribution> {
1340
+ addReward: Send<(token: AddressLike, amount: BigNumberish) => void>;
1341
+ claimableRewards: Call<(account: AddressLike, token: AddressLike) => BigNumber>;
1342
+ }
1343
+ declare const IConvexVlCvxExtraRewardDistribution: _enzymefinance_ethers.ContractFactory<IConvexVlCvxExtraRewardDistribution, never>;
1344
+ interface ISnapshotDelegateRegistry extends Contract<ISnapshotDelegateRegistry> {
1345
+ delegation: Call<(account: AddressLike, id: BytesLike) => AddressLike>;
1346
+ }
1347
+ declare const ISnapshotDelegateRegistry: _enzymefinance_ethers.ContractFactory<ISnapshotDelegateRegistry, never>;
1348
+ interface IVotiumMultiMerkleStash extends Contract<IVotiumMultiMerkleStash> {
1349
+ owner: Call<() => AddressLike>;
1350
+ updateMerkleRoot: Send<(token: AddressLike, merkleRoot: BytesLike) => void>;
1351
+ }
1352
+ declare const IVotiumMultiMerkleStash: _enzymefinance_ethers.ContractFactory<IVotiumMultiMerkleStash, never>;
1353
+
1354
+ declare function deploySharesSplitter({ signer, sharesSplitterFactory, splitUsers, splitPercentages, }: {
1355
+ signer: SignerWithAddress;
1356
+ sharesSplitterFactory: SharesSplitterFactory;
1357
+ splitUsers: AddressLike[];
1358
+ splitPercentages: BigNumberish[];
1359
+ }): Promise<{
1360
+ receipt: _enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_users: AddressLike[], _splitPercentages: BigNumberish[]], string, SharesSplitterFactory>>;
1361
+ sharesSplitterProxy: SharesSplitterLib;
1362
+ }>;
1363
+
1364
+ interface BuySharesParams {
1365
+ comptrollerProxy: ComptrollerLib;
1366
+ denominationAsset: StandardToken;
1367
+ buyer: SignerWithAddress;
1368
+ investmentAmount?: BigNumberish;
1369
+ minSharesQuantity?: BigNumberish;
1370
+ seedBuyer?: boolean;
1371
+ }
1372
+ interface RedeemSharesForSpecificAssetsParams {
1373
+ comptrollerProxy: ComptrollerLib;
1374
+ signer: SignerWithAddress;
1375
+ recipient?: AddressLike;
1376
+ quantity?: BigNumberish;
1377
+ payoutAssets: AddressLike[];
1378
+ payoutAssetPercentages: BigNumberish[];
1379
+ }
1380
+ interface RedeemSharesInKindParams {
1381
+ comptrollerProxy: ComptrollerLib;
1382
+ signer: SignerWithAddress;
1383
+ recipient?: AddressLike;
1384
+ quantity?: BigNumberish;
1385
+ additionalAssets?: AddressLike[];
1386
+ assetsToSkip?: AddressLike[];
1387
+ }
1388
+ declare function buyShares(options: BuySharesParams): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_investmentAmount: BigNumberish, _minSharesQuantity: BigNumberish], ethers.BigNumber, ComptrollerLib>>>;
1389
+ declare function buySharesFunction({ comptrollerProxy, denominationAsset, buyer, investmentAmount, minSharesQuantity, seedBuyer, }: BuySharesParams): Promise<_enzymefinance_ethers.Send<(_investmentAmount: BigNumberish, _minSharesQuantity: BigNumberish) => ethers.BigNumber, ComptrollerLib>>;
1390
+ 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>>>;
1391
+ 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[]], {
1392
+ payoutAssets_: string[];
1393
+ payoutAmounts_: ethers.BigNumber[];
1394
+ }, ComptrollerLib>>>;
1395
+
1396
+ declare type InitialInvestmentParams = Omit<BuySharesParams, 'comptrollerProxy' | 'denominationAsset'>;
1397
+ interface CreateMigrationRequestParams {
1398
+ signer: SignerWithAddress;
1399
+ fundDeployer: FundDeployer;
1400
+ vaultProxy: AddressLike;
1401
+ denominationAsset: AddressLike;
1402
+ sharesActionTimelock?: BigNumberish;
1403
+ feeManagerConfigData?: BytesLike;
1404
+ policyManagerConfigData?: BytesLike;
1405
+ bypassPrevReleaseFailure?: boolean;
1406
+ }
1407
+ interface CreateNewFundParams {
1408
+ signer: SignerWithAddress;
1409
+ fundDeployer: FundDeployer;
1410
+ denominationAsset: StandardToken;
1411
+ sharesActionTimelock?: BigNumberish;
1412
+ fundOwner?: AddressLike;
1413
+ fundName?: string;
1414
+ fundSymbol?: string;
1415
+ feeManagerConfig?: BytesLike;
1416
+ policyManagerConfig?: BytesLike;
1417
+ investment?: InitialInvestmentParams;
1418
+ }
1419
+ interface CreateReconfigurationRequestParams {
1420
+ signer: SignerWithAddress;
1421
+ fundDeployer: FundDeployer;
1422
+ vaultProxy: AddressLike;
1423
+ denominationAsset: AddressLike;
1424
+ sharesActionTimelock?: BigNumberish;
1425
+ feeManagerConfigData?: BytesLike;
1426
+ policyManagerConfigData?: BytesLike;
1427
+ }
1428
+ declare function createComptrollerProxy({ signer, comptrollerLib, denominationAsset, sharesActionTimelock, }: {
1429
+ signer: SignerWithAddress;
1430
+ comptrollerLib: ComptrollerLib;
1431
+ denominationAsset: AddressLike;
1432
+ sharesActionTimelock?: BigNumberish;
1433
+ }): Promise<{
1434
+ comptrollerProxy: ComptrollerLib;
1435
+ receipt: _enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.ConstructorFunction<any, ComptrollerProxy>>;
1436
+ }>;
1437
+ declare function createMigrationRequest({ signer, fundDeployer, vaultProxy, denominationAsset, sharesActionTimelock, feeManagerConfigData, policyManagerConfigData, bypassPrevReleaseFailure, }: CreateMigrationRequestParams): Promise<{
1438
+ comptrollerProxy: ComptrollerLib;
1439
+ receipt: _enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_vaultProxy: AddressLike, _denominationAsset: AddressLike, _sharesActionTimelock: BigNumberish, _feeManagerConfigData: BytesLike, _policyManagerConfigData: BytesLike, _bypassPrevReleaseFailure: boolean], string, FundDeployer>>;
1440
+ }>;
1441
+ declare function createNewFund({ signer, fundDeployer, denominationAsset, sharesActionTimelock, fundOwner, fundName, fundSymbol, feeManagerConfig, policyManagerConfig, investment, }: CreateNewFundParams): Promise<{
1442
+ comptrollerProxy: ComptrollerLib;
1443
+ receipt: _enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_fundOwner: AddressLike, _fundName: string, _fundSymbol: string, _denominationAsset: AddressLike, _sharesActionTimelock: BigNumberish, _feeManagerConfigData: BytesLike, _policyManagerConfigData: BytesLike], {
1444
+ comptrollerProxy_: string;
1445
+ vaultProxy_: string;
1446
+ }, FundDeployer>>;
1447
+ vaultProxy: VaultLib;
1448
+ }>;
1449
+ declare function createReconfigurationRequest({ signer, fundDeployer, vaultProxy, denominationAsset, sharesActionTimelock, feeManagerConfigData, policyManagerConfigData, }: CreateReconfigurationRequestParams): Promise<{
1450
+ comptrollerProxy: ComptrollerLib;
1451
+ receipt: _enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_vaultProxy: AddressLike, _denominationAsset: AddressLike, _sharesActionTimelock: BigNumberish, _feeManagerConfigData: BytesLike, _policyManagerConfigData: BytesLike], string, FundDeployer>>;
1452
+ }>;
1453
+ declare function createVaultProxy({ signer, vaultLib, fundOwner, fundAccessor, fundName, }: {
1454
+ signer: SignerWithAddress;
1455
+ vaultLib: VaultLib;
1456
+ fundOwner: AddressLike;
1457
+ fundAccessor: SignerWithAddress;
1458
+ fundName?: string;
1459
+ }): Promise<VaultLib>;
1460
+ declare function setupGasRelayerPaymaster({ signer, vaultProxy, fundAccessor, weth, startingBalance, }: {
1461
+ signer: SignerWithAddress;
1462
+ vaultProxy: AddressLike;
1463
+ fundAccessor: AddressLike;
1464
+ weth: StandardToken;
1465
+ startingBalance?: BigNumberish;
1466
+ }): Promise<GasRelayPaymasterLib>;
1467
+
1468
+ declare function vaultCallCreateNewList({ addressListRegistry, comptrollerProxy, items, owner, signer, updateType, }: {
1469
+ addressListRegistry: AddressListRegistry;
1470
+ comptrollerProxy: ComptrollerLib;
1471
+ items: AddressLike[];
1472
+ owner: AddressLike;
1473
+ signer: SignerWithAddress;
1474
+ updateType: AddressListUpdateType;
1475
+ }): Promise<ethers.BigNumber>;
1476
+ declare function vaultCallCurveMinterMint({ comptrollerProxy, minter, gauge, }: {
1477
+ comptrollerProxy: ComptrollerLib;
1478
+ minter: AddressLike;
1479
+ gauge: AddressLike;
1480
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_contract: AddressLike, _selector: utils.BytesLike, _encodedArgs: utils.BytesLike], string, ComptrollerLib>>>;
1481
+ declare function vaultCallCurveMinterMintMany({ comptrollerProxy, minter, gauges, }: {
1482
+ comptrollerProxy: ComptrollerLib;
1483
+ minter: AddressLike;
1484
+ gauges: AddressLike[];
1485
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_contract: AddressLike, _selector: utils.BytesLike, _encodedArgs: utils.BytesLike], string, ComptrollerLib>>>;
1486
+ declare function vaultCallCurveMinterToggleApproveMint({ comptrollerProxy, minter, account, }: {
1487
+ comptrollerProxy: ComptrollerLib;
1488
+ minter: AddressLike;
1489
+ account: AddressLike;
1490
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_contract: AddressLike, _selector: utils.BytesLike, _encodedArgs: utils.BytesLike], string, ComptrollerLib>>>;
1491
+ declare function vaultCallStartAssetBypassTimelock({ comptrollerProxy, contract, asset, }: {
1492
+ comptrollerProxy: ComptrollerLib;
1493
+ contract: AddressLike;
1494
+ asset: AddressLike;
1495
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_contract: AddressLike, _selector: utils.BytesLike, _encodedArgs: utils.BytesLike], string, ComptrollerLib>>>;
1496
+
1497
+ declare const whales: {
1498
+ readonly bat: "0x12274c71304bc0e6b38a56b94d2949b118feb838";
1499
+ readonly bnb: "0xbe0eb53f46cd790cd13851d5eff43d12404d33e8";
1500
+ readonly bnt: "0x7d1ed1601a12a172269436fa95fe156650603c1d";
1501
+ readonly busd: "0x47ac0fb4f2d84898e4d9e7b4dab3c24507a6d503";
1502
+ readonly comp: "0x0f50d31b3eaefd65236dd3736b863cffa4c63c4e";
1503
+ readonly crv: "0xf89501b77b2fa6329f94f5a05fe84cebb5c8b1a0";
1504
+ readonly dai: "0x47ac0fb4f2d84898e4d9e7b4dab3c24507a6d503";
1505
+ readonly grt: "0xf977814e90da44bfa03b6295a0616a897441acec";
1506
+ readonly knc: "0x09d51654bd9efbfcb56da3491989cc1444095fff";
1507
+ readonly ldo: "0x3dba737ccc50a32a1764b493285dd51c8af6c278";
1508
+ readonly link: "0xbe6977e08d4479c0a6777539ae0e8fa27be4e9d6";
1509
+ readonly lusd: "0x24cbbef882a77c5aaa9abd6558e68b4c648453c5";
1510
+ readonly mana: "0xefb94ac00f1cee8a89d5c3f49faa799da6f03024";
1511
+ readonly mln: "0xd8f8a53945bcfbbc19da162aa405e662ef71c40d";
1512
+ readonly ohm: "0x2cfcbd233268c302996c767347eb45bec36fb08d";
1513
+ readonly rep: "0xc6a043b07d33b6f30d8cb501026c391cfd25abe1";
1514
+ readonly ren: "0xbe0eb53f46cd790cd13851d5eff43d12404d33e8";
1515
+ readonly susd: "0xa5f7a39e55d7878bc5bd754ee5d6bd7a7662355b";
1516
+ readonly sohm: "0x3d5c83351c872fdf07da498c84ca3275222f284c";
1517
+ readonly uni: "0x47173b170c64d16393a52e6c480b3ad8c302ba1e";
1518
+ readonly usdc: "0xae2d4617c862309a3d75a0ffb358c7a5009c673f";
1519
+ readonly usdt: "0x5041ed759dd4afc3a72b8192c143f72f4724081a";
1520
+ readonly weth: "0xe08A8b19e5722a201EaF20A6BC595eF655397bd5";
1521
+ readonly zrx: "0x206376e8940e42538781cd94ef024df3c1e0fd43";
1522
+ readonly ausdc: "0x3DdfA8eC3052539b6C9549F12cEA2C295cfF5296";
1523
+ readonly ausdt: "0x7d6149ad9a573a6e2ca6ebf7d4897c1b766841b4";
1524
+ readonly ccomp: "0xd74f186194ab9219fafac5c2fe4b3270169666db";
1525
+ readonly cdai: "0x22fa8cc33a42320385cbd3690ed60a021891cb32";
1526
+ readonly ceth: "0x8aceab8167c80cb8b3de7fa6228b889bb1130ee8";
1527
+ readonly cuni: "0x39d8014b4f40d2cbc441137011d32023f4f1fd87";
1528
+ readonly cusdc: "0xb3bd459e0598dde1fe84b1d0a1430be175b5d5be";
1529
+ readonly fdai7: "0xa993d62492f41703f6185881eae755b0966ea5b0";
1530
+ readonly feth7: "0x05f284897641661fee9f1c1413a4f599a43a746f";
1531
+ readonly fdai8: "0xd6bf9d9079139dbb3a4fdb84b07efc75ea77838f";
1532
+ readonly ftribe8: "0xdb5ac83c137321da29a59a7592232bc4ed461730";
1533
+ readonly ptUsdc: "0x8904ffc6aa039db5941de11309a42372f3f7d2fd";
1534
+ readonly seth: "0xc34a7c65aa08cb36744bda8eeec7b8e9891e147c";
1535
+ readonly sxag: "0x40d68c490bf7262ec40048099aec23535f734be2";
1536
+ readonly sxau: "0x92eb453b7b5b8d41edb44e2c8b8b53eb70a482c7";
1537
+ readonly cvx: "0x0aca67fa70b142a3b9bf2ed89a81b40ff85dacdc";
1538
+ readonly lidoSteth: "0x06920c9fc643de77b99cb7670a944ad31eaaa260";
1539
+ readonly ust: "0x738cf6903e6c4e699d1c2dd9ab8b67fcdb3121ea";
1540
+ readonly stecrv: "0x56c915758ad3f76fd287fff7563ee313142fb663";
1541
+ };
1542
+ declare type Whale = keyof typeof whales;
1543
+ declare type WhaleSigners<T extends Partial<Whale> = Whale> = Record<T, SignerWithAddress>;
1544
+ declare function unlockWhale(token: Whale): Promise<SignerWithAddress>;
1545
+ 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">>;
1546
+ declare function unlockWhales<T extends Whale>(...tokens: T[]): Promise<WhaleSigners<T>>;
1547
+
1548
+ 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 };