@1stdex/first-sdk 1.0.90-beta.2 → 1.0.91-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,11 +3,10 @@ import { CHAIN_MAP } from '../../constants/chain-configs/chain';
3
3
  import { CHAIN_EIDS } from '../../constants/chain-configs/eids';
4
4
  import { CLAIMABLE_DEX_VAULT_ABI } from '../../constants/abis/core/claimable-dex-vault-abi';
5
5
  import { MIRROR_TOKEN_ABI } from '../../constants/abis/core/mirror-token-abi';
6
- import { FIRST_OFT_ABI } from '../../constants/abis/core/first_oft';
7
6
  import { LAYER_ZERO_SPONSOR_ABI } from '../../constants/abis/core/layer-zero-sponsor';
8
7
  import { CONTRACT_ADDRESSES } from '../../constants/chain-configs/addresses';
9
- import { getVault } from '../../views/vault';
10
8
  import { ERC20_ABI } from '../../constants/abis/core/erc20';
9
+ import { getVault } from '../../views/vault';
11
10
  /**
12
11
  * Error thrown when there are insufficient claimable funds in vault and mirror token combined.
13
12
  */
@@ -30,265 +29,6 @@ export class NotEnoughClaimableError extends Error {
30
29
  Object.setPrototypeOf(this, NotEnoughClaimableError.prototype);
31
30
  }
32
31
  }
33
- /**
34
- * Prepares transactions to claim real tokens from a mirror token system.
35
- * Checks vault claimable assets and mirror token claimable assets, then creates
36
- * claim calls to transfer all available real tokens to the receiving address.
37
- *
38
- * @param chainId The chain ID.
39
- * @param userAddress The user address.
40
- * @param mirrorTokenAddress The mirror token address.
41
- * @param receivingAddress The address to receive the claimed real tokens.
42
- * @param options Optional parameters.
43
- * @returns Promise resolving to array of batch calls.
44
- * @example
45
- * import { prepareClaimRealTokensSameChain } from '@1stdex/first-sdk'
46
- * import { useSmartWallets } from '@privy-io/react-auth/smart-wallets'
47
- *
48
- * const calls = await prepareClaimRealTokensSameChain({
49
- * chainId: 421614,
50
- * userAddress: '0xF8c1869Ecd4df136693C45EcE1b67f85B6bDaE69',
51
- * mirrorTokenAddress: '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
52
- * receivingAddress: '0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb'
53
- * })
54
- *
55
- * // Send all calls in one batched transaction
56
- * const { client } = useSmartWallets()
57
- * const txHash = await client.sendUserOperation({ calls })
58
- */
59
- export const prepareClaimRealTokensSameChain = async ({ chainId, userAddress, mirrorTokenAddress, receivingAddress, options, }) => {
60
- const publicClient = createPublicClient({
61
- chain: CHAIN_MAP[chainId],
62
- transport: options?.rpcUrl ? http(options.rpcUrl) : http(),
63
- });
64
- const vault = await getVault({
65
- chainId,
66
- tokenAddress: mirrorTokenAddress,
67
- ...(options?.rpcUrl && { options: { rpcUrl: options.rpcUrl } }),
68
- });
69
- const contracts = [
70
- {
71
- address: vault.address,
72
- abi: CLAIMABLE_DEX_VAULT_ABI,
73
- functionName: 'getClaimableAssets',
74
- args: [userAddress],
75
- },
76
- {
77
- address: mirrorTokenAddress,
78
- abi: MIRROR_TOKEN_ABI,
79
- functionName: 'getClaimableAmount',
80
- args: [userAddress],
81
- },
82
- ];
83
- const results = await publicClient.multicall({
84
- contracts,
85
- });
86
- const vaultClaimableAmount = results[0].result || 0n;
87
- const mirrorTokenClaimableAmount = results[1].result || 0n;
88
- const calls = [];
89
- // If vault has claimable assets, claim them first
90
- if (vaultClaimableAmount > 0n) {
91
- calls.push({
92
- to: vault.address,
93
- data: encodeFunctionData({
94
- abi: MIRROR_TOKEN_ABI,
95
- functionName: 'claim',
96
- args: [userAddress, vaultClaimableAmount],
97
- }),
98
- value: 0n,
99
- });
100
- }
101
- // Claim total available amount from mirror token to receiving address
102
- const totalClaimableAmount = vaultClaimableAmount + mirrorTokenClaimableAmount;
103
- if (totalClaimableAmount > 0n) {
104
- calls.push({
105
- to: mirrorTokenAddress,
106
- data: encodeFunctionData({
107
- abi: MIRROR_TOKEN_ABI,
108
- functionName: 'claim',
109
- args: [receivingAddress, totalClaimableAmount],
110
- }),
111
- value: 0n,
112
- });
113
- }
114
- return calls;
115
- };
116
- /**
117
- * Prepares transactions to claim real tokens and bridge them cross-chain via LayerZero.
118
- * Claims the specified amount optimally (from mirror token and/or vault) to the user address,
119
- * then bridges them to a receiving address on the destination chain using LayerZero's OFT protocol.
120
- * Throws NotEnoughClaimableError if combined claimable amount is insufficient.
121
- *
122
- * @param chainId The source chain ID.
123
- * @param destinationChainId The destination chain ID.
124
- * @param userAddress The user address.
125
- * @param mirrorTokenAddress The mirror token address (OFT contract).
126
- * @param receivingAddress The address to receive the tokens on destination chain.
127
- * @param amount The amount to claim and send (in token base units, e.g., wei).
128
- * @param options Optional parameters.
129
- * @returns Promise resolving to array of batch calls.
130
- * @example
131
- * import { prepareClaimRealTokensCrossChainLZ } from '@1stdex/first-sdk'
132
- * import { useSmartWallets } from '@privy-io/react-auth/smart-wallets'
133
- *
134
- * const calls = await prepareClaimRealTokensCrossChainLZ({
135
- * chainId: 84532,
136
- * destinationChainId: 8453,
137
- * userAddress: '0xF8c1869Ecd4df136693C45EcE1b67f85B6bDaE69',
138
- * mirrorTokenAddress: '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
139
- * receivingAddress: '0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb',
140
- * amount: 1000000000000000000n // 1 token (18 decimals)
141
- * })
142
- *
143
- * // Send all calls in one batched transaction
144
- * const { client } = useSmartWallets()
145
- * const txHash = await client.sendUserOperation({ calls })
146
- */
147
- export const prepareClaimRealTokensCrossChainLZ = async ({ chainId, destinationChainId, userAddress, mirrorTokenAddress, receivingAddress, amount, options, }) => {
148
- const publicClient = createPublicClient({
149
- chain: CHAIN_MAP[chainId],
150
- transport: options?.rpcUrl ? http(options.rpcUrl) : http(),
151
- });
152
- const vault = await getVault({
153
- chainId,
154
- tokenAddress: mirrorTokenAddress,
155
- ...(options?.rpcUrl && { options: { rpcUrl: options.rpcUrl } }),
156
- });
157
- const ERC20_ABI = [
158
- {
159
- inputs: [{ internalType: 'address', name: 'account', type: 'address' }],
160
- name: 'balanceOf',
161
- outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
162
- stateMutability: 'view',
163
- type: 'function',
164
- },
165
- ];
166
- // First multicall to get vault, mirror token claimable, and real token address
167
- const initialContracts = [
168
- {
169
- address: vault.address,
170
- abi: CLAIMABLE_DEX_VAULT_ABI,
171
- functionName: 'getClaimableAssets',
172
- args: [userAddress],
173
- },
174
- {
175
- address: mirrorTokenAddress,
176
- abi: MIRROR_TOKEN_ABI,
177
- functionName: 'getClaimableAmount',
178
- args: [userAddress],
179
- },
180
- {
181
- address: mirrorTokenAddress,
182
- abi: MIRROR_TOKEN_ABI,
183
- functionName: 'realToken',
184
- },
185
- ];
186
- const initialResults = await publicClient.multicall({
187
- contracts: initialContracts,
188
- });
189
- const vaultClaimableAmount = initialResults[0].result || 0n;
190
- const mirrorTokenClaimableAmount = initialResults[1].result || 0n;
191
- const realTokenAddress = initialResults[2].result;
192
- const totalClaimableAmount = vaultClaimableAmount + mirrorTokenClaimableAmount;
193
- // Check balance for the real token
194
- const balanceContracts = [
195
- {
196
- address: realTokenAddress,
197
- abi: ERC20_ABI,
198
- functionName: 'balanceOf',
199
- args: [userAddress],
200
- },
201
- ];
202
- const balanceResults = await publicClient.multicall({
203
- contracts: balanceContracts,
204
- });
205
- const realTokenBalance = balanceResults[0].result || 0n;
206
- // Calculate how much we need to claim (accounting for existing balance)
207
- const amountNeededToClaim = amount > realTokenBalance ? amount - realTokenBalance : 0n;
208
- // Check if there's enough claimable to cover what we need
209
- if (amountNeededToClaim > totalClaimableAmount) {
210
- throw new NotEnoughClaimableError(`Insufficient funds: need ${amount} total, have ${realTokenBalance} in wallet, need to claim ${amountNeededToClaim}, but only ${totalClaimableAmount} claimable (mirror token: ${mirrorTokenClaimableAmount}, vault: ${vaultClaimableAmount})`, amountNeededToClaim, totalClaimableAmount);
211
- }
212
- const calls = [];
213
- // Only claim if we need more tokens
214
- if (amountNeededToClaim > 0n) {
215
- // If mirror token has enough claimable to cover what we need, claim only from mirror token
216
- if (mirrorTokenClaimableAmount >= amountNeededToClaim) {
217
- calls.push({
218
- to: mirrorTokenAddress,
219
- data: encodeFunctionData({
220
- abi: MIRROR_TOKEN_ABI,
221
- functionName: 'claim',
222
- args: [userAddress, amountNeededToClaim],
223
- }),
224
- value: 0n,
225
- });
226
- }
227
- else {
228
- // Need to claim from both vault and mirror token
229
- // Calculate amount needed from vault
230
- const amountFromVault = amountNeededToClaim - mirrorTokenClaimableAmount;
231
- // Claim from vault to user address
232
- calls.push({
233
- to: vault.address,
234
- data: encodeFunctionData({
235
- abi: MIRROR_TOKEN_ABI,
236
- functionName: 'claim',
237
- args: [userAddress, amountFromVault],
238
- }),
239
- value: 0n,
240
- });
241
- // Claim all available from mirror token to user address
242
- if (mirrorTokenClaimableAmount > 0n) {
243
- calls.push({
244
- to: mirrorTokenAddress,
245
- data: encodeFunctionData({
246
- abi: MIRROR_TOKEN_ABI,
247
- functionName: 'claim',
248
- args: [userAddress, mirrorTokenClaimableAmount],
249
- }),
250
- value: 0n,
251
- });
252
- }
253
- }
254
- }
255
- // Convert receivingAddress to bytes32 for LayerZero
256
- const receivingAddressBytes32 = `0x000000000000000000000000${receivingAddress.slice(2)}`;
257
- // Get destination EID
258
- const destinationEid = CHAIN_EIDS[destinationChainId];
259
- // Prepare SendParam for quoteSend
260
- const sendParam = {
261
- dstEid: destinationEid,
262
- to: receivingAddressBytes32,
263
- amountLD: amount,
264
- minAmountLD: amount,
265
- extraOptions: '0x',
266
- composeMsg: '0x',
267
- oftCmd: '0x',
268
- };
269
- // Quote the send to get gas fee (using real token, not mirror token)
270
- const quoteFee = await publicClient.readContract({
271
- address: realTokenAddress,
272
- abi: FIRST_OFT_ABI,
273
- functionName: 'quoteSend',
274
- args: [sendParam, false], // false = pay in native token
275
- });
276
- // Call send() to bridge tokens cross-chain (using real token, not mirror token)
277
- calls.push({
278
- to: realTokenAddress,
279
- data: encodeFunctionData({
280
- abi: FIRST_OFT_ABI,
281
- functionName: 'send',
282
- args: [
283
- sendParam,
284
- { nativeFee: quoteFee.nativeFee, lzTokenFee: 0n },
285
- userAddress, // refund address
286
- ],
287
- }),
288
- value: quoteFee.nativeFee,
289
- });
290
- return calls;
291
- };
292
32
  /**
293
33
  * Prepares transactions to claim real tokens and bridge them cross-chain via LayerZero using the sponsor contract.
294
34
  * Claims the specified amount optimally (from mirror token and/or vault) to the user address,
@@ -1 +1 @@
1
- {"version":3,"file":"prepare-claim-real-tokens.js","sourceRoot":"","sources":["../../../../src/calls/batch/prepare-claim-real-tokens.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prepare-claim-real-tokens.js","sourceRoot":"","sources":["../../../../src/calls/batch/prepare-claim-real-tokens.ts"],"names":[],"mappings":"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"}
@@ -8,5 +8,5 @@ export { setApprovalOfOpenOrdersForAll } from './approval/open-order';
8
8
  export { setTokenAllowances } from './approval/token';
9
9
  export { approveAllForMarket } from './approval/market';
10
10
  export { setVault, removeVault, depositToVault, withdrawFromVault, } from './vault';
11
- export { prepareLimitOrderWithSetup, prepareMarketOrderWithSetup, prepareWithdraw, NotEnoughFundsError, prepareClaimRealTokensSameChain, prepareClaimRealTokensCrossChainLZ, prepareClaimRealTokensCrossChainBridgeLZ, NotEnoughClaimableError, } from './batch';
11
+ export { prepareLimitOrderWithSetup, prepareMarketOrderWithSetup, prepareWithdraw, NotEnoughFundsError, prepareClaimRealTokensCrossChainBridgeLZ, NotEnoughClaimableError, } from './batch';
12
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/calls/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EACL,WAAW,EACX,0BAA0B,EAC1B,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE5D,OAAO,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,EACL,QAAQ,EACR,WAAW,EACX,cAAc,EACd,iBAAiB,GAClB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,EAC3B,eAAe,EACf,mBAAmB,EACnB,+BAA+B,EAC/B,kCAAkC,EAClC,wCAAwC,EACxC,uBAAuB,GACxB,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/calls/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EACL,WAAW,EACX,0BAA0B,EAC1B,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE5D,OAAO,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,EACL,QAAQ,EACR,WAAW,EACX,cAAc,EACd,iBAAiB,GAClB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,EAC3B,eAAe,EACf,mBAAmB,EACnB,wCAAwC,EACxC,uBAAuB,GACxB,MAAM,SAAS,CAAC"}
@@ -5,7 +5,7 @@ export const CONTRACT_ADDRESSES = {
5
5
  Controller: getAddress('0x318fb295c3617a5123826af0d3f4528decde57be'),
6
6
  BookManager: getAddress('0x1b408015a7142ffe187b55870f00fd38556c4749'),
7
7
  BookViewer: getAddress('0xadab496614ec3839a7fe1af622f6d70a5e442773'),
8
- LayerZeroSponsor: getAddress('0x0000000000000000000000000000000000000000'),
8
+ LayerZeroSponsor: getAddress('0xbf7d9940df134182f3118adc49f3a64470a02997'),
9
9
  },
10
10
  [CHAIN_IDS.BASE]: {
11
11
  Controller: getAddress('0x318fb295c3617a5123826af0d3f4528decde57be'),
@@ -6,10 +6,17 @@ 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: { 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 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 } } }', {
9
+ const timestamp24hAgo = timestampInSeconds - 86400;
10
+ // Construct market codes for both possible books
11
+ const marketCode1 = `${token0.toLowerCase()}-${token1.toLowerCase()}`;
12
+ const marketCode2 = `${token1.toLowerCase()}-${token0.toLowerCase()}`;
13
+ const { data: { books, bookDayDatas, chartLogs1, chartLogs2 }, } = await Subgraph.get(chainId, 'getTopMarketSnapshot', 'query getMarkets($date: Int!, $bases: [String!]!, $quotes: [String!]!, $timestamp24h: BigInt!, $marketCode1: String!, $marketCode2: 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 } } chartLogs1: chartLogs(first: 1, orderBy: timestamp, orderDirection: desc, where: { marketCode: $marketCode1, timestamp_lte: $timestamp24h }) { timestamp close } chartLogs2: chartLogs(first: 1, orderBy: timestamp, orderDirection: desc, where: { marketCode: $marketCode2, timestamp_lte: $timestamp24h }) { timestamp close } }', {
10
14
  date: dayStartTimestamp,
11
15
  bases: [token0, token1].map((address) => address.toLowerCase()),
12
16
  quotes: [token0, token1].map((address) => address.toLowerCase()),
17
+ timestamp24h: timestamp24hAgo,
18
+ marketCode1,
19
+ marketCode2,
13
20
  });
14
21
  if (bookDayDatas.length >= 3) {
15
22
  // TODO: check fee policy if needed
@@ -58,34 +65,61 @@ export const fetchMarketSnapshot = async (publicClient, chainId, token0, token1,
58
65
  const baseTotalSupplyRaw = await fetchTotalSupply(publicClient, chainId, getAddress(bidBook.base.id));
59
66
  const baseTotalSupply = convertTokenToDecimal(BigInt(baseTotalSupplyRaw ?? 0n), Number(bidBook.base.decimals));
60
67
  const fdv = baseTotalSupply * priceUSD;
68
+ // FIXME: volume24h is still calculated wrong. Currently getting today's volume up to current time, but
69
+ // rather than the volume from 24 hours ago.
61
70
  let volume24hUSD = 0;
62
71
  let priceChange24h = 0;
63
72
  if (dailyBidBookData && dailyAskBookData) {
64
73
  volume24hUSD =
65
74
  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;
72
75
  }
73
76
  else if (dailyBidBookData) {
74
77
  volume24hUSD = Number(dailyBidBookData.volumeUSD);
75
- priceChange24h =
76
- Number(dailyBidBookData.open) > 0
77
- ? Number(dailyBidBookData.close) / Number(dailyBidBookData.open) - 1
78
- : 0;
79
78
  }
80
79
  else if (dailyAskBookData) {
81
80
  volume24hUSD = Number(dailyAskBookData.volumeUSD);
82
- priceChange24h =
83
- Number(dailyAskBookData.close) > 0
84
- ? Number(dailyAskBookData.open) / Number(dailyAskBookData.close) - 1
85
- : 0;
86
81
  }
87
82
  else {
88
83
  volume24hUSD = 0;
84
+ }
85
+ // Calculate 24h price change using chartLogs
86
+ const bidBookMarketCode = `${bidBook.base.id}-${bidBook.quote.id}`;
87
+ const askBookMarketCode = `${askBook.base.id}-${askBook.quote.id}`;
88
+ // Map the chartLogs to the correct books
89
+ const bidChartLog24h = bidBookMarketCode === marketCode1
90
+ ? chartLogs1[0]
91
+ : bidBookMarketCode === marketCode2
92
+ ? chartLogs2[0]
93
+ : null;
94
+ const askChartLog24h = askBookMarketCode === marketCode1
95
+ ? chartLogs1[0]
96
+ : askBookMarketCode === marketCode2
97
+ ? chartLogs2[0]
98
+ : null;
99
+ // Determine which book had the most recent trade 24h ago
100
+ const isBidNewer24h = bidChartLog24h &&
101
+ askChartLog24h &&
102
+ Number(bidChartLog24h.timestamp) >= Number(askChartLog24h.timestamp);
103
+ // Get the price from 24h ago using the same logic as current price
104
+ // For bid book: close is quote per base (direct)
105
+ // For ask book: close is base per quote, so we need to invert (1/close)
106
+ let price24hAgo = 0;
107
+ if (bidChartLog24h && askChartLog24h) {
108
+ price24hAgo = isBidNewer24h
109
+ ? Number(bidChartLog24h.close)
110
+ : 1 / Number(askChartLog24h.close);
111
+ }
112
+ else if (bidChartLog24h) {
113
+ price24hAgo = Number(bidChartLog24h.close);
114
+ }
115
+ else if (askChartLog24h) {
116
+ price24hAgo = 1 / Number(askChartLog24h.close);
117
+ }
118
+ // Calculate price change
119
+ if (price24hAgo > 0) {
120
+ priceChange24h = price / price24hAgo - 1;
121
+ }
122
+ else {
89
123
  priceChange24h = 0;
90
124
  }
91
125
  return {
@@ -141,6 +175,24 @@ export const fetchMarketSnapshots = async (publicClient, chainId, timestampInSec
141
175
  .flat()),
142
176
  ];
143
177
  const totalSupplyMap = await fetchTotalSupplyMap(publicClient, chainId, tokenAddresses);
178
+ // Calculate 24h ago timestamp and fetch all chartLogs in a single query
179
+ const timestamp24hAgo = timestampInSeconds - 86400;
180
+ // Collect all unique market codes
181
+ const marketCodes = [
182
+ ...new Set(bookDayDatas.map(({ book }) => `${book.base.id}-${book.quote.id}`)),
183
+ ];
184
+ // Fetch all chartLogs at once (limit to first 1000 to ensure we get at least one per market)
185
+ const { data: { chartLogs }, } = await Subgraph.get(chainId, 'getChartLogsForMarkets', 'query getChartLogs($marketCodes: [String!]!, $timestamp24h: BigInt!) { chartLogs(first: 1000, orderBy: timestamp, orderDirection: desc, where: { marketCode_in: $marketCodes, timestamp_lte: $timestamp24h }) { timestamp close marketCode } }', {
186
+ marketCodes,
187
+ timestamp24h: timestamp24hAgo,
188
+ });
189
+ // Create a map for quick lookup: marketCode -> chartLog (most recent one)
190
+ const chartLogMap = new Map();
191
+ chartLogs.forEach((chartLog) => {
192
+ if (chartLog.marketCode && !chartLogMap.has(chartLog.marketCode)) {
193
+ chartLogMap.set(chartLog.marketCode, chartLog);
194
+ }
195
+ });
144
196
  return [
145
197
  ...bidBookDayDataList.map((bookDayData) => {
146
198
  const quoteCurrency = {
@@ -160,14 +212,36 @@ export const fetchMarketSnapshots = async (publicClient, chainId, timestampInSec
160
212
  const baseTotalSupply = convertTokenToDecimal(BigInt(totalSupplyMap[baseCurrency.address] ?? 0n), baseCurrency.decimals);
161
213
  const isBidNewer = Number(bookDayData.book.lastTakenTimestamp) >=
162
214
  Number(askBookData?.book.lastTakenTimestamp ?? 0);
215
+ const price = isBidNewer
216
+ ? Number(bookDayData.book.price)
217
+ : Number(askBookData?.book.inversePrice);
218
+ // Calculate 24h price change using chartLogs
219
+ const bidChartLog24h = chartLogMap.get(`${bookDayData.book.base.id}-${bookDayData.book.quote.id}`);
220
+ const askChartLog24h = askBookData
221
+ ? chartLogMap.get(`${askBookData.book.base.id}-${askBookData.book.quote.id}`)
222
+ : null;
223
+ const isBidNewer24h = bidChartLog24h &&
224
+ askChartLog24h &&
225
+ bidChartLog24h.timestamp >= askChartLog24h.timestamp;
226
+ let price24hAgo = 0;
227
+ if (bidChartLog24h && askChartLog24h) {
228
+ price24hAgo = isBidNewer24h
229
+ ? Number(bidChartLog24h.close)
230
+ : 1 / Number(askChartLog24h.close);
231
+ }
232
+ else if (bidChartLog24h) {
233
+ price24hAgo = Number(bidChartLog24h.close);
234
+ }
235
+ else if (askChartLog24h) {
236
+ price24hAgo = 1 / Number(askChartLog24h.close);
237
+ }
238
+ const priceChange24h = price24hAgo > 0 ? price / price24hAgo - 1 : 0;
163
239
  return {
164
240
  chainId,
165
241
  marketId: `${baseCurrency.symbol}/${quoteCurrency.symbol}`,
166
242
  base: baseCurrency,
167
243
  quote: quoteCurrency,
168
- price: isBidNewer
169
- ? Number(bookDayData.book.price)
170
- : Number(askBookData?.book.inversePrice),
244
+ price,
171
245
  priceUSD: isBidNewer
172
246
  ? Number(bookDayData.book.price) *
173
247
  Number(bookDayData.book.quote.priceUSD)
@@ -175,11 +249,7 @@ export const fetchMarketSnapshots = async (publicClient, chainId, timestampInSec
175
249
  Number(askBookData?.book.base.priceUSD),
176
250
  buyFee: Number(bookDayData.book.makerFee),
177
251
  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
182
- : 0,
252
+ priceChange24h,
183
253
  volume24hUSD: askBookData
184
254
  ? Number(askBookData.volumeUSD) + Number(bookDayData.volumeUSD)
185
255
  : Number(bookDayData.volumeUSD),
@@ -215,6 +285,30 @@ export const fetchMarketSnapshots = async (publicClient, chainId, timestampInSec
215
285
  const baseTotalSupply = convertTokenToDecimal(BigInt(totalSupplyMap[baseCurrency.address] ?? 0n), baseCurrency.decimals);
216
286
  const isBidNewer = Number(bidBookData?.book.lastTakenTimestamp ?? 0) >=
217
287
  Number(askBookData.book.lastTakenTimestamp);
288
+ const price = isBidNewer
289
+ ? Number(bidBookData?.book.price)
290
+ : Number(askBookData.book.inversePrice);
291
+ // Calculate 24h price change using chartLogs
292
+ const askChartLog24h = chartLogMap.get(`${askBookData.book.base.id}-${askBookData.book.quote.id}`);
293
+ const bidChartLog24h = bidBookData
294
+ ? chartLogMap.get(`${bidBookData.book.base.id}-${bidBookData.book.quote.id}`)
295
+ : null;
296
+ const isBidNewer24h = bidChartLog24h &&
297
+ askChartLog24h &&
298
+ bidChartLog24h.timestamp >= askChartLog24h.timestamp;
299
+ let price24hAgo = 0;
300
+ if (bidChartLog24h && askChartLog24h) {
301
+ price24hAgo = isBidNewer24h
302
+ ? Number(bidChartLog24h.close)
303
+ : 1 / Number(askChartLog24h.close);
304
+ }
305
+ else if (bidChartLog24h) {
306
+ price24hAgo = Number(bidChartLog24h.close);
307
+ }
308
+ else if (askChartLog24h) {
309
+ price24hAgo = 1 / Number(askChartLog24h.close);
310
+ }
311
+ const priceChange24h = price24hAgo > 0 ? price / price24hAgo - 1 : 0;
218
312
  return {
219
313
  chainId,
220
314
  marketId: `${baseCurrency.symbol}/${quoteCurrency.symbol}`,
@@ -222,19 +316,13 @@ export const fetchMarketSnapshots = async (publicClient, chainId, timestampInSec
222
316
  quote: quoteCurrency,
223
317
  buyFee: Number(askBookData.book.takerFee),
224
318
  sellFee: Number(askBookData.book.makerFee),
225
- price: isBidNewer
226
- ? Number(bidBookData?.book.price)
227
- : Number(askBookData.book.inversePrice),
319
+ price,
228
320
  priceUSD: isBidNewer
229
321
  ? Number(bidBookData?.book.price) *
230
322
  Number(bidBookData?.book.quote.priceUSD)
231
323
  : Number(askBookData.book.inversePrice) *
232
324
  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
237
- : 0,
325
+ priceChange24h,
238
326
  volume24hUSD: bidBookData
239
327
  ? Number(askBookData.volumeUSD) + Number(bidBookData.volumeUSD)
240
328
  : Number(askBookData.volumeUSD),
@@ -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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"}