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

Sign up to get free protection for your applications and to get access to all the features.
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>>>;