@paraswap/dex-lib 2.49.3 → 2.50.0

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 (58) hide show
  1. package/build/abi/algebra/AlgebraPool.abi.json +727 -0
  2. package/build/abi/uniswap-v3/UniswapV3Quoter.abi.json +193 -0
  3. package/build/dex/algebra/algebra-pool-v1_1.d.ts +3 -2
  4. package/build/dex/algebra/algebra-pool-v1_1.js +3 -2
  5. package/build/dex/algebra/algebra-pool-v1_1.js.map +1 -1
  6. package/build/dex/algebra/algebra-pool-v1_9_bidirectional_fee.d.ts +16 -0
  7. package/build/dex/algebra/algebra-pool-v1_9_bidirectional_fee.js +26 -0
  8. package/build/dex/algebra/algebra-pool-v1_9_bidirectional_fee.js.map +1 -0
  9. package/build/dex/algebra/algebra-pool-v1_9_directional_fee.d.ts +54 -0
  10. package/build/dex/algebra/algebra-pool-v1_9_directional_fee.js +356 -0
  11. package/build/dex/algebra/algebra-pool-v1_9_directional_fee.js.map +1 -0
  12. package/build/dex/algebra/algebra-pool.d.ts +46 -0
  13. package/build/dex/algebra/algebra-pool.js +336 -0
  14. package/build/dex/algebra/algebra-pool.js.map +1 -0
  15. package/build/dex/algebra/algebra.d.ts +2 -1
  16. package/build/dex/algebra/algebra.js +6 -1
  17. package/build/dex/algebra/algebra.js.map +1 -1
  18. package/build/dex/algebra/config.js +16 -0
  19. package/build/dex/algebra/config.js.map +1 -1
  20. package/build/dex/algebra/types.d.ts +1 -1
  21. package/build/dex/pancakeswap-v3/config.js +0 -15
  22. package/build/dex/pancakeswap-v3/config.js.map +1 -1
  23. package/build/dex/pancakeswap-v3/pancakeswap-v3.js +1 -1
  24. package/build/dex/pancakeswap-v3/pancakeswap-v3.js.map +1 -1
  25. package/build/dex/quickswap/camelot-v3.d.ts +6 -0
  26. package/build/dex/quickswap/camelot-v3.js +19 -0
  27. package/build/dex/quickswap/camelot-v3.js.map +1 -0
  28. package/build/dex/quickswap/zyberswap-v3.d.ts +6 -0
  29. package/build/dex/quickswap/zyberswap-v3.js +19 -0
  30. package/build/dex/quickswap/zyberswap-v3.js.map +1 -0
  31. package/build/dex/uniswap-v2/rebase-tokens.json +7 -0
  32. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.js +0 -15
  33. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.js.map +1 -1
  34. package/build/dex-helper/Cache.d.ts +31 -0
  35. package/build/dex-helper/Cache.js +106 -0
  36. package/build/dex-helper/Cache.js.map +1 -0
  37. package/build/dex-helper/RedisWrapper.d.ts +37 -0
  38. package/build/dex-helper/RedisWrapper.js +165 -0
  39. package/build/dex-helper/RedisWrapper.js.map +1 -0
  40. package/package.json +1 -1
  41. package/src/abi/uniswap-v3/AlienBaseV3Router.abi.json +52 -0
  42. package/src/dex/algebra/algebra-e2e.test.ts +22 -0
  43. package/src/dex/algebra/algebra-pool-v1_1.ts +3 -2
  44. package/src/dex/algebra/algebra-pool-v1_9_bidirectional_fee.ts +55 -0
  45. package/src/dex/algebra/algebra.ts +12 -3
  46. package/src/dex/algebra/config.ts +18 -0
  47. package/src/dex/algebra/types.ts +1 -1
  48. package/src/dex/pancakeswap-v3/config.ts +0 -16
  49. package/src/dex/pancakeswap-v3/pancakeswap-v3.ts +1 -3
  50. package/.vscode/launch.json +0 -53
  51. package/.vscode/settings.json +0 -2
  52. package/.vscode/tasks.json +0 -15
  53. package/build/dex/solidly-v3/scripts/check-event-pool-event.d.ts +0 -1
  54. package/build/dex/solidly-v3/scripts/check-event-pool-event.js +0 -53
  55. package/build/dex/solidly-v3/scripts/check-event-pool-event.js.map +0 -1
  56. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.d.ts +0 -17
  57. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.js +0 -64
  58. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.js.map +0 -1
@@ -0,0 +1,193 @@
1
+ [
2
+ {
3
+ "inputs": [
4
+ {
5
+ "internalType": "address",
6
+ "name": "_factory",
7
+ "type": "address"
8
+ },
9
+ {
10
+ "internalType": "address",
11
+ "name": "_WETH9",
12
+ "type": "address"
13
+ }
14
+ ],
15
+ "stateMutability": "nonpayable",
16
+ "type": "constructor"
17
+ },
18
+ {
19
+ "inputs": [],
20
+ "name": "WETH9",
21
+ "outputs": [
22
+ {
23
+ "internalType": "address",
24
+ "name": "",
25
+ "type": "address"
26
+ }
27
+ ],
28
+ "stateMutability": "view",
29
+ "type": "function"
30
+ },
31
+ {
32
+ "inputs": [],
33
+ "name": "factory",
34
+ "outputs": [
35
+ {
36
+ "internalType": "address",
37
+ "name": "",
38
+ "type": "address"
39
+ }
40
+ ],
41
+ "stateMutability": "view",
42
+ "type": "function"
43
+ },
44
+ {
45
+ "inputs": [
46
+ {
47
+ "internalType": "bytes",
48
+ "name": "path",
49
+ "type": "bytes"
50
+ },
51
+ {
52
+ "internalType": "uint256",
53
+ "name": "amountIn",
54
+ "type": "uint256"
55
+ }
56
+ ],
57
+ "name": "quoteExactInput",
58
+ "outputs": [
59
+ {
60
+ "internalType": "uint256",
61
+ "name": "amountOut",
62
+ "type": "uint256"
63
+ }
64
+ ],
65
+ "stateMutability": "nonpayable",
66
+ "type": "function"
67
+ },
68
+ {
69
+ "inputs": [
70
+ {
71
+ "internalType": "address",
72
+ "name": "tokenIn",
73
+ "type": "address"
74
+ },
75
+ {
76
+ "internalType": "address",
77
+ "name": "tokenOut",
78
+ "type": "address"
79
+ },
80
+ {
81
+ "internalType": "uint24",
82
+ "name": "fee",
83
+ "type": "uint24"
84
+ },
85
+ {
86
+ "internalType": "uint256",
87
+ "name": "amountIn",
88
+ "type": "uint256"
89
+ },
90
+ {
91
+ "internalType": "uint160",
92
+ "name": "sqrtPriceLimitX96",
93
+ "type": "uint160"
94
+ }
95
+ ],
96
+ "name": "quoteExactInputSingle",
97
+ "outputs": [
98
+ {
99
+ "internalType": "uint256",
100
+ "name": "amountOut",
101
+ "type": "uint256"
102
+ }
103
+ ],
104
+ "stateMutability": "nonpayable",
105
+ "type": "function"
106
+ },
107
+ {
108
+ "inputs": [
109
+ {
110
+ "internalType": "bytes",
111
+ "name": "path",
112
+ "type": "bytes"
113
+ },
114
+ {
115
+ "internalType": "uint256",
116
+ "name": "amountOut",
117
+ "type": "uint256"
118
+ }
119
+ ],
120
+ "name": "quoteExactOutput",
121
+ "outputs": [
122
+ {
123
+ "internalType": "uint256",
124
+ "name": "amountIn",
125
+ "type": "uint256"
126
+ }
127
+ ],
128
+ "stateMutability": "nonpayable",
129
+ "type": "function"
130
+ },
131
+ {
132
+ "inputs": [
133
+ {
134
+ "internalType": "address",
135
+ "name": "tokenIn",
136
+ "type": "address"
137
+ },
138
+ {
139
+ "internalType": "address",
140
+ "name": "tokenOut",
141
+ "type": "address"
142
+ },
143
+ {
144
+ "internalType": "uint24",
145
+ "name": "fee",
146
+ "type": "uint24"
147
+ },
148
+ {
149
+ "internalType": "uint256",
150
+ "name": "amountOut",
151
+ "type": "uint256"
152
+ },
153
+ {
154
+ "internalType": "uint160",
155
+ "name": "sqrtPriceLimitX96",
156
+ "type": "uint160"
157
+ }
158
+ ],
159
+ "name": "quoteExactOutputSingle",
160
+ "outputs": [
161
+ {
162
+ "internalType": "uint256",
163
+ "name": "amountIn",
164
+ "type": "uint256"
165
+ }
166
+ ],
167
+ "stateMutability": "nonpayable",
168
+ "type": "function"
169
+ },
170
+ {
171
+ "inputs": [
172
+ {
173
+ "internalType": "int256",
174
+ "name": "amount0Delta",
175
+ "type": "int256"
176
+ },
177
+ {
178
+ "internalType": "int256",
179
+ "name": "amount1Delta",
180
+ "type": "int256"
181
+ },
182
+ {
183
+ "internalType": "bytes",
184
+ "name": "path",
185
+ "type": "bytes"
186
+ }
187
+ ],
188
+ "name": "uniswapV3SwapCallback",
189
+ "outputs": [],
190
+ "stateMutability": "view",
191
+ "type": "function"
192
+ }
193
+ ]
@@ -14,7 +14,8 @@ export declare class AlgebraEventPoolV1_1 extends StatefulEventSubscriber<PoolSt
14
14
  readonly poolInitCodeHash: string;
15
15
  readonly poolDeployer: string;
16
16
  private readonly forceManualStateGeneration;
17
- handlers: {
17
+ private readonly areTicksCompressed;
18
+ protected handlers: {
18
19
  [event: string]: (event: any, state: DeepReadonly<PoolStateV1_1>, log: Readonly<Log>, blockHeader: BlockHeader) => DeepReadonly<PoolStateV1_1> | null;
19
20
  };
20
21
  logDecoder: (log: Log) => any;
@@ -28,7 +29,7 @@ export declare class AlgebraEventPoolV1_1 extends StatefulEventSubscriber<PoolSt
28
29
  private optimalTickRequestBatchSize?;
29
30
  initFailed: boolean;
30
31
  initRetryAttemptCount: number;
31
- constructor(dexHelper: IDexHelper, parentName: string, stateMultiContract: Contract, erc20Interface: Interface, factoryAddress: Address, token0: Address, token1: Address, logger: Logger, mapKey: string | undefined, poolInitCodeHash: string, poolDeployer: string, forceManualStateGeneration?: boolean);
32
+ constructor(dexHelper: IDexHelper, parentName: string, stateMultiContract: Contract, erc20Interface: Interface, factoryAddress: Address, token0: Address, token1: Address, logger: Logger, mapKey: string | undefined, poolInitCodeHash: string, poolDeployer: string, forceManualStateGeneration?: boolean, areTicksCompressed?: boolean);
32
33
  get poolAddress(): Address;
33
34
  set poolAddress(address: Address);
34
35
  initialize(blockNumber: number, options?: InitializeStateOptions<PoolStateV1_1>): Promise<void>;
@@ -25,7 +25,7 @@ const BN_ZERO = ethers_1.BigNumber.from(0);
25
25
  const MAX_BATCH_SIZE = 100;
26
26
  const MAX_NUMBER_OF_BATCH_REQUEST_HALVING = 3;
27
27
  class AlgebraEventPoolV1_1 extends stateful_event_subscriber_1.StatefulEventSubscriber {
28
- constructor(dexHelper, parentName, stateMultiContract, erc20Interface, factoryAddress, token0, token1, logger, mapKey = '', poolInitCodeHash, poolDeployer, forceManualStateGeneration = false) {
28
+ constructor(dexHelper, parentName, stateMultiContract, erc20Interface, factoryAddress, token0, token1, logger, mapKey = '', poolInitCodeHash, poolDeployer, forceManualStateGeneration = false, areTicksCompressed = true) {
29
29
  super(parentName, `${token0}_${token1}`, dexHelper, logger, true, mapKey);
30
30
  this.dexHelper = dexHelper;
31
31
  this.stateMultiContract = stateMultiContract;
@@ -34,6 +34,7 @@ class AlgebraEventPoolV1_1 extends stateful_event_subscriber_1.StatefulEventSubs
34
34
  this.poolInitCodeHash = poolInitCodeHash;
35
35
  this.poolDeployer = poolDeployer;
36
36
  this.forceManualStateGeneration = forceManualStateGeneration;
37
+ this.areTicksCompressed = areTicksCompressed;
37
38
  this.handlers = {};
38
39
  this.poolIface = new abi_1.Interface(AlgebraPool_v1_1_abi_json_1.default);
39
40
  this.factoryIface = new abi_1.Interface(AlgebraFactory_v1_1_abi_json_1.default);
@@ -393,7 +394,7 @@ class AlgebraEventPoolV1_1 extends stateful_event_subscriber_1.StatefulEventSubs
393
394
  isValid: true,
394
395
  balance0,
395
396
  balance1,
396
- areTicksCompressed: true,
397
+ areTicksCompressed: this.areTicksCompressed,
397
398
  };
398
399
  }
399
400
  handleSwapEvent(event, pool, log, blockHeader) {
@@ -1 +1 @@
1
- {"version":3,"file":"algebra-pool-v1_1.js","sourceRoot":"","sources":["../../../src/dex/algebra/algebra-pool-v1_1.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"algebra-pool-v1_1.js","sourceRoot":"","sources":["../../../src/dex/algebra/algebra-pool-v1_1.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { Interface } from '@ethersproject/abi';
2
+ import { Contract } from 'web3-eth-contract';
3
+ import { IDexHelper } from '../../dex-helper/idex-helper';
4
+ import { Address, BlockHeader, Log, Logger } from '../../types';
5
+ import { AlgebraEventPoolV1_1 } from './algebra-pool-v1_1';
6
+ import { PoolStateV1_1 } from './types';
7
+ export declare class AlgebraEventPoolV1_9_bidirectional_fee extends AlgebraEventPoolV1_1 {
8
+ readonly dexHelper: IDexHelper;
9
+ readonly stateMultiContract: Contract;
10
+ readonly erc20Interface: Interface;
11
+ protected readonly factoryAddress: Address;
12
+ readonly poolInitCodeHash: string;
13
+ readonly poolDeployer: string;
14
+ constructor(dexHelper: IDexHelper, parentName: string, stateMultiContract: Contract, erc20Interface: Interface, factoryAddress: Address, token0: Address, token1: Address, logger: Logger, mapKey: string | undefined, poolInitCodeHash: string, poolDeployer: string);
15
+ handleTickSpacing(event: any, pool: PoolStateV1_1, log: Log, blockHeader: BlockHeader): PoolStateV1_1;
16
+ }
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AlgebraEventPoolV1_9_bidirectional_fee = void 0;
4
+ const utils_1 = require("../../utils");
5
+ const algebra_pool_v1_1_1 = require("./algebra-pool-v1_1");
6
+ class AlgebraEventPoolV1_9_bidirectional_fee extends algebra_pool_v1_1_1.AlgebraEventPoolV1_1 {
7
+ constructor(dexHelper, parentName, stateMultiContract, erc20Interface, factoryAddress, token0, token1, logger, mapKey = '', poolInitCodeHash, poolDeployer) {
8
+ super(dexHelper, parentName, stateMultiContract, erc20Interface, factoryAddress, token0, token1, logger, mapKey, poolInitCodeHash, poolDeployer, false, // forceManualStateGeneration; mainly for zkEVM
9
+ false);
10
+ this.dexHelper = dexHelper;
11
+ this.stateMultiContract = stateMultiContract;
12
+ this.erc20Interface = erc20Interface;
13
+ this.factoryAddress = factoryAddress;
14
+ this.poolInitCodeHash = poolInitCodeHash;
15
+ this.poolDeployer = poolDeployer;
16
+ this.handlers['TickSpacing'] = this.handleTickSpacing.bind(this);
17
+ }
18
+ handleTickSpacing(event, pool, log, blockHeader) {
19
+ const newTickSpacing = (0, utils_1.bigIntify)(event.args.newTickSpacing);
20
+ pool.tickSpacing = newTickSpacing;
21
+ pool.blockTimestamp = (0, utils_1.bigIntify)(blockHeader.timestamp);
22
+ return pool;
23
+ }
24
+ }
25
+ exports.AlgebraEventPoolV1_9_bidirectional_fee = AlgebraEventPoolV1_9_bidirectional_fee;
26
+ //# sourceMappingURL=algebra-pool-v1_9_bidirectional_fee.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"algebra-pool-v1_9_bidirectional_fee.js","sourceRoot":"","sources":["../../../src/dex/algebra/algebra-pool-v1_9_bidirectional_fee.ts"],"names":[],"mappings":";;;AAIA,uCAAwC;AACxC,2DAA2D;AAG3D,MAAa,sCAAuC,SAAQ,wCAAoB;IAC9E,YACW,SAAqB,EAC9B,UAAkB,EACT,kBAA4B,EAC5B,cAAyB,EACf,cAAuB,EAC1C,MAAe,EACf,MAAe,EACf,MAAc,EACd,SAAiB,EAAE,EACV,gBAAwB,EACxB,YAAoB;QAE7B,KAAK,CACH,SAAS,EACT,UAAU,EACV,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,MAAM,EACN,MAAM,EACN,MAAM,EACN,MAAM,EACN,gBAAgB,EAChB,YAAY,EACZ,KAAK,EAAE,+CAA+C;QACtD,KAAK,CACN,CAAC;QA1BO,cAAS,GAAT,SAAS,CAAY;QAErB,uBAAkB,GAAlB,kBAAkB,CAAU;QAC5B,mBAAc,GAAd,cAAc,CAAW;QACf,mBAAc,GAAd,cAAc,CAAS;QAKjC,qBAAgB,GAAhB,gBAAgB,CAAQ;QACxB,iBAAY,GAAZ,YAAY,CAAQ;QAkB7B,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnE,CAAC;IAED,iBAAiB,CACf,KAAU,EACV,IAAmB,EACnB,GAAQ,EACR,WAAwB;QAExB,MAAM,cAAc,GAAG,IAAA,iBAAS,EAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAE5D,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC;QAClC,IAAI,CAAC,cAAc,GAAG,IAAA,iBAAS,EAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAEvD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AA9CD,wFA8CC"}
@@ -0,0 +1,54 @@
1
+ import { Interface } from '@ethersproject/abi';
2
+ import { DeepReadonly } from 'ts-essentials';
3
+ import { Address, BlockHeader, Log, Logger } from '../../types';
4
+ import { InitializeStateOptions, StatefulEventSubscriber } from '../../stateful-event-subscriber';
5
+ import { IDexHelper } from '../../dex-helper/idex-helper';
6
+ import { DecodedStateMultiCallResultWithRelativeBitmapsV1_9, PoolState_v1_9 } from './types';
7
+ import { Contract } from 'web3-eth-contract';
8
+ export declare class AlgebraEventPoolV1_9_directional_fee extends StatefulEventSubscriber<PoolState_v1_9> {
9
+ readonly dexHelper: IDexHelper;
10
+ readonly stateMultiContract: Contract;
11
+ readonly erc20Interface: Interface;
12
+ protected readonly factoryAddress: Address;
13
+ readonly poolInitCodeHash: string;
14
+ readonly poolDeployer: string;
15
+ handlers: {
16
+ [event: string]: (event: any, state: DeepReadonly<PoolState_v1_9>, log: Readonly<Log>, blockHeader: BlockHeader) => DeepReadonly<PoolState_v1_9> | null;
17
+ };
18
+ logDecoder: (log: Log) => any;
19
+ addressesSubscribed: string[];
20
+ private _poolAddress?;
21
+ readonly token0: Address;
22
+ readonly token1: Address;
23
+ readonly poolIface: Interface;
24
+ initFailed: boolean;
25
+ initRetryAttemptCount: number;
26
+ constructor(dexHelper: IDexHelper, parentName: string, stateMultiContract: Contract, erc20Interface: Interface, factoryAddress: Address, token0: Address, token1: Address, logger: Logger, mapKey: string | undefined, poolInitCodeHash: string, poolDeployer: string);
27
+ get poolAddress(): Address;
28
+ set poolAddress(address: Address);
29
+ initialize(blockNumber: number, options?: InitializeStateOptions<PoolState_v1_9>): Promise<void>;
30
+ protected getPoolIdentifierData(): {
31
+ token0: string;
32
+ token1: string;
33
+ };
34
+ protected processBlockLogs(state: DeepReadonly<PoolState_v1_9>, logs: Readonly<Log>[], blockHeader: Readonly<BlockHeader>): Promise<DeepReadonly<PoolState_v1_9> | null>;
35
+ protected processLog(state: DeepReadonly<PoolState_v1_9>, log: Readonly<Log>, blockHeader: Readonly<BlockHeader>): DeepReadonly<PoolState_v1_9> | null;
36
+ getBitmapRangeToRequest(): bigint;
37
+ private _fetchPoolState_v1_9SingleStep;
38
+ private _fetchPoolState_v1_9MultiStep;
39
+ _fetchInitStateMultiStrategies(blockNumber: number): Promise<[
40
+ bigint,
41
+ bigint,
42
+ DecodedStateMultiCallResultWithRelativeBitmapsV1_9
43
+ ]>;
44
+ generateState(blockNumber: number): Promise<Readonly<PoolState_v1_9>>;
45
+ handleSwapEvent(event: any, pool: PoolState_v1_9, log: Log, blockHeader: BlockHeader): PoolState_v1_9;
46
+ handleMintEvent(event: any, pool: PoolState_v1_9, log: Log, blockHeader: BlockHeader): PoolState_v1_9;
47
+ handleBurnEvent(event: any, pool: PoolState_v1_9, log: Log, blockHeader: BlockHeader): PoolState_v1_9;
48
+ handleNewFee(event: any, pool: PoolState_v1_9, log: Log, blockHeader: BlockHeader): PoolState_v1_9;
49
+ handleCollectEvent(event: any, pool: PoolState_v1_9, log: Log, blockHeader: BlockHeader): PoolState_v1_9;
50
+ handleFlashEvent(event: any, pool: PoolState_v1_9, log: Log, blockHeader: BlockHeader): PoolState_v1_9;
51
+ handleCommunityFee(event: any, pool: PoolState_v1_9, log: Log, blockHeader: BlockHeader): PoolState_v1_9;
52
+ handleTickSpacing(event: any, pool: PoolState_v1_9, log: Log, blockHeader: BlockHeader): PoolState_v1_9;
53
+ private _computePoolAddress;
54
+ }