@enzymefinance/testutils 4.0.0-next.2 → 4.0.0-next.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (80) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/dist/declarations/src/assertions.d.ts +2 -2
  3. package/dist/declarations/src/deployment.d.ts +172 -68
  4. package/dist/declarations/src/gasRelayer.d.ts +14 -12
  5. package/dist/declarations/src/helpers.d.ts +5 -4
  6. package/dist/declarations/src/scaffolding/assets.d.ts +4 -4
  7. package/dist/declarations/src/scaffolding/chainlink.d.ts +2 -2
  8. package/dist/declarations/src/scaffolding/common.d.ts +1 -1
  9. package/dist/declarations/src/scaffolding/core.d.ts +4 -4
  10. package/dist/declarations/src/scaffolding/extensions/common.d.ts +4 -4
  11. package/dist/declarations/src/scaffolding/extensions/external-positions/actions.d.ts +8 -6
  12. package/dist/declarations/src/scaffolding/extensions/external-positions/compound.d.ts +5 -5
  13. package/dist/declarations/src/scaffolding/extensions/external-positions/index.d.ts +1 -0
  14. package/dist/declarations/src/scaffolding/extensions/external-positions/mocks.d.ts +16 -12
  15. package/dist/declarations/src/scaffolding/extensions/external-positions/uniswap-v3-liquidity.d.ts +100 -0
  16. package/dist/declarations/src/scaffolding/extensions/fees.d.ts +4 -4
  17. package/dist/declarations/src/scaffolding/extensions/integrations/aave.d.ts +6 -5
  18. package/dist/declarations/src/scaffolding/extensions/integrations/compound.d.ts +33 -5
  19. package/dist/declarations/src/scaffolding/extensions/integrations/curve.d.ts +101 -84
  20. package/dist/declarations/src/scaffolding/extensions/integrations/idle.d.ts +6 -6
  21. package/dist/declarations/src/scaffolding/extensions/integrations/index.d.ts +3 -0
  22. package/dist/declarations/src/scaffolding/extensions/integrations/mock.d.ts +4 -4
  23. package/dist/declarations/src/scaffolding/extensions/integrations/olympusV2.d.ts +17 -0
  24. package/dist/declarations/src/scaffolding/extensions/integrations/paraSwapV4.d.ts +6 -5
  25. package/dist/declarations/src/scaffolding/extensions/integrations/paraSwapV5.d.ts +23 -0
  26. package/dist/declarations/src/scaffolding/extensions/integrations/poolTogetherV4.d.ts +29 -0
  27. package/dist/declarations/src/scaffolding/extensions/integrations/synthetix.d.ts +15 -12
  28. package/dist/declarations/src/scaffolding/extensions/integrations/trackedAssets.d.ts +3 -3
  29. package/dist/declarations/src/scaffolding/extensions/integrations/uniswapV2.d.ts +4 -4
  30. package/dist/declarations/src/scaffolding/extensions/integrations/uniswapV3.d.ts +4 -4
  31. package/dist/declarations/src/scaffolding/extensions/integrations/yearn.d.ts +5 -5
  32. package/dist/declarations/src/scaffolding/extensions/integrations/zeroExV2.d.ts +4 -4
  33. package/dist/declarations/src/scaffolding/extensions/policies.d.ts +9 -9
  34. package/dist/declarations/src/scaffolding/setup.d.ts +11 -9
  35. package/dist/declarations/src/scaffolding/shares.d.ts +4 -4
  36. package/dist/declarations/src/scaffolding/vaultCalls.d.ts +11 -2
  37. package/dist/declarations/src/whales.d.ts +24 -19
  38. package/dist/enzymefinance-testutils.browser.cjs.js +1541 -673
  39. package/dist/enzymefinance-testutils.browser.esm.js +1502 -655
  40. package/dist/enzymefinance-testutils.cjs.dev.js +1541 -673
  41. package/dist/enzymefinance-testutils.cjs.prod.js +1541 -673
  42. package/dist/enzymefinance-testutils.esm.js +1502 -655
  43. package/package.json +6 -6
  44. package/src/assertions.ts +5 -2
  45. package/src/deployment.ts +221 -120
  46. package/src/gasRelayer.ts +17 -18
  47. package/src/helpers.ts +6 -4
  48. package/src/scaffolding/assets.ts +7 -6
  49. package/src/scaffolding/chainlink.ts +2 -2
  50. package/src/scaffolding/common.ts +1 -1
  51. package/src/scaffolding/core.ts +4 -8
  52. package/src/scaffolding/extensions/common.ts +4 -4
  53. package/src/scaffolding/extensions/external-positions/actions.ts +14 -9
  54. package/src/scaffolding/extensions/external-positions/compound.ts +28 -29
  55. package/src/scaffolding/extensions/external-positions/index.ts +1 -0
  56. package/src/scaffolding/extensions/external-positions/mocks.ts +32 -36
  57. package/src/scaffolding/extensions/external-positions/uniswap-v3-liquidity.ts +284 -0
  58. package/src/scaffolding/extensions/fees.ts +1 -1
  59. package/src/scaffolding/extensions/integrations/aave.ts +6 -8
  60. package/src/scaffolding/extensions/integrations/compound.ts +171 -11
  61. package/src/scaffolding/extensions/integrations/curve.ts +303 -255
  62. package/src/scaffolding/extensions/integrations/idle.ts +9 -11
  63. package/src/scaffolding/extensions/integrations/index.ts +3 -0
  64. package/src/scaffolding/extensions/integrations/mock.ts +11 -13
  65. package/src/scaffolding/extensions/integrations/olympusV2.ts +71 -0
  66. package/src/scaffolding/extensions/integrations/paraSwapV4.ts +16 -11
  67. package/src/scaffolding/extensions/integrations/paraSwapV5.ts +73 -0
  68. package/src/scaffolding/extensions/integrations/poolTogetherV4.ts +117 -0
  69. package/src/scaffolding/extensions/integrations/synthetix.ts +45 -31
  70. package/src/scaffolding/extensions/integrations/trackedAssets.ts +3 -4
  71. package/src/scaffolding/extensions/integrations/uniswapV2.ts +22 -19
  72. package/src/scaffolding/extensions/integrations/uniswapV3.ts +9 -10
  73. package/src/scaffolding/extensions/integrations/yearn.ts +9 -11
  74. package/src/scaffolding/extensions/integrations/zeroExV2.ts +9 -7
  75. package/src/scaffolding/extensions/policies.ts +2 -1
  76. package/src/scaffolding/setup.ts +27 -13
  77. package/src/scaffolding/shares.ts +5 -4
  78. package/src/scaffolding/vaultCalls.ts +32 -2
  79. package/src/types.d.ts +1 -0
  80. package/src/whales.ts +36 -18
package/CHANGELOG.md CHANGED
@@ -1,5 +1,37 @@
1
1
  # @enzymefinance/testutils
2
2
 
3
+ ## 4.0.0-next.7
4
+
5
+ ### Patch Changes
6
+
7
+ - 837da449: Upgrade dependencies and publish new version
8
+ - Updated dependencies [837da449]
9
+ - @enzymefinance/protocol@4.0.0-next.7
10
+
11
+ ## 4.0.0-next.6
12
+
13
+ ### Patch Changes
14
+
15
+ - 10b83667: Upgrade deps and publish new version
16
+ - Updated dependencies [10b83667]
17
+ - @enzymefinance/protocol@4.0.0-next.6
18
+
19
+ ## 4.0.0-next.5
20
+
21
+ ### Patch Changes
22
+
23
+ - 8b844ad4: Publish with call signatures.
24
+ - Updated dependencies [8b844ad4]
25
+ - @enzymefinance/protocol@4.0.0-next.5
26
+
27
+ ## 4.0.0-next.3
28
+
29
+ ### Patch Changes
30
+
31
+ - 90955319: Publishing new adapters
32
+ - Updated dependencies [90955319]
33
+ - @enzymefinance/protocol@4.0.0-next.3
34
+
3
35
  ## 4.0.0-next.2
4
36
 
5
37
  ### Patch Changes
@@ -1,4 +1,4 @@
1
- import { ContractReceipt } from '@enzymefinance/ethers';
2
- import { utils } from 'ethers';
1
+ import type { ContractReceipt } from '@enzymefinance/ethers';
2
+ import type { utils } from 'ethers';
3
3
  export declare function assertEvent<TResult = any>(receipt: ContractReceipt<any>, event: string | utils.EventFragment, match?: TResult): NonNullable<TResult>;
4
4
  export declare function assertNoEvent(receipt: ContractReceipt<any>, event: string | utils.EventFragment): void;
@@ -1,91 +1,195 @@
1
- import { Contract } from '@enzymefinance/ethers';
2
- import { SignerWithAddress } from '@enzymefinance/hardhat';
3
- import { Dispatcher, VaultLib, FundDeployer, PolicyManager, AavePriceFeed, CompoundPriceFeed, CompoundDebtPositionLib, CompoundDebtPositionParser, CurvePriceFeed, IdlePriceFeed, LidoStethPriceFeed, RevertingPriceFeed, StakehoundEthPriceFeed, SynthetixPriceFeed, YearnVaultV2PriceFeed, ValueInterpreter, UniswapV2PoolPriceFeed, IntegrationManager, AaveAdapter, CurveLiquidityAaveAdapter, CurveLiquidityEursAdapter, CurveLiquiditySethAdapter, CurveLiquidityStethAdapter, IdleAdapter, ParaSwapV4Adapter, SynthetixAdapter, YearnVaultV2Adapter, ZeroExV2Adapter, CompoundAdapter, ExternalPositionManager, UniswapV2ExchangeAdapter, UniswapV2LiquidityAdapter, UniswapV3Adapter, CurveExchangeAdapter, FeeManager, ComptrollerLib, EntranceRateBurnFee, EntranceRateDirectFee, ExitRateBurnFee, ExitRateDirectFee, ManagementFee, PerformanceFee, DepositWrapper, UnpermissionedActionsWrapper, AllowedAdapterIncomingAssetsPolicy, MinMaxInvestmentPolicy, AllowedDepositRecipientsPolicy, GuaranteedRedemptionPolicy, AssetFinalityResolver, ProtocolFeeReserveLib, ProtocolFeeTracker, GasRelayPaymasterFactory, ExternalPositionFactory, AddressListRegistry, AllowedAdaptersPolicy, AllowedAssetsForRedemptionPolicy, AllowedExternalPositionTypesPolicy, AllowedSharesTransferRecipientsPolicy, CumulativeSlippageTolerancePolicy, MinAssetBalancesPostRedemptionPolicy, OnlyRemoveDustExternalPositionPolicy, OnlyUntrackDustOrPricelessAssetsPolicy, FundValueCalculatorRouter, FundValueCalculator } 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[]>;
1
+ import { AaveAdapter, AavePriceFeed, AddressListRegistry, AllowedAdapterIncomingAssetsPolicy, AllowedAdaptersPolicy, AllowedAssetsForRedemptionPolicy, AllowedDepositRecipientsPolicy, AllowedExternalPositionTypesPolicy, AllowedSharesTransferRecipientsPolicy, CompoundAdapter, CompoundDebtPositionLib, CompoundDebtPositionParser, CompoundPriceFeed, ComptrollerLib, ConvexCurveLpStakingAdapter, ConvexCurveLpStakingWrapperFactory, ConvexCurveLpStakingWrapperPriceFeed, CumulativeSlippageTolerancePolicy, CurveExchangeAdapter, CurveLiquidityAaveAdapter, CurveLiquidityAdapter, CurveLiquiditySethAdapter, CurveLiquidityStethAdapter, 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, ParaSwapV4Adapter, ParaSwapV5Adapter, PerformanceFee, PolicyManager, PoolTogetherV4Adapter, PoolTogetherV4PriceFeed, ProtocolFeeReserveLib, ProtocolFeeTracker, RevertingPriceFeed, StakehoundEthPriceFeed, SynthetixAdapter, UniswapV2ExchangeAdapter, UniswapV2LiquidityAdapter, UniswapV2PoolPriceFeed, UniswapV3Adapter, UnpermissionedActionsWrapper, 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[]>;
7
4
  export declare function deployProtocolFixture(): Promise<{
8
- readonly deployer: SignerWithAddress;
5
+ readonly accounts: import("@nomiclabs/hardhat-ethers/signers").SignerWithAddress[];
6
+ readonly config: DeploymentConfig;
7
+ readonly deployer: import("@nomiclabs/hardhat-ethers/signers").SignerWithAddress;
9
8
  readonly deployment: {
10
- readonly dispatcher: Dispatcher;
11
- readonly vaultLib: VaultLib;
12
- readonly fundDeployer: FundDeployer;
13
- readonly policyManager: PolicyManager;
9
+ readonly aaveAdapter: AaveAdapter;
14
10
  readonly aavePriceFeed: AavePriceFeed;
11
+ readonly addressListRegistry: AddressListRegistry;
12
+ readonly allowedAdapterIncomingAssetsPolicy: AllowedAdapterIncomingAssetsPolicy;
13
+ readonly allowedAdaptersPolicy: AllowedAdaptersPolicy;
14
+ readonly allowedAssetsForRedemptionPolicy: AllowedAssetsForRedemptionPolicy;
15
+ readonly allowedDepositRecipientsPolicy: AllowedDepositRecipientsPolicy;
16
+ readonly allowedExternalPositionTypesPolicy: AllowedExternalPositionTypesPolicy;
17
+ readonly allowedSharesTransferRecipientsPolicy: AllowedSharesTransferRecipientsPolicy;
18
+ readonly compoundAdapter: CompoundAdapter;
15
19
  readonly compoundDebtPositionLib: CompoundDebtPositionLib;
16
20
  readonly compoundDebtPositionParser: CompoundDebtPositionParser;
17
21
  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 yearnVaultV2PriceFeed: YearnVaultV2PriceFeed;
25
- readonly valueInterpreter: ValueInterpreter;
26
- readonly uniswapV2PoolPriceFeed: UniswapV2PoolPriceFeed;
27
- readonly integrationManager: IntegrationManager;
28
- readonly externalPositionManager: ExternalPositionManager;
29
- readonly externalPositionFactory: ExternalPositionFactory;
22
+ readonly comptrollerLib: ComptrollerLib;
23
+ readonly convexCurveLpStakingAdapter: ConvexCurveLpStakingAdapter;
24
+ readonly convexCurveLpStakingWrapperFactory: ConvexCurveLpStakingWrapperFactory;
25
+ readonly convexCurveLpStakingWrapperPriceFeed: ConvexCurveLpStakingWrapperPriceFeed;
26
+ readonly cumulativeSlippageTolerancePolicy: CumulativeSlippageTolerancePolicy;
27
+ readonly curveExchangeAdapter: CurveExchangeAdapter;
30
28
  readonly curveLiquidityAaveAdapter: CurveLiquidityAaveAdapter;
31
- readonly curveLiquidityEursAdapter: CurveLiquidityEursAdapter;
29
+ readonly curveLiquidityAdapter: CurveLiquidityAdapter;
32
30
  readonly curveLiquiditySethAdapter: CurveLiquiditySethAdapter;
33
31
  readonly curveLiquidityStethAdapter: CurveLiquidityStethAdapter;
34
- readonly aaveAdapter: AaveAdapter;
35
- readonly idleAdapter: IdleAdapter;
36
- readonly paraSwapV4Adapter: ParaSwapV4Adapter;
37
- readonly synthetixAdapter: SynthetixAdapter;
38
- readonly yearnVaultV2Adapter: YearnVaultV2Adapter;
39
- readonly zeroExV2Adapter: ZeroExV2Adapter;
40
- readonly compoundAdapter: CompoundAdapter;
41
- readonly uniswapV2ExchangeAdapter: UniswapV2ExchangeAdapter;
42
- readonly uniswapV2LiquidityAdapter: UniswapV2LiquidityAdapter;
43
- readonly uniswapV3Adapter: UniswapV3Adapter;
44
- readonly curveExchangeAdapter: CurveExchangeAdapter;
45
- readonly feeManager: FeeManager;
46
- readonly comptrollerLib: ComptrollerLib;
32
+ readonly curvePriceFeed: CurvePriceFeed;
33
+ readonly depositWrapper: DepositWrapper;
34
+ readonly dispatcher: Dispatcher;
47
35
  readonly entranceRateBurnFee: EntranceRateBurnFee;
48
36
  readonly entranceRateDirectFee: EntranceRateDirectFee;
49
37
  readonly exitRateBurnFee: ExitRateBurnFee;
50
38
  readonly exitRateDirectFee: ExitRateDirectFee;
39
+ readonly externalPositionFactory: ExternalPositionFactory;
40
+ readonly externalPositionManager: ExternalPositionManager;
41
+ readonly feeManager: FeeManager;
42
+ readonly fundDeployer: FundDeployer;
43
+ readonly fundValueCalculator: FundValueCalculator;
44
+ readonly fundValueCalculatorRouter: FundValueCalculatorRouter;
45
+ readonly fundValueCalculatorUsdWrapper: FundValueCalculatorUsdWrapper;
46
+ readonly fuseAdapter: FuseAdapter;
47
+ readonly fusePriceFeed: FusePriceFeed;
48
+ readonly gasRelayPaymasterFactory: GasRelayPaymasterFactory;
49
+ readonly idleAdapter: IdleAdapter;
50
+ readonly idlePriceFeed: IdlePriceFeed;
51
+ readonly integrationManager: IntegrationManager;
52
+ readonly lidoStethPriceFeed: LidoStethPriceFeed;
51
53
  readonly managementFee: ManagementFee;
52
- readonly performanceFee: PerformanceFee;
53
- readonly depositWrapper: DepositWrapper;
54
- readonly unpermissionedActionsWrapper: UnpermissionedActionsWrapper;
55
- readonly allowedAdapterIncomingAssetsPolicy: AllowedAdapterIncomingAssetsPolicy;
54
+ readonly minAssetBalancesPostRedemptionPolicy: MinAssetBalancesPostRedemptionPolicy;
56
55
  readonly minMaxInvestmentPolicy: MinMaxInvestmentPolicy;
57
- readonly allowedDepositRecipientsPolicy: AllowedDepositRecipientsPolicy;
58
- readonly guaranteedRedemptionPolicy: GuaranteedRedemptionPolicy;
59
- readonly assetFinalityResolver: AssetFinalityResolver;
56
+ readonly olympusV2Adapter: OlympusV2Adapter;
57
+ readonly onlyRemoveDustExternalPositionPolicy: OnlyRemoveDustExternalPositionPolicy;
58
+ readonly onlyUntrackDustOrPricelessAssetsPolicy: OnlyUntrackDustOrPricelessAssetsPolicy;
59
+ readonly paraSwapV4Adapter: ParaSwapV4Adapter;
60
+ readonly paraSwapV5Adapter: ParaSwapV5Adapter;
61
+ readonly performanceFee: PerformanceFee;
62
+ readonly policyManager: PolicyManager;
63
+ readonly poolTogetherV4Adapter: PoolTogetherV4Adapter;
64
+ readonly poolTogetherV4PriceFeed: PoolTogetherV4PriceFeed;
60
65
  readonly protocolFeeReserveLib: ProtocolFeeReserveLib;
61
66
  readonly protocolFeeReserveProxy: ProtocolFeeReserveLib;
62
67
  readonly protocolFeeTracker: ProtocolFeeTracker;
63
- readonly gasRelayPaymasterFactory: GasRelayPaymasterFactory;
64
- readonly addressListRegistry: AddressListRegistry;
65
- readonly allowedAdaptersPolicy: AllowedAdaptersPolicy;
66
- readonly allowedAssetsForRedemptionPolicy: AllowedAssetsForRedemptionPolicy;
67
- readonly allowedExternalPositionTypesPolicy: AllowedExternalPositionTypesPolicy;
68
- readonly allowedSharesTransferRecipientsPolicy: AllowedSharesTransferRecipientsPolicy;
69
- readonly cumulativeSlippageTolerancePolicy: CumulativeSlippageTolerancePolicy;
70
- readonly minAssetBalancesPostRedemptionPolicy: MinAssetBalancesPostRedemptionPolicy;
71
- readonly onlyRemoveDustExternalPositionPolicy: OnlyRemoveDustExternalPositionPolicy;
72
- readonly onlyUntrackDustOrPricelessAssetsPolicy: OnlyUntrackDustOrPricelessAssetsPolicy;
73
- readonly fundValueCalculatorRouter: FundValueCalculatorRouter;
74
- readonly fundValueCalculator: FundValueCalculator;
68
+ readonly revertingPriceFeed: RevertingPriceFeed;
69
+ readonly stakehoundEthPriceFeed: StakehoundEthPriceFeed;
70
+ readonly synthetixAdapter: SynthetixAdapter;
71
+ readonly uniswapV2ExchangeAdapter: UniswapV2ExchangeAdapter;
72
+ readonly uniswapV2LiquidityAdapter: UniswapV2LiquidityAdapter;
73
+ readonly uniswapV2PoolPriceFeed: UniswapV2PoolPriceFeed;
74
+ readonly uniswapV3Adapter: UniswapV3Adapter;
75
+ readonly unpermissionedActionsWrapper: UnpermissionedActionsWrapper;
76
+ readonly valueInterpreter: ValueInterpreter;
77
+ readonly vaultLib: VaultLib;
78
+ readonly yearnVaultV2Adapter: YearnVaultV2Adapter;
79
+ readonly yearnVaultV2PriceFeed: YearnVaultV2PriceFeed;
80
+ readonly zeroExV2Adapter: ZeroExV2Adapter;
75
81
  };
76
- readonly accounts: SignerWithAddress[];
77
- readonly config: DeploymentConfig;
78
82
  }>;
79
83
  declare type Resolve<T extends () => any> = ReturnType<T> extends Promise<infer U> ? U : ReturnType<T>;
80
- declare type ContractMap = Record<string, Contract>;
81
- export interface DeploymentFixtureWithoutConfig<T extends ContractMap> {
82
- deployer: SignerWithAddress;
83
- deployment: T;
84
- accounts: SignerWithAddress[];
85
- }
86
- export interface DeploymentFixtureWithConfig<T extends ContractMap> extends DeploymentFixtureWithoutConfig<T> {
87
- config: DeploymentConfig;
88
- }
89
84
  export declare type ProtocolDeployment = Resolve<typeof deployProtocolFixture>;
90
- export declare function defaultTestDeployment(_: any): Promise<any>;
85
+ import type { ChainlinkRateAsset } from '@enzymefinance/protocol';
86
+ export interface DeploymentConfig {
87
+ feeToken: string;
88
+ feeTokenBurn: {
89
+ burnFromVault: boolean;
90
+ sendToProtocolFeeReserve: boolean;
91
+ externalBurnerAddress: string;
92
+ };
93
+ weth: string;
94
+ wrappedNativeAsset: string;
95
+ primitives: Record<string, string>;
96
+ gsn: {
97
+ relayHub: string;
98
+ relayWorker: string;
99
+ trustedForwarder: string;
100
+ };
101
+ chainlink: {
102
+ ethusd: string;
103
+ aggregators: Record<string, readonly [string, ChainlinkRateAsset]>;
104
+ };
105
+ synthetix: {
106
+ snx: string;
107
+ susd: string;
108
+ delegateApprovals: string;
109
+ originator: string;
110
+ redeemer: string;
111
+ trackingCode: string;
112
+ };
113
+ convex: {
114
+ booster: string;
115
+ crvToken: string;
116
+ cvxToken: string;
117
+ };
118
+ curve: {
119
+ addressProvider: string;
120
+ minter: string;
121
+ pools: Record<string, {
122
+ pool: string;
123
+ lpToken: string;
124
+ liquidityGaugeToken: string;
125
+ invariantProxyAsset: string;
126
+ }>;
127
+ };
128
+ aave: {
129
+ lendingPoolAddressProvider: string;
130
+ protocolDataProvider: string;
131
+ atokens: Record<string, [string, string]>;
132
+ };
133
+ compound: {
134
+ ceth: string;
135
+ comptroller: string;
136
+ ctokens: Record<string, string>;
137
+ };
138
+ fuse: {
139
+ fetherTokens: Record<string, string>;
140
+ ftokens: Record<string, string>;
141
+ };
142
+ idle: {
143
+ bestYieldIdleDai: string;
144
+ bestYieldIdleUsdc: string;
145
+ bestYieldIdleUsdt: string;
146
+ bestYieldIdleSusd: string;
147
+ bestYieldIdleTusd: string;
148
+ bestYieldIdleWbtc: string;
149
+ riskAdjustedIdleDai: string;
150
+ riskAdjustedIdleUsdc: string;
151
+ riskAdjustedIdleUsdt: string;
152
+ };
153
+ lido: {
154
+ steth: string;
155
+ };
156
+ olympusV2: {
157
+ stakingContract: string;
158
+ };
159
+ paraSwapV4: {
160
+ augustusSwapper: string;
161
+ tokenTransferProxy: string;
162
+ };
163
+ paraSwapV5: {
164
+ augustusSwapper: string;
165
+ tokenTransferProxy: string;
166
+ };
167
+ poolTogetherV4: {
168
+ ptTokens: Record<string, [string, string]>;
169
+ };
170
+ positionsLimit: number;
171
+ stakehound: {
172
+ steth: string;
173
+ };
174
+ unsupportedAssets: Record<string, string>;
175
+ uniswap: {
176
+ factory: string;
177
+ router: string;
178
+ pools: Record<string, string>;
179
+ };
180
+ uniswapV3: {
181
+ router: string;
182
+ nonFungiblePositionManager: string;
183
+ };
184
+ yearn: {
185
+ vaultV2: {
186
+ registry: string;
187
+ yVaults: Record<string, string>;
188
+ };
189
+ };
190
+ zeroex: {
191
+ exchange: string;
192
+ allowedMakers: string[];
193
+ };
194
+ }
91
195
  export {};
@@ -1,6 +1,8 @@
1
- import { BigNumberish, utils } from 'ethers';
2
- import { ContractReceipt } from '@enzymefinance/ethers';
3
- import { IGsnRelayHub, CreateSignedRelayRequestOptions } from '@enzymefinance/protocol';
1
+ import type { ContractReceipt } from '@enzymefinance/ethers';
2
+ import type { CreateSignedRelayRequestOptions } from '@enzymefinance/protocol';
3
+ import { IGsnRelayHub } from '@enzymefinance/protocol';
4
+ import type { BigNumberish } from 'ethers';
5
+ import { utils } from 'ethers';
4
6
  export interface RelayTransactionOptions extends CreateSignedRelayRequestOptions {
5
7
  relayHub: string;
6
8
  }
@@ -29,26 +31,26 @@ export declare function relayTransaction(options: RelayTransactionOptions): Prom
29
31
  returnValue: string;
30
32
  }, IGsnRelayHub>>>;
31
33
  export declare function assertDidRelay(receipt: ContractReceipt<any>): {
32
- relayManager: any;
33
- relayWorker: any;
34
+ charge: any;
34
35
  from: any;
35
- to: any;
36
36
  paymaster: any;
37
+ relayManager: any;
38
+ relayWorker: any;
37
39
  selector: any;
38
40
  status: any;
39
- charge: any;
41
+ to: any;
40
42
  };
41
43
  export declare function assertDidRelaySuccessfully(receipt: ContractReceipt<any>): void;
42
44
  export declare function assertDidRelayWithError(receipt: ContractReceipt<any>): void;
43
45
  export declare function assertDidRelayWithCharge(receipt: ContractReceipt<any>, amount: BigNumberish, tolerance?: BigNumberish): void;
44
46
  export declare function assertPaymasterDidReject(receipt: ContractReceipt<any>): {
45
- relayManager: any;
46
- paymaster: any;
47
47
  from: any;
48
- to: any;
49
- relayWorker: any;
50
- selector: any;
51
48
  innerGasUsed: any;
49
+ paymaster: any;
52
50
  reason: any;
51
+ relayManager: any;
52
+ relayWorker: any;
53
+ selector: any;
54
+ to: any;
53
55
  };
54
56
  export declare function assertPaymasterDidRejectForReason(receipt: ContractReceipt<any>, reason: string): void;
@@ -1,6 +1,7 @@
1
- import { AddressLike, ContractReceipt } from '@enzymefinance/ethers';
2
- import { BigNumber, BigNumberish } from 'ethers';
3
- import { ValueInterpreter } from '@enzymefinance/protocol';
1
+ import type { AddressLike, ContractReceipt } from '@enzymefinance/ethers';
2
+ import type { ValueInterpreter } from '@enzymefinance/protocol';
3
+ import type { BigNumberish } from 'ethers';
4
+ import { BigNumber } from 'ethers';
4
5
  export declare function transactionTimestamp(receipt: ContractReceipt<any>): Promise<number>;
5
6
  export declare function calcMlnValueAndBurnAmountForSharesBuyback({ valueInterpreter, mln, denominationAsset, sharesSupply, gav, buybackSharesAmount, }: {
6
7
  valueInterpreter: ValueInterpreter;
@@ -10,6 +11,6 @@ export declare function calcMlnValueAndBurnAmountForSharesBuyback({ valueInterpr
10
11
  gav: BigNumberish;
11
12
  buybackSharesAmount: BigNumberish;
12
13
  }): Promise<{
13
- mlnValue: BigNumber;
14
14
  mlnAmountToBurn: BigNumber;
15
+ mlnValue: BigNumber;
15
16
  }>;
@@ -1,10 +1,10 @@
1
- import { SignerWithAddress } from '@enzymefinance/hardhat';
2
- import { ComptrollerLib, IntegrationManager, StandardToken } from '@enzymefinance/protocol';
3
- import { BigNumberish } from 'ethers';
1
+ import type { SignerWithAddress } from '@enzymefinance/hardhat';
2
+ import type { ComptrollerLib, IntegrationManager, StandardToken } from '@enzymefinance/protocol';
3
+ import type { BigNumberish } from 'ethers';
4
4
  export declare function addNewAssetsToFund({ signer, comptrollerProxy, integrationManager, assets, amounts, }: {
5
5
  signer: SignerWithAddress;
6
6
  comptrollerProxy: ComptrollerLib;
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,3 +1,3 @@
1
- import { BigNumberish } from 'ethers';
2
- import { MockChainlinkPriceSource } from '@enzymefinance/protocol';
1
+ import type { MockChainlinkPriceSource } from '@enzymefinance/protocol';
2
+ import type { BigNumberish } from 'ethers';
3
3
  export declare function updateChainlinkAggregator(aggregator: MockChainlinkPriceSource, price?: BigNumberish): Promise<void>;
@@ -1,4 +1,4 @@
1
- import { AddressLike } from '@enzymefinance/ethers';
1
+ import type { AddressLike } from '@enzymefinance/ethers';
2
2
  import { StandardToken } from '@enzymefinance/protocol';
3
3
  export declare function getAssetBalances({ account, assets }: {
4
4
  account: AddressLike;
@@ -1,8 +1,8 @@
1
- import { AssetFinalityResolver, ExternalPositionManager, Dispatcher, FeeManager, FundDeployer, GasRelayPaymasterFactory, IntegrationManager, PolicyManager, ValueInterpreter, VaultLib } from '@enzymefinance/protocol';
2
- import { Signer } from 'ethers';
3
- export declare function createFundDeployer({ deployer, assetFinalityResolver, externalPositionManager, dispatcher, gasRelayPaymasterFactory, valueInterpreter, vaultLib, setOnDispatcher, setReleaseLive, }: {
1
+ import type { Dispatcher, GasRelayPaymasterFactory, ValueInterpreter } from '@enzymefinance/protocol';
2
+ import { ExternalPositionManager, FeeManager, FundDeployer, IntegrationManager, PolicyManager, VaultLib } from '@enzymefinance/protocol';
3
+ import type { Signer } from 'ethers';
4
+ export declare function createFundDeployer({ deployer, externalPositionManager, dispatcher, gasRelayPaymasterFactory, valueInterpreter, vaultLib, setOnDispatcher, setReleaseLive, }: {
4
5
  deployer: Signer;
5
- assetFinalityResolver: AssetFinalityResolver;
6
6
  externalPositionManager: ExternalPositionManager;
7
7
  dispatcher: Dispatcher;
8
8
  feeManager: FeeManager;
@@ -1,7 +1,7 @@
1
- import { AddressLike } from '@enzymefinance/ethers';
2
- import { SignerWithAddress } from '@enzymefinance/hardhat';
3
- import { ComptrollerLib } from '@enzymefinance/protocol';
4
- import { BigNumberish, BytesLike } from 'ethers';
1
+ import type { AddressLike } from '@enzymefinance/ethers';
2
+ import type { SignerWithAddress } from '@enzymefinance/hardhat';
3
+ import type { ComptrollerLib } from '@enzymefinance/protocol';
4
+ import type { BigNumberish, BytesLike } from 'ethers';
5
5
  export declare function callOnExtension({ comptrollerProxy, extension, actionId, callArgs, signer, }: {
6
6
  comptrollerProxy: ComptrollerLib;
7
7
  extension: AddressLike;
@@ -1,7 +1,8 @@
1
- import { AddressLike } from '@enzymefinance/ethers';
2
- import { SignerWithAddress } from '@enzymefinance/hardhat';
3
- import { ComptrollerLib, ExternalPositionManager, IExternalPositionProxy } from '@enzymefinance/protocol';
4
- import { BigNumberish, BytesLike } from 'ethers';
1
+ import type { AddressLike } from '@enzymefinance/ethers';
2
+ import type { SignerWithAddress } from '@enzymefinance/hardhat';
3
+ import type { ComptrollerLib, ExternalPositionManager } from '@enzymefinance/protocol';
4
+ import { IExternalPositionProxy } from '@enzymefinance/protocol';
5
+ import type { BigNumberish, BytesLike } from 'ethers';
5
6
  export declare function callOnExternalPosition({ signer, comptrollerProxy, externalPositionManager, externalPositionProxy, actionId, actionArgs, }: {
6
7
  signer: SignerWithAddress;
7
8
  comptrollerProxy: ComptrollerLib;
@@ -10,15 +11,16 @@ export declare function callOnExternalPosition({ signer, comptrollerProxy, exter
10
11
  actionId: BigNumberish;
11
12
  actionArgs: BytesLike;
12
13
  }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>>;
13
- export declare function createExternalPosition({ signer, comptrollerProxy, externalPositionManager, externalPositionTypeId, initializationData, }: {
14
+ export declare function createExternalPosition({ signer, comptrollerProxy, externalPositionManager, externalPositionTypeId, initializationData, callOnExternalPositionData, }: {
14
15
  signer: SignerWithAddress;
15
16
  comptrollerProxy: ComptrollerLib;
16
17
  externalPositionManager: ExternalPositionManager;
17
18
  externalPositionTypeId: BigNumberish;
18
19
  initializationData?: BytesLike;
20
+ callOnExternalPositionData?: BytesLike;
19
21
  }): Promise<{
20
- receipt: import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>;
21
22
  externalPositionProxy: IExternalPositionProxy;
23
+ receipt: import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>;
22
24
  }>;
23
25
  export declare function reactivateExternalPosition({ signer, comptrollerProxy, externalPositionManager, externalPositionProxy, }: {
24
26
  signer: SignerWithAddress;
@@ -1,7 +1,7 @@
1
- import { AddressLike } from '@enzymefinance/ethers';
2
- import { SignerWithAddress } from '@enzymefinance/hardhat';
3
- import { ComptrollerLib, ExternalPositionManager, VaultLib } from '@enzymefinance/protocol';
4
- import { BigNumberish } from 'ethers';
1
+ import type { AddressLike } from '@enzymefinance/ethers';
2
+ import type { SignerWithAddress } from '@enzymefinance/hardhat';
3
+ import type { ComptrollerLib, ExternalPositionManager, VaultLib } from '@enzymefinance/protocol';
4
+ import type { BigNumberish } from 'ethers';
5
5
  export declare function compoundDebtPositionAddCollateral({ comptrollerProxy, externalPositionManager, fundOwner, assets, amounts, externalPositionProxy, cTokens, }: {
6
6
  comptrollerProxy: ComptrollerLib;
7
7
  externalPositionManager: ExternalPositionManager;
@@ -51,6 +51,6 @@ export declare function createCompoundDebtPosition({ signer, comptrollerProxy, e
51
51
  comptrollerProxy: ComptrollerLib;
52
52
  externalPositionManager: ExternalPositionManager;
53
53
  }): Promise<{
54
- receipt: import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: import("ethers").BytesLike], void, ComptrollerLib>>;
55
54
  externalPositionProxy: import("@enzymefinance/protocol").IExternalPositionProxy;
55
+ receipt: import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: import("ethers").BytesLike], void, ComptrollerLib>>;
56
56
  }>;
@@ -1,3 +1,4 @@
1
1
  export * from './actions';
2
2
  export * from './compound';
3
3
  export * from './mocks';
4
+ export * from './uniswap-v3-liquidity';
@@ -1,7 +1,8 @@
1
- import { ComptrollerLib, ExternalPositionFactory, ExternalPositionManager, MockGenericExternalPositionLib, MockGenericExternalPositionParser } from '@enzymefinance/protocol/src';
2
- import { SignerWithAddress } from '@enzymefinance/hardhat';
3
- import { AddressLike } from '@enzymefinance/ethers';
4
- import { BigNumberish } from 'ethers';
1
+ import type { AddressLike } from '@enzymefinance/ethers';
2
+ import type { SignerWithAddress } from '@enzymefinance/hardhat';
3
+ import type { ComptrollerLib, ExternalPositionFactory, ExternalPositionManager } from '@enzymefinance/protocol';
4
+ import { MockGenericExternalPositionLib, MockGenericExternalPositionParser } from '@enzymefinance/protocol';
5
+ import type { BigNumberish } from 'ethers';
5
6
  export declare function createMockExternalPosition({ comptrollerProxy, externalPositionManager, externalPositionFactory, defaultActionAssetsToTransfer, defaultActionAmountsToTransfer, defaultActionAssetsToReceive, fundOwner, deployer, }: {
6
7
  comptrollerProxy: ComptrollerLib;
7
8
  externalPositionManager: ExternalPositionManager;
@@ -12,11 +13,14 @@ export declare function createMockExternalPosition({ comptrollerProxy, externalP
12
13
  fundOwner: SignerWithAddress;
13
14
  deployer: SignerWithAddress;
14
15
  }): Promise<{
15
- typeId: import("ethers").BigNumber;
16
- mockGenericExternalPositionLib: MockGenericExternalPositionLib;
17
- mockExternalPositionParser: MockGenericExternalPositionParser;
18
16
  externalPositionProxy: string;
19
- receipt: import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: import("ethers").BytesLike], void, ComptrollerLib>>;
17
+ mockExternalPositionParser: MockGenericExternalPositionParser;
18
+ mockGenericExternalPositionLib: MockGenericExternalPositionLib;
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
+ };
23
+ typeId: import("ethers").BigNumber;
20
24
  }>;
21
25
  export declare function mockExternalPositionAddDebtAssets({ signer, comptrollerProxy, externalPositionManager, externalPositionProxy, assets, amounts, }: {
22
26
  signer: SignerWithAddress;
@@ -25,7 +29,7 @@ export declare function mockExternalPositionAddDebtAssets({ signer, comptrollerP
25
29
  externalPositionProxy: AddressLike;
26
30
  assets: AddressLike[];
27
31
  amounts: BigNumberish[];
28
- }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: import("ethers").BytesLike], void, import("@enzymefinance/protocol").ComptrollerLib>>>;
32
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: import("ethers").BytesLike], void, ComptrollerLib>>>;
29
33
  export declare function mockExternalPositionAddManagedAssets({ signer, comptrollerProxy, externalPositionManager, externalPositionProxy, assets, amounts, }: {
30
34
  signer: SignerWithAddress;
31
35
  comptrollerProxy: ComptrollerLib;
@@ -33,7 +37,7 @@ export declare function mockExternalPositionAddManagedAssets({ signer, comptroll
33
37
  externalPositionProxy: AddressLike;
34
38
  assets: AddressLike[];
35
39
  amounts: BigNumberish[];
36
- }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: import("ethers").BytesLike], void, import("@enzymefinance/protocol").ComptrollerLib>>>;
40
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: import("ethers").BytesLike], void, ComptrollerLib>>>;
37
41
  export declare function mockExternalPositionRemoveDebtAssets({ signer, comptrollerProxy, externalPositionManager, externalPositionProxy, assets, amounts, }: {
38
42
  signer: SignerWithAddress;
39
43
  comptrollerProxy: ComptrollerLib;
@@ -41,7 +45,7 @@ export declare function mockExternalPositionRemoveDebtAssets({ signer, comptroll
41
45
  externalPositionProxy: AddressLike;
42
46
  assets: AddressLike[];
43
47
  amounts: BigNumberish[];
44
- }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: import("ethers").BytesLike], void, import("@enzymefinance/protocol").ComptrollerLib>>>;
48
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: import("ethers").BytesLike], void, ComptrollerLib>>>;
45
49
  export declare function mockExternalPositionRemoveManagedAssets({ signer, comptrollerProxy, externalPositionManager, externalPositionProxy, assets, amounts, }: {
46
50
  signer: SignerWithAddress;
47
51
  comptrollerProxy: ComptrollerLib;
@@ -49,4 +53,4 @@ export declare function mockExternalPositionRemoveManagedAssets({ signer, comptr
49
53
  externalPositionProxy: AddressLike;
50
54
  assets: AddressLike[];
51
55
  amounts: BigNumberish[];
52
- }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: import("ethers").BytesLike], void, import("@enzymefinance/protocol").ComptrollerLib>>>;
56
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: import("ethers").BytesLike], void, ComptrollerLib>>>;