@enzymefinance/testutils 4.0.0-next.7 → 4.0.2

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