@clober/v2-sdk 1.0.0-rc.8 → 1.0.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 (267) hide show
  1. package/dist/cjs/calls/index.js +6 -3
  2. package/dist/cjs/calls/index.js.map +1 -1
  3. package/dist/cjs/calls/market/limit.js +5 -0
  4. package/dist/cjs/calls/market/limit.js.map +1 -1
  5. package/dist/cjs/calls/market/make.js +160 -0
  6. package/dist/cjs/calls/market/make.js.map +1 -0
  7. package/dist/cjs/calls/pool/burn.js +5 -5
  8. package/dist/cjs/calls/pool/market-making/adjust.js +2 -2
  9. package/dist/cjs/calls/pool/market-making/pause.js +2 -2
  10. package/dist/cjs/calls/pool/market-making/refill.js +2 -2
  11. package/dist/cjs/calls/pool/market-making/resume.js +2 -2
  12. package/dist/cjs/calls/pool/mint.js +111 -21
  13. package/dist/cjs/calls/pool/mint.js.map +1 -1
  14. package/dist/cjs/calls/pool/open.js +2 -2
  15. package/dist/cjs/calls/pool/open.js.map +1 -1
  16. package/dist/cjs/calls/pool/wrap.js +97 -0
  17. package/dist/cjs/calls/pool/wrap.js.map +1 -0
  18. package/dist/cjs/constants/abis/core/book-manager-abi.js +28 -0
  19. package/dist/cjs/constants/abis/core/book-manager-abi.js.map +1 -1
  20. package/dist/cjs/constants/abis/core/controller-abi.js +24 -1
  21. package/dist/cjs/constants/abis/core/controller-abi.js.map +1 -1
  22. package/dist/cjs/constants/abis/core/params-abi.js +77 -0
  23. package/dist/cjs/constants/abis/core/params-abi.js.map +1 -0
  24. package/dist/cjs/constants/abis/rebalancer/wrapped-6909-factory-abi.js +107 -0
  25. package/dist/cjs/constants/abis/rebalancer/wrapped-6909-factory-abi.js.map +1 -0
  26. package/dist/cjs/constants/chain-configs/addresses.js +47 -22
  27. package/dist/cjs/constants/chain-configs/addresses.js.map +1 -1
  28. package/dist/cjs/constants/chain-configs/chain.js +7 -2
  29. package/dist/cjs/constants/chain-configs/chain.js.map +1 -1
  30. package/dist/cjs/constants/chain-configs/currency.js +138 -23
  31. package/dist/cjs/constants/chain-configs/currency.js.map +1 -1
  32. package/dist/cjs/constants/chain-configs/fee.js +6 -2
  33. package/dist/cjs/constants/chain-configs/fee.js.map +1 -1
  34. package/dist/cjs/constants/chain-configs/subgraph.js +4 -2
  35. package/dist/cjs/constants/chain-configs/subgraph.js.map +1 -1
  36. package/dist/cjs/constants/networks/giwa-sepolia.js +41 -0
  37. package/dist/cjs/constants/networks/giwa-sepolia.js.map +1 -0
  38. package/dist/cjs/constants/networks/test-chain.js +1 -24
  39. package/dist/cjs/constants/networks/test-chain.js.map +1 -1
  40. package/dist/cjs/entities/analytics/apis/index.js +102 -24
  41. package/dist/cjs/entities/analytics/apis/index.js.map +1 -1
  42. package/dist/cjs/entities/book/apis/index.js +10 -5
  43. package/dist/cjs/entities/book/apis/index.js.map +1 -1
  44. package/dist/cjs/entities/currency/apis/total-supply.js +3 -6
  45. package/dist/cjs/entities/currency/apis/total-supply.js.map +1 -1
  46. package/dist/cjs/entities/market/apis/index.js +3 -3
  47. package/dist/cjs/entities/market/apis/index.js.map +1 -1
  48. package/dist/cjs/entities/market/apis/snapshot.js +190 -79
  49. package/dist/cjs/entities/market/apis/snapshot.js.map +1 -1
  50. package/dist/cjs/entities/market/utils/market-id.js +15 -3
  51. package/dist/cjs/entities/market/utils/market-id.js.map +1 -1
  52. package/dist/cjs/entities/open-order/apis/index.js +2 -3
  53. package/dist/cjs/entities/open-order/apis/index.js.map +1 -1
  54. package/dist/cjs/entities/open-order/utils/order-id.js +6 -1
  55. package/dist/cjs/entities/open-order/utils/order-id.js.map +1 -1
  56. package/dist/cjs/entities/pool/apis/index.js +15 -3
  57. package/dist/cjs/entities/pool/apis/index.js.map +1 -1
  58. package/dist/cjs/entities/pool/apis/snapshot.js +28 -23
  59. package/dist/cjs/entities/pool/apis/snapshot.js.map +1 -1
  60. package/dist/cjs/entities/pool/model.js +28 -7
  61. package/dist/cjs/entities/pool/model.js.map +1 -1
  62. package/dist/cjs/entities/swap/apis/index.js +48 -0
  63. package/dist/cjs/entities/swap/apis/index.js.map +1 -0
  64. package/dist/cjs/entities/swap/types.js +3 -0
  65. package/dist/cjs/entities/swap/types.js.map +1 -0
  66. package/dist/cjs/index.js +8 -0
  67. package/dist/cjs/index.js.map +1 -1
  68. package/dist/cjs/types/index.js.map +1 -1
  69. package/dist/cjs/views/analytics.js +9 -1
  70. package/dist/cjs/views/analytics.js.map +1 -1
  71. package/dist/cjs/views/currency.js +10 -1
  72. package/dist/cjs/views/currency.js.map +1 -1
  73. package/dist/cjs/views/index.js +9 -1
  74. package/dist/cjs/views/index.js.map +1 -1
  75. package/dist/cjs/views/market/index.js +4 -2
  76. package/dist/cjs/views/market/index.js.map +1 -1
  77. package/dist/cjs/views/market/parse.js +22 -0
  78. package/dist/cjs/views/market/parse.js.map +1 -0
  79. package/dist/cjs/views/market/snapshot.js.map +1 -1
  80. package/dist/cjs/views/pool/index.js +16 -1
  81. package/dist/cjs/views/pool/index.js.map +1 -1
  82. package/dist/cjs/views/subgraph.js +12 -2
  83. package/dist/cjs/views/subgraph.js.map +1 -1
  84. package/dist/cjs/views/trade.js +15 -0
  85. package/dist/cjs/views/trade.js.map +1 -0
  86. package/dist/esm/calls/index.js +2 -1
  87. package/dist/esm/calls/index.js.map +1 -1
  88. package/dist/esm/calls/market/limit.js +6 -1
  89. package/dist/esm/calls/market/limit.js.map +1 -1
  90. package/dist/esm/calls/market/make.js +156 -0
  91. package/dist/esm/calls/market/make.js.map +1 -0
  92. package/dist/esm/calls/pool/burn.js +5 -5
  93. package/dist/esm/calls/pool/market-making/adjust.js +2 -2
  94. package/dist/esm/calls/pool/market-making/pause.js +2 -2
  95. package/dist/esm/calls/pool/market-making/refill.js +2 -2
  96. package/dist/esm/calls/pool/market-making/resume.js +2 -2
  97. package/dist/esm/calls/pool/mint.js +112 -74
  98. package/dist/esm/calls/pool/mint.js.map +1 -1
  99. package/dist/esm/calls/pool/open.js +7 -6
  100. package/dist/esm/calls/pool/open.js.map +1 -1
  101. package/dist/esm/calls/pool/wrap.js +138 -0
  102. package/dist/esm/calls/pool/wrap.js.map +1 -0
  103. package/dist/esm/constants/abis/core/book-manager-abi.js +28 -0
  104. package/dist/esm/constants/abis/core/book-manager-abi.js.map +1 -1
  105. package/dist/esm/constants/abis/core/controller-abi.js +24 -1
  106. package/dist/esm/constants/abis/core/controller-abi.js.map +1 -1
  107. package/dist/esm/constants/abis/core/params-abi.js +74 -0
  108. package/dist/esm/constants/abis/core/params-abi.js.map +1 -0
  109. package/dist/esm/constants/abis/rebalancer/wrapped-6909-factory-abi.js +104 -0
  110. package/dist/esm/constants/abis/rebalancer/wrapped-6909-factory-abi.js.map +1 -0
  111. package/dist/esm/constants/chain-configs/addresses.js +50 -34
  112. package/dist/esm/constants/chain-configs/addresses.js.map +1 -1
  113. package/dist/esm/constants/chain-configs/chain.js +9 -6
  114. package/dist/esm/constants/chain-configs/chain.js.map +1 -1
  115. package/dist/esm/constants/chain-configs/currency.js +140 -37
  116. package/dist/esm/constants/chain-configs/currency.js.map +1 -1
  117. package/dist/esm/constants/chain-configs/fee.js +6 -4
  118. package/dist/esm/constants/chain-configs/fee.js.map +1 -1
  119. package/dist/esm/constants/chain-configs/subgraph.js +4 -4
  120. package/dist/esm/constants/chain-configs/subgraph.js.map +1 -1
  121. package/dist/esm/constants/networks/giwa-sepolia.js +38 -0
  122. package/dist/esm/constants/networks/giwa-sepolia.js.map +1 -0
  123. package/dist/esm/constants/networks/test-chain.js +0 -23
  124. package/dist/esm/constants/networks/test-chain.js.map +1 -1
  125. package/dist/esm/entities/analytics/apis/index.js +99 -23
  126. package/dist/esm/entities/analytics/apis/index.js.map +1 -1
  127. package/dist/esm/entities/book/apis/index.js +10 -5
  128. package/dist/esm/entities/book/apis/index.js.map +1 -1
  129. package/dist/esm/entities/currency/apis/total-supply.js +4 -7
  130. package/dist/esm/entities/currency/apis/total-supply.js.map +1 -1
  131. package/dist/esm/entities/market/apis/index.js +3 -3
  132. package/dist/esm/entities/market/apis/index.js.map +1 -1
  133. package/dist/esm/entities/market/apis/snapshot.js +191 -79
  134. package/dist/esm/entities/market/apis/snapshot.js.map +1 -1
  135. package/dist/esm/entities/market/utils/market-id.js +16 -4
  136. package/dist/esm/entities/market/utils/market-id.js.map +1 -1
  137. package/dist/esm/entities/open-order/apis/index.js +2 -3
  138. package/dist/esm/entities/open-order/apis/index.js.map +1 -1
  139. package/dist/esm/entities/open-order/utils/order-id.js +4 -0
  140. package/dist/esm/entities/open-order/utils/order-id.js.map +1 -1
  141. package/dist/esm/entities/pool/apis/index.js +15 -3
  142. package/dist/esm/entities/pool/apis/index.js.map +1 -1
  143. package/dist/esm/entities/pool/apis/snapshot.js +29 -24
  144. package/dist/esm/entities/pool/apis/snapshot.js.map +1 -1
  145. package/dist/esm/entities/pool/model.js +28 -7
  146. package/dist/esm/entities/pool/model.js.map +1 -1
  147. package/dist/esm/entities/swap/apis/index.js +44 -0
  148. package/dist/esm/entities/swap/apis/index.js.map +1 -0
  149. package/dist/esm/entities/swap/types.js +2 -0
  150. package/dist/esm/entities/swap/types.js.map +1 -0
  151. package/dist/esm/index.js +6 -0
  152. package/dist/esm/index.js.map +1 -1
  153. package/dist/esm/types/index.js.map +1 -1
  154. package/dist/esm/views/analytics.js +7 -1
  155. package/dist/esm/views/analytics.js.map +1 -1
  156. package/dist/esm/views/currency.js +9 -1
  157. package/dist/esm/views/currency.js.map +1 -1
  158. package/dist/esm/views/index.js +6 -5
  159. package/dist/esm/views/index.js.map +1 -1
  160. package/dist/esm/views/market/index.js +2 -2
  161. package/dist/esm/views/market/index.js.map +1 -1
  162. package/dist/esm/views/market/parse.js +18 -0
  163. package/dist/esm/views/market/parse.js.map +1 -0
  164. package/dist/esm/views/market/snapshot.js.map +1 -1
  165. package/dist/esm/views/pool/index.js +14 -0
  166. package/dist/esm/views/pool/index.js.map +1 -1
  167. package/dist/esm/views/subgraph.js +22 -1
  168. package/dist/esm/views/subgraph.js.map +1 -1
  169. package/dist/esm/views/trade.js +11 -0
  170. package/dist/esm/views/trade.js.map +1 -0
  171. package/dist/tsconfig.build.tsbuildinfo +1 -1
  172. package/dist/types/calls/index.d.ts +2 -1
  173. package/dist/types/calls/index.d.ts.map +1 -1
  174. package/dist/types/calls/market/limit.d.ts +1 -0
  175. package/dist/types/calls/market/limit.d.ts.map +1 -1
  176. package/dist/types/calls/market/make.d.ts +36 -0
  177. package/dist/types/calls/market/make.d.ts.map +1 -0
  178. package/dist/types/calls/pool/mint.d.ts +21 -5
  179. package/dist/types/calls/pool/mint.d.ts.map +1 -1
  180. package/dist/types/calls/pool/open.d.ts +8 -7
  181. package/dist/types/calls/pool/open.d.ts.map +1 -1
  182. package/dist/types/calls/pool/wrap.d.ts +79 -0
  183. package/dist/types/calls/pool/wrap.d.ts.map +1 -0
  184. package/dist/types/constants/abis/core/book-manager-abi.d.ts +35 -0
  185. package/dist/types/constants/abis/core/book-manager-abi.d.ts.map +1 -1
  186. package/dist/types/constants/abis/core/controller-abi.d.ts +19 -1
  187. package/dist/types/constants/abis/core/controller-abi.d.ts.map +1 -1
  188. package/dist/types/constants/abis/core/params-abi.d.ts +31 -0
  189. package/dist/types/constants/abis/core/params-abi.d.ts.map +1 -0
  190. package/dist/types/constants/abis/rebalancer/wrapped-6909-factory-abi.d.ts +80 -0
  191. package/dist/types/constants/abis/rebalancer/wrapped-6909-factory-abi.d.ts.map +1 -0
  192. package/dist/types/constants/chain-configs/addresses.d.ts +1 -0
  193. package/dist/types/constants/chain-configs/addresses.d.ts.map +1 -1
  194. package/dist/types/constants/chain-configs/chain.d.ts +4 -2
  195. package/dist/types/constants/chain-configs/chain.d.ts.map +1 -1
  196. package/dist/types/constants/chain-configs/currency.d.ts +10 -11
  197. package/dist/types/constants/chain-configs/currency.d.ts.map +1 -1
  198. package/dist/types/constants/chain-configs/fee.d.ts.map +1 -1
  199. package/dist/types/constants/chain-configs/subgraph.d.ts.map +1 -1
  200. package/dist/types/constants/networks/giwa-sepolia.d.ts +60 -0
  201. package/dist/types/constants/networks/giwa-sepolia.d.ts.map +1 -0
  202. package/dist/types/constants/networks/rise-sepolia.d.ts +3 -0
  203. package/dist/types/constants/networks/rise-sepolia.d.ts.map +1 -1
  204. package/dist/types/constants/networks/test-chain.d.ts +0 -1
  205. package/dist/types/constants/networks/test-chain.d.ts.map +1 -1
  206. package/dist/types/entities/analytics/apis/index.d.ts +3 -1
  207. package/dist/types/entities/analytics/apis/index.d.ts.map +1 -1
  208. package/dist/types/entities/analytics/types.d.ts +14 -1
  209. package/dist/types/entities/analytics/types.d.ts.map +1 -1
  210. package/dist/types/entities/book/apis/index.d.ts +1 -1
  211. package/dist/types/entities/book/apis/index.d.ts.map +1 -1
  212. package/dist/types/entities/currency/apis/total-supply.d.ts.map +1 -1
  213. package/dist/types/entities/market/apis/index.d.ts +1 -1
  214. package/dist/types/entities/market/apis/index.d.ts.map +1 -1
  215. package/dist/types/entities/market/apis/snapshot.d.ts +1 -1
  216. package/dist/types/entities/market/apis/snapshot.d.ts.map +1 -1
  217. package/dist/types/entities/market/types.d.ts +2 -1
  218. package/dist/types/entities/market/types.d.ts.map +1 -1
  219. package/dist/types/entities/market/utils/market-id.d.ts.map +1 -1
  220. package/dist/types/entities/open-order/apis/index.d.ts.map +1 -1
  221. package/dist/types/entities/open-order/types.d.ts +0 -1
  222. package/dist/types/entities/open-order/types.d.ts.map +1 -1
  223. package/dist/types/entities/open-order/utils/order-id.d.ts +1 -0
  224. package/dist/types/entities/open-order/utils/order-id.d.ts.map +1 -1
  225. package/dist/types/entities/pool/apis/index.d.ts.map +1 -1
  226. package/dist/types/entities/pool/apis/snapshot.d.ts.map +1 -1
  227. package/dist/types/entities/pool/model.d.ts +6 -2
  228. package/dist/types/entities/pool/model.d.ts.map +1 -1
  229. package/dist/types/entities/pool/types.d.ts +9 -4
  230. package/dist/types/entities/pool/types.d.ts.map +1 -1
  231. package/dist/types/entities/swap/apis/index.d.ts +5 -0
  232. package/dist/types/entities/swap/apis/index.d.ts.map +1 -0
  233. package/dist/types/entities/swap/types.d.ts +12 -0
  234. package/dist/types/entities/swap/types.d.ts.map +1 -0
  235. package/dist/types/index.d.ts +1 -0
  236. package/dist/types/index.d.ts.map +1 -1
  237. package/dist/types/types/index.d.ts +2 -0
  238. package/dist/types/types/index.d.ts.map +1 -1
  239. package/dist/types/types/transaction.d.ts +1 -1
  240. package/dist/types/types/transaction.d.ts.map +1 -1
  241. package/dist/types/views/address.d.ts +1 -0
  242. package/dist/types/views/address.d.ts.map +1 -1
  243. package/dist/types/views/analytics.d.ts +8 -1
  244. package/dist/types/views/analytics.d.ts.map +1 -1
  245. package/dist/types/views/currency.d.ts +5 -6
  246. package/dist/types/views/currency.d.ts.map +1 -1
  247. package/dist/types/views/index.d.ts +6 -5
  248. package/dist/types/views/index.d.ts.map +1 -1
  249. package/dist/types/views/market/index.d.ts +1 -2
  250. package/dist/types/views/market/index.d.ts.map +1 -1
  251. package/dist/types/views/market/parse.d.ts +10 -0
  252. package/dist/types/views/market/parse.d.ts.map +1 -0
  253. package/dist/types/views/market/snapshot.d.ts +1 -1
  254. package/dist/types/views/market/snapshot.d.ts.map +1 -1
  255. package/dist/types/views/pool/index.d.ts +8 -1
  256. package/dist/types/views/pool/index.d.ts.map +1 -1
  257. package/dist/types/views/subgraph.d.ts +20 -0
  258. package/dist/types/views/subgraph.d.ts.map +1 -1
  259. package/dist/types/views/trade.d.ts +10 -0
  260. package/dist/types/views/trade.d.ts.map +1 -0
  261. package/package.json +2 -2
  262. package/dist/cjs/calls/pool/market-making/strategy.js +0 -78
  263. package/dist/cjs/calls/pool/market-making/strategy.js.map +0 -1
  264. package/dist/esm/calls/pool/market-making/strategy.js +0 -75
  265. package/dist/esm/calls/pool/market-making/strategy.js.map +0 -1
  266. package/dist/types/calls/pool/market-making/strategy.d.ts +0 -23
  267. package/dist/types/calls/pool/market-making/strategy.d.ts.map +0 -1
@@ -4,12 +4,14 @@ import { BOOK_VIEWER_ABI } from '../../../constants/abis/core/book-viewer-abi';
4
4
  import { Subgraph } from '../../../constants/chain-configs/subgraph';
5
5
  import { toBookId } from '../utils/book-id';
6
6
  import { BookModel } from '../model';
7
- export const fetchBook = async (publicClient, chainId, quoteCurrency, baseCurrency, useSubgraph, n) => {
7
+ const MAX_DEPTH = 20n; // if the depth is too large, it may cause revert errors in the contract call
8
+ export const fetchBook = async (publicClient, chainId, quoteCurrency, baseCurrency, useSubgraph) => {
8
9
  const unitSize = calculateUnitSize(chainId, quoteCurrency);
9
10
  const bookId = toBookId(chainId, quoteCurrency.address, baseCurrency.address, unitSize);
10
11
  if (useSubgraph) {
11
- const { data: { book }, } = await Subgraph.get(chainId, 'getBook', 'query getBook($bookId: ID!) { book(id: $bookId) { depths(where: {unitAmount_gt: 0}) { tick unitAmount } } }', {
12
- bookId,
12
+ const { data: { book }, } = await Subgraph.get(chainId, 'getBook', 'query getBook($bookId: ID!, $first: Int!) { book(id: $bookId) { depths(first: $first where: {unitAmount_gt: 0}, orderBy: tick, orderDirection: desc) { tick unitAmount } } }', {
13
+ bookId: bookId.toString(),
14
+ first: 1000, // Adjust as needed for depth
13
15
  });
14
16
  return new BookModel({
15
17
  chainId,
@@ -26,13 +28,13 @@ export const fetchBook = async (publicClient, chainId, quoteCurrency, baseCurren
26
28
  isOpened: book !== null,
27
29
  });
28
30
  }
29
- const [{ result: depths }, { result: isOpened }] = await publicClient.multicall({
31
+ const [{ result: depths, error }, { result: isOpened }] = await publicClient.multicall({
30
32
  contracts: [
31
33
  {
32
34
  address: CONTRACT_ADDRESSES[chainId].BookViewer,
33
35
  abi: BOOK_VIEWER_ABI,
34
36
  functionName: 'getLiquidity',
35
- args: [bookId, Number(2n ** 19n - 1n), BigInt(n)],
37
+ args: [bookId, Number(2n ** 19n - 1n), MAX_DEPTH],
36
38
  },
37
39
  {
38
40
  address: CONTRACT_ADDRESSES[chainId].BookManager,
@@ -62,6 +64,9 @@ export const fetchBook = async (publicClient, chainId, quoteCurrency, baseCurren
62
64
  },
63
65
  ],
64
66
  });
67
+ if (error) {
68
+ throw new Error(`Failed to fetch book data: ${error.message}`);
69
+ }
65
70
  return new BookModel({
66
71
  chainId,
67
72
  id: bookId,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/entities/book/apis/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/entities/book/apis/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { zeroAddress, isAddressEqual } from 'viem';
2
- import { NATIVE_CURRENCY } from '../../../constants/chain-configs/currency';
2
+ import { NATIVE_CURRENCY_TOTAL_SUPPLY } from '../../../constants/chain-configs/currency';
3
3
  const abi = [
4
4
  {
5
5
  name: 'totalSupply',
@@ -15,7 +15,7 @@ const getFromCache = (chainId, address) => totalSupplyCache.get(buildCacheKey(ch
15
15
  const setToCache = (chainId, address, value) => totalSupplyCache.set(buildCacheKey(chainId, address), value);
16
16
  export const fetchTotalSupply = async (publicClient, chainId, address) => {
17
17
  if (isAddressEqual(address, zeroAddress)) {
18
- return NATIVE_CURRENCY[chainId].totalSupply;
18
+ return NATIVE_CURRENCY_TOTAL_SUPPLY[chainId];
19
19
  }
20
20
  const cached = getFromCache(chainId, address);
21
21
  if (cached !== undefined) {
@@ -49,17 +49,14 @@ export const fetchTotalSupplyMap = async (publicClient, chainId, addresses) => {
49
49
  : [];
50
50
  const fetched = Object.fromEntries(results.map((r, i) => {
51
51
  const address = toFetch[i];
52
- const result = r.result;
53
- if (!result) {
54
- throw new Error(`Failed to fetch totalSupply for ${address}`);
55
- }
52
+ const result = r.result ?? 0n;
56
53
  setToCache(chainId, address, result);
57
54
  return [address, result];
58
55
  }));
59
56
  return {
60
57
  ...cached,
61
58
  ...fetched,
62
- [zeroAddress]: NATIVE_CURRENCY[chainId].totalSupply,
59
+ [zeroAddress]: NATIVE_CURRENCY_TOTAL_SUPPLY[chainId],
63
60
  };
64
61
  };
65
62
  //# sourceMappingURL=total-supply.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"total-supply.js","sourceRoot":"","sources":["../../../../../src/entities/currency/apis/total-supply.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"total-supply.js","sourceRoot":"","sources":["../../../../../src/entities/currency/apis/total-supply.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { MarketModel } from '../model';
2
2
  import { getMarketId } from '../utils/market-id';
3
3
  import { fetchCurrencyMap } from '../../currency/apis';
4
4
  import { fetchBook } from '../../book/apis';
5
- export async function fetchMarket(publicClient, chainId, tokenAddresses, useSubgraph, n = 100) {
5
+ export async function fetchMarket(publicClient, chainId, tokenAddresses, useSubgraph) {
6
6
  if (tokenAddresses.length !== 2) {
7
7
  throw new Error('Invalid token pair');
8
8
  }
@@ -16,8 +16,8 @@ export async function fetchMarket(publicClient, chainId, tokenAddresses, useSubg
16
16
  currencyMap[baseTokenAddress],
17
17
  ];
18
18
  const [bidBook, askBook] = await Promise.all([
19
- fetchBook(publicClient, chainId, quoteCurrency, baseCurrency, useSubgraph, n),
20
- fetchBook(publicClient, chainId, baseCurrency, quoteCurrency, useSubgraph, n),
19
+ fetchBook(publicClient, chainId, quoteCurrency, baseCurrency, useSubgraph),
20
+ fetchBook(publicClient, chainId, baseCurrency, quoteCurrency, useSubgraph),
21
21
  ]);
22
22
  return new MarketModel({
23
23
  chainId,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/entities/market/apis/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,YAA0B,EAC1B,OAAkB,EAClB,cAA+B,EAC/B,WAAoB,EACpB,CAAC,GAAG,GAAG;IAEP,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;IACvC,CAAC;IAED,MAAM,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,GAAG,WAAW,CAAC,OAAO,EAAE;QACnE,cAAc,CAAC,CAAC,CAAE;QAClB,cAAc,CAAC,CAAC,CAAE;KACnB,CAAC,CAAA;IACF,MAAM,WAAW,GAAG,MAAM,gBAAgB,CACxC,YAAY,EACZ,OAAO,EACP,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,EACrC,WAAW,CACZ,CAAA;IACD,MAAM,CAAC,aAAa,EAAE,YAAY,CAAC,GAAG;QACpC,WAAW,CAAC,iBAAiB,CAAC;QAC9B,WAAW,CAAC,gBAAgB,CAAC;KAC9B,CAAA;IACD,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC3C,SAAS,CACP,YAAY,EACZ,OAAO,EACP,aAAa,EACb,YAAY,EACZ,WAAW,EACX,CAAC,CACF;QACD,SAAS,CACP,YAAY,EACZ,OAAO,EACP,YAAY,EACZ,aAAa,EACb,WAAW,EACX,CAAC,CACF;KACF,CAAC,CAAA;IAEF,OAAO,IAAI,WAAW,CAAC;QACrB,OAAO;QACP,MAAM,EAAE,CAAC,aAAa,EAAE,YAAY,CAAC;QACrC,OAAO;QACP,OAAO;KACR,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/entities/market/apis/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,YAA0B,EAC1B,OAAkB,EAClB,cAA+B,EAC/B,WAAoB;IAEpB,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;IACvC,CAAC;IAED,MAAM,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,GAAG,WAAW,CAAC,OAAO,EAAE;QACnE,cAAc,CAAC,CAAC,CAAE;QAClB,cAAc,CAAC,CAAC,CAAE;KACnB,CAAC,CAAA;IACF,MAAM,WAAW,GAAG,MAAM,gBAAgB,CACxC,YAAY,EACZ,OAAO,EACP,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,EACrC,WAAW,CACZ,CAAA;IACD,MAAM,CAAC,aAAa,EAAE,YAAY,CAAC,GAAG;QACpC,WAAW,CAAC,iBAAiB,CAAC;QAC9B,WAAW,CAAC,gBAAgB,CAAC;KAC9B,CAAA;IACD,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC3C,SAAS,CAAC,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,CAAC;QAC1E,SAAS,CAAC,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,CAAC;KAC3E,CAAC,CAAA;IAEF,OAAO,IAAI,WAAW,CAAC;QACrB,OAAO;QACP,MAAM,EAAE,CAAC,aAAa,EAAE,YAAY,CAAC;QACrC,OAAO;QACP,OAAO;KACR,CAAC,CAAA;AACJ,CAAC"}
@@ -6,7 +6,7 @@ import { getDailyStartTimestampInSeconds } from '../../../utils/time';
6
6
  import { convertTokenToDecimal } from '../../../utils/bigint';
7
7
  export const fetchMarketSnapshot = async (publicClient, chainId, token0, token1, timestampInSeconds) => {
8
8
  const dayStartTimestamp = getDailyStartTimestampInSeconds(timestampInSeconds);
9
- const { data: { bookDayDatas }, } = await Subgraph.get(chainId, 'getTopMarketSnapshot', 'query getMarkets($date: Int!, $bases: [String!]!, $quotes: [String!]!) { bookDayDatas( first: 200 orderBy: volumeUSD orderDirection: desc where: {date: $date, book_: {base_in: $bases, quote_in: $quotes}} ) { volumeUSD open close book { id totalValueLockedUSD price inversePrice lastTakenTimestamp base { id name symbol decimals priceUSD } quote { id name symbol decimals priceUSD } createdAtTimestamp } } }', {
9
+ const { data: { books, bookDayDatas }, } = await Subgraph.get(chainId, 'getTopMarketSnapshot', 'query getMarkets($date: Int!, $bases: [String!]!, $quotes: [String!]!) { books: books(where: {base_in: $bases, quote_in: $quotes}) { price inversePrice totalValueLockedUSD lastTakenTimestamp base { id name symbol decimals priceUSD } quote { id name symbol decimals priceUSD } } bookDayDatas( first: 200 orderBy: volumeUSD orderDirection: desc where: {date: $date, book_: {base_in: $bases, quote_in: $quotes}} ) { volumeUSD open close book { id totalValueLockedUSD price inversePrice lastTakenTimestamp base { id name symbol decimals priceUSD } quote { id name symbol decimals priceUSD } createdAtTimestamp } } }', {
10
10
  date: dayStartTimestamp,
11
11
  bases: [token0, token1].map((address) => address.toLowerCase()),
12
12
  quotes: [token0, token1].map((address) => address.toLowerCase()),
@@ -14,118 +14,226 @@ export const fetchMarketSnapshot = async (publicClient, chainId, token0, token1,
14
14
  if (bookDayDatas.length >= 3) {
15
15
  // TODO: check fee policy if needed
16
16
  console.warn(`[fetchMarketSnapshot] too many bookDayDatas for ${token0}/${token1}`);
17
+ return null;
17
18
  }
18
19
  const totalSupplyMap = await fetchTotalSupplyMap(publicClient, chainId, [token0, token1].map((address) => getAddress(address)));
19
- const bidBook = bookDayDatas.find(({ book: { quote, base } }) => isAddressEqual(getAddress(quote.id), getQuoteToken({
20
+ const dailyBidBookData = bookDayDatas.find(({ book: { quote, base } }) => isAddressEqual(getAddress(quote.id), getQuoteToken({
20
21
  chainId,
21
22
  token0: getAddress(base.id),
22
23
  token1: getAddress(quote.id),
23
24
  })));
24
- const askBook = bookDayDatas.find(({ book: { quote, base } }) => isAddressEqual(getAddress(base.id), getQuoteToken({
25
+ const dailyAskBookData = bookDayDatas.find(({ book: { quote, base } }) => isAddressEqual(getAddress(base.id), getQuoteToken({
25
26
  chainId,
26
27
  token0: getAddress(quote.id),
27
28
  token1: getAddress(base.id),
28
29
  })));
29
- if (bidBook && askBook) {
30
- const baseTotalSupply = convertTokenToDecimal(BigInt(totalSupplyMap[getAddress(bidBook.book.base.id)] ?? 0n), Number(bidBook.book.base.decimals));
31
- const isBidNewer = Number(bidBook.book.lastTakenTimestamp) >=
32
- Number(askBook.book.lastTakenTimestamp);
30
+ if (dailyBidBookData && dailyAskBookData) {
31
+ const baseTotalSupply = convertTokenToDecimal(BigInt(totalSupplyMap[getAddress(dailyBidBookData.book.base.id)] ?? 0n), Number(dailyBidBookData.book.base.decimals));
32
+ const isBidNewer = Number(dailyBidBookData.book.lastTakenTimestamp) >=
33
+ Number(dailyAskBookData.book.lastTakenTimestamp);
33
34
  return {
34
35
  chainId,
35
- marketId: `${bidBook.book.base.symbol}/${bidBook.book.quote.symbol}`,
36
+ marketId: `${dailyBidBookData.book.base.symbol}/${dailyBidBookData.book.quote.symbol}`,
36
37
  base: {
37
- address: getAddress(bidBook.book.base.id),
38
- name: bidBook.book.base.name,
39
- symbol: bidBook.book.base.symbol,
40
- decimals: Number(bidBook.book.base.decimals),
38
+ address: getAddress(dailyBidBookData.book.base.id),
39
+ name: dailyBidBookData.book.base.name,
40
+ symbol: dailyBidBookData.book.base.symbol,
41
+ decimals: Number(dailyBidBookData.book.base.decimals),
41
42
  },
42
43
  quote: {
43
- address: getAddress(bidBook.book.quote.id),
44
- name: bidBook.book.quote.name,
45
- symbol: bidBook.book.quote.symbol,
46
- decimals: Number(bidBook.book.quote.decimals),
44
+ address: getAddress(dailyBidBookData.book.quote.id),
45
+ name: dailyBidBookData.book.quote.name,
46
+ symbol: dailyBidBookData.book.quote.symbol,
47
+ decimals: Number(dailyBidBookData.book.quote.decimals),
47
48
  },
48
49
  price: isBidNewer
49
- ? Number(bidBook.book.price)
50
- : Number(askBook.book.inversePrice),
50
+ ? Number(dailyBidBookData.book.price)
51
+ : Number(dailyAskBookData.book.inversePrice),
51
52
  priceUSD: isBidNewer
52
- ? Number(bidBook.book.base.priceUSD)
53
- : Number(askBook.book.quote.priceUSD),
54
- volume24hUSD: Number(bidBook.volumeUSD) + Number(askBook.volumeUSD),
55
- totalValueLockedUSD: Number(bidBook.book.totalValueLockedUSD) +
56
- Number(askBook.book.totalValueLockedUSD),
57
- priceChange24h: isBidNewer && Number(bidBook.open) > 0
58
- ? Number(bidBook.close) / Number(bidBook.open) - 1
59
- : !isBidNewer && Number(askBook.close) > 0
60
- ? Number(askBook.open) / Number(askBook.close) - 1
53
+ ? Number(dailyBidBookData.book.price) *
54
+ Number(dailyBidBookData.book.quote.priceUSD)
55
+ : Number(dailyAskBookData.book.inversePrice) *
56
+ Number(dailyAskBookData.book.base.priceUSD),
57
+ volume24hUSD: Number(dailyBidBookData.volumeUSD) + Number(dailyAskBookData.volumeUSD),
58
+ totalValueLockedUSD: Number(dailyBidBookData.book.totalValueLockedUSD) +
59
+ Number(dailyAskBookData.book.totalValueLockedUSD),
60
+ priceChange24h: isBidNewer && Number(dailyBidBookData.open) > 0
61
+ ? Number(dailyBidBookData.close) / Number(dailyBidBookData.open) - 1
62
+ : !isBidNewer && Number(dailyAskBookData.close) > 0
63
+ ? Number(dailyAskBookData.open) / Number(dailyAskBookData.close) - 1
61
64
  : 0,
62
- createdAtTimestamp: Math.min(Number(bidBook.book.createdAtTimestamp), Number(askBook.book.createdAtTimestamp)),
65
+ createdAtTimestamp: Math.min(Number(dailyBidBookData.book.createdAtTimestamp), Number(dailyAskBookData.book.createdAtTimestamp)),
63
66
  fdv: baseTotalSupply *
64
67
  (isBidNewer
65
- ? Number(bidBook.book.base.priceUSD)
66
- : Number(askBook.book.quote.priceUSD)),
67
- lastUpdatedAtTimestamp: Math.max(Number(bidBook.book.lastTakenTimestamp), Number(askBook.book.lastTakenTimestamp)),
68
+ ? Number(dailyBidBookData.book.base.priceUSD)
69
+ : Number(dailyAskBookData.book.quote.priceUSD)),
70
+ bidBookUpdatedAt: Number(dailyBidBookData.book.lastTakenTimestamp),
71
+ askBookUpdatedAt: Number(dailyAskBookData.book.lastTakenTimestamp),
68
72
  };
69
73
  }
70
- else if (bidBook) {
71
- const baseTotalSupply = convertTokenToDecimal(BigInt(totalSupplyMap[getAddress(bidBook.book.base.id)] ?? 0n), Number(bidBook.book.base.decimals));
74
+ else if (dailyBidBookData) {
75
+ const baseTotalSupply = convertTokenToDecimal(BigInt(totalSupplyMap[getAddress(dailyBidBookData.book.base.id)] ?? 0n), Number(dailyBidBookData.book.base.decimals));
72
76
  return {
73
77
  chainId,
74
- marketId: `${bidBook.book.base.symbol}/${bidBook.book.quote.symbol}`,
78
+ marketId: `${dailyBidBookData.book.base.symbol}/${dailyBidBookData.book.quote.symbol}`,
75
79
  base: {
76
- address: getAddress(bidBook.book.base.id),
77
- name: bidBook.book.base.name,
78
- symbol: bidBook.book.base.symbol,
79
- decimals: Number(bidBook.book.base.decimals),
80
+ address: getAddress(dailyBidBookData.book.base.id),
81
+ name: dailyBidBookData.book.base.name,
82
+ symbol: dailyBidBookData.book.base.symbol,
83
+ decimals: Number(dailyBidBookData.book.base.decimals),
80
84
  },
81
85
  quote: {
82
- address: getAddress(bidBook.book.quote.id),
83
- name: bidBook.book.quote.name,
84
- symbol: bidBook.book.quote.symbol,
85
- decimals: Number(bidBook.book.quote.decimals),
86
+ address: getAddress(dailyBidBookData.book.quote.id),
87
+ name: dailyBidBookData.book.quote.name,
88
+ symbol: dailyBidBookData.book.quote.symbol,
89
+ decimals: Number(dailyBidBookData.book.quote.decimals),
86
90
  },
87
- price: Number(bidBook.book.price) || 0,
88
- priceUSD: Number(bidBook.book.base.priceUSD) || 0,
89
- volume24hUSD: Number(bidBook.volumeUSD) || 0,
90
- totalValueLockedUSD: Number(bidBook.book.totalValueLockedUSD) || 0,
91
- priceChange24h: Number(bidBook.open) > 0
92
- ? Number(bidBook.close) / Number(bidBook.open) - 1
91
+ price: Number(dailyBidBookData.book.price) || 0,
92
+ priceUSD: Number(dailyBidBookData.book.price) *
93
+ Number(dailyBidBookData.book.quote.priceUSD),
94
+ volume24hUSD: Number(dailyBidBookData.volumeUSD) || 0,
95
+ totalValueLockedUSD: Number(dailyBidBookData.book.totalValueLockedUSD) || 0,
96
+ priceChange24h: Number(dailyBidBookData.open) > 0
97
+ ? Number(dailyBidBookData.close) / Number(dailyBidBookData.open) - 1
93
98
  : 0,
94
- createdAtTimestamp: Number(bidBook.book.createdAtTimestamp) || 0,
95
- fdv: baseTotalSupply * Number(bidBook.book.base.priceUSD) || 0,
96
- lastUpdatedAtTimestamp: Number(bidBook.book.lastTakenTimestamp) || 0,
99
+ createdAtTimestamp: Number(dailyBidBookData.book.createdAtTimestamp) || 0,
100
+ fdv: baseTotalSupply * Number(dailyBidBookData.book.base.priceUSD) || 0,
101
+ bidBookUpdatedAt: Number(dailyBidBookData.book.lastTakenTimestamp) || 0,
102
+ askBookUpdatedAt: 0,
97
103
  };
98
104
  }
99
- else if (askBook) {
100
- const baseTotalSupply = convertTokenToDecimal(BigInt(totalSupplyMap[getAddress(askBook.book.quote.id)] ?? 0n), Number(askBook.book.quote.decimals));
105
+ else if (dailyAskBookData) {
106
+ const baseTotalSupply = convertTokenToDecimal(BigInt(totalSupplyMap[getAddress(dailyAskBookData.book.quote.id)] ?? 0n), Number(dailyAskBookData.book.quote.decimals));
101
107
  return {
102
108
  chainId,
103
- marketId: `${askBook.book.quote.symbol}/${askBook.book.base.symbol}`,
109
+ marketId: `${dailyAskBookData.book.quote.symbol}/${dailyAskBookData.book.base.symbol}`,
104
110
  base: {
105
- address: getAddress(askBook.book.quote.id),
106
- name: askBook.book.quote.name,
107
- symbol: askBook.book.quote.symbol,
108
- decimals: Number(askBook.book.quote.decimals),
111
+ address: getAddress(dailyAskBookData.book.quote.id),
112
+ name: dailyAskBookData.book.quote.name,
113
+ symbol: dailyAskBookData.book.quote.symbol,
114
+ decimals: Number(dailyAskBookData.book.quote.decimals),
109
115
  },
110
116
  quote: {
111
- address: getAddress(askBook.book.base.id),
112
- name: askBook.book.base.name,
113
- symbol: askBook.book.base.symbol,
114
- decimals: Number(askBook.book.base.decimals),
117
+ address: getAddress(dailyAskBookData.book.base.id),
118
+ name: dailyAskBookData.book.base.name,
119
+ symbol: dailyAskBookData.book.base.symbol,
120
+ decimals: Number(dailyAskBookData.book.base.decimals),
115
121
  },
116
- price: Number(askBook.book.inversePrice) || 0,
117
- priceUSD: Number(askBook.book.quote.priceUSD) || 0,
118
- volume24hUSD: Number(askBook.volumeUSD) || 0,
119
- totalValueLockedUSD: Number(askBook.book.totalValueLockedUSD) || 0,
120
- priceChange24h: Number(askBook.close) > 0
121
- ? Number(askBook.open) / Number(askBook.close) - 1
122
+ price: Number(dailyAskBookData.book.inversePrice) || 0,
123
+ priceUSD: Number(dailyAskBookData.book.inversePrice) *
124
+ Number(dailyAskBookData.book.base.priceUSD),
125
+ volume24hUSD: Number(dailyAskBookData.volumeUSD) || 0,
126
+ totalValueLockedUSD: Number(dailyAskBookData.book.totalValueLockedUSD) || 0,
127
+ priceChange24h: Number(dailyAskBookData.close) > 0
128
+ ? Number(dailyAskBookData.open) / Number(dailyAskBookData.close) - 1
122
129
  : 0,
123
- createdAtTimestamp: Number(askBook.book.createdAtTimestamp) || 0,
124
- fdv: baseTotalSupply * Number(askBook.book.quote.priceUSD) || 0,
125
- lastUpdatedAtTimestamp: Number(askBook.book.lastTakenTimestamp) || 0,
130
+ createdAtTimestamp: Number(dailyAskBookData.book.createdAtTimestamp) || 0,
131
+ fdv: baseTotalSupply * Number(dailyAskBookData.book.quote.priceUSD) || 0,
132
+ bidBookUpdatedAt: 0,
133
+ askBookUpdatedAt: Number(dailyAskBookData.book.lastTakenTimestamp) || 0,
134
+ };
135
+ }
136
+ if (books.length >= 3) {
137
+ // TODO: check fee policy if needed
138
+ console.warn(`[fetchMarketSnapshot] too many books for ${token0}/${token1}`);
139
+ return null;
140
+ }
141
+ const bidBook = books.find(({ quote, base }) => isAddressEqual(getAddress(quote.id), getQuoteToken({
142
+ chainId,
143
+ token0: getAddress(base.id),
144
+ token1: getAddress(quote.id),
145
+ })));
146
+ const askBook = books.find(({ quote, base }) => isAddressEqual(getAddress(base.id), getQuoteToken({
147
+ chainId,
148
+ token0: getAddress(quote.id),
149
+ token1: getAddress(base.id),
150
+ })));
151
+ if (bidBook && askBook) {
152
+ const baseTotalSupply = convertTokenToDecimal(BigInt(totalSupplyMap[getAddress(bidBook.base.id)] ?? 0n), Number(bidBook.base.decimals));
153
+ return {
154
+ chainId,
155
+ marketId: `${bidBook.base.symbol}/${bidBook.quote.symbol}`,
156
+ base: {
157
+ address: getAddress(bidBook.base.id),
158
+ name: bidBook.base.name,
159
+ symbol: bidBook.base.symbol,
160
+ decimals: Number(bidBook.base.decimals),
161
+ },
162
+ quote: {
163
+ address: getAddress(bidBook.quote.id),
164
+ name: bidBook.quote.name,
165
+ symbol: bidBook.quote.symbol,
166
+ decimals: Number(bidBook.quote.decimals),
167
+ },
168
+ price: Number(bidBook.price),
169
+ priceUSD: Number(bidBook.price) * Number(bidBook.quote.priceUSD),
170
+ volume24hUSD: 0,
171
+ totalValueLockedUSD: Number(bidBook.totalValueLockedUSD) +
172
+ Number(askBook.totalValueLockedUSD),
173
+ priceChange24h: 0,
174
+ createdAtTimestamp: Math.min(Number(bidBook.lastTakenTimestamp), Number(askBook.lastTakenTimestamp)),
175
+ fdv: baseTotalSupply * Number(bidBook.quote.priceUSD),
176
+ bidBookUpdatedAt: Number(bidBook.lastTakenTimestamp),
177
+ askBookUpdatedAt: Number(askBook.lastTakenTimestamp),
178
+ };
179
+ }
180
+ else if (bidBook) {
181
+ const baseTotalSupply = convertTokenToDecimal(BigInt(totalSupplyMap[getAddress(bidBook.base.id)] ?? 0n), Number(bidBook.base.decimals));
182
+ return {
183
+ chainId,
184
+ marketId: `${bidBook.base.symbol}/${bidBook.quote.symbol}`,
185
+ base: {
186
+ address: getAddress(bidBook.base.id),
187
+ name: bidBook.base.name,
188
+ symbol: bidBook.base.symbol,
189
+ decimals: Number(bidBook.base.decimals),
190
+ },
191
+ quote: {
192
+ address: getAddress(bidBook.quote.id),
193
+ name: bidBook.quote.name,
194
+ symbol: bidBook.quote.symbol,
195
+ decimals: Number(bidBook.quote.decimals),
196
+ },
197
+ price: Number(bidBook.price),
198
+ priceUSD: Number(bidBook.price) * Number(bidBook.quote.priceUSD),
199
+ volume24hUSD: 0,
200
+ totalValueLockedUSD: Number(bidBook.totalValueLockedUSD),
201
+ priceChange24h: 0,
202
+ createdAtTimestamp: Number(bidBook.lastTakenTimestamp),
203
+ fdv: baseTotalSupply * Number(bidBook.quote.priceUSD),
204
+ bidBookUpdatedAt: Number(bidBook.lastTakenTimestamp),
205
+ askBookUpdatedAt: 0,
206
+ };
207
+ }
208
+ else if (askBook) {
209
+ const baseTotalSupply = convertTokenToDecimal(BigInt(totalSupplyMap[getAddress(askBook.quote.id)] ?? 0n), Number(askBook.quote.decimals));
210
+ return {
211
+ chainId,
212
+ marketId: `${askBook.quote.symbol}/${askBook.base.symbol}`,
213
+ base: {
214
+ address: getAddress(askBook.quote.id),
215
+ name: askBook.quote.name,
216
+ symbol: askBook.quote.symbol,
217
+ decimals: Number(askBook.quote.decimals),
218
+ },
219
+ quote: {
220
+ address: getAddress(askBook.base.id),
221
+ name: askBook.base.name,
222
+ symbol: askBook.base.symbol,
223
+ decimals: Number(askBook.base.decimals),
224
+ },
225
+ price: Number(askBook.inversePrice),
226
+ priceUSD: Number(askBook.inversePrice) * Number(askBook.base.priceUSD),
227
+ volume24hUSD: 0,
228
+ totalValueLockedUSD: Number(askBook.totalValueLockedUSD),
229
+ priceChange24h: 0,
230
+ createdAtTimestamp: Number(askBook.lastTakenTimestamp),
231
+ fdv: baseTotalSupply * Number(askBook.quote.priceUSD),
232
+ bidBookUpdatedAt: 0,
233
+ askBookUpdatedAt: Number(askBook.lastTakenTimestamp),
126
234
  };
127
235
  }
128
- throw new Error('No bookDayDatas found');
236
+ return null;
129
237
  };
130
238
  export const fetchMarketSnapshots = async (publicClient, chainId, timestampInSeconds) => {
131
239
  const dayStartTimestamp = getDailyStartTimestampInSeconds(timestampInSeconds);
@@ -179,8 +287,9 @@ export const fetchMarketSnapshots = async (publicClient, chainId, timestampInSec
179
287
  ? Number(bidBook.book.price)
180
288
  : Number(askBook?.book.inversePrice),
181
289
  priceUSD: isBidNewer
182
- ? Number(bidBook.book.base.priceUSD)
183
- : Number(askBook?.book.quote.priceUSD),
290
+ ? Number(bidBook.book.price) * Number(bidBook.book.quote.priceUSD)
291
+ : Number(askBook?.book.inversePrice) *
292
+ Number(askBook?.book.base.priceUSD),
184
293
  priceChange24h: isBidNewer && Number(bidBook.open) > 0
185
294
  ? Number(bidBook.close) / Number(bidBook.open) - 1
186
295
  : !isBidNewer && askBook && Number(askBook.close) > 0
@@ -199,7 +308,8 @@ export const fetchMarketSnapshots = async (publicClient, chainId, timestampInSec
199
308
  fdv: isBidNewer
200
309
  ? baseTotalSupply * Number(bidBook.book.base.priceUSD)
201
310
  : baseTotalSupply * Number(askBook?.book.quote.priceUSD),
202
- lastUpdatedAtTimestamp: Math.max(Number(bidBook.book.lastTakenTimestamp), Number(askBook?.book.lastTakenTimestamp ?? 0)),
311
+ bidBookUpdatedAt: Number(bidBook.book.lastTakenTimestamp),
312
+ askBookUpdatedAt: Number(askBook?.book.lastTakenTimestamp ?? 0),
203
313
  };
204
314
  }),
205
315
  ...askBookDayDataList.map((askBook) => {
@@ -229,8 +339,9 @@ export const fetchMarketSnapshots = async (publicClient, chainId, timestampInSec
229
339
  ? Number(bidBook?.book.price)
230
340
  : Number(askBook.book.inversePrice),
231
341
  priceUSD: isBidNewer
232
- ? Number(bidBook?.book.base.priceUSD)
233
- : Number(askBook.book.quote.priceUSD),
342
+ ? Number(bidBook?.book.price) * Number(bidBook?.book.quote.priceUSD)
343
+ : Number(askBook.book.inversePrice) *
344
+ Number(askBook.book.base.priceUSD),
234
345
  priceChange24h: isBidNewer && bidBook && Number(bidBook.open) > 0
235
346
  ? Number(bidBook.close) / Number(bidBook.open) - 1
236
347
  : !isBidNewer && Number(askBook.close) > 0
@@ -249,11 +360,12 @@ export const fetchMarketSnapshots = async (publicClient, chainId, timestampInSec
249
360
  fdv: isBidNewer
250
361
  ? baseTotalSupply * Number(bidBook?.book.base.priceUSD)
251
362
  : baseTotalSupply * Number(askBook.book.quote.priceUSD),
252
- lastUpdatedAtTimestamp: Math.max(Number(askBook.book.lastTakenTimestamp), Number(bidBook?.book.lastTakenTimestamp ?? 0)),
363
+ bidBookUpdatedAt: Number(bidBook?.book.lastTakenTimestamp ?? 0),
364
+ askBookUpdatedAt: Number(askBook.book.lastTakenTimestamp),
253
365
  };
254
366
  }),
255
367
  ]
256
- .filter(({ price }) => price > 0)
368
+ .filter(({ priceUSD }) => priceUSD > 0)
257
369
  .filter((market, index, self) => self.findIndex((m) => m.marketId === market.marketId) === index);
258
370
  };
259
371
  //# sourceMappingURL=snapshot.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../../../../src/entities/market/apis/snapshot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../../../../src/entities/market/apis/snapshot.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,26 @@
1
1
  import { getAddress, isAddressEqual, zeroAddress } from 'viem';
2
- import { STABLE_COIN_ADDRESSES, REFERENCE_CURRENCY, } from '../../../constants/chain-configs/currency';
2
+ import { STABLE_COINS, REFERENCE_CURRENCY, } from '../../../constants/chain-configs/currency';
3
3
  export const getMarketId = (chainId, tokenAddresses) => {
4
4
  if (tokenAddresses.length !== 2) {
5
5
  throw new Error('Invalid token pair');
6
6
  }
7
7
  tokenAddresses = tokenAddresses.map((address) => getAddress(address)).sort();
8
8
  // include stable coin
9
- const stable = tokenAddresses.find((address) => {
10
- return STABLE_COIN_ADDRESSES[chainId].map((addresses) => getAddress(addresses)).some((addresses) => addresses.includes(address));
11
- });
9
+ const stable = STABLE_COINS[chainId].slice()
10
+ .sort((a, b) => {
11
+ if (a.priority !== undefined && b.priority !== undefined) {
12
+ return a.priority - b.priority;
13
+ }
14
+ else if (a.priority !== undefined) {
15
+ return -1;
16
+ }
17
+ else if (b.priority !== undefined) {
18
+ return 1;
19
+ }
20
+ return a.address.localeCompare(b.address);
21
+ })
22
+ .map(({ address }) => getAddress(address))
23
+ .find((stableAddr) => tokenAddresses.some((addr) => isAddressEqual(addr, stableAddr)));
12
24
  if (stable) {
13
25
  const other = tokenAddresses.find((address) => !isAddressEqual(address, stable));
14
26
  return {