@paraswap/dex-lib 2.42.27-solidly-v3.2 → 2.42.28

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 (106) hide show
  1. package/build/abi/{solidly-v3/SolidlyV3Pool.abi.json → algebra/AlgebraPool.abi.json} +282 -293
  2. package/build/abi/uniswap-v3/UniswapV3Quoter.abi.json +193 -0
  3. package/build/config.js +2 -2
  4. package/build/dex/{solidly-v3/solidly-v3-pool.d.ts → algebra/algebra-pool.d.ts} +16 -14
  5. package/build/dex/{solidly-v3/solidly-v3-pool.js → algebra/algebra-pool.js} +165 -127
  6. package/build/dex/algebra/algebra-pool.js.map +1 -0
  7. package/build/dex/index.js +2 -4
  8. package/build/dex/index.js.map +1 -1
  9. package/build/dex/quickswap/camelot-v3.d.ts +6 -0
  10. package/build/dex/quickswap/camelot-v3.js +19 -0
  11. package/build/dex/quickswap/camelot-v3.js.map +1 -0
  12. package/build/dex/quickswap/zyberswap-v3.d.ts +6 -0
  13. package/build/dex/quickswap/zyberswap-v3.js +19 -0
  14. package/build/dex/quickswap/zyberswap-v3.js.map +1 -0
  15. package/build/dex/uniswap-v2/rebase-tokens.json +7 -0
  16. package/package.json +1 -1
  17. package/src/config.ts +2 -2
  18. package/src/dex/index.ts +2 -4
  19. package/src/dex/uniswap-v3/uniswap-v3-events.test.ts +0 -3
  20. package/build/abi/solidly-v3/SolidlyV3StateMulticall.abi.json +0 -375
  21. package/build/dex/solidly-v3/config.d.ts +0 -9
  22. package/build/dex/solidly-v3/config.js +0 -58
  23. package/build/dex/solidly-v3/config.js.map +0 -1
  24. package/build/dex/solidly-v3/constants.d.ts +0 -27
  25. package/build/dex/solidly-v3/constants.js +0 -34
  26. package/build/dex/solidly-v3/constants.js.map +0 -1
  27. package/build/dex/solidly-v3/contract-math/BitMath.d.ts +0 -4
  28. package/build/dex/solidly-v3/contract-math/BitMath.js +0 -93
  29. package/build/dex/solidly-v3/contract-math/BitMath.js.map +0 -1
  30. package/build/dex/solidly-v3/contract-math/FixedPoint128.d.ts +0 -3
  31. package/build/dex/solidly-v3/contract-math/FixedPoint128.js +0 -8
  32. package/build/dex/solidly-v3/contract-math/FixedPoint128.js.map +0 -1
  33. package/build/dex/solidly-v3/contract-math/FixedPoint96.d.ts +0 -4
  34. package/build/dex/solidly-v3/contract-math/FixedPoint96.js +0 -9
  35. package/build/dex/solidly-v3/contract-math/FixedPoint96.js.map +0 -1
  36. package/build/dex/solidly-v3/contract-math/FullMath.d.ts +0 -4
  37. package/build/dex/solidly-v3/contract-math/FullMath.js +0 -19
  38. package/build/dex/solidly-v3/contract-math/FullMath.js.map +0 -1
  39. package/build/dex/solidly-v3/contract-math/LiquidityMath.d.ts +0 -3
  40. package/build/dex/solidly-v3/contract-math/LiquidityMath.js +0 -22
  41. package/build/dex/solidly-v3/contract-math/LiquidityMath.js.map +0 -1
  42. package/build/dex/solidly-v3/contract-math/SqrtPriceMath.d.ts +0 -10
  43. package/build/dex/solidly-v3/contract-math/SqrtPriceMath.js +0 -91
  44. package/build/dex/solidly-v3/contract-math/SqrtPriceMath.js.map +0 -1
  45. package/build/dex/solidly-v3/contract-math/SwapMath.d.ts +0 -8
  46. package/build/dex/solidly-v3/contract-math/SwapMath.js +0 -70
  47. package/build/dex/solidly-v3/contract-math/SwapMath.js.map +0 -1
  48. package/build/dex/solidly-v3/contract-math/Tick.d.ts +0 -7
  49. package/build/dex/solidly-v3/contract-math/Tick.js +0 -36
  50. package/build/dex/solidly-v3/contract-math/Tick.js.map +0 -1
  51. package/build/dex/solidly-v3/contract-math/TickBitMap.d.ts +0 -7
  52. package/build/dex/solidly-v3/contract-math/TickBitMap.js +0 -84
  53. package/build/dex/solidly-v3/contract-math/TickBitMap.js.map +0 -1
  54. package/build/dex/solidly-v3/contract-math/TickMath.d.ts +0 -8
  55. package/build/dex/solidly-v3/contract-math/TickMath.js +0 -162
  56. package/build/dex/solidly-v3/contract-math/TickMath.js.map +0 -1
  57. package/build/dex/solidly-v3/contract-math/UnsafeMath.d.ts +0 -3
  58. package/build/dex/solidly-v3/contract-math/UnsafeMath.js +0 -10
  59. package/build/dex/solidly-v3/contract-math/UnsafeMath.js.map +0 -1
  60. package/build/dex/solidly-v3/contract-math/uniswap-v3-math.d.ts +0 -31
  61. package/build/dex/solidly-v3/contract-math/uniswap-v3-math.js +0 -363
  62. package/build/dex/solidly-v3/contract-math/uniswap-v3-math.js.map +0 -1
  63. package/build/dex/solidly-v3/contract-math/utils.d.ts +0 -7
  64. package/build/dex/solidly-v3/contract-math/utils.js +0 -39
  65. package/build/dex/solidly-v3/contract-math/utils.js.map +0 -1
  66. package/build/dex/solidly-v3/solidly-v3-factory.d.ts +0 -26
  67. package/build/dex/solidly-v3/solidly-v3-factory.js +0 -44
  68. package/build/dex/solidly-v3/solidly-v3-factory.js.map +0 -1
  69. package/build/dex/solidly-v3/solidly-v3-pool.js.map +0 -1
  70. package/build/dex/solidly-v3/solidly-v3.d.ts +0 -67
  71. package/build/dex/solidly-v3/solidly-v3.js +0 -590
  72. package/build/dex/solidly-v3/solidly-v3.js.map +0 -1
  73. package/build/dex/solidly-v3/types.d.ts +0 -132
  74. package/build/dex/solidly-v3/types.js +0 -9
  75. package/build/dex/solidly-v3/types.js.map +0 -1
  76. package/build/dex/solidly-v3/utils.d.ts +0 -6
  77. package/build/dex/solidly-v3/utils.js +0 -53
  78. package/build/dex/solidly-v3/utils.js.map +0 -1
  79. package/build/dex/wombat/wombat-pool-poller.d.ts +0 -22
  80. package/build/dex/wombat/wombat-pool-poller.js +0 -164
  81. package/build/dex/wombat/wombat-pool-poller.js.map +0 -1
  82. package/src/abi/solidly-v3/SolidlyV3Pool.abi.json +0 -738
  83. package/src/abi/solidly-v3/SolidlyV3StateMulticall.abi.json +0 -375
  84. package/src/dex/solidly-v3/config.ts +0 -64
  85. package/src/dex/solidly-v3/constants.ts +0 -42
  86. package/src/dex/solidly-v3/contract-math/BitMath.ts +0 -90
  87. package/src/dex/solidly-v3/contract-math/FixedPoint128.ts +0 -3
  88. package/src/dex/solidly-v3/contract-math/FixedPoint96.ts +0 -4
  89. package/src/dex/solidly-v3/contract-math/FullMath.ts +0 -30
  90. package/src/dex/solidly-v3/contract-math/LiquidityMath.ts +0 -17
  91. package/src/dex/solidly-v3/contract-math/SqrtPriceMath.ts +0 -226
  92. package/src/dex/solidly-v3/contract-math/SwapMath.ts +0 -139
  93. package/src/dex/solidly-v3/contract-math/Tick.ts +0 -66
  94. package/src/dex/solidly-v3/contract-math/TickBitMap.ts +0 -123
  95. package/src/dex/solidly-v3/contract-math/TickMath.ts +0 -211
  96. package/src/dex/solidly-v3/contract-math/UnsafeMath.ts +0 -5
  97. package/src/dex/solidly-v3/contract-math/uniswap-v3-math.ts +0 -570
  98. package/src/dex/solidly-v3/contract-math/utils.ts +0 -50
  99. package/src/dex/solidly-v3/solidly-v3-e2e.test.ts +0 -124
  100. package/src/dex/solidly-v3/solidly-v3-events.test.ts +0 -144
  101. package/src/dex/solidly-v3/solidly-v3-factory.ts +0 -73
  102. package/src/dex/solidly-v3/solidly-v3-integration.test.ts +0 -358
  103. package/src/dex/solidly-v3/solidly-v3-pool.ts +0 -494
  104. package/src/dex/solidly-v3/solidly-v3.ts +0 -988
  105. package/src/dex/solidly-v3/types.ts +0 -158
  106. package/src/dex/solidly-v3/utils.ts +0 -71
@@ -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
+ ]
package/build/config.js CHANGED
@@ -21,9 +21,9 @@ const baseConfigs = {
21
21
  Adapter01: '0x9bE264469eF954c139Da4A45Cf76CbCC5e3A6A73',
22
22
  Adapter02: '0xFC2Ba6E830a04C25e207B8214b26d8C713F6881F',
23
23
  Adapter03: '0xBAEeb4540f59d30E567a5B563CC0c4587eDd9366',
24
- Adapter04: '0x369A2FDb910d432f0a07381a5E3d27572c876713',
24
+ Adapter04: '0x9F7A886ec44d8bc181e311D76b68C9B8aE2E0BC2',
25
25
  BuyAdapter: '0x84bEF12C9931cE12662cc9F2366b6a5029E4BD29',
26
- BuyAdapter02: '0xe53d24CD81cC81bbf271AD7B02D0d67f851D727c',
26
+ BuyAdapter02: '0xBA0E780Db34927F1e702717FAC21b52803D7cE25',
27
27
  },
28
28
  uniswapV2ExchangeRouterAddress: '0xF9234CB08edb93c0d4a4d4c70cC3FfD070e78e07',
29
29
  rpcPollingMaxAllowedStateDelayInBlocks: 0,
@@ -1,44 +1,46 @@
1
- import { Contract } from 'web3-eth-contract';
2
1
  import { Interface } from '@ethersproject/abi';
3
2
  import { DeepReadonly } from 'ts-essentials';
4
- import { Log, Logger, BlockHeader, Address } from '../../types';
3
+ import { Address, BlockHeader, Log, Logger } from '../../types';
5
4
  import { InitializeStateOptions, StatefulEventSubscriber } from '../../stateful-event-subscriber';
6
5
  import { IDexHelper } from '../../dex-helper/idex-helper';
7
- import { PoolState, DecodeStateMultiCallFunc } from './types';
8
- export declare class SolidlyV3EventPool extends StatefulEventSubscriber<PoolState> {
6
+ import { PoolState } from './types';
7
+ import { Contract } from 'web3-eth-contract';
8
+ import { DecodedStateMultiCallResultWithRelativeBitmaps } from './types';
9
+ export declare class AlgebraEventPool extends StatefulEventSubscriber<PoolState> {
9
10
  readonly dexHelper: IDexHelper;
10
11
  readonly stateMultiContract: Contract;
11
- readonly decodeStateMultiCallResultWithRelativeBitmaps: DecodeStateMultiCallFunc | undefined;
12
12
  readonly erc20Interface: Interface;
13
13
  protected readonly factoryAddress: Address;
14
- readonly tickSpacing: bigint;
15
14
  readonly poolInitCodeHash: string;
15
+ readonly poolDeployer: string;
16
16
  handlers: {
17
- [event: string]: (event: any, pool: PoolState, log: Log, blockHeader: Readonly<BlockHeader>) => PoolState;
17
+ [event: string]: (event: any, state: DeepReadonly<PoolState>, log: Readonly<Log>, blockHeader: BlockHeader) => DeepReadonly<PoolState> | null;
18
18
  };
19
19
  logDecoder: (log: Log) => any;
20
+ addressesSubscribed: string[];
21
+ private _poolAddress?;
20
22
  readonly token0: Address;
21
23
  readonly token1: Address;
22
- _poolAddress?: Address;
23
- private _stateRequestCallData?;
24
24
  readonly poolIface: Interface;
25
25
  initFailed: boolean;
26
26
  initRetryAttemptCount: number;
27
- readonly tickSpacingAsString: string;
28
- constructor(dexHelper: IDexHelper, parentName: string, stateMultiContract: Contract, decodeStateMultiCallResultWithRelativeBitmaps: DecodeStateMultiCallFunc | undefined, erc20Interface: Interface, factoryAddress: Address, tickSpacing: bigint, token0: Address, token1: Address, logger: Logger, mapKey: string | undefined, poolInitCodeHash: string);
27
+ constructor(dexHelper: IDexHelper, parentName: string, stateMultiContract: Contract, erc20Interface: Interface, factoryAddress: Address, token0: Address, token1: Address, logger: Logger, mapKey: string | undefined, poolInitCodeHash: string, poolDeployer: string);
29
28
  get poolAddress(): Address;
30
29
  set poolAddress(address: Address);
31
30
  initialize(blockNumber: number, options?: InitializeStateOptions<PoolState>): Promise<void>;
32
31
  protected processBlockLogs(state: DeepReadonly<PoolState>, logs: Readonly<Log>[], blockHeader: Readonly<BlockHeader>): Promise<DeepReadonly<PoolState> | null>;
33
32
  protected processLog(state: DeepReadonly<PoolState>, log: Readonly<Log>, blockHeader: Readonly<BlockHeader>): DeepReadonly<PoolState> | null;
34
- private _getStateRequestCallData;
35
33
  getBitmapRangeToRequest(): bigint;
34
+ private _fetchPoolStateSingleStep;
35
+ private _fetchPoolStateMultiStep;
36
+ _fetchInitStateMultiStrategies(blockNumber: number): Promise<[bigint, bigint, DecodedStateMultiCallResultWithRelativeBitmaps]>;
36
37
  generateState(blockNumber: number): Promise<Readonly<PoolState>>;
37
38
  handleSwapEvent(event: any, pool: PoolState, log: Log, blockHeader: BlockHeader): PoolState;
38
- handleBurnEvent(event: any, pool: PoolState, log: Log, blockHeader: BlockHeader): PoolState;
39
39
  handleMintEvent(event: any, pool: PoolState, log: Log, blockHeader: BlockHeader): PoolState;
40
+ handleBurnEvent(event: any, pool: PoolState, log: Log, blockHeader: BlockHeader): PoolState;
41
+ handleNewFee(event: any, pool: PoolState, log: Log, blockHeader: BlockHeader): PoolState;
40
42
  handleCollectEvent(event: any, pool: PoolState, log: Log, blockHeader: BlockHeader): PoolState;
41
43
  handleFlashEvent(event: any, pool: PoolState, log: Log, blockHeader: BlockHeader): PoolState;
42
- handleSetFeeEvent(event: any, pool: PoolState, log: Log, blockHeader: BlockHeader): PoolState;
44
+ handleCommunityFee(event: any, pool: PoolState, log: Log, blockHeader: BlockHeader): PoolState;
43
45
  private _computePoolAddress;
44
46
  }