@enzymefinance/testutils 4.0.0-next.6 → 4.0.1

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 (92) hide show
  1. package/dist/index.d.ts +1548 -0
  2. package/dist/index.js +3352 -0
  3. package/dist/index.mjs +3352 -0
  4. package/package.json +74 -11
  5. package/CHANGELOG.md +0 -52
  6. package/dist/declarations/src/assertions.d.ts +0 -4
  7. package/dist/declarations/src/deployment.d.ts +0 -192
  8. package/dist/declarations/src/gasRelayer.d.ts +0 -56
  9. package/dist/declarations/src/helpers.d.ts +0 -16
  10. package/dist/declarations/src/index.d.ts +0 -6
  11. package/dist/declarations/src/scaffolding/assets.d.ts +0 -10
  12. package/dist/declarations/src/scaffolding/chainlink.d.ts +0 -3
  13. package/dist/declarations/src/scaffolding/common.d.ts +0 -7
  14. package/dist/declarations/src/scaffolding/core.d.ts +0 -17
  15. package/dist/declarations/src/scaffolding/extensions/common.d.ts +0 -11
  16. package/dist/declarations/src/scaffolding/extensions/external-positions/actions.d.ts +0 -35
  17. package/dist/declarations/src/scaffolding/extensions/external-positions/compound.d.ts +0 -56
  18. package/dist/declarations/src/scaffolding/extensions/external-positions/index.d.ts +0 -4
  19. package/dist/declarations/src/scaffolding/extensions/external-positions/mocks.d.ts +0 -53
  20. package/dist/declarations/src/scaffolding/extensions/external-positions/uniswap-v3-liquidity.d.ts +0 -99
  21. package/dist/declarations/src/scaffolding/extensions/fees.d.ts +0 -12
  22. package/dist/declarations/src/scaffolding/extensions/index.d.ts +0 -5
  23. package/dist/declarations/src/scaffolding/extensions/integrations/aave.d.ts +0 -20
  24. package/dist/declarations/src/scaffolding/extensions/integrations/compound.d.ts +0 -28
  25. package/dist/declarations/src/scaffolding/extensions/integrations/curve.d.ts +0 -346
  26. package/dist/declarations/src/scaffolding/extensions/integrations/idle.d.ts +0 -28
  27. package/dist/declarations/src/scaffolding/extensions/integrations/index.d.ts +0 -15
  28. package/dist/declarations/src/scaffolding/extensions/integrations/mock.d.ts +0 -32
  29. package/dist/declarations/src/scaffolding/extensions/integrations/olympusV2.d.ts +0 -17
  30. package/dist/declarations/src/scaffolding/extensions/integrations/paraSwapV4.d.ts +0 -23
  31. package/dist/declarations/src/scaffolding/extensions/integrations/paraSwapV5.d.ts +0 -23
  32. package/dist/declarations/src/scaffolding/extensions/integrations/poolTogetherV4.d.ts +0 -29
  33. package/dist/declarations/src/scaffolding/extensions/integrations/synthetix.d.ts +0 -33
  34. package/dist/declarations/src/scaffolding/extensions/integrations/trackedAssets.d.ts +0 -15
  35. package/dist/declarations/src/scaffolding/extensions/integrations/uniswapV2.d.ts +0 -46
  36. package/dist/declarations/src/scaffolding/extensions/integrations/uniswapV3.d.ts +0 -15
  37. package/dist/declarations/src/scaffolding/extensions/integrations/yearn.d.ts +0 -22
  38. package/dist/declarations/src/scaffolding/extensions/integrations/zeroExV2.d.ts +0 -12
  39. package/dist/declarations/src/scaffolding/extensions/policies.d.ts +0 -17
  40. package/dist/declarations/src/scaffolding/index.d.ts +0 -8
  41. package/dist/declarations/src/scaffolding/setup.d.ts +0 -77
  42. package/dist/declarations/src/scaffolding/shares.d.ts +0 -35
  43. package/dist/declarations/src/scaffolding/vaultCalls.d.ts +0 -32
  44. package/dist/declarations/src/whales.d.ts +0 -46
  45. package/dist/enzymefinance-testutils.browser.cjs.js +0 -4369
  46. package/dist/enzymefinance-testutils.browser.esm.js +0 -4217
  47. package/dist/enzymefinance-testutils.cjs.d.ts +0 -1
  48. package/dist/enzymefinance-testutils.cjs.dev.js +0 -4369
  49. package/dist/enzymefinance-testutils.cjs.js +0 -7
  50. package/dist/enzymefinance-testutils.cjs.prod.js +0 -4369
  51. package/dist/enzymefinance-testutils.esm.js +0 -4217
  52. package/src/assertions.ts +0 -23
  53. package/src/deployment.ts +0 -285
  54. package/src/gasRelayer.ts +0 -95
  55. package/src/helpers.ts +0 -39
  56. package/src/index.ts +0 -6
  57. package/src/scaffolding/assets.ts +0 -37
  58. package/src/scaffolding/chainlink.ts +0 -8
  59. package/src/scaffolding/common.ts +0 -11
  60. package/src/scaffolding/core.ts +0 -111
  61. package/src/scaffolding/extensions/common.ts +0 -30
  62. package/src/scaffolding/extensions/external-positions/actions.ts +0 -103
  63. package/src/scaffolding/extensions/external-positions/compound.ts +0 -190
  64. package/src/scaffolding/extensions/external-positions/index.ts +0 -4
  65. package/src/scaffolding/extensions/external-positions/mocks.ts +0 -194
  66. package/src/scaffolding/extensions/external-positions/uniswap-v3-liquidity.ts +0 -290
  67. package/src/scaffolding/extensions/fees.ts +0 -70
  68. package/src/scaffolding/extensions/index.ts +0 -5
  69. package/src/scaffolding/extensions/integrations/aave.ts +0 -78
  70. package/src/scaffolding/extensions/integrations/compound.ts +0 -94
  71. package/src/scaffolding/extensions/integrations/curve.ts +0 -1246
  72. package/src/scaffolding/extensions/integrations/idle.ts +0 -104
  73. package/src/scaffolding/extensions/integrations/index.ts +0 -15
  74. package/src/scaffolding/extensions/integrations/mock.ts +0 -116
  75. package/src/scaffolding/extensions/integrations/olympusV2.ts +0 -71
  76. package/src/scaffolding/extensions/integrations/paraSwapV4.ts +0 -70
  77. package/src/scaffolding/extensions/integrations/paraSwapV5.ts +0 -73
  78. package/src/scaffolding/extensions/integrations/poolTogetherV4.ts +0 -117
  79. package/src/scaffolding/extensions/integrations/synthetix.ts +0 -130
  80. package/src/scaffolding/extensions/integrations/trackedAssets.ts +0 -48
  81. package/src/scaffolding/extensions/integrations/uniswapV2.ts +0 -175
  82. package/src/scaffolding/extensions/integrations/uniswapV3.ts +0 -55
  83. package/src/scaffolding/extensions/integrations/yearn.ts +0 -79
  84. package/src/scaffolding/extensions/integrations/zeroExV2.ts +0 -47
  85. package/src/scaffolding/extensions/policies.ts +0 -112
  86. package/src/scaffolding/index.ts +0 -8
  87. package/src/scaffolding/setup.ts +0 -243
  88. package/src/scaffolding/shares.ts +0 -80
  89. package/src/scaffolding/vaultCalls.ts +0 -105
  90. package/src/types.d.ts +0 -1
  91. package/src/whales.ts +0 -77
  92. package/tsconfig.json +0 -5
@@ -1,103 +0,0 @@
1
- import type { AddressLike } from '@enzymefinance/ethers';
2
- import { extractEvent } from '@enzymefinance/ethers';
3
- import type { SignerWithAddress } from '@enzymefinance/hardhat';
4
- import type { ComptrollerLib, ExternalPositionManager } from '@enzymefinance/protocol';
5
- import {
6
- callOnExternalPositionArgs,
7
- encodeArgs,
8
- ExternalPositionManagerActionId,
9
- externalPositionReactivateArgs,
10
- externalPositionRemoveArgs,
11
- IExternalPositionProxy,
12
- } from '@enzymefinance/protocol';
13
- import type { BigNumberish, BytesLike } from 'ethers';
14
-
15
- export async function callOnExternalPosition({
16
- signer,
17
- comptrollerProxy,
18
- externalPositionManager,
19
- externalPositionProxy,
20
- actionId,
21
- actionArgs,
22
- }: {
23
- signer: SignerWithAddress;
24
- comptrollerProxy: ComptrollerLib;
25
- externalPositionManager: ExternalPositionManager;
26
- externalPositionProxy: AddressLike;
27
- actionId: BigNumberish;
28
- actionArgs: BytesLike;
29
- }) {
30
- const callArgs = callOnExternalPositionArgs({
31
- actionArgs,
32
- actionId,
33
- externalPositionProxy,
34
- });
35
-
36
- return comptrollerProxy
37
- .connect(signer)
38
- .callOnExtension(externalPositionManager, ExternalPositionManagerActionId.CallOnExternalPosition, callArgs);
39
- }
40
-
41
- export async function createExternalPosition({
42
- signer,
43
- comptrollerProxy,
44
- externalPositionManager,
45
- externalPositionTypeId,
46
- initializationData = '0x',
47
- }: {
48
- signer: SignerWithAddress;
49
- comptrollerProxy: ComptrollerLib;
50
- externalPositionManager: ExternalPositionManager;
51
- externalPositionTypeId: BigNumberish;
52
- initializationData?: BytesLike;
53
- }) {
54
- const receipt = await comptrollerProxy
55
- .connect(signer)
56
- .callOnExtension(
57
- externalPositionManager,
58
- ExternalPositionManagerActionId.CreateExternalPosition,
59
- encodeArgs(['uint256', 'bytes'], [externalPositionTypeId, initializationData]),
60
- );
61
-
62
- const event = extractEvent(receipt, externalPositionManager.abi.getEvent('ExternalPositionDeployedForFund'));
63
-
64
- const externalPositionProxy = new IExternalPositionProxy(event[0].args.externalPosition, signer);
65
-
66
- return { externalPositionProxy, receipt };
67
- }
68
-
69
- export async function reactivateExternalPosition({
70
- signer,
71
- comptrollerProxy,
72
- externalPositionManager,
73
- externalPositionProxy,
74
- }: {
75
- signer: SignerWithAddress;
76
- comptrollerProxy: ComptrollerLib;
77
- externalPositionManager: ExternalPositionManager;
78
- externalPositionProxy: AddressLike;
79
- }) {
80
- const callArgs = externalPositionReactivateArgs({ externalPositionProxy });
81
-
82
- return comptrollerProxy
83
- .connect(signer)
84
- .callOnExtension(externalPositionManager, ExternalPositionManagerActionId.ReactivateExternalPosition, callArgs);
85
- }
86
-
87
- export async function removeExternalPosition({
88
- signer,
89
- comptrollerProxy,
90
- externalPositionManager,
91
- externalPositionProxy,
92
- }: {
93
- signer: SignerWithAddress;
94
- comptrollerProxy: ComptrollerLib;
95
- externalPositionManager: ExternalPositionManager;
96
- externalPositionProxy: AddressLike;
97
- }) {
98
- const callArgs = externalPositionRemoveArgs({ externalPositionProxy });
99
-
100
- return comptrollerProxy
101
- .connect(signer)
102
- .callOnExtension(externalPositionManager, ExternalPositionManagerActionId.RemoveExternalPosition, callArgs);
103
- }
@@ -1,190 +0,0 @@
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 {
5
- CompoundDebtPositionActionId,
6
- compoundExternalPositionActionArgs,
7
- encodeArgs,
8
- ExternalPositionType,
9
- } from '@enzymefinance/protocol';
10
- import type { BigNumberish } from 'ethers';
11
-
12
- import { callOnExternalPosition, createExternalPosition } from './actions';
13
-
14
- export async function compoundDebtPositionAddCollateral({
15
- comptrollerProxy,
16
- externalPositionManager,
17
- fundOwner,
18
- assets,
19
- amounts,
20
- externalPositionProxy,
21
- cTokens,
22
- }: {
23
- comptrollerProxy: ComptrollerLib;
24
- externalPositionManager: ExternalPositionManager;
25
- fundOwner: SignerWithAddress;
26
- assets: AddressLike[];
27
- cTokens: AddressLike[];
28
- amounts: BigNumberish[];
29
- externalPositionProxy: AddressLike;
30
- }) {
31
- const actionArgs = compoundExternalPositionActionArgs({
32
- amounts,
33
- assets,
34
- data: encodeArgs(['address[]'], [cTokens]),
35
- });
36
-
37
- return callOnExternalPosition({
38
- actionArgs,
39
- actionId: CompoundDebtPositionActionId.AddCollateralAssets,
40
- comptrollerProxy,
41
- externalPositionManager,
42
- externalPositionProxy,
43
- signer: fundOwner,
44
- });
45
- }
46
-
47
- export async function compoundDebtPositionBorrow({
48
- comptrollerProxy,
49
- externalPositionManager,
50
- fundOwner,
51
- externalPositionProxy,
52
- assets,
53
- amounts,
54
- cTokens,
55
- }: {
56
- comptrollerProxy: ComptrollerLib;
57
- vaultProxy: VaultLib;
58
- externalPositionManager: ExternalPositionManager;
59
- fundOwner: SignerWithAddress;
60
- externalPositionProxy: AddressLike;
61
- assets: AddressLike[];
62
- amounts: BigNumberish[];
63
- cTokens: AddressLike[];
64
- }) {
65
- const actionArgs = compoundExternalPositionActionArgs({
66
- amounts,
67
- assets,
68
- data: encodeArgs(['address[]'], [cTokens]),
69
- });
70
-
71
- return callOnExternalPosition({
72
- actionArgs,
73
- actionId: CompoundDebtPositionActionId.BorrowAsset,
74
- comptrollerProxy,
75
- externalPositionManager,
76
- externalPositionProxy,
77
- signer: fundOwner,
78
- });
79
- }
80
-
81
- export async function compoundDebtPositionClaimComp({
82
- comptrollerProxy,
83
- externalPositionManager,
84
- fundOwner,
85
- externalPositionProxy,
86
- }: {
87
- comptrollerProxy: ComptrollerLib;
88
- vaultProxy: VaultLib;
89
- externalPositionManager: ExternalPositionManager;
90
- fundOwner: SignerWithAddress;
91
- externalPositionProxy: AddressLike;
92
- }) {
93
- const actionArgs = compoundExternalPositionActionArgs({
94
- amounts: [],
95
- assets: [],
96
- data: '0x',
97
- });
98
-
99
- return callOnExternalPosition({
100
- actionArgs,
101
- actionId: CompoundDebtPositionActionId.ClaimComp,
102
- comptrollerProxy,
103
- externalPositionManager,
104
- externalPositionProxy,
105
- signer: fundOwner,
106
- });
107
- }
108
-
109
- export async function compoundDebtPositionRemoveCollateral({
110
- comptrollerProxy,
111
- externalPositionManager,
112
- fundOwner,
113
- assets,
114
- amounts,
115
- externalPositionProxy,
116
- cTokens,
117
- }: {
118
- comptrollerProxy: ComptrollerLib;
119
- externalPositionManager: ExternalPositionManager;
120
- fundOwner: SignerWithAddress;
121
- assets: AddressLike[];
122
- amounts: BigNumberish[];
123
- externalPositionProxy: AddressLike;
124
- cTokens: AddressLike[];
125
- }) {
126
- const actionArgs = compoundExternalPositionActionArgs({
127
- amounts,
128
- assets,
129
- data: encodeArgs(['address[]'], [cTokens]),
130
- });
131
-
132
- return callOnExternalPosition({
133
- actionArgs,
134
- actionId: CompoundDebtPositionActionId.RemoveCollateralAssets,
135
- comptrollerProxy,
136
- externalPositionManager,
137
- externalPositionProxy,
138
- signer: fundOwner,
139
- });
140
- }
141
-
142
- export async function compoundDebtPositionRepayBorrow({
143
- comptrollerProxy,
144
- externalPositionManager,
145
- fundOwner,
146
- assets,
147
- amounts,
148
- externalPositionProxy,
149
- cTokens,
150
- }: {
151
- comptrollerProxy: ComptrollerLib;
152
- externalPositionManager: ExternalPositionManager;
153
- fundOwner: SignerWithAddress;
154
- assets: AddressLike[];
155
- amounts: BigNumberish[];
156
- externalPositionProxy: AddressLike;
157
- cTokens: AddressLike[];
158
- }) {
159
- const actionArgs = compoundExternalPositionActionArgs({
160
- amounts,
161
- assets,
162
- data: encodeArgs(['address[]'], [cTokens]),
163
- });
164
-
165
- return callOnExternalPosition({
166
- actionArgs,
167
- actionId: CompoundDebtPositionActionId.RepayBorrowedAssets,
168
- comptrollerProxy,
169
- externalPositionManager,
170
- externalPositionProxy,
171
- signer: fundOwner,
172
- });
173
- }
174
-
175
- export async function createCompoundDebtPosition({
176
- signer,
177
- comptrollerProxy,
178
- externalPositionManager,
179
- }: {
180
- signer: SignerWithAddress;
181
- comptrollerProxy: ComptrollerLib;
182
- externalPositionManager: ExternalPositionManager;
183
- }) {
184
- return createExternalPosition({
185
- comptrollerProxy,
186
- externalPositionManager,
187
- externalPositionTypeId: ExternalPositionType.CompoundDebtPosition,
188
- signer,
189
- });
190
- }
@@ -1,4 +0,0 @@
1
- export * from './actions';
2
- export * from './compound';
3
- export * from './mocks';
4
- export * from './uniswap-v3-liquidity';
@@ -1,194 +0,0 @@
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 {
5
- encodeArgs,
6
- ExternalPositionManagerActionId,
7
- mockGenericExternalPositionActionArgs,
8
- MockGenericExternalPositionActionId,
9
- MockGenericExternalPositionLib,
10
- MockGenericExternalPositionParser,
11
- VaultLib,
12
- } from '@enzymefinance/protocol';
13
- import type { BigNumberish } from 'ethers';
14
-
15
- import { callOnExternalPosition } from './actions';
16
-
17
- export async function createMockExternalPosition({
18
- comptrollerProxy,
19
- externalPositionManager,
20
- externalPositionFactory,
21
- defaultActionAssetsToTransfer,
22
- defaultActionAmountsToTransfer,
23
- defaultActionAssetsToReceive,
24
- fundOwner,
25
- deployer,
26
- }: {
27
- comptrollerProxy: ComptrollerLib;
28
- externalPositionManager: ExternalPositionManager;
29
- externalPositionFactory: ExternalPositionFactory;
30
- defaultActionAssetsToTransfer: AddressLike[];
31
- defaultActionAmountsToTransfer: BigNumberish[];
32
- defaultActionAssetsToReceive: AddressLike[];
33
- fundOwner: SignerWithAddress;
34
- deployer: SignerWithAddress;
35
- }) {
36
- const vaultProxy = new VaultLib(await comptrollerProxy.getVaultProxy(), deployer);
37
- const typeId = await externalPositionFactory.getPositionTypeCounter();
38
-
39
- await externalPositionFactory.addNewPositionTypes(['TEST']);
40
-
41
- const mockGenericExternalPositionLib = await MockGenericExternalPositionLib.deploy(deployer);
42
- const mockExternalPositionParser = await MockGenericExternalPositionParser.deploy(deployer);
43
-
44
- mockExternalPositionParser.setAssetsForAction(
45
- 0,
46
- defaultActionAssetsToTransfer,
47
- defaultActionAmountsToTransfer,
48
- defaultActionAssetsToReceive,
49
- );
50
-
51
- await externalPositionManager.updateExternalPositionTypesInfo(
52
- [typeId],
53
- [mockGenericExternalPositionLib],
54
- [mockExternalPositionParser],
55
- );
56
-
57
- const receipt = await comptrollerProxy
58
- .connect(fundOwner)
59
- .callOnExtension(
60
- externalPositionManager,
61
- ExternalPositionManagerActionId.CreateExternalPosition,
62
- encodeArgs(['uint256', 'bytes'], [typeId, '0x']),
63
- );
64
-
65
- const externalPositionProxy = (await vaultProxy.getActiveExternalPositions())[0];
66
-
67
- return {
68
- externalPositionProxy,
69
- mockExternalPositionParser,
70
- mockGenericExternalPositionLib,
71
- receipt,
72
- typeId,
73
- };
74
- }
75
-
76
- export async function mockExternalPositionAddDebtAssets({
77
- signer,
78
- comptrollerProxy,
79
- externalPositionManager,
80
- externalPositionProxy,
81
- assets,
82
- amounts,
83
- }: {
84
- signer: SignerWithAddress;
85
- comptrollerProxy: ComptrollerLib;
86
- externalPositionManager: ExternalPositionManager;
87
- externalPositionProxy: AddressLike;
88
- assets: AddressLike[];
89
- amounts: BigNumberish[];
90
- }) {
91
- const actionArgs = mockGenericExternalPositionActionArgs({
92
- amounts,
93
- assets,
94
- });
95
-
96
- return callOnExternalPosition({
97
- actionArgs,
98
- actionId: MockGenericExternalPositionActionId.AddDebtAssets,
99
- comptrollerProxy,
100
- externalPositionManager,
101
- externalPositionProxy,
102
- signer,
103
- });
104
- }
105
-
106
- export async function mockExternalPositionAddManagedAssets({
107
- signer,
108
- comptrollerProxy,
109
- externalPositionManager,
110
- externalPositionProxy,
111
- assets,
112
- amounts,
113
- }: {
114
- signer: SignerWithAddress;
115
- comptrollerProxy: ComptrollerLib;
116
- externalPositionManager: ExternalPositionManager;
117
- externalPositionProxy: AddressLike;
118
- assets: AddressLike[];
119
- amounts: BigNumberish[];
120
- }) {
121
- const actionArgs = mockGenericExternalPositionActionArgs({
122
- amounts,
123
- assets,
124
- });
125
-
126
- return callOnExternalPosition({
127
- actionArgs,
128
- actionId: MockGenericExternalPositionActionId.AddManagedAssets,
129
- comptrollerProxy,
130
- externalPositionManager,
131
- externalPositionProxy,
132
- signer,
133
- });
134
- }
135
-
136
- export async function mockExternalPositionRemoveDebtAssets({
137
- signer,
138
- comptrollerProxy,
139
- externalPositionManager,
140
- externalPositionProxy,
141
- assets,
142
- amounts,
143
- }: {
144
- signer: SignerWithAddress;
145
- comptrollerProxy: ComptrollerLib;
146
- externalPositionManager: ExternalPositionManager;
147
- externalPositionProxy: AddressLike;
148
- assets: AddressLike[];
149
- amounts: BigNumberish[];
150
- }) {
151
- const actionArgs = mockGenericExternalPositionActionArgs({
152
- amounts,
153
- assets,
154
- });
155
-
156
- return callOnExternalPosition({
157
- actionArgs,
158
- actionId: MockGenericExternalPositionActionId.RemoveDebtAssets,
159
- comptrollerProxy,
160
- externalPositionManager,
161
- externalPositionProxy,
162
- signer,
163
- });
164
- }
165
-
166
- export async function mockExternalPositionRemoveManagedAssets({
167
- signer,
168
- comptrollerProxy,
169
- externalPositionManager,
170
- externalPositionProxy,
171
- assets,
172
- amounts,
173
- }: {
174
- signer: SignerWithAddress;
175
- comptrollerProxy: ComptrollerLib;
176
- externalPositionManager: ExternalPositionManager;
177
- externalPositionProxy: AddressLike;
178
- assets: AddressLike[];
179
- amounts: BigNumberish[];
180
- }) {
181
- const actionArgs = mockGenericExternalPositionActionArgs({
182
- amounts,
183
- assets,
184
- });
185
-
186
- return callOnExternalPosition({
187
- actionArgs,
188
- actionId: MockGenericExternalPositionActionId.RemoveManagedAssets,
189
- comptrollerProxy,
190
- externalPositionManager,
191
- externalPositionProxy,
192
- signer,
193
- });
194
- }