@enzymefinance/testutils 4.0.0 → 4.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/dist/index.d.ts +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 };