@paraswap/dex-lib 2.33.1-equalizer → 2.33.1

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 (180) hide show
  1. package/build/abi/algebra/AlgebraFactory-v1_1.abi.json +250 -0
  2. package/build/abi/api3-proxy.json +46 -0
  3. package/build/abi/api3-server-v1.json +463 -0
  4. package/build/abi/quick-perps/fast-price-events.json +70 -0
  5. package/build/abi/quick-perps/fast-price-feed.json +741 -0
  6. package/build/abi/quick-perps/reader.json +313 -0
  7. package/build/abi/quick-perps/vault-price-feed.json +323 -0
  8. package/build/abi/quick-perps/vault.json +1953 -0
  9. package/build/abi/quickPerps/fast-price-events.json +70 -0
  10. package/build/abi/quickPerps/fast-price-feed.json +748 -0
  11. package/build/abi/quickPerps/reader.json +313 -0
  12. package/build/abi/quickPerps/vault-price-feed.json +477 -0
  13. package/build/abi/quickPerps/vault.json +1953 -0
  14. package/build/dex/index.js +0 -2
  15. package/build/dex/index.js.map +1 -1
  16. package/build/dex/quick-perps/config.d.ts +11 -0
  17. package/build/dex/quick-perps/config.js +27 -0
  18. package/build/dex/quick-perps/config.js.map +1 -0
  19. package/build/dex/quick-perps/fast-price-feed.d.ts +26 -0
  20. package/build/dex/quick-perps/fast-price-feed.js +176 -0
  21. package/build/dex/quick-perps/fast-price-feed.js.map +1 -0
  22. package/build/dex/quick-perps/pool.d.ts +21 -0
  23. package/build/dex/quick-perps/pool.js +210 -0
  24. package/build/dex/quick-perps/pool.js.map +1 -0
  25. package/build/dex/quick-perps/quick-perps.d.ts +52 -0
  26. package/build/dex/quick-perps/quick-perps.js +205 -0
  27. package/build/dex/quick-perps/quick-perps.js.map +1 -0
  28. package/build/dex/quick-perps/types.d.ts +98 -0
  29. package/build/dex/{pancakeswap-v3 → quick-perps}/types.js.map +1 -1
  30. package/build/dex/quick-perps/usdq.d.ts +15 -0
  31. package/build/dex/quick-perps/usdq.js +61 -0
  32. package/build/dex/quick-perps/usdq.js.map +1 -0
  33. package/build/dex/quick-perps/vault-price-feed.d.ts +43 -0
  34. package/build/dex/quick-perps/vault-price-feed.js +194 -0
  35. package/build/dex/quick-perps/vault-price-feed.js.map +1 -0
  36. package/build/dex/quick-perps/vault-utils.d.ts +8 -0
  37. package/build/dex/quick-perps/vault-utils.js +41 -0
  38. package/build/dex/quick-perps/vault-utils.js.map +1 -0
  39. package/build/dex/quick-perps/vault.d.ts +46 -0
  40. package/build/dex/quick-perps/vault.js +166 -0
  41. package/build/dex/quick-perps/vault.js.map +1 -0
  42. package/build/dex/solidly/config.js +1 -10
  43. package/build/dex/solidly/config.js.map +1 -1
  44. package/build/dex/solidly/solidly.js +0 -1
  45. package/build/dex/solidly/solidly.js.map +1 -1
  46. package/build/dex/{ramses-v2 → test-dex}/config.d.ts +1 -1
  47. package/build/dex/test-dex/config.js +15 -0
  48. package/build/dex/test-dex/config.js.map +1 -0
  49. package/build/dex/test-dex/test-dex-pool.d.ts +39 -0
  50. package/build/dex/test-dex/test-dex-pool.js +63 -0
  51. package/build/dex/test-dex/test-dex-pool.js.map +1 -0
  52. package/build/dex/test-dex/test-dex.d.ts +37 -0
  53. package/build/dex/test-dex/test-dex.js +126 -0
  54. package/build/dex/test-dex/test-dex.js.map +1 -0
  55. package/build/dex/test-dex/types.d.ts +6 -0
  56. package/build/dex/test-dex/types.js +3 -0
  57. package/build/dex/test-dex/types.js.map +1 -0
  58. package/build/dex/uniswap-v3/config.js +1 -1
  59. package/build/dex/uniswap-v3/config.js.map +1 -1
  60. package/build/dex/woo-fi-v2/woo-fi-math.d.ts +16 -0
  61. package/build/dex/woo-fi-v2/woo-fi-math.js +137 -0
  62. package/build/dex/woo-fi-v2/woo-fi-math.js.map +1 -0
  63. package/build/lib/api3-feed.d.ts +26 -0
  64. package/build/lib/api3-feed.js +82 -0
  65. package/build/lib/api3-feed.js.map +1 -0
  66. package/package.json +1 -1
  67. package/src/dex/index.ts +0 -2
  68. package/src/dex/solidly/config.ts +1 -11
  69. package/src/dex/solidly/solidly-e2e.test.ts +0 -23
  70. package/src/dex/solidly/solidly-integration.test.ts +0 -115
  71. package/src/dex/solidly/solidly.ts +0 -1
  72. package/src/dex/uniswap-v3/config.ts +1 -1
  73. package/.idea/aws.xml +0 -17
  74. package/.idea/codeStyles/Project.xml +0 -19
  75. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  76. package/.idea/misc.xml +0 -6
  77. package/.idea/modules.xml +0 -8
  78. package/.idea/paraswap-dex-lib.iml +0 -9
  79. package/.idea/vcs.xml +0 -6
  80. package/build/abi/algebra/AlgebraPool.abi.json +0 -727
  81. package/build/abi/curve-v1/StableSwapFRXETH.json +0 -889
  82. package/build/abi/curve-v1/StableSwapWBETH.json +0 -1223
  83. package/build/abi/sushiswap-v3/QuoterV2.json +0 -267
  84. package/build/abi/sushiswap-v3/RouterProcessor3.json +0 -289
  85. package/build/abi/wBETH.json +0 -1527
  86. package/build/dex/algebra/algebra-pool.d.ts +0 -46
  87. package/build/dex/algebra/algebra-pool.js +0 -336
  88. package/build/dex/algebra/algebra-pool.js.map +0 -1
  89. package/build/dex/curve-v1/pools/frxETHpool.d.ts +0 -7
  90. package/build/dex/curve-v1/pools/frxETHpool.js +0 -27
  91. package/build/dex/curve-v1/pools/frxETHpool.js.map +0 -1
  92. package/build/dex/curve-v1/pools/wbETHpool.d.ts +0 -29
  93. package/build/dex/curve-v1/pools/wbETHpool.js +0 -408
  94. package/build/dex/curve-v1/pools/wbETHpool.js.map +0 -1
  95. package/build/dex/pancakeswap-v3/types.d.ts +0 -14
  96. package/build/dex/ramses-v2/config.js +0 -28
  97. package/build/dex/ramses-v2/config.js.map +0 -1
  98. package/build/dex/ramses-v2/constants.d.ts +0 -28
  99. package/build/dex/ramses-v2/constants.js +0 -35
  100. package/build/dex/ramses-v2/constants.js.map +0 -1
  101. package/build/dex/ramses-v2/contract-math/BitMath.d.ts +0 -4
  102. package/build/dex/ramses-v2/contract-math/BitMath.js +0 -93
  103. package/build/dex/ramses-v2/contract-math/BitMath.js.map +0 -1
  104. package/build/dex/ramses-v2/contract-math/FixedPoint128.d.ts +0 -3
  105. package/build/dex/ramses-v2/contract-math/FixedPoint128.js +0 -8
  106. package/build/dex/ramses-v2/contract-math/FixedPoint128.js.map +0 -1
  107. package/build/dex/ramses-v2/contract-math/FixedPoint96.d.ts +0 -4
  108. package/build/dex/ramses-v2/contract-math/FixedPoint96.js +0 -9
  109. package/build/dex/ramses-v2/contract-math/FixedPoint96.js.map +0 -1
  110. package/build/dex/ramses-v2/contract-math/FullMath.d.ts +0 -4
  111. package/build/dex/ramses-v2/contract-math/FullMath.js +0 -19
  112. package/build/dex/ramses-v2/contract-math/FullMath.js.map +0 -1
  113. package/build/dex/ramses-v2/contract-math/LiquidityMath.d.ts +0 -3
  114. package/build/dex/ramses-v2/contract-math/LiquidityMath.js +0 -22
  115. package/build/dex/ramses-v2/contract-math/LiquidityMath.js.map +0 -1
  116. package/build/dex/ramses-v2/contract-math/Oracle.d.ts +0 -10
  117. package/build/dex/ramses-v2/contract-math/Oracle.js +0 -133
  118. package/build/dex/ramses-v2/contract-math/Oracle.js.map +0 -1
  119. package/build/dex/ramses-v2/contract-math/SqrtPriceMath.d.ts +0 -10
  120. package/build/dex/ramses-v2/contract-math/SqrtPriceMath.js +0 -91
  121. package/build/dex/ramses-v2/contract-math/SqrtPriceMath.js.map +0 -1
  122. package/build/dex/ramses-v2/contract-math/SwapMath.d.ts +0 -8
  123. package/build/dex/ramses-v2/contract-math/SwapMath.js +0 -70
  124. package/build/dex/ramses-v2/contract-math/SwapMath.js.map +0 -1
  125. package/build/dex/ramses-v2/contract-math/Tick.d.ts +0 -7
  126. package/build/dex/ramses-v2/contract-math/Tick.js +0 -45
  127. package/build/dex/ramses-v2/contract-math/Tick.js.map +0 -1
  128. package/build/dex/ramses-v2/contract-math/TickBitMap.d.ts +0 -8
  129. package/build/dex/ramses-v2/contract-math/TickBitMap.js +0 -87
  130. package/build/dex/ramses-v2/contract-math/TickBitMap.js.map +0 -1
  131. package/build/dex/ramses-v2/contract-math/TickMath.d.ts +0 -8
  132. package/build/dex/ramses-v2/contract-math/TickMath.js +0 -162
  133. package/build/dex/ramses-v2/contract-math/TickMath.js.map +0 -1
  134. package/build/dex/ramses-v2/contract-math/UnsafeMath.d.ts +0 -3
  135. package/build/dex/ramses-v2/contract-math/UnsafeMath.js +0 -10
  136. package/build/dex/ramses-v2/contract-math/UnsafeMath.js.map +0 -1
  137. package/build/dex/ramses-v2/contract-math/uniswap-v3-math.d.ts +0 -18
  138. package/build/dex/ramses-v2/contract-math/uniswap-v3-math.js +0 -392
  139. package/build/dex/ramses-v2/contract-math/uniswap-v3-math.js.map +0 -1
  140. package/build/dex/ramses-v2/contract-math/utils.d.ts +0 -3
  141. package/build/dex/ramses-v2/contract-math/utils.js +0 -16
  142. package/build/dex/ramses-v2/contract-math/utils.js.map +0 -1
  143. package/build/dex/ramses-v2/ramses-v2-pool.d.ts +0 -42
  144. package/build/dex/ramses-v2/ramses-v2-pool.js +0 -307
  145. package/build/dex/ramses-v2/ramses-v2-pool.js.map +0 -1
  146. package/build/dex/ramses-v2/ramses-v2.d.ts +0 -61
  147. package/build/dex/ramses-v2/ramses-v2.js +0 -690
  148. package/build/dex/ramses-v2/ramses-v2.js.map +0 -1
  149. package/build/dex/ramses-v2/types.d.ts +0 -154
  150. package/build/dex/ramses-v2/types.js +0 -9
  151. package/build/dex/ramses-v2/types.js.map +0 -1
  152. package/build/dex/ramses-v2/utils.d.ts +0 -6
  153. package/build/dex/ramses-v2/utils.js +0 -71
  154. package/build/dex/ramses-v2/utils.js.map +0 -1
  155. package/build/dex/solidly/forks-override/equalizer.d.ts +0 -20
  156. package/build/dex/solidly/forks-override/equalizer.js +0 -46
  157. package/build/dex/solidly/forks-override/equalizer.js.map +0 -1
  158. package/build/dex/sushiswap-v3/config.d.ts +0 -4
  159. package/build/dex/sushiswap-v3/config.js +0 -132
  160. package/build/dex/sushiswap-v3/config.js.map +0 -1
  161. package/build/dex/sushiswap-v3/constants.d.ts +0 -4
  162. package/build/dex/sushiswap-v3/constants.js +0 -32
  163. package/build/dex/sushiswap-v3/constants.js.map +0 -1
  164. package/build/dex/sushiswap-v3/sushiswap-v3-original.d.ts +0 -56
  165. package/build/dex/sushiswap-v3/sushiswap-v3-original.js +0 -598
  166. package/build/dex/sushiswap-v3/sushiswap-v3-original.js.map +0 -1
  167. package/build/dex/sushiswap-v3/sushiswap-v3-pool.d.ts +0 -1
  168. package/build/dex/sushiswap-v3/sushiswap-v3-pool.js +0 -6
  169. package/build/dex/sushiswap-v3/sushiswap-v3-pool.js.map +0 -1
  170. package/build/dex/sushiswap-v3/sushiswap-v3.d.ts +0 -21
  171. package/build/dex/sushiswap-v3/sushiswap-v3.js +0 -58
  172. package/build/dex/sushiswap-v3/sushiswap-v3.js.map +0 -1
  173. package/build/dex/sushiswap-v3/token.d.ts +0 -6
  174. package/build/dex/sushiswap-v3/token.js +0 -23
  175. package/build/dex/sushiswap-v3/token.js.map +0 -1
  176. package/build/dex/sushiswap-v3/types.d.ts +0 -15
  177. package/build/dex/sushiswap-v3/types.js +0 -18
  178. package/build/dex/sushiswap-v3/types.js.map +0 -1
  179. package/src/dex/solidly/forks-override/equalizer.ts +0 -58
  180. /package/build/dex/{pancakeswap-v3 → quick-perps}/types.js +0 -0
@@ -0,0 +1,126 @@
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 (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.TestDex = void 0;
27
+ const CALLDATA_GAS_COST = __importStar(require("../../calldata-gas-cost"));
28
+ const utils_1 = require("../../utils");
29
+ const simple_exchange_1 = require("../simple-exchange");
30
+ const config_1 = require("./config");
31
+ const test_dex_pool_1 = require("./test-dex-pool");
32
+ class TestDex extends simple_exchange_1.SimpleExchange {
33
+ constructor(network, dexKey, dexHelper, adapters = config_1.Adapters[network] || {}) {
34
+ super(dexHelper, dexKey);
35
+ this.network = network;
36
+ this.dexKey = dexKey;
37
+ this.dexHelper = dexHelper;
38
+ this.adapters = adapters;
39
+ this.hasConstantPriceLargeAmounts = false;
40
+ // TODO: set true here if protocols works only with wrapped asset
41
+ this.needWrapNative = true;
42
+ this.isFeeOnTransferSupported = false;
43
+ this.logger = dexHelper.getLogger(dexKey);
44
+ this.eventPools = new test_dex_pool_1.TestDexEventPool(dexKey, network, dexHelper, this.logger);
45
+ }
46
+ // Initialize pricing is called once in the start of
47
+ // pricing service. It is intended to setup the integration
48
+ // for pricing requests. It is optional for a DEX to
49
+ // implement this function
50
+ async initializePricing(blockNumber) {
51
+ // TODO: complete me!
52
+ }
53
+ // Returns the list of contract adapters (name and index)
54
+ // for a buy/sell. Return null if there are no adapters.
55
+ getAdapters(side) {
56
+ return this.adapters[side] ? this.adapters[side] : null;
57
+ }
58
+ // Returns list of pool identifiers that can be used
59
+ // for a given swap. poolIdentifiers must be unique
60
+ // across DEXes. It is recommended to use
61
+ // ${dexKey}_${poolAddress} as a poolIdentifier
62
+ async getPoolIdentifiers(srcToken, destToken, side, blockNumber) {
63
+ // TODO: complete me!
64
+ return [];
65
+ }
66
+ // Returns pool prices for amounts.
67
+ // If limitPools is defined only pools in limitPools
68
+ // should be used. If limitPools is undefined then
69
+ // any pools can be used.
70
+ async getPricesVolume(srcToken, destToken, amounts, side, blockNumber, limitPools) {
71
+ // TODO: complete me!
72
+ return null;
73
+ }
74
+ // Returns estimated gas cost of calldata for this DEX in multiSwap
75
+ getCalldataGasCost(poolPrices) {
76
+ // TODO: update if there is any payload in getAdapterParam
77
+ return CALLDATA_GAS_COST.DEX_NO_PAYLOAD;
78
+ }
79
+ // Encode params required by the exchange adapter
80
+ // Used for multiSwap, buy & megaSwap
81
+ // Hint: abiCoder.encodeParameter() could be useful
82
+ getAdapterParam(srcToken, destToken, srcAmount, destAmount, data, side) {
83
+ // TODO: complete me!
84
+ const { exchange } = data;
85
+ // Encode here the payload for adapter
86
+ const payload = '';
87
+ return {
88
+ targetExchange: exchange,
89
+ payload,
90
+ networkFee: '0',
91
+ };
92
+ }
93
+ // Encode call data used by simpleSwap like routers
94
+ // Used for simpleSwap & simpleBuy
95
+ // Hint: this.buildSimpleParamWithoutWETHConversion
96
+ // could be useful
97
+ async getSimpleParam(srcToken, destToken, srcAmount, destAmount, data, side) {
98
+ // TODO: complete me!
99
+ const { exchange } = data;
100
+ // Encode here the transaction arguments
101
+ const swapData = '';
102
+ return this.buildSimpleParamWithoutWETHConversion(srcToken, srcAmount, destToken, destAmount, swapData, exchange);
103
+ }
104
+ // This is called once before getTopPoolsForToken is
105
+ // called for multiple tokens. This can be helpful to
106
+ // update common state required for calculating
107
+ // getTopPoolsForToken. It is optional for a DEX
108
+ // to implement this
109
+ async updatePoolState() {
110
+ // TODO: complete me!
111
+ }
112
+ // Returns list of top pools based on liquidity. Max
113
+ // limit number pools should be returned.
114
+ async getTopPoolsForToken(tokenAddress, limit) {
115
+ //TODO: complete me!
116
+ return [];
117
+ }
118
+ // This is optional function in case if your implementation has acquired any resources
119
+ // you need to release for graceful shutdown. For example, it may be any interval timer
120
+ releaseResources() {
121
+ // TODO: complete me!
122
+ }
123
+ }
124
+ exports.TestDex = TestDex;
125
+ TestDex.dexKeysWithNetwork = (0, utils_1.getDexKeysWithNetwork)(config_1.TestDexConfig);
126
+ //# sourceMappingURL=test-dex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-dex.js","sourceRoot":"","sources":["../../../src/dex/test-dex/test-dex.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { Address } from '../../types';
2
+ export declare type PoolState = {};
3
+ export declare type TestDexData = {
4
+ exchange: Address;
5
+ };
6
+ export declare type DexParams = {};
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/dex/test-dex/types.ts"],"names":[],"mappings":""}
@@ -141,7 +141,7 @@ exports.UniswapV3Config = {
141
141
  quoter: '0xb1E835Dc2785b52265711e17fCCb0fd018226a6e',
142
142
  router: '0x24c90C7d8fb463722e304A71255341610Fa7589b',
143
143
  supportedFees: SUPPORTED_FEES,
144
- stateMulticall: '',
144
+ stateMulticall: '0x30F6B9b6485ff0B67E881f5ac80D3F1c70A4B23d',
145
145
  uniswapMulticall: '0x8C0F842791F03C095b6c633759224FcC9ACe68ea',
146
146
  chunksCount: 10,
147
147
  initRetryFrequency: 10,
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/uniswap-v3/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/uniswap-v3/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { PoolState, TokenState } from './types';
2
+ import { Address, Logger } from '../../types';
3
+ export declare class WooFiV2Math {
4
+ private readonly logger;
5
+ private readonly _quoteToken;
6
+ state: PoolState;
7
+ constructor(logger: Logger, _quoteToken: Address);
8
+ query(fromToken: Address, toToken: Address, fromAmounts: bigint[]): bigint[] | null;
9
+ _querySellBase(baseToken: Address, baseAmounts: bigint[]): bigint[] | null;
10
+ _querySellQuote(baseToken: Address, quoteAmounts: bigint[]): bigint[] | null;
11
+ _queryBaseToBase(baseToken1: Address, baseToken2: Address, base1Amounts: bigint[]): bigint[] | null;
12
+ protected _takeFeeAndCheckReserve(amounts: bigint[], feeRate: bigint): bigint[];
13
+ protected _takeFee(amounts: bigint[], feeRate: bigint): bigint[];
14
+ protected _calcQuoteAmountSellBase(baseToken: Address, baseAmounts: bigint[], state: TokenState): bigint[];
15
+ protected _calcBaseAmountSellQuote(baseToken: string, quoteAmounts: bigint[], state: TokenState): bigint[];
16
+ }
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WooFiV2Math = void 0;
4
+ const bigint_constants_1 = require("../../bigint-constants");
5
+ const constants_1 = require("./constants");
6
+ function handleMathError(e, logger) {
7
+ if (e instanceof Error && e.message.startsWith('WooGuardian:')) {
8
+ logger.warn('WooFi Guardian check Error:', e);
9
+ return;
10
+ }
11
+ logger.error('Unexpected error in WooFi math:', e);
12
+ }
13
+ function max(a, b) {
14
+ return a > b ? a : b;
15
+ }
16
+ class WooFiV2Math {
17
+ constructor(logger, _quoteToken) {
18
+ this.logger = logger;
19
+ this._quoteToken = _quoteToken;
20
+ this.state = constants_1.NULL_STATE;
21
+ }
22
+ query(fromToken, toToken, fromAmounts) {
23
+ try {
24
+ if (fromToken === this._quoteToken) {
25
+ return this._querySellQuote(toToken, fromAmounts);
26
+ }
27
+ else if (toToken === this._quoteToken) {
28
+ return this._querySellBase(fromToken, fromAmounts);
29
+ }
30
+ else {
31
+ return this._queryBaseToBase(fromToken, toToken, fromAmounts);
32
+ }
33
+ }
34
+ catch (e) {
35
+ handleMathError(e, this.logger);
36
+ return null;
37
+ }
38
+ }
39
+ _querySellBase(baseToken, baseAmounts) {
40
+ try {
41
+ const _state = this.state.tokenStates[baseToken];
42
+ let quoteAmounts = this._calcQuoteAmountSellBase(baseToken, baseAmounts, _state);
43
+ quoteAmounts = quoteAmounts.map(amount => {
44
+ return amount <= this.state.tokenInfos[this._quoteToken].reserve
45
+ ? amount
46
+ : 0n;
47
+ });
48
+ const feeRate = this.state.tokenInfos[baseToken].feeRate;
49
+ return this._takeFee(quoteAmounts, feeRate);
50
+ }
51
+ catch (e) {
52
+ handleMathError(e, this.logger);
53
+ return null;
54
+ }
55
+ }
56
+ _querySellQuote(baseToken, quoteAmounts) {
57
+ try {
58
+ const feeRate = this.state.tokenInfos[baseToken].feeRate;
59
+ quoteAmounts = this._takeFee(quoteAmounts, feeRate);
60
+ const _state = this.state.tokenStates[baseToken];
61
+ let toAmounts = this._calcBaseAmountSellQuote(baseToken, quoteAmounts, _state);
62
+ const baseReserve = this.state.tokenInfos[baseToken].reserve;
63
+ return toAmounts.map(amount => {
64
+ return amount >= baseReserve ? amount : 0n;
65
+ });
66
+ }
67
+ catch (e) {
68
+ handleMathError(e, this.logger);
69
+ return null;
70
+ }
71
+ }
72
+ _queryBaseToBase(baseToken1, baseToken2, base1Amounts) {
73
+ try {
74
+ let state1 = this.state.tokenStates[baseToken1];
75
+ let state2 = this.state.tokenStates[baseToken1];
76
+ const feeRate1 = this.state.tokenInfos[baseToken1].feeRate;
77
+ const feeRate2 = this.state.tokenInfos[baseToken2].feeRate;
78
+ const spread = max(state1.spread, state2.spread) / 2n;
79
+ const feeRate = max(feeRate1, feeRate2);
80
+ state1.spread = spread;
81
+ state2.spread = spread;
82
+ let quoteAmounts = this._calcQuoteAmountSellBase(baseToken1, base1Amounts, state1);
83
+ quoteAmounts = this._takeFeeAndCheckReserve(quoteAmounts, feeRate);
84
+ let toAmounts = this._calcBaseAmountSellQuote(baseToken2, quoteAmounts, state2);
85
+ return toAmounts.map(toAmount => {
86
+ return toAmount <= this.state.tokenInfos[baseToken2].reserve
87
+ ? toAmount
88
+ : 0n;
89
+ });
90
+ }
91
+ catch (e) {
92
+ handleMathError(e, this.logger);
93
+ return null;
94
+ }
95
+ }
96
+ _takeFeeAndCheckReserve(amounts, feeRate) {
97
+ return amounts.map(amount => {
98
+ if (amount === 0n)
99
+ return 0n;
100
+ const lpFee = (amount * feeRate) / bigint_constants_1.BI_POWS[5];
101
+ const reserve = this.state.tokenInfos[this._quoteToken].reserve;
102
+ return lpFee > reserve ? 0n : amount - lpFee;
103
+ });
104
+ }
105
+ _takeFee(amounts, feeRate) {
106
+ return amounts.map(amount => {
107
+ const lpFee = (amount * feeRate) / bigint_constants_1.BI_POWS[5];
108
+ return amount === 0n ? 0n : amount - lpFee;
109
+ });
110
+ }
111
+ _calcQuoteAmountSellBase(baseToken, baseAmounts, state) {
112
+ let { priceDec, quoteDec, baseDec } = this.state.decimals[baseToken];
113
+ return baseAmounts.map(baseAmount => {
114
+ if (baseAmount === 0n)
115
+ return 0n;
116
+ const coef = bigint_constants_1.BI_POWS[18] -
117
+ (state.coeff * baseAmount * state.price) / baseDec / priceDec -
118
+ state.spread;
119
+ return ((((baseAmount * quoteDec * state.price) / priceDec) * coef) /
120
+ bigint_constants_1.BI_POWS[18] /
121
+ baseDec);
122
+ });
123
+ }
124
+ _calcBaseAmountSellQuote(baseToken, quoteAmounts, state) {
125
+ let { priceDec, quoteDec, baseDec } = this.state.decimals[baseToken];
126
+ return quoteAmounts.map(quoteAmount => {
127
+ if (quoteAmount === 0n)
128
+ return 0n;
129
+ const coef = bigint_constants_1.BI_POWS[18] - (quoteAmount * state.coeff) / quoteDec - state.spread;
130
+ return ((((quoteAmount * baseDec * priceDec) / state.price) * coef) /
131
+ bigint_constants_1.BI_POWS[18] /
132
+ quoteDec);
133
+ });
134
+ }
135
+ }
136
+ exports.WooFiV2Math = WooFiV2Math;
137
+ //# sourceMappingURL=woo-fi-math.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"woo-fi-math.js","sourceRoot":"","sources":["../../../src/dex/woo-fi-v2/woo-fi-math.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import { DeepReadonly } from 'ts-essentials';
2
+ import { PartialEventSubscriber } from '../composed-event-subscriber';
3
+ import { Address, BlockHeader, Log, Logger, MultiCallInput, MultiCallOutput } from '../types';
4
+ import { Lens } from '../lens';
5
+ import { Interface } from '@ethersproject/abi';
6
+ export declare type Api3FeedSubscriberState = {
7
+ value: bigint;
8
+ timestamp: bigint;
9
+ };
10
+ export declare class Api3FeedSubscriber<State> extends PartialEventSubscriber<State, Api3FeedSubscriberState> {
11
+ private proxy;
12
+ private dataFeedId;
13
+ static readonly proxyInterface: Interface;
14
+ static readonly api3ServerV1Iface: Interface;
15
+ static readonly ANSWER_UPDATED_SIGNED_DATA: string;
16
+ static readonly ANSWER_UPDATED_BEACON_SET_DATA: string;
17
+ constructor(proxy: Address, api3Server: Address, dataFeedId: string, lens: Lens<DeepReadonly<State>, DeepReadonly<Api3FeedSubscriberState>>, logger: Logger);
18
+ static getApi3ServerV1MultiCallInput(proxy: Address): MultiCallInput;
19
+ static getDataFeedId(proxy: Address): MultiCallInput;
20
+ static decodeDataFeedId(multicallOutput: MultiCallOutput): any;
21
+ static decodeApi3ServerV1Result(multicallOutput: MultiCallOutput): Address;
22
+ processLog(state: DeepReadonly<Api3FeedSubscriberState>, log: Readonly<Log>, blockHeader: Readonly<BlockHeader>): DeepReadonly<Api3FeedSubscriberState> | null;
23
+ getGenerateStateMultiCallInputs(): MultiCallInput[];
24
+ generateState(multicallOutputs: MultiCallOutput[], blockNumber?: number | 'latest'): DeepReadonly<Api3FeedSubscriberState>;
25
+ getLatestData(state: DeepReadonly<State>): bigint;
26
+ }
@@ -0,0 +1,82 @@
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.Api3FeedSubscriber = void 0;
7
+ const composed_event_subscriber_1 = require("../composed-event-subscriber");
8
+ const abi_1 = require("@ethersproject/abi");
9
+ const api3_proxy_json_1 = __importDefault(require("../abi/api3-proxy.json"));
10
+ const api3_server_v1_json_1 = __importDefault(require("../abi/api3-server-v1.json"));
11
+ class Api3FeedSubscriber extends composed_event_subscriber_1.PartialEventSubscriber {
12
+ constructor(proxy, api3Server, dataFeedId, lens, logger) {
13
+ super([api3Server], lens, logger);
14
+ this.proxy = proxy;
15
+ this.dataFeedId = dataFeedId;
16
+ }
17
+ static getApi3ServerV1MultiCallInput(proxy) {
18
+ return {
19
+ target: proxy,
20
+ callData: Api3FeedSubscriber.proxyInterface.encodeFunctionData('api3ServerV1'),
21
+ };
22
+ }
23
+ static getDataFeedId(proxy) {
24
+ return {
25
+ target: proxy,
26
+ callData: Api3FeedSubscriber.proxyInterface.encodeFunctionData('dataFeedId'),
27
+ };
28
+ }
29
+ static decodeDataFeedId(multicallOutput) {
30
+ return Api3FeedSubscriber.proxyInterface.decodeFunctionResult('dataFeedId', multicallOutput)[0];
31
+ }
32
+ static decodeApi3ServerV1Result(multicallOutput) {
33
+ return Api3FeedSubscriber.proxyInterface.decodeFunctionResult('api3ServerV1', multicallOutput)[0];
34
+ }
35
+ processLog(state, log, blockHeader) {
36
+ if (log.topics[0] === Api3FeedSubscriber.ANSWER_UPDATED_SIGNED_DATA) {
37
+ const decoded = Api3FeedSubscriber.api3ServerV1Iface.decodeEventLog('UpdatedBeaconWithSignedData', log.data, log.topics);
38
+ if (decoded.beaconId !== this.dataFeedId)
39
+ return null;
40
+ return {
41
+ value: BigInt(decoded.value.toString()),
42
+ timestamp: BigInt(decoded.timestamp.toString()),
43
+ };
44
+ }
45
+ else if (log.topics[0] === Api3FeedSubscriber.ANSWER_UPDATED_BEACON_SET_DATA) {
46
+ const decoded = Api3FeedSubscriber.api3ServerV1Iface.decodeEventLog('UpdatedBeaconSetWithBeacons', log.data, log.topics);
47
+ if (decoded.beaconSetId !== this.dataFeedId)
48
+ return null;
49
+ return {
50
+ value: BigInt(decoded.value.toString()),
51
+ timestamp: BigInt(decoded.timestamp.toString()),
52
+ };
53
+ }
54
+ else {
55
+ return null;
56
+ }
57
+ }
58
+ getGenerateStateMultiCallInputs() {
59
+ return [
60
+ {
61
+ target: this.proxy,
62
+ callData: Api3FeedSubscriber.proxyInterface.encodeFunctionData('read'),
63
+ },
64
+ ];
65
+ }
66
+ generateState(multicallOutputs, blockNumber) {
67
+ const decoded = Api3FeedSubscriber.proxyInterface.decodeFunctionResult('read', multicallOutputs[0]);
68
+ return {
69
+ value: BigInt(decoded.value.toString()),
70
+ timestamp: BigInt(decoded.timestamp.toString()),
71
+ };
72
+ }
73
+ getLatestData(state) {
74
+ return this.lens.get()(state).value;
75
+ }
76
+ }
77
+ exports.Api3FeedSubscriber = Api3FeedSubscriber;
78
+ Api3FeedSubscriber.proxyInterface = new abi_1.Interface(api3_proxy_json_1.default);
79
+ Api3FeedSubscriber.api3ServerV1Iface = new abi_1.Interface(api3_server_v1_json_1.default);
80
+ Api3FeedSubscriber.ANSWER_UPDATED_SIGNED_DATA = Api3FeedSubscriber.api3ServerV1Iface.getEventTopic('UpdatedBeaconWithSignedData');
81
+ Api3FeedSubscriber.ANSWER_UPDATED_BEACON_SET_DATA = Api3FeedSubscriber.api3ServerV1Iface.getEventTopic('UpdatedBeaconSetWithBeacons');
82
+ //# sourceMappingURL=api3-feed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api3-feed.js","sourceRoot":"","sources":["../../src/lib/api3-feed.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paraswap/dex-lib",
3
- "version": "2.33.1-equalizer",
3
+ "version": "2.33.1",
4
4
  "main": "build/index.js",
5
5
  "types": "build/index.d.ts",
6
6
  "repository": "https://github.com/paraswap/paraswap-dex-lib",
package/src/dex/index.ts CHANGED
@@ -51,7 +51,6 @@ import { SpiritSwapV2 } from './solidly/forks-override/spiritSwapV2';
51
51
  import { Synthetix } from './synthetix/synthetix';
52
52
  import { Cone } from './solidly/forks-override/cone';
53
53
  import { SoliSnek } from './solidly/forks-override/solisnek';
54
- import { Equalizer } from './solidly/forks-override/equalizer';
55
54
  import { BalancerV1 } from './balancer-v1/balancer-v1';
56
55
  import { balancerV1Merge } from './balancer-v1/optimizer';
57
56
  import { CurveV1 } from './curve-v1/curve-v1';
@@ -134,7 +133,6 @@ const Dexes = [
134
133
  VelodromeV2,
135
134
  Cone,
136
135
  SoliSnek,
137
- Equalizer,
138
136
  Synthetix,
139
137
  CurveV1Factory,
140
138
  SwaapV1,
@@ -148,16 +148,6 @@ export const SolidlyConfig: DexConfigMap<DexParams> = {
148
148
  feeCode: 0,
149
149
  },
150
150
  },
151
- Equalizer: {
152
- [Network.FANTOM]: {
153
- factoryAddress: '0xc6366EFD0AF1d09171fe0EBF32c7943BB310832a',
154
- router: '0x93d2611EB8b85bE4FDEa9D94Ce9913D90072eC0f',
155
- initCode:
156
- '0x02ada2a0163cd4f7e0f0c9805f5230716a95b174140e4c84c14883de216cc6a3',
157
- feeCode: 0,
158
- poolGasCost: 180 * 1000,
159
- },
160
- },
161
151
  };
162
152
 
163
153
  export const Adapters: Record<number, AdapterMappings> = {
@@ -165,7 +155,7 @@ export const Adapters: Record<number, AdapterMappings> = {
165
155
  [SwapSide.SELL]: [{ name: 'PolygonAdapter02', index: 3 }], // dystopia
166
156
  },
167
157
  [Network.FANTOM]: {
168
- [SwapSide.SELL]: [{ name: 'FantomAdapter01', index: 10 }], // solidly + spiritSwapV2 + Equalizer
158
+ [SwapSide.SELL]: [{ name: 'FantomAdapter01', index: 10 }], // solidly + spiritSwapV2
169
159
  },
170
160
  [Network.OPTIMISM]: {
171
161
  [SwapSide.SELL]: [{ name: 'OptimismAdapter01', index: 8 }], // velodrome
@@ -389,29 +389,6 @@ describe('Solidly E2E', () => {
389
389
  });
390
390
  });
391
391
  });
392
-
393
- describe('Equalizer', () => {
394
- const dexKey = 'Equalizer';
395
- const network = Network.FANTOM;
396
-
397
- const tokenASymbol: string = 'FUSDT';
398
- const tokenBSymbol: string = 'USDC';
399
-
400
- const tokenAAmount: string = '111110';
401
- const tokenBAmount: string = '100000';
402
- const nativeTokenAmount = '11000000000000000';
403
-
404
- testForNetwork(
405
- network,
406
- dexKey,
407
- tokenASymbol,
408
- tokenBSymbol,
409
- tokenAAmount,
410
- tokenBAmount,
411
- nativeTokenAmount,
412
- );
413
-
414
- });
415
392
  });
416
393
 
417
394
  describe('Mainnet', () => {