@paraswap/dex-lib 3.9.5-gnosis.3 → 3.9.5-gnosis.4
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/build/dex/algebra/config.js +20 -0
- package/build/dex/algebra/config.js.map +1 -1
- package/build/dex/uniswap-v2/nomiswap-v2.js +10 -0
- package/build/dex/uniswap-v2/nomiswap-v2.js.map +1 -1
- package/package.json +1 -1
- package/src/dex/algebra/algebra-e2e.test.ts +22 -0
- package/src/dex/algebra/config.ts +21 -0
- package/src/dex/uniswap-v2/nomiswap-v2.ts +11 -0
- package/src/dex/uniswap-v2/uniswap-v2-e2e-gnosis.test.ts +89 -0
- package/tests/constants-e2e.ts +5 -0
|
@@ -57,6 +57,8 @@ exports.AlgebraConfig = {
|
|
|
57
57
|
subgraphURL: '3CA9ffebLkS3N2otXaSj8XaDDdspty75upBjKTUS79qY',
|
|
58
58
|
uniswapMulticall: '0x1F98415757620B543A52E61c46B32eB19261F984',
|
|
59
59
|
deployer: '0xc0d4323426c709e8d04b5b130e7f059523464a91',
|
|
60
|
+
// optimism fork uses v1.9-bidirectional-fee (with TickSpacing event and simple `fee` in globalState),
|
|
61
|
+
// not sure why v1.1 is used here
|
|
60
62
|
version: 'v1.1',
|
|
61
63
|
},
|
|
62
64
|
},
|
|
@@ -73,6 +75,24 @@ exports.AlgebraConfig = {
|
|
|
73
75
|
uniswapMulticall: '0x1F98415757620B543A52E61c46B32eB19261F984',
|
|
74
76
|
deployer: '0x6dd3fb9653b10e806650f107c3b5a0a6ff974f65',
|
|
75
77
|
version: 'v1.9',
|
|
78
|
+
// looks like it isn't used as we override it with dexHelper.config.data.forceRpcFallbackDexs in constructor
|
|
79
|
+
forceRPC: true,
|
|
80
|
+
},
|
|
81
|
+
},
|
|
82
|
+
SwaprV3: {
|
|
83
|
+
[constants_1.Network.GNOSIS]: {
|
|
84
|
+
factory: '0xA0864cCA6E114013AB0e27cbd5B6f4c8947da766',
|
|
85
|
+
router: '0xfFB643E73f280B97809A8b41f7232AB401a04ee1',
|
|
86
|
+
quoter: '0xcBaD9FDf0D2814659Eb26f600EFDeAF005Eda0F7',
|
|
87
|
+
initHash: '0xbce37a54eab2fcd71913a0d40723e04238970e7fc1159bfd58ad5b79531697e7',
|
|
88
|
+
chunksCount: 10,
|
|
89
|
+
initRetryFrequency: 10,
|
|
90
|
+
// AlgebraStateMulticall
|
|
91
|
+
algebraStateMulticall: '0x49C46f7f88110ccA234ef27Cd664510f7bbF5998',
|
|
92
|
+
subgraphURL: 'AAA1vYjxwFHzbt6qKwLHNcDSASyr1J1xVViDH8gTMFMR',
|
|
93
|
+
uniswapMulticall: '0x4dfa9a980efE4802E969AC33968E3d6E59B8a19e',
|
|
94
|
+
deployer: '0xC1b576AC6Ec749d5Ace1787bF9Ec6340908ddB47',
|
|
95
|
+
version: 'v1.9-bidirectional-fee',
|
|
76
96
|
forceRPC: true,
|
|
77
97
|
},
|
|
78
98
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/algebra/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/algebra/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,6 +19,16 @@ exports.NomiswapV2Config = {
|
|
|
19
19
|
subgraphURL: '5CBKsDihF7KeBrNX4bgtb4tVFqy41PguVm88zBGpd4Hi',
|
|
20
20
|
},
|
|
21
21
|
},
|
|
22
|
+
// not exactly the same, but swapFee logic works in the same way
|
|
23
|
+
SwaprV2: {
|
|
24
|
+
[constants_1.Network.GNOSIS]: {
|
|
25
|
+
factoryAddress: '0x5D48C95AdfFD4B40c1AAADc4e08fc44117E02179',
|
|
26
|
+
initCode: '0xfcee8e246628cf9708fcb9d6f5d4aa0d96b62bb50f1af012a75a3292849e2dca',
|
|
27
|
+
poolGasCost: 120 * 1000,
|
|
28
|
+
feeCode: 25,
|
|
29
|
+
subgraphURL: 'EWoa3JwNntAWtaLsLixTU25smp4R5tzGvs9rFXx9NHKZ',
|
|
30
|
+
},
|
|
31
|
+
},
|
|
22
32
|
};
|
|
23
33
|
class NomiswapV2 extends uniswap_v2_1.UniswapV2 {
|
|
24
34
|
constructor(network, dexKey, dexHelper) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nomiswap-v2.js","sourceRoot":"","sources":["../../../src/dex/uniswap-v2/nomiswap-v2.ts"],"names":[],"mappings":";;;;;;AAAA,+CAA0C;AAC1C,uCAAoD;AAEpD,yDAAoE;AACpE,4CAA+C;AAC/C,wGAA0E;AAI7D,QAAA,gBAAgB,GAA4B;IACvD,UAAU,EAAE;QACV,CAAC,mBAAO,CAAC,GAAG,CAAC,EAAE;YACb,cAAc,EAAE,4CAA4C;YAC5D,QAAQ,EACN,oEAAoE;YACtE,WAAW,EAAE,GAAG,GAAG,IAAI;YACvB,OAAO,EAAE,CAAC;YACV,WAAW,EAAE,8CAA8C;SAC5D;KACF;CACF,CAAC;AAEF,MAAa,UAAW,SAAQ,sBAAS;IAMvC,YACY,OAAgB,EAC1B,MAAc,EACJ,SAAqB;QAE/B,KAAK,CACH,OAAO,EACP,MAAM,EACN,SAAS,EACT,IAAI,EACJ,wBAAgB,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,cAAc,EAChD,wBAAgB,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,EAC7C,wBAAgB,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAC1C,wBAAgB,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EACzC,wBAAgB,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,CAC9C,CAAC;QAdQ,YAAO,GAAP,OAAO,CAAS;QAEhB,cAAS,GAAT,SAAS,CAAY;QAa/B,IAAI,CAAC,YAAY,GAAG,IAAI,eAAS,CAAC,+BAAe,CAAC,CAAC;IACrD,CAAC;IAES,oBAAoB,CAAC,IAAmB;QAChD,MAAM,SAAS,GAAG;YAChB,MAAM,EAAE,IAAI,CAAC,QAAS;YACtB,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,SAAS,EAAE,EAAE,CAAC;SAC9D,CAAC;QACF,MAAM,WAAW,GAAG,CAAC,MAAa,EAAE,EAAE,CACpC,QAAQ,CACN,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CACxE,GAAG,EAAE,CAAC;QACT,OAAO;YACL,SAAS;YACT,WAAW;SACZ,CAAC;IACJ,CAAC;;AAtCH,gCAuCC;AApCe,6BAAkB,GAC9B,IAAA,6BAAqB,EAAC,wBAAgB,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"nomiswap-v2.js","sourceRoot":"","sources":["../../../src/dex/uniswap-v2/nomiswap-v2.ts"],"names":[],"mappings":";;;;;;AAAA,+CAA0C;AAC1C,uCAAoD;AAEpD,yDAAoE;AACpE,4CAA+C;AAC/C,wGAA0E;AAI7D,QAAA,gBAAgB,GAA4B;IACvD,UAAU,EAAE;QACV,CAAC,mBAAO,CAAC,GAAG,CAAC,EAAE;YACb,cAAc,EAAE,4CAA4C;YAC5D,QAAQ,EACN,oEAAoE;YACtE,WAAW,EAAE,GAAG,GAAG,IAAI;YACvB,OAAO,EAAE,CAAC;YACV,WAAW,EAAE,8CAA8C;SAC5D;KACF;IACD,gEAAgE;IAChE,OAAO,EAAE;QACP,CAAC,mBAAO,CAAC,MAAM,CAAC,EAAE;YAChB,cAAc,EAAE,4CAA4C;YAC5D,QAAQ,EACN,oEAAoE;YACtE,WAAW,EAAE,GAAG,GAAG,IAAI;YACvB,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,8CAA8C;SAC5D;KACF;CACF,CAAC;AAEF,MAAa,UAAW,SAAQ,sBAAS;IAMvC,YACY,OAAgB,EAC1B,MAAc,EACJ,SAAqB;QAE/B,KAAK,CACH,OAAO,EACP,MAAM,EACN,SAAS,EACT,IAAI,EACJ,wBAAgB,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,cAAc,EAChD,wBAAgB,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,EAC7C,wBAAgB,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAC1C,wBAAgB,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EACzC,wBAAgB,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,CAC9C,CAAC;QAdQ,YAAO,GAAP,OAAO,CAAS;QAEhB,cAAS,GAAT,SAAS,CAAY;QAa/B,IAAI,CAAC,YAAY,GAAG,IAAI,eAAS,CAAC,+BAAe,CAAC,CAAC;IACrD,CAAC;IAES,oBAAoB,CAAC,IAAmB;QAChD,MAAM,SAAS,GAAG;YAChB,MAAM,EAAE,IAAI,CAAC,QAAS;YACtB,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,SAAS,EAAE,EAAE,CAAC;SAC9D,CAAC;QACF,MAAM,WAAW,GAAG,CAAC,MAAa,EAAE,EAAE,CACpC,QAAQ,CACN,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CACxE,GAAG,EAAE,CAAC;QACT,OAAO;YACL,SAAS;YACT,WAAW;SACZ,CAAC;IACJ,CAAC;;AAtCH,gCAuCC;AApCe,6BAAkB,GAC9B,IAAA,6BAAqB,EAAC,wBAAgB,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -288,4 +288,26 @@ describe('Algebra', () => {
|
|
|
288
288
|
nativeTokenAmount,
|
|
289
289
|
);
|
|
290
290
|
});
|
|
291
|
+
|
|
292
|
+
describe('SwaprV3', () => {
|
|
293
|
+
const dexKey = 'SwaprV3';
|
|
294
|
+
const network = Network.GNOSIS;
|
|
295
|
+
|
|
296
|
+
const tokenASymbol: string = 'WXDAI';
|
|
297
|
+
const tokenBSymbol: string = 'USDC';
|
|
298
|
+
|
|
299
|
+
const tokenAAmount: string = '1000000000000000000';
|
|
300
|
+
const tokenBAmount: string = '100000000';
|
|
301
|
+
const nativeTokenAmount = '1000000000000000000';
|
|
302
|
+
|
|
303
|
+
testForNetwork(
|
|
304
|
+
network,
|
|
305
|
+
dexKey,
|
|
306
|
+
tokenASymbol,
|
|
307
|
+
tokenBSymbol,
|
|
308
|
+
tokenAAmount,
|
|
309
|
+
tokenBAmount,
|
|
310
|
+
nativeTokenAmount,
|
|
311
|
+
);
|
|
312
|
+
});
|
|
291
313
|
});
|
|
@@ -62,6 +62,8 @@ export const AlgebraConfig: DexConfigMap<DexParams> = {
|
|
|
62
62
|
subgraphURL: '3CA9ffebLkS3N2otXaSj8XaDDdspty75upBjKTUS79qY',
|
|
63
63
|
uniswapMulticall: '0x1F98415757620B543A52E61c46B32eB19261F984',
|
|
64
64
|
deployer: '0xc0d4323426c709e8d04b5b130e7f059523464a91',
|
|
65
|
+
// optimism fork uses v1.9-bidirectional-fee (with TickSpacing event and simple `fee` in globalState),
|
|
66
|
+
// not sure why v1.1 is used here
|
|
65
67
|
version: 'v1.1',
|
|
66
68
|
},
|
|
67
69
|
},
|
|
@@ -79,6 +81,25 @@ export const AlgebraConfig: DexConfigMap<DexParams> = {
|
|
|
79
81
|
uniswapMulticall: '0x1F98415757620B543A52E61c46B32eB19261F984',
|
|
80
82
|
deployer: '0x6dd3fb9653b10e806650f107c3b5a0a6ff974f65',
|
|
81
83
|
version: 'v1.9',
|
|
84
|
+
// looks like it isn't used as we override it with dexHelper.config.data.forceRpcFallbackDexs in constructor
|
|
85
|
+
forceRPC: true,
|
|
86
|
+
},
|
|
87
|
+
},
|
|
88
|
+
SwaprV3: {
|
|
89
|
+
[Network.GNOSIS]: {
|
|
90
|
+
factory: '0xA0864cCA6E114013AB0e27cbd5B6f4c8947da766',
|
|
91
|
+
router: '0xfFB643E73f280B97809A8b41f7232AB401a04ee1',
|
|
92
|
+
quoter: '0xcBaD9FDf0D2814659Eb26f600EFDeAF005Eda0F7',
|
|
93
|
+
initHash:
|
|
94
|
+
'0xbce37a54eab2fcd71913a0d40723e04238970e7fc1159bfd58ad5b79531697e7',
|
|
95
|
+
chunksCount: 10,
|
|
96
|
+
initRetryFrequency: 10,
|
|
97
|
+
// AlgebraStateMulticall
|
|
98
|
+
algebraStateMulticall: '0x49C46f7f88110ccA234ef27Cd664510f7bbF5998',
|
|
99
|
+
subgraphURL: 'AAA1vYjxwFHzbt6qKwLHNcDSASyr1J1xVViDH8gTMFMR',
|
|
100
|
+
uniswapMulticall: '0x4dfa9a980efE4802E969AC33968E3d6E59B8a19e',
|
|
101
|
+
deployer: '0xC1b576AC6Ec749d5Ace1787bF9Ec6340908ddB47',
|
|
102
|
+
version: 'v1.9-bidirectional-fee',
|
|
82
103
|
forceRPC: true,
|
|
83
104
|
},
|
|
84
105
|
},
|
|
@@ -18,6 +18,17 @@ export const NomiswapV2Config: DexConfigMap<DexParams> = {
|
|
|
18
18
|
subgraphURL: '5CBKsDihF7KeBrNX4bgtb4tVFqy41PguVm88zBGpd4Hi',
|
|
19
19
|
},
|
|
20
20
|
},
|
|
21
|
+
// not exactly the same, but swapFee logic works in the same way
|
|
22
|
+
SwaprV2: {
|
|
23
|
+
[Network.GNOSIS]: {
|
|
24
|
+
factoryAddress: '0x5D48C95AdfFD4B40c1AAADc4e08fc44117E02179',
|
|
25
|
+
initCode:
|
|
26
|
+
'0xfcee8e246628cf9708fcb9d6f5d4aa0d96b62bb50f1af012a75a3292849e2dca',
|
|
27
|
+
poolGasCost: 120 * 1000,
|
|
28
|
+
feeCode: 25, // this is ignored as SwaprV2 uses dynamic fees,
|
|
29
|
+
subgraphURL: 'EWoa3JwNntAWtaLsLixTU25smp4R5tzGvs9rFXx9NHKZ',
|
|
30
|
+
},
|
|
31
|
+
},
|
|
21
32
|
};
|
|
22
33
|
|
|
23
34
|
export class NomiswapV2 extends UniswapV2 {
|
|
@@ -191,4 +191,93 @@ describe('UniswapV2 E2E Gnosis', () => {
|
|
|
191
191
|
});
|
|
192
192
|
});
|
|
193
193
|
});
|
|
194
|
+
|
|
195
|
+
describe('SwaprV2', () => {
|
|
196
|
+
const dexKey = 'SwaprV2';
|
|
197
|
+
|
|
198
|
+
describe('swapExactAmountIn', () => {
|
|
199
|
+
it('SushiSwap ETH -> TOKEN', async () => {
|
|
200
|
+
await testE2E(
|
|
201
|
+
tokens.XDAI,
|
|
202
|
+
tokens.USDC,
|
|
203
|
+
holders.XDAI,
|
|
204
|
+
'700000000000000000',
|
|
205
|
+
SwapSide.SELL,
|
|
206
|
+
dexKey,
|
|
207
|
+
ContractMethod.swapExactAmountIn,
|
|
208
|
+
network,
|
|
209
|
+
provider,
|
|
210
|
+
);
|
|
211
|
+
});
|
|
212
|
+
it('SwaprV2 TOKEN -> ETH', async () => {
|
|
213
|
+
await testE2E(
|
|
214
|
+
tokens.WETH,
|
|
215
|
+
tokens.XDAI,
|
|
216
|
+
holders.WETH,
|
|
217
|
+
'700000000000000000',
|
|
218
|
+
SwapSide.SELL,
|
|
219
|
+
dexKey,
|
|
220
|
+
ContractMethod.swapExactAmountIn,
|
|
221
|
+
network,
|
|
222
|
+
provider,
|
|
223
|
+
);
|
|
224
|
+
});
|
|
225
|
+
it('SwaprV2 TOKEN -> TOKEN', async () => {
|
|
226
|
+
await testE2E(
|
|
227
|
+
tokens.WETH,
|
|
228
|
+
tokens.USDC,
|
|
229
|
+
holders.WETH,
|
|
230
|
+
'7000000000000000',
|
|
231
|
+
SwapSide.SELL,
|
|
232
|
+
dexKey,
|
|
233
|
+
ContractMethod.swapExactAmountIn,
|
|
234
|
+
network,
|
|
235
|
+
provider,
|
|
236
|
+
);
|
|
237
|
+
});
|
|
238
|
+
});
|
|
239
|
+
|
|
240
|
+
describe('swapExactAmountOut', () => {
|
|
241
|
+
it('SwaprV2 ETH -> TOKEN', async () => {
|
|
242
|
+
await testE2E(
|
|
243
|
+
tokens.XDAI,
|
|
244
|
+
// SWPR/WXDAI pool has non-standard feeCode - 100
|
|
245
|
+
tokens.SWPR,
|
|
246
|
+
holders.XDAI,
|
|
247
|
+
'7000000000000000000',
|
|
248
|
+
SwapSide.BUY,
|
|
249
|
+
dexKey,
|
|
250
|
+
ContractMethod.swapExactAmountOut,
|
|
251
|
+
network,
|
|
252
|
+
provider,
|
|
253
|
+
);
|
|
254
|
+
});
|
|
255
|
+
it('SwaprV2 TOKEN -> ETH', async () => {
|
|
256
|
+
await testE2E(
|
|
257
|
+
tokens.USDC,
|
|
258
|
+
tokens.XDAI,
|
|
259
|
+
holders.USDC,
|
|
260
|
+
'7000000000000000000',
|
|
261
|
+
SwapSide.BUY,
|
|
262
|
+
dexKey,
|
|
263
|
+
ContractMethod.swapExactAmountOut,
|
|
264
|
+
network,
|
|
265
|
+
provider,
|
|
266
|
+
);
|
|
267
|
+
});
|
|
268
|
+
it('SwaprV2 TOKEN -> TOKEN', async () => {
|
|
269
|
+
await testE2E(
|
|
270
|
+
tokens.USDC,
|
|
271
|
+
tokens.WETH,
|
|
272
|
+
holders.USDC,
|
|
273
|
+
'700000000000000',
|
|
274
|
+
SwapSide.BUY,
|
|
275
|
+
dexKey,
|
|
276
|
+
ContractMethod.swapExactAmountOut,
|
|
277
|
+
network,
|
|
278
|
+
provider,
|
|
279
|
+
);
|
|
280
|
+
});
|
|
281
|
+
});
|
|
282
|
+
});
|
|
194
283
|
});
|
package/tests/constants-e2e.ts
CHANGED
|
@@ -1512,6 +1512,10 @@ export const Tokens: {
|
|
|
1512
1512
|
address: '0xaBEf652195F98A91E490f047A5006B71c85f058d',
|
|
1513
1513
|
decimals: 18,
|
|
1514
1514
|
},
|
|
1515
|
+
SWPR: {
|
|
1516
|
+
address: '0x532801ED6f82FFfD2DAB70A19fC2d7B2772C4f4b',
|
|
1517
|
+
decimals: 18,
|
|
1518
|
+
},
|
|
1515
1519
|
},
|
|
1516
1520
|
[Network.BASE]: {
|
|
1517
1521
|
wstETH: {
|
|
@@ -1963,6 +1967,7 @@ export const Holders: {
|
|
|
1963
1967
|
aGnowstETH: '0x458cD345B4C05e8DF39d0A07220feb4Ec19F5e6f',
|
|
1964
1968
|
sDAI: '0x79f08F2e75A8C99428DE4A2e6456c07C99E55da5',
|
|
1965
1969
|
crvUSD: '0xE4A982fa1f1E8AD1AF238A7b1226b13b56bf5CcD',
|
|
1970
|
+
SWPR: '0x9467dcFD4519287e3878C018c02f5670465a9003',
|
|
1966
1971
|
},
|
|
1967
1972
|
[Network.BASE]: {
|
|
1968
1973
|
WETH: '0x4bb6b2efe7036020ba6f02a05602546c9f25bf28',
|