@paraswap/dex-lib 2.37.8-dexalot → 2.39.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 (194) hide show
  1. package/build/config.js +2 -4
  2. package/build/config.js.map +1 -1
  3. package/build/dex/idex.d.ts +1 -1
  4. package/build/dex/index.js +0 -2
  5. package/build/dex/index.js.map +1 -1
  6. package/build/dex/uniswap-v2/config.js +22 -0
  7. package/build/dex/uniswap-v2/config.js.map +1 -1
  8. package/build/types.d.ts +0 -1
  9. package/package.json +1 -1
  10. package/src/config.ts +2 -5
  11. package/src/dex/idex.ts +0 -2
  12. package/src/dex/index.ts +0 -2
  13. package/src/dex/uniswap-v2/config.ts +23 -0
  14. package/src/types.ts +0 -1
  15. package/tests/constants-e2e.ts +2 -2
  16. package/.idea/aws.xml +0 -17
  17. package/.idea/codeStyles/Project.xml +0 -19
  18. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  19. package/.idea/misc.xml +0 -6
  20. package/.idea/modules.xml +0 -8
  21. package/.idea/paraswap-dex-lib.iml +0 -9
  22. package/.idea/vcs.xml +0 -6
  23. package/build/abi/curve-v1/StableSwapFRXETH.json +0 -889
  24. package/build/abi/curve-v1/StableSwapWBETH.json +0 -1223
  25. package/build/abi/dexalot/DexalotMainnetRFQ.json +0 -952
  26. package/build/abi/sushiswap-v3/QuoterV2.json +0 -267
  27. package/build/abi/sushiswap-v3/RouterProcessor3.json +0 -289
  28. package/build/abi/uniswap-v3/pancakeswap-v3/PancakeswapV3QuoterV2.abi.json +0 -285
  29. package/build/abi/uniswap-v3/pancakeswap-v3/PancakeswapV3Router.abi.json +0 -583
  30. package/build/abi/wBETH.json +0 -1527
  31. package/build/abi/woo-fi/WooFeeManager.abi.json +0 -318
  32. package/build/abi/woo-fi/WooPP.abi.json +0 -548
  33. package/build/abi/woo-fi/Wooracle.abi.json +0 -260
  34. package/build/dex/aave-v3/tokens/arbitrum.json +0 -50
  35. package/build/dex/aave-v3/tokens/avalanche.json +0 -74
  36. package/build/dex/aave-v3/tokens/fantom.json +0 -62
  37. package/build/dex/aave-v3/tokens/optimism.json +0 -50
  38. package/build/dex/aave-v3/tokens/polygon.json +0 -116
  39. package/build/dex/balancer-v2/LinearMath.d.ts +0 -19
  40. package/build/dex/balancer-v2/LinearMath.js +0 -179
  41. package/build/dex/balancer-v2/LinearMath.js.map +0 -1
  42. package/build/dex/balancer-v2/LinearPool.d.ts +0 -47
  43. package/build/dex/balancer-v2/LinearPool.js +0 -324
  44. package/build/dex/balancer-v2/LinearPool.js.map +0 -1
  45. package/build/dex/balancer-v2/PhantomStablePool.d.ts +0 -47
  46. package/build/dex/balancer-v2/PhantomStablePool.js +0 -294
  47. package/build/dex/balancer-v2/PhantomStablePool.js.map +0 -1
  48. package/build/dex/balancer-v2/StableMath.d.ts +0 -9
  49. package/build/dex/balancer-v2/StableMath.js +0 -272
  50. package/build/dex/balancer-v2/StableMath.js.map +0 -1
  51. package/build/dex/balancer-v2/balancer-v2-pool.d.ts +0 -75
  52. package/build/dex/balancer-v2/balancer-v2-pool.js +0 -417
  53. package/build/dex/balancer-v2/balancer-v2-pool.js.map +0 -1
  54. package/build/dex/curve-v1/pools/frxETHpool.d.ts +0 -7
  55. package/build/dex/curve-v1/pools/frxETHpool.js +0 -27
  56. package/build/dex/curve-v1/pools/frxETHpool.js.map +0 -1
  57. package/build/dex/curve-v1/pools/wbETHpool.d.ts +0 -29
  58. package/build/dex/curve-v1/pools/wbETHpool.js +0 -408
  59. package/build/dex/curve-v1/pools/wbETHpool.js.map +0 -1
  60. package/build/dex/dexalot/config.d.ts +0 -4
  61. package/build/dex/dexalot/config.js +0 -18
  62. package/build/dex/dexalot/config.js.map +0 -1
  63. package/build/dex/dexalot/constants.d.ts +0 -15
  64. package/build/dex/dexalot/constants.js +0 -22
  65. package/build/dex/dexalot/constants.js.map +0 -1
  66. package/build/dex/dexalot/dexalot.d.ts +0 -69
  67. package/build/dex/dexalot/dexalot.js +0 -642
  68. package/build/dex/dexalot/dexalot.js.map +0 -1
  69. package/build/dex/dexalot/rate-fetcher.d.ts +0 -28
  70. package/build/dex/dexalot/rate-fetcher.js +0 -100
  71. package/build/dex/dexalot/rate-fetcher.js.map +0 -1
  72. package/build/dex/dexalot/types.d.ts +0 -114
  73. package/build/dex/dexalot/types.js +0 -12
  74. package/build/dex/dexalot/types.js.map +0 -1
  75. package/build/dex/dexalot/validators.d.ts +0 -5
  76. package/build/dex/dexalot/validators.js +0 -45
  77. package/build/dex/dexalot/validators.js.map +0 -1
  78. package/build/dex/pancakeswap-v3/types.d.ts +0 -14
  79. package/build/dex/pancakeswap-v3/types.js +0 -3
  80. package/build/dex/pancakeswap-v3/types.js.map +0 -1
  81. package/build/dex/quickswap-v3.d.ts +0 -21
  82. package/build/dex/quickswap-v3.js +0 -40
  83. package/build/dex/quickswap-v3.js.map +0 -1
  84. package/build/dex/ramses-v2/config.d.ts +0 -4
  85. package/build/dex/ramses-v2/config.js +0 -28
  86. package/build/dex/ramses-v2/config.js.map +0 -1
  87. package/build/dex/ramses-v2/constants.d.ts +0 -28
  88. package/build/dex/ramses-v2/constants.js +0 -35
  89. package/build/dex/ramses-v2/constants.js.map +0 -1
  90. package/build/dex/ramses-v2/contract-math/BitMath.d.ts +0 -4
  91. package/build/dex/ramses-v2/contract-math/BitMath.js +0 -93
  92. package/build/dex/ramses-v2/contract-math/BitMath.js.map +0 -1
  93. package/build/dex/ramses-v2/contract-math/FixedPoint128.d.ts +0 -3
  94. package/build/dex/ramses-v2/contract-math/FixedPoint128.js +0 -8
  95. package/build/dex/ramses-v2/contract-math/FixedPoint128.js.map +0 -1
  96. package/build/dex/ramses-v2/contract-math/FixedPoint96.d.ts +0 -4
  97. package/build/dex/ramses-v2/contract-math/FixedPoint96.js +0 -9
  98. package/build/dex/ramses-v2/contract-math/FixedPoint96.js.map +0 -1
  99. package/build/dex/ramses-v2/contract-math/FullMath.d.ts +0 -4
  100. package/build/dex/ramses-v2/contract-math/FullMath.js +0 -19
  101. package/build/dex/ramses-v2/contract-math/FullMath.js.map +0 -1
  102. package/build/dex/ramses-v2/contract-math/LiquidityMath.d.ts +0 -3
  103. package/build/dex/ramses-v2/contract-math/LiquidityMath.js +0 -22
  104. package/build/dex/ramses-v2/contract-math/LiquidityMath.js.map +0 -1
  105. package/build/dex/ramses-v2/contract-math/Oracle.d.ts +0 -10
  106. package/build/dex/ramses-v2/contract-math/Oracle.js +0 -133
  107. package/build/dex/ramses-v2/contract-math/Oracle.js.map +0 -1
  108. package/build/dex/ramses-v2/contract-math/SqrtPriceMath.d.ts +0 -10
  109. package/build/dex/ramses-v2/contract-math/SqrtPriceMath.js +0 -91
  110. package/build/dex/ramses-v2/contract-math/SqrtPriceMath.js.map +0 -1
  111. package/build/dex/ramses-v2/contract-math/SwapMath.d.ts +0 -8
  112. package/build/dex/ramses-v2/contract-math/SwapMath.js +0 -70
  113. package/build/dex/ramses-v2/contract-math/SwapMath.js.map +0 -1
  114. package/build/dex/ramses-v2/contract-math/Tick.d.ts +0 -7
  115. package/build/dex/ramses-v2/contract-math/Tick.js +0 -45
  116. package/build/dex/ramses-v2/contract-math/Tick.js.map +0 -1
  117. package/build/dex/ramses-v2/contract-math/TickBitMap.d.ts +0 -8
  118. package/build/dex/ramses-v2/contract-math/TickBitMap.js +0 -87
  119. package/build/dex/ramses-v2/contract-math/TickBitMap.js.map +0 -1
  120. package/build/dex/ramses-v2/contract-math/TickMath.d.ts +0 -8
  121. package/build/dex/ramses-v2/contract-math/TickMath.js +0 -162
  122. package/build/dex/ramses-v2/contract-math/TickMath.js.map +0 -1
  123. package/build/dex/ramses-v2/contract-math/UnsafeMath.d.ts +0 -3
  124. package/build/dex/ramses-v2/contract-math/UnsafeMath.js +0 -10
  125. package/build/dex/ramses-v2/contract-math/UnsafeMath.js.map +0 -1
  126. package/build/dex/ramses-v2/contract-math/uniswap-v3-math.d.ts +0 -18
  127. package/build/dex/ramses-v2/contract-math/uniswap-v3-math.js +0 -392
  128. package/build/dex/ramses-v2/contract-math/uniswap-v3-math.js.map +0 -1
  129. package/build/dex/ramses-v2/contract-math/utils.d.ts +0 -3
  130. package/build/dex/ramses-v2/contract-math/utils.js +0 -16
  131. package/build/dex/ramses-v2/contract-math/utils.js.map +0 -1
  132. package/build/dex/ramses-v2/ramses-v2-pool.d.ts +0 -42
  133. package/build/dex/ramses-v2/ramses-v2-pool.js +0 -307
  134. package/build/dex/ramses-v2/ramses-v2-pool.js.map +0 -1
  135. package/build/dex/ramses-v2/ramses-v2.d.ts +0 -61
  136. package/build/dex/ramses-v2/ramses-v2.js +0 -690
  137. package/build/dex/ramses-v2/ramses-v2.js.map +0 -1
  138. package/build/dex/ramses-v2/types.d.ts +0 -154
  139. package/build/dex/ramses-v2/types.js +0 -9
  140. package/build/dex/ramses-v2/types.js.map +0 -1
  141. package/build/dex/ramses-v2/utils.d.ts +0 -6
  142. package/build/dex/ramses-v2/utils.js +0 -71
  143. package/build/dex/ramses-v2/utils.js.map +0 -1
  144. package/build/dex/sushiswap-v3/config.d.ts +0 -4
  145. package/build/dex/sushiswap-v3/config.js +0 -132
  146. package/build/dex/sushiswap-v3/config.js.map +0 -1
  147. package/build/dex/sushiswap-v3/constants.d.ts +0 -4
  148. package/build/dex/sushiswap-v3/constants.js +0 -32
  149. package/build/dex/sushiswap-v3/constants.js.map +0 -1
  150. package/build/dex/sushiswap-v3/sushiswap-v3-original.d.ts +0 -56
  151. package/build/dex/sushiswap-v3/sushiswap-v3-original.js +0 -598
  152. package/build/dex/sushiswap-v3/sushiswap-v3-original.js.map +0 -1
  153. package/build/dex/sushiswap-v3/sushiswap-v3-pool.d.ts +0 -1
  154. package/build/dex/sushiswap-v3/sushiswap-v3-pool.js +0 -6
  155. package/build/dex/sushiswap-v3/sushiswap-v3-pool.js.map +0 -1
  156. package/build/dex/sushiswap-v3/sushiswap-v3.d.ts +0 -21
  157. package/build/dex/sushiswap-v3/sushiswap-v3.js +0 -58
  158. package/build/dex/sushiswap-v3/sushiswap-v3.js.map +0 -1
  159. package/build/dex/sushiswap-v3/token.d.ts +0 -6
  160. package/build/dex/sushiswap-v3/token.js +0 -23
  161. package/build/dex/sushiswap-v3/token.js.map +0 -1
  162. package/build/dex/sushiswap-v3/types.d.ts +0 -15
  163. package/build/dex/sushiswap-v3/types.js +0 -18
  164. package/build/dex/sushiswap-v3/types.js.map +0 -1
  165. package/build/dex/uniswap-v3/forks/pancakeswap-v3/pancakeswap-v3.d.ts +0 -12
  166. package/build/dex/uniswap-v3/forks/pancakeswap-v3/pancakeswap-v3.js +0 -23
  167. package/build/dex/uniswap-v3/forks/pancakeswap-v3/pancakeswap-v3.js.map +0 -1
  168. package/build/dex/woo-fi/config.d.ts +0 -4
  169. package/build/dex/woo-fi/config.js +0 -141
  170. package/build/dex/woo-fi/config.js.map +0 -1
  171. package/build/dex/woo-fi/constants.d.ts +0 -5
  172. package/build/dex/woo-fi/constants.js +0 -20
  173. package/build/dex/woo-fi/constants.js.map +0 -1
  174. package/build/dex/woo-fi/types.d.ts +0 -48
  175. package/build/dex/woo-fi/types.js +0 -3
  176. package/build/dex/woo-fi/types.js.map +0 -1
  177. package/build/dex/woo-fi/woo-fi-decimal-math.d.ts +0 -14
  178. package/build/dex/woo-fi/woo-fi-decimal-math.js +0 -42
  179. package/build/dex/woo-fi/woo-fi-decimal-math.js.map +0 -1
  180. package/build/dex/woo-fi/woo-fi-math.d.ts +0 -31
  181. package/build/dex/woo-fi/woo-fi-math.js +0 -300
  182. package/build/dex/woo-fi/woo-fi-math.js.map +0 -1
  183. package/build/dex/woo-fi/woo-fi.d.ts +0 -65
  184. package/build/dex/woo-fi/woo-fi.js +0 -480
  185. package/build/dex/woo-fi/woo-fi.js.map +0 -1
  186. package/src/abi/dexalot/DexalotMainnetRFQ.json +0 -952
  187. package/src/dex/dexalot/config.ts +0 -18
  188. package/src/dex/dexalot/constants.ts +0 -29
  189. package/src/dex/dexalot/dexalot-e2e.test.ts +0 -192
  190. package/src/dex/dexalot/dexalot-integration.test.ts +0 -188
  191. package/src/dex/dexalot/dexalot.ts +0 -998
  192. package/src/dex/dexalot/rate-fetcher.ts +0 -197
  193. package/src/dex/dexalot/types.ts +0 -131
  194. package/src/dex/dexalot/validators.ts +0 -46
@@ -1,197 +0,0 @@
1
- import { IDexHelper } from '../../dex-helper';
2
- import { Fetcher } from '../../lib/fetcher/fetcher';
3
- import { validateAndCast } from '../../lib/validators';
4
- import { Logger, Token } from '../../types';
5
- import {
6
- DexalotRateFetcherConfig,
7
- DexalotPairsResponse,
8
- PairDataMap,
9
- DexalotPricesResponse,
10
- PriceDataMap,
11
- DexalotBlacklistResponse,
12
- } from './types';
13
- import {
14
- pricesResponseValidator,
15
- pairsResponseValidator,
16
- blacklistResponseValidator,
17
- } from './validators';
18
- import { Network } from '../../constants';
19
-
20
- export class RateFetcher {
21
- private pairsFetcher: Fetcher<DexalotPairsResponse>;
22
- private pairsCacheKey: string;
23
- private pairsCacheTTL: number;
24
-
25
- private rateFetcher: Fetcher<DexalotPricesResponse>;
26
- private pricesCacheKey: string;
27
- private pricesCacheTTL: number;
28
-
29
- private tokensAddrCacheKey: string;
30
- private tokensCacheKey: string;
31
- private tokensCacheTTL: number;
32
-
33
- private blacklistFetcher: Fetcher<DexalotBlacklistResponse>;
34
- private blacklistCacheKey: string;
35
- private blacklistCacheTTL: number;
36
-
37
- constructor(
38
- private dexHelper: IDexHelper,
39
- private dexKey: string,
40
- private network: Network,
41
- private logger: Logger,
42
- config: DexalotRateFetcherConfig,
43
- ) {
44
- this.pairsCacheKey = config.rateConfig.pairsCacheKey;
45
- this.pairsCacheTTL = config.rateConfig.pairsCacheTTLSecs;
46
- this.pricesCacheKey = config.rateConfig.pricesCacheKey;
47
- this.pricesCacheTTL = config.rateConfig.pricesCacheTTLSecs;
48
- this.tokensAddrCacheKey = config.rateConfig.tokensAddrCacheKey;
49
- this.tokensCacheKey = config.rateConfig.tokensCacheKey;
50
- this.tokensCacheTTL = config.rateConfig.tokensCacheTTLSecs;
51
- this.blacklistCacheKey = config.rateConfig.blacklistCacheKey;
52
- this.blacklistCacheTTL = config.rateConfig.blacklistCacheTTLSecs;
53
-
54
- this.pairsFetcher = new Fetcher<DexalotPairsResponse>(
55
- dexHelper.httpRequest,
56
- {
57
- info: {
58
- requestOptions: config.rateConfig.pairsReqParams,
59
- caster: (data: unknown) => {
60
- return validateAndCast<DexalotPairsResponse>(
61
- data,
62
- pairsResponseValidator,
63
- );
64
- },
65
- },
66
- handler: this.handlePairsResponse.bind(this),
67
- },
68
- config.rateConfig.pairsIntervalMs,
69
- logger,
70
- );
71
-
72
- this.rateFetcher = new Fetcher<DexalotPricesResponse>(
73
- dexHelper.httpRequest,
74
- {
75
- info: {
76
- requestOptions: config.rateConfig.pricesReqParams,
77
- caster: (data: unknown) => {
78
- return validateAndCast<DexalotPricesResponse>(
79
- data,
80
- pricesResponseValidator,
81
- );
82
- },
83
- },
84
- handler: this.handleRatesResponse.bind(this),
85
- },
86
- config.rateConfig.pricesIntervalMs,
87
- logger,
88
- );
89
-
90
- this.blacklistFetcher = new Fetcher<DexalotBlacklistResponse>(
91
- dexHelper.httpRequest,
92
- {
93
- info: {
94
- requestOptions: config.rateConfig.blacklistReqParams,
95
- caster: (data: unknown) => {
96
- return validateAndCast<DexalotBlacklistResponse>(
97
- data,
98
- blacklistResponseValidator,
99
- );
100
- },
101
- },
102
- handler: this.handleBlacklistResponse.bind(this),
103
- },
104
- config.rateConfig.blacklistIntervalMs,
105
- logger,
106
- );
107
- }
108
-
109
- start() {
110
- this.pairsFetcher.startPolling();
111
- this.rateFetcher.startPolling();
112
- this.blacklistFetcher.startPolling();
113
- }
114
-
115
- stop() {
116
- this.pairsFetcher.stopPolling();
117
- this.rateFetcher.stopPolling();
118
- this.blacklistFetcher.stopPolling();
119
- }
120
-
121
- private handlePairsResponse(resp: DexalotPairsResponse): void {
122
- const pairs = resp;
123
- const dexPairs: PairDataMap = {};
124
- const tokenMap: { [address: string]: Token } = {};
125
- const tokenAddrMap: { [symbol: string]: string } = {};
126
- Object.keys(pairs).forEach(pair => {
127
- dexPairs[pair.toLowerCase()] = pairs[pair];
128
- tokenAddrMap[pairs[pair].base.toLowerCase()] =
129
- pairs[pair].baseAddress.toLowerCase();
130
- tokenAddrMap[pairs[pair].quote.toLowerCase()] =
131
- pairs[pair].quoteAddress.toLowerCase();
132
- tokenMap[pairs[pair].baseAddress.toLowerCase()] = {
133
- address: pairs[pair].baseAddress.toLowerCase(),
134
- symbol: pairs[pair].base,
135
- decimals: pairs[pair].baseDecimals,
136
- };
137
- tokenMap[pairs[pair].quoteAddress.toLowerCase()] = {
138
- address: pairs[pair].quoteAddress.toLowerCase(),
139
- symbol: pairs[pair].quote,
140
- decimals: pairs[pair].quoteDecimals,
141
- };
142
- });
143
-
144
- this.dexHelper.cache.setex(
145
- this.dexKey,
146
- this.network,
147
- this.pairsCacheKey,
148
- this.pairsCacheTTL,
149
- JSON.stringify(dexPairs),
150
- );
151
-
152
- this.dexHelper.cache.setex(
153
- this.dexKey,
154
- this.network,
155
- this.tokensCacheKey,
156
- this.tokensCacheTTL,
157
- JSON.stringify(tokenMap),
158
- );
159
-
160
- this.dexHelper.cache.setex(
161
- this.dexKey,
162
- this.network,
163
- this.tokensAddrCacheKey,
164
- this.tokensCacheTTL,
165
- JSON.stringify(tokenAddrMap),
166
- );
167
- }
168
-
169
- private handleRatesResponse(resp: DexalotPricesResponse): void {
170
- const { prices } = resp;
171
- const dexPrices: PriceDataMap = {};
172
- Object.keys(prices).forEach(pair => {
173
- dexPrices[pair.toLowerCase()] = prices[pair];
174
- });
175
-
176
- this.dexHelper.cache.setex(
177
- this.dexKey,
178
- this.network,
179
- this.pricesCacheKey,
180
- this.pricesCacheTTL,
181
- JSON.stringify(dexPrices),
182
- );
183
- }
184
-
185
- private async handleBlacklistResponse(
186
- resp: DexalotBlacklistResponse,
187
- ): Promise<void> {
188
- const { blacklist } = resp;
189
- this.dexHelper.cache.setex(
190
- this.dexKey,
191
- this.network,
192
- this.blacklistCacheKey,
193
- this.blacklistCacheTTL,
194
- JSON.stringify(blacklist.map((item) => item.toLowerCase())),
195
- );
196
- }
197
- }
@@ -1,131 +0,0 @@
1
- import { RequestHeaders } from '../../dex-helper';
2
- import { Token } from '../../types';
3
- import { Method } from '../../dex-helper/irequest-wrapper';
4
-
5
- type RFQOrder = {
6
- nonceAndMeta: string;
7
- expiry: number;
8
- makerAsset: string;
9
- takerAsset: string;
10
- maker: string;
11
- taker: string;
12
- makerAmount: string;
13
- takerAmount: string;
14
- signature?: string;
15
- };
16
-
17
- export type RFQResponse = {
18
- order: RFQOrder;
19
- signature: string;
20
- };
21
-
22
- export type RFQResponseError = {
23
- Reason: string;
24
- ReasonCode: string;
25
- Success: boolean;
26
- RetryAfter?: number;
27
- };
28
-
29
- export type DexalotData = {
30
- quoteData?: RFQOrder;
31
- };
32
-
33
- export type DexParams = {
34
- mainnetRFQAddress: string;
35
- };
36
-
37
- export enum ClobSide {
38
- BID = 'BID',
39
- ASK = 'ASK',
40
- }
41
-
42
- export class DexalotRfqError extends Error {}
43
-
44
- export type PairData = {
45
- base: string;
46
- quote: string;
47
- liquidityUSD: number;
48
- isSrcBase?: boolean;
49
- };
50
-
51
- export type PairDataMap = {
52
- [pair: string]: PairData;
53
- };
54
-
55
- export type PairDataResp = {
56
- base: string;
57
- quote: string;
58
- liquidityUSD: number;
59
- baseAddress: string;
60
- quoteAddress: string;
61
- baseDecimals: number;
62
- quoteDecimals: number;
63
- };
64
-
65
- export type DexalotPairsResponse = {
66
- [pair: string]: PairDataResp;
67
- };
68
-
69
- type PriceData = {
70
- bids: string[][];
71
- asks: string[][];
72
- };
73
-
74
- export type PriceDataMap = {
75
- [pair: string]: PriceData;
76
- };
77
-
78
- export type DexalotPricesResponse = {
79
- prices: PriceDataMap;
80
- };
81
-
82
- export type TokenAddrDataMap = {
83
- [symbol: string]: string;
84
- };
85
-
86
- export type TokenDataMap = {
87
- [address: string]: Token;
88
- };
89
-
90
- export type DexalotBlacklistResponse = {
91
- blacklist: string[];
92
- };
93
-
94
- export type DexalotRateFetcherConfig = {
95
- rateConfig: {
96
- pairsReqParams: {
97
- url: string;
98
- headers?: RequestHeaders;
99
- params?: any;
100
- };
101
- pricesReqParams: {
102
- url: string;
103
- headers?: RequestHeaders;
104
- params?: any;
105
- };
106
- blacklistReqParams: {
107
- url: string;
108
- headers?: RequestHeaders;
109
- params?: any;
110
- };
111
- pairsIntervalMs: number;
112
- pricesIntervalMs: number;
113
- blacklistIntervalMs: number;
114
- pairsCacheKey: string;
115
- pricesCacheKey: string;
116
- tokensAddrCacheKey: string;
117
- tokensCacheKey: string;
118
- blacklistCacheKey: string;
119
- blacklistCacheTTLSecs: number;
120
- pairsCacheTTLSecs: number;
121
- pricesCacheTTLSecs: number;
122
- tokensCacheTTLSecs: number;
123
- };
124
- };
125
-
126
- export type DexalotAPIParameters = {
127
- url: string;
128
- headers?: RequestHeaders;
129
- params?: any;
130
- method?: Method;
131
- };
@@ -1,46 +0,0 @@
1
- import joi from 'joi';
2
-
3
- const pairValidator = joi.object({
4
- base: joi.string().min(1).required(),
5
- quote: joi.string().min(1).required(),
6
- liquidityUSD: joi.number().min(0).required(),
7
- baseAddress: joi.string().min(1).required(),
8
- quoteAddress: joi.string().min(1).required(),
9
- baseDecimals: joi.number().min(0).required(),
10
- quoteDecimals: joi.number().min(0).required(),
11
- });
12
-
13
- export const pairsResponseValidator = joi
14
- .object()
15
- .pattern(joi.string(), pairValidator);
16
-
17
- const orderbookRecordValidator = joi
18
- .array()
19
- .items(joi.string().min(1))
20
- .length(2);
21
-
22
- const orderbookValidator = joi.object({
23
- bids: joi.array().items(orderbookRecordValidator).required(),
24
- asks: joi.array().items(orderbookRecordValidator).required(),
25
- });
26
-
27
- export const pricesResponseValidator = joi.object({
28
- prices: joi.object().pattern(joi.string(), orderbookValidator),
29
- });
30
-
31
- const tokenValidator = joi.object({
32
- symbol: joi.string().min(1).required(),
33
- name: joi.string().min(1).required(),
34
- description: joi.string().min(1).required(),
35
- address: joi.string().min(1).required(),
36
- decimals: joi.number().min(0).required(),
37
- type: joi.string().min(1).required(),
38
- });
39
-
40
- export const tokensResponseValidator = joi.object({
41
- tokens: joi.object().pattern(joi.string(), tokenValidator),
42
- });
43
-
44
- export const blacklistResponseValidator = joi.object({
45
- blacklist: joi.array().items(joi.string().min(1)).required(),
46
- });