@enzymefinance/testutils 4.0.0-next.1 → 4.0.0-next.6

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 (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 +168 -64
  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 +3 -3
  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 -3
  10. package/dist/declarations/src/scaffolding/extensions/common.d.ts +4 -4
  11. package/dist/declarations/src/scaffolding/extensions/external-positions/actions.d.ts +14 -5
  12. package/dist/declarations/src/scaffolding/extensions/external-positions/compound.d.ts +22 -22
  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 +40 -7
  15. package/dist/declarations/src/scaffolding/extensions/external-positions/uniswap-v3-liquidity.d.ts +99 -0
  16. package/dist/declarations/src/scaffolding/extensions/fees.d.ts +1 -1
  17. package/dist/declarations/src/scaffolding/extensions/integrations/aave.d.ts +4 -3
  18. package/dist/declarations/src/scaffolding/extensions/integrations/compound.d.ts +5 -5
  19. package/dist/declarations/src/scaffolding/extensions/integrations/curve.d.ts +108 -33
  20. package/dist/declarations/src/scaffolding/extensions/integrations/idle.d.ts +3 -3
  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 +11 -3
  28. package/dist/declarations/src/scaffolding/extensions/integrations/trackedAssets.d.ts +3 -3
  29. package/dist/declarations/src/scaffolding/extensions/integrations/uniswapV2.d.ts +10 -10
  30. package/dist/declarations/src/scaffolding/extensions/integrations/uniswapV3.d.ts +4 -4
  31. package/dist/declarations/src/scaffolding/extensions/integrations/yearn.d.ts +3 -3
  32. package/dist/declarations/src/scaffolding/extensions/integrations/zeroExV2.d.ts +3 -3
  33. package/dist/declarations/src/scaffolding/extensions/policies.d.ts +1 -1
  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 +15 -6
  37. package/dist/declarations/src/whales.d.ts +20 -18
  38. package/dist/enzymefinance-testutils.browser.cjs.js +1783 -763
  39. package/dist/enzymefinance-testutils.browser.esm.js +1746 -757
  40. package/dist/enzymefinance-testutils.cjs.dev.js +1783 -763
  41. package/dist/enzymefinance-testutils.cjs.prod.js +1783 -763
  42. package/dist/enzymefinance-testutils.esm.js +1746 -757
  43. package/package.json +5 -5
  44. package/src/assertions.ts +5 -2
  45. package/src/deployment.ts +215 -111
  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 +30 -12
  52. package/src/scaffolding/extensions/common.ts +4 -4
  53. package/src/scaffolding/extensions/external-positions/actions.ts +33 -6
  54. package/src/scaffolding/extensions/external-positions/compound.ts +76 -96
  55. package/src/scaffolding/extensions/external-positions/index.ts +1 -0
  56. package/src/scaffolding/extensions/external-positions/mocks.ts +132 -10
  57. package/src/scaffolding/extensions/external-positions/uniswap-v3-liquidity.ts +290 -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 +10 -11
  61. package/src/scaffolding/extensions/integrations/curve.ts +333 -68
  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 -12
  70. package/src/scaffolding/extensions/integrations/trackedAssets.ts +3 -4
  71. package/src/scaffolding/extensions/integrations/uniswapV2.ts +31 -27
  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/whales.ts +30 -17
  80. package/tsconfig.json +2 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,37 @@
1
1
  # @enzymefinance/testutils
2
2
 
3
+ ## 4.0.0-next.6
4
+
5
+ ### Patch Changes
6
+
7
+ - 10b83667: Upgrade deps and publish new version
8
+ - Updated dependencies [10b83667]
9
+ - @enzymefinance/protocol@4.0.0-next.6
10
+
11
+ ## 4.0.0-next.5
12
+
13
+ ### Patch Changes
14
+
15
+ - 8b844ad4: Publish with call signatures.
16
+ - Updated dependencies [8b844ad4]
17
+ - @enzymefinance/protocol@4.0.0-next.5
18
+
19
+ ## 4.0.0-next.3
20
+
21
+ ### Patch Changes
22
+
23
+ - 90955319: Publishing new adapters
24
+ - Updated dependencies [90955319]
25
+ - @enzymefinance/protocol@4.0.0-next.3
26
+
27
+ ## 4.0.0-next.2
28
+
29
+ ### Patch Changes
30
+
31
+ - a0b65d53: Publishing post-audit packages.
32
+ - Updated dependencies [a0b65d53]
33
+ - @enzymefinance/protocol@4.0.0-next.2
34
+
3
35
  ## 4.0.0-next.1
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,88 +1,192 @@
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, WdgldPriceFeed, YearnVaultV2PriceFeed, ValueInterpreter, UniswapV2PoolPriceFeed, IntegrationManager, AaveAdapter, CurveLiquidityAaveAdapter, CurveLiquidityEursAdapter, CurveLiquiditySethAdapter, CurveLiquidityStethAdapter, IdleAdapter, ParaSwapV4Adapter, SynthetixAdapter, YearnVaultV2Adapter, ZeroExV2Adapter, CompoundAdapter, ExternalPositionManager, UniswapV2Adapter, UniswapV3Adapter, CurveExchangeAdapter, FeeManager, ComptrollerLib, EntranceRateBurnFee, EntranceRateDirectFee, ExitRateBurnFee, ExitRateDirectFee, ManagementFee, PerformanceFee, DepositWrapper, UnpermissionedActionsWrapper, AllowedAdapterIncomingAssetsPolicy, MinMaxInvestmentPolicy, AllowedDepositRecipientsPolicy, GuaranteedRedemptionPolicy, GlobalConfigLib, AssetFinalityResolver, ProtocolFeeReserveLib, ProtocolFeeTracker, GasRelayPaymasterFactory, ExternalPositionFactory, AddressListRegistry, AllowedAdaptersPolicy, AllowedAssetsForRedemptionPolicy, AllowedExternalPositionTypesPolicy, AllowedSharesTransferRecipientsPolicy, OnlyUntrackDustOrPricelessAssetsPolicy } 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, AssetFinalityResolver, CompoundAdapter, CompoundDebtPositionLib, CompoundDebtPositionParser, CompoundPriceFeed, ComptrollerLib, CumulativeSlippageTolerancePolicy, CurveExchangeAdapter, CurveLiquidityAaveAdapter, CurveLiquidityAdapter, 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, OlympusV2Adapter, 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[]>;
7
4
  export declare function deployProtocolFixture(): Promise<{
8
- readonly deployer: SignerWithAddress;
5
+ readonly accounts: import("@enzymefinance/hardhat").SignerWithAddress[];
6
+ readonly config: DeploymentConfig;
7
+ readonly deployer: import("@enzymefinance/hardhat").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 assetFinalityResolver: AssetFinalityResolver;
19
+ readonly compoundAdapter: CompoundAdapter;
15
20
  readonly compoundDebtPositionLib: CompoundDebtPositionLib;
16
21
  readonly compoundDebtPositionParser: CompoundDebtPositionParser;
17
22
  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 valueInterpreter: ValueInterpreter;
27
- readonly uniswapV2PoolPriceFeed: UniswapV2PoolPriceFeed;
28
- readonly integrationManager: IntegrationManager;
29
- readonly externalPositionManager: ExternalPositionManager;
30
- readonly externalPositionFactory: ExternalPositionFactory;
23
+ readonly comptrollerLib: ComptrollerLib;
24
+ readonly cumulativeSlippageTolerancePolicy: CumulativeSlippageTolerancePolicy;
25
+ readonly curveExchangeAdapter: CurveExchangeAdapter;
31
26
  readonly curveLiquidityAaveAdapter: CurveLiquidityAaveAdapter;
27
+ readonly curveLiquidityAdapter: CurveLiquidityAdapter;
32
28
  readonly curveLiquidityEursAdapter: CurveLiquidityEursAdapter;
33
29
  readonly curveLiquiditySethAdapter: CurveLiquiditySethAdapter;
34
30
  readonly curveLiquidityStethAdapter: CurveLiquidityStethAdapter;
35
- readonly aaveAdapter: AaveAdapter;
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 uniswapV3Adapter: UniswapV3Adapter;
44
- readonly curveExchangeAdapter: CurveExchangeAdapter;
45
- readonly feeManager: FeeManager;
46
- readonly comptrollerLib: ComptrollerLib;
31
+ readonly curvePriceFeed: CurvePriceFeed;
32
+ readonly depositWrapper: DepositWrapper;
33
+ readonly dispatcher: Dispatcher;
47
34
  readonly entranceRateBurnFee: EntranceRateBurnFee;
48
35
  readonly entranceRateDirectFee: EntranceRateDirectFee;
49
36
  readonly exitRateBurnFee: ExitRateBurnFee;
50
37
  readonly exitRateDirectFee: ExitRateDirectFee;
38
+ readonly externalPositionFactory: ExternalPositionFactory;
39
+ readonly externalPositionManager: ExternalPositionManager;
40
+ readonly feeManager: FeeManager;
41
+ readonly fundDeployer: FundDeployer;
42
+ readonly fundValueCalculator: FundValueCalculator;
43
+ readonly fundValueCalculatorRouter: FundValueCalculatorRouter;
44
+ readonly fundValueCalculatorUsdWrapper: FundValueCalculatorUsdWrapper;
45
+ readonly gasRelayPaymasterFactory: GasRelayPaymasterFactory;
46
+ readonly guaranteedRedemptionPolicy: GuaranteedRedemptionPolicy;
47
+ readonly idleAdapter: IdleAdapter;
48
+ readonly idlePriceFeed: IdlePriceFeed;
49
+ readonly integrationManager: IntegrationManager;
50
+ readonly lidoStethPriceFeed: LidoStethPriceFeed;
51
51
  readonly managementFee: ManagementFee;
52
- readonly performanceFee: PerformanceFee;
53
- readonly depositWrapper: DepositWrapper;
54
- readonly unpermissionedActionsWrapper: UnpermissionedActionsWrapper;
55
- readonly allowedAdapterIncomingAssetsPolicy: AllowedAdapterIncomingAssetsPolicy;
52
+ readonly minAssetBalancesPostRedemptionPolicy: MinAssetBalancesPostRedemptionPolicy;
56
53
  readonly minMaxInvestmentPolicy: MinMaxInvestmentPolicy;
57
- readonly allowedDepositRecipientsPolicy: AllowedDepositRecipientsPolicy;
58
- readonly guaranteedRedemptionPolicy: GuaranteedRedemptionPolicy;
59
- readonly globalConfigLib: GlobalConfigLib;
60
- readonly globalConfigProxy: GlobalConfigLib;
61
- readonly assetFinalityResolver: AssetFinalityResolver;
54
+ readonly olympusV2Adapter: OlympusV2Adapter;
55
+ readonly onlyRemoveDustExternalPositionPolicy: OnlyRemoveDustExternalPositionPolicy;
56
+ readonly onlyUntrackDustOrPricelessAssetsPolicy: OnlyUntrackDustOrPricelessAssetsPolicy;
57
+ readonly paraSwapV4Adapter: ParaSwapV4Adapter;
58
+ readonly paraSwapV5Adapter: ParaSwapV5Adapter;
59
+ readonly performanceFee: PerformanceFee;
60
+ readonly policyManager: PolicyManager;
61
+ readonly poolTogetherV4Adapter: PoolTogetherV4Adapter;
62
+ readonly poolTogetherV4PriceFeed: PoolTogetherV4PriceFeed;
62
63
  readonly protocolFeeReserveLib: ProtocolFeeReserveLib;
63
64
  readonly protocolFeeReserveProxy: ProtocolFeeReserveLib;
64
65
  readonly protocolFeeTracker: ProtocolFeeTracker;
65
- readonly gasRelayPaymasterFactory: GasRelayPaymasterFactory;
66
- readonly addressListRegistry: AddressListRegistry;
67
- readonly allowedAdaptersPolicy: AllowedAdaptersPolicy;
68
- readonly allowedAssetsForRedemptionPolicy: AllowedAssetsForRedemptionPolicy;
69
- readonly allowedExternalPositionTypesPolicy: AllowedExternalPositionTypesPolicy;
70
- readonly allowedSharesTransferRecipientsPolicy: AllowedSharesTransferRecipientsPolicy;
71
- readonly onlyUntrackDustOrPricelessAssetsPolicy: OnlyUntrackDustOrPricelessAssetsPolicy;
66
+ readonly revertingPriceFeed: RevertingPriceFeed;
67
+ readonly stakehoundEthPriceFeed: StakehoundEthPriceFeed;
68
+ readonly synthetixAdapter: SynthetixAdapter;
69
+ readonly synthetixPriceFeed: SynthetixPriceFeed;
70
+ readonly uniswapV2ExchangeAdapter: UniswapV2ExchangeAdapter;
71
+ readonly uniswapV2LiquidityAdapter: UniswapV2LiquidityAdapter;
72
+ readonly uniswapV2PoolPriceFeed: UniswapV2PoolPriceFeed;
73
+ readonly uniswapV3Adapter: UniswapV3Adapter;
74
+ readonly unpermissionedActionsWrapper: UnpermissionedActionsWrapper;
75
+ readonly valueInterpreter: ValueInterpreter;
76
+ readonly vaultLib: VaultLib;
77
+ readonly yearnVaultV2Adapter: YearnVaultV2Adapter;
78
+ readonly yearnVaultV2PriceFeed: YearnVaultV2PriceFeed;
79
+ readonly zeroExV2Adapter: ZeroExV2Adapter;
72
80
  };
73
- readonly accounts: SignerWithAddress[];
74
- readonly config: DeploymentConfig;
75
81
  }>;
76
82
  declare type Resolve<T extends () => any> = ReturnType<T> extends Promise<infer U> ? U : ReturnType<T>;
77
- declare type ContractMap = Record<string, Contract>;
78
- export interface DeploymentFixtureWithoutConfig<T extends ContractMap> {
79
- deployer: SignerWithAddress;
80
- deployment: T;
81
- accounts: SignerWithAddress[];
82
- }
83
- export interface DeploymentFixtureWithConfig<T extends ContractMap> extends DeploymentFixtureWithoutConfig<T> {
84
- config: DeploymentConfig;
85
- }
86
83
  export declare type ProtocolDeployment = Resolve<typeof deployProtocolFixture>;
87
- export declare function defaultTestDeployment(_: any): Promise<any>;
84
+ import type { ChainlinkRateAsset } from '@enzymefinance/protocol';
85
+ export interface DeploymentConfig {
86
+ feeToken: string;
87
+ feeTokenBurn: {
88
+ burnFromVault: boolean;
89
+ sendToProtocolFeeReserve: boolean;
90
+ externalBurnerAddress: string;
91
+ };
92
+ weth: string;
93
+ wrappedNativeAsset: string;
94
+ primitives: Record<string, string>;
95
+ gsn: {
96
+ relayHub: string;
97
+ relayWorker: string;
98
+ trustedForwarder: string;
99
+ };
100
+ chainlink: {
101
+ ethusd: string;
102
+ aggregators: Record<string, readonly [string, ChainlinkRateAsset]>;
103
+ };
104
+ synthetix: {
105
+ snx: string;
106
+ susd: string;
107
+ synths: Record<string, string>;
108
+ addressResolver: string;
109
+ delegateApprovals: string;
110
+ originator: string;
111
+ redeemer: string;
112
+ trackingCode: string;
113
+ };
114
+ curve: {
115
+ addressProvider: string;
116
+ minter: string;
117
+ pools: Record<string, {
118
+ pool: string;
119
+ lpToken: string;
120
+ liquidityGaugeToken: string;
121
+ invariantProxyAsset: string;
122
+ }>;
123
+ };
124
+ aave: {
125
+ lendingPoolAddressProvider: string;
126
+ protocolDataProvider: string;
127
+ atokens: Record<string, [string, string]>;
128
+ };
129
+ compound: {
130
+ ceth: string;
131
+ comptroller: string;
132
+ ctokens: Record<string, string>;
133
+ };
134
+ idle: {
135
+ bestYieldIdleDai: string;
136
+ bestYieldIdleUsdc: string;
137
+ bestYieldIdleUsdt: string;
138
+ bestYieldIdleSusd: string;
139
+ bestYieldIdleTusd: string;
140
+ bestYieldIdleWbtc: string;
141
+ riskAdjustedIdleDai: string;
142
+ riskAdjustedIdleUsdc: string;
143
+ riskAdjustedIdleUsdt: string;
144
+ };
145
+ lido: {
146
+ steth: string;
147
+ };
148
+ olympusV2: {
149
+ stakingContract: string;
150
+ };
151
+ paraSwapV4: {
152
+ augustusSwapper: string;
153
+ tokenTransferProxy: string;
154
+ };
155
+ paraSwapV5: {
156
+ augustusSwapper: string;
157
+ tokenTransferProxy: string;
158
+ };
159
+ poolTogetherV4: {
160
+ ptTokens: Record<string, [string, string]>;
161
+ };
162
+ positionsLimit: number;
163
+ stakehound: {
164
+ steth: string;
165
+ };
166
+ unsupportedAssets: Record<string, string>;
167
+ uniswap: {
168
+ factory: string;
169
+ router: string;
170
+ pools: Record<string, string>;
171
+ };
172
+ uniswapV3: {
173
+ router: string;
174
+ nonFungiblePositionManager: string;
175
+ };
176
+ yearn: {
177
+ vaultV2: {
178
+ registry: string;
179
+ yVaults: Record<string, string>;
180
+ };
181
+ };
182
+ zeroex: {
183
+ exchange: string;
184
+ allowedMakers: string[];
185
+ };
186
+ policies: {
187
+ guaranteedRedemption: {
188
+ redemptionWindowBuffer: number;
189
+ };
190
+ };
191
+ }
88
192
  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,6 +1,6 @@
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;
@@ -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,6 +1,7 @@
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, feeManager, gasRelayPaymasterFactory, integrationManager, policyManager, valueInterpreter, vaultLib, setOnDispatcher, setReleaseLive, }: {
1
+ import type { AssetFinalityResolver, 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, assetFinalityResolver, externalPositionManager, dispatcher, gasRelayPaymasterFactory, valueInterpreter, vaultLib, setOnDispatcher, setReleaseLive, }: {
4
5
  deployer: Signer;
5
6
  assetFinalityResolver: AssetFinalityResolver;
6
7
  externalPositionManager: ExternalPositionManager;
@@ -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,16 @@
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';
6
+ export declare function callOnExternalPosition({ signer, comptrollerProxy, externalPositionManager, externalPositionProxy, actionId, actionArgs, }: {
7
+ signer: SignerWithAddress;
8
+ comptrollerProxy: ComptrollerLib;
9
+ externalPositionManager: ExternalPositionManager;
10
+ externalPositionProxy: AddressLike;
11
+ actionId: BigNumberish;
12
+ actionArgs: BytesLike;
13
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>>;
5
14
  export declare function createExternalPosition({ signer, comptrollerProxy, externalPositionManager, externalPositionTypeId, initializationData, }: {
6
15
  signer: SignerWithAddress;
7
16
  comptrollerProxy: ComptrollerLib;
@@ -9,8 +18,8 @@ export declare function createExternalPosition({ signer, comptrollerProxy, exter
9
18
  externalPositionTypeId: BigNumberish;
10
19
  initializationData?: BytesLike;
11
20
  }): Promise<{
12
- receipt: import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>;
13
21
  externalPositionProxy: IExternalPositionProxy;
22
+ receipt: import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>;
14
23
  }>;
15
24
  export declare function reactivateExternalPosition({ signer, comptrollerProxy, externalPositionManager, externalPositionProxy, }: {
16
25
  signer: SignerWithAddress;
@@ -1,16 +1,8 @@
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';
5
- export declare function createCompoundDebtPosition({ signer, comptrollerProxy, externalPositionManager, }: {
6
- signer: SignerWithAddress;
7
- comptrollerProxy: ComptrollerLib;
8
- externalPositionManager: ExternalPositionManager;
9
- }): Promise<{
10
- receipt: import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: import("ethers").BytesLike], void, ComptrollerLib>>;
11
- externalPositionProxy: import("@enzymefinance/protocol").IExternalPositionProxy;
12
- }>;
13
- export declare function addCollateral({ comptrollerProxy, externalPositionManager, fundOwner, assets, amounts, externalPositionProxy, cTokens, }: {
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
+ export declare function compoundDebtPositionAddCollateral({ comptrollerProxy, externalPositionManager, fundOwner, assets, amounts, externalPositionProxy, cTokens, }: {
14
6
  comptrollerProxy: ComptrollerLib;
15
7
  externalPositionManager: ExternalPositionManager;
16
8
  fundOwner: SignerWithAddress;
@@ -19,33 +11,33 @@ export declare function addCollateral({ comptrollerProxy, externalPositionManage
19
11
  amounts: BigNumberish[];
20
12
  externalPositionProxy: AddressLike;
21
13
  }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: import("ethers").BytesLike], void, ComptrollerLib>>>;
22
- export declare function removeCollateral({ comptrollerProxy, externalPositionManager, fundOwner, assets, amounts, externalPositionProxy, cTokens, }: {
14
+ export declare function compoundDebtPositionBorrow({ comptrollerProxy, externalPositionManager, fundOwner, externalPositionProxy, assets, amounts, cTokens, }: {
23
15
  comptrollerProxy: ComptrollerLib;
16
+ vaultProxy: VaultLib;
24
17
  externalPositionManager: ExternalPositionManager;
25
18
  fundOwner: SignerWithAddress;
19
+ externalPositionProxy: AddressLike;
26
20
  assets: AddressLike[];
27
21
  amounts: BigNumberish[];
28
- externalPositionProxy: AddressLike;
29
22
  cTokens: AddressLike[];
30
23
  }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: import("ethers").BytesLike], void, ComptrollerLib>>>;
31
- export declare function borrow({ comptrollerProxy, externalPositionManager, fundOwner, externalPositionProxy, assets, amounts, cTokens, }: {
24
+ export declare function compoundDebtPositionClaimComp({ comptrollerProxy, externalPositionManager, fundOwner, externalPositionProxy, }: {
32
25
  comptrollerProxy: ComptrollerLib;
33
26
  vaultProxy: VaultLib;
34
27
  externalPositionManager: ExternalPositionManager;
35
28
  fundOwner: SignerWithAddress;
36
29
  externalPositionProxy: AddressLike;
37
- assets: AddressLike[];
38
- amounts: BigNumberish[];
39
- cTokens: AddressLike[];
40
30
  }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: import("ethers").BytesLike], void, ComptrollerLib>>>;
41
- export declare function claimComp({ comptrollerProxy, externalPositionManager, fundOwner, externalPositionProxy, }: {
31
+ export declare function compoundDebtPositionRemoveCollateral({ comptrollerProxy, externalPositionManager, fundOwner, assets, amounts, externalPositionProxy, cTokens, }: {
42
32
  comptrollerProxy: ComptrollerLib;
43
- vaultProxy: VaultLib;
44
33
  externalPositionManager: ExternalPositionManager;
45
34
  fundOwner: SignerWithAddress;
35
+ assets: AddressLike[];
36
+ amounts: BigNumberish[];
46
37
  externalPositionProxy: AddressLike;
38
+ cTokens: AddressLike[];
47
39
  }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: import("ethers").BytesLike], void, ComptrollerLib>>>;
48
- export declare function repayBorrow({ comptrollerProxy, externalPositionManager, fundOwner, assets, amounts, externalPositionProxy, cTokens, }: {
40
+ export declare function compoundDebtPositionRepayBorrow({ comptrollerProxy, externalPositionManager, fundOwner, assets, amounts, externalPositionProxy, cTokens, }: {
49
41
  comptrollerProxy: ComptrollerLib;
50
42
  externalPositionManager: ExternalPositionManager;
51
43
  fundOwner: SignerWithAddress;
@@ -54,3 +46,11 @@ export declare function repayBorrow({ comptrollerProxy, externalPositionManager,
54
46
  externalPositionProxy: AddressLike;
55
47
  cTokens: AddressLike[];
56
48
  }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: import("ethers").BytesLike], void, ComptrollerLib>>>;
49
+ export declare function createCompoundDebtPosition({ signer, comptrollerProxy, externalPositionManager, }: {
50
+ signer: SignerWithAddress;
51
+ comptrollerProxy: ComptrollerLib;
52
+ externalPositionManager: ExternalPositionManager;
53
+ }): Promise<{
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
+ }>;
@@ -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,9 +13,41 @@ 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;
17
+ mockExternalPositionParser: MockGenericExternalPositionParser;
18
+ mockGenericExternalPositionLib: MockGenericExternalPositionLib;
19
19
  receipt: import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: import("ethers").BytesLike], void, ComptrollerLib>>;
20
+ typeId: import("ethers").BigNumber;
20
21
  }>;
22
+ export declare function mockExternalPositionAddDebtAssets({ signer, comptrollerProxy, externalPositionManager, externalPositionProxy, assets, amounts, }: {
23
+ signer: SignerWithAddress;
24
+ comptrollerProxy: ComptrollerLib;
25
+ externalPositionManager: ExternalPositionManager;
26
+ externalPositionProxy: AddressLike;
27
+ assets: AddressLike[];
28
+ amounts: BigNumberish[];
29
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: import("ethers").BytesLike], void, ComptrollerLib>>>;
30
+ export declare function mockExternalPositionAddManagedAssets({ signer, comptrollerProxy, externalPositionManager, externalPositionProxy, assets, amounts, }: {
31
+ signer: SignerWithAddress;
32
+ comptrollerProxy: ComptrollerLib;
33
+ externalPositionManager: ExternalPositionManager;
34
+ externalPositionProxy: AddressLike;
35
+ assets: AddressLike[];
36
+ amounts: BigNumberish[];
37
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: import("ethers").BytesLike], void, ComptrollerLib>>>;
38
+ export declare function mockExternalPositionRemoveDebtAssets({ signer, comptrollerProxy, externalPositionManager, externalPositionProxy, assets, amounts, }: {
39
+ signer: SignerWithAddress;
40
+ comptrollerProxy: ComptrollerLib;
41
+ externalPositionManager: ExternalPositionManager;
42
+ externalPositionProxy: AddressLike;
43
+ assets: AddressLike[];
44
+ amounts: BigNumberish[];
45
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: import("ethers").BytesLike], void, ComptrollerLib>>>;
46
+ export declare function mockExternalPositionRemoveManagedAssets({ signer, comptrollerProxy, externalPositionManager, externalPositionProxy, assets, amounts, }: {
47
+ signer: SignerWithAddress;
48
+ comptrollerProxy: ComptrollerLib;
49
+ externalPositionManager: ExternalPositionManager;
50
+ externalPositionProxy: AddressLike;
51
+ assets: AddressLike[];
52
+ amounts: BigNumberish[];
53
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: import("ethers").BytesLike], void, ComptrollerLib>>>;