@clober/v2-sdk 1.0.0-beta.26 → 1.0.0-beta.28
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/constants/chain-configs/addresses.js +10 -0
- package/dist/cjs/constants/chain-configs/addresses.js.map +1 -1
- package/dist/cjs/constants/chain-configs/chain.js +2 -0
- package/dist/cjs/constants/chain-configs/chain.js.map +1 -1
- package/dist/cjs/constants/chain-configs/currency.js +22 -0
- package/dist/cjs/constants/chain-configs/currency.js.map +1 -1
- package/dist/cjs/constants/chain-configs/fee.js +2 -0
- package/dist/cjs/constants/chain-configs/fee.js.map +1 -1
- package/dist/cjs/constants/chain-configs/subgraph.js +1 -0
- package/dist/cjs/constants/chain-configs/subgraph.js.map +1 -1
- package/dist/cjs/entities/take/apis/index.js +35 -0
- package/dist/cjs/entities/take/apis/index.js.map +1 -0
- package/dist/cjs/views/market/take.js +18 -19
- package/dist/cjs/views/market/take.js.map +1 -1
- package/dist/esm/constants/chain-configs/addresses.js +10 -9
- package/dist/esm/constants/chain-configs/addresses.js.map +1 -1
- package/dist/esm/constants/chain-configs/chain.js +3 -3
- package/dist/esm/constants/chain-configs/chain.js.map +1 -1
- package/dist/esm/constants/chain-configs/currency.js +22 -10
- package/dist/esm/constants/chain-configs/currency.js.map +1 -1
- package/dist/esm/constants/chain-configs/fee.js +2 -2
- package/dist/esm/constants/chain-configs/fee.js.map +1 -1
- package/dist/esm/constants/chain-configs/subgraph.js +1 -2
- package/dist/esm/constants/chain-configs/subgraph.js.map +1 -1
- package/dist/esm/entities/take/apis/index.js +31 -0
- package/dist/esm/entities/take/apis/index.js.map +1 -0
- package/dist/esm/views/market/take.js +19 -20
- package/dist/esm/views/market/take.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/types/constants/chain-configs/addresses.d.ts.map +1 -1
- package/dist/types/constants/chain-configs/chain.d.ts +1 -0
- package/dist/types/constants/chain-configs/chain.d.ts.map +1 -1
- package/dist/types/constants/chain-configs/currency.d.ts.map +1 -1
- package/dist/types/constants/chain-configs/subgraph.d.ts.map +1 -1
- package/dist/types/entities/take/apis/index.d.ts +11 -0
- package/dist/types/entities/take/apis/index.d.ts.map +1 -0
- package/dist/types/views/market/take.d.ts +1 -3
- package/dist/types/views/market/take.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { createPublicClient, formatUnits, http
|
|
1
|
+
import { createPublicClient, formatUnits, http } from 'viem';
|
|
2
2
|
import { CHAIN_MAP } from '../../constants/chain-configs/chain';
|
|
3
3
|
import { formatPrice, invertTick, quoteToBase, toPrice } from '../../utils';
|
|
4
4
|
import { getContractAddresses } from '../address';
|
|
5
5
|
import { BOOK_MANAGER_ABI } from '../../constants/abis/core/book-manager-abi';
|
|
6
|
+
import { fetchLatestTakes } from '../../entities/take/apis';
|
|
6
7
|
const handleTakeLog = (log, market, onEvent) => {
|
|
7
8
|
const { args } = log;
|
|
8
9
|
const isTakingBidBook = BigInt(market.bidBook.id) === args.bookId;
|
|
@@ -25,22 +26,23 @@ const handleTakeLog = (log, market, onEvent) => {
|
|
|
25
26
|
side: isTakingBidBook ? 'sell' : 'buy',
|
|
26
27
|
});
|
|
27
28
|
};
|
|
28
|
-
const
|
|
29
|
-
const
|
|
30
|
-
const
|
|
31
|
-
const
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
29
|
+
const backfillTakeEventsFromSubgraph = async ({ chainId, market, onEvent, }) => {
|
|
30
|
+
const takes = await fetchLatestTakes(chainId, market.base.address, market.quote.address);
|
|
31
|
+
const logIndexMap = new Map();
|
|
32
|
+
for (const take of takes.reverse()) {
|
|
33
|
+
if (logIndexMap.has(take.transactionHash)) {
|
|
34
|
+
logIndexMap.set(take.transactionHash, (logIndexMap.get(take.transactionHash) ?? 0) + 1);
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
logIndexMap.set(take.transactionHash, 0);
|
|
38
|
+
}
|
|
39
|
+
onEvent({
|
|
40
|
+
...take,
|
|
41
|
+
logIndex: logIndexMap.get(take.transactionHash),
|
|
42
|
+
blockNumber: 0, // Subgraph does not provide block number in this query
|
|
43
|
+
side: take.side,
|
|
44
|
+
});
|
|
42
45
|
}
|
|
43
|
-
return currentBlock;
|
|
44
46
|
};
|
|
45
47
|
export const watchTakeEvents = async ({ chainId, market, onEvent, onError, options, }) => {
|
|
46
48
|
const publicClient = createPublicClient({
|
|
@@ -48,11 +50,9 @@ export const watchTakeEvents = async ({ chainId, market, onEvent, onError, optio
|
|
|
48
50
|
transport: options?.rpcUrl ? http(options.rpcUrl) : http(),
|
|
49
51
|
});
|
|
50
52
|
const seen = new Set();
|
|
51
|
-
|
|
52
|
-
publicClient,
|
|
53
|
+
await backfillTakeEventsFromSubgraph({
|
|
53
54
|
chainId,
|
|
54
55
|
market,
|
|
55
|
-
backfillBlocks: options?.backfillBlocks ?? 100n,
|
|
56
56
|
onEvent,
|
|
57
57
|
});
|
|
58
58
|
return publicClient.watchContractEvent({
|
|
@@ -62,7 +62,6 @@ export const watchTakeEvents = async ({ chainId, market, onEvent, onError, optio
|
|
|
62
62
|
args: {
|
|
63
63
|
bookId: [BigInt(market.bidBook.id), BigInt(market.askBook.id)],
|
|
64
64
|
},
|
|
65
|
-
fromBlock: lastBackfilledBlock + 1n,
|
|
66
65
|
onLogs: (logs) => {
|
|
67
66
|
for (const log of logs) {
|
|
68
67
|
const key = `${log.transactionHash}-${log.logIndex}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"take.js","sourceRoot":"","sources":["../../../../src/views/market/take.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"take.js","sourceRoot":"","sources":["../../../../src/views/market/take.ts"],"names":[],"mappings":"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"}
|