@enzymefinance/testutils 4.0.0-next.6 → 4.0.1

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