@paraswap/dex-lib 4.8.34 → 4.8.35

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 (45) hide show
  1. package/build/abi/pancakeswap-infinity/cl-pool-manager.json +80 -0
  2. package/build/dex/fluid-dex/fluid-dex.js.map +1 -1
  3. package/build/dex/pancakeswap-infinity/config.d.ts +3 -0
  4. package/build/dex/pancakeswap-infinity/config.js +14 -0
  5. package/build/dex/pancakeswap-infinity/config.js.map +1 -0
  6. package/build/dex/pancakeswap-infinity/encoder.d.ts +4 -0
  7. package/build/dex/pancakeswap-infinity/encoder.js +205 -0
  8. package/build/dex/pancakeswap-infinity/encoder.js.map +1 -0
  9. package/build/dex/pancakeswap-infinity/pancakeswap-infinity.d.ts +21 -0
  10. package/build/dex/pancakeswap-infinity/pancakeswap-infinity.js +102 -0
  11. package/build/dex/pancakeswap-infinity/pancakeswap-infinity.js.map +1 -0
  12. package/build/dex/pancakeswap-infinity/subgraph.d.ts +7 -0
  13. package/build/dex/pancakeswap-infinity/subgraph.js +64 -0
  14. package/build/dex/pancakeswap-infinity/subgraph.js.map +1 -0
  15. package/build/dex/pancakeswap-infinity/types.d.ts +31 -0
  16. package/build/dex/pancakeswap-infinity/types.js +3 -0
  17. package/build/dex/pancakeswap-infinity/types.js.map +1 -0
  18. package/build/dex/pancakeswap-v3/scripts/measure-calc-time.d.ts +1 -0
  19. package/build/dex/pancakeswap-v3/scripts/measure-calc-time.js +203 -0
  20. package/build/dex/pancakeswap-v3/scripts/measure-calc-time.js.map +1 -0
  21. package/build/dex/solidly-v3/contract-math/native-bridge.d.ts +26 -0
  22. package/build/dex/solidly-v3/contract-math/native-bridge.js +96 -0
  23. package/build/dex/solidly-v3/contract-math/native-bridge.js.map +1 -0
  24. package/build/dex/solidly-v3/scripts/measure-calc-time.d.ts +1 -0
  25. package/build/dex/solidly-v3/scripts/measure-calc-time.js +203 -0
  26. package/build/dex/solidly-v3/scripts/measure-calc-time.js.map +1 -0
  27. package/build/dex/uniswap-v3/contract-math/native-bridge.d.ts +52 -1
  28. package/build/dex/uniswap-v3/contract-math/native-bridge.js +27 -3
  29. package/build/dex/uniswap-v3/contract-math/native-bridge.js.map +1 -1
  30. package/build/dex/uniswap-v3/scripts/bench-e2e.d.ts +1 -0
  31. package/build/dex/uniswap-v3/scripts/bench-e2e.js +85 -0
  32. package/build/dex/uniswap-v3/scripts/bench-e2e.js.map +1 -0
  33. package/build/dex/uniswap-v3/scripts/bench-parallel.d.ts +1 -0
  34. package/build/dex/uniswap-v3/scripts/bench-parallel.js +192 -0
  35. package/build/dex/uniswap-v3/scripts/bench-parallel.js.map +1 -0
  36. package/build/dex/uniswap-v4/contract-math/native-bridge.d.ts +40 -0
  37. package/build/dex/uniswap-v4/contract-math/native-bridge.js +74 -0
  38. package/build/dex/uniswap-v4/contract-math/native-bridge.js.map +1 -0
  39. package/build/dex/uniswap-v4/scripts/test-rust-correctness.d.ts +1 -0
  40. package/build/dex/uniswap-v4/scripts/test-rust-correctness.js +167 -0
  41. package/build/dex/uniswap-v4/scripts/test-rust-correctness.js.map +1 -0
  42. package/build/index.d.ts +1 -0
  43. package/build/index.js +3 -1
  44. package/build/index.js.map +1 -1
  45. package/package.json +2 -2
@@ -0,0 +1,167 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ /* eslint-disable no-console */
37
+ /*
38
+ * V4 Rust correctness test: compares JS vs Rust queryOutputs on real pool states.
39
+ * Directly instantiates pools and generates state, bypassing getPricesVolume.
40
+ */
41
+ const dotenv = __importStar(require("dotenv"));
42
+ dotenv.config();
43
+ const constants_1 = require("../../../constants");
44
+ const dex_helper_1 = require("../../../dex-helper");
45
+ const uniswap_v4_1 = require("../uniswap-v4");
46
+ const uniswap_v4_pool_math_1 = require("../contract-math/uniswap-v4-pool-math");
47
+ const native_bridge_1 = require("../contract-math/native-bridge");
48
+ const perf_hooks_1 = require("perf_hooks");
49
+ const utils_1 = require("../../../utils");
50
+ const RUNS = 1000;
51
+ (async () => {
52
+ const dh = new dex_helper_1.DummyDexHelper(constants_1.Network.MAINNET);
53
+ const bn = await dh.web3Provider.eth.getBlockNumber();
54
+ const dex = new uniswap_v4_1.UniswapV4(constants_1.Network.MAINNET, 'UniswapV4', dh);
55
+ const USDC = {
56
+ address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48',
57
+ decimals: 6,
58
+ };
59
+ const WETH = {
60
+ address: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2',
61
+ decimals: 18,
62
+ };
63
+ console.log(`Block: ${bn}\n`);
64
+ // Initialize and discover pools
65
+ await dex.initializePricing(bn);
66
+ const ids = await dex.getPoolIdentifiers(USDC, WETH, constants_1.SwapSide.SELL, bn);
67
+ console.log(`Pool identifiers: ${ids.length}`);
68
+ ids.forEach(id => console.log(` ${id}`));
69
+ // Wait for async state generation
70
+ console.log('\nWaiting for pool state generation...');
71
+ await new Promise(resolve => setTimeout(resolve, 5000));
72
+ // Access pool manager internals to get pool states directly
73
+ const poolManager = dex.poolManager;
74
+ const amounts = [
75
+ 0n,
76
+ ...Array.from({ length: 20 }, (_, i) => (0, utils_1.getBigIntPow)(6) * BigInt((i + 1) * 500)),
77
+ ];
78
+ const registry = (0, native_bridge_1.createV4Registry)();
79
+ if (!registry) {
80
+ console.log('Rust addon not available');
81
+ process.exit(1);
82
+ }
83
+ let testedPools = 0;
84
+ for (const poolId of ids) {
85
+ const eventPool = await poolManager.getEventPool(poolId, bn);
86
+ if (!eventPool) {
87
+ console.log(`\n${poolId.slice(0, 16)}... no event pool`);
88
+ continue;
89
+ }
90
+ const state = eventPool.getState(bn);
91
+ if (!state) {
92
+ console.log(`\n${poolId.slice(0, 16)}... no state`);
93
+ continue;
94
+ }
95
+ // Find the Pool object for this id
96
+ const pools = await poolManager.getAvailablePoolsForPair(USDC.address.toLowerCase(), WETH.address.toLowerCase(), bn);
97
+ const pool = pools.find((p) => p.id === poolId);
98
+ if (!pool) {
99
+ console.log(`\n${poolId.slice(0, 16)}... pool object not found`);
100
+ continue;
101
+ }
102
+ const tickSpacing = pool.key.tickSpacing;
103
+ const fromAddress = USDC.address.toLowerCase();
104
+ const currency0 = pool.key.currency0;
105
+ const zeroForOne = fromAddress === currency0 ||
106
+ (fromAddress === WETH.address.toLowerCase() &&
107
+ currency0 === '0x0000000000000000000000000000000000000000');
108
+ console.log(`\n${poolId.slice(0, 16)}... tickSpacing=${tickSpacing} ticks=${Object.keys(state.ticks).length} liquidity=${state.liquidity}`);
109
+ console.log(` sqrtPrice=${state.slot0.sqrtPriceX96} tick=${state.slot0.tick} zeroForOne=${zeroForOne}`);
110
+ console.log(` protocolFee=${state.slot0.protocolFee} lpFee=${state.slot0.lpFee}`);
111
+ // Check if pool has hooks
112
+ const hasHooks = pool.key.hooks !== '0x0000000000000000000000000000000000000000';
113
+ if (hasHooks) {
114
+ console.log(` HOOKS: ${pool.key.hooks} — skipping Rust (hooks need JS)`);
115
+ continue;
116
+ }
117
+ // JS queryOutputs
118
+ const jsOutputs = uniswap_v4_pool_math_1.uniswapV4PoolMath.queryOutputs(pool, state, amounts, zeroForOne, constants_1.SwapSide.SELL);
119
+ // Rust queryOutputs via registry
120
+ (0, native_bridge_1.v4RegistrySetPool)(registry, poolId, state, pool);
121
+ const rustResults = registry.queryMany([poolId], amounts, zeroForOne, 0);
122
+ const rustOutputs = rustResults.find((r) => r.key === poolId)?.outputs;
123
+ if (!rustOutputs) {
124
+ console.log(' Rust: no results returned');
125
+ continue;
126
+ }
127
+ // Compare
128
+ let mismatches = 0;
129
+ for (let i = 0; i < amounts.length; i++) {
130
+ if (jsOutputs[i] !== rustOutputs[i]) {
131
+ mismatches++;
132
+ if (mismatches <= 5) {
133
+ console.log(` MISMATCH[${i}] amount=${amounts[i]} js=${jsOutputs[i]} rust=${rustOutputs[i]}`);
134
+ }
135
+ }
136
+ }
137
+ if (mismatches === 0) {
138
+ console.log(` CORRECT: all ${amounts.length} outputs match`);
139
+ // Benchmark
140
+ const jsM = [];
141
+ for (let i = 0; i < RUNS; i++) {
142
+ const s = perf_hooks_1.performance.now();
143
+ uniswap_v4_pool_math_1.uniswapV4PoolMath.queryOutputs(pool, state, amounts, zeroForOne, constants_1.SwapSide.SELL);
144
+ jsM.push(perf_hooks_1.performance.now() - s);
145
+ }
146
+ const rustM = [];
147
+ for (let i = 0; i < RUNS; i++) {
148
+ const s = perf_hooks_1.performance.now();
149
+ registry.queryMany([poolId], amounts, zeroForOne, 0);
150
+ rustM.push(perf_hooks_1.performance.now() - s);
151
+ }
152
+ const jsP50 = [...jsM]
153
+ .sort((a, b) => a - b)[Math.floor(jsM.length * 0.5)].toFixed(3);
154
+ const rustP50 = [...rustM]
155
+ .sort((a, b) => a - b)[Math.floor(rustM.length * 0.5)].toFixed(3);
156
+ const speedup = (parseFloat(jsP50) / parseFloat(rustP50)).toFixed(1);
157
+ console.log(` JS p50=${jsP50}ms Rust p50=${rustP50}ms speedup=${speedup}x`);
158
+ }
159
+ else {
160
+ console.log(` ${mismatches}/${amounts.length} MISMATCHES`);
161
+ }
162
+ testedPools++;
163
+ }
164
+ console.log(`\nTested ${testedPools} pools`);
165
+ process.exit(0);
166
+ })();
167
+ //# sourceMappingURL=test-rust-correctness.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-rust-correctness.js","sourceRoot":"","sources":["../../../../src/dex/uniswap-v4/scripts/test-rust-correctness.ts"],"names":[],"mappings":"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"}
package/build/index.d.ts CHANGED
@@ -9,3 +9,4 @@ export { Log, PoolLiquidity, PoolPrices, ExchangePrices, Token, LoggerConstructo
9
9
  export { IDex } from './dex/idex';
10
10
  export { ConfigHelper } from './config';
11
11
  export { SlippageCheckError, BlacklistError } from './dex/generic-rfq/types';
12
+ export { TenderlySimulator, StateOverride, SimulatedTransaction, SimulationResult, } from './tenderly-simulation';
package/build/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BlacklistError = exports.SlippageCheckError = exports.ConfigHelper = exports.StatefulEventSubscriber = exports.DexAdapterService = exports.PoolsHelper = exports.PricingHelper = exports.GenericSwapTransactionBuilder = exports.TransactionBuilder = void 0;
3
+ exports.TenderlySimulator = exports.BlacklistError = exports.SlippageCheckError = exports.ConfigHelper = exports.StatefulEventSubscriber = exports.DexAdapterService = exports.PoolsHelper = exports.PricingHelper = exports.GenericSwapTransactionBuilder = exports.TransactionBuilder = void 0;
4
4
  var transaction_builder_1 = require("./transaction-builder");
5
5
  Object.defineProperty(exports, "TransactionBuilder", { enumerable: true, get: function () { return transaction_builder_1.TransactionBuilder; } });
6
6
  var generic_swap_transaction_builder_1 = require("./generic-swap-transaction-builder");
@@ -18,4 +18,6 @@ Object.defineProperty(exports, "ConfigHelper", { enumerable: true, get: function
18
18
  var types_1 = require("./dex/generic-rfq/types");
19
19
  Object.defineProperty(exports, "SlippageCheckError", { enumerable: true, get: function () { return types_1.SlippageCheckError; } });
20
20
  Object.defineProperty(exports, "BlacklistError", { enumerable: true, get: function () { return types_1.BlacklistError; } });
21
+ var tenderly_simulation_1 = require("./tenderly-simulation");
22
+ Object.defineProperty(exports, "TenderlySimulator", { enumerable: true, get: function () { return tenderly_simulation_1.TenderlySimulator; } });
21
23
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,6DAA2D;AAAlD,yHAAA,kBAAkB,OAAA;AAC3B,uFAAmF;AAA1E,iJAAA,6BAA6B,OAAA;AAEtC,mDAAiD;AAAxC,+GAAA,aAAa,OAAA;AACtB,+CAA6C;AAApC,2GAAA,WAAW,OAAA;AAEpB,6BAA0C;AAAjC,wGAAA,iBAAiB,OAAA;AAa1B,yEAAsE;AAA7D,oIAAA,uBAAuB,OAAA;AAgBhC,mCAAwC;AAA/B,sGAAA,YAAY,OAAA;AAErB,iDAA6E;AAApE,2GAAA,kBAAkB,OAAA;AAAE,uGAAA,cAAc,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,6DAA2D;AAAlD,yHAAA,kBAAkB,OAAA;AAC3B,uFAAmF;AAA1E,iJAAA,6BAA6B,OAAA;AAEtC,mDAAiD;AAAxC,+GAAA,aAAa,OAAA;AACtB,+CAA6C;AAApC,2GAAA,WAAW,OAAA;AAEpB,6BAA0C;AAAjC,wGAAA,iBAAiB,OAAA;AAa1B,yEAAsE;AAA7D,oIAAA,uBAAuB,OAAA;AAgBhC,mCAAwC;AAA/B,sGAAA,YAAY,OAAA;AAErB,iDAA6E;AAApE,2GAAA,kBAAkB,OAAA;AAAE,uGAAA,cAAc,OAAA;AAE3C,6DAK+B;AAJ7B,wHAAA,iBAAiB,OAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paraswap/dex-lib",
3
- "version": "4.8.34",
3
+ "version": "4.8.35",
4
4
  "main": "build/index.js",
5
5
  "types": "build/index.d.ts",
6
6
  "repository": "https://github.com/paraswap/paraswap-dex-lib",
@@ -57,7 +57,7 @@
57
57
  "@ethersproject/abi": "^5.7.0",
58
58
  "@hashflow/sdk": "^2.2.7",
59
59
  "@hashflow/taker-js": "^0.4.1",
60
- "@paraswap/core": "2.4.2",
60
+ "@paraswap/core": "2.4.3",
61
61
  "@types/ws": "^8.5.12",
62
62
  "async": "^3.2.4",
63
63
  "axios": "0.27.2",