@enzymefinance/testutils 4.0.0 → 4.0.3

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