@enzymefinance/testutils 4.0.0-next.5 → 4.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/dist/declarations/src/deployment.d.ts +34 -27
  3. package/dist/declarations/src/scaffolding/assets.d.ts +1 -1
  4. package/dist/declarations/src/scaffolding/core.d.ts +2 -3
  5. package/dist/declarations/src/scaffolding/extensions/external-positions/aave-debt.d.ts +51 -0
  6. package/dist/declarations/src/scaffolding/extensions/external-positions/actions.d.ts +2 -1
  7. package/dist/declarations/src/scaffolding/extensions/external-positions/index.d.ts +1 -0
  8. package/dist/declarations/src/scaffolding/extensions/external-positions/mocks.d.ts +4 -1
  9. package/dist/declarations/src/scaffolding/extensions/external-positions/uniswap-v3-liquidity.d.ts +12 -11
  10. package/dist/declarations/src/scaffolding/extensions/fees.d.ts +3 -3
  11. package/dist/declarations/src/scaffolding/extensions/integrations/aave.d.ts +2 -2
  12. package/dist/declarations/src/scaffolding/extensions/integrations/compound.d.ts +30 -2
  13. package/dist/declarations/src/scaffolding/extensions/integrations/curve.d.ts +63 -229
  14. package/dist/declarations/src/scaffolding/extensions/integrations/idle.d.ts +3 -3
  15. package/dist/declarations/src/scaffolding/extensions/integrations/index.d.ts +1 -1
  16. package/dist/declarations/src/scaffolding/extensions/integrations/olympusV2.d.ts +17 -0
  17. package/dist/declarations/src/scaffolding/extensions/integrations/synthetix.d.ts +5 -10
  18. package/dist/declarations/src/scaffolding/extensions/integrations/yearn.d.ts +2 -2
  19. package/dist/declarations/src/scaffolding/extensions/integrations/zeroExV2.d.ts +1 -1
  20. package/dist/declarations/src/scaffolding/extensions/policies.d.ts +8 -8
  21. package/dist/declarations/src/whales.d.ts +12 -5
  22. package/dist/enzymefinance-testutils.browser.cjs.js +826 -721
  23. package/dist/enzymefinance-testutils.browser.esm.js +809 -692
  24. package/dist/enzymefinance-testutils.cjs.dev.js +826 -721
  25. package/dist/enzymefinance-testutils.cjs.prod.js +826 -721
  26. package/dist/enzymefinance-testutils.esm.js +809 -692
  27. package/package.json +6 -6
  28. package/src/deployment.ts +39 -31
  29. package/src/scaffolding/assets.ts +1 -1
  30. package/src/scaffolding/core.ts +3 -9
  31. package/src/scaffolding/extensions/external-positions/aave-debt.ts +179 -0
  32. package/src/scaffolding/extensions/external-positions/actions.ts +6 -1
  33. package/src/scaffolding/extensions/external-positions/index.ts +1 -0
  34. package/src/scaffolding/extensions/external-positions/mocks.ts +7 -10
  35. package/src/scaffolding/extensions/external-positions/uniswap-v3-liquidity.ts +18 -24
  36. package/src/scaffolding/extensions/integrations/compound.ts +163 -2
  37. package/src/scaffolding/extensions/integrations/curve.ts +152 -783
  38. package/src/scaffolding/extensions/integrations/index.ts +1 -1
  39. package/src/scaffolding/extensions/integrations/olympusV2.ts +71 -0
  40. package/src/scaffolding/extensions/integrations/synthetix.ts +6 -25
  41. package/src/types.d.ts +1 -0
  42. package/src/whales.ts +14 -5
  43. package/dist/declarations/src/scaffolding/extensions/integrations/paraSwapV4.d.ts +0 -23
  44. package/src/scaffolding/extensions/integrations/paraSwapV4.ts +0 -70
package/CHANGELOG.md CHANGED
@@ -1,5 +1,45 @@
1
1
  # @enzymefinance/testutils
2
2
 
3
+ ## 4.0.0
4
+
5
+ ### Major Changes
6
+
7
+ - 3a27d558: Entering pre-release phase for Sulu
8
+
9
+ ### Patch Changes
10
+
11
+ - 837da449: Upgrade dependencies and publish new version
12
+ - a18335ad: Upgrade dependencies and including new policies.
13
+ - 8b844ad4: Publish with call signatures.
14
+ - 90955319: Publishing new adapters
15
+ - a0b65d53: Publishing post-audit packages.
16
+ - 10b83667: Upgrade deps and publish new version
17
+ - Updated dependencies [837da449]
18
+ - Updated dependencies [a18335ad]
19
+ - Updated dependencies [8b844ad4]
20
+ - Updated dependencies [3a27d558]
21
+ - Updated dependencies [90955319]
22
+ - Updated dependencies [3d8a980b]
23
+ - Updated dependencies [a0b65d53]
24
+ - Updated dependencies [10b83667]
25
+ - @enzymefinance/protocol@4.0.0
26
+
27
+ ## 4.0.0-next.7
28
+
29
+ ### Patch Changes
30
+
31
+ - 837da449: Upgrade dependencies and publish new version
32
+ - Updated dependencies [837da449]
33
+ - @enzymefinance/protocol@4.0.0-next.7
34
+
35
+ ## 4.0.0-next.6
36
+
37
+ ### Patch Changes
38
+
39
+ - 10b83667: Upgrade deps and publish new version
40
+ - Updated dependencies [10b83667]
41
+ - @enzymefinance/protocol@4.0.0-next.6
42
+
3
43
  ## 4.0.0-next.5
4
44
 
5
45
  ### Patch Changes
@@ -1,12 +1,14 @@
1
- import { AaveAdapter, AavePriceFeed, AddressListRegistry, AllowedAdapterIncomingAssetsPolicy, AllowedAdaptersPolicy, AllowedAssetsForRedemptionPolicy, AllowedDepositRecipientsPolicy, AllowedExternalPositionTypesPolicy, AllowedSharesTransferRecipientsPolicy, AssetFinalityResolver, CompoundAdapter, CompoundDebtPositionLib, CompoundDebtPositionParser, CompoundPriceFeed, ComptrollerLib, CumulativeSlippageTolerancePolicy, CurveExchangeAdapter, CurveLiquidityAaveAdapter, CurveLiquidityEursAdapter, CurveLiquiditySethAdapter, CurveLiquidityStethAdapter, CurvePriceFeed, DepositWrapper, Dispatcher, EntranceRateBurnFee, EntranceRateDirectFee, ExitRateBurnFee, ExitRateDirectFee, ExternalPositionFactory, ExternalPositionManager, FeeManager, FundDeployer, FundValueCalculator, FundValueCalculatorRouter, FundValueCalculatorUsdWrapper, GasRelayPaymasterFactory, GuaranteedRedemptionPolicy, IdleAdapter, IdlePriceFeed, IntegrationManager, LidoStethPriceFeed, ManagementFee, MinAssetBalancesPostRedemptionPolicy, MinMaxInvestmentPolicy, OnlyRemoveDustExternalPositionPolicy, OnlyUntrackDustOrPricelessAssetsPolicy, ParaSwapV4Adapter, ParaSwapV5Adapter, PerformanceFee, PolicyManager, PoolTogetherV4Adapter, PoolTogetherV4PriceFeed, ProtocolFeeReserveLib, ProtocolFeeTracker, RevertingPriceFeed, StakehoundEthPriceFeed, SynthetixAdapter, SynthetixPriceFeed, UniswapV2ExchangeAdapter, UniswapV2LiquidityAdapter, UniswapV2PoolPriceFeed, UniswapV3Adapter, UnpermissionedActionsWrapper, ValueInterpreter, VaultLib, YearnVaultV2Adapter, YearnVaultV2PriceFeed, ZeroExV2Adapter } from '@enzymefinance/protocol';
2
- export declare function getNamedSigner(name: string): Promise<import("@enzymefinance/hardhat").SignerWithAddress>;
3
- export declare function getUnnamedSigners(): Promise<import("@enzymefinance/hardhat").SignerWithAddress[]>;
1
+ import { AaveAdapter, AaveDebtPositionLib, AaveDebtPositionParser, AavePriceFeed, AddressListRegistry, AllowedAdapterIncomingAssetsPolicy, AllowedAdaptersPolicy, AllowedAssetsForRedemptionPolicy, AllowedDepositRecipientsPolicy, AllowedExternalPositionTypesPolicy, AllowedSharesTransferRecipientsPolicy, CompoundAdapter, CompoundDebtPositionLib, CompoundDebtPositionParser, CompoundPriceFeed, ComptrollerLib, ConvexCurveLpStakingAdapter, ConvexCurveLpStakingWrapperFactory, ConvexCurveLpStakingWrapperPriceFeed, CumulativeSlippageTolerancePolicy, CurveExchangeAdapter, CurveLiquidityAdapter, CurvePriceFeed, DepositWrapper, Dispatcher, EntranceRateBurnFee, EntranceRateDirectFee, ExitRateBurnFee, ExitRateDirectFee, ExternalPositionFactory, ExternalPositionManager, FeeManager, FundDeployer, FundValueCalculator, FundValueCalculatorRouter, FundValueCalculatorUsdWrapper, FuseAdapter, FusePriceFeed, GasRelayPaymasterFactory, IdleAdapter, IdlePriceFeed, IntegrationManager, LidoStethPriceFeed, ManagementFee, MinAssetBalancesPostRedemptionPolicy, MinMaxInvestmentPolicy, OlympusV2Adapter, OnlyRemoveDustExternalPositionPolicy, OnlyUntrackDustOrPricelessAssetsPolicy, ParaSwapV5Adapter, PerformanceFee, PolicyManager, PoolTogetherV4Adapter, PoolTogetherV4PriceFeed, ProtocolFeeReserveLib, ProtocolFeeTracker, RevertingPriceFeed, SynthetixAdapter, UniswapV2ExchangeAdapter, UniswapV2LiquidityAdapter, UniswapV2PoolPriceFeed, UniswapV3Adapter, UnpermissionedActionsWrapper, UsdEthSimulatedAggregator, ValueInterpreter, VaultLib, YearnVaultV2Adapter, YearnVaultV2PriceFeed, ZeroExV2Adapter } from '@enzymefinance/protocol';
2
+ export declare function getNamedSigner(name: string): Promise<import("@nomiclabs/hardhat-ethers/signers").SignerWithAddress>;
3
+ export declare function getUnnamedSigners(): Promise<import("@nomiclabs/hardhat-ethers/signers").SignerWithAddress[]>;
4
4
  export declare function deployProtocolFixture(): Promise<{
5
- readonly accounts: import("@enzymefinance/hardhat").SignerWithAddress[];
5
+ readonly accounts: import("@nomiclabs/hardhat-ethers/signers").SignerWithAddress[];
6
6
  readonly config: DeploymentConfig;
7
- readonly deployer: import("@enzymefinance/hardhat").SignerWithAddress;
7
+ readonly deployer: import("@nomiclabs/hardhat-ethers/signers").SignerWithAddress;
8
8
  readonly deployment: {
9
9
  readonly aaveAdapter: AaveAdapter;
10
+ readonly aaveDebtPositionLib: AaveDebtPositionLib;
11
+ readonly aaveDebtPositionParser: AaveDebtPositionParser;
10
12
  readonly aavePriceFeed: AavePriceFeed;
11
13
  readonly addressListRegistry: AddressListRegistry;
12
14
  readonly allowedAdapterIncomingAssetsPolicy: AllowedAdapterIncomingAssetsPolicy;
@@ -15,18 +17,17 @@ export declare function deployProtocolFixture(): Promise<{
15
17
  readonly allowedDepositRecipientsPolicy: AllowedDepositRecipientsPolicy;
16
18
  readonly allowedExternalPositionTypesPolicy: AllowedExternalPositionTypesPolicy;
17
19
  readonly allowedSharesTransferRecipientsPolicy: AllowedSharesTransferRecipientsPolicy;
18
- readonly assetFinalityResolver: AssetFinalityResolver;
19
20
  readonly compoundAdapter: CompoundAdapter;
20
21
  readonly compoundDebtPositionLib: CompoundDebtPositionLib;
21
22
  readonly compoundDebtPositionParser: CompoundDebtPositionParser;
22
23
  readonly compoundPriceFeed: CompoundPriceFeed;
23
24
  readonly comptrollerLib: ComptrollerLib;
25
+ readonly convexCurveLpStakingAdapter: ConvexCurveLpStakingAdapter;
26
+ readonly convexCurveLpStakingWrapperFactory: ConvexCurveLpStakingWrapperFactory;
27
+ readonly convexCurveLpStakingWrapperPriceFeed: ConvexCurveLpStakingWrapperPriceFeed;
24
28
  readonly cumulativeSlippageTolerancePolicy: CumulativeSlippageTolerancePolicy;
25
29
  readonly curveExchangeAdapter: CurveExchangeAdapter;
26
- readonly curveLiquidityAaveAdapter: CurveLiquidityAaveAdapter;
27
- readonly curveLiquidityEursAdapter: CurveLiquidityEursAdapter;
28
- readonly curveLiquiditySethAdapter: CurveLiquiditySethAdapter;
29
- readonly curveLiquidityStethAdapter: CurveLiquidityStethAdapter;
30
+ readonly curveLiquidityAdapter: CurveLiquidityAdapter;
30
31
  readonly curvePriceFeed: CurvePriceFeed;
31
32
  readonly depositWrapper: DepositWrapper;
32
33
  readonly dispatcher: Dispatcher;
@@ -41,8 +42,9 @@ export declare function deployProtocolFixture(): Promise<{
41
42
  readonly fundValueCalculator: FundValueCalculator;
42
43
  readonly fundValueCalculatorRouter: FundValueCalculatorRouter;
43
44
  readonly fundValueCalculatorUsdWrapper: FundValueCalculatorUsdWrapper;
45
+ readonly fuseAdapter: FuseAdapter;
46
+ readonly fusePriceFeed: FusePriceFeed;
44
47
  readonly gasRelayPaymasterFactory: GasRelayPaymasterFactory;
45
- readonly guaranteedRedemptionPolicy: GuaranteedRedemptionPolicy;
46
48
  readonly idleAdapter: IdleAdapter;
47
49
  readonly idlePriceFeed: IdlePriceFeed;
48
50
  readonly integrationManager: IntegrationManager;
@@ -50,9 +52,9 @@ export declare function deployProtocolFixture(): Promise<{
50
52
  readonly managementFee: ManagementFee;
51
53
  readonly minAssetBalancesPostRedemptionPolicy: MinAssetBalancesPostRedemptionPolicy;
52
54
  readonly minMaxInvestmentPolicy: MinMaxInvestmentPolicy;
55
+ readonly olympusV2Adapter: OlympusV2Adapter;
53
56
  readonly onlyRemoveDustExternalPositionPolicy: OnlyRemoveDustExternalPositionPolicy;
54
57
  readonly onlyUntrackDustOrPricelessAssetsPolicy: OnlyUntrackDustOrPricelessAssetsPolicy;
55
- readonly paraSwapV4Adapter: ParaSwapV4Adapter;
56
58
  readonly paraSwapV5Adapter: ParaSwapV5Adapter;
57
59
  readonly performanceFee: PerformanceFee;
58
60
  readonly policyManager: PolicyManager;
@@ -62,14 +64,13 @@ export declare function deployProtocolFixture(): Promise<{
62
64
  readonly protocolFeeReserveProxy: ProtocolFeeReserveLib;
63
65
  readonly protocolFeeTracker: ProtocolFeeTracker;
64
66
  readonly revertingPriceFeed: RevertingPriceFeed;
65
- readonly stakehoundEthPriceFeed: StakehoundEthPriceFeed;
66
67
  readonly synthetixAdapter: SynthetixAdapter;
67
- readonly synthetixPriceFeed: SynthetixPriceFeed;
68
68
  readonly uniswapV2ExchangeAdapter: UniswapV2ExchangeAdapter;
69
69
  readonly uniswapV2LiquidityAdapter: UniswapV2LiquidityAdapter;
70
70
  readonly uniswapV2PoolPriceFeed: UniswapV2PoolPriceFeed;
71
71
  readonly uniswapV3Adapter: UniswapV3Adapter;
72
72
  readonly unpermissionedActionsWrapper: UnpermissionedActionsWrapper;
73
+ readonly usdEthSimulatedAggregator: UsdEthSimulatedAggregator;
73
74
  readonly valueInterpreter: ValueInterpreter;
74
75
  readonly vaultLib: VaultLib;
75
76
  readonly yearnVaultV2Adapter: YearnVaultV2Adapter;
@@ -81,7 +82,13 @@ declare type Resolve<T extends () => any> = ReturnType<T> extends Promise<infer
81
82
  export declare type ProtocolDeployment = Resolve<typeof deployProtocolFixture>;
82
83
  import type { ChainlinkRateAsset } from '@enzymefinance/protocol';
83
84
  export interface DeploymentConfig {
85
+ feeBps: number;
84
86
  feeToken: string;
87
+ feeTokenBurn: {
88
+ burnFromVault: boolean;
89
+ sendToProtocolFeeReserve: boolean;
90
+ externalBurnerAddress: string;
91
+ };
85
92
  weth: string;
86
93
  wrappedNativeAsset: string;
87
94
  primitives: Record<string, string>;
@@ -97,13 +104,16 @@ export interface DeploymentConfig {
97
104
  synthetix: {
98
105
  snx: string;
99
106
  susd: string;
100
- synths: Record<string, string>;
101
- addressResolver: string;
102
107
  delegateApprovals: string;
103
108
  originator: string;
104
109
  redeemer: string;
105
110
  trackingCode: string;
106
111
  };
112
+ convex: {
113
+ booster: string;
114
+ crvToken: string;
115
+ cvxToken: string;
116
+ };
107
117
  curve: {
108
118
  addressProvider: string;
109
119
  minter: string;
@@ -115,6 +125,7 @@ export interface DeploymentConfig {
115
125
  }>;
116
126
  };
117
127
  aave: {
128
+ incentivesController: string;
118
129
  lendingPoolAddressProvider: string;
119
130
  protocolDataProvider: string;
120
131
  atokens: Record<string, [string, string]>;
@@ -124,6 +135,10 @@ export interface DeploymentConfig {
124
135
  comptroller: string;
125
136
  ctokens: Record<string, string>;
126
137
  };
138
+ fuse: {
139
+ fetherTokens: Record<string, string>;
140
+ ftokens: Record<string, string>;
141
+ };
127
142
  idle: {
128
143
  bestYieldIdleDai: string;
129
144
  bestYieldIdleUsdc: string;
@@ -138,9 +153,8 @@ export interface DeploymentConfig {
138
153
  lido: {
139
154
  steth: string;
140
155
  };
141
- paraSwapV4: {
142
- augustusSwapper: string;
143
- tokenTransferProxy: string;
156
+ olympusV2: {
157
+ stakingContract: string;
144
158
  };
145
159
  paraSwapV5: {
146
160
  augustusSwapper: string;
@@ -149,9 +163,7 @@ export interface DeploymentConfig {
149
163
  poolTogetherV4: {
150
164
  ptTokens: Record<string, [string, string]>;
151
165
  };
152
- stakehound: {
153
- steth: string;
154
- };
166
+ positionsLimit: number;
155
167
  unsupportedAssets: Record<string, string>;
156
168
  uniswap: {
157
169
  factory: string;
@@ -172,10 +184,5 @@ export interface DeploymentConfig {
172
184
  exchange: string;
173
185
  allowedMakers: string[];
174
186
  };
175
- policies: {
176
- guaranteedRedemption: {
177
- redemptionWindowBuffer: number;
178
- };
179
- };
180
187
  }
181
188
  export {};
@@ -7,4 +7,4 @@ export declare function addNewAssetsToFund({ signer, comptrollerProxy, integrati
7
7
  integrationManager: IntegrationManager;
8
8
  assets: StandardToken[];
9
9
  amounts?: BigNumberish[];
10
- }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: import("@enzymefinance/ethers").AddressLike, _actionId: BigNumberish, _callArgs: import("ethers").BytesLike], void, ComptrollerLib>>>;
10
+ }): Promise<import("@enzymefinance/ethers/*").ContractReceipt<import("@enzymefinance/ethers/*").SendFunction<[_extension: import("@enzymefinance/ethers/*").AddressLike, _actionId: BigNumberish, _callArgs: import("ethers").BytesLike], void, ComptrollerLib>>>;
@@ -1,9 +1,8 @@
1
- import type { AssetFinalityResolver, Dispatcher, GasRelayPaymasterFactory, ValueInterpreter } from '@enzymefinance/protocol';
1
+ import type { Dispatcher, GasRelayPaymasterFactory, ValueInterpreter } from '@enzymefinance/protocol';
2
2
  import { ExternalPositionManager, FeeManager, FundDeployer, IntegrationManager, PolicyManager, VaultLib } from '@enzymefinance/protocol';
3
3
  import type { Signer } from 'ethers';
4
- export declare function createFundDeployer({ deployer, assetFinalityResolver, externalPositionManager, dispatcher, gasRelayPaymasterFactory, valueInterpreter, vaultLib, setOnDispatcher, setReleaseLive, }: {
4
+ export declare function createFundDeployer({ deployer, externalPositionManager, dispatcher, gasRelayPaymasterFactory, valueInterpreter, vaultLib, setOnDispatcher, setReleaseLive, }: {
5
5
  deployer: Signer;
6
- assetFinalityResolver: AssetFinalityResolver;
7
6
  externalPositionManager: ExternalPositionManager;
8
7
  dispatcher: Dispatcher;
9
8
  feeManager: FeeManager;
@@ -0,0 +1,51 @@
1
+ import type { AddressLike } from '@enzymefinance/ethers';
2
+ import type { SignerWithAddress } from '@enzymefinance/hardhat';
3
+ import type { ComptrollerLib, ExternalPositionManager } from '@enzymefinance/protocol';
4
+ import type { BigNumberish } from 'ethers';
5
+ export declare function aaveDebtPositionAddCollateral({ comptrollerProxy, externalPositionManager, signer, aTokens, amounts, externalPositionProxy, }: {
6
+ comptrollerProxy: ComptrollerLib;
7
+ externalPositionManager: ExternalPositionManager;
8
+ signer: SignerWithAddress;
9
+ aTokens: AddressLike[];
10
+ amounts: BigNumberish[];
11
+ externalPositionProxy: AddressLike;
12
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: import("ethers").BytesLike], void, ComptrollerLib>>>;
13
+ export declare function aaveDebtPositionBorrow({ comptrollerProxy, externalPositionManager, signer, tokens, amounts, externalPositionProxy, }: {
14
+ comptrollerProxy: ComptrollerLib;
15
+ externalPositionManager: ExternalPositionManager;
16
+ signer: SignerWithAddress;
17
+ tokens: AddressLike[];
18
+ amounts: BigNumberish[];
19
+ externalPositionProxy: AddressLike;
20
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: import("ethers").BytesLike], void, ComptrollerLib>>>;
21
+ export declare function aaveDebtPositionClaimRewards({ comptrollerProxy, externalPositionManager, signer, assets, externalPositionProxy, }: {
22
+ comptrollerProxy: ComptrollerLib;
23
+ externalPositionManager: ExternalPositionManager;
24
+ signer: SignerWithAddress;
25
+ assets: AddressLike[];
26
+ externalPositionProxy: AddressLike;
27
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: import("ethers").BytesLike], void, ComptrollerLib>>>;
28
+ export declare function aaveDebtPositionRemoveCollateral({ comptrollerProxy, externalPositionManager, signer, aTokens, amounts, externalPositionProxy, }: {
29
+ comptrollerProxy: ComptrollerLib;
30
+ externalPositionManager: ExternalPositionManager;
31
+ signer: SignerWithAddress;
32
+ aTokens: AddressLike[];
33
+ amounts: BigNumberish[];
34
+ externalPositionProxy: AddressLike;
35
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: import("ethers").BytesLike], void, ComptrollerLib>>>;
36
+ export declare function aaveDebtPositionRepayBorrow({ comptrollerProxy, externalPositionManager, signer, tokens, amounts, externalPositionProxy, }: {
37
+ comptrollerProxy: ComptrollerLib;
38
+ externalPositionManager: ExternalPositionManager;
39
+ signer: SignerWithAddress;
40
+ tokens: AddressLike[];
41
+ amounts: BigNumberish[];
42
+ externalPositionProxy: AddressLike;
43
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: import("ethers").BytesLike], void, ComptrollerLib>>>;
44
+ export declare function createAaveDebtPosition({ signer, comptrollerProxy, externalPositionManager, }: {
45
+ signer: SignerWithAddress;
46
+ comptrollerProxy: ComptrollerLib;
47
+ externalPositionManager: ExternalPositionManager;
48
+ }): Promise<{
49
+ externalPositionProxy: import("@enzymefinance/protocol").IExternalPositionProxy;
50
+ receipt: import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: import("ethers").BytesLike], void, ComptrollerLib>>;
51
+ }>;
@@ -11,12 +11,13 @@ export declare function callOnExternalPosition({ signer, comptrollerProxy, exter
11
11
  actionId: BigNumberish;
12
12
  actionArgs: BytesLike;
13
13
  }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>>;
14
- export declare function createExternalPosition({ signer, comptrollerProxy, externalPositionManager, externalPositionTypeId, initializationData, }: {
14
+ export declare function createExternalPosition({ signer, comptrollerProxy, externalPositionManager, externalPositionTypeId, initializationData, callOnExternalPositionData, }: {
15
15
  signer: SignerWithAddress;
16
16
  comptrollerProxy: ComptrollerLib;
17
17
  externalPositionManager: ExternalPositionManager;
18
18
  externalPositionTypeId: BigNumberish;
19
19
  initializationData?: BytesLike;
20
+ callOnExternalPositionData?: BytesLike;
20
21
  }): Promise<{
21
22
  externalPositionProxy: IExternalPositionProxy;
22
23
  receipt: import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>;
@@ -1,4 +1,5 @@
1
1
  export * from './actions';
2
2
  export * from './compound';
3
3
  export * from './mocks';
4
+ export * from './aave-debt';
4
5
  export * from './uniswap-v3-liquidity';
@@ -16,7 +16,10 @@ export declare function createMockExternalPosition({ comptrollerProxy, externalP
16
16
  externalPositionProxy: string;
17
17
  mockExternalPositionParser: MockGenericExternalPositionParser;
18
18
  mockGenericExternalPositionLib: MockGenericExternalPositionLib;
19
- receipt: import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: import("ethers").BytesLike], void, ComptrollerLib>>;
19
+ receipt: {
20
+ externalPositionProxy: import("@enzymefinance/protocol").IExternalPositionProxy;
21
+ receipt: import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: import("ethers").BytesLike], void, ComptrollerLib>>;
22
+ };
20
23
  typeId: import("ethers").BigNumber;
21
24
  }>;
22
25
  export declare function mockExternalPositionAddDebtAssets({ signer, comptrollerProxy, externalPositionManager, externalPositionProxy, assets, amounts, }: {
@@ -1,7 +1,7 @@
1
1
  import type { AddressLike, Call, Contract } from '@enzymefinance/ethers';
2
2
  import type { SignerWithAddress } from '@enzymefinance/hardhat';
3
3
  import type { ComptrollerLib, ExternalPositionManager } from '@enzymefinance/protocol';
4
- import type { BigNumber, BigNumberish } from 'ethers';
4
+ import type { BigNumber, BigNumberish, BytesLike } from 'ethers';
5
5
  export declare enum UniswapV3FeeAmount {
6
6
  LOW = 500,
7
7
  MEDIUM = 3000,
@@ -26,15 +26,14 @@ export interface IUniswapV3NonFungibleTokenManager extends Contract<IUniswapV3No
26
26
  }, Contract<any>>;
27
27
  }
28
28
  export declare const IUniswapV3NonFungibleTokenManager: import("@enzymefinance/ethers").ContractFactory<IUniswapV3NonFungibleTokenManager, never>;
29
- export declare function createUniswapV3LiquidityPosition({ signer, comptrollerProxy, externalPositionManager, token0, token1, }: {
29
+ export declare function createUniswapV3LiquidityPosition({ signer, comptrollerProxy, externalPositionManager, callOnExternalPositionData, }: {
30
30
  signer: SignerWithAddress;
31
31
  comptrollerProxy: ComptrollerLib;
32
32
  externalPositionManager: ExternalPositionManager;
33
- token0: AddressLike;
34
- token1: AddressLike;
33
+ callOnExternalPositionData?: BytesLike;
35
34
  }): Promise<{
36
35
  externalPositionProxyAddress: string;
37
- receipt: import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: import("ethers").BytesLike], void, ComptrollerLib>>;
36
+ receipt: import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>;
38
37
  }>;
39
38
  export declare function uniswapV3LiquidityPositionAddLiquidity({ signer, comptrollerProxy, externalPositionManager, externalPositionProxy, nftId, amount0Desired, amount1Desired, amount0Min, amount1Min, }: {
40
39
  signer: SignerWithAddress;
@@ -46,19 +45,21 @@ export declare function uniswapV3LiquidityPositionAddLiquidity({ signer, comptro
46
45
  amount1Desired: BigNumberish;
47
46
  amount0Min?: BigNumberish;
48
47
  amount1Min?: BigNumberish;
49
- }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: import("ethers").BytesLike], void, ComptrollerLib>>>;
48
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>>;
50
49
  export declare function uniswapV3LiquidityPositionCollect({ signer, comptrollerProxy, externalPositionManager, externalPositionProxy, nftId, }: {
51
50
  signer: SignerWithAddress;
52
51
  comptrollerProxy: ComptrollerLib;
53
52
  externalPositionManager: ExternalPositionManager;
54
53
  externalPositionProxy: AddressLike;
55
54
  nftId: BigNumberish;
56
- }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: import("ethers").BytesLike], void, ComptrollerLib>>>;
57
- export declare function uniswapV3LiquidityPositionMint({ signer, comptrollerProxy, externalPositionManager, externalPositionProxy, fee, tickLower, tickUpper, amount0Desired, amount1Desired, amount0Min, amount1Min, }: {
55
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>>;
56
+ export declare function uniswapV3LiquidityPositionMint({ signer, comptrollerProxy, externalPositionManager, externalPositionProxy, token0, token1, fee, tickLower, tickUpper, amount0Desired, amount1Desired, amount0Min, amount1Min, }: {
58
57
  signer: SignerWithAddress;
59
58
  comptrollerProxy: ComptrollerLib;
60
59
  externalPositionManager: ExternalPositionManager;
61
60
  externalPositionProxy: AddressLike;
61
+ token0: AddressLike;
62
+ token1: AddressLike;
62
63
  fee: BigNumberish;
63
64
  tickLower: BigNumberish;
64
65
  tickUpper: BigNumberish;
@@ -68,7 +69,7 @@ export declare function uniswapV3LiquidityPositionMint({ signer, comptrollerProx
68
69
  amount1Min?: BigNumberish;
69
70
  }): Promise<{
70
71
  nftId: any;
71
- receipt: import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: import("ethers").BytesLike], void, ComptrollerLib>>;
72
+ receipt: import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>;
72
73
  }>;
73
74
  export declare function uniswapV3LiquidityPositionPurge({ signer, comptrollerProxy, externalPositionManager, externalPositionProxy, nftId, liquidity, amount0Min, amount1Min, }: {
74
75
  signer: SignerWithAddress;
@@ -79,7 +80,7 @@ export declare function uniswapV3LiquidityPositionPurge({ signer, comptrollerPro
79
80
  liquidity: BigNumberish;
80
81
  amount0Min?: BigNumberish;
81
82
  amount1Min?: BigNumberish;
82
- }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: import("ethers").BytesLike], void, ComptrollerLib>>>;
83
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>>;
83
84
  export declare function uniswapV3LiquidityPositionRemoveLiquidity({ signer, comptrollerProxy, externalPositionManager, externalPositionProxy, nftId, liquidity, amount0Min, amount1Min, }: {
84
85
  signer: SignerWithAddress;
85
86
  comptrollerProxy: ComptrollerLib;
@@ -89,7 +90,7 @@ export declare function uniswapV3LiquidityPositionRemoveLiquidity({ signer, comp
89
90
  liquidity: BigNumberish;
90
91
  amount0Min?: BigNumberish;
91
92
  amount1Min?: BigNumberish;
92
- }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: import("ethers").BytesLike], void, ComptrollerLib>>>;
93
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>>;
93
94
  export declare function uniswapV3OrderTokenPair({ tokenA, tokenB }: {
94
95
  tokenA: AddressLike;
95
96
  tokenB: AddressLike;
@@ -6,7 +6,7 @@ export declare function generateFeeManagerConfigWithMockFees({ deployer }: {
6
6
  export declare function generateMockFees({ deployer }: {
7
7
  deployer: SignerWithAddress;
8
8
  }): Promise<{
9
- mockContinuousFeeSettleOnly: import("@enzymefinance/ethers").MockContract<IFee>;
10
- mockContinuousFeeWithGavAndUpdates: import("@enzymefinance/ethers").MockContract<IFee>;
11
- mockPostBuySharesFee: import("@enzymefinance/ethers").MockContract<IFee>;
9
+ mockContinuousFeeSettleOnly: import("@enzymefinance/ethers/*").MockContract<IFee>;
10
+ mockContinuousFeeWithGavAndUpdates: import("@enzymefinance/ethers/*").MockContract<IFee>;
11
+ mockPostBuySharesFee: import("@enzymefinance/ethers/*").MockContract<IFee>;
12
12
  }>;
@@ -9,7 +9,7 @@ export declare function aaveLend({ comptrollerProxy, integrationManager, fundOwn
9
9
  aaveAdapter: AaveAdapter;
10
10
  aToken: StandardToken;
11
11
  amount?: BigNumberish;
12
- }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: import("@enzymefinance/ethers").AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
12
+ }): Promise<import("@enzymefinance/ethers/*").ContractReceipt<import("@enzymefinance/ethers/*").SendFunction<[_extension: import("@enzymefinance/ethers/*").AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
13
13
  export declare function aaveRedeem({ comptrollerProxy, integrationManager, fundOwner, aaveAdapter, aToken, amount, }: {
14
14
  comptrollerProxy: ComptrollerLib;
15
15
  integrationManager: IntegrationManager;
@@ -17,4 +17,4 @@ export declare function aaveRedeem({ comptrollerProxy, integrationManager, fundO
17
17
  aaveAdapter: AaveAdapter;
18
18
  aToken: StandardToken;
19
19
  amount?: BigNumberish;
20
- }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: import("@enzymefinance/ethers").AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
20
+ }): Promise<import("@enzymefinance/ethers/*").ContractReceipt<import("@enzymefinance/ethers/*").SendFunction<[_extension: import("@enzymefinance/ethers/*").AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
@@ -1,12 +1,40 @@
1
1
  import type { AddressLike, Contract, Send } from '@enzymefinance/ethers';
2
2
  import type { SignerWithAddress } from '@enzymefinance/hardhat';
3
- import type { CompoundAdapter, ComptrollerLib, IntegrationManager, VaultLib } from '@enzymefinance/protocol';
3
+ import type { CompoundAdapter, CompoundPriceFeed, ComptrollerLib, ICERC20, IntegrationManager, VaultLib } from '@enzymefinance/protocol';
4
4
  import type { BigNumberish } from 'ethers';
5
- import { utils } from 'ethers';
5
+ import { BigNumber, utils } from 'ethers';
6
6
  export interface ICompoundComptroller extends Contract<ICompoundComptroller> {
7
7
  claimComp: Send<(_account: AddressLike) => void>;
8
8
  }
9
9
  export declare const ICompoundComptroller: import("@enzymefinance/ethers").ContractFactory<ICompoundComptroller, never>;
10
+ export declare function assertCompoundLend({ tokenWhale, comptrollerProxy, vaultProxy, integrationManager, fundOwner, compoundAdapter, tokenAmount, cToken, compoundPriceFeed, }: {
11
+ tokenWhale: SignerWithAddress;
12
+ comptrollerProxy: ComptrollerLib;
13
+ vaultProxy: VaultLib;
14
+ integrationManager: IntegrationManager;
15
+ fundOwner: SignerWithAddress;
16
+ compoundAdapter: CompoundAdapter;
17
+ tokenAmount?: BigNumber;
18
+ cToken: ICERC20;
19
+ compoundPriceFeed: CompoundPriceFeed;
20
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
21
+ export declare function assertCompoundRedeem({ comptrollerProxy, vaultProxy, integrationManager, fundOwner, compoundAdapter, cToken, compoundPriceFeed, }: {
22
+ comptrollerProxy: ComptrollerLib;
23
+ vaultProxy: VaultLib;
24
+ integrationManager: IntegrationManager;
25
+ fundOwner: SignerWithAddress;
26
+ compoundAdapter: CompoundAdapter;
27
+ cToken: ICERC20;
28
+ compoundPriceFeed: CompoundPriceFeed;
29
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
30
+ export declare function compoundClaim({ comptrollerProxy, integrationManager, fundOwner, compoundAdapter, compoundComptroller, cTokens, }: {
31
+ comptrollerProxy: ComptrollerLib;
32
+ integrationManager: IntegrationManager;
33
+ fundOwner: SignerWithAddress;
34
+ compoundAdapter: CompoundAdapter;
35
+ compoundComptroller: AddressLike;
36
+ cTokens: AddressLike[];
37
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
10
38
  export declare function compoundLend({ comptrollerProxy, integrationManager, fundOwner, compoundAdapter, cToken, tokenAmount, cTokenAmount, }: {
11
39
  comptrollerProxy: ComptrollerLib;
12
40
  integrationManager: IntegrationManager;