@paraswap/dex-lib 2.33.1-nomiswap-v2 → 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 (179) 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/{ramses-v2 → test-dex}/config.d.ts +1 -1
  43. package/build/dex/test-dex/config.js +15 -0
  44. package/build/dex/test-dex/config.js.map +1 -0
  45. package/build/dex/test-dex/test-dex-pool.d.ts +39 -0
  46. package/build/dex/test-dex/test-dex-pool.js +63 -0
  47. package/build/dex/test-dex/test-dex-pool.js.map +1 -0
  48. package/build/dex/test-dex/test-dex.d.ts +37 -0
  49. package/build/dex/test-dex/test-dex.js +126 -0
  50. package/build/dex/test-dex/test-dex.js.map +1 -0
  51. package/build/dex/test-dex/types.d.ts +6 -0
  52. package/build/dex/test-dex/types.js +3 -0
  53. package/build/dex/test-dex/types.js.map +1 -0
  54. package/build/dex/uniswap-v3/config.js +1 -1
  55. package/build/dex/uniswap-v3/config.js.map +1 -1
  56. package/build/dex/woo-fi-v2/woo-fi-math.d.ts +16 -0
  57. package/build/dex/woo-fi-v2/woo-fi-math.js +137 -0
  58. package/build/dex/woo-fi-v2/woo-fi-math.js.map +1 -0
  59. package/build/lib/api3-feed.d.ts +26 -0
  60. package/build/lib/api3-feed.js +82 -0
  61. package/build/lib/api3-feed.js.map +1 -0
  62. package/package.json +1 -1
  63. package/src/dex/index.ts +0 -2
  64. package/src/dex/uniswap-v2/uniswap-v2-e2e-bsc.test.ts +1 -122
  65. package/src/dex/uniswap-v3/config.ts +1 -1
  66. package/src/dex/uniswap-v3/uniswap-v3-e2e.test.ts +1 -0
  67. package/.idea/aws.xml +0 -17
  68. package/.idea/codeStyles/Project.xml +0 -19
  69. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  70. package/.idea/misc.xml +0 -6
  71. package/.idea/modules.xml +0 -8
  72. package/.idea/paraswap-dex-lib.iml +0 -9
  73. package/.idea/vcs.xml +0 -6
  74. package/build/abi/algebra/AlgebraPool.abi.json +0 -727
  75. package/build/abi/curve-v1/StableSwapFRXETH.json +0 -889
  76. package/build/abi/curve-v1/StableSwapWBETH.json +0 -1223
  77. package/build/abi/nomiswap-v2/nomiswap-v2-pool.json +0 -773
  78. package/build/abi/sushiswap-v3/QuoterV2.json +0 -267
  79. package/build/abi/sushiswap-v3/RouterProcessor3.json +0 -289
  80. package/build/abi/wBETH.json +0 -1527
  81. package/build/dex/algebra/algebra-pool.d.ts +0 -46
  82. package/build/dex/algebra/algebra-pool.js +0 -336
  83. package/build/dex/algebra/algebra-pool.js.map +0 -1
  84. package/build/dex/curve-v1/pools/frxETHpool.d.ts +0 -7
  85. package/build/dex/curve-v1/pools/frxETHpool.js +0 -27
  86. package/build/dex/curve-v1/pools/frxETHpool.js.map +0 -1
  87. package/build/dex/curve-v1/pools/wbETHpool.d.ts +0 -29
  88. package/build/dex/curve-v1/pools/wbETHpool.js +0 -408
  89. package/build/dex/curve-v1/pools/wbETHpool.js.map +0 -1
  90. package/build/dex/pancakeswap-v3/types.d.ts +0 -14
  91. package/build/dex/ramses-v2/config.js +0 -28
  92. package/build/dex/ramses-v2/config.js.map +0 -1
  93. package/build/dex/ramses-v2/constants.d.ts +0 -28
  94. package/build/dex/ramses-v2/constants.js +0 -35
  95. package/build/dex/ramses-v2/constants.js.map +0 -1
  96. package/build/dex/ramses-v2/contract-math/BitMath.d.ts +0 -4
  97. package/build/dex/ramses-v2/contract-math/BitMath.js +0 -93
  98. package/build/dex/ramses-v2/contract-math/BitMath.js.map +0 -1
  99. package/build/dex/ramses-v2/contract-math/FixedPoint128.d.ts +0 -3
  100. package/build/dex/ramses-v2/contract-math/FixedPoint128.js +0 -8
  101. package/build/dex/ramses-v2/contract-math/FixedPoint128.js.map +0 -1
  102. package/build/dex/ramses-v2/contract-math/FixedPoint96.d.ts +0 -4
  103. package/build/dex/ramses-v2/contract-math/FixedPoint96.js +0 -9
  104. package/build/dex/ramses-v2/contract-math/FixedPoint96.js.map +0 -1
  105. package/build/dex/ramses-v2/contract-math/FullMath.d.ts +0 -4
  106. package/build/dex/ramses-v2/contract-math/FullMath.js +0 -19
  107. package/build/dex/ramses-v2/contract-math/FullMath.js.map +0 -1
  108. package/build/dex/ramses-v2/contract-math/LiquidityMath.d.ts +0 -3
  109. package/build/dex/ramses-v2/contract-math/LiquidityMath.js +0 -22
  110. package/build/dex/ramses-v2/contract-math/LiquidityMath.js.map +0 -1
  111. package/build/dex/ramses-v2/contract-math/Oracle.d.ts +0 -10
  112. package/build/dex/ramses-v2/contract-math/Oracle.js +0 -133
  113. package/build/dex/ramses-v2/contract-math/Oracle.js.map +0 -1
  114. package/build/dex/ramses-v2/contract-math/SqrtPriceMath.d.ts +0 -10
  115. package/build/dex/ramses-v2/contract-math/SqrtPriceMath.js +0 -91
  116. package/build/dex/ramses-v2/contract-math/SqrtPriceMath.js.map +0 -1
  117. package/build/dex/ramses-v2/contract-math/SwapMath.d.ts +0 -8
  118. package/build/dex/ramses-v2/contract-math/SwapMath.js +0 -70
  119. package/build/dex/ramses-v2/contract-math/SwapMath.js.map +0 -1
  120. package/build/dex/ramses-v2/contract-math/Tick.d.ts +0 -7
  121. package/build/dex/ramses-v2/contract-math/Tick.js +0 -45
  122. package/build/dex/ramses-v2/contract-math/Tick.js.map +0 -1
  123. package/build/dex/ramses-v2/contract-math/TickBitMap.d.ts +0 -8
  124. package/build/dex/ramses-v2/contract-math/TickBitMap.js +0 -87
  125. package/build/dex/ramses-v2/contract-math/TickBitMap.js.map +0 -1
  126. package/build/dex/ramses-v2/contract-math/TickMath.d.ts +0 -8
  127. package/build/dex/ramses-v2/contract-math/TickMath.js +0 -162
  128. package/build/dex/ramses-v2/contract-math/TickMath.js.map +0 -1
  129. package/build/dex/ramses-v2/contract-math/UnsafeMath.d.ts +0 -3
  130. package/build/dex/ramses-v2/contract-math/UnsafeMath.js +0 -10
  131. package/build/dex/ramses-v2/contract-math/UnsafeMath.js.map +0 -1
  132. package/build/dex/ramses-v2/contract-math/uniswap-v3-math.d.ts +0 -18
  133. package/build/dex/ramses-v2/contract-math/uniswap-v3-math.js +0 -392
  134. package/build/dex/ramses-v2/contract-math/uniswap-v3-math.js.map +0 -1
  135. package/build/dex/ramses-v2/contract-math/utils.d.ts +0 -3
  136. package/build/dex/ramses-v2/contract-math/utils.js +0 -16
  137. package/build/dex/ramses-v2/contract-math/utils.js.map +0 -1
  138. package/build/dex/ramses-v2/ramses-v2-pool.d.ts +0 -42
  139. package/build/dex/ramses-v2/ramses-v2-pool.js +0 -307
  140. package/build/dex/ramses-v2/ramses-v2-pool.js.map +0 -1
  141. package/build/dex/ramses-v2/ramses-v2.d.ts +0 -61
  142. package/build/dex/ramses-v2/ramses-v2.js +0 -690
  143. package/build/dex/ramses-v2/ramses-v2.js.map +0 -1
  144. package/build/dex/ramses-v2/types.d.ts +0 -154
  145. package/build/dex/ramses-v2/types.js +0 -9
  146. package/build/dex/ramses-v2/types.js.map +0 -1
  147. package/build/dex/ramses-v2/utils.d.ts +0 -6
  148. package/build/dex/ramses-v2/utils.js +0 -71
  149. package/build/dex/ramses-v2/utils.js.map +0 -1
  150. package/build/dex/solidly/forks-override/equalizer.d.ts +0 -20
  151. package/build/dex/solidly/forks-override/equalizer.js +0 -46
  152. package/build/dex/solidly/forks-override/equalizer.js.map +0 -1
  153. package/build/dex/sushiswap-v3/config.d.ts +0 -4
  154. package/build/dex/sushiswap-v3/config.js +0 -132
  155. package/build/dex/sushiswap-v3/config.js.map +0 -1
  156. package/build/dex/sushiswap-v3/constants.d.ts +0 -4
  157. package/build/dex/sushiswap-v3/constants.js +0 -32
  158. package/build/dex/sushiswap-v3/constants.js.map +0 -1
  159. package/build/dex/sushiswap-v3/sushiswap-v3-original.d.ts +0 -56
  160. package/build/dex/sushiswap-v3/sushiswap-v3-original.js +0 -598
  161. package/build/dex/sushiswap-v3/sushiswap-v3-original.js.map +0 -1
  162. package/build/dex/sushiswap-v3/sushiswap-v3-pool.d.ts +0 -1
  163. package/build/dex/sushiswap-v3/sushiswap-v3-pool.js +0 -6
  164. package/build/dex/sushiswap-v3/sushiswap-v3-pool.js.map +0 -1
  165. package/build/dex/sushiswap-v3/sushiswap-v3.d.ts +0 -21
  166. package/build/dex/sushiswap-v3/sushiswap-v3.js +0 -58
  167. package/build/dex/sushiswap-v3/sushiswap-v3.js.map +0 -1
  168. package/build/dex/sushiswap-v3/token.d.ts +0 -6
  169. package/build/dex/sushiswap-v3/token.js +0 -23
  170. package/build/dex/sushiswap-v3/token.js.map +0 -1
  171. package/build/dex/sushiswap-v3/types.d.ts +0 -15
  172. package/build/dex/sushiswap-v3/types.js +0 -18
  173. package/build/dex/sushiswap-v3/types.js.map +0 -1
  174. package/build/dex/uniswap-v2/nomiswap-v2.d.ts +0 -24
  175. package/build/dex/uniswap-v2/nomiswap-v2.js +0 -44
  176. package/build/dex/uniswap-v2/nomiswap-v2.js.map +0 -1
  177. package/src/abi/nomiswap-v2/nomiswap-v2-pool.json +0 -773
  178. package/src/dex/uniswap-v2/nomiswap-v2.ts +0 -62
  179. /package/build/dex/{pancakeswap-v3 → quick-perps}/types.js +0 -0
@@ -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-nomiswap-v2",
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
@@ -72,7 +72,6 @@ import { SpiritSwapV3 } from './quickswap/spiritswap-v3';
72
72
  import { TraderJoeV21 } from './trader-joe-v2.1';
73
73
  import { PancakeswapV3 } from './pancakeswap-v3/pancakeswap-v3';
74
74
  import { Algebra } from './algebra/algebra';
75
- import { NomiswapV2 } from './uniswap-v2/nomiswap-v2';
76
75
 
77
76
  const LegacyDexes = [
78
77
  CurveV2,
@@ -142,7 +141,6 @@ const Dexes = [
142
141
  MaverickV1,
143
142
  Camelot,
144
143
  SwaapV2,
145
- NomiswapV2,
146
144
  ];
147
145
 
148
146
  export type LegacyDexConstructor = new (dexHelper: IDexHelper) => IDexTxBuilder<
@@ -2,110 +2,11 @@ import dotenv from 'dotenv';
2
2
  dotenv.config();
3
3
 
4
4
  import { testE2E } from '../../../tests/utils-e2e';
5
- import { Tokens, Holders, NativeTokenSymbols } from '../../../tests/constants-e2e';
5
+ import { Tokens, Holders } from '../../../tests/constants-e2e';
6
6
  import { Network, ContractMethod, SwapSide } from '../../constants';
7
7
  import { StaticJsonRpcProvider } from '@ethersproject/providers';
8
8
  import { generateConfig } from '../../config';
9
9
 
10
- function testForNetwork(
11
- network: Network,
12
- dexKey: string,
13
- tokenASymbol: string,
14
- tokenBSymbol: string,
15
- tokenAAmount: string,
16
- tokenBAmount: string,
17
- nativeTokenAmount: string,
18
- slippage?: number | undefined,
19
- ) {
20
- const provider = new StaticJsonRpcProvider(
21
- generateConfig(network).privateHttpProvider,
22
- network,
23
- );
24
- const tokens = Tokens[network];
25
- const holders = Holders[network];
26
- const nativeTokenSymbol = NativeTokenSymbols[network];
27
-
28
- const sideToContractMethods = new Map([
29
- [
30
- SwapSide.SELL,
31
- [
32
- ContractMethod.simpleSwap,
33
- ContractMethod.multiSwap,
34
- ContractMethod.megaSwap,
35
- ],
36
- ],
37
- [
38
- SwapSide.BUY,
39
- [
40
- ContractMethod.simpleBuy,
41
- ContractMethod.buy,
42
- ],
43
- ],
44
- ]);
45
-
46
- describe(`${network}`, () => {
47
- sideToContractMethods.forEach((contractMethods, side) =>
48
- describe(`${side}`, () => {
49
- contractMethods.forEach((contractMethod: ContractMethod) => {
50
- describe(`${contractMethod}`, () => {
51
- it(`${nativeTokenSymbol} -> ${tokenASymbol}`, async () => {
52
- await testE2E(
53
- tokens[nativeTokenSymbol],
54
- tokens[tokenASymbol],
55
- holders[nativeTokenSymbol],
56
- side === SwapSide.SELL ? nativeTokenAmount : tokenAAmount,
57
- side,
58
- dexKey,
59
- contractMethod,
60
- network,
61
- provider,
62
- undefined,
63
- undefined,
64
- undefined,
65
- slippage,
66
- );
67
- });
68
- it(`${tokenASymbol} -> ${nativeTokenSymbol}`, async () => {
69
- await testE2E(
70
- tokens[tokenASymbol],
71
- tokens[nativeTokenSymbol],
72
- holders[tokenASymbol],
73
- side === SwapSide.SELL ? tokenAAmount : nativeTokenAmount,
74
- side,
75
- dexKey,
76
- contractMethod,
77
- network,
78
- provider,
79
- undefined,
80
- undefined,
81
- undefined,
82
- slippage,
83
- );
84
- });
85
- it(`${tokenASymbol} -> ${tokenBSymbol}`, async () => {
86
- await testE2E(
87
- tokens[tokenASymbol],
88
- tokens[tokenBSymbol],
89
- holders[tokenASymbol],
90
- side === SwapSide.SELL ? tokenAAmount : tokenBAmount,
91
- side,
92
- dexKey,
93
- contractMethod,
94
- network,
95
- provider,
96
- undefined,
97
- undefined,
98
- undefined,
99
- slippage,
100
- );
101
- });
102
- });
103
- });
104
- }),
105
- );
106
- });
107
- }
108
-
109
10
  describe('UniswapV2 E2E BSC', () => {
110
11
  const network = Network.BSC;
111
12
  const tokens = Tokens[network];
@@ -1506,28 +1407,6 @@ describe('UniswapV2 E2E BSC', () => {
1506
1407
  });
1507
1408
  });
1508
1409
 
1509
- describe('NomiswapV2', () => {
1510
- const dexKey = 'NomiswapV2';
1511
- const network = Network.BSC;
1512
-
1513
- const tokenASymbol: string = 'USDC';
1514
- const tokenBSymbol: string = 'USDT';
1515
-
1516
- const tokenAAmount: string = '1111100000';
1517
- const tokenBAmount: string = '1000000000';
1518
- const nativeTokenAmount = '11000000000000';
1519
-
1520
- testForNetwork(
1521
- network,
1522
- dexKey,
1523
- tokenASymbol,
1524
- tokenBSymbol,
1525
- tokenAAmount,
1526
- tokenBAmount,
1527
- nativeTokenAmount,
1528
- );
1529
- });
1530
-
1531
1410
  describe(`Swapsicle`, () => {
1532
1411
  const dexKey = 'Swapsicle';
1533
1412
 
@@ -151,7 +151,7 @@ export const UniswapV3Config: DexConfigMap<DexParams> = {
151
151
  quoter: '0xb1E835Dc2785b52265711e17fCCb0fd018226a6e',
152
152
  router: '0x24c90C7d8fb463722e304A71255341610Fa7589b',
153
153
  supportedFees: SUPPORTED_FEES,
154
- stateMulticall: '',
154
+ stateMulticall: '0x30F6B9b6485ff0B67E881f5ac80D3F1c70A4B23d',
155
155
  uniswapMulticall: '0x8C0F842791F03C095b6c633759224FcC9ACe68ea',
156
156
  chunksCount: 10,
157
157
  initRetryFrequency: 10,
@@ -112,6 +112,7 @@ function testForNetwork(
112
112
  });
113
113
  }
114
114
 
115
+
115
116
  describe('UniswapV3 E2E', () => {
116
117
 
117
118
  describe('UniswapV3', () => {
package/.idea/aws.xml DELETED
@@ -1,17 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="accountSettings">
4
- <option name="activeProfile" value="profile:default" />
5
- <option name="activeRegion" value="us-east-1" />
6
- <option name="recentlyUsedProfiles">
7
- <list>
8
- <option value="profile:default" />
9
- </list>
10
- </option>
11
- <option name="recentlyUsedRegions">
12
- <list>
13
- <option value="us-east-1" />
14
- </list>
15
- </option>
16
- </component>
17
- </project>
@@ -1,19 +0,0 @@
1
- <component name="ProjectCodeStyleConfiguration">
2
- <code_scheme name="Project" version="173">
3
- <ScalaCodeStyleSettings>
4
- <option name="MULTILINE_STRING_CLOSING_QUOTES_ON_NEW_LINE" value="true" />
5
- </ScalaCodeStyleSettings>
6
- <TypeScriptCodeStyleSettings version="0">
7
- <option name="SPACE_WITHIN_ARRAY_INITIALIZER_BRACKETS" value="true" />
8
- <option name="USE_DOUBLE_QUOTES" value="false" />
9
- <option name="SPACES_WITHIN_IMPORTS" value="true" />
10
- </TypeScriptCodeStyleSettings>
11
- <codeStyleSettings language="TypeScript">
12
- <indentOptions>
13
- <option name="INDENT_SIZE" value="2" />
14
- <option name="CONTINUATION_INDENT_SIZE" value="2" />
15
- <option name="TAB_SIZE" value="2" />
16
- </indentOptions>
17
- </codeStyleSettings>
18
- </code_scheme>
19
- </component>
@@ -1,5 +0,0 @@
1
- <component name="ProjectCodeStyleConfiguration">
2
- <state>
3
- <option name="PREFERRED_PROJECT_CODE_STYLE" value="Default" />
4
- </state>
5
- </component>
package/.idea/misc.xml DELETED
@@ -1,6 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="ProjectRootManager">
4
- <output url="file://$PROJECT_DIR$/out" />
5
- </component>
6
- </project>
package/.idea/modules.xml DELETED
@@ -1,8 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="ProjectModuleManager">
4
- <modules>
5
- <module fileurl="file://$PROJECT_DIR$/.idea/paraswap-dex-lib.iml" filepath="$PROJECT_DIR$/.idea/paraswap-dex-lib.iml" />
6
- </modules>
7
- </component>
8
- </project>
@@ -1,9 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <module type="JAVA_MODULE" version="4">
3
- <component name="NewModuleRootManager" inherit-compiler-output="true">
4
- <exclude-output />
5
- <content url="file://$MODULE_DIR$" />
6
- <orderEntry type="inheritedJdk" />
7
- <orderEntry type="sourceFolder" forTests="false" />
8
- </component>
9
- </module>
package/.idea/vcs.xml DELETED
@@ -1,6 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="VcsDirectoryMappings">
4
- <mapping directory="" vcs="Git" />
5
- </component>
6
- </project>