@clober/v2-sdk 1.0.0-rc.5 → 1.0.0-rc.51

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 (209) hide show
  1. package/dist/cjs/calls/index.js +4 -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/pool/burn.js +5 -5
  6. package/dist/cjs/calls/pool/market-making/adjust.js +2 -2
  7. package/dist/cjs/calls/pool/market-making/pause.js +2 -2
  8. package/dist/cjs/calls/pool/market-making/refill.js +2 -2
  9. package/dist/cjs/calls/pool/market-making/resume.js +2 -2
  10. package/dist/cjs/calls/pool/mint.js +111 -21
  11. package/dist/cjs/calls/pool/mint.js.map +1 -1
  12. package/dist/cjs/calls/pool/open.js +2 -2
  13. package/dist/cjs/calls/pool/open.js.map +1 -1
  14. package/dist/cjs/calls/pool/wrap.js +97 -0
  15. package/dist/cjs/calls/pool/wrap.js.map +1 -0
  16. package/dist/cjs/constants/abis/core/controller-abi.js +24 -1
  17. package/dist/cjs/constants/abis/core/controller-abi.js.map +1 -1
  18. package/dist/cjs/constants/abis/rebalancer/wrapped-6909-factory-abi.js +107 -0
  19. package/dist/cjs/constants/abis/rebalancer/wrapped-6909-factory-abi.js.map +1 -0
  20. package/dist/cjs/constants/chain-configs/addresses.js +27 -22
  21. package/dist/cjs/constants/chain-configs/addresses.js.map +1 -1
  22. package/dist/cjs/constants/chain-configs/chain.js +2 -2
  23. package/dist/cjs/constants/chain-configs/chain.js.map +1 -1
  24. package/dist/cjs/constants/chain-configs/currency.js +94 -24
  25. package/dist/cjs/constants/chain-configs/currency.js.map +1 -1
  26. package/dist/cjs/constants/chain-configs/fee.js +2 -2
  27. package/dist/cjs/constants/chain-configs/fee.js.map +1 -1
  28. package/dist/cjs/constants/chain-configs/subgraph.js +2 -2
  29. package/dist/cjs/constants/chain-configs/subgraph.js.map +1 -1
  30. package/dist/cjs/constants/networks/test-chain.js +1 -24
  31. package/dist/cjs/constants/networks/test-chain.js.map +1 -1
  32. package/dist/cjs/entities/analytics/apis/index.js +89 -21
  33. package/dist/cjs/entities/analytics/apis/index.js.map +1 -1
  34. package/dist/cjs/entities/book/apis/index.js +46 -15
  35. package/dist/cjs/entities/book/apis/index.js.map +1 -1
  36. package/dist/cjs/entities/currency/apis/total-supply.js +3 -6
  37. package/dist/cjs/entities/currency/apis/total-supply.js.map +1 -1
  38. package/dist/cjs/entities/market/apis/index.js +3 -3
  39. package/dist/cjs/entities/market/apis/index.js.map +1 -1
  40. package/dist/cjs/entities/market/apis/snapshot.js +234 -80
  41. package/dist/cjs/entities/market/apis/snapshot.js.map +1 -1
  42. package/dist/cjs/entities/market/utils/market-id.js +1 -1
  43. package/dist/cjs/entities/market/utils/market-id.js.map +1 -1
  44. package/dist/cjs/entities/pool/apis/index.js +11 -1
  45. package/dist/cjs/entities/pool/apis/index.js.map +1 -1
  46. package/dist/cjs/entities/pool/apis/snapshot.js +28 -23
  47. package/dist/cjs/entities/pool/apis/snapshot.js.map +1 -1
  48. package/dist/cjs/entities/pool/model.js +28 -7
  49. package/dist/cjs/entities/pool/model.js.map +1 -1
  50. package/dist/cjs/types/index.js.map +1 -1
  51. package/dist/cjs/utils/bigint.js +4 -1
  52. package/dist/cjs/utils/bigint.js.map +1 -1
  53. package/dist/cjs/views/analytics.js +9 -1
  54. package/dist/cjs/views/analytics.js.map +1 -1
  55. package/dist/cjs/views/currency.js +5 -1
  56. package/dist/cjs/views/currency.js.map +1 -1
  57. package/dist/cjs/views/index.js +6 -1
  58. package/dist/cjs/views/index.js.map +1 -1
  59. package/dist/cjs/views/market/chart-log.js +2 -2
  60. package/dist/cjs/views/market/index.js +1 -1
  61. package/dist/cjs/views/market/index.js.map +1 -1
  62. package/dist/cjs/views/market/snapshot.js.map +1 -1
  63. package/dist/cjs/views/pool/index.js +16 -1
  64. package/dist/cjs/views/pool/index.js.map +1 -1
  65. package/dist/cjs/views/subgraph.js +12 -2
  66. package/dist/cjs/views/subgraph.js.map +1 -1
  67. package/dist/esm/calls/index.js +1 -1
  68. package/dist/esm/calls/index.js.map +1 -1
  69. package/dist/esm/calls/market/limit.js +6 -1
  70. package/dist/esm/calls/market/limit.js.map +1 -1
  71. package/dist/esm/calls/pool/burn.js +5 -5
  72. package/dist/esm/calls/pool/market-making/adjust.js +2 -2
  73. package/dist/esm/calls/pool/market-making/pause.js +2 -2
  74. package/dist/esm/calls/pool/market-making/refill.js +2 -2
  75. package/dist/esm/calls/pool/market-making/resume.js +2 -2
  76. package/dist/esm/calls/pool/mint.js +112 -74
  77. package/dist/esm/calls/pool/mint.js.map +1 -1
  78. package/dist/esm/calls/pool/open.js +7 -6
  79. package/dist/esm/calls/pool/open.js.map +1 -1
  80. package/dist/esm/calls/pool/wrap.js +138 -0
  81. package/dist/esm/calls/pool/wrap.js.map +1 -0
  82. package/dist/esm/constants/abis/core/controller-abi.js +24 -1
  83. package/dist/esm/constants/abis/core/controller-abi.js.map +1 -1
  84. package/dist/esm/constants/abis/rebalancer/wrapped-6909-factory-abi.js +104 -0
  85. package/dist/esm/constants/abis/rebalancer/wrapped-6909-factory-abi.js.map +1 -0
  86. package/dist/esm/constants/chain-configs/addresses.js +30 -34
  87. package/dist/esm/constants/chain-configs/addresses.js.map +1 -1
  88. package/dist/esm/constants/chain-configs/chain.js +4 -6
  89. package/dist/esm/constants/chain-configs/chain.js.map +1 -1
  90. package/dist/esm/constants/chain-configs/currency.js +96 -38
  91. package/dist/esm/constants/chain-configs/currency.js.map +1 -1
  92. package/dist/esm/constants/chain-configs/fee.js +2 -4
  93. package/dist/esm/constants/chain-configs/fee.js.map +1 -1
  94. package/dist/esm/constants/chain-configs/subgraph.js +2 -4
  95. package/dist/esm/constants/chain-configs/subgraph.js.map +1 -1
  96. package/dist/esm/constants/networks/test-chain.js +0 -23
  97. package/dist/esm/constants/networks/test-chain.js.map +1 -1
  98. package/dist/esm/entities/analytics/apis/index.js +86 -20
  99. package/dist/esm/entities/analytics/apis/index.js.map +1 -1
  100. package/dist/esm/entities/book/apis/index.js +46 -15
  101. package/dist/esm/entities/book/apis/index.js.map +1 -1
  102. package/dist/esm/entities/currency/apis/total-supply.js +4 -7
  103. package/dist/esm/entities/currency/apis/total-supply.js.map +1 -1
  104. package/dist/esm/entities/market/apis/index.js +3 -3
  105. package/dist/esm/entities/market/apis/index.js.map +1 -1
  106. package/dist/esm/entities/market/apis/snapshot.js +236 -81
  107. package/dist/esm/entities/market/apis/snapshot.js.map +1 -1
  108. package/dist/esm/entities/market/utils/market-id.js +2 -2
  109. package/dist/esm/entities/market/utils/market-id.js.map +1 -1
  110. package/dist/esm/entities/pool/apis/index.js +11 -1
  111. package/dist/esm/entities/pool/apis/index.js.map +1 -1
  112. package/dist/esm/entities/pool/apis/snapshot.js +29 -24
  113. package/dist/esm/entities/pool/apis/snapshot.js.map +1 -1
  114. package/dist/esm/entities/pool/model.js +28 -7
  115. package/dist/esm/entities/pool/model.js.map +1 -1
  116. package/dist/esm/types/index.js.map +1 -1
  117. package/dist/esm/utils/bigint.js +2 -0
  118. package/dist/esm/utils/bigint.js.map +1 -1
  119. package/dist/esm/views/analytics.js +7 -1
  120. package/dist/esm/views/analytics.js.map +1 -1
  121. package/dist/esm/views/currency.js +4 -1
  122. package/dist/esm/views/currency.js.map +1 -1
  123. package/dist/esm/views/index.js +4 -4
  124. package/dist/esm/views/index.js.map +1 -1
  125. package/dist/esm/views/market/chart-log.js +2 -2
  126. package/dist/esm/views/market/index.js +1 -2
  127. package/dist/esm/views/market/index.js.map +1 -1
  128. package/dist/esm/views/market/snapshot.js.map +1 -1
  129. package/dist/esm/views/pool/index.js +14 -0
  130. package/dist/esm/views/pool/index.js.map +1 -1
  131. package/dist/esm/views/subgraph.js +22 -1
  132. package/dist/esm/views/subgraph.js.map +1 -1
  133. package/dist/tsconfig.build.tsbuildinfo +1 -1
  134. package/dist/types/calls/index.d.ts +1 -1
  135. package/dist/types/calls/index.d.ts.map +1 -1
  136. package/dist/types/calls/market/limit.d.ts +1 -0
  137. package/dist/types/calls/market/limit.d.ts.map +1 -1
  138. package/dist/types/calls/pool/mint.d.ts +21 -5
  139. package/dist/types/calls/pool/mint.d.ts.map +1 -1
  140. package/dist/types/calls/pool/open.d.ts +8 -7
  141. package/dist/types/calls/pool/open.d.ts.map +1 -1
  142. package/dist/types/calls/pool/wrap.d.ts +79 -0
  143. package/dist/types/calls/pool/wrap.d.ts.map +1 -0
  144. package/dist/types/constants/abis/core/controller-abi.d.ts +19 -1
  145. package/dist/types/constants/abis/core/controller-abi.d.ts.map +1 -1
  146. package/dist/types/constants/abis/rebalancer/wrapped-6909-factory-abi.d.ts +80 -0
  147. package/dist/types/constants/abis/rebalancer/wrapped-6909-factory-abi.d.ts.map +1 -0
  148. package/dist/types/constants/chain-configs/addresses.d.ts +1 -0
  149. package/dist/types/constants/chain-configs/addresses.d.ts.map +1 -1
  150. package/dist/types/constants/chain-configs/chain.d.ts +1 -1
  151. package/dist/types/constants/chain-configs/chain.d.ts.map +1 -1
  152. package/dist/types/constants/chain-configs/currency.d.ts +8 -11
  153. package/dist/types/constants/chain-configs/currency.d.ts.map +1 -1
  154. package/dist/types/constants/chain-configs/fee.d.ts.map +1 -1
  155. package/dist/types/constants/chain-configs/subgraph.d.ts.map +1 -1
  156. package/dist/types/constants/networks/test-chain.d.ts +0 -1
  157. package/dist/types/constants/networks/test-chain.d.ts.map +1 -1
  158. package/dist/types/entities/analytics/apis/index.d.ts +3 -1
  159. package/dist/types/entities/analytics/apis/index.d.ts.map +1 -1
  160. package/dist/types/entities/analytics/types.d.ts +12 -1
  161. package/dist/types/entities/analytics/types.d.ts.map +1 -1
  162. package/dist/types/entities/book/apis/index.d.ts +1 -1
  163. package/dist/types/entities/book/apis/index.d.ts.map +1 -1
  164. package/dist/types/entities/currency/apis/total-supply.d.ts.map +1 -1
  165. package/dist/types/entities/market/apis/index.d.ts +1 -1
  166. package/dist/types/entities/market/apis/index.d.ts.map +1 -1
  167. package/dist/types/entities/market/apis/snapshot.d.ts +1 -1
  168. package/dist/types/entities/market/apis/snapshot.d.ts.map +1 -1
  169. package/dist/types/entities/market/types.d.ts +2 -0
  170. package/dist/types/entities/market/types.d.ts.map +1 -1
  171. package/dist/types/entities/pool/apis/index.d.ts.map +1 -1
  172. package/dist/types/entities/pool/apis/snapshot.d.ts.map +1 -1
  173. package/dist/types/entities/pool/model.d.ts +6 -2
  174. package/dist/types/entities/pool/model.d.ts.map +1 -1
  175. package/dist/types/entities/pool/types.d.ts +9 -4
  176. package/dist/types/entities/pool/types.d.ts.map +1 -1
  177. package/dist/types/types/index.d.ts +1 -0
  178. package/dist/types/types/index.d.ts.map +1 -1
  179. package/dist/types/utils/bigint.d.ts +1 -0
  180. package/dist/types/utils/bigint.d.ts.map +1 -1
  181. package/dist/types/views/address.d.ts +1 -0
  182. package/dist/types/views/address.d.ts.map +1 -1
  183. package/dist/types/views/analytics.d.ts +8 -1
  184. package/dist/types/views/analytics.d.ts.map +1 -1
  185. package/dist/types/views/currency.d.ts +5 -6
  186. package/dist/types/views/currency.d.ts.map +1 -1
  187. package/dist/types/views/index.d.ts +4 -4
  188. package/dist/types/views/index.d.ts.map +1 -1
  189. package/dist/types/views/market/index.d.ts +0 -2
  190. package/dist/types/views/market/index.d.ts.map +1 -1
  191. package/dist/types/views/market/snapshot.d.ts +1 -1
  192. package/dist/types/views/market/snapshot.d.ts.map +1 -1
  193. package/dist/types/views/pool/index.d.ts +8 -1
  194. package/dist/types/views/pool/index.d.ts.map +1 -1
  195. package/dist/types/views/subgraph.d.ts +20 -0
  196. package/dist/types/views/subgraph.d.ts.map +1 -1
  197. package/package.json +1 -1
  198. package/dist/cjs/calls/pool/market-making/strategy.js +0 -78
  199. package/dist/cjs/calls/pool/market-making/strategy.js.map +0 -1
  200. package/dist/cjs/entities/book/apis/open.js +0 -46
  201. package/dist/cjs/entities/book/apis/open.js.map +0 -1
  202. package/dist/esm/calls/pool/market-making/strategy.js +0 -75
  203. package/dist/esm/calls/pool/market-making/strategy.js.map +0 -1
  204. package/dist/esm/entities/book/apis/open.js +0 -42
  205. package/dist/esm/entities/book/apis/open.js.map +0 -1
  206. package/dist/types/calls/pool/market-making/strategy.d.ts +0 -23
  207. package/dist/types/calls/pool/market-making/strategy.d.ts.map +0 -1
  208. package/dist/types/entities/book/apis/open.d.ts +0 -4
  209. package/dist/types/entities/book/apis/open.d.ts.map +0 -1
@@ -1,118 +1,243 @@
1
- import { formatUnits, getAddress, isAddressEqual } from 'viem';
1
+ import { getAddress, isAddressEqual } from 'viem';
2
2
  import { Subgraph } from '../../../constants/chain-configs/subgraph';
3
3
  import { getQuoteToken } from '../../../views';
4
4
  import { fetchTotalSupplyMap } from '../../currency/apis/total-supply';
5
5
  import { getDailyStartTimestampInSeconds } from '../../../utils/time';
6
+ import { convertTokenToDecimal } from '../../../utils/bigint';
6
7
  export const fetchMarketSnapshot = async (publicClient, chainId, token0, token1, timestampInSeconds) => {
7
8
  const dayStartTimestamp = getDailyStartTimestampInSeconds(timestampInSeconds);
8
- 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 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 } } }', {
9
10
  date: dayStartTimestamp,
10
11
  bases: [token0, token1].map((address) => address.toLowerCase()),
11
12
  quotes: [token0, token1].map((address) => address.toLowerCase()),
12
13
  });
13
14
  if (bookDayDatas.length >= 3) {
14
15
  // TODO: check fee policy if needed
15
- throw new Error('Too many bookDayDatas');
16
+ console.warn(`[fetchMarketSnapshot] too many bookDayDatas for ${token0}/${token1}`);
17
+ return null;
16
18
  }
17
19
  const totalSupplyMap = await fetchTotalSupplyMap(publicClient, chainId, [token0, token1].map((address) => getAddress(address)));
18
- 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({
19
21
  chainId,
20
22
  token0: getAddress(base.id),
21
23
  token1: getAddress(quote.id),
22
24
  })));
23
- 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({
26
+ chainId,
27
+ token0: getAddress(quote.id),
28
+ token1: getAddress(base.id),
29
+ })));
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);
34
+ return {
35
+ chainId,
36
+ marketId: `${dailyBidBookData.book.base.symbol}/${dailyBidBookData.book.quote.symbol}`,
37
+ base: {
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),
42
+ },
43
+ quote: {
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),
48
+ },
49
+ price: isBidNewer
50
+ ? Number(dailyBidBookData.book.price)
51
+ : Number(dailyAskBookData.book.inversePrice),
52
+ priceUSD: isBidNewer
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
64
+ : 0,
65
+ createdAtTimestamp: Math.min(Number(dailyBidBookData.book.createdAtTimestamp), Number(dailyAskBookData.book.createdAtTimestamp)),
66
+ fdv: baseTotalSupply *
67
+ (isBidNewer
68
+ ? Number(dailyBidBookData.book.base.priceUSD)
69
+ : Number(dailyAskBookData.book.quote.priceUSD)),
70
+ bidBookUpdatedAt: Number(dailyBidBookData.book.lastTakenTimestamp),
71
+ askBookUpdatedAt: Number(dailyAskBookData.book.lastTakenTimestamp),
72
+ };
73
+ }
74
+ else if (dailyBidBookData) {
75
+ const baseTotalSupply = convertTokenToDecimal(BigInt(totalSupplyMap[getAddress(dailyBidBookData.book.base.id)] ?? 0n), Number(dailyBidBookData.book.base.decimals));
76
+ return {
77
+ chainId,
78
+ marketId: `${dailyBidBookData.book.base.symbol}/${dailyBidBookData.book.quote.symbol}`,
79
+ base: {
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),
84
+ },
85
+ quote: {
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),
90
+ },
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
98
+ : 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,
103
+ };
104
+ }
105
+ else if (dailyAskBookData) {
106
+ const baseTotalSupply = convertTokenToDecimal(BigInt(totalSupplyMap[getAddress(dailyAskBookData.book.quote.id)] ?? 0n), Number(dailyAskBookData.book.quote.decimals));
107
+ return {
108
+ chainId,
109
+ marketId: `${dailyAskBookData.book.quote.symbol}/${dailyAskBookData.book.base.symbol}`,
110
+ base: {
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),
115
+ },
116
+ quote: {
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),
121
+ },
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
129
+ : 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({
24
147
  chainId,
25
148
  token0: getAddress(quote.id),
26
149
  token1: getAddress(base.id),
27
150
  })));
28
151
  if (bidBook && askBook) {
29
- const baseTotalSupply = Number(formatUnits(BigInt(totalSupplyMap[getAddress(bidBook.book.base.id)] ?? 0n), Number(bidBook.book.base.decimals)));
152
+ const baseTotalSupply = convertTokenToDecimal(BigInt(totalSupplyMap[getAddress(bidBook.base.id)] ?? 0n), Number(bidBook.base.decimals));
30
153
  return {
31
154
  chainId,
32
- marketId: `${bidBook.book.base.symbol}/${bidBook.book.quote.symbol}`,
155
+ marketId: `${bidBook.base.symbol}/${bidBook.quote.symbol}`,
33
156
  base: {
34
- address: getAddress(bidBook.book.base.id),
35
- name: bidBook.book.base.name,
36
- symbol: bidBook.book.base.symbol,
37
- decimals: Number(bidBook.book.base.decimals),
157
+ address: getAddress(bidBook.base.id),
158
+ name: bidBook.base.name,
159
+ symbol: bidBook.base.symbol,
160
+ decimals: Number(bidBook.base.decimals),
38
161
  },
39
162
  quote: {
40
- address: getAddress(bidBook.book.quote.id),
41
- name: bidBook.book.quote.name,
42
- symbol: bidBook.book.quote.symbol,
43
- decimals: Number(bidBook.book.quote.decimals),
163
+ address: getAddress(bidBook.quote.id),
164
+ name: bidBook.quote.name,
165
+ symbol: bidBook.quote.symbol,
166
+ decimals: Number(bidBook.quote.decimals),
44
167
  },
45
- price: Number(bidBook.book.price) || Number(askBook.book.inversePrice) || 0,
46
- priceUSD: Number(bidBook.book.base.priceUSD) ||
47
- Number(askBook.book.quote.priceUSD) ||
48
- 0,
49
- volume24hUSD: Number(bidBook.volumeUSD) + Number(askBook.volumeUSD),
50
- totalValueLockedUSD: Number(bidBook.book.totalValueLockedUSD) +
51
- Number(askBook.book.totalValueLockedUSD),
52
- priceChange24h: (Number(bidBook.close) / Number(bidBook.open) - 1) * 100 ||
53
- (Number(askBook.open) / Number(askBook.close) - 1) * 100 ||
54
- 0,
55
- createdAtTimestamp: Math.min(Number(bidBook.book.createdAtTimestamp), Number(askBook.book.createdAtTimestamp)),
56
- fdv: baseTotalSupply * Number(bidBook.book.base.priceUSD),
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),
57
178
  };
58
179
  }
59
180
  else if (bidBook) {
60
- const baseTotalSupply = Number(formatUnits(BigInt(totalSupplyMap[getAddress(bidBook.book.base.id)] ?? 0n), Number(bidBook.book.base.decimals)));
181
+ const baseTotalSupply = convertTokenToDecimal(BigInt(totalSupplyMap[getAddress(bidBook.base.id)] ?? 0n), Number(bidBook.base.decimals));
61
182
  return {
62
183
  chainId,
63
- marketId: `${bidBook.book.base.symbol}/${bidBook.book.quote.symbol}`,
184
+ marketId: `${bidBook.base.symbol}/${bidBook.quote.symbol}`,
64
185
  base: {
65
- address: getAddress(bidBook.book.base.id),
66
- name: bidBook.book.base.name,
67
- symbol: bidBook.book.base.symbol,
68
- decimals: Number(bidBook.book.base.decimals),
186
+ address: getAddress(bidBook.base.id),
187
+ name: bidBook.base.name,
188
+ symbol: bidBook.base.symbol,
189
+ decimals: Number(bidBook.base.decimals),
69
190
  },
70
191
  quote: {
71
- address: getAddress(bidBook.book.quote.id),
72
- name: bidBook.book.quote.name,
73
- symbol: bidBook.book.quote.symbol,
74
- decimals: Number(bidBook.book.quote.decimals),
192
+ address: getAddress(bidBook.quote.id),
193
+ name: bidBook.quote.name,
194
+ symbol: bidBook.quote.symbol,
195
+ decimals: Number(bidBook.quote.decimals),
75
196
  },
76
- price: Number(bidBook.book.price) || 0,
77
- priceUSD: Number(bidBook.book.base.priceUSD) || 0,
78
- volume24hUSD: Number(bidBook.volumeUSD) || 0,
79
- totalValueLockedUSD: Number(bidBook.book.totalValueLockedUSD) || 0,
80
- priceChange24h: (Number(bidBook.close) / Number(bidBook.open) - 1) * 100 || 0,
81
- createdAtTimestamp: Number(bidBook.book.createdAtTimestamp) || 0,
82
- fdv: baseTotalSupply * Number(bidBook.book.base.priceUSD) || 0,
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,
83
206
  };
84
207
  }
85
208
  else if (askBook) {
86
- const baseTotalSupply = Number(formatUnits(BigInt(totalSupplyMap[getAddress(askBook.book.quote.id)] ?? 0n), Number(askBook.book.quote.decimals)));
209
+ const baseTotalSupply = convertTokenToDecimal(BigInt(totalSupplyMap[getAddress(askBook.quote.id)] ?? 0n), Number(askBook.quote.decimals));
87
210
  return {
88
211
  chainId,
89
- marketId: `${askBook.book.quote.symbol}/${askBook.book.base.symbol}`,
212
+ marketId: `${askBook.quote.symbol}/${askBook.base.symbol}`,
90
213
  base: {
91
- address: getAddress(askBook.book.quote.id),
92
- name: askBook.book.quote.name,
93
- symbol: askBook.book.quote.symbol,
94
- decimals: Number(askBook.book.quote.decimals),
214
+ address: getAddress(askBook.quote.id),
215
+ name: askBook.quote.name,
216
+ symbol: askBook.quote.symbol,
217
+ decimals: Number(askBook.quote.decimals),
95
218
  },
96
219
  quote: {
97
- address: getAddress(askBook.book.base.id),
98
- name: askBook.book.base.name,
99
- symbol: askBook.book.base.symbol,
100
- decimals: Number(askBook.book.base.decimals),
220
+ address: getAddress(askBook.base.id),
221
+ name: askBook.base.name,
222
+ symbol: askBook.base.symbol,
223
+ decimals: Number(askBook.base.decimals),
101
224
  },
102
- price: Number(askBook.book.inversePrice) || 0,
103
- priceUSD: Number(askBook.book.quote.priceUSD) || 0,
104
- volume24hUSD: Number(askBook.volumeUSD) || 0,
105
- totalValueLockedUSD: Number(askBook.book.totalValueLockedUSD) || 0,
106
- priceChange24h: Number(askBook.open) / Number(askBook.close) - 1 || 0,
107
- createdAtTimestamp: Number(askBook.book.createdAtTimestamp) || 0,
108
- fdv: baseTotalSupply * Number(askBook.book.quote.priceUSD) || 0,
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),
109
234
  };
110
235
  }
111
- throw new Error('No bookDayDatas found');
236
+ return null;
112
237
  };
113
238
  export const fetchMarketSnapshots = async (publicClient, chainId, timestampInSeconds) => {
114
239
  const dayStartTimestamp = getDailyStartTimestampInSeconds(timestampInSeconds);
115
- const { data: { bookDayDatas }, } = await Subgraph.get(chainId, 'getTopMarketSnapshots', 'query getMarkets($date: Int!) { bookDayDatas( first: 200 orderBy: volumeUSD orderDirection: desc where: {date: $date} ) { volumeUSD open close book { id totalValueLockedUSD price inversePrice base { id name symbol decimals priceUSD } quote { id name symbol decimals priceUSD } createdAtTimestamp } } }', {
240
+ const { data: { bookDayDatas }, } = await Subgraph.get(chainId, 'getTopMarketSnapshots', 'query getMarkets($date: Int!) { bookDayDatas( first: 200 orderBy: volumeUSD orderDirection: desc where: {date: $date} ) { volumeUSD open close book { id totalValueLockedUSD price inversePrice lastTakenTimestamp base { id name symbol decimals priceUSD } quote { id name symbol decimals priceUSD } createdAtTimestamp } } }', {
116
241
  date: dayStartTimestamp,
117
242
  });
118
243
  const bidBookDayDataList = bookDayDatas.filter(({ book: { quote, base } }) => isAddressEqual(getAddress(quote.id), getQuoteToken({
@@ -148,28 +273,43 @@ export const fetchMarketSnapshots = async (publicClient, chainId, timestampInSec
148
273
  symbol: bidBook.book.base.symbol,
149
274
  decimals: Number(bidBook.book.base.decimals),
150
275
  };
151
- const askBookDayData = askBookDayDataList.find((askBook) => isAddressEqual(getAddress(askBook.book.quote.id), baseCurrency.address) &&
276
+ const askBook = askBookDayDataList.find((askBook) => isAddressEqual(getAddress(askBook.book.quote.id), baseCurrency.address) &&
152
277
  isAddressEqual(getAddress(askBook.book.base.id), quoteCurrency.address));
153
- const baseTotalSupply = Number(formatUnits(BigInt(totalSupplyMap[baseCurrency.address] ?? 0n), baseCurrency.decimals));
278
+ const baseTotalSupply = convertTokenToDecimal(BigInt(totalSupplyMap[baseCurrency.address] ?? 0n), baseCurrency.decimals);
279
+ const isBidNewer = Number(bidBook.book.lastTakenTimestamp) >=
280
+ Number(askBook?.book.lastTakenTimestamp ?? 0);
154
281
  return {
155
282
  chainId,
156
283
  marketId: `${baseCurrency.symbol}/${quoteCurrency.symbol}`,
157
284
  base: baseCurrency,
158
285
  quote: quoteCurrency,
159
- price: Number(bidBook.book.price),
160
- priceUSD: Number(bidBook.book.base.priceUSD),
161
- priceChange24h: (Number(bidBook.close) / Number(bidBook.open) - 1) * 100,
162
- volume24hUSD: askBookDayData
163
- ? Number(askBookDayData.volumeUSD) + Number(bidBook.volumeUSD)
286
+ price: isBidNewer
287
+ ? Number(bidBook.book.price)
288
+ : Number(askBook?.book.inversePrice),
289
+ priceUSD: isBidNewer
290
+ ? Number(bidBook.book.price) * Number(bidBook.book.quote.priceUSD)
291
+ : Number(askBook?.book.inversePrice) *
292
+ Number(askBook?.book.base.priceUSD),
293
+ priceChange24h: isBidNewer && Number(bidBook.open) > 0
294
+ ? Number(bidBook.close) / Number(bidBook.open) - 1
295
+ : !isBidNewer && askBook && Number(askBook.close) > 0
296
+ ? Number(askBook.open) / Number(askBook.close) - 1
297
+ : 0,
298
+ volume24hUSD: askBook
299
+ ? Number(askBook.volumeUSD) + Number(bidBook.volumeUSD)
164
300
  : Number(bidBook.volumeUSD),
165
- totalValueLockedUSD: askBookDayData
166
- ? Number(askBookDayData.book.totalValueLockedUSD) +
301
+ totalValueLockedUSD: askBook
302
+ ? Number(askBook.book.totalValueLockedUSD) +
167
303
  Number(bidBook.book.totalValueLockedUSD)
168
304
  : Number(bidBook.book.totalValueLockedUSD),
169
- createdAtTimestamp: askBookDayData
170
- ? Math.min(Number(bidBook.book.createdAtTimestamp), Number(askBookDayData.book.createdAtTimestamp))
305
+ createdAtTimestamp: askBook
306
+ ? Math.min(Number(bidBook.book.createdAtTimestamp), Number(askBook.book.createdAtTimestamp))
171
307
  : Number(bidBook.book.createdAtTimestamp),
172
- fdv: baseTotalSupply * Number(bidBook.book.base.priceUSD),
308
+ fdv: isBidNewer
309
+ ? baseTotalSupply * Number(bidBook.book.base.priceUSD)
310
+ : baseTotalSupply * Number(askBook?.book.quote.priceUSD),
311
+ bidBookUpdatedAt: Number(bidBook.book.lastTakenTimestamp),
312
+ askBookUpdatedAt: Number(askBook?.book.lastTakenTimestamp ?? 0),
173
313
  };
174
314
  }),
175
315
  ...askBookDayDataList.map((askBook) => {
@@ -187,15 +327,26 @@ export const fetchMarketSnapshots = async (publicClient, chainId, timestampInSec
187
327
  };
188
328
  const bidBook = bidBookDayDataList.find((bidBook) => isAddressEqual(getAddress(bidBook.book.quote.id), quoteCurrency.address) &&
189
329
  isAddressEqual(getAddress(bidBook.book.base.id), baseCurrency.address));
190
- const baseTotalSupply = Number(formatUnits(BigInt(totalSupplyMap[baseCurrency.address] ?? 0n), baseCurrency.decimals));
330
+ const baseTotalSupply = convertTokenToDecimal(BigInt(totalSupplyMap[baseCurrency.address] ?? 0n), baseCurrency.decimals);
331
+ const isBidNewer = Number(bidBook?.book.lastTakenTimestamp ?? 0) >=
332
+ Number(askBook.book.lastTakenTimestamp);
191
333
  return {
192
334
  chainId,
193
335
  marketId: `${baseCurrency.symbol}/${quoteCurrency.symbol}`,
194
336
  base: baseCurrency,
195
337
  quote: quoteCurrency,
196
- price: Number(askBook.book.inversePrice),
197
- priceUSD: Number(askBook.book.quote.priceUSD),
198
- priceChange24h: Number(askBook.open) / Number(askBook.close) - 1,
338
+ price: isBidNewer
339
+ ? Number(bidBook?.book.price)
340
+ : Number(askBook.book.inversePrice),
341
+ priceUSD: isBidNewer
342
+ ? Number(bidBook?.book.price) * Number(bidBook?.book.quote.priceUSD)
343
+ : Number(askBook.book.inversePrice) *
344
+ Number(askBook.book.base.priceUSD),
345
+ priceChange24h: isBidNewer && bidBook && Number(bidBook.open) > 0
346
+ ? Number(bidBook.close) / Number(bidBook.open) - 1
347
+ : !isBidNewer && Number(askBook.close) > 0
348
+ ? Number(askBook.open) / Number(askBook.close) - 1
349
+ : 0,
199
350
  volume24hUSD: bidBook
200
351
  ? Number(askBook.volumeUSD) + Number(bidBook.volumeUSD)
201
352
  : Number(askBook.volumeUSD),
@@ -206,11 +357,15 @@ export const fetchMarketSnapshots = async (publicClient, chainId, timestampInSec
206
357
  createdAtTimestamp: bidBook
207
358
  ? Math.min(Number(askBook.book.createdAtTimestamp), Number(bidBook.book.createdAtTimestamp))
208
359
  : Number(askBook.book.createdAtTimestamp),
209
- fdv: baseTotalSupply * Number(askBook.book.quote.priceUSD),
360
+ fdv: isBidNewer
361
+ ? baseTotalSupply * Number(bidBook?.book.base.priceUSD)
362
+ : baseTotalSupply * Number(askBook.book.quote.priceUSD),
363
+ bidBookUpdatedAt: Number(bidBook?.book.lastTakenTimestamp ?? 0),
364
+ askBookUpdatedAt: Number(askBook.book.lastTakenTimestamp),
210
365
  };
211
366
  }),
212
367
  ]
213
- .filter(({ price }) => price > 0)
368
+ .filter(({ priceUSD }) => priceUSD > 0)
214
369
  .filter((market, index, self) => self.findIndex((m) => m.marketId === market.marketId) === index);
215
370
  };
216
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,5 +1,5 @@
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');
@@ -7,7 +7,7 @@ export const getMarketId = (chainId, tokenAddresses) => {
7
7
  tokenAddresses = tokenAddresses.map((address) => getAddress(address)).sort();
8
8
  // include stable coin
9
9
  const stable = tokenAddresses.find((address) => {
10
- return STABLE_COIN_ADDRESSES[chainId].map((addresses) => getAddress(addresses)).some((addresses) => addresses.includes(address));
10
+ return STABLE_COINS[chainId].map(({ address }) => getAddress(address)).some((addresses) => addresses.includes(address));
11
11
  });
12
12
  if (stable) {
13
13
  const other = tokenAddresses.find((address) => !isAddressEqual(address, stable));
@@ -1 +1 @@
1
- {"version":3,"file":"market-id.js","sourceRoot":"","sources":["../../../../../src/entities/market/utils/market-id.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,MAAM,CAAA;AAE9D,OAAO,EACL,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,2CAA2C,CAAA;AAGlD,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,OAAkB,EAClB,cAA+B,EAK/B,EAAE;IACF,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;IACvC,CAAC;IACD,cAAc,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;IAE5E,sBAAsB;IACtB,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7C,OAAO,qBAAqB,CAAC,OAAO,CAAE,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CACvD,UAAU,CAAC,SAAS,CAAC,CACtB,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;IACpD,CAAC,CAAC,CAAA;IACF,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAC/B,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAC7C,CAAA;QACF,OAAO;YACL,QAAQ,EAAE,GAAG,KAAK,IAAI,MAAM,EAAE;YAC9B,iBAAiB,EAAE,MAAM;YACzB,gBAAgB,EAAE,KAAK;SACxB,CAAA;IACH,CAAC;IAED,cAAc;IACd,MAAM,GAAG,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAC1C,cAAc,CAAC,OAAO,EAAE,WAAW,CAAC,CACrC,CAAA;IACD,IAAI,GAAG,EAAE,CAAC;QACR,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAC/B,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,OAAO,EAAE,WAAW,CAAC,CAClD,CAAA;QACF,OAAO;YACL,QAAQ,EAAE,GAAG,KAAK,IAAI,GAAG,EAAE;YAC3B,iBAAiB,EAAE,GAAG;YACtB,gBAAgB,EAAE,KAAK;SACxB,CAAA;IACH,CAAC;IAED,eAAe;IACf,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAC3C,cAAc,CAAC,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAC7D,CAAA;IACD,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAC/B,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAC3C,CAAA;QACF,OAAO;YACL,QAAQ,EAAE,GAAG,KAAK,IAAI,IAAI,EAAE;YAC5B,iBAAiB,EAAE,IAAI;YACvB,gBAAgB,EAAE,KAAK;SACxB,CAAA;IACH,CAAC;IAED,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAA;IACjE,OAAO;QACL,QAAQ,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;QACvC,iBAAiB,EAAE,OAAO,CAAC,CAAC,CAAE;QAC9B,gBAAgB,EAAE,OAAO,CAAC,CAAC,CAAE;KAC9B,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"market-id.js","sourceRoot":"","sources":["../../../../../src/entities/market/utils/market-id.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,MAAM,CAAA;AAE9D,OAAO,EACL,YAAY,EACZ,kBAAkB,GACnB,MAAM,2CAA2C,CAAA;AAGlD,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,OAAkB,EAClB,cAA+B,EAK/B,EAAE;IACF,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;IACvC,CAAC;IACD,cAAc,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;IAE5E,sBAAsB;IACtB,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7C,OAAO,YAAY,CAAC,OAAO,CAAE,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAChD,UAAU,CAAC,OAAO,CAAC,CACpB,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;IACpD,CAAC,CAAC,CAAA;IACF,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAC/B,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAC7C,CAAA;QACF,OAAO;YACL,QAAQ,EAAE,GAAG,KAAK,IAAI,MAAM,EAAE;YAC9B,iBAAiB,EAAE,MAAM;YACzB,gBAAgB,EAAE,KAAK;SACxB,CAAA;IACH,CAAC;IAED,cAAc;IACd,MAAM,GAAG,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAC1C,cAAc,CAAC,OAAO,EAAE,WAAW,CAAC,CACrC,CAAA;IACD,IAAI,GAAG,EAAE,CAAC;QACR,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAC/B,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,OAAO,EAAE,WAAW,CAAC,CAClD,CAAA;QACF,OAAO;YACL,QAAQ,EAAE,GAAG,KAAK,IAAI,GAAG,EAAE;YAC3B,iBAAiB,EAAE,GAAG;YACtB,gBAAgB,EAAE,KAAK;SACxB,CAAA;IACH,CAAC;IAED,eAAe;IACf,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAC3C,cAAc,CAAC,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAC7D,CAAA;IACD,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAC/B,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAC3C,CAAA;QACF,OAAO;YACL,QAAQ,EAAE,GAAG,KAAK,IAAI,IAAI,EAAE;YAC5B,iBAAiB,EAAE,IAAI;YACvB,gBAAgB,EAAE,KAAK;SACxB,CAAA;IACH,CAAC;IAED,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAA;IACjE,OAAO;QACL,QAAQ,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;QACvC,iBAAiB,EAAE,OAAO,CAAC,CAAC,CAAE;QAC9B,gBAAgB,EAAE,OAAO,CAAC,CAAC,CAAE;KAC9B,CAAA;AACH,CAAC,CAAA"}
@@ -1,9 +1,11 @@
1
+ import { getAddress } from 'viem';
1
2
  import { CONTRACT_ADDRESSES } from '../../../constants/chain-configs/addresses';
2
3
  import { REBALANCER_ABI } from '../../../constants/abis/rebalancer/rebalancer-abi';
3
4
  import { STRATEGY_ABI } from '../../../constants/abis/rebalancer/strategy-abi';
4
5
  import { fetchMarket } from '../../market/apis';
5
6
  import { PoolModel } from '../model';
6
7
  import { toPoolKey } from '../utils/pool-key';
8
+ import { WRAPPED_6909_FACTORY_ABI } from '../../../constants/abis/rebalancer/wrapped-6909-factory-abi';
7
9
  export async function fetchPool(publicClient, chainId, tokenAddresses, salt, useSubgraph, market) {
8
10
  if (tokenAddresses.length !== 2) {
9
11
  throw new Error('Invalid token pair');
@@ -12,7 +14,7 @@ export async function fetchPool(publicClient, chainId, tokenAddresses, salt, use
12
14
  market = (await fetchMarket(publicClient, chainId, tokenAddresses, useSubgraph)).toJson();
13
15
  }
14
16
  const poolKey = toPoolKey(BigInt(market.bidBook.id), BigInt(market.askBook.id), salt);
15
- const [{ bookIdA, bookIdB, reserveA, reserveB, orderListA, orderListB }, totalSupply, [totalLiquidityA, totalLiquidityB], paused,] = await publicClient.multicall({
17
+ const [{ bookIdA, bookIdB, reserveA, reserveB, orderListA, orderListB }, totalSupply, [totalLiquidityA, totalLiquidityB], paused, wrapped6909Address,] = await publicClient.multicall({
16
18
  allowFailure: false,
17
19
  contracts: [
18
20
  {
@@ -39,6 +41,12 @@ export async function fetchPool(publicClient, chainId, tokenAddresses, salt, use
39
41
  functionName: 'isPaused',
40
42
  args: [poolKey],
41
43
  },
44
+ {
45
+ address: CONTRACT_ADDRESSES[chainId].Wrapped6909Factory,
46
+ abi: WRAPPED_6909_FACTORY_ABI,
47
+ functionName: 'getWrapped6909Address',
48
+ args: [CONTRACT_ADDRESSES[chainId].Rebalancer, BigInt(poolKey)],
49
+ },
42
50
  ],
43
51
  });
44
52
  const liquidityA = totalLiquidityA.reserve +
@@ -54,6 +62,8 @@ export async function fetchPool(publicClient, chainId, tokenAddresses, salt, use
54
62
  bookIdA,
55
63
  bookIdB,
56
64
  poolKey,
65
+ wrappedTokenAddress: getAddress(wrapped6909Address),
66
+ salt,
57
67
  totalSupply: BigInt(totalSupply),
58
68
  decimals: 18,
59
69
  liquidityA: BigInt(liquidityA),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/entities/pool/apis/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/entities/pool/apis/index.ts"],"names":[],"mappings":"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"}