@enzymefinance/testutils 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (79) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/declarations/src/assertions.d.ts +4 -0
  3. package/dist/declarations/src/deployment.d.ts +81 -0
  4. package/dist/declarations/src/helpers.d.ts +2 -0
  5. package/dist/declarations/src/index.d.ts +5 -0
  6. package/dist/declarations/src/scaffolding/assets.d.ts +12 -0
  7. package/dist/declarations/src/scaffolding/chainlink.d.ts +3 -0
  8. package/dist/declarations/src/scaffolding/common.d.ts +6 -0
  9. package/dist/declarations/src/scaffolding/core.d.ts +19 -0
  10. package/dist/declarations/src/scaffolding/extensions/common.d.ts +11 -0
  11. package/dist/declarations/src/scaffolding/extensions/fees.d.ts +14 -0
  12. package/dist/declarations/src/scaffolding/extensions/index.d.ts +4 -0
  13. package/dist/declarations/src/scaffolding/extensions/integrations/aave.d.ts +19 -0
  14. package/dist/declarations/src/scaffolding/extensions/integrations/alpha.d.ts +36 -0
  15. package/dist/declarations/src/scaffolding/extensions/integrations/compound.d.ts +27 -0
  16. package/dist/declarations/src/scaffolding/extensions/integrations/curve.d.ts +331 -0
  17. package/dist/declarations/src/scaffolding/extensions/integrations/idle.d.ts +57 -0
  18. package/dist/declarations/src/scaffolding/extensions/integrations/index.d.ts +14 -0
  19. package/dist/declarations/src/scaffolding/extensions/integrations/kyber.d.ts +23 -0
  20. package/dist/declarations/src/scaffolding/extensions/integrations/mock.d.ts +32 -0
  21. package/dist/declarations/src/scaffolding/extensions/integrations/paraSwapV4.d.ts +22 -0
  22. package/dist/declarations/src/scaffolding/extensions/integrations/synthetix.d.ts +25 -0
  23. package/dist/declarations/src/scaffolding/extensions/integrations/trackedAssets.d.ts +17 -0
  24. package/dist/declarations/src/scaffolding/extensions/integrations/uniswapV2.d.ts +46 -0
  25. package/dist/declarations/src/scaffolding/extensions/integrations/uniswapV3.d.ts +15 -0
  26. package/dist/declarations/src/scaffolding/extensions/integrations/yearn.d.ts +22 -0
  27. package/dist/declarations/src/scaffolding/extensions/integrations/zeroExV2.d.ts +12 -0
  28. package/dist/declarations/src/scaffolding/extensions/policies.d.ts +15 -0
  29. package/dist/declarations/src/scaffolding/index.d.ts +9 -0
  30. package/dist/declarations/src/scaffolding/peripheral/index.d.ts +1 -0
  31. package/dist/declarations/src/scaffolding/peripheral/sharesRequestors.d.ts +19 -0
  32. package/dist/declarations/src/scaffolding/setup.d.ts +46 -0
  33. package/dist/declarations/src/scaffolding/shares.d.ts +30 -0
  34. package/dist/declarations/src/scaffolding/vaultCalls.d.ts +17 -0
  35. package/dist/declarations/src/whales.d.ts +43 -0
  36. package/dist/enzymefinance-testutils.browser.cjs.js +3160 -0
  37. package/dist/enzymefinance-testutils.browser.esm.js +3045 -0
  38. package/dist/enzymefinance-testutils.cjs.d.ts +1 -0
  39. package/dist/enzymefinance-testutils.cjs.dev.js +3160 -0
  40. package/dist/enzymefinance-testutils.cjs.js +7 -0
  41. package/dist/enzymefinance-testutils.cjs.prod.js +3160 -0
  42. package/dist/enzymefinance-testutils.esm.js +3045 -0
  43. package/package.json +18 -0
  44. package/src/assertions.ts +20 -0
  45. package/src/deployment.ts +169 -0
  46. package/src/helpers.ts +6 -0
  47. package/src/index.ts +5 -0
  48. package/src/scaffolding/assets.ts +39 -0
  49. package/src/scaffolding/chainlink.ts +8 -0
  50. package/src/scaffolding/common.ts +6 -0
  51. package/src/scaffolding/core.ts +77 -0
  52. package/src/scaffolding/extensions/common.ts +30 -0
  53. package/src/scaffolding/extensions/fees.ts +87 -0
  54. package/src/scaffolding/extensions/index.ts +4 -0
  55. package/src/scaffolding/extensions/integrations/aave.ts +80 -0
  56. package/src/scaffolding/extensions/integrations/alpha.ts +119 -0
  57. package/src/scaffolding/extensions/integrations/compound.ts +97 -0
  58. package/src/scaffolding/extensions/integrations/curve.ts +1207 -0
  59. package/src/scaffolding/extensions/integrations/idle.ts +215 -0
  60. package/src/scaffolding/extensions/integrations/index.ts +14 -0
  61. package/src/scaffolding/extensions/integrations/kyber.ts +69 -0
  62. package/src/scaffolding/extensions/integrations/mock.ts +118 -0
  63. package/src/scaffolding/extensions/integrations/paraSwapV4.ts +65 -0
  64. package/src/scaffolding/extensions/integrations/synthetix.ts +97 -0
  65. package/src/scaffolding/extensions/integrations/trackedAssets.ts +66 -0
  66. package/src/scaffolding/extensions/integrations/uniswapV2.ts +171 -0
  67. package/src/scaffolding/extensions/integrations/uniswapV3.ts +56 -0
  68. package/src/scaffolding/extensions/integrations/yearn.ts +81 -0
  69. package/src/scaffolding/extensions/integrations/zeroExV2.ts +45 -0
  70. package/src/scaffolding/extensions/policies.ts +85 -0
  71. package/src/scaffolding/index.ts +9 -0
  72. package/src/scaffolding/peripheral/index.ts +1 -0
  73. package/src/scaffolding/peripheral/sharesRequestors.ts +53 -0
  74. package/src/scaffolding/setup.ts +135 -0
  75. package/src/scaffolding/shares.ts +63 -0
  76. package/src/scaffolding/vaultCalls.ts +58 -0
  77. package/src/types.d.ts +1 -0
  78. package/src/whales.ts +63 -0
  79. package/tsconfig.json +4 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,11 @@
1
+ # @enzymefinance/testutils
2
+
3
+ ## 3.0.0
4
+ ### Major Changes
5
+
6
+ - 65ce0f49: Publishing testutils alongside protocol package.
7
+
8
+ ### Patch Changes
9
+
10
+ - Updated dependencies [65ce0f49]
11
+ - @enzymefinance/protocol@3.0.0
@@ -0,0 +1,4 @@
1
+ import { ContractReceipt } from '@enzymefinance/ethers';
2
+ import { utils } from 'ethers';
3
+ export declare function assertEvent<TResult = any>(receipt: ContractReceipt<any>, event: string | utils.EventFragment, match?: TResult): NonNullable<TResult>;
4
+ export declare function assertNoEvent(receipt: ContractReceipt<any>, event: string | utils.EventFragment): void;
@@ -0,0 +1,81 @@
1
+ import { Contract } from '@enzymefinance/ethers';
2
+ import { SignerWithAddress } from '@enzymefinance/hardhat';
3
+ import { Dispatcher, VaultLib, FundDeployer, PolicyManager, AavePriceFeed, AlphaHomoraV1PriceFeed, ChainlinkPriceFeed, CompoundPriceFeed, CurvePriceFeed, IdlePriceFeed, LidoStethPriceFeed, RevertingPriceFeed, StakehoundEthPriceFeed, SynthetixPriceFeed, WdgldPriceFeed, YearnVaultV2PriceFeed, AggregatedDerivativePriceFeed, ValueInterpreter, UniswapV2PoolPriceFeed, IntegrationManager, AaveAdapter, AlphaHomoraV1Adapter, CurveLiquidityAaveAdapter, CurveLiquidityEursAdapter, CurveLiquiditySethAdapter, CurveLiquidityStethAdapter, IdleAdapter, ParaSwapV4Adapter, SynthetixAdapter, YearnVaultV2Adapter, ZeroExV2Adapter, CompoundAdapter, UniswapV2Adapter, TrackedAssetsAdapter, UniswapV3Adapter, CurveExchangeAdapter, KyberAdapter, FeeManager, ComptrollerLib, EntranceRateBurnFee, EntranceRateDirectFee, ManagementFee, PerformanceFee, AuthUserExecutedSharesRequestorLib, AuthUserExecutedSharesRequestorFactory, FundActionsWrapper, AdapterBlacklist, AdapterWhitelist, AssetBlacklist, AssetWhitelist, BuySharesCallerWhitelist, MaxConcentration, MinMaxInvestment, InvestorWhitelist, GuaranteedRedemption } from '@enzymefinance/protocol';
4
+ import { DeploymentConfig } from '../../../deploy/utils/config';
5
+ export declare function getNamedSigner(name: string): Promise<SignerWithAddress>;
6
+ export declare function getUnnamedSigners(): Promise<SignerWithAddress[]>;
7
+ export declare function deployProtocolFixture(): Promise<{
8
+ readonly deployer: SignerWithAddress;
9
+ readonly deployment: {
10
+ readonly dispatcher: Dispatcher;
11
+ readonly vaultLib: VaultLib;
12
+ readonly fundDeployer: FundDeployer;
13
+ readonly policyManager: PolicyManager;
14
+ readonly aavePriceFeed: AavePriceFeed;
15
+ readonly alphaHomoraV1PriceFeed: AlphaHomoraV1PriceFeed;
16
+ readonly chainlinkPriceFeed: ChainlinkPriceFeed;
17
+ readonly compoundPriceFeed: CompoundPriceFeed;
18
+ readonly curvePriceFeed: CurvePriceFeed;
19
+ readonly idlePriceFeed: IdlePriceFeed;
20
+ readonly lidoStethPriceFeed: LidoStethPriceFeed;
21
+ readonly revertingPriceFeed: RevertingPriceFeed;
22
+ readonly synthetixPriceFeed: SynthetixPriceFeed;
23
+ readonly stakehoundEthPriceFeed: StakehoundEthPriceFeed;
24
+ readonly wdgldPriceFeed: WdgldPriceFeed;
25
+ readonly yearnVaultV2PriceFeed: YearnVaultV2PriceFeed;
26
+ readonly aggregatedDerivativePriceFeed: AggregatedDerivativePriceFeed;
27
+ readonly valueInterpreter: ValueInterpreter;
28
+ readonly uniswapV2PoolPriceFeed: UniswapV2PoolPriceFeed;
29
+ readonly integrationManager: IntegrationManager;
30
+ readonly curveLiquidityAaveAdapter: CurveLiquidityAaveAdapter;
31
+ readonly curveLiquidityEursAdapter: CurveLiquidityEursAdapter;
32
+ readonly curveLiquiditySethAdapter: CurveLiquiditySethAdapter;
33
+ readonly curveLiquidityStethAdapter: CurveLiquidityStethAdapter;
34
+ readonly aaveAdapter: AaveAdapter;
35
+ readonly alphaHomoraV1Adapter: AlphaHomoraV1Adapter;
36
+ readonly idleAdapter: IdleAdapter;
37
+ readonly paraSwapV4Adapter: ParaSwapV4Adapter;
38
+ readonly synthetixAdapter: SynthetixAdapter;
39
+ readonly yearnVaultV2Adapter: YearnVaultV2Adapter;
40
+ readonly zeroExV2Adapter: ZeroExV2Adapter;
41
+ readonly compoundAdapter: CompoundAdapter;
42
+ readonly uniswapV2Adapter: UniswapV2Adapter;
43
+ readonly trackedAssetsAdapter: TrackedAssetsAdapter;
44
+ readonly uniswapV3Adapter: UniswapV3Adapter;
45
+ readonly curveExchangeAdapter: CurveExchangeAdapter;
46
+ readonly kyberAdapter: KyberAdapter;
47
+ readonly feeManager: FeeManager;
48
+ readonly comptrollerLib: ComptrollerLib;
49
+ readonly entranceRateBurnFee: EntranceRateBurnFee;
50
+ readonly entranceRateDirectFee: EntranceRateDirectFee;
51
+ readonly managementFee: ManagementFee;
52
+ readonly performanceFee: PerformanceFee;
53
+ readonly authUserExecutedSharesRequestorLib: AuthUserExecutedSharesRequestorLib;
54
+ readonly authUserExecutedSharesRequestorFactory: AuthUserExecutedSharesRequestorFactory;
55
+ readonly fundActionsWrapper: FundActionsWrapper;
56
+ readonly adapterBlacklist: AdapterBlacklist;
57
+ readonly adapterWhitelist: AdapterWhitelist;
58
+ readonly assetBlacklist: AssetBlacklist;
59
+ readonly assetWhitelist: AssetWhitelist;
60
+ readonly buySharesCallerWhitelist: BuySharesCallerWhitelist;
61
+ readonly maxConcentration: MaxConcentration;
62
+ readonly minMaxInvestment: MinMaxInvestment;
63
+ readonly investorWhitelist: InvestorWhitelist;
64
+ readonly guaranteedRedemption: GuaranteedRedemption;
65
+ };
66
+ readonly accounts: SignerWithAddress[];
67
+ readonly config: DeploymentConfig;
68
+ }>;
69
+ declare type Resolve<T extends () => any> = ReturnType<T> extends Promise<infer U> ? U : ReturnType<T>;
70
+ declare type ContractMap = Record<string, Contract>;
71
+ export interface DeploymentFixtureWithoutConfig<T extends ContractMap> {
72
+ deployer: SignerWithAddress;
73
+ deployment: T;
74
+ accounts: SignerWithAddress[];
75
+ }
76
+ export interface DeploymentFixtureWithConfig<T extends ContractMap> extends DeploymentFixtureWithoutConfig<T> {
77
+ config: DeploymentConfig;
78
+ }
79
+ export declare type ProtocolDeployment = Resolve<typeof deployProtocolFixture>;
80
+ export declare function defaultTestDeployment(_: any): Promise<any>;
81
+ export {};
@@ -0,0 +1,2 @@
1
+ import { ContractReceipt } from '@enzymefinance/ethers';
2
+ export declare function transactionTimestamp(receipt: ContractReceipt<any>): Promise<number>;
@@ -0,0 +1,5 @@
1
+ export * from './deployment';
2
+ export * from './scaffolding';
3
+ export * from './assertions';
4
+ export * from './helpers';
5
+ export * from './whales';
@@ -0,0 +1,12 @@
1
+ import { SignerWithAddress } from '@enzymefinance/hardhat';
2
+ import { ComptrollerLib, IntegrationManager, StandardToken, TrackedAssetsAdapter, VaultLib } from '@enzymefinance/protocol';
3
+ import { BigNumberish } from 'ethers';
4
+ export declare function addNewAssetsToFund({ fundOwner, comptrollerProxy, vaultProxy, integrationManager, trackedAssetsAdapter, assets, amounts, }: {
5
+ fundOwner: SignerWithAddress;
6
+ comptrollerProxy: ComptrollerLib;
7
+ vaultProxy: VaultLib;
8
+ integrationManager: IntegrationManager;
9
+ trackedAssetsAdapter: TrackedAssetsAdapter;
10
+ assets: StandardToken[];
11
+ amounts?: BigNumberish[];
12
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: import("@enzymefinance/ethers").AddressLike, _actionId: BigNumberish, _callArgs: import("ethers").BytesLike], void, ComptrollerLib>>>;
@@ -0,0 +1,3 @@
1
+ import { BigNumberish } from 'ethers';
2
+ import { MockChainlinkPriceSource } from '@enzymefinance/protocol';
3
+ export declare function updateChainlinkAggregator(aggregator: MockChainlinkPriceSource, price?: BigNumberish): Promise<void>;
@@ -0,0 +1,6 @@
1
+ import { AddressLike } from '@enzymefinance/ethers';
2
+ import { StandardToken } from '@enzymefinance/protocol';
3
+ export declare function getAssetBalances({ account, assets }: {
4
+ account: AddressLike;
5
+ assets: StandardToken[];
6
+ }): Promise<import("ethers").BigNumber[]>;
@@ -0,0 +1,19 @@
1
+ import { AddressLike } from '@enzymefinance/ethers';
2
+ import { ChainlinkPriceFeed, Dispatcher, FeeManager, FundDeployer, IntegrationManager, PolicyManager, SynthetixPriceFeed, ValueInterpreter, VaultLib } from '@enzymefinance/protocol';
3
+ import { BytesLike, Signer } from 'ethers';
4
+ export declare function createFundDeployer({ deployer, chainlinkPriceFeed, dispatcher, feeManager, integrationManager, policyManager, synthetixAddressResolverAddress, synthetixPriceFeed, valueInterpreter, vaultLib, vaultCallContracts, vaultCallSelectors, setOnDispatcher, setReleaseStatusLive, }: {
5
+ deployer: Signer;
6
+ chainlinkPriceFeed: ChainlinkPriceFeed;
7
+ dispatcher: Dispatcher;
8
+ feeManager: FeeManager;
9
+ integrationManager: IntegrationManager;
10
+ policyManager: PolicyManager;
11
+ synthetixAddressResolverAddress: AddressLike;
12
+ synthetixPriceFeed: SynthetixPriceFeed;
13
+ valueInterpreter: ValueInterpreter;
14
+ vaultLib: VaultLib;
15
+ vaultCallContracts?: AddressLike[];
16
+ vaultCallSelectors?: BytesLike[];
17
+ setOnDispatcher?: boolean;
18
+ setReleaseStatusLive?: boolean;
19
+ }): Promise<FundDeployer>;
@@ -0,0 +1,11 @@
1
+ import { AddressLike } from '@enzymefinance/ethers';
2
+ import { SignerWithAddress } from '@enzymefinance/hardhat';
3
+ import { ComptrollerLib } from '@enzymefinance/protocol';
4
+ import { BigNumberish, BytesLike } from 'ethers';
5
+ export declare function callOnExtension({ comptrollerProxy, extension, actionId, callArgs, signer, }: {
6
+ comptrollerProxy: ComptrollerLib;
7
+ extension: AddressLike;
8
+ actionId: BigNumberish;
9
+ callArgs?: BytesLike;
10
+ signer?: SignerWithAddress;
11
+ }): Promise<any>;
@@ -0,0 +1,14 @@
1
+ import { SignerWithAddress } from '@enzymefinance/hardhat';
2
+ import { FeeManager, IFee } from '@enzymefinance/protocol';
3
+ export declare function generateFeeManagerConfigWithMockFees({ deployer, feeManager, }: {
4
+ deployer: SignerWithAddress;
5
+ feeManager: FeeManager;
6
+ }): Promise<string>;
7
+ export declare function generateRegisteredMockFees({ deployer, feeManager, }: {
8
+ deployer: SignerWithAddress;
9
+ feeManager: FeeManager;
10
+ }): Promise<{
11
+ mockContinuousFeeSettleOnly: import("@enzymefinance/ethers").MockContract<IFee>;
12
+ mockContinuousFeeWithGavAndUpdates: import("@enzymefinance/ethers").MockContract<IFee>;
13
+ mockPostBuySharesFee: import("@enzymefinance/ethers").MockContract<IFee>;
14
+ }>;
@@ -0,0 +1,4 @@
1
+ export * from './common';
2
+ export * from './fees';
3
+ export * from './integrations';
4
+ export * from './policies';
@@ -0,0 +1,19 @@
1
+ import { SignerWithAddress } from '@enzymefinance/hardhat';
2
+ import { AaveAdapter, ComptrollerLib, IntegrationManager, StandardToken } from '@enzymefinance/protocol';
3
+ import { BigNumberish, utils } from 'ethers';
4
+ export declare function aaveLend({ comptrollerProxy, integrationManager, fundOwner, aaveAdapter, aToken, amount, }: {
5
+ comptrollerProxy: ComptrollerLib;
6
+ integrationManager: IntegrationManager;
7
+ fundOwner: SignerWithAddress;
8
+ aaveAdapter: AaveAdapter;
9
+ aToken: StandardToken;
10
+ amount?: BigNumberish;
11
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: import("@enzymefinance/ethers").AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
12
+ export declare function aaveRedeem({ comptrollerProxy, integrationManager, fundOwner, aaveAdapter, aToken, amount, }: {
13
+ comptrollerProxy: ComptrollerLib;
14
+ integrationManager: IntegrationManager;
15
+ fundOwner: SignerWithAddress;
16
+ aaveAdapter: AaveAdapter;
17
+ aToken: StandardToken;
18
+ amount?: BigNumberish;
19
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: import("@enzymefinance/ethers").AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
@@ -0,0 +1,36 @@
1
+ import { Call, Contract } from '@enzymefinance/ethers';
2
+ import { SignerWithAddress } from '@enzymefinance/hardhat';
3
+ import { AlphaHomoraV1Adapter, ComptrollerLib, IntegrationManager } from '@enzymefinance/protocol';
4
+ import { BigNumber, BigNumberish, providers, utils } from 'ethers';
5
+ export interface AlphaHomoraV1BankConfig extends Contract<AlphaHomoraV1BankConfig> {
6
+ getReservePoolBps: Call<() => BigNumber, Contract<any>>;
7
+ }
8
+ export declare const AlphaHomoraV1BankConfig: import("@enzymefinance/ethers").ContractFactory<AlphaHomoraV1BankConfig, never>;
9
+ export interface AlphaHomoraV1Bank extends Contract<AlphaHomoraV1Bank> {
10
+ config: Call<() => string, Contract<any>>;
11
+ glbDebtVal: Call<() => BigNumber, Contract<any>>;
12
+ pendingInterest: Call<(msgValue: BigNumberish) => BigNumber, Contract<any>>;
13
+ reservePool: Call<() => BigNumber, Contract<any>>;
14
+ totalEth: Call<() => BigNumber, Contract<any>>;
15
+ }
16
+ export declare const AlphaHomoraV1Bank: import("@enzymefinance/ethers").ContractFactory<AlphaHomoraV1Bank, never>;
17
+ export declare function alphaHomoraV1Lend({ comptrollerProxy, integrationManager, fundOwner, alphaHomoraV1Adapter, wethAmount, minibethAmount, }: {
18
+ comptrollerProxy: ComptrollerLib;
19
+ integrationManager: IntegrationManager;
20
+ fundOwner: SignerWithAddress;
21
+ alphaHomoraV1Adapter: AlphaHomoraV1Adapter;
22
+ wethAmount?: BigNumberish;
23
+ minibethAmount?: BigNumberish;
24
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: import("@enzymefinance/ethers").AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
25
+ export declare function alphaHomoraV1Redeem({ comptrollerProxy, integrationManager, fundOwner, alphaHomoraV1Adapter, ibethAmount, minWethAmount, }: {
26
+ comptrollerProxy: ComptrollerLib;
27
+ integrationManager: IntegrationManager;
28
+ fundOwner: SignerWithAddress;
29
+ alphaHomoraV1Adapter: AlphaHomoraV1Adapter;
30
+ ibethAmount?: BigNumberish;
31
+ minWethAmount?: BigNumberish;
32
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: import("@enzymefinance/ethers").AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
33
+ export declare function calcAlphaBankLiveTotalEth({ provider, alphaHomoraBank, }: {
34
+ provider: providers.Provider;
35
+ alphaHomoraBank: AlphaHomoraV1Bank;
36
+ }): Promise<import("@ethersproject/bignumber").BigNumber>;
@@ -0,0 +1,27 @@
1
+ import { AddressLike, Contract, Send } from '@enzymefinance/ethers';
2
+ import { SignerWithAddress } from '@enzymefinance/hardhat';
3
+ import { CompoundAdapter, ComptrollerLib, ICERC20, IntegrationManager, VaultLib } from '@enzymefinance/protocol';
4
+ import { BigNumberish, utils } from 'ethers';
5
+ export interface ICompoundComptroller extends Contract<ICompoundComptroller> {
6
+ claimComp: Send<(_account: AddressLike) => void>;
7
+ }
8
+ export declare const ICompoundComptroller: import("@enzymefinance/ethers").ContractFactory<ICompoundComptroller, never>;
9
+ export declare function compoundLend({ comptrollerProxy, integrationManager, fundOwner, compoundAdapter, cToken, tokenAmount, cTokenAmount, }: {
10
+ comptrollerProxy: ComptrollerLib;
11
+ integrationManager: IntegrationManager;
12
+ fundOwner: SignerWithAddress;
13
+ compoundAdapter: CompoundAdapter;
14
+ cToken: ICERC20;
15
+ tokenAmount?: BigNumberish;
16
+ cTokenAmount?: BigNumberish;
17
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
18
+ export declare function compoundRedeem({ comptrollerProxy, integrationManager, fundOwner, compoundAdapter, cToken, tokenAmount, cTokenAmount, }: {
19
+ comptrollerProxy: ComptrollerLib;
20
+ vaultProxy: VaultLib;
21
+ integrationManager: IntegrationManager;
22
+ fundOwner: SignerWithAddress;
23
+ compoundAdapter: CompoundAdapter;
24
+ cToken: ICERC20;
25
+ tokenAmount?: BigNumberish;
26
+ cTokenAmount?: BigNumberish;
27
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
@@ -0,0 +1,331 @@
1
+ import { AddressLike, Call, Contract, Send } from '@enzymefinance/ethers';
2
+ import { SignerWithAddress } from '@enzymefinance/hardhat';
3
+ import { ComptrollerLib, CurveAavePoolAssetIndex, CurveExchangeAdapter, CurveLiquidityAaveAdapter, CurveLiquidityEursAdapter, CurveLiquiditySethAdapter, CurveLiquidityStethAdapter, IntegrationManager, StandardToken } from '@enzymefinance/protocol';
4
+ import { BigNumber, BigNumberish, utils } from 'ethers';
5
+ export interface CurveLiquidityGaugeV2 extends Contract<CurveLiquidityGaugeV2> {
6
+ claim_rewards: Send<(_addr: AddressLike) => void>;
7
+ integrate_fraction: Call<(_for: AddressLike) => BigNumber, Contract<any>>;
8
+ }
9
+ export declare const CurveLiquidityGaugeV2: import("@enzymefinance/ethers").ContractFactory<CurveLiquidityGaugeV2, never>;
10
+ export interface CurveSwaps extends Contract<CurveSwaps> {
11
+ get_best_rate: Call<(_from: AddressLike, to: AddressLike, amount: BigNumberish) => {
12
+ bestPool: AddressLike;
13
+ amountReceived: BigNumber;
14
+ }, CurveSwaps>;
15
+ }
16
+ export declare const CurveSwaps: import("@enzymefinance/ethers").ContractFactory<CurveSwaps, never>;
17
+ export interface CurveMinter extends Contract<CurveMinter> {
18
+ mint_for: Send<(_gauge_address: AddressLike, _for: AddressLike) => void>;
19
+ }
20
+ export declare const CurveMinter: import("@enzymefinance/ethers").ContractFactory<CurveMinter, never>;
21
+ export declare function curveApproveAssets({ comptrollerProxy, integrationManager, fundOwner, adapter, assets, amounts, }: {
22
+ comptrollerProxy: ComptrollerLib;
23
+ integrationManager: IntegrationManager;
24
+ fundOwner: SignerWithAddress;
25
+ adapter: AddressLike;
26
+ assets: AddressLike[];
27
+ amounts?: BigNumberish[];
28
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
29
+ export declare function curveTakeOrder({ comptrollerProxy, integrationManager, fundOwner, curveExchangeAdapter, pool, outgoingAsset, outgoingAssetAmount, incomingAsset, minIncomingAssetAmount, }: {
30
+ comptrollerProxy: ComptrollerLib;
31
+ integrationManager: IntegrationManager;
32
+ fundOwner: SignerWithAddress;
33
+ curveExchangeAdapter: CurveExchangeAdapter;
34
+ pool: AddressLike;
35
+ outgoingAsset: StandardToken;
36
+ outgoingAssetAmount?: BigNumberish;
37
+ incomingAsset: StandardToken;
38
+ minIncomingAssetAmount?: BigNumberish;
39
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
40
+ export declare function curveAaveClaimRewards({ comptrollerProxy, integrationManager, fundOwner, curveLiquidityAaveAdapter, }: {
41
+ comptrollerProxy: ComptrollerLib;
42
+ integrationManager: IntegrationManager;
43
+ fundOwner: SignerWithAddress;
44
+ curveLiquidityAaveAdapter: CurveLiquidityAaveAdapter;
45
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
46
+ export declare function curveAaveClaimRewardsAndReinvest({ comptrollerProxy, integrationManager, fundOwner, curveLiquidityAaveAdapter, useFullBalances, minIncomingLiquidityGaugeTokenAmount, intermediaryUnderlyingAssetIndex, }: {
47
+ comptrollerProxy: ComptrollerLib;
48
+ integrationManager: IntegrationManager;
49
+ fundOwner: SignerWithAddress;
50
+ curveLiquidityAaveAdapter: CurveLiquidityAaveAdapter;
51
+ useFullBalances: boolean;
52
+ minIncomingLiquidityGaugeTokenAmount?: BigNumberish;
53
+ intermediaryUnderlyingAssetIndex?: CurveAavePoolAssetIndex;
54
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
55
+ export declare function curveAaveClaimRewardsAndSwap({ comptrollerProxy, integrationManager, fundOwner, curveLiquidityAaveAdapter, useFullBalances, incomingAsset, minIncomingAssetAmount, }: {
56
+ comptrollerProxy: ComptrollerLib;
57
+ integrationManager: IntegrationManager;
58
+ fundOwner: SignerWithAddress;
59
+ curveLiquidityAaveAdapter: CurveLiquidityAaveAdapter;
60
+ useFullBalances: boolean;
61
+ incomingAsset: AddressLike;
62
+ minIncomingAssetAmount?: BigNumberish;
63
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
64
+ export declare function curveAaveLend({ comptrollerProxy, integrationManager, fundOwner, curveLiquidityAaveAdapter, outgoingAaveDaiAmount, outgoingAaveUsdcAmount, outgoingAaveUsdtAmount, minIncomingLPTokenAmount, useUnderlyings, }: {
65
+ comptrollerProxy: ComptrollerLib;
66
+ integrationManager: IntegrationManager;
67
+ fundOwner: SignerWithAddress;
68
+ curveLiquidityAaveAdapter: CurveLiquidityAaveAdapter;
69
+ outgoingAaveDaiAmount?: BigNumberish;
70
+ outgoingAaveUsdcAmount?: BigNumberish;
71
+ outgoingAaveUsdtAmount?: BigNumberish;
72
+ minIncomingLPTokenAmount?: BigNumberish;
73
+ useUnderlyings?: boolean;
74
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
75
+ export declare function curveAaveLendAndStake({ comptrollerProxy, integrationManager, fundOwner, curveLiquidityAaveAdapter, outgoingAaveDaiAmount, outgoingAaveUsdcAmount, outgoingAaveUsdtAmount, minIncomingLiquidityGaugeTokenAmount, useUnderlyings, }: {
76
+ comptrollerProxy: ComptrollerLib;
77
+ integrationManager: IntegrationManager;
78
+ fundOwner: SignerWithAddress;
79
+ curveLiquidityAaveAdapter: CurveLiquidityAaveAdapter;
80
+ outgoingAaveDaiAmount?: BigNumberish;
81
+ outgoingAaveUsdcAmount?: BigNumberish;
82
+ outgoingAaveUsdtAmount?: BigNumberish;
83
+ minIncomingLiquidityGaugeTokenAmount?: BigNumberish;
84
+ useUnderlyings?: boolean;
85
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
86
+ export declare function curveAaveRedeem({ comptrollerProxy, integrationManager, fundOwner, curveLiquidityAaveAdapter, outgoingLPTokenAmount, minIncomingAaveDaiAmount, minIncomingAaveUsdcAmount, minIncomingAaveUsdtAmount, receiveSingleAsset, useUnderlyings, }: {
87
+ comptrollerProxy: ComptrollerLib;
88
+ integrationManager: IntegrationManager;
89
+ fundOwner: SignerWithAddress;
90
+ curveLiquidityAaveAdapter: CurveLiquidityAaveAdapter;
91
+ outgoingLPTokenAmount: BigNumberish;
92
+ minIncomingAaveDaiAmount?: BigNumberish;
93
+ minIncomingAaveUsdcAmount?: BigNumberish;
94
+ minIncomingAaveUsdtAmount?: BigNumberish;
95
+ receiveSingleAsset?: boolean;
96
+ useUnderlyings?: boolean;
97
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
98
+ export declare function curveAaveStake({ comptrollerProxy, integrationManager, fundOwner, curveLiquidityAaveAdapter, outgoingLPTokenAmount, }: {
99
+ comptrollerProxy: ComptrollerLib;
100
+ integrationManager: IntegrationManager;
101
+ fundOwner: SignerWithAddress;
102
+ curveLiquidityAaveAdapter: CurveLiquidityAaveAdapter;
103
+ outgoingLPTokenAmount: BigNumberish;
104
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
105
+ export declare function curveAaveUnstakeAndRedeem({ comptrollerProxy, integrationManager, fundOwner, curveLiquidityAaveAdapter, outgoingLiquidityGaugeTokenAmount, minIncomingAaveDaiAmount, minIncomingAaveUsdcAmount, minIncomingAaveUsdtAmount, receiveSingleAsset, useUnderlyings, }: {
106
+ comptrollerProxy: ComptrollerLib;
107
+ integrationManager: IntegrationManager;
108
+ fundOwner: SignerWithAddress;
109
+ curveLiquidityAaveAdapter: CurveLiquidityAaveAdapter;
110
+ outgoingLiquidityGaugeTokenAmount: BigNumberish;
111
+ minIncomingAaveDaiAmount?: BigNumberish;
112
+ minIncomingAaveUsdcAmount?: BigNumberish;
113
+ minIncomingAaveUsdtAmount?: BigNumberish;
114
+ receiveSingleAsset?: boolean;
115
+ useUnderlyings?: boolean;
116
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
117
+ export declare function curveAaveUnstake({ comptrollerProxy, integrationManager, fundOwner, curveLiquidityAaveAdapter, outgoingLiquidityGaugeTokenAmount, }: {
118
+ comptrollerProxy: ComptrollerLib;
119
+ integrationManager: IntegrationManager;
120
+ fundOwner: SignerWithAddress;
121
+ curveLiquidityAaveAdapter: CurveLiquidityAaveAdapter;
122
+ outgoingLiquidityGaugeTokenAmount: BigNumberish;
123
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
124
+ export declare function curveEursClaimRewards({ comptrollerProxy, integrationManager, fundOwner, curveLiquidityEursAdapter, }: {
125
+ comptrollerProxy: ComptrollerLib;
126
+ integrationManager: IntegrationManager;
127
+ fundOwner: SignerWithAddress;
128
+ curveLiquidityEursAdapter: CurveLiquidityEursAdapter;
129
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
130
+ export declare function curveEursLend({ comptrollerProxy, integrationManager, fundOwner, curveLiquidityEursAdapter, outgoingEursAmount, outgoingSeurAmount, minIncomingLPTokenAmount, }: {
131
+ comptrollerProxy: ComptrollerLib;
132
+ integrationManager: IntegrationManager;
133
+ fundOwner: SignerWithAddress;
134
+ curveLiquidityEursAdapter: CurveLiquidityEursAdapter;
135
+ outgoingEursAmount: BigNumberish;
136
+ outgoingSeurAmount: BigNumberish;
137
+ minIncomingLPTokenAmount: BigNumberish;
138
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
139
+ export declare function curveEursLendAndStake({ comptrollerProxy, integrationManager, fundOwner, curveLiquidityEursAdapter, outgoingEursAmount, outgoingSeurAmount, minIncomingLiquidityGaugeTokenAmount, }: {
140
+ comptrollerProxy: ComptrollerLib;
141
+ integrationManager: IntegrationManager;
142
+ fundOwner: SignerWithAddress;
143
+ curveLiquidityEursAdapter: CurveLiquidityEursAdapter;
144
+ outgoingEursAmount: BigNumberish;
145
+ outgoingSeurAmount: BigNumberish;
146
+ minIncomingLiquidityGaugeTokenAmount: BigNumberish;
147
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
148
+ export declare function curveEursRedeem({ comptrollerProxy, integrationManager, fundOwner, curveLiquidityEursAdapter, outgoingLPTokenAmount, minIncomingEursAmount, minIncomingSeurAmount, receiveSingleAsset, }: {
149
+ comptrollerProxy: ComptrollerLib;
150
+ integrationManager: IntegrationManager;
151
+ fundOwner: SignerWithAddress;
152
+ curveLiquidityEursAdapter: CurveLiquidityEursAdapter;
153
+ outgoingLPTokenAmount: BigNumberish;
154
+ minIncomingEursAmount: BigNumberish;
155
+ minIncomingSeurAmount: BigNumberish;
156
+ receiveSingleAsset: boolean;
157
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
158
+ export declare function curveEursStake({ comptrollerProxy, integrationManager, fundOwner, curveLiquidityEursAdapter, outgoingLPTokenAmount, }: {
159
+ comptrollerProxy: ComptrollerLib;
160
+ integrationManager: IntegrationManager;
161
+ fundOwner: SignerWithAddress;
162
+ curveLiquidityEursAdapter: CurveLiquidityEursAdapter;
163
+ outgoingLPTokenAmount: BigNumberish;
164
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
165
+ export declare function curveEursUnstakeAndRedeem({ comptrollerProxy, integrationManager, fundOwner, curveLiquidityEursAdapter, outgoingLiquidityGaugeTokenAmount, minIncomingEursAmount, minIncomingSeurAmount, receiveSingleAsset, }: {
166
+ comptrollerProxy: ComptrollerLib;
167
+ integrationManager: IntegrationManager;
168
+ fundOwner: SignerWithAddress;
169
+ curveLiquidityEursAdapter: CurveLiquidityEursAdapter;
170
+ outgoingLiquidityGaugeTokenAmount: BigNumberish;
171
+ minIncomingEursAmount: BigNumberish;
172
+ minIncomingSeurAmount: BigNumberish;
173
+ receiveSingleAsset: boolean;
174
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
175
+ export declare function curveEursUnstake({ comptrollerProxy, integrationManager, fundOwner, curveLiquidityEursAdapter, outgoingLiquidityGaugeTokenAmount, }: {
176
+ comptrollerProxy: ComptrollerLib;
177
+ integrationManager: IntegrationManager;
178
+ fundOwner: SignerWithAddress;
179
+ curveLiquidityEursAdapter: CurveLiquidityEursAdapter;
180
+ outgoingLiquidityGaugeTokenAmount: BigNumberish;
181
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
182
+ export declare function curveSethClaimRewards({ comptrollerProxy, integrationManager, fundOwner, curveLiquiditySethAdapter, }: {
183
+ comptrollerProxy: ComptrollerLib;
184
+ integrationManager: IntegrationManager;
185
+ fundOwner: SignerWithAddress;
186
+ curveLiquiditySethAdapter: CurveLiquiditySethAdapter;
187
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
188
+ export declare function curveSethClaimRewardsAndReinvest({ comptrollerProxy, integrationManager, fundOwner, curveLiquiditySethAdapter, useFullBalances, minIncomingLiquidityGaugeTokenAmount, }: {
189
+ comptrollerProxy: ComptrollerLib;
190
+ integrationManager: IntegrationManager;
191
+ fundOwner: SignerWithAddress;
192
+ curveLiquiditySethAdapter: CurveLiquiditySethAdapter;
193
+ useFullBalances: boolean;
194
+ minIncomingLiquidityGaugeTokenAmount?: BigNumberish;
195
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
196
+ export declare function curveSethClaimRewardsAndSwap({ comptrollerProxy, integrationManager, fundOwner, curveLiquiditySethAdapter, useFullBalances, incomingAsset, minIncomingAssetAmount, }: {
197
+ comptrollerProxy: ComptrollerLib;
198
+ integrationManager: IntegrationManager;
199
+ fundOwner: SignerWithAddress;
200
+ curveLiquiditySethAdapter: CurveLiquiditySethAdapter;
201
+ useFullBalances: boolean;
202
+ incomingAsset: AddressLike;
203
+ minIncomingAssetAmount?: BigNumberish;
204
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
205
+ export declare function curveSethLend({ comptrollerProxy, integrationManager, fundOwner, curveLiquiditySethAdapter, outgoingWethAmount, outgoingSethAmount, minIncomingLPTokenAmount, }: {
206
+ comptrollerProxy: ComptrollerLib;
207
+ integrationManager: IntegrationManager;
208
+ fundOwner: SignerWithAddress;
209
+ curveLiquiditySethAdapter: CurveLiquiditySethAdapter;
210
+ outgoingWethAmount: BigNumberish;
211
+ outgoingSethAmount: BigNumberish;
212
+ minIncomingLPTokenAmount: BigNumberish;
213
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
214
+ export declare function curveSethLendAndStake({ comptrollerProxy, integrationManager, fundOwner, curveLiquiditySethAdapter, outgoingWethAmount, outgoingSethAmount, minIncomingLiquidityGaugeTokenAmount, }: {
215
+ comptrollerProxy: ComptrollerLib;
216
+ integrationManager: IntegrationManager;
217
+ fundOwner: SignerWithAddress;
218
+ curveLiquiditySethAdapter: CurveLiquiditySethAdapter;
219
+ outgoingWethAmount: BigNumberish;
220
+ outgoingSethAmount: BigNumberish;
221
+ minIncomingLiquidityGaugeTokenAmount: BigNumberish;
222
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
223
+ export declare function curveSethRedeem({ comptrollerProxy, integrationManager, fundOwner, curveLiquiditySethAdapter, outgoingLPTokenAmount, minIncomingWethAmount, minIncomingSethAmount, receiveSingleAsset, }: {
224
+ comptrollerProxy: ComptrollerLib;
225
+ integrationManager: IntegrationManager;
226
+ fundOwner: SignerWithAddress;
227
+ curveLiquiditySethAdapter: CurveLiquiditySethAdapter;
228
+ outgoingLPTokenAmount: BigNumberish;
229
+ minIncomingWethAmount: BigNumberish;
230
+ minIncomingSethAmount: BigNumberish;
231
+ receiveSingleAsset: boolean;
232
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
233
+ export declare function curveSethStake({ comptrollerProxy, integrationManager, fundOwner, curveLiquiditySethAdapter, outgoingLPTokenAmount, }: {
234
+ comptrollerProxy: ComptrollerLib;
235
+ integrationManager: IntegrationManager;
236
+ fundOwner: SignerWithAddress;
237
+ curveLiquiditySethAdapter: CurveLiquiditySethAdapter;
238
+ outgoingLPTokenAmount: BigNumberish;
239
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
240
+ export declare function curveSethUnstakeAndRedeem({ comptrollerProxy, integrationManager, fundOwner, curveLiquiditySethAdapter, outgoingLiquidityGaugeTokenAmount, minIncomingWethAmount, minIncomingSethAmount, receiveSingleAsset, }: {
241
+ comptrollerProxy: ComptrollerLib;
242
+ integrationManager: IntegrationManager;
243
+ fundOwner: SignerWithAddress;
244
+ curveLiquiditySethAdapter: CurveLiquiditySethAdapter;
245
+ outgoingLiquidityGaugeTokenAmount: BigNumberish;
246
+ minIncomingWethAmount: BigNumberish;
247
+ minIncomingSethAmount: BigNumberish;
248
+ receiveSingleAsset: boolean;
249
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
250
+ export declare function curveSethUnstake({ comptrollerProxy, integrationManager, fundOwner, curveLiquiditySethAdapter, outgoingLiquidityGaugeTokenAmount, }: {
251
+ comptrollerProxy: ComptrollerLib;
252
+ integrationManager: IntegrationManager;
253
+ fundOwner: SignerWithAddress;
254
+ curveLiquiditySethAdapter: CurveLiquiditySethAdapter;
255
+ outgoingLiquidityGaugeTokenAmount: BigNumberish;
256
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
257
+ export declare function curveStethClaimRewards({ comptrollerProxy, integrationManager, fundOwner, curveLiquidityStethAdapter, }: {
258
+ comptrollerProxy: ComptrollerLib;
259
+ integrationManager: IntegrationManager;
260
+ fundOwner: SignerWithAddress;
261
+ curveLiquidityStethAdapter: CurveLiquidityStethAdapter;
262
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
263
+ export declare function curveStethClaimRewardsAndReinvest({ comptrollerProxy, integrationManager, fundOwner, curveLiquidityStethAdapter, useFullBalances, minIncomingLiquidityGaugeTokenAmount, }: {
264
+ comptrollerProxy: ComptrollerLib;
265
+ integrationManager: IntegrationManager;
266
+ fundOwner: SignerWithAddress;
267
+ curveLiquidityStethAdapter: CurveLiquidityStethAdapter;
268
+ useFullBalances: boolean;
269
+ minIncomingLiquidityGaugeTokenAmount?: BigNumberish;
270
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
271
+ export declare function curveStethClaimRewardsAndSwap({ comptrollerProxy, integrationManager, fundOwner, curveLiquidityStethAdapter, useFullBalances, incomingAsset, minIncomingAssetAmount, }: {
272
+ comptrollerProxy: ComptrollerLib;
273
+ integrationManager: IntegrationManager;
274
+ fundOwner: SignerWithAddress;
275
+ curveLiquidityStethAdapter: CurveLiquidityStethAdapter;
276
+ useFullBalances: boolean;
277
+ incomingAsset: AddressLike;
278
+ minIncomingAssetAmount?: BigNumberish;
279
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
280
+ export declare function curveStethLend({ comptrollerProxy, integrationManager, fundOwner, curveLiquidityStethAdapter, outgoingWethAmount, outgoingStethAmount, minIncomingLPTokenAmount, }: {
281
+ comptrollerProxy: ComptrollerLib;
282
+ integrationManager: IntegrationManager;
283
+ fundOwner: SignerWithAddress;
284
+ curveLiquidityStethAdapter: CurveLiquidityStethAdapter;
285
+ outgoingWethAmount: BigNumberish;
286
+ outgoingStethAmount: BigNumberish;
287
+ minIncomingLPTokenAmount: BigNumberish;
288
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
289
+ export declare function curveStethLendAndStake({ comptrollerProxy, integrationManager, fundOwner, curveLiquidityStethAdapter, outgoingWethAmount, outgoingStethAmount, minIncomingLiquidityGaugeTokenAmount, }: {
290
+ comptrollerProxy: ComptrollerLib;
291
+ integrationManager: IntegrationManager;
292
+ fundOwner: SignerWithAddress;
293
+ curveLiquidityStethAdapter: CurveLiquidityStethAdapter;
294
+ outgoingWethAmount: BigNumberish;
295
+ outgoingStethAmount: BigNumberish;
296
+ minIncomingLiquidityGaugeTokenAmount: BigNumberish;
297
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
298
+ export declare function curveStethRedeem({ comptrollerProxy, integrationManager, fundOwner, curveLiquidityStethAdapter, outgoingLPTokenAmount, minIncomingWethAmount, minIncomingStethAmount, receiveSingleAsset, }: {
299
+ comptrollerProxy: ComptrollerLib;
300
+ integrationManager: IntegrationManager;
301
+ fundOwner: SignerWithAddress;
302
+ curveLiquidityStethAdapter: CurveLiquidityStethAdapter;
303
+ outgoingLPTokenAmount: BigNumberish;
304
+ minIncomingWethAmount: BigNumberish;
305
+ minIncomingStethAmount: BigNumberish;
306
+ receiveSingleAsset: boolean;
307
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
308
+ export declare function curveStethStake({ comptrollerProxy, integrationManager, fundOwner, curveLiquidityStethAdapter, outgoingLPTokenAmount, }: {
309
+ comptrollerProxy: ComptrollerLib;
310
+ integrationManager: IntegrationManager;
311
+ fundOwner: SignerWithAddress;
312
+ curveLiquidityStethAdapter: CurveLiquidityStethAdapter;
313
+ outgoingLPTokenAmount: BigNumberish;
314
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
315
+ export declare function curveStethUnstakeAndRedeem({ comptrollerProxy, integrationManager, fundOwner, curveLiquidityStethAdapter, outgoingLiquidityGaugeTokenAmount, minIncomingWethAmount, minIncomingStethAmount, receiveSingleAsset, }: {
316
+ comptrollerProxy: ComptrollerLib;
317
+ integrationManager: IntegrationManager;
318
+ fundOwner: SignerWithAddress;
319
+ curveLiquidityStethAdapter: CurveLiquidityStethAdapter;
320
+ outgoingLiquidityGaugeTokenAmount: BigNumberish;
321
+ minIncomingWethAmount: BigNumberish;
322
+ minIncomingStethAmount: BigNumberish;
323
+ receiveSingleAsset: boolean;
324
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
325
+ export declare function curveStethUnstake({ comptrollerProxy, integrationManager, fundOwner, curveLiquidityStethAdapter, outgoingLiquidityGaugeTokenAmount, }: {
326
+ comptrollerProxy: ComptrollerLib;
327
+ integrationManager: IntegrationManager;
328
+ fundOwner: SignerWithAddress;
329
+ curveLiquidityStethAdapter: CurveLiquidityStethAdapter;
330
+ outgoingLiquidityGaugeTokenAmount: BigNumberish;
331
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;