@paraswap/dex-lib 2.12.15 → 2.13.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paraswap/dex-lib",
3
- "version": "2.12.15",
3
+ "version": "2.13.1",
4
4
  "main": "build/index.js",
5
5
  "types": "build/index.d.ts",
6
6
  "repository": "https://github.com/paraswap/paraswap-dex-lib",
@@ -1,360 +0,0 @@
1
- import dotenv from 'dotenv';
2
- dotenv.config();
3
-
4
- import { ethers } from 'ethers';
5
- import { Network, ContractMethod, SwapSide, MAX_UINT } from '../../constants';
6
- import { generateConfig } from '../../config';
7
- import { newTestE2E, getEnv } from '../../../tests/utils-e2e';
8
- import { SmartTokens, GENERIC_ADDR1 } from '../../../tests/constants-e2e';
9
- import { startTestServer } from './example-api.test';
10
- import { RFQConfig } from './types';
11
-
12
- const PK_KEY = process.env.TEST_PK_KEY;
13
-
14
- if (!PK_KEY) {
15
- throw new Error('Missing TEST_PK_KEY');
16
- }
17
-
18
- const testAccount = new ethers.Wallet(PK_KEY!);
19
-
20
- jest.setTimeout(1000 * 60 * 3);
21
-
22
- // describe('GenericRFQ E2E Mainnet', () => {
23
- // let stopServer: undefined | Function = undefined;
24
-
25
- // beforeAll(() => {
26
- // stopServer = startTestServer(testAccount);
27
- // });
28
-
29
- // const network = Network.ARBITRUM;
30
- // const smartTokens = SmartTokens[network];
31
-
32
- // const srcToken = smartTokens.WETH;
33
- // const destToken = smartTokens.DAI;
34
-
35
- // const config = generateConfig(network);
36
-
37
- // describe('GenericRFQ', () => {
38
- // const dexKey = 'DummyParaSwapPool';
39
-
40
- // srcToken.addBalance(testAccount.address, MAX_UINT);
41
- // srcToken.addAllowance(
42
- // testAccount.address,
43
- // config.augustusRFQAddress,
44
- // MAX_UINT,
45
- // );
46
-
47
- // destToken.addBalance(testAccount.address, MAX_UINT);
48
- // destToken.addAllowance(
49
- // testAccount.address,
50
- // config.augustusRFQAddress,
51
- // MAX_UINT,
52
- // );
53
-
54
- // describe('Simpleswap', () => {
55
- // it('SELL WETH -> DAI', async () => {
56
- // await newTestE2E({
57
- // config,
58
- // srcToken,
59
- // destToken,
60
- // senderAddress: GENERIC_ADDR1,
61
- // thirdPartyAddress: testAccount.address,
62
- // _amount: '1000000000000000000',
63
- // swapSide: SwapSide.SELL,
64
- // dexKey: dexKey,
65
- // contractMethod: ContractMethod.simpleSwap,
66
- // network: network,
67
- // });
68
- // });
69
-
70
- // it('SELL DAI -> WETH', async () => {
71
- // await newTestE2E({
72
- // config,
73
- // destToken,
74
- // srcToken,
75
- // senderAddress: GENERIC_ADDR1,
76
- // thirdPartyAddress: testAccount.address,
77
- // _amount: '1000000000000000000',
78
- // swapSide: SwapSide.SELL,
79
- // dexKey: dexKey,
80
- // contractMethod: ContractMethod.simpleSwap,
81
- // network: network,
82
- // });
83
- // });
84
-
85
- // it('BUY WETH -> DAI', async () => {
86
- // await newTestE2E({
87
- // config,
88
- // srcToken,
89
- // destToken,
90
- // senderAddress: GENERIC_ADDR1,
91
- // thirdPartyAddress: testAccount.address,
92
- // _amount: '1000000000000000000',
93
- // swapSide: SwapSide.BUY,
94
- // dexKey: dexKey,
95
- // contractMethod: ContractMethod.simpleBuy,
96
- // network: network,
97
- // });
98
- // });
99
-
100
- // it('BUY DAI -> WETH', async () => {
101
- // await newTestE2E({
102
- // config,
103
- // destToken,
104
- // srcToken,
105
- // senderAddress: GENERIC_ADDR1,
106
- // thirdPartyAddress: testAccount.address,
107
- // _amount: '1000000000000000000',
108
- // swapSide: SwapSide.BUY,
109
- // dexKey: dexKey,
110
- // contractMethod: ContractMethod.simpleBuy,
111
- // network: network,
112
- // });
113
- // });
114
- // });
115
- // });
116
-
117
- // afterAll(() => {
118
- // if (stopServer) {
119
- // stopServer();
120
- // }
121
- // });
122
- // });
123
-
124
- const buildConfigForGenericRFQ = (): RFQConfig => {
125
- const url = getEnv('GENERIC_RFQ_URL');
126
-
127
- const secret = {
128
- secretKey: atob(getEnv('GENERIC_RFQ_SECRET_KEY')),
129
- accessKey: getEnv('GENERIC_RFQ_ACCESS_KEY'),
130
- domain: 'paraswap',
131
- };
132
- // console.log('secret is ', secret, ' -- ', '&Tz*Rag1Q#kTLHG4oz17880*W', 'equal ?? ',
133
- // '&Tz*Rag1Q#kTLHG4oz17880*W' == secret.secretKey);
134
-
135
- const pathToRemove = getEnv('GENERIC_RFQ_PATH_TO_OVERRIDE');
136
-
137
- return {
138
- maker: getEnv('GENERIC_RFQ_MAKER_ADDRESS'),
139
- tokensConfig: {
140
- reqParams: {
141
- url: `${url}/tokens`,
142
- method: 'GET',
143
- },
144
- secret,
145
- intervalMs: 1000 * 60 * 60 * 10, // every 10 minutes
146
- dataTTLS: 1000 * 60 * 60 * 11, // ttl 11 minutes
147
- },
148
- pairsConfig: {
149
- reqParams: {
150
- url: `${url}/pairs`,
151
- method: 'GET',
152
- },
153
- secret,
154
- intervalMs: 1000 * 60 * 60 * 10, // every 10 minutes
155
- dataTTLS: 1000 * 60 * 60 * 11, // ttl 11 minutes
156
- },
157
- rateConfig: {
158
- reqParams: {
159
- url: `${url}/prices`,
160
- method: 'GET',
161
- },
162
- secret,
163
- intervalMs: 1000 * 60 * 60 * 1, // every 1 minute
164
- dataTTLS: 1000 * 60 * 60 * 1, // ttl 1 minute
165
- },
166
- firmRateConfig: {
167
- url: `${url}/firm`,
168
- method: 'POST',
169
- secret,
170
- },
171
- blacklistConfig: {
172
- reqParams: {
173
- url: `${url}/blacklist`,
174
- method: 'GET',
175
- },
176
- secret,
177
- intervalMs: 1000 * 60 * 60 * 10,
178
- dataTTLS: 1000 * 60 * 60 * 11,
179
- },
180
- pathToRemove,
181
- };
182
- };
183
-
184
- describe('GenericRFQ YOUR_NAME E2E Mainnet', () => {
185
- const dexKey = 'YOUR_NAME';
186
-
187
- const network = Network.ARBITRUM;
188
- const smartTokens = SmartTokens[network];
189
- const config = generateConfig(network);
190
-
191
- config.rfqConfigs[dexKey] = buildConfigForGenericRFQ();
192
-
193
- describe('GenericRFQ B/Q BUY', () => {
194
- const srcToken = smartTokens.LINK;
195
- const destToken = smartTokens.WETH;
196
-
197
- srcToken.addBalance(testAccount.address, MAX_UINT);
198
- srcToken.addAllowance(
199
- testAccount.address,
200
- config.augustusRFQAddress,
201
- MAX_UINT,
202
- );
203
-
204
- destToken.addBalance(testAccount.address, MAX_UINT);
205
- destToken.addAllowance(
206
- testAccount.address,
207
- config.augustusRFQAddress,
208
- MAX_UINT,
209
- );
210
-
211
- // srcToken.addBalance(GENERIC_ADDR1, MAX_UINT);
212
- // srcToken.addAllowance(
213
- // GENERIC_ADDR1,
214
- // config.augustusRFQAddress,
215
- // MAX_UINT,
216
- // );
217
-
218
- // destToken.addBalance(GENERIC_ADDR1, MAX_UINT);
219
- // destToken.addAllowance(
220
- // GENERIC_ADDR1,
221
- // config.augustusRFQAddress,
222
- // MAX_UINT,
223
- // );
224
-
225
- describe('Simpleswap', () => {
226
- it('BUY LINK -> WETH', async () => {
227
- await newTestE2E({
228
- config,
229
- srcToken,
230
- destToken,
231
- senderAddress: GENERIC_ADDR1,
232
- thirdPartyAddress: testAccount.address,
233
- _amount: '1000000000000000000',
234
- swapSide: SwapSide.BUY,
235
- dexKey: dexKey,
236
- contractMethod: ContractMethod.simpleBuy,
237
- network: network,
238
- sleepMs: 5000,
239
- });
240
- });
241
- });
242
- });
243
-
244
- describe('GenericRFQ Q/B BUY', () => {
245
- const srcToken = smartTokens.WETH;
246
- const destToken = smartTokens.LINK;
247
-
248
- srcToken.addBalance(testAccount.address, MAX_UINT);
249
- srcToken.addAllowance(
250
- testAccount.address,
251
- config.augustusRFQAddress,
252
- MAX_UINT,
253
- );
254
-
255
- destToken.addBalance(testAccount.address, MAX_UINT);
256
- destToken.addAllowance(
257
- testAccount.address,
258
- config.augustusRFQAddress,
259
- MAX_UINT,
260
- );
261
-
262
- describe('Simpleswap', () => {
263
- it('BUY WETH -> LINK', async () => {
264
- await newTestE2E({
265
- config,
266
- srcToken,
267
- destToken,
268
- senderAddress: GENERIC_ADDR1,
269
- thirdPartyAddress: testAccount.address,
270
- _amount: '1000000',
271
- swapSide: SwapSide.BUY,
272
- dexKey: dexKey,
273
- contractMethod: ContractMethod.simpleBuy,
274
- network: network,
275
- sleepMs: 5000,
276
- });
277
- });
278
- });
279
- });
280
-
281
- describe('GenericRFQ B/Q SELL', () => {
282
- const srcToken = smartTokens.LINK;
283
- const destToken = smartTokens.WETH;
284
-
285
- srcToken.addBalance(testAccount.address, MAX_UINT);
286
- srcToken.addAllowance(
287
- testAccount.address,
288
- config.augustusRFQAddress,
289
- MAX_UINT,
290
- );
291
-
292
- destToken.addBalance(testAccount.address, MAX_UINT);
293
- destToken.addAllowance(
294
- testAccount.address,
295
- config.augustusRFQAddress,
296
- MAX_UINT,
297
- );
298
-
299
- describe('Simpleswap', () => {
300
- it('SELL LINK -> WETH', async () => {
301
- await newTestE2E({
302
- config,
303
- srcToken,
304
- destToken,
305
- senderAddress: GENERIC_ADDR1,
306
- thirdPartyAddress: testAccount.address,
307
- _amount: '1000000',
308
- swapSide: SwapSide.SELL,
309
- dexKey: dexKey,
310
- contractMethod: ContractMethod.simpleSwap,
311
- network: network,
312
- sleepMs: 5000,
313
- });
314
- });
315
- });
316
- });
317
-
318
- describe('GenericRFQ Q/B SELL', () => {
319
- const srcToken = smartTokens.WETH;
320
- const destToken = smartTokens.LINK;
321
-
322
- srcToken.addBalance(testAccount.address, MAX_UINT);
323
- srcToken.addAllowance(
324
- testAccount.address,
325
- config.augustusRFQAddress,
326
- MAX_UINT,
327
- );
328
-
329
- destToken.addBalance(testAccount.address, MAX_UINT);
330
- destToken.addAllowance(
331
- testAccount.address,
332
- config.augustusRFQAddress,
333
- MAX_UINT,
334
- );
335
-
336
- srcToken.addBalance(GENERIC_ADDR1, MAX_UINT);
337
- srcToken.addAllowance(GENERIC_ADDR1, config.augustusRFQAddress, MAX_UINT);
338
-
339
- destToken.addBalance(GENERIC_ADDR1, MAX_UINT);
340
- destToken.addAllowance(GENERIC_ADDR1, config.augustusRFQAddress, MAX_UINT);
341
-
342
- describe('Simpleswap', () => {
343
- it('SELL WETH -> LINK', async () => {
344
- await newTestE2E({
345
- config,
346
- srcToken,
347
- destToken,
348
- senderAddress: GENERIC_ADDR1,
349
- thirdPartyAddress: testAccount.address,
350
- _amount: '10000000000000000000',
351
- swapSide: SwapSide.SELL,
352
- dexKey: dexKey,
353
- contractMethod: ContractMethod.simpleSwap,
354
- network: network,
355
- sleepMs: 15000,
356
- });
357
- }, 30000);
358
- });
359
- });
360
- });
@@ -1,346 +0,0 @@
1
- import dotenv from 'dotenv';
2
- dotenv.config();
3
-
4
- import { ethers } from 'ethers';
5
- import { Network, ContractMethod, SwapSide, MAX_UINT } from '../../constants';
6
- import { generateConfig } from '../../config';
7
- import { newTestE2E, getEnv } from '../../../tests/utils-e2e';
8
- import { SmartTokens, GENERIC_ADDR1 } from '../../../tests/constants-e2e';
9
- import { startTestServer } from './example-api.test';
10
- import { RFQConfig } from './types';
11
-
12
- const PK_KEY = process.env.TEST_PK_KEY;
13
-
14
- if (!PK_KEY) {
15
- throw new Error('Missing TEST_PK_KEY');
16
- }
17
-
18
- const testAccount = new ethers.Wallet(PK_KEY!);
19
-
20
- jest.setTimeout(1000 * 60 * 3);
21
-
22
- // describe('GenericRFQ E2E Mainnet', () => {
23
- // let stopServer: undefined | Function = undefined;
24
-
25
- // beforeAll(() => {
26
- // stopServer = startTestServer(testAccount);
27
- // });
28
-
29
- // const network = Network.BSC;
30
- // const smartTokens = SmartTokens[network];
31
-
32
- // const srcToken = smartTokens.WBNB;
33
- // const destToken = smartTokens.DAI;
34
-
35
- // const config = generateConfig(network);
36
-
37
- // describe('GenericRFQ', () => {
38
- // const dexKey = 'DummyParaSwapPool';
39
-
40
- // srcToken.addBalance(testAccount.address, MAX_UINT);
41
- // srcToken.addAllowance(
42
- // testAccount.address,
43
- // config.augustusRFQAddress,
44
- // MAX_UINT,
45
- // );
46
-
47
- // destToken.addBalance(testAccount.address, MAX_UINT);
48
- // destToken.addAllowance(
49
- // testAccount.address,
50
- // config.augustusRFQAddress,
51
- // MAX_UINT,
52
- // );
53
-
54
- // describe('Simpleswap', () => {
55
- // it('SELL WETH -> DAI', async () => {
56
- // await newTestE2E({
57
- // config,
58
- // srcToken,
59
- // destToken,
60
- // senderAddress: GENERIC_ADDR1,
61
- // thirdPartyAddress: testAccount.address,
62
- // _amount: '1000000000000000000',
63
- // swapSide: SwapSide.SELL,
64
- // dexKey: dexKey,
65
- // contractMethod: ContractMethod.simpleSwap,
66
- // network: network,
67
- // });
68
- // });
69
-
70
- // it('SELL DAI -> WETH', async () => {
71
- // await newTestE2E({
72
- // config,
73
- // destToken,
74
- // srcToken,
75
- // senderAddress: GENERIC_ADDR1,
76
- // thirdPartyAddress: testAccount.address,
77
- // _amount: '1000000000000000000',
78
- // swapSide: SwapSide.SELL,
79
- // dexKey: dexKey,
80
- // contractMethod: ContractMethod.simpleSwap,
81
- // network: network,
82
- // });
83
- // });
84
-
85
- // it('BUY WETH -> DAI', async () => {
86
- // await newTestE2E({
87
- // config,
88
- // srcToken,
89
- // destToken,
90
- // senderAddress: GENERIC_ADDR1,
91
- // thirdPartyAddress: testAccount.address,
92
- // _amount: '1000000000000000000',
93
- // swapSide: SwapSide.BUY,
94
- // dexKey: dexKey,
95
- // contractMethod: ContractMethod.simpleBuy,
96
- // network: network,
97
- // });
98
- // });
99
-
100
- // it('BUY DAI -> WETH', async () => {
101
- // await newTestE2E({
102
- // config,
103
- // destToken,
104
- // srcToken,
105
- // senderAddress: GENERIC_ADDR1,
106
- // thirdPartyAddress: testAccount.address,
107
- // _amount: '1000000000000000000',
108
- // swapSide: SwapSide.BUY,
109
- // dexKey: dexKey,
110
- // contractMethod: ContractMethod.simpleBuy,
111
- // network: network,
112
- // });
113
- // });
114
- // });
115
- // });
116
-
117
- // afterAll(() => {
118
- // if (stopServer) {
119
- // stopServer();
120
- // }
121
- // });
122
- // });
123
-
124
- const buildConfigForGenericRFQ = (): RFQConfig => {
125
- const url = getEnv('GENERIC_RFQ_URL');
126
-
127
- const secret = {
128
- secretKey: atob(getEnv('GENERIC_RFQ_SECRET_KEY')),
129
- accessKey: getEnv('GENERIC_RFQ_ACCESS_KEY'),
130
- domain: 'paraswap',
131
- };
132
- // console.log('secret is ', secret, ' -- ', '&Tz*Rag1Q#kTLHG4oz17880*W', 'equal ?? ',
133
- // '&Tz*Rag1Q#kTLHG4oz17880*W' == secret.secretKey);
134
-
135
- const pathToRemove = getEnv('GENERIC_RFQ_PATH_TO_OVERRIDE');
136
-
137
- return {
138
- maker: getEnv('GENERIC_RFQ_MAKER_ADDRESS'),
139
- tokensConfig: {
140
- reqParams: {
141
- url: `${url}/tokens`,
142
- method: 'GET',
143
- },
144
- secret,
145
- intervalMs: 1000 * 60 * 60 * 10, // every 10 minutes
146
- dataTTLS: 1000 * 60 * 60 * 11, // ttl 11 minutes
147
- },
148
- pairsConfig: {
149
- reqParams: {
150
- url: `${url}/pairs`,
151
- method: 'GET',
152
- },
153
- secret,
154
- intervalMs: 1000 * 60 * 60 * 10, // every 10 minutes
155
- dataTTLS: 1000 * 60 * 60 * 11, // ttl 11 minutes
156
- },
157
- rateConfig: {
158
- reqParams: {
159
- url: `${url}/prices`,
160
- method: 'GET',
161
- },
162
- secret,
163
- intervalMs: 1000 * 60 * 60 * 1, // every 1 minute
164
- dataTTLS: 1000 * 60 * 60 * 1, // ttl 1 minute
165
- },
166
- firmRateConfig: {
167
- url: `${url}/firm`,
168
- method: 'POST',
169
- secret,
170
- },
171
- blacklistConfig: {
172
- reqParams: {
173
- url: `${url}/blacklist`,
174
- method: 'GET',
175
- },
176
- secret,
177
- intervalMs: 1000 * 60 * 60 * 10,
178
- dataTTLS: 1000 * 60 * 60 * 11,
179
- },
180
- pathToRemove,
181
- };
182
- };
183
-
184
- describe('GenericRFQ YOUR_NAME E2E Mainnet', () => {
185
- const dexKey = 'YOUR_NAME';
186
-
187
- const network = Network.BSC;
188
- const smartTokens = SmartTokens[network];
189
- const config = generateConfig(network);
190
-
191
- config.rfqConfigs[dexKey] = buildConfigForGenericRFQ();
192
-
193
- describe('GenericRFQ B/Q BUY', () => {
194
- const srcToken = smartTokens.USDC;
195
- const destToken = smartTokens.WBNB;
196
-
197
- srcToken.addBalance(testAccount.address, MAX_UINT);
198
- srcToken.addAllowance(
199
- testAccount.address,
200
- config.augustusRFQAddress,
201
- MAX_UINT,
202
- );
203
-
204
- destToken.addBalance(testAccount.address, MAX_UINT);
205
- destToken.addAllowance(
206
- testAccount.address,
207
- config.augustusRFQAddress,
208
- MAX_UINT,
209
- );
210
-
211
- describe('Simpleswap', () => {
212
- it('BUY USDC -> WBNB', async () => {
213
- await newTestE2E({
214
- config,
215
- srcToken,
216
- destToken,
217
- senderAddress: GENERIC_ADDR1,
218
- thirdPartyAddress: testAccount.address,
219
- _amount: '10000000000000000000',
220
- swapSide: SwapSide.BUY,
221
- dexKey: dexKey,
222
- contractMethod: ContractMethod.simpleBuy,
223
- network: network,
224
- sleepMs: 5000,
225
- });
226
- });
227
- });
228
- });
229
-
230
- describe('GenericRFQ Q/B BUY', () => {
231
- const srcToken = smartTokens.WBNB;
232
- const destToken = smartTokens.USDC;
233
-
234
- srcToken.addBalance(testAccount.address, MAX_UINT);
235
- srcToken.addAllowance(
236
- testAccount.address,
237
- config.augustusRFQAddress,
238
- MAX_UINT,
239
- );
240
-
241
- destToken.addBalance(testAccount.address, MAX_UINT);
242
- destToken.addAllowance(
243
- testAccount.address,
244
- config.augustusRFQAddress,
245
- MAX_UINT,
246
- );
247
-
248
- describe('Simpleswap', () => {
249
- it('BUY WBNB -> USDC', async () => {
250
- await newTestE2E({
251
- config,
252
- srcToken,
253
- destToken,
254
- senderAddress: GENERIC_ADDR1,
255
- thirdPartyAddress: testAccount.address,
256
- _amount: '10000000000000000000',
257
- swapSide: SwapSide.BUY,
258
- dexKey: dexKey,
259
- contractMethod: ContractMethod.simpleBuy,
260
- network: network,
261
- sleepMs: 5000,
262
- });
263
- });
264
- });
265
- });
266
-
267
- describe('GenericRFQ B/Q SELL', () => {
268
- const srcToken = smartTokens.USDC;
269
- const destToken = smartTokens.WBNB;
270
-
271
- srcToken.addBalance(testAccount.address, MAX_UINT);
272
- srcToken.addAllowance(
273
- testAccount.address,
274
- config.augustusRFQAddress,
275
- MAX_UINT,
276
- );
277
-
278
- destToken.addBalance(testAccount.address, MAX_UINT);
279
- destToken.addAllowance(
280
- testAccount.address,
281
- config.augustusRFQAddress,
282
- MAX_UINT,
283
- );
284
-
285
- describe('Simpleswap', () => {
286
- it('SELL USDC -> WBNB', async () => {
287
- await newTestE2E({
288
- config,
289
- srcToken,
290
- destToken,
291
- senderAddress: GENERIC_ADDR1,
292
- thirdPartyAddress: testAccount.address,
293
- _amount: '1000000000000000000000',
294
- swapSide: SwapSide.SELL,
295
- dexKey: dexKey,
296
- contractMethod: ContractMethod.simpleSwap,
297
- network: network,
298
- sleepMs: 5000,
299
- });
300
- });
301
- });
302
- });
303
-
304
- describe('GenericRFQ Q/B SELL', () => {
305
- const srcToken = smartTokens.WBNB;
306
- const destToken = smartTokens.USDC;
307
-
308
- srcToken.addBalance(testAccount.address, MAX_UINT);
309
- srcToken.addAllowance(
310
- testAccount.address,
311
- config.augustusRFQAddress,
312
- MAX_UINT,
313
- );
314
-
315
- destToken.addBalance(testAccount.address, MAX_UINT);
316
- destToken.addAllowance(
317
- testAccount.address,
318
- config.augustusRFQAddress,
319
- MAX_UINT,
320
- );
321
-
322
- srcToken.addBalance(GENERIC_ADDR1, MAX_UINT);
323
- srcToken.addAllowance(GENERIC_ADDR1, config.augustusRFQAddress, MAX_UINT);
324
-
325
- destToken.addBalance(GENERIC_ADDR1, MAX_UINT);
326
- destToken.addAllowance(GENERIC_ADDR1, config.augustusRFQAddress, MAX_UINT);
327
-
328
- describe('Simpleswap', () => {
329
- it('SELL WBNB -> USDC', async () => {
330
- await newTestE2E({
331
- config,
332
- srcToken,
333
- destToken,
334
- senderAddress: GENERIC_ADDR1,
335
- thirdPartyAddress: testAccount.address,
336
- _amount: '10000000000000000000',
337
- swapSide: SwapSide.SELL,
338
- dexKey: dexKey,
339
- contractMethod: ContractMethod.simpleSwap,
340
- network: network,
341
- sleepMs: 15000,
342
- });
343
- }, 30000);
344
- });
345
- });
346
- });
@@ -1,360 +0,0 @@
1
- import dotenv from 'dotenv';
2
- dotenv.config();
3
-
4
- import { ethers } from 'ethers';
5
- import { Network, ContractMethod, SwapSide, MAX_UINT } from '../../constants';
6
- import { generateConfig } from '../../config';
7
- import { newTestE2E, getEnv } from '../../../tests/utils-e2e';
8
- import { SmartTokens, GENERIC_ADDR1 } from '../../../tests/constants-e2e';
9
- import { startTestServer } from './example-api.test';
10
- import { RFQConfig } from './types';
11
-
12
- const PK_KEY = process.env.TEST_PK_KEY;
13
-
14
- if (!PK_KEY) {
15
- throw new Error('Missing TEST_PK_KEY');
16
- }
17
-
18
- const testAccount = new ethers.Wallet(PK_KEY!);
19
-
20
- jest.setTimeout(1000 * 60 * 30);
21
-
22
- // describe('GenericRFQ E2E Mainnet', () => {
23
- // let stopServer: undefined | Function = undefined;
24
-
25
- // beforeAll(() => {
26
- // stopServer = startTestServer(testAccount);
27
- // });
28
-
29
- // const network = Network.POLYGON;
30
- // const smartTokens = SmartTokens[network];
31
-
32
- // const srcToken = smartTokens.WMATIC;
33
- // const destToken = smartTokens.DAI;
34
-
35
- // const config = generateConfig(network);
36
-
37
- // describe('GenericRFQ', () => {
38
- // const dexKey = 'DummyParaSwapPool';
39
-
40
- // srcToken.addBalance(testAccount.address, MAX_UINT);
41
- // srcToken.addAllowance(
42
- // testAccount.address,
43
- // config.augustusRFQAddress,
44
- // MAX_UINT,
45
- // );
46
-
47
- // destToken.addBalance(testAccount.address, MAX_UINT);
48
- // destToken.addAllowance(
49
- // testAccount.address,
50
- // config.augustusRFQAddress,
51
- // MAX_UINT,
52
- // );
53
-
54
- // describe('Simpleswap', () => {
55
- // it('SELL WMATIC -> DAI', async () => {
56
- // await newTestE2E({
57
- // config,
58
- // srcToken,
59
- // destToken,
60
- // senderAddress: GENERIC_ADDR1,
61
- // thirdPartyAddress: testAccount.address,
62
- // _amount: '1000000000000000000',
63
- // swapSide: SwapSide.SELL,
64
- // dexKey: dexKey,
65
- // contractMethod: ContractMethod.simpleSwap,
66
- // network: network,
67
- // });
68
- // });
69
-
70
- // it('SELL DAI -> WMATIC', async () => {
71
- // await newTestE2E({
72
- // config,
73
- // destToken,
74
- // srcToken,
75
- // senderAddress: GENERIC_ADDR1,
76
- // thirdPartyAddress: testAccount.address,
77
- // _amount: '1000000000000000000',
78
- // swapSide: SwapSide.SELL,
79
- // dexKey: dexKey,
80
- // contractMethod: ContractMethod.simpleSwap,
81
- // network: network,
82
- // });
83
- // });
84
-
85
- // it('BUY WMATIC -> DAI', async () => {
86
- // await newTestE2E({
87
- // config,
88
- // srcToken,
89
- // destToken,
90
- // senderAddress: GENERIC_ADDR1,
91
- // thirdPartyAddress: testAccount.address,
92
- // _amount: '1000000000000000000',
93
- // swapSide: SwapSide.BUY,
94
- // dexKey: dexKey,
95
- // contractMethod: ContractMethod.simpleBuy,
96
- // network: network,
97
- // });
98
- // });
99
-
100
- // it('BUY DAI -> WMATIC', async () => {
101
- // await newTestE2E({
102
- // config,
103
- // destToken,
104
- // srcToken,
105
- // senderAddress: GENERIC_ADDR1,
106
- // thirdPartyAddress: testAccount.address,
107
- // _amount: '1000000000000000000',
108
- // swapSide: SwapSide.BUY,
109
- // dexKey: dexKey,
110
- // contractMethod: ContractMethod.simpleBuy,
111
- // network: network,
112
- // });
113
- // });
114
- // });
115
- // });
116
-
117
- // afterAll(() => {
118
- // if (stopServer) {
119
- // stopServer();
120
- // }
121
- // });
122
- // });
123
-
124
- const buildConfigForGenericRFQ = (): RFQConfig => {
125
- const url = getEnv('GENERIC_RFQ_URL');
126
-
127
- const secret = {
128
- secretKey: Buffer.from(getEnv('GENERIC_RFQ_SECRET_KEY'), 'base64').toString('binary'),
129
- accessKey: getEnv('GENERIC_RFQ_ACCESS_KEY'),
130
- domain: 'paraswap',
131
- };
132
-
133
- const pathToRemove = getEnv('GENERIC_RFQ_PATH_TO_OVERRIDE');
134
-
135
- return {
136
- maker: getEnv('GENERIC_RFQ_MAKER_ADDRESS'),
137
- tokensConfig: {
138
- reqParams: {
139
- url: `${url}/tokens`,
140
- method: 'GET',
141
- },
142
- secret,
143
- intervalMs: 1000 * 60 * 60 * 10, // every 10 minutes
144
- dataTTLS: 1000 * 60 * 60 * 11, // ttl 11 minutes
145
- },
146
- pairsConfig: {
147
- reqParams: {
148
- url: `${url}/pairs`,
149
- method: 'GET',
150
- },
151
- secret,
152
- intervalMs: 1000 * 60 * 60 * 10, // every 10 minutes
153
- dataTTLS: 1000 * 60 * 60 * 11, // ttl 11 minutes
154
- },
155
- rateConfig: {
156
- reqParams: {
157
- url: `${url}/prices`,
158
- method: 'GET',
159
- },
160
- secret,
161
- intervalMs: 1000 * 60 * 60 * 1, // every 1 minute
162
- dataTTLS: 1000 * 60 * 60 * 1, // ttl 1 minute
163
- },
164
- firmRateConfig: {
165
- url: `${url}/firm`,
166
- method: 'POST',
167
- secret,
168
- },
169
- blacklistConfig: {
170
- reqParams: {
171
- url: `${url}/blacklist`,
172
- method: 'GET',
173
- },
174
- secret,
175
- intervalMs: 1000 * 60 * 60 * 10,
176
- dataTTLS: 1000 * 60 * 60 * 11,
177
- },
178
- pathToRemove,
179
- };
180
- };
181
-
182
- jest.setTimeout(20000);
183
-
184
- describe('GenericRFQ YOUR_NAME E2E Mainnet', () => {
185
- const dexKey = 'YOUR_NAME';
186
-
187
- const network = Network.POLYGON;
188
- const smartTokens = SmartTokens[network];
189
- const config = generateConfig(network);
190
-
191
- config.rfqConfigs[dexKey] = buildConfigForGenericRFQ();
192
-
193
- describe('GenericRFQ B/Q BUY', () => {
194
- const srcToken = smartTokens.USDC;
195
- const destToken = smartTokens.WMATIC;
196
-
197
- srcToken.addBalance(testAccount.address, MAX_UINT);
198
- srcToken.addAllowance(
199
- testAccount.address,
200
- config.augustusRFQAddress,
201
- MAX_UINT,
202
- );
203
-
204
- destToken.addBalance(testAccount.address, MAX_UINT);
205
- destToken.addAllowance(
206
- testAccount.address,
207
- config.augustusRFQAddress,
208
- MAX_UINT,
209
- );
210
-
211
- // srcToken.addBalance(GENERIC_ADDR1, MAX_UINT);
212
- // srcToken.addAllowance(
213
- // GENERIC_ADDR1,
214
- // config.augustusRFQAddress,
215
- // MAX_UINT,
216
- // );
217
-
218
- // destToken.addBalance(GENERIC_ADDR1, MAX_UINT);
219
- // destToken.addAllowance(
220
- // GENERIC_ADDR1,
221
- // config.augustusRFQAddress,
222
- // MAX_UINT,
223
- // );
224
-
225
- describe('Simpleswap', () => {
226
- it('BUY USDC -> WMATIC', async () => {
227
- await newTestE2E({
228
- config,
229
- srcToken,
230
- destToken,
231
- senderAddress: GENERIC_ADDR1,
232
- thirdPartyAddress: testAccount.address,
233
- _amount: '1000000000000000000',
234
- swapSide: SwapSide.BUY,
235
- dexKey: dexKey,
236
- contractMethod: ContractMethod.simpleBuy,
237
- network: network,
238
- sleepMs: 5000,
239
- });
240
- });
241
- });
242
- });
243
-
244
- describe('GenericRFQ Q/B BUY', () => {
245
- const srcToken = smartTokens.WMATIC;
246
- const destToken = smartTokens.USDC;
247
-
248
- srcToken.addBalance(testAccount.address, MAX_UINT);
249
- srcToken.addAllowance(
250
- testAccount.address,
251
- config.augustusRFQAddress,
252
- MAX_UINT,
253
- );
254
-
255
- destToken.addBalance(testAccount.address, MAX_UINT);
256
- destToken.addAllowance(
257
- testAccount.address,
258
- config.augustusRFQAddress,
259
- MAX_UINT,
260
- );
261
-
262
- describe('Simpleswap', () => {
263
- it('BUY WMATIC -> USDC', async () => {
264
- await newTestE2E({
265
- config,
266
- srcToken,
267
- destToken,
268
- senderAddress: GENERIC_ADDR1,
269
- thirdPartyAddress: testAccount.address,
270
- _amount: '1000000',
271
- swapSide: SwapSide.BUY,
272
- dexKey: dexKey,
273
- contractMethod: ContractMethod.simpleBuy,
274
- network: network,
275
- sleepMs: 5000,
276
- });
277
- });
278
- });
279
- });
280
-
281
- describe('GenericRFQ B/Q SELL', () => {
282
- const srcToken = smartTokens.USDC;
283
- const destToken = smartTokens.WMATIC;
284
-
285
- srcToken.addBalance(testAccount.address, MAX_UINT);
286
- srcToken.addAllowance(
287
- testAccount.address,
288
- config.augustusRFQAddress,
289
- MAX_UINT,
290
- );
291
-
292
- destToken.addBalance(testAccount.address, MAX_UINT);
293
- destToken.addAllowance(
294
- testAccount.address,
295
- config.augustusRFQAddress,
296
- MAX_UINT,
297
- );
298
-
299
- describe('Simpleswap', () => {
300
- it('SELL USDC -> WMATIC', async () => {
301
- await newTestE2E({
302
- config,
303
- srcToken,
304
- destToken,
305
- senderAddress: GENERIC_ADDR1,
306
- thirdPartyAddress: testAccount.address,
307
- _amount: '1000000',
308
- swapSide: SwapSide.SELL,
309
- dexKey: dexKey,
310
- contractMethod: ContractMethod.simpleSwap,
311
- network: network,
312
- sleepMs: 5000,
313
- });
314
- });
315
- });
316
- });
317
-
318
- describe('GenericRFQ Q/B SELL', () => {
319
- const srcToken = smartTokens.WMATIC;
320
- const destToken = smartTokens.USDC;
321
-
322
- srcToken.addBalance(testAccount.address, MAX_UINT);
323
- srcToken.addAllowance(
324
- testAccount.address,
325
- config.augustusRFQAddress,
326
- MAX_UINT,
327
- );
328
-
329
- destToken.addBalance(testAccount.address, MAX_UINT);
330
- destToken.addAllowance(
331
- testAccount.address,
332
- config.augustusRFQAddress,
333
- MAX_UINT,
334
- );
335
-
336
- srcToken.addBalance(GENERIC_ADDR1, MAX_UINT);
337
- srcToken.addAllowance(GENERIC_ADDR1, config.augustusRFQAddress, MAX_UINT);
338
-
339
- destToken.addBalance(GENERIC_ADDR1, MAX_UINT);
340
- destToken.addAllowance(GENERIC_ADDR1, config.augustusRFQAddress, MAX_UINT);
341
-
342
- describe('Simpleswap', () => {
343
- it('SELL WMATIC -> USDC', async () => {
344
- await newTestE2E({
345
- config,
346
- srcToken,
347
- destToken,
348
- senderAddress: GENERIC_ADDR1,
349
- thirdPartyAddress: testAccount.address,
350
- _amount: '10000000000000000000',
351
- swapSide: SwapSide.SELL,
352
- dexKey: dexKey,
353
- contractMethod: ContractMethod.simpleSwap,
354
- network: network,
355
- sleepMs: 15000,
356
- });
357
- }, 30000);
358
- });
359
- });
360
- });