@enzymefinance/testutils 4.0.0-next.0 → 4.0.0-next.5

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 (81) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/dist/declarations/src/assertions.d.ts +4 -4
  3. package/dist/declarations/src/deployment.d.ts +181 -82
  4. package/dist/declarations/src/gasRelayer.d.ts +56 -54
  5. package/dist/declarations/src/helpers.d.ts +16 -15
  6. package/dist/declarations/src/index.d.ts +6 -6
  7. package/dist/declarations/src/scaffolding/assets.d.ts +10 -10
  8. package/dist/declarations/src/scaffolding/chainlink.d.ts +3 -3
  9. package/dist/declarations/src/scaffolding/common.d.ts +7 -7
  10. package/dist/declarations/src/scaffolding/core.d.ts +17 -16
  11. package/dist/declarations/src/scaffolding/extensions/common.d.ts +11 -11
  12. package/dist/declarations/src/scaffolding/extensions/external-positions/actions.d.ts +35 -0
  13. package/dist/declarations/src/scaffolding/extensions/external-positions/compound.d.ts +56 -59
  14. package/dist/declarations/src/scaffolding/extensions/external-positions/index.d.ts +4 -2
  15. package/dist/declarations/src/scaffolding/extensions/external-positions/mocks.d.ts +53 -20
  16. package/dist/declarations/src/scaffolding/extensions/external-positions/uniswap-v3-liquidity.d.ts +99 -0
  17. package/dist/declarations/src/scaffolding/extensions/fees.d.ts +12 -12
  18. package/dist/declarations/src/scaffolding/extensions/index.d.ts +5 -5
  19. package/dist/declarations/src/scaffolding/extensions/integrations/aave.d.ts +20 -19
  20. package/dist/declarations/src/scaffolding/extensions/integrations/compound.d.ts +28 -28
  21. package/dist/declarations/src/scaffolding/extensions/integrations/curve.d.ts +272 -271
  22. package/dist/declarations/src/scaffolding/extensions/integrations/idle.d.ts +28 -28
  23. package/dist/declarations/src/scaffolding/extensions/integrations/index.d.ts +14 -12
  24. package/dist/declarations/src/scaffolding/extensions/integrations/mock.d.ts +32 -32
  25. package/dist/declarations/src/scaffolding/extensions/integrations/paraSwapV4.d.ts +23 -22
  26. package/dist/declarations/src/scaffolding/extensions/integrations/paraSwapV5.d.ts +23 -0
  27. package/dist/declarations/src/scaffolding/extensions/integrations/poolTogetherV4.d.ts +29 -0
  28. package/dist/declarations/src/scaffolding/extensions/integrations/synthetix.d.ts +33 -25
  29. package/dist/declarations/src/scaffolding/extensions/integrations/trackedAssets.d.ts +15 -15
  30. package/dist/declarations/src/scaffolding/extensions/integrations/uniswapV2.d.ts +46 -46
  31. package/dist/declarations/src/scaffolding/extensions/integrations/uniswapV3.d.ts +15 -15
  32. package/dist/declarations/src/scaffolding/extensions/integrations/yearn.d.ts +22 -22
  33. package/dist/declarations/src/scaffolding/extensions/integrations/zeroExV2.d.ts +12 -12
  34. package/dist/declarations/src/scaffolding/extensions/policies.d.ts +17 -17
  35. package/dist/declarations/src/scaffolding/index.d.ts +8 -8
  36. package/dist/declarations/src/scaffolding/setup.d.ts +77 -75
  37. package/dist/declarations/src/scaffolding/shares.d.ts +35 -35
  38. package/dist/declarations/src/scaffolding/vaultCalls.d.ts +32 -17
  39. package/dist/declarations/src/whales.d.ts +42 -44
  40. package/dist/enzymefinance-testutils.browser.cjs.js +1470 -697
  41. package/dist/enzymefinance-testutils.browser.esm.js +1257 -508
  42. package/dist/enzymefinance-testutils.cjs.dev.js +1470 -697
  43. package/dist/enzymefinance-testutils.cjs.prod.js +1470 -697
  44. package/dist/enzymefinance-testutils.esm.js +1257 -508
  45. package/package.json +6 -6
  46. package/src/assertions.ts +5 -2
  47. package/src/deployment.ts +202 -99
  48. package/src/gasRelayer.ts +17 -18
  49. package/src/helpers.ts +6 -4
  50. package/src/scaffolding/assets.ts +6 -5
  51. package/src/scaffolding/chainlink.ts +2 -2
  52. package/src/scaffolding/common.ts +1 -1
  53. package/src/scaffolding/core.ts +28 -12
  54. package/src/scaffolding/extensions/common.ts +4 -4
  55. package/src/scaffolding/extensions/external-positions/actions.ts +103 -0
  56. package/src/scaffolding/extensions/external-positions/compound.ts +69 -114
  57. package/src/scaffolding/extensions/external-positions/index.ts +2 -0
  58. package/src/scaffolding/extensions/external-positions/mocks.ts +132 -10
  59. package/src/scaffolding/extensions/external-positions/uniswap-v3-liquidity.ts +290 -0
  60. package/src/scaffolding/extensions/fees.ts +1 -1
  61. package/src/scaffolding/extensions/integrations/aave.ts +6 -8
  62. package/src/scaffolding/extensions/integrations/compound.ts +10 -11
  63. package/src/scaffolding/extensions/integrations/curve.ts +72 -68
  64. package/src/scaffolding/extensions/integrations/idle.ts +9 -11
  65. package/src/scaffolding/extensions/integrations/index.ts +2 -0
  66. package/src/scaffolding/extensions/integrations/mock.ts +11 -13
  67. package/src/scaffolding/extensions/integrations/paraSwapV4.ts +16 -11
  68. package/src/scaffolding/extensions/integrations/paraSwapV5.ts +73 -0
  69. package/src/scaffolding/extensions/integrations/poolTogetherV4.ts +117 -0
  70. package/src/scaffolding/extensions/integrations/synthetix.ts +45 -12
  71. package/src/scaffolding/extensions/integrations/trackedAssets.ts +3 -4
  72. package/src/scaffolding/extensions/integrations/uniswapV2.ts +31 -27
  73. package/src/scaffolding/extensions/integrations/uniswapV3.ts +9 -10
  74. package/src/scaffolding/extensions/integrations/yearn.ts +9 -11
  75. package/src/scaffolding/extensions/integrations/zeroExV2.ts +9 -7
  76. package/src/scaffolding/extensions/policies.ts +2 -1
  77. package/src/scaffolding/setup.ts +27 -19
  78. package/src/scaffolding/shares.ts +5 -4
  79. package/src/scaffolding/vaultCalls.ts +50 -3
  80. package/src/whales.ts +26 -17
  81. package/tsconfig.json +2 -1
package/CHANGELOG.md CHANGED
@@ -1,6 +1,39 @@
1
1
  # @enzymefinance/testutils
2
2
 
3
+ ## 4.0.0-next.5
4
+
5
+ ### Patch Changes
6
+
7
+ - 8b844ad4: Publish with call signatures.
8
+ - Updated dependencies [8b844ad4]
9
+ - @enzymefinance/protocol@4.0.0-next.5
10
+
11
+ ## 4.0.0-next.3
12
+
13
+ ### Patch Changes
14
+
15
+ - 90955319: Publishing new adapters
16
+ - Updated dependencies [90955319]
17
+ - @enzymefinance/protocol@4.0.0-next.3
18
+
19
+ ## 4.0.0-next.2
20
+
21
+ ### Patch Changes
22
+
23
+ - a0b65d53: Publishing post-audit packages.
24
+ - Updated dependencies [a0b65d53]
25
+ - @enzymefinance/protocol@4.0.0-next.2
26
+
27
+ ## 4.0.0-next.1
28
+
29
+ ### Patch Changes
30
+
31
+ - a18335ad: Upgrade dependencies and including new policies.
32
+ - Updated dependencies [a18335ad]
33
+ - @enzymefinance/protocol@4.0.0-next.1
34
+
3
35
  ## 4.0.0-next.0
36
+
4
37
  ### Major Changes
5
38
 
6
39
  - 3a27d558: Entering pre-release phase for Sulu
@@ -1,4 +1,4 @@
1
- import { ContractReceipt } from '@enzymefinance/ethers';
2
- import { utils } from 'ethers';
3
- export declare function assertEvent<TResult = any>(receipt: ContractReceipt<any>, event: string | utils.EventFragment, match?: TResult): NonNullable<TResult>;
4
- export declare function assertNoEvent(receipt: ContractReceipt<any>, event: string | utils.EventFragment): void;
1
+ import type { ContractReceipt } from '@enzymefinance/ethers';
2
+ import type { utils } from 'ethers';
3
+ export declare function assertEvent<TResult = any>(receipt: ContractReceipt<any>, event: string | utils.EventFragment, match?: TResult): NonNullable<TResult>;
4
+ export declare function assertNoEvent(receipt: ContractReceipt<any>, event: string | utils.EventFragment): void;
@@ -1,82 +1,181 @@
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 } from '@enzymefinance/protocol';
4
- import { DeploymentConfig } from '../../../deploy/utils/config';
5
- export declare function getNamedSigner(name: string): Promise<SignerWithAddress>;
6
- export declare function getUnnamedSigners(): Promise<SignerWithAddress[]>;
7
- export declare function deployProtocolFixture(): Promise<{
8
- readonly deployer: SignerWithAddress;
9
- readonly deployment: {
10
- readonly dispatcher: Dispatcher;
11
- readonly vaultLib: VaultLib;
12
- readonly fundDeployer: FundDeployer;
13
- readonly policyManager: PolicyManager;
14
- readonly aavePriceFeed: AavePriceFeed;
15
- readonly compoundDebtPositionLib: CompoundDebtPositionLib;
16
- readonly compoundDebtPositionParser: CompoundDebtPositionParser;
17
- readonly compoundPriceFeed: CompoundPriceFeed;
18
- readonly curvePriceFeed: CurvePriceFeed;
19
- readonly idlePriceFeed: IdlePriceFeed;
20
- readonly lidoStethPriceFeed: LidoStethPriceFeed;
21
- readonly revertingPriceFeed: RevertingPriceFeed;
22
- readonly synthetixPriceFeed: SynthetixPriceFeed;
23
- readonly stakehoundEthPriceFeed: StakehoundEthPriceFeed;
24
- readonly wdgldPriceFeed: WdgldPriceFeed;
25
- readonly yearnVaultV2PriceFeed: YearnVaultV2PriceFeed;
26
- readonly valueInterpreter: ValueInterpreter;
27
- readonly uniswapV2PoolPriceFeed: UniswapV2PoolPriceFeed;
28
- readonly integrationManager: IntegrationManager;
29
- readonly externalPositionManager: ExternalPositionManager;
30
- readonly externalPositionFactory: ExternalPositionFactory;
31
- readonly curveLiquidityAaveAdapter: CurveLiquidityAaveAdapter;
32
- readonly curveLiquidityEursAdapter: CurveLiquidityEursAdapter;
33
- readonly curveLiquiditySethAdapter: CurveLiquiditySethAdapter;
34
- 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;
47
- readonly entranceRateBurnFee: EntranceRateBurnFee;
48
- readonly entranceRateDirectFee: EntranceRateDirectFee;
49
- readonly exitRateBurnFee: ExitRateBurnFee;
50
- readonly exitRateDirectFee: ExitRateDirectFee;
51
- readonly managementFee: ManagementFee;
52
- readonly performanceFee: PerformanceFee;
53
- readonly depositWrapper: DepositWrapper;
54
- readonly unpermissionedActionsWrapper: UnpermissionedActionsWrapper;
55
- readonly allowedAdapterIncomingAssetsPolicy: AllowedAdapterIncomingAssetsPolicy;
56
- readonly minMaxInvestmentPolicy: MinMaxInvestmentPolicy;
57
- readonly allowedDepositRecipientsPolicy: AllowedDepositRecipientsPolicy;
58
- readonly guaranteedRedemptionPolicy: GuaranteedRedemptionPolicy;
59
- readonly globalConfigLib: GlobalConfigLib;
60
- readonly globalConfigProxy: GlobalConfigLib;
61
- readonly assetFinalityResolver: AssetFinalityResolver;
62
- readonly protocolFeeReserveLib: ProtocolFeeReserveLib;
63
- readonly protocolFeeReserveProxy: ProtocolFeeReserveLib;
64
- readonly protocolFeeTracker: ProtocolFeeTracker;
65
- readonly gasRelayPaymasterFactory: GasRelayPaymasterFactory;
66
- };
67
- readonly accounts: SignerWithAddress[];
68
- readonly config: DeploymentConfig;
69
- }>;
70
- declare type Resolve<T extends () => any> = ReturnType<T> extends Promise<infer U> ? U : ReturnType<T>;
71
- declare type ContractMap = Record<string, Contract>;
72
- export interface DeploymentFixtureWithoutConfig<T extends ContractMap> {
73
- deployer: SignerWithAddress;
74
- deployment: T;
75
- accounts: SignerWithAddress[];
76
- }
77
- export interface DeploymentFixtureWithConfig<T extends ContractMap> extends DeploymentFixtureWithoutConfig<T> {
78
- config: DeploymentConfig;
79
- }
80
- export declare type ProtocolDeployment = Resolve<typeof deployProtocolFixture>;
81
- export declare function defaultTestDeployment(_: any): Promise<any>;
82
- export {};
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[]>;
4
+ export declare function deployProtocolFixture(): Promise<{
5
+ readonly accounts: import("@enzymefinance/hardhat").SignerWithAddress[];
6
+ readonly config: DeploymentConfig;
7
+ readonly deployer: import("@enzymefinance/hardhat").SignerWithAddress;
8
+ readonly deployment: {
9
+ readonly aaveAdapter: AaveAdapter;
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;
20
+ readonly compoundDebtPositionLib: CompoundDebtPositionLib;
21
+ readonly compoundDebtPositionParser: CompoundDebtPositionParser;
22
+ readonly compoundPriceFeed: CompoundPriceFeed;
23
+ readonly comptrollerLib: ComptrollerLib;
24
+ readonly cumulativeSlippageTolerancePolicy: CumulativeSlippageTolerancePolicy;
25
+ readonly curveExchangeAdapter: CurveExchangeAdapter;
26
+ readonly curveLiquidityAaveAdapter: CurveLiquidityAaveAdapter;
27
+ readonly curveLiquidityEursAdapter: CurveLiquidityEursAdapter;
28
+ readonly curveLiquiditySethAdapter: CurveLiquiditySethAdapter;
29
+ readonly curveLiquidityStethAdapter: CurveLiquidityStethAdapter;
30
+ readonly curvePriceFeed: CurvePriceFeed;
31
+ readonly depositWrapper: DepositWrapper;
32
+ readonly dispatcher: Dispatcher;
33
+ readonly entranceRateBurnFee: EntranceRateBurnFee;
34
+ readonly entranceRateDirectFee: EntranceRateDirectFee;
35
+ readonly exitRateBurnFee: ExitRateBurnFee;
36
+ readonly exitRateDirectFee: ExitRateDirectFee;
37
+ readonly externalPositionFactory: ExternalPositionFactory;
38
+ readonly externalPositionManager: ExternalPositionManager;
39
+ readonly feeManager: FeeManager;
40
+ readonly fundDeployer: FundDeployer;
41
+ readonly fundValueCalculator: FundValueCalculator;
42
+ readonly fundValueCalculatorRouter: FundValueCalculatorRouter;
43
+ readonly fundValueCalculatorUsdWrapper: FundValueCalculatorUsdWrapper;
44
+ readonly gasRelayPaymasterFactory: GasRelayPaymasterFactory;
45
+ readonly guaranteedRedemptionPolicy: GuaranteedRedemptionPolicy;
46
+ readonly idleAdapter: IdleAdapter;
47
+ readonly idlePriceFeed: IdlePriceFeed;
48
+ readonly integrationManager: IntegrationManager;
49
+ readonly lidoStethPriceFeed: LidoStethPriceFeed;
50
+ readonly managementFee: ManagementFee;
51
+ readonly minAssetBalancesPostRedemptionPolicy: MinAssetBalancesPostRedemptionPolicy;
52
+ readonly minMaxInvestmentPolicy: MinMaxInvestmentPolicy;
53
+ readonly onlyRemoveDustExternalPositionPolicy: OnlyRemoveDustExternalPositionPolicy;
54
+ readonly onlyUntrackDustOrPricelessAssetsPolicy: OnlyUntrackDustOrPricelessAssetsPolicy;
55
+ readonly paraSwapV4Adapter: ParaSwapV4Adapter;
56
+ readonly paraSwapV5Adapter: ParaSwapV5Adapter;
57
+ readonly performanceFee: PerformanceFee;
58
+ readonly policyManager: PolicyManager;
59
+ readonly poolTogetherV4Adapter: PoolTogetherV4Adapter;
60
+ readonly poolTogetherV4PriceFeed: PoolTogetherV4PriceFeed;
61
+ readonly protocolFeeReserveLib: ProtocolFeeReserveLib;
62
+ readonly protocolFeeReserveProxy: ProtocolFeeReserveLib;
63
+ readonly protocolFeeTracker: ProtocolFeeTracker;
64
+ readonly revertingPriceFeed: RevertingPriceFeed;
65
+ readonly stakehoundEthPriceFeed: StakehoundEthPriceFeed;
66
+ readonly synthetixAdapter: SynthetixAdapter;
67
+ readonly synthetixPriceFeed: SynthetixPriceFeed;
68
+ readonly uniswapV2ExchangeAdapter: UniswapV2ExchangeAdapter;
69
+ readonly uniswapV2LiquidityAdapter: UniswapV2LiquidityAdapter;
70
+ readonly uniswapV2PoolPriceFeed: UniswapV2PoolPriceFeed;
71
+ readonly uniswapV3Adapter: UniswapV3Adapter;
72
+ readonly unpermissionedActionsWrapper: UnpermissionedActionsWrapper;
73
+ readonly valueInterpreter: ValueInterpreter;
74
+ readonly vaultLib: VaultLib;
75
+ readonly yearnVaultV2Adapter: YearnVaultV2Adapter;
76
+ readonly yearnVaultV2PriceFeed: YearnVaultV2PriceFeed;
77
+ readonly zeroExV2Adapter: ZeroExV2Adapter;
78
+ };
79
+ }>;
80
+ declare type Resolve<T extends () => any> = ReturnType<T> extends Promise<infer U> ? U : ReturnType<T>;
81
+ export declare type ProtocolDeployment = Resolve<typeof deployProtocolFixture>;
82
+ import type { ChainlinkRateAsset } from '@enzymefinance/protocol';
83
+ export interface DeploymentConfig {
84
+ feeToken: string;
85
+ weth: string;
86
+ wrappedNativeAsset: string;
87
+ primitives: Record<string, string>;
88
+ gsn: {
89
+ relayHub: string;
90
+ relayWorker: string;
91
+ trustedForwarder: string;
92
+ };
93
+ chainlink: {
94
+ ethusd: string;
95
+ aggregators: Record<string, readonly [string, ChainlinkRateAsset]>;
96
+ };
97
+ synthetix: {
98
+ snx: string;
99
+ susd: string;
100
+ synths: Record<string, string>;
101
+ addressResolver: string;
102
+ delegateApprovals: string;
103
+ originator: string;
104
+ redeemer: string;
105
+ trackingCode: string;
106
+ };
107
+ curve: {
108
+ addressProvider: string;
109
+ minter: string;
110
+ pools: Record<string, {
111
+ pool: string;
112
+ lpToken: string;
113
+ liquidityGaugeToken: string;
114
+ invariantProxyAsset: string;
115
+ }>;
116
+ };
117
+ aave: {
118
+ lendingPoolAddressProvider: string;
119
+ protocolDataProvider: string;
120
+ atokens: Record<string, [string, string]>;
121
+ };
122
+ compound: {
123
+ ceth: string;
124
+ comptroller: string;
125
+ ctokens: Record<string, string>;
126
+ };
127
+ idle: {
128
+ bestYieldIdleDai: string;
129
+ bestYieldIdleUsdc: string;
130
+ bestYieldIdleUsdt: string;
131
+ bestYieldIdleSusd: string;
132
+ bestYieldIdleTusd: string;
133
+ bestYieldIdleWbtc: string;
134
+ riskAdjustedIdleDai: string;
135
+ riskAdjustedIdleUsdc: string;
136
+ riskAdjustedIdleUsdt: string;
137
+ };
138
+ lido: {
139
+ steth: string;
140
+ };
141
+ paraSwapV4: {
142
+ augustusSwapper: string;
143
+ tokenTransferProxy: string;
144
+ };
145
+ paraSwapV5: {
146
+ augustusSwapper: string;
147
+ tokenTransferProxy: string;
148
+ };
149
+ poolTogetherV4: {
150
+ ptTokens: Record<string, [string, string]>;
151
+ };
152
+ stakehound: {
153
+ steth: string;
154
+ };
155
+ unsupportedAssets: Record<string, string>;
156
+ uniswap: {
157
+ factory: string;
158
+ router: string;
159
+ pools: Record<string, string>;
160
+ };
161
+ uniswapV3: {
162
+ router: string;
163
+ nonFungiblePositionManager: string;
164
+ };
165
+ yearn: {
166
+ vaultV2: {
167
+ registry: string;
168
+ yVaults: Record<string, string>;
169
+ };
170
+ };
171
+ zeroex: {
172
+ exchange: string;
173
+ allowedMakers: string[];
174
+ };
175
+ policies: {
176
+ guaranteedRedemption: {
177
+ redemptionWindowBuffer: number;
178
+ };
179
+ };
180
+ }
181
+ export {};
@@ -1,54 +1,56 @@
1
- import { BigNumberish, utils } from 'ethers';
2
- import { ContractReceipt } from '@enzymefinance/ethers';
3
- import { IGsnRelayHub, CreateSignedRelayRequestOptions } from '@enzymefinance/protocol';
4
- export interface RelayTransactionOptions extends CreateSignedRelayRequestOptions {
5
- relayHub: string;
6
- }
7
- export declare function relayTransaction(options: RelayTransactionOptions): Promise<ContractReceipt<import("@enzymefinance/ethers").SendFunction<[maxAcceptanceBudget: BigNumberish, relayRequest: {
8
- request: {
9
- from: import("@enzymefinance/ethers").AddressLike;
10
- to: import("@enzymefinance/ethers").AddressLike;
11
- value: BigNumberish;
12
- gas: BigNumberish;
13
- nonce: BigNumberish;
14
- data: utils.BytesLike;
15
- validUntil: BigNumberish;
16
- };
17
- relayData: {
18
- gasPrice: BigNumberish;
19
- pctRelayFee: BigNumberish;
20
- baseRelayFee: BigNumberish;
21
- relayWorker: import("@enzymefinance/ethers").AddressLike;
22
- paymaster: import("@enzymefinance/ethers").AddressLike;
23
- forwarder: import("@enzymefinance/ethers").AddressLike;
24
- paymasterData: utils.BytesLike;
25
- clientId: BigNumberish;
26
- };
27
- }, signature: utils.BytesLike, approvalData: utils.BytesLike, externalGasLimit: BigNumberish], {
28
- paymasterAccepted: boolean;
29
- returnValue: string;
30
- }, IGsnRelayHub>>>;
31
- export declare function assertDidRelay(receipt: ContractReceipt<any>): {
32
- relayManager: any;
33
- relayWorker: any;
34
- from: any;
35
- to: any;
36
- paymaster: any;
37
- selector: any;
38
- status: any;
39
- charge: any;
40
- };
41
- export declare function assertDidRelaySuccessfully(receipt: ContractReceipt<any>): void;
42
- export declare function assertDidRelayWithError(receipt: ContractReceipt<any>): void;
43
- export declare function assertDidRelayWithCharge(receipt: ContractReceipt<any>, amount: BigNumberish, tolerance?: BigNumberish): void;
44
- export declare function assertPaymasterDidReject(receipt: ContractReceipt<any>): {
45
- relayManager: any;
46
- paymaster: any;
47
- from: any;
48
- to: any;
49
- relayWorker: any;
50
- selector: any;
51
- innerGasUsed: any;
52
- reason: any;
53
- };
54
- export declare function assertPaymasterDidRejectForReason(receipt: ContractReceipt<any>, reason: string): void;
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';
6
+ export interface RelayTransactionOptions extends CreateSignedRelayRequestOptions {
7
+ relayHub: string;
8
+ }
9
+ export declare function relayTransaction(options: RelayTransactionOptions): Promise<ContractReceipt<import("@enzymefinance/ethers").SendFunction<[maxAcceptanceBudget: BigNumberish, relayRequest: {
10
+ request: {
11
+ from: import("@enzymefinance/ethers").AddressLike;
12
+ to: import("@enzymefinance/ethers").AddressLike;
13
+ value: BigNumberish;
14
+ gas: BigNumberish;
15
+ nonce: BigNumberish;
16
+ data: utils.BytesLike;
17
+ validUntil: BigNumberish;
18
+ };
19
+ relayData: {
20
+ gasPrice: BigNumberish;
21
+ pctRelayFee: BigNumberish;
22
+ baseRelayFee: BigNumberish;
23
+ relayWorker: import("@enzymefinance/ethers").AddressLike;
24
+ paymaster: import("@enzymefinance/ethers").AddressLike;
25
+ forwarder: import("@enzymefinance/ethers").AddressLike;
26
+ paymasterData: utils.BytesLike;
27
+ clientId: BigNumberish;
28
+ };
29
+ }, signature: utils.BytesLike, approvalData: utils.BytesLike, externalGasLimit: BigNumberish], {
30
+ paymasterAccepted: boolean;
31
+ returnValue: string;
32
+ }, IGsnRelayHub>>>;
33
+ export declare function assertDidRelay(receipt: ContractReceipt<any>): {
34
+ charge: any;
35
+ from: any;
36
+ paymaster: any;
37
+ relayManager: any;
38
+ relayWorker: any;
39
+ selector: any;
40
+ status: any;
41
+ to: any;
42
+ };
43
+ export declare function assertDidRelaySuccessfully(receipt: ContractReceipt<any>): void;
44
+ export declare function assertDidRelayWithError(receipt: ContractReceipt<any>): void;
45
+ export declare function assertDidRelayWithCharge(receipt: ContractReceipt<any>, amount: BigNumberish, tolerance?: BigNumberish): void;
46
+ export declare function assertPaymasterDidReject(receipt: ContractReceipt<any>): {
47
+ from: any;
48
+ innerGasUsed: any;
49
+ paymaster: any;
50
+ reason: any;
51
+ relayManager: any;
52
+ relayWorker: any;
53
+ selector: any;
54
+ to: any;
55
+ };
56
+ export declare function assertPaymasterDidRejectForReason(receipt: ContractReceipt<any>, reason: string): void;
@@ -1,15 +1,16 @@
1
- import { AddressLike, ContractReceipt } from '@enzymefinance/ethers';
2
- import { BigNumber, BigNumberish } from 'ethers';
3
- import { ValueInterpreter } from '@enzymefinance/protocol';
4
- export declare function transactionTimestamp(receipt: ContractReceipt<any>): Promise<number>;
5
- export declare function calcMlnValueAndBurnAmountForSharesBuyback({ valueInterpreter, mln, denominationAsset, sharesSupply, gav, buybackSharesAmount, }: {
6
- valueInterpreter: ValueInterpreter;
7
- mln: AddressLike;
8
- denominationAsset: AddressLike;
9
- sharesSupply: BigNumberish;
10
- gav: BigNumberish;
11
- buybackSharesAmount: BigNumberish;
12
- }): Promise<{
13
- mlnValue: BigNumber;
14
- mlnAmountToBurn: BigNumber;
15
- }>;
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';
5
+ export declare function transactionTimestamp(receipt: ContractReceipt<any>): Promise<number>;
6
+ export declare function calcMlnValueAndBurnAmountForSharesBuyback({ valueInterpreter, mln, denominationAsset, sharesSupply, gav, buybackSharesAmount, }: {
7
+ valueInterpreter: ValueInterpreter;
8
+ mln: AddressLike;
9
+ denominationAsset: AddressLike;
10
+ sharesSupply: BigNumberish;
11
+ gav: BigNumberish;
12
+ buybackSharesAmount: BigNumberish;
13
+ }): Promise<{
14
+ mlnAmountToBurn: BigNumber;
15
+ mlnValue: BigNumber;
16
+ }>;
@@ -1,6 +1,6 @@
1
- export * from './deployment';
2
- export * from './scaffolding';
3
- export * from './assertions';
4
- export * from './helpers';
5
- export * from './whales';
6
- export * from './gasRelayer';
1
+ export * from './deployment';
2
+ export * from './scaffolding';
3
+ export * from './assertions';
4
+ export * from './helpers';
5
+ export * from './whales';
6
+ export * from './gasRelayer';
@@ -1,10 +1,10 @@
1
- import { SignerWithAddress } from '@enzymefinance/hardhat';
2
- import { ComptrollerLib, IntegrationManager, StandardToken } from '@enzymefinance/protocol';
3
- import { BigNumberish } from 'ethers';
4
- export declare function addNewAssetsToFund({ signer, comptrollerProxy, integrationManager, assets, amounts, }: {
5
- signer: SignerWithAddress;
6
- comptrollerProxy: ComptrollerLib;
7
- integrationManager: IntegrationManager;
8
- assets: StandardToken[];
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>>>;
1
+ import type { SignerWithAddress } from '@enzymefinance/hardhat';
2
+ import type { ComptrollerLib, IntegrationManager, StandardToken } from '@enzymefinance/protocol';
3
+ import type { BigNumberish } from 'ethers';
4
+ export declare function addNewAssetsToFund({ signer, comptrollerProxy, integrationManager, assets, amounts, }: {
5
+ signer: SignerWithAddress;
6
+ comptrollerProxy: ComptrollerLib;
7
+ integrationManager: IntegrationManager;
8
+ assets: StandardToken[];
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>>>;
@@ -1,3 +1,3 @@
1
- import { BigNumberish } from 'ethers';
2
- import { MockChainlinkPriceSource } from '@enzymefinance/protocol';
3
- export declare function updateChainlinkAggregator(aggregator: MockChainlinkPriceSource, price?: BigNumberish): Promise<void>;
1
+ import type { MockChainlinkPriceSource } from '@enzymefinance/protocol';
2
+ import type { BigNumberish } from 'ethers';
3
+ export declare function updateChainlinkAggregator(aggregator: MockChainlinkPriceSource, price?: BigNumberish): Promise<void>;
@@ -1,7 +1,7 @@
1
- import { AddressLike } from '@enzymefinance/ethers';
2
- import { StandardToken } from '@enzymefinance/protocol';
3
- export declare function getAssetBalances({ account, assets }: {
4
- account: AddressLike;
5
- assets: AddressLike[];
6
- }): Promise<import("ethers").BigNumber[]>;
7
- export declare function getAssetUnit(asset: StandardToken): Promise<import("@ethersproject/bignumber").BigNumber>;
1
+ import type { AddressLike } from '@enzymefinance/ethers';
2
+ import { StandardToken } from '@enzymefinance/protocol';
3
+ export declare function getAssetBalances({ account, assets }: {
4
+ account: AddressLike;
5
+ assets: AddressLike[];
6
+ }): Promise<import("ethers").BigNumber[]>;
7
+ export declare function getAssetUnit(asset: StandardToken): Promise<import("ethers").BigNumber>;
@@ -1,16 +1,17 @@
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, }: {
4
- deployer: Signer;
5
- assetFinalityResolver: AssetFinalityResolver;
6
- externalPositionManager: ExternalPositionManager;
7
- dispatcher: Dispatcher;
8
- feeManager: FeeManager;
9
- gasRelayPaymasterFactory: GasRelayPaymasterFactory;
10
- integrationManager: IntegrationManager;
11
- policyManager: PolicyManager;
12
- valueInterpreter: ValueInterpreter;
13
- vaultLib: VaultLib;
14
- setOnDispatcher?: boolean;
15
- setReleaseLive?: boolean;
16
- }): Promise<FundDeployer>;
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, }: {
5
+ deployer: Signer;
6
+ assetFinalityResolver: AssetFinalityResolver;
7
+ externalPositionManager: ExternalPositionManager;
8
+ dispatcher: Dispatcher;
9
+ feeManager: FeeManager;
10
+ gasRelayPaymasterFactory: GasRelayPaymasterFactory;
11
+ integrationManager: IntegrationManager;
12
+ policyManager: PolicyManager;
13
+ valueInterpreter: ValueInterpreter;
14
+ vaultLib: VaultLib;
15
+ setOnDispatcher?: boolean;
16
+ setReleaseLive?: boolean;
17
+ }): Promise<FundDeployer>;
@@ -1,11 +1,11 @@
1
- import { AddressLike } from '@enzymefinance/ethers';
2
- import { SignerWithAddress } from '@enzymefinance/hardhat';
3
- import { ComptrollerLib } from '@enzymefinance/protocol';
4
- import { BigNumberish, BytesLike } from 'ethers';
5
- export declare function callOnExtension({ comptrollerProxy, extension, actionId, callArgs, signer, }: {
6
- comptrollerProxy: ComptrollerLib;
7
- extension: AddressLike;
8
- actionId: BigNumberish;
9
- callArgs?: BytesLike;
10
- signer?: SignerWithAddress;
11
- }): Promise<any>;
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
+ export declare function callOnExtension({ comptrollerProxy, extension, actionId, callArgs, signer, }: {
6
+ comptrollerProxy: ComptrollerLib;
7
+ extension: AddressLike;
8
+ actionId: BigNumberish;
9
+ callArgs?: BytesLike;
10
+ signer?: SignerWithAddress;
11
+ }): Promise<any>;
@@ -0,0 +1,35 @@
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>>>;
14
+ export declare function createExternalPosition({ signer, comptrollerProxy, externalPositionManager, externalPositionTypeId, initializationData, }: {
15
+ signer: SignerWithAddress;
16
+ comptrollerProxy: ComptrollerLib;
17
+ externalPositionManager: ExternalPositionManager;
18
+ externalPositionTypeId: BigNumberish;
19
+ initializationData?: BytesLike;
20
+ }): Promise<{
21
+ externalPositionProxy: IExternalPositionProxy;
22
+ receipt: import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>;
23
+ }>;
24
+ export declare function reactivateExternalPosition({ signer, comptrollerProxy, externalPositionManager, externalPositionProxy, }: {
25
+ signer: SignerWithAddress;
26
+ comptrollerProxy: ComptrollerLib;
27
+ externalPositionManager: ExternalPositionManager;
28
+ externalPositionProxy: AddressLike;
29
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>>;
30
+ export declare function removeExternalPosition({ signer, comptrollerProxy, externalPositionManager, externalPositionProxy, }: {
31
+ signer: SignerWithAddress;
32
+ comptrollerProxy: ComptrollerLib;
33
+ externalPositionManager: ExternalPositionManager;
34
+ externalPositionProxy: AddressLike;
35
+ }): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>>;