@paraswap/dex-lib 2.42.9 → 2.42.10-cache-cleaning-bug.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 (205) hide show
  1. package/.vscode/launch.json +38 -0
  2. package/.vscode/settings.json +2 -0
  3. package/.vscode/tasks.json +15 -0
  4. package/build/dex/algebra/algebra.js +9 -4
  5. package/build/dex/algebra/algebra.js.map +1 -1
  6. package/build/dex/pancakeswap-v3/pancakeswap-v3.js +9 -4
  7. package/build/dex/pancakeswap-v3/pancakeswap-v3.js.map +1 -1
  8. package/build/dex/uniswap-v3/uniswap-v3.js +9 -4
  9. package/build/dex/uniswap-v3/uniswap-v3.js.map +1 -1
  10. package/package.json +1 -1
  11. package/src/dex/algebra/algebra.ts +14 -4
  12. package/src/dex/pancakeswap-v3/pancakeswap-v3.ts +14 -4
  13. package/src/dex/uniswap-v3/uniswap-v3.ts +14 -4
  14. package/build/abi/kyberswap-elastic/IAntiSnipAttackPositionManager.json +0 -1276
  15. package/build/abi/kyberswap-elastic/IFactory.json +0 -550
  16. package/build/abi/kyberswap-elastic/IPool.json +0 -1042
  17. package/build/abi/kyberswap-elastic/IQuoterV2.json +0 -226
  18. package/build/abi/kyberswap-elastic/IRouter.json +0 -239
  19. package/build/abi/kyberswap-elastic/TicksFeesReader.json +0 -142
  20. package/build/abi/wombat/asset.json +0 -769
  21. package/build/abi/wombat/bmw.json +0 -1247
  22. package/build/abi/wombat/pool.json +0 -1364
  23. package/build/dex/baseswap-v3/baseswap-v3-factory.d.ts +0 -26
  24. package/build/dex/baseswap-v3/baseswap-v3-factory.js +0 -44
  25. package/build/dex/baseswap-v3/baseswap-v3-factory.js.map +0 -1
  26. package/build/dex/baseswap-v3/baseswap-v3-pool.d.ts +0 -46
  27. package/build/dex/baseswap-v3/baseswap-v3-pool.js +0 -312
  28. package/build/dex/baseswap-v3/baseswap-v3-pool.js.map +0 -1
  29. package/build/dex/baseswap-v3/baseswap-v3.d.ts +0 -71
  30. package/build/dex/baseswap-v3/baseswap-v3.js +0 -752
  31. package/build/dex/baseswap-v3/baseswap-v3.js.map +0 -1
  32. package/build/dex/baseswap-v3/config.d.ts +0 -9
  33. package/build/dex/baseswap-v3/config.js +0 -48
  34. package/build/dex/baseswap-v3/config.js.map +0 -1
  35. package/build/dex/baseswap-v3/constants.d.ts +0 -28
  36. package/build/dex/baseswap-v3/constants.js +0 -35
  37. package/build/dex/baseswap-v3/constants.js.map +0 -1
  38. package/build/dex/baseswap-v3/contract-math/BitMath.d.ts +0 -4
  39. package/build/dex/baseswap-v3/contract-math/BitMath.js +0 -93
  40. package/build/dex/baseswap-v3/contract-math/BitMath.js.map +0 -1
  41. package/build/dex/baseswap-v3/contract-math/FixedPoint128.d.ts +0 -3
  42. package/build/dex/baseswap-v3/contract-math/FixedPoint128.js +0 -8
  43. package/build/dex/baseswap-v3/contract-math/FixedPoint128.js.map +0 -1
  44. package/build/dex/baseswap-v3/contract-math/FixedPoint96.d.ts +0 -4
  45. package/build/dex/baseswap-v3/contract-math/FixedPoint96.js +0 -9
  46. package/build/dex/baseswap-v3/contract-math/FixedPoint96.js.map +0 -1
  47. package/build/dex/baseswap-v3/contract-math/FullMath.d.ts +0 -4
  48. package/build/dex/baseswap-v3/contract-math/FullMath.js +0 -19
  49. package/build/dex/baseswap-v3/contract-math/FullMath.js.map +0 -1
  50. package/build/dex/baseswap-v3/contract-math/LiquidityMath.d.ts +0 -3
  51. package/build/dex/baseswap-v3/contract-math/LiquidityMath.js +0 -22
  52. package/build/dex/baseswap-v3/contract-math/LiquidityMath.js.map +0 -1
  53. package/build/dex/baseswap-v3/contract-math/Oracle.d.ts +0 -10
  54. package/build/dex/baseswap-v3/contract-math/Oracle.js +0 -133
  55. package/build/dex/baseswap-v3/contract-math/Oracle.js.map +0 -1
  56. package/build/dex/baseswap-v3/contract-math/SqrtPriceMath.d.ts +0 -10
  57. package/build/dex/baseswap-v3/contract-math/SqrtPriceMath.js +0 -91
  58. package/build/dex/baseswap-v3/contract-math/SqrtPriceMath.js.map +0 -1
  59. package/build/dex/baseswap-v3/contract-math/SwapMath.d.ts +0 -8
  60. package/build/dex/baseswap-v3/contract-math/SwapMath.js +0 -70
  61. package/build/dex/baseswap-v3/contract-math/SwapMath.js.map +0 -1
  62. package/build/dex/baseswap-v3/contract-math/Tick.d.ts +0 -7
  63. package/build/dex/baseswap-v3/contract-math/Tick.js +0 -45
  64. package/build/dex/baseswap-v3/contract-math/Tick.js.map +0 -1
  65. package/build/dex/baseswap-v3/contract-math/TickBitMap.d.ts +0 -7
  66. package/build/dex/baseswap-v3/contract-math/TickBitMap.js +0 -84
  67. package/build/dex/baseswap-v3/contract-math/TickBitMap.js.map +0 -1
  68. package/build/dex/baseswap-v3/contract-math/TickMath.d.ts +0 -8
  69. package/build/dex/baseswap-v3/contract-math/TickMath.js +0 -162
  70. package/build/dex/baseswap-v3/contract-math/TickMath.js.map +0 -1
  71. package/build/dex/baseswap-v3/contract-math/UnsafeMath.d.ts +0 -3
  72. package/build/dex/baseswap-v3/contract-math/UnsafeMath.js +0 -10
  73. package/build/dex/baseswap-v3/contract-math/UnsafeMath.js.map +0 -1
  74. package/build/dex/baseswap-v3/contract-math/uniswap-v3-math.d.ts +0 -37
  75. package/build/dex/baseswap-v3/contract-math/uniswap-v3-math.js +0 -393
  76. package/build/dex/baseswap-v3/contract-math/uniswap-v3-math.js.map +0 -1
  77. package/build/dex/baseswap-v3/contract-math/utils.d.ts +0 -7
  78. package/build/dex/baseswap-v3/contract-math/utils.js +0 -42
  79. package/build/dex/baseswap-v3/contract-math/utils.js.map +0 -1
  80. package/build/dex/baseswap-v3/types.d.ts +0 -164
  81. package/build/dex/baseswap-v3/types.js +0 -9
  82. package/build/dex/baseswap-v3/types.js.map +0 -1
  83. package/build/dex/baseswap-v3/utils.d.ts +0 -6
  84. package/build/dex/baseswap-v3/utils.js +0 -65
  85. package/build/dex/baseswap-v3/utils.js.map +0 -1
  86. package/build/dex/hello/config.d.ts +0 -4
  87. package/build/dex/hello/config.js +0 -15
  88. package/build/dex/hello/config.js.map +0 -1
  89. package/build/dex/hello/hello-pool.d.ts +0 -39
  90. package/build/dex/hello/hello-pool.js +0 -64
  91. package/build/dex/hello/hello-pool.js.map +0 -1
  92. package/build/dex/hello/hello.d.ts +0 -37
  93. package/build/dex/hello/hello.js +0 -126
  94. package/build/dex/hello/hello.js.map +0 -1
  95. package/build/dex/hello/types.d.ts +0 -6
  96. package/build/dex/hello/types.js +0 -3
  97. package/build/dex/hello/types.js.map +0 -1
  98. package/build/dex/kyberswap-elastic/config.d.ts +0 -4
  99. package/build/dex/kyberswap-elastic/config.js +0 -80
  100. package/build/dex/kyberswap-elastic/config.js.map +0 -1
  101. package/build/dex/kyberswap-elastic/constants.d.ts +0 -17
  102. package/build/dex/kyberswap-elastic/constants.js +0 -42
  103. package/build/dex/kyberswap-elastic/constants.js.map +0 -1
  104. package/build/dex/kyberswap-elastic/contract-math/FixedPoint96.d.ts +0 -4
  105. package/build/dex/kyberswap-elastic/contract-math/FixedPoint96.js +0 -9
  106. package/build/dex/kyberswap-elastic/contract-math/FixedPoint96.js.map +0 -1
  107. package/build/dex/kyberswap-elastic/contract-math/FullMath.d.ts +0 -5
  108. package/build/dex/kyberswap-elastic/contract-math/FullMath.js +0 -22
  109. package/build/dex/kyberswap-elastic/contract-math/FullMath.js.map +0 -1
  110. package/build/dex/kyberswap-elastic/contract-math/LiqDeltaMath.d.ts +0 -3
  111. package/build/dex/kyberswap-elastic/contract-math/LiqDeltaMath.js +0 -12
  112. package/build/dex/kyberswap-elastic/contract-math/LiqDeltaMath.js.map +0 -1
  113. package/build/dex/kyberswap-elastic/contract-math/LiquidityMath.d.ts +0 -3
  114. package/build/dex/kyberswap-elastic/contract-math/LiquidityMath.js +0 -22
  115. package/build/dex/kyberswap-elastic/contract-math/LiquidityMath.js.map +0 -1
  116. package/build/dex/kyberswap-elastic/contract-math/QtyDeltaMath.d.ts +0 -5
  117. package/build/dex/kyberswap-elastic/contract-math/QtyDeltaMath.js +0 -25
  118. package/build/dex/kyberswap-elastic/contract-math/QtyDeltaMath.js.map +0 -1
  119. package/build/dex/kyberswap-elastic/contract-math/QuadMath.d.ts +0 -4
  120. package/build/dex/kyberswap-elastic/contract-math/QuadMath.js +0 -27
  121. package/build/dex/kyberswap-elastic/contract-math/QuadMath.js.map +0 -1
  122. package/build/dex/kyberswap-elastic/contract-math/ReinvestmentMath.d.ts +0 -3
  123. package/build/dex/kyberswap-elastic/contract-math/ReinvestmentMath.js +0 -14
  124. package/build/dex/kyberswap-elastic/contract-math/ReinvestmentMath.js.map +0 -1
  125. package/build/dex/kyberswap-elastic/contract-math/SafeCast.d.ts +0 -8
  126. package/build/dex/kyberswap-elastic/contract-math/SafeCast.js +0 -30
  127. package/build/dex/kyberswap-elastic/contract-math/SafeCast.js.map +0 -1
  128. package/build/dex/kyberswap-elastic/contract-math/SqrtPriceMath.d.ts +0 -10
  129. package/build/dex/kyberswap-elastic/contract-math/SqrtPriceMath.js +0 -91
  130. package/build/dex/kyberswap-elastic/contract-math/SqrtPriceMath.js.map +0 -1
  131. package/build/dex/kyberswap-elastic/contract-math/SwapMath.d.ts +0 -13
  132. package/build/dex/kyberswap-elastic/contract-math/SwapMath.js +0 -188
  133. package/build/dex/kyberswap-elastic/contract-math/SwapMath.js.map +0 -1
  134. package/build/dex/kyberswap-elastic/contract-math/TickLinkedList.d.ts +0 -6
  135. package/build/dex/kyberswap-elastic/contract-math/TickLinkedList.js +0 -41
  136. package/build/dex/kyberswap-elastic/contract-math/TickLinkedList.js.map +0 -1
  137. package/build/dex/kyberswap-elastic/contract-math/TickMath.d.ts +0 -9
  138. package/build/dex/kyberswap-elastic/contract-math/TickMath.js +0 -165
  139. package/build/dex/kyberswap-elastic/contract-math/TickMath.js.map +0 -1
  140. package/build/dex/kyberswap-elastic/contract-math/UnsafeMath.d.ts +0 -3
  141. package/build/dex/kyberswap-elastic/contract-math/UnsafeMath.js +0 -10
  142. package/build/dex/kyberswap-elastic/contract-math/UnsafeMath.js.map +0 -1
  143. package/build/dex/kyberswap-elastic/contract-math/kyberswap-elastic-math.d.ts +0 -28
  144. package/build/dex/kyberswap-elastic/contract-math/kyberswap-elastic-math.js +0 -502
  145. package/build/dex/kyberswap-elastic/contract-math/kyberswap-elastic-math.js.map +0 -1
  146. package/build/dex/kyberswap-elastic/contract-math/utils.d.ts +0 -3
  147. package/build/dex/kyberswap-elastic/contract-math/utils.js +0 -16
  148. package/build/dex/kyberswap-elastic/contract-math/utils.js.map +0 -1
  149. package/build/dex/kyberswap-elastic/errors.d.ts +0 -2
  150. package/build/dex/kyberswap-elastic/errors.js +0 -6
  151. package/build/dex/kyberswap-elastic/errors.js.map +0 -1
  152. package/build/dex/kyberswap-elastic/kyberswap-elastic-pool.d.ts +0 -80
  153. package/build/dex/kyberswap-elastic/kyberswap-elastic-pool.js +0 -458
  154. package/build/dex/kyberswap-elastic/kyberswap-elastic-pool.js.map +0 -1
  155. package/build/dex/kyberswap-elastic/kyberswap-elastic.d.ts +0 -53
  156. package/build/dex/kyberswap-elastic/kyberswap-elastic.js +0 -610
  157. package/build/dex/kyberswap-elastic/kyberswap-elastic.js.map +0 -1
  158. package/build/dex/kyberswap-elastic/types.d.ts +0 -134
  159. package/build/dex/kyberswap-elastic/types.js +0 -9
  160. package/build/dex/kyberswap-elastic/types.js.map +0 -1
  161. package/build/dex/kyberswap-elastic/utils/decoders.d.ts +0 -9
  162. package/build/dex/kyberswap-elastic/utils/decoders.js +0 -78
  163. package/build/dex/kyberswap-elastic/utils/decoders.js.map +0 -1
  164. package/build/dex/morphex/config.d.ts +0 -11
  165. package/build/dex/morphex/config.js +0 -43
  166. package/build/dex/morphex/config.js.map +0 -1
  167. package/build/dex/morphex/morphex.d.ts +0 -25
  168. package/build/dex/morphex/morphex.js +0 -19
  169. package/build/dex/morphex/morphex.js.map +0 -1
  170. package/build/dex/my-test-dex/config.d.ts +0 -4
  171. package/build/dex/my-test-dex/config.js +0 -15
  172. package/build/dex/my-test-dex/config.js.map +0 -1
  173. package/build/dex/my-test-dex/my-test-dex-pool.d.ts +0 -39
  174. package/build/dex/my-test-dex/my-test-dex-pool.js +0 -64
  175. package/build/dex/my-test-dex/my-test-dex-pool.js.map +0 -1
  176. package/build/dex/my-test-dex/my-test-dex.d.ts +0 -37
  177. package/build/dex/my-test-dex/my-test-dex.js +0 -126
  178. package/build/dex/my-test-dex/my-test-dex.js.map +0 -1
  179. package/build/dex/my-test-dex/types.d.ts +0 -6
  180. package/build/dex/my-test-dex/types.js +0 -3
  181. package/build/dex/my-test-dex/types.js.map +0 -1
  182. package/build/dex/solidly/forks-override/fvm.d.ts +0 -20
  183. package/build/dex/solidly/forks-override/fvm.js +0 -42
  184. package/build/dex/solidly/forks-override/fvm.js.map +0 -1
  185. package/build/dex/wombat/config.d.ts +0 -5
  186. package/build/dex/wombat/config.js +0 -50
  187. package/build/dex/wombat/config.js.map +0 -1
  188. package/build/dex/wombat/types.d.ts +0 -33
  189. package/build/dex/wombat/types.js +0 -3
  190. package/build/dex/wombat/types.js.map +0 -1
  191. package/build/dex/wombat/utils.d.ts +0 -9
  192. package/build/dex/wombat/utils.js +0 -66
  193. package/build/dex/wombat/utils.js.map +0 -1
  194. package/build/dex/wombat/wombat-bmw.d.ts +0 -40
  195. package/build/dex/wombat/wombat-bmw.js +0 -145
  196. package/build/dex/wombat/wombat-bmw.js.map +0 -1
  197. package/build/dex/wombat/wombat-pool.d.ts +0 -22
  198. package/build/dex/wombat/wombat-pool.js +0 -161
  199. package/build/dex/wombat/wombat-pool.js.map +0 -1
  200. package/build/dex/wombat/wombat-quoter.d.ts +0 -16
  201. package/build/dex/wombat/wombat-quoter.js +0 -176
  202. package/build/dex/wombat/wombat-quoter.js.map +0 -1
  203. package/build/dex/wombat/wombat.d.ts +0 -55
  204. package/build/dex/wombat/wombat.js +0 -292
  205. package/build/dex/wombat/wombat.js.map +0 -1
@@ -1,26 +0,0 @@
1
- import { Interface } from '@ethersproject/abi';
2
- import { DeepReadonly } from 'ts-essentials';
3
- import { IDexHelper } from '../../dex-helper/idex-helper';
4
- import { StatefulEventSubscriber } from '../../stateful-event-subscriber';
5
- import { Address, Log, Logger } from '../../types';
6
- import { LogDescription } from 'ethers/lib/utils';
7
- import { FactoryState } from './types';
8
- export declare type OnPoolCreatedCallback = ({ token0, token1, fee, }: {
9
- token0: string;
10
- token1: string;
11
- fee: bigint;
12
- }) => Promise<void>;
13
- export declare class BaseswapV3Factory extends StatefulEventSubscriber<FactoryState> {
14
- readonly dexHelper: IDexHelper;
15
- protected readonly factoryAddress: Address;
16
- protected readonly onPoolCreated: OnPoolCreatedCallback;
17
- handlers: {
18
- [event: string]: (event: any) => Promise<void>;
19
- };
20
- logDecoder: (log: Log) => any;
21
- readonly factoryIface: Interface;
22
- constructor(dexHelper: IDexHelper, parentName: string, factoryAddress: Address, logger: Logger, onPoolCreated: OnPoolCreatedCallback, mapKey?: string);
23
- generateState(): FactoryState;
24
- protected processLog(_: DeepReadonly<FactoryState>, log: Readonly<Log>): Promise<FactoryState>;
25
- handleNewPool(event: LogDescription): Promise<void>;
26
- }
@@ -1,44 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.BaseswapV3Factory = void 0;
7
- const abi_1 = require("@ethersproject/abi");
8
- const UniswapV3Factory_abi_json_1 = __importDefault(require("../../abi/uniswap-v3/UniswapV3Factory.abi.json"));
9
- const stateful_event_subscriber_1 = require("../../stateful-event-subscriber");
10
- /*
11
- * "Stateless" event subscriber in order to capture "PoolCreated" event on new pools created.
12
- * State is present, but it's a placeholder to actually make the events reach handlers (if there's no previous state - `processBlockLogs` is not called)
13
- */
14
- class BaseswapV3Factory extends stateful_event_subscriber_1.StatefulEventSubscriber {
15
- constructor(dexHelper, parentName, factoryAddress, logger, onPoolCreated, mapKey = '') {
16
- super(parentName, `${parentName} Factory`, dexHelper, logger, true, mapKey);
17
- this.dexHelper = dexHelper;
18
- this.factoryAddress = factoryAddress;
19
- this.onPoolCreated = onPoolCreated;
20
- this.handlers = {};
21
- this.factoryIface = new abi_1.Interface(UniswapV3Factory_abi_json_1.default);
22
- this.addressesSubscribed = [factoryAddress];
23
- this.logDecoder = (log) => this.factoryIface.parseLog(log);
24
- this.handlers['PoolCreated'] = this.handleNewPool.bind(this);
25
- }
26
- generateState() {
27
- return {};
28
- }
29
- async processLog(_, log) {
30
- const event = this.logDecoder(log);
31
- if (event.name in this.handlers) {
32
- await this.handlers[event.name](event);
33
- }
34
- return {};
35
- }
36
- async handleNewPool(event) {
37
- const token0 = event.args.token0.toLowerCase();
38
- const token1 = event.args.token1.toLowerCase();
39
- const fee = event.args.fee;
40
- await this.onPoolCreated({ token0, token1, fee });
41
- }
42
- }
43
- exports.BaseswapV3Factory = BaseswapV3Factory;
44
- //# sourceMappingURL=baseswap-v3-factory.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"baseswap-v3-factory.js","sourceRoot":"","sources":["../../../src/dex/baseswap-v3/baseswap-v3-factory.ts"],"names":[],"mappings":";;;;;;AAAA,4CAA+C;AAE/C,+GAAwE;AAExE,+EAA0E;AAe1E;;;GAGG;AACH,MAAa,iBAAkB,SAAQ,mDAAqC;IAS1E,YACW,SAAqB,EAC9B,UAAkB,EACC,cAAuB,EAC1C,MAAc,EACK,aAAoC,EACvD,SAAiB,EAAE;QAEnB,KAAK,CAAC,UAAU,EAAE,GAAG,UAAU,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAPnE,cAAS,GAAT,SAAS,CAAY;QAEX,mBAAc,GAAd,cAAc,CAAS;QAEvB,kBAAa,GAAb,aAAa,CAAuB;QAbzD,aAAQ,GAEJ,EAAE,CAAC;QAIS,iBAAY,GAAG,IAAI,eAAS,CAAC,mCAAU,CAAC,CAAC;QAYvD,IAAI,CAAC,mBAAmB,GAAG,CAAC,cAAc,CAAC,CAAC;QAE5C,IAAI,CAAC,UAAU,GAAG,CAAC,GAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAEhE,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED,aAAa;QACX,OAAO,EAAE,CAAC;IACZ,CAAC;IAES,KAAK,CAAC,UAAU,CACxB,CAA6B,EAC7B,GAAkB;QAElB,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE;YAC/B,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;SACxC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,KAAqB;QACvC,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QAC/C,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QAC/C,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;QAE3B,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IACpD,CAAC;CACF;AAjDD,8CAiDC"}
@@ -1,46 +0,0 @@
1
- import { Contract } from 'web3-eth-contract';
2
- import { Interface } from '@ethersproject/abi';
3
- import { DeepReadonly } from 'ts-essentials';
4
- import { Log, Logger, BlockHeader, Address } from '../../types';
5
- import { InitializeStateOptions, StatefulEventSubscriber } from '../../stateful-event-subscriber';
6
- import { IDexHelper } from '../../dex-helper/idex-helper';
7
- import { PoolState, DecodedStateMultiCallResultWithRelativeBitmaps, DecodeStateMultiCallFunc } from './types';
8
- import { MultiCallParams } from '../../lib/multi-wrapper';
9
- export declare class BaseswapV3EventPool extends StatefulEventSubscriber<PoolState> {
10
- readonly dexHelper: IDexHelper;
11
- readonly stateMultiContract: Contract;
12
- readonly decodeStateMultiCallResultWithRelativeBitmaps: DecodeStateMultiCallFunc | undefined;
13
- readonly erc20Interface: Interface;
14
- protected readonly factoryAddress: Address;
15
- feeCode: bigint;
16
- readonly poolInitCodeHash: string;
17
- handlers: {
18
- [event: string]: (event: any, pool: PoolState, log: Log, blockHeader: Readonly<BlockHeader>) => PoolState;
19
- };
20
- logDecoder: (log: Log) => any;
21
- readonly token0: Address;
22
- readonly token1: Address;
23
- private _poolAddress?;
24
- protected _stateRequestCallData?: MultiCallParams<bigint | DecodedStateMultiCallResultWithRelativeBitmaps>[];
25
- readonly poolIface: Interface;
26
- initFailed: boolean;
27
- initRetryAttemptCount: number;
28
- feeCodeAsString: string;
29
- constructor(dexHelper: IDexHelper, parentName: string, stateMultiContract: Contract, decodeStateMultiCallResultWithRelativeBitmaps: DecodeStateMultiCallFunc | undefined, erc20Interface: Interface, factoryAddress: Address, feeCode: bigint, token0: Address, token1: Address, logger: Logger, mapKey: string | undefined, poolInitCodeHash: string);
30
- get poolAddress(): Address;
31
- set poolAddress(address: Address);
32
- initialize(blockNumber: number, options?: InitializeStateOptions<PoolState>): Promise<void>;
33
- protected processBlockLogs(state: DeepReadonly<PoolState>, logs: Readonly<Log>[], blockHeader: Readonly<BlockHeader>): Promise<DeepReadonly<PoolState> | null>;
34
- protected processLog(state: DeepReadonly<PoolState>, log: Readonly<Log>, blockHeader: Readonly<BlockHeader>): DeepReadonly<PoolState> | null;
35
- protected _getStateRequestCallData(): MultiCallParams<bigint | DecodedStateMultiCallResultWithRelativeBitmaps>[];
36
- getBitmapRangeToRequest(): bigint;
37
- generateState(blockNumber: number): Promise<Readonly<PoolState>>;
38
- handleSwapEvent(event: any, pool: PoolState, log: Log, blockHeader: BlockHeader): PoolState;
39
- handleBurnEvent(event: any, pool: PoolState, log: Log, blockHeader: BlockHeader): PoolState;
40
- handleMintEvent(event: any, pool: PoolState, log: Log, blockHeader: BlockHeader): PoolState;
41
- handleSetFeeProtocolEvent(event: any, pool: PoolState, log: Log, blockHeader: BlockHeader): PoolState;
42
- handleCollectEvent(event: any, pool: PoolState, log: Log, blockHeader: BlockHeader): PoolState;
43
- handleFlashEvent(event: any, pool: PoolState, log: Log, blockHeader: BlockHeader): PoolState;
44
- handleIncreaseObservationCardinalityNextEvent(event: any, pool: PoolState, log: Log, blockHeader: BlockHeader): PoolState;
45
- private _computePoolAddress;
46
- }
@@ -1,312 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.BaseswapV3EventPool = void 0;
7
- const lodash_1 = __importDefault(require("lodash"));
8
- const abi_1 = require("@ethersproject/abi");
9
- const ethers_1 = require("ethers");
10
- const ts_essentials_1 = require("ts-essentials");
11
- const stateful_event_subscriber_1 = require("../../stateful-event-subscriber");
12
- const UniswapV3Pool_abi_json_1 = __importDefault(require("../../abi/uniswap-v3/UniswapV3Pool.abi.json"));
13
- const utils_1 = require("../../utils");
14
- const uniswap_v3_math_1 = require("./contract-math/uniswap-v3-math");
15
- const constants_1 = require("./constants");
16
- const TickBitMap_1 = require("./contract-math/TickBitMap");
17
- const decoders_1 = require("../../lib/decoders");
18
- const utils_2 = require("./utils");
19
- const utils_3 = require("./contract-math/utils");
20
- class BaseswapV3EventPool extends stateful_event_subscriber_1.StatefulEventSubscriber {
21
- constructor(dexHelper, parentName, stateMultiContract, decodeStateMultiCallResultWithRelativeBitmaps, erc20Interface, factoryAddress, feeCode, token0, token1, logger, mapKey = '', poolInitCodeHash) {
22
- super(parentName, `${token0}_${token1}_${feeCode}`, dexHelper, logger, true, mapKey);
23
- this.dexHelper = dexHelper;
24
- this.stateMultiContract = stateMultiContract;
25
- this.decodeStateMultiCallResultWithRelativeBitmaps = decodeStateMultiCallResultWithRelativeBitmaps;
26
- this.erc20Interface = erc20Interface;
27
- this.factoryAddress = factoryAddress;
28
- this.feeCode = feeCode;
29
- this.poolInitCodeHash = poolInitCodeHash;
30
- this.handlers = {};
31
- this.poolIface = new abi_1.Interface(UniswapV3Pool_abi_json_1.default);
32
- this.initFailed = false;
33
- this.initRetryAttemptCount = 0;
34
- this.feeCodeAsString = feeCode.toString();
35
- this.token0 = token0.toLowerCase();
36
- this.token1 = token1.toLowerCase();
37
- this.logDecoder = (log) => this.poolIface.parseLog(log);
38
- this.addressesSubscribed = new Array(1);
39
- // Add handlers
40
- this.handlers['Swap'] = this.handleSwapEvent.bind(this);
41
- this.handlers['Burn'] = this.handleBurnEvent.bind(this);
42
- this.handlers['Mint'] = this.handleMintEvent.bind(this);
43
- this.handlers['SetFeeProtocol'] = this.handleSetFeeProtocolEvent.bind(this);
44
- this.handlers['IncreaseObservationCardinalityNext'] =
45
- this.handleIncreaseObservationCardinalityNextEvent.bind(this);
46
- // Wen need them to keep balance of the pool up to date
47
- this.handlers['Collect'] = this.handleCollectEvent.bind(this);
48
- // Almost the same as Collect, but for pool owners
49
- this.handlers['CollectProtocol'] = this.handleCollectEvent.bind(this);
50
- this.handlers['Flash'] = this.handleFlashEvent.bind(this);
51
- }
52
- get poolAddress() {
53
- if (this._poolAddress === undefined) {
54
- this._poolAddress = this._computePoolAddress(this.token0, this.token1, this.feeCode);
55
- }
56
- return this._poolAddress;
57
- }
58
- set poolAddress(address) {
59
- this._poolAddress = address.toLowerCase();
60
- }
61
- async initialize(blockNumber, options) {
62
- await super.initialize(blockNumber, options);
63
- }
64
- async processBlockLogs(state, logs, blockHeader) {
65
- const newState = await super.processBlockLogs(state, logs, blockHeader);
66
- if (newState && !newState.isValid) {
67
- return await this.generateState(blockHeader.number);
68
- }
69
- return newState;
70
- }
71
- processLog(state, log, blockHeader) {
72
- try {
73
- const event = this.logDecoder(log);
74
- const uniswapV3EventLoggingSampleRate = this.dexHelper.config.data.uniswapV3EventLoggingSampleRate;
75
- if (!this.dexHelper.config.isSlave &&
76
- uniswapV3EventLoggingSampleRate &&
77
- (0, utils_1.isSampled)(uniswapV3EventLoggingSampleRate)) {
78
- this.logger.info(`event=${event.name} - block=${blockHeader.number}. Log sampled at rate ${uniswapV3EventLoggingSampleRate * 100}%`);
79
- }
80
- if (event.name in this.handlers) {
81
- // Because we have observations in array which is mutable by nature, there is a
82
- // ts compile error: https://stackoverflow.com/questions/53412934/disable-allowing-assigning-readonly-types-to-non-readonly-types
83
- // And there is no good workaround, so turn off the type checker for this line
84
- const _state = lodash_1.default.cloneDeep(state);
85
- try {
86
- return this.handlers[event.name](event, _state, log, blockHeader);
87
- }
88
- catch (e) {
89
- if (e instanceof Error &&
90
- e.message.endsWith(constants_1.OUT_OF_RANGE_ERROR_POSTFIX)) {
91
- this.logger.warn(`${this.parentName}: Pool ${this.poolAddress} on ${this.dexHelper.config.data.network} is out of TickBitmap requested range. Re-query the state. ${JSON.stringify(event)}`, e);
92
- }
93
- else {
94
- this.logger.error(`${this.parentName}: Pool ${this.poolAddress}, ` +
95
- `network=${this.dexHelper.config.data.network}: Unexpected ` +
96
- `error while handling event on blockNumber=${blockHeader.number}, ` +
97
- `blockHash=${blockHeader.hash} and parentHash=${blockHeader.parentHash} for UniswapV3, ${JSON.stringify(event)}`, e);
98
- }
99
- _state.isValid = false;
100
- return _state;
101
- }
102
- }
103
- }
104
- catch (e) {
105
- (0, utils_1.catchParseLogError)(e, this.logger);
106
- }
107
- return null; // ignore unrecognized event
108
- }
109
- _getStateRequestCallData() {
110
- if (!this._stateRequestCallData) {
111
- const callData = [
112
- {
113
- target: this.token0,
114
- callData: this.erc20Interface.encodeFunctionData('balanceOf', [
115
- this.poolAddress,
116
- ]),
117
- decodeFunction: decoders_1.uint256ToBigInt,
118
- },
119
- {
120
- target: this.token1,
121
- callData: this.erc20Interface.encodeFunctionData('balanceOf', [
122
- this.poolAddress,
123
- ]),
124
- decodeFunction: decoders_1.uint256ToBigInt,
125
- },
126
- {
127
- target: this.stateMultiContract.options.address,
128
- callData: this.stateMultiContract.methods
129
- .getFullStateWithRelativeBitmaps(this.factoryAddress, this.token0, this.token1, this.feeCode, this.getBitmapRangeToRequest(), this.getBitmapRangeToRequest())
130
- .encodeABI(),
131
- decodeFunction: this.decodeStateMultiCallResultWithRelativeBitmaps !== undefined
132
- ? this.decodeStateMultiCallResultWithRelativeBitmaps
133
- : utils_2.decodeStateMultiCallResultWithRelativeBitmaps,
134
- },
135
- ];
136
- this._stateRequestCallData = callData;
137
- }
138
- return this._stateRequestCallData;
139
- }
140
- getBitmapRangeToRequest() {
141
- return constants_1.TICK_BITMAP_TO_USE + constants_1.TICK_BITMAP_BUFFER;
142
- }
143
- async generateState(blockNumber) {
144
- const callData = this._getStateRequestCallData();
145
- const [resBalance0, resBalance1, resState] = await this.dexHelper.multiWrapper.tryAggregate(false, callData, blockNumber, this.dexHelper.multiWrapper.defaultBatchSize, false);
146
- // Quite ugly solution, but this is the one that fits to current flow.
147
- // I think UniswapV3 callbacks subscriptions are complexified for no reason.
148
- // Need to be revisited later
149
- (0, ts_essentials_1.assert)(resState.success, 'Pool does not exist');
150
- const [balance0, balance1, _state] = [
151
- resBalance0.returnData,
152
- resBalance1.returnData,
153
- resState.returnData,
154
- ];
155
- const tickBitmap = {};
156
- const ticks = {};
157
- (0, utils_3._reduceTickBitmap)(tickBitmap, _state.tickBitmap);
158
- (0, utils_3._reduceTicks)(ticks, _state.ticks);
159
- const observations = {
160
- [_state.slot0.observationIndex]: {
161
- blockTimestamp: (0, utils_1.bigIntify)(_state.observation.blockTimestamp),
162
- tickCumulative: (0, utils_1.bigIntify)(_state.observation.tickCumulative),
163
- secondsPerLiquidityCumulativeX128: (0, utils_1.bigIntify)(_state.observation.secondsPerLiquidityCumulativeX128),
164
- initialized: _state.observation.initialized,
165
- },
166
- };
167
- const currentTick = (0, utils_1.bigIntify)(_state.slot0.tick);
168
- const tickSpacing = (0, utils_1.bigIntify)(_state.tickSpacing);
169
- const startTickBitmap = TickBitMap_1.TickBitMap.position(currentTick / tickSpacing)[0];
170
- const requestedRange = this.getBitmapRangeToRequest();
171
- return {
172
- pool: _state.pool,
173
- blockTimestamp: (0, utils_1.bigIntify)(_state.blockTimestamp),
174
- slot0: {
175
- sqrtPriceX96: (0, utils_1.bigIntify)(_state.slot0.sqrtPriceX96),
176
- tick: currentTick,
177
- observationIndex: +_state.slot0.observationIndex,
178
- observationCardinality: +_state.slot0.observationCardinality,
179
- observationCardinalityNext: +_state.slot0.observationCardinalityNext,
180
- feeProtocol: (0, utils_1.bigIntify)(_state.slot0.feeProtocol),
181
- },
182
- liquidity: (0, utils_1.bigIntify)(_state.liquidity),
183
- fee: this.feeCode,
184
- tickSpacing,
185
- maxLiquidityPerTick: (0, utils_1.bigIntify)(_state.maxLiquidityPerTick),
186
- tickBitmap,
187
- ticks,
188
- observations,
189
- isValid: true,
190
- startTickBitmap,
191
- lowestKnownTick: (BigInt.asIntN(24, startTickBitmap - requestedRange) << 8n) *
192
- tickSpacing,
193
- highestKnownTick: ((BigInt.asIntN(24, startTickBitmap + requestedRange) << 8n) +
194
- BigInt.asIntN(24, 255n)) *
195
- tickSpacing,
196
- balance0,
197
- balance1,
198
- };
199
- }
200
- handleSwapEvent(event, pool, log, blockHeader) {
201
- const newSqrtPriceX96 = (0, utils_1.bigIntify)(event.args.sqrtPriceX96);
202
- const amount0 = (0, utils_1.bigIntify)(event.args.amount0);
203
- const amount1 = (0, utils_1.bigIntify)(event.args.amount1);
204
- const newTick = (0, utils_1.bigIntify)(event.args.tick);
205
- const newLiquidity = (0, utils_1.bigIntify)(event.args.liquidity);
206
- pool.blockTimestamp = (0, utils_1.bigIntify)(blockHeader.timestamp);
207
- if (amount0 <= 0n && amount1 <= 0n) {
208
- this.logger.error(`${this.parentName}: amount0 <= 0n && amount1 <= 0n for ` +
209
- `${this.poolAddress} and ${blockHeader.number}. Check why it happened`);
210
- pool.isValid = false;
211
- return pool;
212
- }
213
- else {
214
- const zeroForOne = amount0 > 0n;
215
- uniswap_v3_math_1.uniswapV3Math.swapFromEvent(pool, newSqrtPriceX96, newTick, newLiquidity, zeroForOne);
216
- if (zeroForOne) {
217
- if (amount1 < 0n) {
218
- pool.balance1 -= BigInt.asUintN(256, -amount1);
219
- }
220
- else {
221
- this.logger.error(`In swapEvent for pool ${pool.pool} received incorrect values ${zeroForOne} and ${amount1}`);
222
- pool.isValid = false;
223
- }
224
- // This is not correct fully, because pool may get more tokens then it needs, but
225
- // it is not accounted in internal state, it should be good enough
226
- pool.balance0 += BigInt.asUintN(256, amount0);
227
- }
228
- else {
229
- if (amount0 < 0n) {
230
- pool.balance0 -= BigInt.asUintN(256, -amount0);
231
- }
232
- else {
233
- this.logger.error(`In swapEvent for pool ${pool.pool} received incorrect values ${zeroForOne} and ${amount0}`);
234
- pool.isValid = false;
235
- }
236
- pool.balance1 += BigInt.asUintN(256, amount1);
237
- }
238
- return pool;
239
- }
240
- }
241
- handleBurnEvent(event, pool, log, blockHeader) {
242
- const amount = (0, utils_1.bigIntify)(event.args.amount);
243
- const tickLower = (0, utils_1.bigIntify)(event.args.tickLower);
244
- const tickUpper = (0, utils_1.bigIntify)(event.args.tickUpper);
245
- pool.blockTimestamp = (0, utils_1.bigIntify)(blockHeader.timestamp);
246
- uniswap_v3_math_1.uniswapV3Math._modifyPosition(pool, {
247
- tickLower,
248
- tickUpper,
249
- liquidityDelta: -BigInt.asIntN(128, BigInt.asIntN(256, amount)),
250
- });
251
- // From this transaction I conclude that there is no balance change from
252
- // Burn event: https://dashboard.tenderly.co/tx/mainnet/0xfccf5341147ac3ad0e66452273d12dfc3219e81f8fb369a6cdecfb24b9b9d078/logs
253
- // And it aligns with UniswapV3 doc:
254
- // https://github.com/Uniswap/v3-core/blob/05c10bf6d547d6121622ac51c457f93775e1df09/contracts/interfaces/pool/IUniswapV3PoolActions.sol#L59
255
- // It just updates positions and tokensOwed which may be requested calling collect
256
- // So, we don't need to update pool.balances0 and pool.balances1 here
257
- return pool;
258
- }
259
- handleMintEvent(event, pool, log, blockHeader) {
260
- const amount = (0, utils_1.bigIntify)(event.args.amount);
261
- const tickLower = (0, utils_1.bigIntify)(event.args.tickLower);
262
- const tickUpper = (0, utils_1.bigIntify)(event.args.tickUpper);
263
- const amount0 = (0, utils_1.bigIntify)(event.args.amount0);
264
- const amount1 = (0, utils_1.bigIntify)(event.args.amount1);
265
- pool.blockTimestamp = (0, utils_1.bigIntify)(blockHeader.timestamp);
266
- uniswap_v3_math_1.uniswapV3Math._modifyPosition(pool, {
267
- tickLower,
268
- tickUpper,
269
- liquidityDelta: amount,
270
- });
271
- pool.balance0 += amount0;
272
- pool.balance1 += amount1;
273
- return pool;
274
- }
275
- handleSetFeeProtocolEvent(event, pool, log, blockHeader) {
276
- const feeProtocol0 = (0, utils_1.bigIntify)(event.args.feeProtocol0New);
277
- const feeProtocol1 = (0, utils_1.bigIntify)(event.args.feeProtocol1New);
278
- pool.slot0.feeProtocol = feeProtocol0 + (feeProtocol1 << 4n);
279
- pool.blockTimestamp = (0, utils_1.bigIntify)(blockHeader.timestamp);
280
- return pool;
281
- }
282
- handleCollectEvent(event, pool, log, blockHeader) {
283
- const amount0 = (0, utils_1.bigIntify)(event.args.amount0);
284
- const amount1 = (0, utils_1.bigIntify)(event.args.amount1);
285
- pool.balance0 -= amount0;
286
- pool.balance1 -= amount1;
287
- pool.blockTimestamp = (0, utils_1.bigIntify)(blockHeader.timestamp);
288
- return pool;
289
- }
290
- handleFlashEvent(event, pool, log, blockHeader) {
291
- const paid0 = (0, utils_1.bigIntify)(event.args.paid0);
292
- const paid1 = (0, utils_1.bigIntify)(event.args.paid1);
293
- pool.balance0 += paid0;
294
- pool.balance1 += paid1;
295
- pool.blockTimestamp = (0, utils_1.bigIntify)(blockHeader.timestamp);
296
- return pool;
297
- }
298
- handleIncreaseObservationCardinalityNextEvent(event, pool, log, blockHeader) {
299
- pool.slot0.observationCardinalityNext = parseInt(event.args.observationCardinalityNextNew, 10);
300
- pool.blockTimestamp = (0, utils_1.bigIntify)(blockHeader.timestamp);
301
- return pool;
302
- }
303
- _computePoolAddress(token0, token1, fee) {
304
- // https://github.com/Uniswap/v3-periphery/blob/main/contracts/libraries/PoolAddress.sol
305
- if (token0 > token1)
306
- [token0, token1] = [token1, token0];
307
- const encodedKey = ethers_1.ethers.utils.keccak256(ethers_1.ethers.utils.defaultAbiCoder.encode(['address', 'address', 'uint24'], [token0, token1, BigInt.asUintN(24, fee)]));
308
- return ethers_1.ethers.utils.getCreate2Address(this.factoryAddress, encodedKey, this.poolInitCodeHash);
309
- }
310
- }
311
- exports.BaseswapV3EventPool = BaseswapV3EventPool;
312
- //# sourceMappingURL=baseswap-v3-pool.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"baseswap-v3-pool.js","sourceRoot":"","sources":["../../../src/dex/baseswap-v3/baseswap-v3-pool.ts"],"names":[],"mappings":"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"}
@@ -1,71 +0,0 @@
1
- /// <reference types="node" />
2
- import { Interface } from '@ethersproject/abi';
3
- import { AdapterExchangeParam, Address, ExchangePrices, ExchangeTxInfo, Logger, NumberAsString, PoolLiquidity, PoolPrices, PreprocessTransactionOptions, SimpleExchangeParam, Token, TxInfo } from '../../types';
4
- import { Network, SwapSide } from '../../constants';
5
- import { IDex } from '../idex';
6
- import { IDexHelper } from '../../dex-helper/idex-helper';
7
- import { DexParams, PoolState, UniswapV3Data, UniswapV3Param } from './types';
8
- import { SimpleExchange } from '../simple-exchange';
9
- import { BaseswapV3EventPool } from './baseswap-v3-pool';
10
- import { OptimalSwapExchange } from '@paraswap/core';
11
- import { OnPoolCreatedCallback } from './baseswap-v3-factory';
12
- export declare class BaseswapV3 extends SimpleExchange implements IDex<UniswapV3Data, UniswapV3Param> {
13
- protected network: Network;
14
- protected dexHelper: IDexHelper;
15
- protected adapters: import("../../types").AdapterMappings;
16
- readonly routerIface: Interface;
17
- readonly quoterIface: Interface;
18
- protected config: DexParams;
19
- protected poolsToPreload: {
20
- token0: string;
21
- token1: string;
22
- }[];
23
- private readonly factory;
24
- readonly isFeeOnTransferSupported: boolean;
25
- readonly eventPools: Record<string, BaseswapV3EventPool | null>;
26
- readonly hasConstantPriceLargeAmounts = false;
27
- readonly needWrapNative = true;
28
- readonly directSwapIface: Interface;
29
- intervalTask?: NodeJS.Timeout;
30
- static dexKeysWithNetwork: {
31
- key: string;
32
- networks: Network[];
33
- }[];
34
- logger: Logger;
35
- private uniswapMulti;
36
- private stateMultiContract;
37
- private notExistingPoolSetKey;
38
- constructor(network: Network, dexKey: string, dexHelper: IDexHelper, adapters?: import("../../types").AdapterMappings, routerIface?: Interface, quoterIface?: Interface, config?: DexParams, poolsToPreload?: {
39
- token0: string;
40
- token1: string;
41
- }[]);
42
- get supportedFees(): bigint[];
43
- getAdapters(side: SwapSide): {
44
- name: string;
45
- index: number;
46
- }[] | null;
47
- getPoolIdentifier(srcAddress: Address, destAddress: Address, fee: bigint): string;
48
- initializePricing(blockNumber: number): Promise<void>;
49
- onPoolCreatedDeleteFromNonExistingSet: OnPoolCreatedCallback;
50
- getPool(srcAddress: Address, destAddress: Address, fee: bigint, blockNumber: number): Promise<BaseswapV3EventPool | null>;
51
- addMasterPool(poolKey: string, blockNumber: number): Promise<boolean>;
52
- getPoolIdentifiers(srcToken: Token, destToken: Token, side: SwapSide, blockNumber: number): Promise<string[]>;
53
- getPricingFromRpc(from: Token, to: Token, amounts: bigint[], side: SwapSide, pools: BaseswapV3EventPool[], states: PoolState[]): Promise<ExchangePrices<UniswapV3Data> | null>;
54
- getPricesVolume(srcToken: Token, destToken: Token, amounts: bigint[], side: SwapSide, blockNumber: number, limitPools?: string[]): Promise<null | ExchangePrices<UniswapV3Data>>;
55
- getAdapterParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: UniswapV3Data, side: SwapSide): AdapterExchangeParam;
56
- getCalldataGasCost(poolPrices: PoolPrices<UniswapV3Data>): number | number[];
57
- getTokenFromAddress(address: Address): Token;
58
- preProcessTransaction(optimalSwapExchange: OptimalSwapExchange<UniswapV3Data>, srcToken: Token, _0: Token, _1: SwapSide, options: PreprocessTransactionOptions): Promise<[OptimalSwapExchange<UniswapV3Data>, ExchangeTxInfo]>;
59
- getDirectParam(srcToken: Address, destToken: Address, srcAmount: NumberAsString, destAmount: NumberAsString, expectedAmount: NumberAsString, data: UniswapV3Data, side: SwapSide, permit: string, uuid: string, feePercent: NumberAsString, deadline: NumberAsString, partner: string, beneficiary: string, contractMethod?: string): TxInfo<UniswapV3Param>;
60
- static getDirectFunctionName(): string[];
61
- getSimpleParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: UniswapV3Data, side: SwapSide): Promise<SimpleExchangeParam>;
62
- getTopPoolsForToken(tokenAddress: Address, limit: number): Promise<PoolLiquidity[]>;
63
- private _getPoolsFromIdentifiers;
64
- private _getLoweredAddresses;
65
- private _sortTokens;
66
- private _toLowerForAllConfigAddresses;
67
- private _getOutputs;
68
- private _querySubgraph;
69
- private _encodePath;
70
- releaseResources(): void;
71
- }