@enzymefinance/testutils 3.0.0

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 (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>>>;