@1stdex/first-sdk 1.0.19 → 1.0.21

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.
@@ -56,7 +56,7 @@ const placeMarketMakingQuotes = async ({ chainId, userAddress, bidQuotes, askQuo
56
56
  const transaction = await openMarket({
57
57
  chainId: ${chainId},
58
58
  inputToken: '${market.quote.address}',
59
- outputToken: '${market.base.address}',
59
+ outputToken: '${market.base.address}',
60
60
  })
61
61
  `);
62
62
  }
@@ -68,12 +68,15 @@ const placeMarketMakingQuotes = async ({ chainId, userAddress, bidQuotes, askQuo
68
68
  const transaction = await openMarket({
69
69
  chainId: ${chainId},
70
70
  inputToken: '${market.base.address}',
71
- outputToken: '${market.quote.address}',
71
+ outputToken: '${market.quote.address}',
72
72
  })
73
73
  `);
74
74
  }
75
- const provider = options && options.provider && (0, viem_1.isAddress)(options.provider)
76
- ? (0, viem_1.getAddress)(options.provider)
75
+ const buyProvider = options && options.buyProvider && (0, viem_1.isAddress)(options.buyProvider)
76
+ ? (0, viem_1.getAddress)(options.buyProvider)
77
+ : viem_1.zeroAddress;
78
+ const sellProvider = options && options.sellProvider && (0, viem_1.isAddress)(options.sellProvider)
79
+ ? (0, viem_1.getAddress)(options.sellProvider)
77
80
  : viem_1.zeroAddress;
78
81
  const referrer = options && options.referrer && (0, viem_1.isAddress)(options.referrer)
79
82
  ? (0, viem_1.getAddress)(options.referrer)
@@ -90,7 +93,7 @@ const placeMarketMakingQuotes = async ({ chainId, userAddress, bidQuotes, askQuo
90
93
  id: BigInt(market.bidBook.id),
91
94
  tick: roundingUpMakeBid ? Number(bidTick + 1n) : Number(bidTick),
92
95
  quoteAmount: (0, viem_1.parseUnits)(quote.amount, market.quote.decimals),
93
- provider,
96
+ provider: buyProvider,
94
97
  referrer,
95
98
  owner,
96
99
  isNative: (0, viem_1.isAddressEqual)(market.quote.address, viem_1.zeroAddress),
@@ -107,7 +110,7 @@ const placeMarketMakingQuotes = async ({ chainId, userAddress, bidQuotes, askQuo
107
110
  id: BigInt(market.askBook.id),
108
111
  tick: roundingDownMakeAsk ? Number(askTick - 1n) : Number(askTick),
109
112
  quoteAmount: (0, viem_1.parseUnits)(quote.amount, market.base.decimals),
110
- provider,
113
+ provider: sellProvider,
111
114
  referrer,
112
115
  owner,
113
116
  isNative: (0, viem_1.isAddressEqual)(market.base.address, viem_1.zeroAddress),
@@ -1 +1 @@
1
- {"version":3,"file":"make.js","sourceRoot":"","sources":["../../../../src/calls/market/make.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"make.js","sourceRoot":"","sources":["../../../../src/calls/market/make.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ const time_1 = require("../../../utils/time");
9
9
  const bigint_1 = require("../../../utils/bigint");
10
10
  const fetchMarketSnapshot = async (publicClient, chainId, token0, token1, timestampInSeconds) => {
11
11
  const dayStartTimestamp = (0, time_1.getDailyStartTimestampInSeconds)(timestampInSeconds);
12
- const { data: { books, bookDayDatas }, } = await subgraph_1.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 } } }', {
12
+ const { data: { books, bookDayDatas }, } = await subgraph_1.Subgraph.get(chainId, 'getTopMarketSnapshot', 'query getMarkets($date: Int!, $bases: [String!]!, $quotes: [String!]!) { books: books(where: {base_in: $bases, quote_in: $quotes}) { price inversePrice makerFee takerFee totalValueLockedUSD lastTakenTimestamp createdAtTimestamp 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 makerFee takerFee lastTakenTimestamp base { id name symbol decimals priceUSD } quote { id name symbol decimals priceUSD } createdAtTimestamp } } }', {
13
13
  date: dayStartTimestamp,
14
14
  bases: [token0, token1].map((address) => address.toLowerCase()),
15
15
  quotes: [token0, token1].map((address) => address.toLowerCase()),
@@ -18,7 +18,10 @@ const fetchMarketSnapshot = async (publicClient, chainId, token0, token1, timest
18
18
  console.warn(`[fetchMarketSnapshot] too many bookDayDatas for ${token0}/${token1}`);
19
19
  return null;
20
20
  }
21
- const totalSupplyMap = await (0, total_supply_1.fetchTotalSupplyMap)(publicClient, chainId, [token0, token1].map((address) => (0, viem_1.getAddress)(address)));
21
+ if (books.length != 2) {
22
+ console.warn(`[fetchMarketSnapshot] wrong number of books (${books.length}) for ${token0}/${token1}`);
23
+ return null;
24
+ }
22
25
  const dailyBidBookData = bookDayDatas.find(({ book: { quote, base } }) => (0, viem_1.isAddressEqual)((0, viem_1.getAddress)(quote.id), (0, views_1.getQuoteToken)({
23
26
  chainId,
24
27
  token0: (0, viem_1.getAddress)(base.id),
@@ -29,116 +32,6 @@ const fetchMarketSnapshot = async (publicClient, chainId, token0, token1, timest
29
32
  token0: (0, viem_1.getAddress)(quote.id),
30
33
  token1: (0, viem_1.getAddress)(base.id),
31
34
  })));
32
- if (dailyBidBookData && dailyAskBookData) {
33
- const baseTotalSupply = (0, bigint_1.convertTokenToDecimal)(BigInt(totalSupplyMap[(0, viem_1.getAddress)(dailyBidBookData.book.base.id)] ?? 0n), Number(dailyBidBookData.book.base.decimals));
34
- const isBidNewer = Number(dailyBidBookData.book.lastTakenTimestamp) >=
35
- Number(dailyAskBookData.book.lastTakenTimestamp);
36
- return {
37
- chainId,
38
- marketId: `${dailyBidBookData.book.base.symbol}/${dailyBidBookData.book.quote.symbol}`,
39
- base: {
40
- address: (0, viem_1.getAddress)(dailyBidBookData.book.base.id),
41
- name: dailyBidBookData.book.base.name,
42
- symbol: dailyBidBookData.book.base.symbol,
43
- decimals: Number(dailyBidBookData.book.base.decimals),
44
- },
45
- quote: {
46
- address: (0, viem_1.getAddress)(dailyBidBookData.book.quote.id),
47
- name: dailyBidBookData.book.quote.name,
48
- symbol: dailyBidBookData.book.quote.symbol,
49
- decimals: Number(dailyBidBookData.book.quote.decimals),
50
- },
51
- price: isBidNewer
52
- ? Number(dailyBidBookData.book.price)
53
- : Number(dailyAskBookData.book.inversePrice),
54
- priceUSD: isBidNewer
55
- ? Number(dailyBidBookData.book.price) *
56
- Number(dailyBidBookData.book.quote.priceUSD)
57
- : Number(dailyAskBookData.book.inversePrice) *
58
- Number(dailyAskBookData.book.base.priceUSD),
59
- volume24hUSD: Number(dailyBidBookData.volumeUSD) + Number(dailyAskBookData.volumeUSD),
60
- totalValueLockedUSD: Number(dailyBidBookData.book.totalValueLockedUSD) +
61
- Number(dailyAskBookData.book.totalValueLockedUSD),
62
- priceChange24h: isBidNewer && Number(dailyBidBookData.open) > 0
63
- ? Number(dailyBidBookData.close) / Number(dailyBidBookData.open) - 1
64
- : !isBidNewer && Number(dailyAskBookData.close) > 0
65
- ? Number(dailyAskBookData.open) / Number(dailyAskBookData.close) - 1
66
- : 0,
67
- createdAtTimestamp: Math.min(Number(dailyBidBookData.book.createdAtTimestamp), Number(dailyAskBookData.book.createdAtTimestamp)),
68
- fdv: baseTotalSupply *
69
- (isBidNewer
70
- ? Number(dailyBidBookData.book.base.priceUSD)
71
- : Number(dailyAskBookData.book.quote.priceUSD)),
72
- bidBookUpdatedAt: Number(dailyBidBookData.book.lastTakenTimestamp),
73
- askBookUpdatedAt: Number(dailyAskBookData.book.lastTakenTimestamp),
74
- };
75
- }
76
- else if (dailyBidBookData) {
77
- const baseTotalSupply = (0, bigint_1.convertTokenToDecimal)(BigInt(totalSupplyMap[(0, viem_1.getAddress)(dailyBidBookData.book.base.id)] ?? 0n), Number(dailyBidBookData.book.base.decimals));
78
- return {
79
- chainId,
80
- marketId: `${dailyBidBookData.book.base.symbol}/${dailyBidBookData.book.quote.symbol}`,
81
- base: {
82
- address: (0, viem_1.getAddress)(dailyBidBookData.book.base.id),
83
- name: dailyBidBookData.book.base.name,
84
- symbol: dailyBidBookData.book.base.symbol,
85
- decimals: Number(dailyBidBookData.book.base.decimals),
86
- },
87
- quote: {
88
- address: (0, viem_1.getAddress)(dailyBidBookData.book.quote.id),
89
- name: dailyBidBookData.book.quote.name,
90
- symbol: dailyBidBookData.book.quote.symbol,
91
- decimals: Number(dailyBidBookData.book.quote.decimals),
92
- },
93
- price: Number(dailyBidBookData.book.price) || 0,
94
- priceUSD: Number(dailyBidBookData.book.price) *
95
- Number(dailyBidBookData.book.quote.priceUSD),
96
- volume24hUSD: Number(dailyBidBookData.volumeUSD) || 0,
97
- totalValueLockedUSD: Number(dailyBidBookData.book.totalValueLockedUSD) || 0,
98
- priceChange24h: Number(dailyBidBookData.open) > 0
99
- ? Number(dailyBidBookData.close) / Number(dailyBidBookData.open) - 1
100
- : 0,
101
- createdAtTimestamp: Number(dailyBidBookData.book.createdAtTimestamp) || 0,
102
- fdv: baseTotalSupply * Number(dailyBidBookData.book.base.priceUSD) || 0,
103
- bidBookUpdatedAt: Number(dailyBidBookData.book.lastTakenTimestamp) || 0,
104
- askBookUpdatedAt: 0,
105
- };
106
- }
107
- else if (dailyAskBookData) {
108
- const baseTotalSupply = (0, bigint_1.convertTokenToDecimal)(BigInt(totalSupplyMap[(0, viem_1.getAddress)(dailyAskBookData.book.quote.id)] ?? 0n), Number(dailyAskBookData.book.quote.decimals));
109
- return {
110
- chainId,
111
- marketId: `${dailyAskBookData.book.quote.symbol}/${dailyAskBookData.book.base.symbol}`,
112
- base: {
113
- address: (0, viem_1.getAddress)(dailyAskBookData.book.quote.id),
114
- name: dailyAskBookData.book.quote.name,
115
- symbol: dailyAskBookData.book.quote.symbol,
116
- decimals: Number(dailyAskBookData.book.quote.decimals),
117
- },
118
- quote: {
119
- address: (0, viem_1.getAddress)(dailyAskBookData.book.base.id),
120
- name: dailyAskBookData.book.base.name,
121
- symbol: dailyAskBookData.book.base.symbol,
122
- decimals: Number(dailyAskBookData.book.base.decimals),
123
- },
124
- price: Number(dailyAskBookData.book.inversePrice) || 0,
125
- priceUSD: Number(dailyAskBookData.book.inversePrice) *
126
- Number(dailyAskBookData.book.base.priceUSD),
127
- volume24hUSD: Number(dailyAskBookData.volumeUSD) || 0,
128
- totalValueLockedUSD: Number(dailyAskBookData.book.totalValueLockedUSD) || 0,
129
- priceChange24h: Number(dailyAskBookData.close) > 0
130
- ? Number(dailyAskBookData.open) / Number(dailyAskBookData.close) - 1
131
- : 0,
132
- createdAtTimestamp: Number(dailyAskBookData.book.createdAtTimestamp) || 0,
133
- fdv: baseTotalSupply * Number(dailyAskBookData.book.quote.priceUSD) || 0,
134
- bidBookUpdatedAt: 0,
135
- askBookUpdatedAt: Number(dailyAskBookData.book.lastTakenTimestamp) || 0,
136
- };
137
- }
138
- if (books.length >= 3) {
139
- console.warn(`[fetchMarketSnapshot] too many books for ${token0}/${token1}`);
140
- return null;
141
- }
142
35
  const bidBook = books.find(({ quote, base }) => (0, viem_1.isAddressEqual)((0, viem_1.getAddress)(quote.id), (0, views_1.getQuoteToken)({
143
36
  chainId,
144
37
  token0: (0, viem_1.getAddress)(base.id),
@@ -149,97 +42,84 @@ const fetchMarketSnapshot = async (publicClient, chainId, token0, token1, timest
149
42
  token0: (0, viem_1.getAddress)(quote.id),
150
43
  token1: (0, viem_1.getAddress)(base.id),
151
44
  })));
152
- if (bidBook && askBook) {
153
- const baseTotalSupply = (0, bigint_1.convertTokenToDecimal)(BigInt(totalSupplyMap[(0, viem_1.getAddress)(bidBook.base.id)] ?? 0n), Number(bidBook.base.decimals));
154
- return {
155
- chainId,
156
- marketId: `${bidBook.base.symbol}/${bidBook.quote.symbol}`,
157
- base: {
158
- address: (0, viem_1.getAddress)(bidBook.base.id),
159
- name: bidBook.base.name,
160
- symbol: bidBook.base.symbol,
161
- decimals: Number(bidBook.base.decimals),
162
- },
163
- quote: {
164
- address: (0, viem_1.getAddress)(bidBook.quote.id),
165
- name: bidBook.quote.name,
166
- symbol: bidBook.quote.symbol,
167
- decimals: Number(bidBook.quote.decimals),
168
- },
169
- price: Number(bidBook.price),
170
- priceUSD: Number(bidBook.price) * Number(bidBook.quote.priceUSD),
171
- volume24hUSD: 0,
172
- totalValueLockedUSD: Number(bidBook.totalValueLockedUSD) +
173
- Number(askBook.totalValueLockedUSD),
174
- priceChange24h: 0,
175
- createdAtTimestamp: Math.min(Number(bidBook.lastTakenTimestamp), Number(askBook.lastTakenTimestamp)),
176
- fdv: baseTotalSupply * Number(bidBook.quote.priceUSD),
177
- bidBookUpdatedAt: Number(bidBook.lastTakenTimestamp),
178
- askBookUpdatedAt: Number(askBook.lastTakenTimestamp),
179
- };
45
+ if (!bidBook || !askBook) {
46
+ console.log('[fetchMarketSnapshot] No bidBook or askBook');
47
+ return null;
180
48
  }
181
- else if (bidBook) {
182
- const baseTotalSupply = (0, bigint_1.convertTokenToDecimal)(BigInt(totalSupplyMap[(0, viem_1.getAddress)(bidBook.base.id)] ?? 0n), Number(bidBook.base.decimals));
183
- return {
184
- chainId,
185
- marketId: `${bidBook.base.symbol}/${bidBook.quote.symbol}`,
186
- base: {
187
- address: (0, viem_1.getAddress)(bidBook.base.id),
188
- name: bidBook.base.name,
189
- symbol: bidBook.base.symbol,
190
- decimals: Number(bidBook.base.decimals),
191
- },
192
- quote: {
193
- address: (0, viem_1.getAddress)(bidBook.quote.id),
194
- name: bidBook.quote.name,
195
- symbol: bidBook.quote.symbol,
196
- decimals: Number(bidBook.quote.decimals),
197
- },
198
- price: Number(bidBook.price),
199
- priceUSD: Number(bidBook.price) * Number(bidBook.quote.priceUSD),
200
- volume24hUSD: 0,
201
- totalValueLockedUSD: Number(bidBook.totalValueLockedUSD),
202
- priceChange24h: 0,
203
- createdAtTimestamp: Number(bidBook.lastTakenTimestamp),
204
- fdv: baseTotalSupply * Number(bidBook.quote.priceUSD),
205
- bidBookUpdatedAt: Number(bidBook.lastTakenTimestamp),
206
- askBookUpdatedAt: 0,
207
- };
49
+ const isBidNewer = bidBook &&
50
+ askBook &&
51
+ Number(bidBook.lastTakenTimestamp) >= Number(askBook.lastTakenTimestamp);
52
+ const price = isBidNewer
53
+ ? Number(bidBook?.price)
54
+ : Number(askBook?.inversePrice);
55
+ const priceUSD = isBidNewer
56
+ ? Number(bidBook?.price) * Number(bidBook?.quote.priceUSD)
57
+ : Number(askBook?.inversePrice) * Number(askBook?.base.priceUSD);
58
+ const baseTotalSupplyRaw = await (0, total_supply_1.fetchTotalSupply)(publicClient, chainId, (0, viem_1.getAddress)(bidBook.base.id));
59
+ const baseTotalSupply = (0, bigint_1.convertTokenToDecimal)(BigInt(baseTotalSupplyRaw ?? 0n), Number(bidBook.base.decimals));
60
+ const fdv = baseTotalSupply * priceUSD;
61
+ let volume24hUSD = 0;
62
+ let priceChange24h = 0;
63
+ if (dailyBidBookData && dailyAskBookData) {
64
+ volume24hUSD =
65
+ Number(dailyBidBookData.volumeUSD) + Number(dailyAskBookData.volumeUSD);
66
+ priceChange24h =
67
+ isBidNewer && Number(dailyBidBookData.open) > 0
68
+ ? Number(dailyBidBookData.close) / Number(dailyBidBookData.open) - 1
69
+ : !isBidNewer && Number(dailyAskBookData.close) > 0
70
+ ? Number(dailyAskBookData.open) / Number(dailyAskBookData.close) - 1
71
+ : 0;
208
72
  }
209
- else if (askBook) {
210
- const baseTotalSupply = (0, bigint_1.convertTokenToDecimal)(BigInt(totalSupplyMap[(0, viem_1.getAddress)(askBook.quote.id)] ?? 0n), Number(askBook.quote.decimals));
211
- return {
212
- chainId,
213
- marketId: `${askBook.quote.symbol}/${askBook.base.symbol}`,
214
- base: {
215
- address: (0, viem_1.getAddress)(askBook.quote.id),
216
- name: askBook.quote.name,
217
- symbol: askBook.quote.symbol,
218
- decimals: Number(askBook.quote.decimals),
219
- },
220
- quote: {
221
- address: (0, viem_1.getAddress)(askBook.base.id),
222
- name: askBook.base.name,
223
- symbol: askBook.base.symbol,
224
- decimals: Number(askBook.base.decimals),
225
- },
226
- price: Number(askBook.inversePrice),
227
- priceUSD: Number(askBook.inversePrice) * Number(askBook.base.priceUSD),
228
- volume24hUSD: 0,
229
- totalValueLockedUSD: Number(askBook.totalValueLockedUSD),
230
- priceChange24h: 0,
231
- createdAtTimestamp: Number(askBook.lastTakenTimestamp),
232
- fdv: baseTotalSupply * Number(askBook.quote.priceUSD),
233
- bidBookUpdatedAt: 0,
234
- askBookUpdatedAt: Number(askBook.lastTakenTimestamp),
235
- };
73
+ else if (dailyBidBookData) {
74
+ volume24hUSD = Number(dailyBidBookData.volumeUSD);
75
+ priceChange24h =
76
+ Number(dailyBidBookData.open) > 0
77
+ ? Number(dailyBidBookData.close) / Number(dailyBidBookData.open) - 1
78
+ : 0;
79
+ }
80
+ else if (dailyAskBookData) {
81
+ volume24hUSD = Number(dailyAskBookData.volumeUSD);
82
+ priceChange24h =
83
+ Number(dailyAskBookData.close) > 0
84
+ ? Number(dailyAskBookData.open) / Number(dailyAskBookData.close) - 1
85
+ : 0;
86
+ }
87
+ else {
88
+ volume24hUSD = 0;
89
+ priceChange24h = 0;
236
90
  }
237
- return null;
91
+ return {
92
+ chainId,
93
+ marketId: `${bidBook.base.symbol}/${bidBook.quote.symbol}`,
94
+ base: {
95
+ address: (0, viem_1.getAddress)(bidBook.base.id),
96
+ name: bidBook.base.name,
97
+ symbol: bidBook.base.symbol,
98
+ decimals: Number(bidBook.base.decimals),
99
+ },
100
+ quote: {
101
+ address: (0, viem_1.getAddress)(bidBook.quote.id),
102
+ name: bidBook.quote.name,
103
+ symbol: bidBook.quote.symbol,
104
+ decimals: Number(bidBook.quote.decimals),
105
+ },
106
+ buyFee: Number(bidBook.makerFee),
107
+ sellFee: Number(bidBook.takerFee),
108
+ price: price,
109
+ priceUSD: priceUSD,
110
+ volume24hUSD: volume24hUSD,
111
+ totalValueLockedUSD: Number(bidBook.totalValueLockedUSD) + Number(askBook.totalValueLockedUSD),
112
+ priceChange24h: priceChange24h,
113
+ createdAtTimestamp: Math.min(Number(bidBook.createdAtTimestamp), Number(askBook.createdAtTimestamp)),
114
+ fdv: fdv,
115
+ bidBookUpdatedAt: Number(bidBook.lastTakenTimestamp),
116
+ askBookUpdatedAt: Number(askBook.lastTakenTimestamp),
117
+ };
238
118
  };
239
119
  exports.fetchMarketSnapshot = fetchMarketSnapshot;
240
120
  const fetchMarketSnapshots = async (publicClient, chainId, timestampInSeconds) => {
241
121
  const dayStartTimestamp = (0, time_1.getDailyStartTimestampInSeconds)(timestampInSeconds);
242
- const { data: { bookDayDatas }, } = await subgraph_1.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 } } }', {
122
+ const { data: { bookDayDatas }, } = await subgraph_1.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 makerFee takerFee lastTakenTimestamp base { id name symbol decimals priceUSD } quote { id name symbol decimals priceUSD } createdAtTimestamp } } }', {
243
123
  date: dayStartTimestamp,
244
124
  });
245
125
  const bidBookDayDataList = bookDayDatas.filter(({ book: { quote, base } }) => (0, viem_1.isAddressEqual)((0, viem_1.getAddress)(quote.id), (0, views_1.getQuoteToken)({
@@ -262,108 +142,114 @@ const fetchMarketSnapshots = async (publicClient, chainId, timestampInSeconds) =
262
142
  ];
263
143
  const totalSupplyMap = await (0, total_supply_1.fetchTotalSupplyMap)(publicClient, chainId, tokenAddresses);
264
144
  return [
265
- ...bidBookDayDataList.map((bidBook) => {
145
+ ...bidBookDayDataList.map((bookDayData) => {
266
146
  const quoteCurrency = {
267
- address: (0, viem_1.getAddress)(bidBook.book.quote.id),
268
- name: bidBook.book.quote.name,
269
- symbol: bidBook.book.quote.symbol,
270
- decimals: Number(bidBook.book.quote.decimals),
147
+ address: (0, viem_1.getAddress)(bookDayData.book.quote.id),
148
+ name: bookDayData.book.quote.name,
149
+ symbol: bookDayData.book.quote.symbol,
150
+ decimals: Number(bookDayData.book.quote.decimals),
271
151
  };
272
152
  const baseCurrency = {
273
- address: (0, viem_1.getAddress)(bidBook.book.base.id),
274
- name: bidBook.book.base.name,
275
- symbol: bidBook.book.base.symbol,
276
- decimals: Number(bidBook.book.base.decimals),
153
+ address: (0, viem_1.getAddress)(bookDayData.book.base.id),
154
+ name: bookDayData.book.base.name,
155
+ symbol: bookDayData.book.base.symbol,
156
+ decimals: Number(bookDayData.book.base.decimals),
277
157
  };
278
- const askBook = askBookDayDataList.find((askBook) => (0, viem_1.isAddressEqual)((0, viem_1.getAddress)(askBook.book.quote.id), baseCurrency.address) &&
279
- (0, viem_1.isAddressEqual)((0, viem_1.getAddress)(askBook.book.base.id), quoteCurrency.address));
158
+ const askBookData = askBookDayDataList.find((askBookData) => (0, viem_1.isAddressEqual)((0, viem_1.getAddress)(askBookData.book.quote.id), baseCurrency.address) &&
159
+ (0, viem_1.isAddressEqual)((0, viem_1.getAddress)(askBookData.book.base.id), quoteCurrency.address));
280
160
  const baseTotalSupply = (0, bigint_1.convertTokenToDecimal)(BigInt(totalSupplyMap[baseCurrency.address] ?? 0n), baseCurrency.decimals);
281
- const isBidNewer = Number(bidBook.book.lastTakenTimestamp) >=
282
- Number(askBook?.book.lastTakenTimestamp ?? 0);
161
+ const isBidNewer = Number(bookDayData.book.lastTakenTimestamp) >=
162
+ Number(askBookData?.book.lastTakenTimestamp ?? 0);
283
163
  return {
284
164
  chainId,
285
165
  marketId: `${baseCurrency.symbol}/${quoteCurrency.symbol}`,
286
166
  base: baseCurrency,
287
167
  quote: quoteCurrency,
288
168
  price: isBidNewer
289
- ? Number(bidBook.book.price)
290
- : Number(askBook?.book.inversePrice),
169
+ ? Number(bookDayData.book.price)
170
+ : Number(askBookData?.book.inversePrice),
291
171
  priceUSD: isBidNewer
292
- ? Number(bidBook.book.price) * Number(bidBook.book.quote.priceUSD)
293
- : Number(askBook?.book.inversePrice) *
294
- Number(askBook?.book.base.priceUSD),
295
- priceChange24h: isBidNewer && Number(bidBook.open) > 0
296
- ? Number(bidBook.close) / Number(bidBook.open) - 1
297
- : !isBidNewer && askBook && Number(askBook.close) > 0
298
- ? Number(askBook.open) / Number(askBook.close) - 1
172
+ ? Number(bookDayData.book.price) *
173
+ Number(bookDayData.book.quote.priceUSD)
174
+ : Number(askBookData?.book.inversePrice) *
175
+ Number(askBookData?.book.base.priceUSD),
176
+ buyFee: Number(bookDayData.book.makerFee),
177
+ sellFee: Number(bookDayData.book.takerFee),
178
+ priceChange24h: isBidNewer && Number(bookDayData.open) > 0
179
+ ? Number(bookDayData.close) / Number(bookDayData.open) - 1
180
+ : !isBidNewer && askBookData && Number(askBookData.close) > 0
181
+ ? Number(askBookData.open) / Number(askBookData.close) - 1
299
182
  : 0,
300
- volume24hUSD: askBook
301
- ? Number(askBook.volumeUSD) + Number(bidBook.volumeUSD)
302
- : Number(bidBook.volumeUSD),
303
- totalValueLockedUSD: askBook
304
- ? Number(askBook.book.totalValueLockedUSD) +
305
- Number(bidBook.book.totalValueLockedUSD)
306
- : Number(bidBook.book.totalValueLockedUSD),
307
- createdAtTimestamp: askBook
308
- ? Math.min(Number(bidBook.book.createdAtTimestamp), Number(askBook.book.createdAtTimestamp))
309
- : Number(bidBook.book.createdAtTimestamp),
183
+ volume24hUSD: askBookData
184
+ ? Number(askBookData.volumeUSD) + Number(bookDayData.volumeUSD)
185
+ : Number(bookDayData.volumeUSD),
186
+ totalValueLockedUSD: askBookData
187
+ ? Number(askBookData.book.totalValueLockedUSD) +
188
+ Number(bookDayData.book.totalValueLockedUSD)
189
+ : Number(bookDayData.book.totalValueLockedUSD),
190
+ createdAtTimestamp: askBookData
191
+ ? Math.min(Number(bookDayData.book.createdAtTimestamp), Number(askBookData.book.createdAtTimestamp))
192
+ : Number(bookDayData.book.createdAtTimestamp),
310
193
  fdv: isBidNewer
311
- ? baseTotalSupply * Number(bidBook.book.base.priceUSD)
312
- : baseTotalSupply * Number(askBook?.book.quote.priceUSD),
313
- bidBookUpdatedAt: Number(bidBook.book.lastTakenTimestamp),
314
- askBookUpdatedAt: Number(askBook?.book.lastTakenTimestamp ?? 0),
194
+ ? baseTotalSupply * Number(bookDayData.book.base.priceUSD)
195
+ : baseTotalSupply * Number(askBookData?.book.quote.priceUSD),
196
+ bidBookUpdatedAt: Number(bookDayData.book.lastTakenTimestamp),
197
+ askBookUpdatedAt: Number(askBookData?.book.lastTakenTimestamp ?? 0),
315
198
  };
316
199
  }),
317
- ...askBookDayDataList.map((askBook) => {
200
+ ...askBookDayDataList.map((askBookData) => {
318
201
  const quoteCurrency = {
319
- address: (0, viem_1.getAddress)(askBook.book.base.id),
320
- name: askBook.book.base.name,
321
- symbol: askBook.book.base.symbol,
322
- decimals: Number(askBook.book.base.decimals),
202
+ address: (0, viem_1.getAddress)(askBookData.book.base.id),
203
+ name: askBookData.book.base.name,
204
+ symbol: askBookData.book.base.symbol,
205
+ decimals: Number(askBookData.book.base.decimals),
323
206
  };
324
207
  const baseCurrency = {
325
- address: (0, viem_1.getAddress)(askBook.book.quote.id),
326
- name: askBook.book.quote.name,
327
- symbol: askBook.book.quote.symbol,
328
- decimals: Number(askBook.book.quote.decimals),
208
+ address: (0, viem_1.getAddress)(askBookData.book.quote.id),
209
+ name: askBookData.book.quote.name,
210
+ symbol: askBookData.book.quote.symbol,
211
+ decimals: Number(askBookData.book.quote.decimals),
329
212
  };
330
- const bidBook = bidBookDayDataList.find((bidBook) => (0, viem_1.isAddressEqual)((0, viem_1.getAddress)(bidBook.book.quote.id), quoteCurrency.address) &&
331
- (0, viem_1.isAddressEqual)((0, viem_1.getAddress)(bidBook.book.base.id), baseCurrency.address));
213
+ const bidBookData = bidBookDayDataList.find((bidBookData) => (0, viem_1.isAddressEqual)((0, viem_1.getAddress)(bidBookData.book.quote.id), quoteCurrency.address) &&
214
+ (0, viem_1.isAddressEqual)((0, viem_1.getAddress)(bidBookData.book.base.id), baseCurrency.address));
332
215
  const baseTotalSupply = (0, bigint_1.convertTokenToDecimal)(BigInt(totalSupplyMap[baseCurrency.address] ?? 0n), baseCurrency.decimals);
333
- const isBidNewer = Number(bidBook?.book.lastTakenTimestamp ?? 0) >=
334
- Number(askBook.book.lastTakenTimestamp);
216
+ const isBidNewer = Number(bidBookData?.book.lastTakenTimestamp ?? 0) >=
217
+ Number(askBookData.book.lastTakenTimestamp);
335
218
  return {
336
219
  chainId,
337
220
  marketId: `${baseCurrency.symbol}/${quoteCurrency.symbol}`,
338
221
  base: baseCurrency,
339
222
  quote: quoteCurrency,
223
+ buyFee: Number(askBookData.book.takerFee),
224
+ sellFee: Number(askBookData.book.makerFee),
340
225
  price: isBidNewer
341
- ? Number(bidBook?.book.price)
342
- : Number(askBook.book.inversePrice),
226
+ ? Number(bidBookData?.book.price)
227
+ : Number(askBookData.book.inversePrice),
343
228
  priceUSD: isBidNewer
344
- ? Number(bidBook?.book.price) * Number(bidBook?.book.quote.priceUSD)
345
- : Number(askBook.book.inversePrice) *
346
- Number(askBook.book.base.priceUSD),
347
- priceChange24h: isBidNewer && bidBook && Number(bidBook.open) > 0
348
- ? Number(bidBook.close) / Number(bidBook.open) - 1
349
- : !isBidNewer && Number(askBook.close) > 0
350
- ? Number(askBook.open) / Number(askBook.close) - 1
229
+ ? Number(bidBookData?.book.price) *
230
+ Number(bidBookData?.book.quote.priceUSD)
231
+ : Number(askBookData.book.inversePrice) *
232
+ Number(askBookData.book.base.priceUSD),
233
+ priceChange24h: isBidNewer && bidBookData && Number(bidBookData.open) > 0
234
+ ? Number(bidBookData.close) / Number(bidBookData.open) - 1
235
+ : !isBidNewer && Number(askBookData.close) > 0
236
+ ? Number(askBookData.open) / Number(askBookData.close) - 1
351
237
  : 0,
352
- volume24hUSD: bidBook
353
- ? Number(askBook.volumeUSD) + Number(bidBook.volumeUSD)
354
- : Number(askBook.volumeUSD),
355
- totalValueLockedUSD: bidBook
356
- ? Number(bidBook.book.totalValueLockedUSD) +
357
- Number(askBook.book.totalValueLockedUSD)
358
- : Number(askBook.book.totalValueLockedUSD),
359
- createdAtTimestamp: bidBook
360
- ? Math.min(Number(askBook.book.createdAtTimestamp), Number(bidBook.book.createdAtTimestamp))
361
- : Number(askBook.book.createdAtTimestamp),
238
+ volume24hUSD: bidBookData
239
+ ? Number(askBookData.volumeUSD) + Number(bidBookData.volumeUSD)
240
+ : Number(askBookData.volumeUSD),
241
+ totalValueLockedUSD: bidBookData
242
+ ? Number(bidBookData.book.totalValueLockedUSD) +
243
+ Number(askBookData.book.totalValueLockedUSD)
244
+ : Number(askBookData.book.totalValueLockedUSD),
245
+ createdAtTimestamp: bidBookData
246
+ ? Math.min(Number(askBookData.book.createdAtTimestamp), Number(bidBookData.book.createdAtTimestamp))
247
+ : Number(askBookData.book.createdAtTimestamp),
362
248
  fdv: isBidNewer
363
- ? baseTotalSupply * Number(bidBook?.book.base.priceUSD)
364
- : baseTotalSupply * Number(askBook.book.quote.priceUSD),
365
- bidBookUpdatedAt: Number(bidBook?.book.lastTakenTimestamp ?? 0),
366
- askBookUpdatedAt: Number(askBook.book.lastTakenTimestamp),
249
+ ? baseTotalSupply * Number(bidBookData?.book.base.priceUSD)
250
+ : baseTotalSupply * Number(askBookData.book.quote.priceUSD),
251
+ bidBookUpdatedAt: Number(bidBookData?.book.lastTakenTimestamp ?? 0),
252
+ askBookUpdatedAt: Number(askBookData.book.lastTakenTimestamp),
367
253
  };
368
254
  }),
369
255
  ]