@clober/v2-sdk 1.0.0-rc.9 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/calls/index.js +6 -3
- package/dist/cjs/calls/index.js.map +1 -1
- package/dist/cjs/calls/market/limit.js +5 -0
- package/dist/cjs/calls/market/limit.js.map +1 -1
- package/dist/cjs/calls/market/make.js +160 -0
- package/dist/cjs/calls/market/make.js.map +1 -0
- package/dist/cjs/calls/pool/burn.js +5 -5
- package/dist/cjs/calls/pool/market-making/adjust.js +2 -2
- package/dist/cjs/calls/pool/market-making/pause.js +2 -2
- package/dist/cjs/calls/pool/market-making/refill.js +2 -2
- package/dist/cjs/calls/pool/market-making/resume.js +2 -2
- package/dist/cjs/calls/pool/mint.js +111 -21
- package/dist/cjs/calls/pool/mint.js.map +1 -1
- package/dist/cjs/calls/pool/open.js +2 -2
- package/dist/cjs/calls/pool/open.js.map +1 -1
- package/dist/cjs/calls/pool/wrap.js +97 -0
- package/dist/cjs/calls/pool/wrap.js.map +1 -0
- package/dist/cjs/constants/abis/core/book-manager-abi.js +28 -0
- package/dist/cjs/constants/abis/core/book-manager-abi.js.map +1 -1
- package/dist/cjs/constants/abis/core/controller-abi.js +24 -1
- package/dist/cjs/constants/abis/core/controller-abi.js.map +1 -1
- package/dist/cjs/constants/abis/core/params-abi.js +77 -0
- package/dist/cjs/constants/abis/core/params-abi.js.map +1 -0
- package/dist/cjs/constants/abis/rebalancer/wrapped-6909-factory-abi.js +107 -0
- package/dist/cjs/constants/abis/rebalancer/wrapped-6909-factory-abi.js.map +1 -0
- package/dist/cjs/constants/chain-configs/addresses.js +47 -22
- package/dist/cjs/constants/chain-configs/addresses.js.map +1 -1
- package/dist/cjs/constants/chain-configs/chain.js +7 -2
- package/dist/cjs/constants/chain-configs/chain.js.map +1 -1
- package/dist/cjs/constants/chain-configs/currency.js +138 -23
- package/dist/cjs/constants/chain-configs/currency.js.map +1 -1
- package/dist/cjs/constants/chain-configs/fee.js +6 -2
- package/dist/cjs/constants/chain-configs/fee.js.map +1 -1
- package/dist/cjs/constants/chain-configs/subgraph.js +4 -2
- package/dist/cjs/constants/chain-configs/subgraph.js.map +1 -1
- package/dist/cjs/constants/networks/giwa-sepolia.js +41 -0
- package/dist/cjs/constants/networks/giwa-sepolia.js.map +1 -0
- package/dist/cjs/constants/networks/test-chain.js +1 -24
- package/dist/cjs/constants/networks/test-chain.js.map +1 -1
- package/dist/cjs/entities/analytics/apis/index.js +102 -24
- package/dist/cjs/entities/analytics/apis/index.js.map +1 -1
- package/dist/cjs/entities/book/apis/index.js +10 -5
- package/dist/cjs/entities/book/apis/index.js.map +1 -1
- package/dist/cjs/entities/currency/apis/total-supply.js +3 -6
- package/dist/cjs/entities/currency/apis/total-supply.js.map +1 -1
- package/dist/cjs/entities/market/apis/index.js +3 -3
- package/dist/cjs/entities/market/apis/index.js.map +1 -1
- package/dist/cjs/entities/market/apis/snapshot.js +184 -78
- package/dist/cjs/entities/market/apis/snapshot.js.map +1 -1
- package/dist/cjs/entities/market/utils/market-id.js +15 -3
- package/dist/cjs/entities/market/utils/market-id.js.map +1 -1
- package/dist/cjs/entities/open-order/apis/index.js +2 -3
- package/dist/cjs/entities/open-order/apis/index.js.map +1 -1
- package/dist/cjs/entities/open-order/utils/order-id.js +6 -1
- package/dist/cjs/entities/open-order/utils/order-id.js.map +1 -1
- package/dist/cjs/entities/pool/apis/index.js +15 -3
- package/dist/cjs/entities/pool/apis/index.js.map +1 -1
- package/dist/cjs/entities/pool/apis/snapshot.js +28 -23
- package/dist/cjs/entities/pool/apis/snapshot.js.map +1 -1
- package/dist/cjs/entities/pool/model.js +28 -7
- package/dist/cjs/entities/pool/model.js.map +1 -1
- package/dist/cjs/entities/swap/apis/index.js +48 -0
- package/dist/cjs/entities/swap/apis/index.js.map +1 -0
- package/dist/cjs/entities/swap/types.js +3 -0
- package/dist/cjs/entities/swap/types.js.map +1 -0
- package/dist/cjs/index.js +8 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/index.js.map +1 -1
- package/dist/cjs/views/analytics.js +9 -1
- package/dist/cjs/views/analytics.js.map +1 -1
- package/dist/cjs/views/currency.js +10 -1
- package/dist/cjs/views/currency.js.map +1 -1
- package/dist/cjs/views/index.js +9 -1
- package/dist/cjs/views/index.js.map +1 -1
- package/dist/cjs/views/market/index.js +4 -2
- package/dist/cjs/views/market/index.js.map +1 -1
- package/dist/cjs/views/market/parse.js +22 -0
- package/dist/cjs/views/market/parse.js.map +1 -0
- package/dist/cjs/views/market/snapshot.js.map +1 -1
- package/dist/cjs/views/pool/index.js +16 -1
- package/dist/cjs/views/pool/index.js.map +1 -1
- package/dist/cjs/views/subgraph.js +12 -2
- package/dist/cjs/views/subgraph.js.map +1 -1
- package/dist/cjs/views/trade.js +15 -0
- package/dist/cjs/views/trade.js.map +1 -0
- package/dist/esm/calls/index.js +2 -1
- package/dist/esm/calls/index.js.map +1 -1
- package/dist/esm/calls/market/limit.js +6 -1
- package/dist/esm/calls/market/limit.js.map +1 -1
- package/dist/esm/calls/market/make.js +156 -0
- package/dist/esm/calls/market/make.js.map +1 -0
- package/dist/esm/calls/pool/burn.js +5 -5
- package/dist/esm/calls/pool/market-making/adjust.js +2 -2
- package/dist/esm/calls/pool/market-making/pause.js +2 -2
- package/dist/esm/calls/pool/market-making/refill.js +2 -2
- package/dist/esm/calls/pool/market-making/resume.js +2 -2
- package/dist/esm/calls/pool/mint.js +112 -74
- package/dist/esm/calls/pool/mint.js.map +1 -1
- package/dist/esm/calls/pool/open.js +7 -6
- package/dist/esm/calls/pool/open.js.map +1 -1
- package/dist/esm/calls/pool/wrap.js +138 -0
- package/dist/esm/calls/pool/wrap.js.map +1 -0
- package/dist/esm/constants/abis/core/book-manager-abi.js +28 -0
- package/dist/esm/constants/abis/core/book-manager-abi.js.map +1 -1
- package/dist/esm/constants/abis/core/controller-abi.js +24 -1
- package/dist/esm/constants/abis/core/controller-abi.js.map +1 -1
- package/dist/esm/constants/abis/core/params-abi.js +74 -0
- package/dist/esm/constants/abis/core/params-abi.js.map +1 -0
- package/dist/esm/constants/abis/rebalancer/wrapped-6909-factory-abi.js +104 -0
- package/dist/esm/constants/abis/rebalancer/wrapped-6909-factory-abi.js.map +1 -0
- package/dist/esm/constants/chain-configs/addresses.js +50 -34
- package/dist/esm/constants/chain-configs/addresses.js.map +1 -1
- package/dist/esm/constants/chain-configs/chain.js +9 -6
- package/dist/esm/constants/chain-configs/chain.js.map +1 -1
- package/dist/esm/constants/chain-configs/currency.js +140 -37
- package/dist/esm/constants/chain-configs/currency.js.map +1 -1
- package/dist/esm/constants/chain-configs/fee.js +6 -4
- package/dist/esm/constants/chain-configs/fee.js.map +1 -1
- package/dist/esm/constants/chain-configs/subgraph.js +4 -4
- package/dist/esm/constants/chain-configs/subgraph.js.map +1 -1
- package/dist/esm/constants/networks/giwa-sepolia.js +38 -0
- package/dist/esm/constants/networks/giwa-sepolia.js.map +1 -0
- package/dist/esm/constants/networks/test-chain.js +0 -23
- package/dist/esm/constants/networks/test-chain.js.map +1 -1
- package/dist/esm/entities/analytics/apis/index.js +99 -23
- package/dist/esm/entities/analytics/apis/index.js.map +1 -1
- package/dist/esm/entities/book/apis/index.js +10 -5
- package/dist/esm/entities/book/apis/index.js.map +1 -1
- package/dist/esm/entities/currency/apis/total-supply.js +4 -7
- package/dist/esm/entities/currency/apis/total-supply.js.map +1 -1
- package/dist/esm/entities/market/apis/index.js +3 -3
- package/dist/esm/entities/market/apis/index.js.map +1 -1
- package/dist/esm/entities/market/apis/snapshot.js +185 -78
- package/dist/esm/entities/market/apis/snapshot.js.map +1 -1
- package/dist/esm/entities/market/utils/market-id.js +16 -4
- package/dist/esm/entities/market/utils/market-id.js.map +1 -1
- package/dist/esm/entities/open-order/apis/index.js +2 -3
- package/dist/esm/entities/open-order/apis/index.js.map +1 -1
- package/dist/esm/entities/open-order/utils/order-id.js +4 -0
- package/dist/esm/entities/open-order/utils/order-id.js.map +1 -1
- package/dist/esm/entities/pool/apis/index.js +15 -3
- package/dist/esm/entities/pool/apis/index.js.map +1 -1
- package/dist/esm/entities/pool/apis/snapshot.js +29 -24
- package/dist/esm/entities/pool/apis/snapshot.js.map +1 -1
- package/dist/esm/entities/pool/model.js +28 -7
- package/dist/esm/entities/pool/model.js.map +1 -1
- package/dist/esm/entities/swap/apis/index.js +44 -0
- package/dist/esm/entities/swap/apis/index.js.map +1 -0
- package/dist/esm/entities/swap/types.js +2 -0
- package/dist/esm/entities/swap/types.js.map +1 -0
- package/dist/esm/index.js +6 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/index.js.map +1 -1
- package/dist/esm/views/analytics.js +7 -1
- package/dist/esm/views/analytics.js.map +1 -1
- package/dist/esm/views/currency.js +9 -1
- package/dist/esm/views/currency.js.map +1 -1
- package/dist/esm/views/index.js +6 -5
- package/dist/esm/views/index.js.map +1 -1
- package/dist/esm/views/market/index.js +2 -2
- package/dist/esm/views/market/index.js.map +1 -1
- package/dist/esm/views/market/parse.js +18 -0
- package/dist/esm/views/market/parse.js.map +1 -0
- package/dist/esm/views/market/snapshot.js.map +1 -1
- package/dist/esm/views/pool/index.js +14 -0
- package/dist/esm/views/pool/index.js.map +1 -1
- package/dist/esm/views/subgraph.js +22 -1
- package/dist/esm/views/subgraph.js.map +1 -1
- package/dist/esm/views/trade.js +11 -0
- package/dist/esm/views/trade.js.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/types/calls/index.d.ts +2 -1
- package/dist/types/calls/index.d.ts.map +1 -1
- package/dist/types/calls/market/limit.d.ts +1 -0
- package/dist/types/calls/market/limit.d.ts.map +1 -1
- package/dist/types/calls/market/make.d.ts +36 -0
- package/dist/types/calls/market/make.d.ts.map +1 -0
- package/dist/types/calls/pool/mint.d.ts +21 -5
- package/dist/types/calls/pool/mint.d.ts.map +1 -1
- package/dist/types/calls/pool/open.d.ts +8 -7
- package/dist/types/calls/pool/open.d.ts.map +1 -1
- package/dist/types/calls/pool/wrap.d.ts +79 -0
- package/dist/types/calls/pool/wrap.d.ts.map +1 -0
- package/dist/types/constants/abis/core/book-manager-abi.d.ts +35 -0
- package/dist/types/constants/abis/core/book-manager-abi.d.ts.map +1 -1
- package/dist/types/constants/abis/core/controller-abi.d.ts +19 -1
- package/dist/types/constants/abis/core/controller-abi.d.ts.map +1 -1
- package/dist/types/constants/abis/core/params-abi.d.ts +31 -0
- package/dist/types/constants/abis/core/params-abi.d.ts.map +1 -0
- package/dist/types/constants/abis/rebalancer/wrapped-6909-factory-abi.d.ts +80 -0
- package/dist/types/constants/abis/rebalancer/wrapped-6909-factory-abi.d.ts.map +1 -0
- package/dist/types/constants/chain-configs/addresses.d.ts +1 -0
- package/dist/types/constants/chain-configs/addresses.d.ts.map +1 -1
- package/dist/types/constants/chain-configs/chain.d.ts +4 -2
- package/dist/types/constants/chain-configs/chain.d.ts.map +1 -1
- package/dist/types/constants/chain-configs/currency.d.ts +10 -11
- package/dist/types/constants/chain-configs/currency.d.ts.map +1 -1
- package/dist/types/constants/chain-configs/fee.d.ts.map +1 -1
- package/dist/types/constants/chain-configs/subgraph.d.ts.map +1 -1
- package/dist/types/constants/networks/giwa-sepolia.d.ts +60 -0
- package/dist/types/constants/networks/giwa-sepolia.d.ts.map +1 -0
- package/dist/types/constants/networks/rise-sepolia.d.ts +3 -0
- package/dist/types/constants/networks/rise-sepolia.d.ts.map +1 -1
- package/dist/types/constants/networks/test-chain.d.ts +0 -1
- package/dist/types/constants/networks/test-chain.d.ts.map +1 -1
- package/dist/types/entities/analytics/apis/index.d.ts +3 -1
- package/dist/types/entities/analytics/apis/index.d.ts.map +1 -1
- package/dist/types/entities/analytics/types.d.ts +14 -1
- package/dist/types/entities/analytics/types.d.ts.map +1 -1
- package/dist/types/entities/book/apis/index.d.ts +1 -1
- package/dist/types/entities/book/apis/index.d.ts.map +1 -1
- package/dist/types/entities/currency/apis/total-supply.d.ts.map +1 -1
- package/dist/types/entities/market/apis/index.d.ts +1 -1
- package/dist/types/entities/market/apis/index.d.ts.map +1 -1
- package/dist/types/entities/market/apis/snapshot.d.ts +1 -1
- package/dist/types/entities/market/apis/snapshot.d.ts.map +1 -1
- package/dist/types/entities/market/utils/market-id.d.ts.map +1 -1
- package/dist/types/entities/open-order/apis/index.d.ts.map +1 -1
- package/dist/types/entities/open-order/types.d.ts +0 -1
- package/dist/types/entities/open-order/types.d.ts.map +1 -1
- package/dist/types/entities/open-order/utils/order-id.d.ts +1 -0
- package/dist/types/entities/open-order/utils/order-id.d.ts.map +1 -1
- package/dist/types/entities/pool/apis/index.d.ts.map +1 -1
- package/dist/types/entities/pool/apis/snapshot.d.ts.map +1 -1
- package/dist/types/entities/pool/model.d.ts +6 -2
- package/dist/types/entities/pool/model.d.ts.map +1 -1
- package/dist/types/entities/pool/types.d.ts +9 -4
- package/dist/types/entities/pool/types.d.ts.map +1 -1
- package/dist/types/entities/swap/apis/index.d.ts +5 -0
- package/dist/types/entities/swap/apis/index.d.ts.map +1 -0
- package/dist/types/entities/swap/types.d.ts +12 -0
- package/dist/types/entities/swap/types.d.ts.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/types/index.d.ts +2 -0
- package/dist/types/types/index.d.ts.map +1 -1
- package/dist/types/types/transaction.d.ts +1 -1
- package/dist/types/types/transaction.d.ts.map +1 -1
- package/dist/types/views/address.d.ts +1 -0
- package/dist/types/views/address.d.ts.map +1 -1
- package/dist/types/views/analytics.d.ts +8 -1
- package/dist/types/views/analytics.d.ts.map +1 -1
- package/dist/types/views/currency.d.ts +5 -6
- package/dist/types/views/currency.d.ts.map +1 -1
- package/dist/types/views/index.d.ts +6 -5
- package/dist/types/views/index.d.ts.map +1 -1
- package/dist/types/views/market/index.d.ts +1 -2
- package/dist/types/views/market/index.d.ts.map +1 -1
- package/dist/types/views/market/parse.d.ts +10 -0
- package/dist/types/views/market/parse.d.ts.map +1 -0
- package/dist/types/views/market/snapshot.d.ts +1 -1
- package/dist/types/views/market/snapshot.d.ts.map +1 -1
- package/dist/types/views/pool/index.d.ts +8 -1
- package/dist/types/views/pool/index.d.ts.map +1 -1
- package/dist/types/views/subgraph.d.ts +20 -0
- package/dist/types/views/subgraph.d.ts.map +1 -1
- package/dist/types/views/trade.d.ts +10 -0
- package/dist/types/views/trade.d.ts.map +1 -0
- package/package.json +2 -2
- package/dist/cjs/calls/pool/market-making/strategy.js +0 -78
- package/dist/cjs/calls/pool/market-making/strategy.js.map +0 -1
- package/dist/esm/calls/pool/market-making/strategy.js +0 -75
- package/dist/esm/calls/pool/market-making/strategy.js.map +0 -1
- package/dist/types/calls/pool/market-making/strategy.d.ts +0 -23
- package/dist/types/calls/pool/market-making/strategy.d.ts.map +0 -1
|
@@ -4,12 +4,14 @@ import { BOOK_VIEWER_ABI } from '../../../constants/abis/core/book-viewer-abi';
|
|
|
4
4
|
import { Subgraph } from '../../../constants/chain-configs/subgraph';
|
|
5
5
|
import { toBookId } from '../utils/book-id';
|
|
6
6
|
import { BookModel } from '../model';
|
|
7
|
-
|
|
7
|
+
const MAX_DEPTH = 20n; // if the depth is too large, it may cause revert errors in the contract call
|
|
8
|
+
export const fetchBook = async (publicClient, chainId, quoteCurrency, baseCurrency, useSubgraph) => {
|
|
8
9
|
const unitSize = calculateUnitSize(chainId, quoteCurrency);
|
|
9
10
|
const bookId = toBookId(chainId, quoteCurrency.address, baseCurrency.address, unitSize);
|
|
10
11
|
if (useSubgraph) {
|
|
11
|
-
const { data: { book }, } = await Subgraph.get(chainId, 'getBook', 'query getBook($bookId: ID!) { book(id: $bookId) { depths(where: {unitAmount_gt: 0}) { tick unitAmount } } }', {
|
|
12
|
-
bookId,
|
|
12
|
+
const { data: { book }, } = await Subgraph.get(chainId, 'getBook', 'query getBook($bookId: ID!, $first: Int!) { book(id: $bookId) { depths(first: $first where: {unitAmount_gt: 0}, orderBy: tick, orderDirection: desc) { tick unitAmount } } }', {
|
|
13
|
+
bookId: bookId.toString(),
|
|
14
|
+
first: 1000, // Adjust as needed for depth
|
|
13
15
|
});
|
|
14
16
|
return new BookModel({
|
|
15
17
|
chainId,
|
|
@@ -26,13 +28,13 @@ export const fetchBook = async (publicClient, chainId, quoteCurrency, baseCurren
|
|
|
26
28
|
isOpened: book !== null,
|
|
27
29
|
});
|
|
28
30
|
}
|
|
29
|
-
const [{ result: depths }, { result: isOpened }] = await publicClient.multicall({
|
|
31
|
+
const [{ result: depths, error }, { result: isOpened }] = await publicClient.multicall({
|
|
30
32
|
contracts: [
|
|
31
33
|
{
|
|
32
34
|
address: CONTRACT_ADDRESSES[chainId].BookViewer,
|
|
33
35
|
abi: BOOK_VIEWER_ABI,
|
|
34
36
|
functionName: 'getLiquidity',
|
|
35
|
-
args: [bookId, Number(2n ** 19n - 1n),
|
|
37
|
+
args: [bookId, Number(2n ** 19n - 1n), MAX_DEPTH],
|
|
36
38
|
},
|
|
37
39
|
{
|
|
38
40
|
address: CONTRACT_ADDRESSES[chainId].BookManager,
|
|
@@ -62,6 +64,9 @@ export const fetchBook = async (publicClient, chainId, quoteCurrency, baseCurren
|
|
|
62
64
|
},
|
|
63
65
|
],
|
|
64
66
|
});
|
|
67
|
+
if (error) {
|
|
68
|
+
throw new Error(`Failed to fetch book data: ${error.message}`);
|
|
69
|
+
}
|
|
65
70
|
return new BookModel({
|
|
66
71
|
chainId,
|
|
67
72
|
id: bookId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/entities/book/apis/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAA;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAA;AAC9E,OAAO,EAAE,QAAQ,EAAE,MAAM,2CAA2C,CAAA;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAEpC,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,EAC5B,YAA0B,EAC1B,OAAkB,EAClB,aAAuB,EACvB,YAAsB,EACtB,WAAoB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/entities/book/apis/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { zeroAddress, isAddressEqual } from 'viem';
|
|
2
|
-
import {
|
|
2
|
+
import { NATIVE_CURRENCY_TOTAL_SUPPLY } from '../../../constants/chain-configs/currency';
|
|
3
3
|
const abi = [
|
|
4
4
|
{
|
|
5
5
|
name: 'totalSupply',
|
|
@@ -15,7 +15,7 @@ const getFromCache = (chainId, address) => totalSupplyCache.get(buildCacheKey(ch
|
|
|
15
15
|
const setToCache = (chainId, address, value) => totalSupplyCache.set(buildCacheKey(chainId, address), value);
|
|
16
16
|
export const fetchTotalSupply = async (publicClient, chainId, address) => {
|
|
17
17
|
if (isAddressEqual(address, zeroAddress)) {
|
|
18
|
-
return
|
|
18
|
+
return NATIVE_CURRENCY_TOTAL_SUPPLY[chainId];
|
|
19
19
|
}
|
|
20
20
|
const cached = getFromCache(chainId, address);
|
|
21
21
|
if (cached !== undefined) {
|
|
@@ -49,17 +49,14 @@ export const fetchTotalSupplyMap = async (publicClient, chainId, addresses) => {
|
|
|
49
49
|
: [];
|
|
50
50
|
const fetched = Object.fromEntries(results.map((r, i) => {
|
|
51
51
|
const address = toFetch[i];
|
|
52
|
-
const result = r.result;
|
|
53
|
-
if (!result) {
|
|
54
|
-
throw new Error(`Failed to fetch totalSupply for ${address}`);
|
|
55
|
-
}
|
|
52
|
+
const result = r.result ?? 0n;
|
|
56
53
|
setToCache(chainId, address, result);
|
|
57
54
|
return [address, result];
|
|
58
55
|
}));
|
|
59
56
|
return {
|
|
60
57
|
...cached,
|
|
61
58
|
...fetched,
|
|
62
|
-
[zeroAddress]:
|
|
59
|
+
[zeroAddress]: NATIVE_CURRENCY_TOTAL_SUPPLY[chainId],
|
|
63
60
|
};
|
|
64
61
|
};
|
|
65
62
|
//# sourceMappingURL=total-supply.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"total-supply.js","sourceRoot":"","sources":["../../../../../src/entities/currency/apis/total-supply.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAE,cAAc,EAAE,MAAM,MAAM,CAAA;AAEhE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"total-supply.js","sourceRoot":"","sources":["../../../../../src/entities/currency/apis/total-supply.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { MarketModel } from '../model';
|
|
|
2
2
|
import { getMarketId } from '../utils/market-id';
|
|
3
3
|
import { fetchCurrencyMap } from '../../currency/apis';
|
|
4
4
|
import { fetchBook } from '../../book/apis';
|
|
5
|
-
export async function fetchMarket(publicClient, chainId, tokenAddresses, useSubgraph
|
|
5
|
+
export async function fetchMarket(publicClient, chainId, tokenAddresses, useSubgraph) {
|
|
6
6
|
if (tokenAddresses.length !== 2) {
|
|
7
7
|
throw new Error('Invalid token pair');
|
|
8
8
|
}
|
|
@@ -16,8 +16,8 @@ export async function fetchMarket(publicClient, chainId, tokenAddresses, useSubg
|
|
|
16
16
|
currencyMap[baseTokenAddress],
|
|
17
17
|
];
|
|
18
18
|
const [bidBook, askBook] = await Promise.all([
|
|
19
|
-
fetchBook(publicClient, chainId, quoteCurrency, baseCurrency, useSubgraph
|
|
20
|
-
fetchBook(publicClient, chainId, baseCurrency, quoteCurrency, useSubgraph
|
|
19
|
+
fetchBook(publicClient, chainId, quoteCurrency, baseCurrency, useSubgraph),
|
|
20
|
+
fetchBook(publicClient, chainId, baseCurrency, quoteCurrency, useSubgraph),
|
|
21
21
|
]);
|
|
22
22
|
return new MarketModel({
|
|
23
23
|
chainId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/entities/market/apis/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,YAA0B,EAC1B,OAAkB,EAClB,cAA+B,EAC/B,WAAoB
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/entities/market/apis/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,YAA0B,EAC1B,OAAkB,EAClB,cAA+B,EAC/B,WAAoB;IAEpB,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;IACvC,CAAC;IAED,MAAM,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,GAAG,WAAW,CAAC,OAAO,EAAE;QACnE,cAAc,CAAC,CAAC,CAAE;QAClB,cAAc,CAAC,CAAC,CAAE;KACnB,CAAC,CAAA;IACF,MAAM,WAAW,GAAG,MAAM,gBAAgB,CACxC,YAAY,EACZ,OAAO,EACP,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,EACrC,WAAW,CACZ,CAAA;IACD,MAAM,CAAC,aAAa,EAAE,YAAY,CAAC,GAAG;QACpC,WAAW,CAAC,iBAAiB,CAAC;QAC9B,WAAW,CAAC,gBAAgB,CAAC;KAC9B,CAAA;IACD,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC3C,SAAS,CAAC,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,CAAC;QAC1E,SAAS,CAAC,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,CAAC;KAC3E,CAAC,CAAA;IAEF,OAAO,IAAI,WAAW,CAAC;QACrB,OAAO;QACP,MAAM,EAAE,CAAC,aAAa,EAAE,YAAY,CAAC;QACrC,OAAO;QACP,OAAO;KACR,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -6,7 +6,7 @@ import { getDailyStartTimestampInSeconds } from '../../../utils/time';
|
|
|
6
6
|
import { convertTokenToDecimal } from '../../../utils/bigint';
|
|
7
7
|
export const fetchMarketSnapshot = async (publicClient, chainId, token0, token1, timestampInSeconds) => {
|
|
8
8
|
const dayStartTimestamp = getDailyStartTimestampInSeconds(timestampInSeconds);
|
|
9
|
-
const { data: { bookDayDatas }, } = await Subgraph.get(chainId, 'getTopMarketSnapshot', 'query getMarkets($date: Int!, $bases: [String!]!, $quotes: [String!]!) { bookDayDatas( first: 200 orderBy: volumeUSD orderDirection: desc where: {date: $date, book_: {base_in: $bases, quote_in: $quotes}} ) { volumeUSD open close book { id totalValueLockedUSD price inversePrice lastTakenTimestamp base { id name symbol decimals priceUSD } quote { id name symbol decimals priceUSD } createdAtTimestamp } } }', {
|
|
9
|
+
const { data: { books, bookDayDatas }, } = await Subgraph.get(chainId, 'getTopMarketSnapshot', 'query getMarkets($date: Int!, $bases: [String!]!, $quotes: [String!]!) { books: books(where: {base_in: $bases, quote_in: $quotes}) { price inversePrice totalValueLockedUSD lastTakenTimestamp base { id name symbol decimals priceUSD } quote { id name symbol decimals priceUSD } } bookDayDatas( first: 200 orderBy: volumeUSD orderDirection: desc where: {date: $date, book_: {base_in: $bases, quote_in: $quotes}} ) { volumeUSD open close book { id totalValueLockedUSD price inversePrice lastTakenTimestamp base { id name symbol decimals priceUSD } quote { id name symbol decimals priceUSD } createdAtTimestamp } } }', {
|
|
10
10
|
date: dayStartTimestamp,
|
|
11
11
|
bases: [token0, token1].map((address) => address.toLowerCase()),
|
|
12
12
|
quotes: [token0, token1].map((address) => address.toLowerCase()),
|
|
@@ -14,121 +14,226 @@ export const fetchMarketSnapshot = async (publicClient, chainId, token0, token1,
|
|
|
14
14
|
if (bookDayDatas.length >= 3) {
|
|
15
15
|
// TODO: check fee policy if needed
|
|
16
16
|
console.warn(`[fetchMarketSnapshot] too many bookDayDatas for ${token0}/${token1}`);
|
|
17
|
+
return null;
|
|
17
18
|
}
|
|
18
19
|
const totalSupplyMap = await fetchTotalSupplyMap(publicClient, chainId, [token0, token1].map((address) => getAddress(address)));
|
|
19
|
-
const
|
|
20
|
+
const dailyBidBookData = bookDayDatas.find(({ book: { quote, base } }) => isAddressEqual(getAddress(quote.id), getQuoteToken({
|
|
20
21
|
chainId,
|
|
21
22
|
token0: getAddress(base.id),
|
|
22
23
|
token1: getAddress(quote.id),
|
|
23
24
|
})));
|
|
24
|
-
const
|
|
25
|
+
const dailyAskBookData = bookDayDatas.find(({ book: { quote, base } }) => isAddressEqual(getAddress(base.id), getQuoteToken({
|
|
25
26
|
chainId,
|
|
26
27
|
token0: getAddress(quote.id),
|
|
27
28
|
token1: getAddress(base.id),
|
|
28
29
|
})));
|
|
29
|
-
if (
|
|
30
|
-
const baseTotalSupply = convertTokenToDecimal(BigInt(totalSupplyMap[getAddress(
|
|
31
|
-
const isBidNewer = Number(
|
|
32
|
-
Number(
|
|
30
|
+
if (dailyBidBookData && dailyAskBookData) {
|
|
31
|
+
const baseTotalSupply = convertTokenToDecimal(BigInt(totalSupplyMap[getAddress(dailyBidBookData.book.base.id)] ?? 0n), Number(dailyBidBookData.book.base.decimals));
|
|
32
|
+
const isBidNewer = Number(dailyBidBookData.book.lastTakenTimestamp) >=
|
|
33
|
+
Number(dailyAskBookData.book.lastTakenTimestamp);
|
|
33
34
|
return {
|
|
34
35
|
chainId,
|
|
35
|
-
marketId: `${
|
|
36
|
+
marketId: `${dailyBidBookData.book.base.symbol}/${dailyBidBookData.book.quote.symbol}`,
|
|
36
37
|
base: {
|
|
37
|
-
address: getAddress(
|
|
38
|
-
name:
|
|
39
|
-
symbol:
|
|
40
|
-
decimals: Number(
|
|
38
|
+
address: getAddress(dailyBidBookData.book.base.id),
|
|
39
|
+
name: dailyBidBookData.book.base.name,
|
|
40
|
+
symbol: dailyBidBookData.book.base.symbol,
|
|
41
|
+
decimals: Number(dailyBidBookData.book.base.decimals),
|
|
41
42
|
},
|
|
42
43
|
quote: {
|
|
43
|
-
address: getAddress(
|
|
44
|
-
name:
|
|
45
|
-
symbol:
|
|
46
|
-
decimals: Number(
|
|
44
|
+
address: getAddress(dailyBidBookData.book.quote.id),
|
|
45
|
+
name: dailyBidBookData.book.quote.name,
|
|
46
|
+
symbol: dailyBidBookData.book.quote.symbol,
|
|
47
|
+
decimals: Number(dailyBidBookData.book.quote.decimals),
|
|
47
48
|
},
|
|
48
49
|
price: isBidNewer
|
|
49
|
-
? Number(
|
|
50
|
-
: Number(
|
|
50
|
+
? Number(dailyBidBookData.book.price)
|
|
51
|
+
: Number(dailyAskBookData.book.inversePrice),
|
|
51
52
|
priceUSD: isBidNewer
|
|
52
|
-
? Number(
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
53
|
+
? Number(dailyBidBookData.book.price) *
|
|
54
|
+
Number(dailyBidBookData.book.quote.priceUSD)
|
|
55
|
+
: Number(dailyAskBookData.book.inversePrice) *
|
|
56
|
+
Number(dailyAskBookData.book.base.priceUSD),
|
|
57
|
+
volume24hUSD: Number(dailyBidBookData.volumeUSD) + Number(dailyAskBookData.volumeUSD),
|
|
58
|
+
totalValueLockedUSD: Number(dailyBidBookData.book.totalValueLockedUSD) +
|
|
59
|
+
Number(dailyAskBookData.book.totalValueLockedUSD),
|
|
60
|
+
priceChange24h: isBidNewer && Number(dailyBidBookData.open) > 0
|
|
61
|
+
? Number(dailyBidBookData.close) / Number(dailyBidBookData.open) - 1
|
|
62
|
+
: !isBidNewer && Number(dailyAskBookData.close) > 0
|
|
63
|
+
? Number(dailyAskBookData.open) / Number(dailyAskBookData.close) - 1
|
|
61
64
|
: 0,
|
|
62
|
-
createdAtTimestamp: Math.min(Number(
|
|
65
|
+
createdAtTimestamp: Math.min(Number(dailyBidBookData.book.createdAtTimestamp), Number(dailyAskBookData.book.createdAtTimestamp)),
|
|
63
66
|
fdv: baseTotalSupply *
|
|
64
67
|
(isBidNewer
|
|
65
|
-
? Number(
|
|
66
|
-
: Number(
|
|
67
|
-
bidBookUpdatedAt: Number(
|
|
68
|
-
askBookUpdatedAt: Number(
|
|
68
|
+
? Number(dailyBidBookData.book.base.priceUSD)
|
|
69
|
+
: Number(dailyAskBookData.book.quote.priceUSD)),
|
|
70
|
+
bidBookUpdatedAt: Number(dailyBidBookData.book.lastTakenTimestamp),
|
|
71
|
+
askBookUpdatedAt: Number(dailyAskBookData.book.lastTakenTimestamp),
|
|
69
72
|
};
|
|
70
73
|
}
|
|
71
|
-
else if (
|
|
72
|
-
const baseTotalSupply = convertTokenToDecimal(BigInt(totalSupplyMap[getAddress(
|
|
74
|
+
else if (dailyBidBookData) {
|
|
75
|
+
const baseTotalSupply = convertTokenToDecimal(BigInt(totalSupplyMap[getAddress(dailyBidBookData.book.base.id)] ?? 0n), Number(dailyBidBookData.book.base.decimals));
|
|
73
76
|
return {
|
|
74
77
|
chainId,
|
|
75
|
-
marketId: `${
|
|
78
|
+
marketId: `${dailyBidBookData.book.base.symbol}/${dailyBidBookData.book.quote.symbol}`,
|
|
76
79
|
base: {
|
|
77
|
-
address: getAddress(
|
|
78
|
-
name:
|
|
79
|
-
symbol:
|
|
80
|
-
decimals: Number(
|
|
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),
|
|
81
84
|
},
|
|
82
85
|
quote: {
|
|
83
|
-
address: getAddress(
|
|
84
|
-
name:
|
|
85
|
-
symbol:
|
|
86
|
-
decimals: Number(
|
|
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),
|
|
87
90
|
},
|
|
88
|
-
price: Number(
|
|
89
|
-
priceUSD: Number(
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
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
|
|
94
98
|
: 0,
|
|
95
|
-
createdAtTimestamp: Number(
|
|
96
|
-
fdv: baseTotalSupply * Number(
|
|
97
|
-
bidBookUpdatedAt: Number(
|
|
99
|
+
createdAtTimestamp: Number(dailyBidBookData.book.createdAtTimestamp) || 0,
|
|
100
|
+
fdv: baseTotalSupply * Number(dailyBidBookData.book.base.priceUSD) || 0,
|
|
101
|
+
bidBookUpdatedAt: Number(dailyBidBookData.book.lastTakenTimestamp) || 0,
|
|
98
102
|
askBookUpdatedAt: 0,
|
|
99
103
|
};
|
|
100
104
|
}
|
|
101
|
-
else if (
|
|
102
|
-
const baseTotalSupply = convertTokenToDecimal(BigInt(totalSupplyMap[getAddress(
|
|
105
|
+
else if (dailyAskBookData) {
|
|
106
|
+
const baseTotalSupply = convertTokenToDecimal(BigInt(totalSupplyMap[getAddress(dailyAskBookData.book.quote.id)] ?? 0n), Number(dailyAskBookData.book.quote.decimals));
|
|
103
107
|
return {
|
|
104
108
|
chainId,
|
|
105
|
-
marketId: `${
|
|
109
|
+
marketId: `${dailyAskBookData.book.quote.symbol}/${dailyAskBookData.book.base.symbol}`,
|
|
106
110
|
base: {
|
|
107
|
-
address: getAddress(
|
|
108
|
-
name:
|
|
109
|
-
symbol:
|
|
110
|
-
decimals: Number(
|
|
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),
|
|
111
115
|
},
|
|
112
116
|
quote: {
|
|
113
|
-
address: getAddress(
|
|
114
|
-
name:
|
|
115
|
-
symbol:
|
|
116
|
-
decimals: Number(
|
|
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),
|
|
117
121
|
},
|
|
118
|
-
price: Number(
|
|
119
|
-
priceUSD: Number(
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
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
|
|
124
129
|
: 0,
|
|
125
|
-
createdAtTimestamp: Number(
|
|
126
|
-
fdv: baseTotalSupply * Number(
|
|
130
|
+
createdAtTimestamp: Number(dailyAskBookData.book.createdAtTimestamp) || 0,
|
|
131
|
+
fdv: baseTotalSupply * Number(dailyAskBookData.book.quote.priceUSD) || 0,
|
|
132
|
+
bidBookUpdatedAt: 0,
|
|
133
|
+
askBookUpdatedAt: Number(dailyAskBookData.book.lastTakenTimestamp) || 0,
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
if (books.length >= 3) {
|
|
137
|
+
// TODO: check fee policy if needed
|
|
138
|
+
console.warn(`[fetchMarketSnapshot] too many books for ${token0}/${token1}`);
|
|
139
|
+
return null;
|
|
140
|
+
}
|
|
141
|
+
const bidBook = books.find(({ quote, base }) => isAddressEqual(getAddress(quote.id), getQuoteToken({
|
|
142
|
+
chainId,
|
|
143
|
+
token0: getAddress(base.id),
|
|
144
|
+
token1: getAddress(quote.id),
|
|
145
|
+
})));
|
|
146
|
+
const askBook = books.find(({ quote, base }) => isAddressEqual(getAddress(base.id), getQuoteToken({
|
|
147
|
+
chainId,
|
|
148
|
+
token0: getAddress(quote.id),
|
|
149
|
+
token1: getAddress(base.id),
|
|
150
|
+
})));
|
|
151
|
+
if (bidBook && askBook) {
|
|
152
|
+
const baseTotalSupply = convertTokenToDecimal(BigInt(totalSupplyMap[getAddress(bidBook.base.id)] ?? 0n), Number(bidBook.base.decimals));
|
|
153
|
+
return {
|
|
154
|
+
chainId,
|
|
155
|
+
marketId: `${bidBook.base.symbol}/${bidBook.quote.symbol}`,
|
|
156
|
+
base: {
|
|
157
|
+
address: getAddress(bidBook.base.id),
|
|
158
|
+
name: bidBook.base.name,
|
|
159
|
+
symbol: bidBook.base.symbol,
|
|
160
|
+
decimals: Number(bidBook.base.decimals),
|
|
161
|
+
},
|
|
162
|
+
quote: {
|
|
163
|
+
address: getAddress(bidBook.quote.id),
|
|
164
|
+
name: bidBook.quote.name,
|
|
165
|
+
symbol: bidBook.quote.symbol,
|
|
166
|
+
decimals: Number(bidBook.quote.decimals),
|
|
167
|
+
},
|
|
168
|
+
price: Number(bidBook.price),
|
|
169
|
+
priceUSD: Number(bidBook.price) * Number(bidBook.quote.priceUSD),
|
|
170
|
+
volume24hUSD: 0,
|
|
171
|
+
totalValueLockedUSD: Number(bidBook.totalValueLockedUSD) +
|
|
172
|
+
Number(askBook.totalValueLockedUSD),
|
|
173
|
+
priceChange24h: 0,
|
|
174
|
+
createdAtTimestamp: Math.min(Number(bidBook.lastTakenTimestamp), Number(askBook.lastTakenTimestamp)),
|
|
175
|
+
fdv: baseTotalSupply * Number(bidBook.quote.priceUSD),
|
|
176
|
+
bidBookUpdatedAt: Number(bidBook.lastTakenTimestamp),
|
|
177
|
+
askBookUpdatedAt: Number(askBook.lastTakenTimestamp),
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
else if (bidBook) {
|
|
181
|
+
const baseTotalSupply = convertTokenToDecimal(BigInt(totalSupplyMap[getAddress(bidBook.base.id)] ?? 0n), Number(bidBook.base.decimals));
|
|
182
|
+
return {
|
|
183
|
+
chainId,
|
|
184
|
+
marketId: `${bidBook.base.symbol}/${bidBook.quote.symbol}`,
|
|
185
|
+
base: {
|
|
186
|
+
address: getAddress(bidBook.base.id),
|
|
187
|
+
name: bidBook.base.name,
|
|
188
|
+
symbol: bidBook.base.symbol,
|
|
189
|
+
decimals: Number(bidBook.base.decimals),
|
|
190
|
+
},
|
|
191
|
+
quote: {
|
|
192
|
+
address: getAddress(bidBook.quote.id),
|
|
193
|
+
name: bidBook.quote.name,
|
|
194
|
+
symbol: bidBook.quote.symbol,
|
|
195
|
+
decimals: Number(bidBook.quote.decimals),
|
|
196
|
+
},
|
|
197
|
+
price: Number(bidBook.price),
|
|
198
|
+
priceUSD: Number(bidBook.price) * Number(bidBook.quote.priceUSD),
|
|
199
|
+
volume24hUSD: 0,
|
|
200
|
+
totalValueLockedUSD: Number(bidBook.totalValueLockedUSD),
|
|
201
|
+
priceChange24h: 0,
|
|
202
|
+
createdAtTimestamp: Number(bidBook.lastTakenTimestamp),
|
|
203
|
+
fdv: baseTotalSupply * Number(bidBook.quote.priceUSD),
|
|
204
|
+
bidBookUpdatedAt: Number(bidBook.lastTakenTimestamp),
|
|
205
|
+
askBookUpdatedAt: 0,
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
else if (askBook) {
|
|
209
|
+
const baseTotalSupply = convertTokenToDecimal(BigInt(totalSupplyMap[getAddress(askBook.quote.id)] ?? 0n), Number(askBook.quote.decimals));
|
|
210
|
+
return {
|
|
211
|
+
chainId,
|
|
212
|
+
marketId: `${askBook.quote.symbol}/${askBook.base.symbol}`,
|
|
213
|
+
base: {
|
|
214
|
+
address: getAddress(askBook.quote.id),
|
|
215
|
+
name: askBook.quote.name,
|
|
216
|
+
symbol: askBook.quote.symbol,
|
|
217
|
+
decimals: Number(askBook.quote.decimals),
|
|
218
|
+
},
|
|
219
|
+
quote: {
|
|
220
|
+
address: getAddress(askBook.base.id),
|
|
221
|
+
name: askBook.base.name,
|
|
222
|
+
symbol: askBook.base.symbol,
|
|
223
|
+
decimals: Number(askBook.base.decimals),
|
|
224
|
+
},
|
|
225
|
+
price: Number(askBook.inversePrice),
|
|
226
|
+
priceUSD: Number(askBook.inversePrice) * Number(askBook.base.priceUSD),
|
|
227
|
+
volume24hUSD: 0,
|
|
228
|
+
totalValueLockedUSD: Number(askBook.totalValueLockedUSD),
|
|
229
|
+
priceChange24h: 0,
|
|
230
|
+
createdAtTimestamp: Number(askBook.lastTakenTimestamp),
|
|
231
|
+
fdv: baseTotalSupply * Number(askBook.quote.priceUSD),
|
|
127
232
|
bidBookUpdatedAt: 0,
|
|
128
|
-
askBookUpdatedAt: Number(askBook.
|
|
233
|
+
askBookUpdatedAt: Number(askBook.lastTakenTimestamp),
|
|
129
234
|
};
|
|
130
235
|
}
|
|
131
|
-
|
|
236
|
+
return null;
|
|
132
237
|
};
|
|
133
238
|
export const fetchMarketSnapshots = async (publicClient, chainId, timestampInSeconds) => {
|
|
134
239
|
const dayStartTimestamp = getDailyStartTimestampInSeconds(timestampInSeconds);
|
|
@@ -182,8 +287,9 @@ export const fetchMarketSnapshots = async (publicClient, chainId, timestampInSec
|
|
|
182
287
|
? Number(bidBook.book.price)
|
|
183
288
|
: Number(askBook?.book.inversePrice),
|
|
184
289
|
priceUSD: isBidNewer
|
|
185
|
-
? Number(bidBook.book.
|
|
186
|
-
: Number(askBook?.book.
|
|
290
|
+
? Number(bidBook.book.price) * Number(bidBook.book.quote.priceUSD)
|
|
291
|
+
: Number(askBook?.book.inversePrice) *
|
|
292
|
+
Number(askBook?.book.base.priceUSD),
|
|
187
293
|
priceChange24h: isBidNewer && Number(bidBook.open) > 0
|
|
188
294
|
? Number(bidBook.close) / Number(bidBook.open) - 1
|
|
189
295
|
: !isBidNewer && askBook && Number(askBook.close) > 0
|
|
@@ -233,8 +339,9 @@ export const fetchMarketSnapshots = async (publicClient, chainId, timestampInSec
|
|
|
233
339
|
? Number(bidBook?.book.price)
|
|
234
340
|
: Number(askBook.book.inversePrice),
|
|
235
341
|
priceUSD: isBidNewer
|
|
236
|
-
? Number(bidBook?.book.
|
|
237
|
-
: Number(askBook.book.
|
|
342
|
+
? Number(bidBook?.book.price) * Number(bidBook?.book.quote.priceUSD)
|
|
343
|
+
: Number(askBook.book.inversePrice) *
|
|
344
|
+
Number(askBook.book.base.priceUSD),
|
|
238
345
|
priceChange24h: isBidNewer && bidBook && Number(bidBook.open) > 0
|
|
239
346
|
? Number(bidBook.close) / Number(bidBook.open) - 1
|
|
240
347
|
: !isBidNewer && Number(askBook.close) > 0
|
|
@@ -258,7 +365,7 @@ export const fetchMarketSnapshots = async (publicClient, chainId, timestampInSec
|
|
|
258
365
|
};
|
|
259
366
|
}),
|
|
260
367
|
]
|
|
261
|
-
.filter(({
|
|
368
|
+
.filter(({ priceUSD }) => priceUSD > 0)
|
|
262
369
|
.filter((market, index, self) => self.findIndex((m) => m.marketId === market.marketId) === index);
|
|
263
370
|
};
|
|
264
371
|
//# sourceMappingURL=snapshot.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../../../../src/entities/market/apis/snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAgB,MAAM,MAAM,CAAA;AAI/D,OAAO,EAAE,QAAQ,EAAE,MAAM,2CAA2C,CAAA;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAA;AACtE,OAAO,EAAE,+BAA+B,EAAE,MAAM,qBAAqB,CAAA;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AA8B7D,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EACtC,YAA0B,EAC1B,OAAkB,EAClB,MAAqB,EACrB,MAAqB,EACrB,kBAA0B,EACD,EAAE;IAC3B,MAAM,iBAAiB,GAAG,+BAA+B,CAAC,kBAAkB,CAAC,CAAA;IAE7E,MAAM,EACJ,IAAI,EAAE,EAAE,YAAY,EAAE,GACvB,GAAG,MAAM,QAAQ,CAAC,GAAG,CAKpB,OAAO,EACP,sBAAsB,EACtB,wZAAwZ,EACxZ;QACE,IAAI,EAAE,iBAAiB;QACvB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QAC/D,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;KACjE,CACF,CAAA;IACD,IAAI,YAAY,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAC7B,mCAAmC;QACnC,OAAO,CAAC,IAAI,CACV,mDAAmD,MAAM,IAAI,MAAM,EAAE,CACtE,CAAA;IACH,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,mBAAmB,CAC9C,YAAY,EACZ,OAAO,EACP,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CACvD,CAAA;IAED,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAC9D,cAAc,CACZ,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,EACpB,aAAa,CAAC;QACZ,OAAO;QACP,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;KAC7B,CAAC,CACH,CACF,CAAA;IACD,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAC9D,cAAc,CACZ,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EACnB,aAAa,CAAC;QACZ,OAAO;QACP,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;KAC5B,CAAC,CACH,CACF,CAAA;IACD,IAAI,OAAO,IAAI,OAAO,EAAE,CAAC;QACvB,MAAM,eAAe,GAAG,qBAAqB,CAC3C,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,EAC9D,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CACnC,CAAA;QACD,MAAM,UAAU,GACd,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC;YACvC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;QACzC,OAAO;YACL,OAAO;YACP,QAAQ,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YACpE,IAAI,EAAE;gBACJ,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;gBAC5B,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM;gBAChC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;aAC7C;YACD,KAAK,EAAE;gBACL,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1C,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI;gBAC7B,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;gBACjC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;aAC9C;YACD,KAAK,EAAE,UAAU;gBACf,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC5B,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;YACrC,QAAQ,EAAE,UAAU;gBAClB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;gBACpC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;YACvC,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;YACnE,mBAAmB,EACjB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC;gBACxC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC1C,cAAc,EACZ,UAAU,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;gBACpC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;gBAClD,CAAC,CAAC,CAAC,UAAU,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;oBACxC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;oBAClD,CAAC,CAAC,CAAC;YACT,kBAAkB,EAAE,IAAI,CAAC,GAAG,CAC1B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,EACvC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CACxC;YACD,GAAG,EACD,eAAe;gBACf,CAAC,UAAU;oBACT,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;oBACpC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC1C,gBAAgB,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC;YACzD,gBAAgB,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC;SAC1D,CAAA;IACH,CAAC;SAAM,IAAI,OAAO,EAAE,CAAC;QACnB,MAAM,eAAe,GAAG,qBAAqB,CAC3C,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,EAC9D,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CACnC,CAAA;QACD,OAAO;YACL,OAAO;YACP,QAAQ,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YACpE,IAAI,EAAE;gBACJ,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;gBAC5B,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM;gBAChC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;aAC7C;YACD,KAAK,EAAE;gBACL,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1C,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI;gBAC7B,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;gBACjC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;aAC9C;YACD,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YACtC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACjD,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC;YAC5C,mBAAmB,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC;YAClE,cAAc,EACZ,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;gBACtB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;gBAClD,CAAC,CAAC,CAAC;YACP,kBAAkB,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;YAChE,GAAG,EAAE,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC9D,gBAAgB,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;YAC9D,gBAAgB,EAAE,CAAC;SACpB,CAAA;IACH,CAAC;SAAM,IAAI,OAAO,EAAE,CAAC;QACnB,MAAM,eAAe,GAAG,qBAAqB,CAC3C,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,EAC/D,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CACpC,CAAA;QACD,OAAO;YACL,OAAO;YACP,QAAQ,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YACpE,IAAI,EAAE;gBACJ,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1C,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI;gBAC7B,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;gBACjC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;aAC9C;YACD,KAAK,EAAE;gBACL,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;gBAC5B,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM;gBAChC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;aAC7C;YACD,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;YAC7C,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;YAClD,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC;YAC5C,mBAAmB,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC;YAClE,cAAc,EACZ,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;gBACvB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;gBAClD,CAAC,CAAC,CAAC;YACP,kBAAkB,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;YAChE,GAAG,EAAE,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC/D,gBAAgB,EAAE,CAAC;YACnB,gBAAgB,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;SAC/D,CAAA;IACH,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;AAC1C,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EACvC,YAA0B,EAC1B,OAAkB,EAClB,kBAA0B,EACC,EAAE;IAC7B,MAAM,iBAAiB,GAAG,+BAA+B,CAAC,kBAAkB,CAAC,CAAA;IAC7E,MAAM,EACJ,IAAI,EAAE,EAAE,YAAY,EAAE,GACvB,GAAG,MAAM,QAAQ,CAAC,GAAG,CAKpB,OAAO,EACP,uBAAuB,EACvB,kUAAkU,EAClU;QACE,IAAI,EAAE,iBAAiB;KACxB,CACF,CAAA;IACD,MAAM,kBAAkB,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAC3E,cAAc,CACZ,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,EACpB,aAAa,CAAC;QACZ,OAAO;QACP,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;KAC7B,CAAC,CACH,CACF,CAAA;IACD,MAAM,kBAAkB,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAC3E,cAAc,CACZ,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EACnB,aAAa,CAAC;QACZ,OAAO;QACP,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;KAC5B,CAAC,CACH,CACF,CAAA;IACD,MAAM,cAAc,GAAG;QACrB,GAAG,IAAI,GAAG,CACR,YAAY;aACT,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC;YAClC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACnB,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;SACrB,CAAC;aACD,IAAI,EAAE,CACV;KACF,CAAA;IACD,MAAM,cAAc,GAAG,MAAM,mBAAmB,CAC9C,YAAY,EACZ,OAAO,EACP,cAAc,CACf,CAAA;IAED,OAAO;QACL,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YACpC,MAAM,aAAa,GAAG;gBACpB,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1C,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI;gBAC7B,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;gBACjC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;aAC9C,CAAA;YACD,MAAM,YAAY,GAAG;gBACnB,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;gBAC5B,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM;gBAChC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;aAC7C,CAAA;YACD,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,CACrC,CAAC,OAAO,EAAE,EAAE,CACV,cAAc,CACZ,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EACjC,YAAY,CAAC,OAAO,CACrB;gBACD,cAAc,CACZ,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAChC,aAAa,CAAC,OAAO,CACtB,CACJ,CAAA;YACD,MAAM,eAAe,GAAG,qBAAqB,CAC3C,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,EAClD,YAAY,CAAC,QAAQ,CACtB,CAAA;YACD,MAAM,UAAU,GACd,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC;gBACvC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,IAAI,CAAC,CAAC,CAAA;YAC/C,OAAO;gBACL,OAAO;gBACP,QAAQ,EAAE,GAAG,YAAY,CAAC,MAAM,IAAI,aAAa,CAAC,MAAM,EAAE;gBAC1D,IAAI,EAAE,YAAY;gBAClB,KAAK,EAAE,aAAa;gBACpB,KAAK,EAAE,UAAU;oBACf,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;oBAC5B,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC;gBACtC,QAAQ,EAAE,UAAU;oBAClB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;oBACpC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;gBACxC,cAAc,EACZ,UAAU,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;oBACpC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;oBAClD,CAAC,CAAC,CAAC,UAAU,IAAI,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;wBACnD,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;wBAClD,CAAC,CAAC,CAAC;gBACT,YAAY,EAAE,OAAO;oBACnB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;oBACvD,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;gBAC7B,mBAAmB,EAAE,OAAO;oBAC1B,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC;wBACxC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC;oBAC1C,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC;gBAC5C,kBAAkB,EAAE,OAAO;oBACzB,CAAC,CAAC,IAAI,CAAC,GAAG,CACN,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,EACvC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CACxC;oBACH,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC;gBAC3C,GAAG,EAAE,UAAU;oBACb,CAAC,CAAC,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;oBACtD,CAAC,CAAC,eAAe,GAAG,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;gBAC1D,gBAAgB,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC;gBACzD,gBAAgB,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,IAAI,CAAC,CAAC;aAChE,CAAA;QACH,CAAC,CAAC;QACF,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YACpC,MAAM,aAAa,GAAG;gBACpB,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;gBAC5B,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM;gBAChC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;aAC7C,CAAA;YACD,MAAM,YAAY,GAAG;gBACnB,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1C,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI;gBAC7B,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;gBACjC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;aAC9C,CAAA;YACD,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,CACrC,CAAC,OAAO,EAAE,EAAE,CACV,cAAc,CACZ,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EACjC,aAAa,CAAC,OAAO,CACtB;gBACD,cAAc,CACZ,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAChC,YAAY,CAAC,OAAO,CACrB,CACJ,CAAA;YACD,MAAM,eAAe,GAAG,qBAAqB,CAC3C,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,EAClD,YAAY,CAAC,QAAQ,CACtB,CAAA;YACD,MAAM,UAAU,GACd,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,IAAI,CAAC,CAAC;gBAC7C,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;YACzC,OAAO;gBACL,OAAO;gBACP,QAAQ,EAAE,GAAG,YAAY,CAAC,MAAM,IAAI,aAAa,CAAC,MAAM,EAAE;gBAC1D,IAAI,EAAE,YAAY;gBAClB,KAAK,EAAE,aAAa;gBACpB,KAAK,EAAE,UAAU;oBACf,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC;oBAC7B,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;gBACrC,QAAQ,EAAE,UAAU;oBAClB,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;oBACrC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;gBACvC,cAAc,EACZ,UAAU,IAAI,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;oBAC/C,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;oBAClD,CAAC,CAAC,CAAC,UAAU,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;wBACxC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;wBAClD,CAAC,CAAC,CAAC;gBACT,YAAY,EAAE,OAAO;oBACnB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;oBACvD,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;gBAC7B,mBAAmB,EAAE,OAAO;oBAC1B,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC;wBACxC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC;oBAC1C,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC;gBAC5C,kBAAkB,EAAE,OAAO;oBACzB,CAAC,CAAC,IAAI,CAAC,GAAG,CACN,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,EACvC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CACxC;oBACH,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC;gBAC3C,GAAG,EAAE,UAAU;oBACb,CAAC,CAAC,eAAe,GAAG,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;oBACvD,CAAC,CAAC,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;gBACzD,gBAAgB,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,IAAI,CAAC,CAAC;gBAC/D,gBAAgB,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC;aAC1D,CAAA;QACH,CAAC,CAAC;KACH;SACE,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC;SAChC,MAAM,CACL,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CACtB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC,KAAK,KAAK,CAClE,CAAA;AACL,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../../../../src/entities/market/apis/snapshot.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,26 @@
|
|
|
1
1
|
import { getAddress, isAddressEqual, zeroAddress } from 'viem';
|
|
2
|
-
import {
|
|
2
|
+
import { STABLE_COINS, REFERENCE_CURRENCY, } from '../../../constants/chain-configs/currency';
|
|
3
3
|
export const getMarketId = (chainId, tokenAddresses) => {
|
|
4
4
|
if (tokenAddresses.length !== 2) {
|
|
5
5
|
throw new Error('Invalid token pair');
|
|
6
6
|
}
|
|
7
7
|
tokenAddresses = tokenAddresses.map((address) => getAddress(address)).sort();
|
|
8
8
|
// include stable coin
|
|
9
|
-
const stable =
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
const stable = STABLE_COINS[chainId].slice()
|
|
10
|
+
.sort((a, b) => {
|
|
11
|
+
if (a.priority !== undefined && b.priority !== undefined) {
|
|
12
|
+
return a.priority - b.priority;
|
|
13
|
+
}
|
|
14
|
+
else if (a.priority !== undefined) {
|
|
15
|
+
return -1;
|
|
16
|
+
}
|
|
17
|
+
else if (b.priority !== undefined) {
|
|
18
|
+
return 1;
|
|
19
|
+
}
|
|
20
|
+
return a.address.localeCompare(b.address);
|
|
21
|
+
})
|
|
22
|
+
.map(({ address }) => getAddress(address))
|
|
23
|
+
.find((stableAddr) => tokenAddresses.some((addr) => isAddressEqual(addr, stableAddr)));
|
|
12
24
|
if (stable) {
|
|
13
25
|
const other = tokenAddresses.find((address) => !isAddressEqual(address, stable));
|
|
14
26
|
return {
|
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"market-id.js","sourceRoot":"","sources":["../../../../../src/entities/market/utils/market-id.ts"],"names":[],"mappings":"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"}
|