@clober/v2-sdk 1.0.0-beta.21 → 1.0.0-beta.22
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/views/pool/market-making.js +61 -27
- package/dist/cjs/views/pool/market-making.js.map +1 -1
- package/dist/esm/views/pool/market-making.js +62 -28
- package/dist/esm/views/pool/market-making.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/types/views/pool/market-making.d.ts +4 -2
- package/dist/types/views/pool/market-making.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -25,11 +25,64 @@ const getLastAmounts = async ({ chainId, poolKey, options, }) => {
|
|
|
25
25
|
return (0, strategy_1.fetchLastAmounts)(publicClient, chainId, poolKey);
|
|
26
26
|
};
|
|
27
27
|
exports.getLastAmounts = getLastAmounts;
|
|
28
|
-
const
|
|
28
|
+
const handleRebalanceLog = (log, poolSnapshot, onEvent) => {
|
|
29
|
+
const { args } = log;
|
|
30
|
+
onEvent({
|
|
31
|
+
transactionHash: log.transactionHash,
|
|
32
|
+
timestamp: Number(log.blockTimestamp),
|
|
33
|
+
blockNumber: Number(log.blockNumber),
|
|
34
|
+
bidOrderList: args.orderListA.map((orderId) => {
|
|
35
|
+
const tick = (0, order_id_1.fromOrderId)(orderId).tick;
|
|
36
|
+
const price = (0, utils_1.formatPrice)((0, utils_1.toPrice)(tick), poolSnapshot.currencyA.decimals, poolSnapshot.currencyB.decimals);
|
|
37
|
+
const amount = (0, viem_1.formatUnits)(args.amountA, poolSnapshot.currencyA.decimals);
|
|
38
|
+
return {
|
|
39
|
+
price,
|
|
40
|
+
size: new bignumber_js_1.default(amount)
|
|
41
|
+
.dividedBy(new bignumber_js_1.default(price))
|
|
42
|
+
.toFixed(poolSnapshot.currencyB.decimals),
|
|
43
|
+
};
|
|
44
|
+
}),
|
|
45
|
+
askOrderList: args.orderListB.map((orderId) => {
|
|
46
|
+
const tick = (0, order_id_1.fromOrderId)(orderId).tick;
|
|
47
|
+
return {
|
|
48
|
+
price: (0, utils_1.formatPrice)((0, utils_1.toPrice)((0, utils_1.invertTick)(tick)), poolSnapshot.currencyA.decimals, poolSnapshot.currencyB.decimals),
|
|
49
|
+
size: (0, viem_1.formatUnits)(args.amountB, poolSnapshot.currencyB.decimals),
|
|
50
|
+
};
|
|
51
|
+
}),
|
|
52
|
+
quoteReserve: (0, viem_1.formatUnits)(args.reserveA, poolSnapshot.currencyA.decimals),
|
|
53
|
+
baseReserve: (0, viem_1.formatUnits)(args.reserveB, poolSnapshot.currencyB.decimals),
|
|
54
|
+
});
|
|
55
|
+
};
|
|
56
|
+
const backfillRebalanceEvents = async ({ publicClient, chainId, poolSnapshot, backfillBlocks, onEvent, }) => {
|
|
57
|
+
const currentBlock = await publicClient.getBlockNumber();
|
|
58
|
+
const fromBlock = currentBlock > backfillBlocks ? currentBlock - backfillBlocks : 0n;
|
|
59
|
+
const logs = await publicClient.getLogs({
|
|
60
|
+
address: (0, address_1.getContractAddresses)({ chainId }).Rebalancer,
|
|
61
|
+
event: (0, viem_1.parseAbiItem)('event Rebalance(bytes32 indexed key,address indexed caller,uint256[] orderListA,uint256[] orderListB,uint256 amountA,uint256 amountB,uint256 reserveA,uint256 reserveB)'),
|
|
62
|
+
args: {
|
|
63
|
+
key: poolSnapshot.key,
|
|
64
|
+
},
|
|
65
|
+
fromBlock,
|
|
66
|
+
toBlock: currentBlock,
|
|
67
|
+
});
|
|
68
|
+
for (const log of logs) {
|
|
69
|
+
handleRebalanceLog(log, poolSnapshot, onEvent);
|
|
70
|
+
}
|
|
71
|
+
return currentBlock;
|
|
72
|
+
};
|
|
73
|
+
const watchMarketMakingEvents = async ({ chainId, poolSnapshot, options, onEvent, onError, }) => {
|
|
29
74
|
const publicClient = (0, viem_1.createPublicClient)({
|
|
30
75
|
chain: chain_1.CHAIN_MAP[chainId],
|
|
31
76
|
transport: options?.rpcUrl ? (0, viem_1.http)(options.rpcUrl) : (0, viem_1.http)(),
|
|
32
77
|
});
|
|
78
|
+
const seen = new Set();
|
|
79
|
+
const lastBackfilledBlock = await backfillRebalanceEvents({
|
|
80
|
+
publicClient,
|
|
81
|
+
chainId,
|
|
82
|
+
poolSnapshot,
|
|
83
|
+
backfillBlocks: options?.backfillBlocks ?? 500n,
|
|
84
|
+
onEvent,
|
|
85
|
+
});
|
|
33
86
|
return publicClient.watchContractEvent({
|
|
34
87
|
address: (0, address_1.getContractAddresses)({ chainId }).Rebalancer,
|
|
35
88
|
abi: rebalancer_abi_1.REBALANCER_ABI,
|
|
@@ -37,34 +90,15 @@ const watchMarketMakingEvents = ({ chainId, poolSnapshot, options, onEvent, onEr
|
|
|
37
90
|
args: {
|
|
38
91
|
key: poolSnapshot.key,
|
|
39
92
|
},
|
|
93
|
+
fromBlock: lastBackfilledBlock + 1n,
|
|
40
94
|
onLogs: (logs) => {
|
|
41
95
|
for (const log of logs) {
|
|
42
|
-
const
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
const tick = (0, order_id_1.fromOrderId)(orderId).tick;
|
|
49
|
-
const price = (0, utils_1.formatPrice)((0, utils_1.toPrice)(tick), poolSnapshot.currencyA.decimals, poolSnapshot.currencyB.decimals);
|
|
50
|
-
const amount = (0, viem_1.formatUnits)(args.amountA, poolSnapshot.currencyA.decimals);
|
|
51
|
-
return {
|
|
52
|
-
price,
|
|
53
|
-
size: new bignumber_js_1.default(amount)
|
|
54
|
-
.dividedBy(new bignumber_js_1.default(price))
|
|
55
|
-
.toFixed(poolSnapshot.currencyB.decimals),
|
|
56
|
-
};
|
|
57
|
-
}),
|
|
58
|
-
askOrderList: args.orderListB.map((orderId) => {
|
|
59
|
-
const tick = (0, order_id_1.fromOrderId)(orderId).tick;
|
|
60
|
-
return {
|
|
61
|
-
price: (0, utils_1.formatPrice)((0, utils_1.toPrice)((0, utils_1.invertTick)(tick)), poolSnapshot.currencyA.decimals, poolSnapshot.currencyB.decimals),
|
|
62
|
-
size: (0, viem_1.formatUnits)(args.amountB, poolSnapshot.currencyB.decimals),
|
|
63
|
-
};
|
|
64
|
-
}),
|
|
65
|
-
quoteReserve: (0, viem_1.formatUnits)(args.reserveA, poolSnapshot.currencyA.decimals),
|
|
66
|
-
baseReserve: (0, viem_1.formatUnits)(args.reserveB, poolSnapshot.currencyB.decimals),
|
|
67
|
-
});
|
|
96
|
+
const key = `${log.blockNumber}-${log.logIndex}`;
|
|
97
|
+
if (seen.has(key)) {
|
|
98
|
+
continue;
|
|
99
|
+
}
|
|
100
|
+
seen.add(key);
|
|
101
|
+
handleRebalanceLog(log, poolSnapshot, onEvent);
|
|
68
102
|
}
|
|
69
103
|
},
|
|
70
104
|
onError,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"market-making.js","sourceRoot":"","sources":["../../../../src/views/pool/market-making.ts"],"names":[],"mappings":";;;AAAA,+
|
|
1
|
+
{"version":3,"file":"market-making.js","sourceRoot":"","sources":["../../../../src/views/pool/market-making.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createPublicClient, formatUnits, http } from 'viem';
|
|
1
|
+
import { createPublicClient, formatUnits, http, parseAbiItem } from 'viem';
|
|
2
2
|
import BigNumber from 'bignumber.js';
|
|
3
3
|
import { CHAIN_MAP } from '../../constants/chain-configs/chain';
|
|
4
4
|
import { fetchLastAmounts, fetchStrategyPosition, } from '../../entities/pool/apis/strategy';
|
|
@@ -20,11 +20,64 @@ export const getLastAmounts = async ({ chainId, poolKey, options, }) => {
|
|
|
20
20
|
});
|
|
21
21
|
return fetchLastAmounts(publicClient, chainId, poolKey);
|
|
22
22
|
};
|
|
23
|
-
|
|
23
|
+
const handleRebalanceLog = (log, poolSnapshot, onEvent) => {
|
|
24
|
+
const { args } = log;
|
|
25
|
+
onEvent({
|
|
26
|
+
transactionHash: log.transactionHash,
|
|
27
|
+
timestamp: Number(log.blockTimestamp),
|
|
28
|
+
blockNumber: Number(log.blockNumber),
|
|
29
|
+
bidOrderList: args.orderListA.map((orderId) => {
|
|
30
|
+
const tick = fromOrderId(orderId).tick;
|
|
31
|
+
const price = formatPrice(toPrice(tick), poolSnapshot.currencyA.decimals, poolSnapshot.currencyB.decimals);
|
|
32
|
+
const amount = formatUnits(args.amountA, poolSnapshot.currencyA.decimals);
|
|
33
|
+
return {
|
|
34
|
+
price,
|
|
35
|
+
size: new BigNumber(amount)
|
|
36
|
+
.dividedBy(new BigNumber(price))
|
|
37
|
+
.toFixed(poolSnapshot.currencyB.decimals),
|
|
38
|
+
};
|
|
39
|
+
}),
|
|
40
|
+
askOrderList: args.orderListB.map((orderId) => {
|
|
41
|
+
const tick = fromOrderId(orderId).tick;
|
|
42
|
+
return {
|
|
43
|
+
price: formatPrice(toPrice(invertTick(tick)), poolSnapshot.currencyA.decimals, poolSnapshot.currencyB.decimals),
|
|
44
|
+
size: formatUnits(args.amountB, poolSnapshot.currencyB.decimals),
|
|
45
|
+
};
|
|
46
|
+
}),
|
|
47
|
+
quoteReserve: formatUnits(args.reserveA, poolSnapshot.currencyA.decimals),
|
|
48
|
+
baseReserve: formatUnits(args.reserveB, poolSnapshot.currencyB.decimals),
|
|
49
|
+
});
|
|
50
|
+
};
|
|
51
|
+
const backfillRebalanceEvents = async ({ publicClient, chainId, poolSnapshot, backfillBlocks, onEvent, }) => {
|
|
52
|
+
const currentBlock = await publicClient.getBlockNumber();
|
|
53
|
+
const fromBlock = currentBlock > backfillBlocks ? currentBlock - backfillBlocks : 0n;
|
|
54
|
+
const logs = await publicClient.getLogs({
|
|
55
|
+
address: getContractAddresses({ chainId }).Rebalancer,
|
|
56
|
+
event: parseAbiItem('event Rebalance(bytes32 indexed key,address indexed caller,uint256[] orderListA,uint256[] orderListB,uint256 amountA,uint256 amountB,uint256 reserveA,uint256 reserveB)'),
|
|
57
|
+
args: {
|
|
58
|
+
key: poolSnapshot.key,
|
|
59
|
+
},
|
|
60
|
+
fromBlock,
|
|
61
|
+
toBlock: currentBlock,
|
|
62
|
+
});
|
|
63
|
+
for (const log of logs) {
|
|
64
|
+
handleRebalanceLog(log, poolSnapshot, onEvent);
|
|
65
|
+
}
|
|
66
|
+
return currentBlock;
|
|
67
|
+
};
|
|
68
|
+
export const watchMarketMakingEvents = async ({ chainId, poolSnapshot, options, onEvent, onError, }) => {
|
|
24
69
|
const publicClient = createPublicClient({
|
|
25
70
|
chain: CHAIN_MAP[chainId],
|
|
26
71
|
transport: options?.rpcUrl ? http(options.rpcUrl) : http(),
|
|
27
72
|
});
|
|
73
|
+
const seen = new Set();
|
|
74
|
+
const lastBackfilledBlock = await backfillRebalanceEvents({
|
|
75
|
+
publicClient,
|
|
76
|
+
chainId,
|
|
77
|
+
poolSnapshot,
|
|
78
|
+
backfillBlocks: options?.backfillBlocks ?? 500n,
|
|
79
|
+
onEvent,
|
|
80
|
+
});
|
|
28
81
|
return publicClient.watchContractEvent({
|
|
29
82
|
address: getContractAddresses({ chainId }).Rebalancer,
|
|
30
83
|
abi: REBALANCER_ABI,
|
|
@@ -32,34 +85,15 @@ export const watchMarketMakingEvents = ({ chainId, poolSnapshot, options, onEven
|
|
|
32
85
|
args: {
|
|
33
86
|
key: poolSnapshot.key,
|
|
34
87
|
},
|
|
88
|
+
fromBlock: lastBackfilledBlock + 1n,
|
|
35
89
|
onLogs: (logs) => {
|
|
36
90
|
for (const log of logs) {
|
|
37
|
-
const
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
const tick = fromOrderId(orderId).tick;
|
|
44
|
-
const price = formatPrice(toPrice(tick), poolSnapshot.currencyA.decimals, poolSnapshot.currencyB.decimals);
|
|
45
|
-
const amount = formatUnits(args.amountA, poolSnapshot.currencyA.decimals);
|
|
46
|
-
return {
|
|
47
|
-
price,
|
|
48
|
-
size: new BigNumber(amount)
|
|
49
|
-
.dividedBy(new BigNumber(price))
|
|
50
|
-
.toFixed(poolSnapshot.currencyB.decimals),
|
|
51
|
-
};
|
|
52
|
-
}),
|
|
53
|
-
askOrderList: args.orderListB.map((orderId) => {
|
|
54
|
-
const tick = fromOrderId(orderId).tick;
|
|
55
|
-
return {
|
|
56
|
-
price: formatPrice(toPrice(invertTick(tick)), poolSnapshot.currencyA.decimals, poolSnapshot.currencyB.decimals),
|
|
57
|
-
size: formatUnits(args.amountB, poolSnapshot.currencyB.decimals),
|
|
58
|
-
};
|
|
59
|
-
}),
|
|
60
|
-
quoteReserve: formatUnits(args.reserveA, poolSnapshot.currencyA.decimals),
|
|
61
|
-
baseReserve: formatUnits(args.reserveB, poolSnapshot.currencyB.decimals),
|
|
62
|
-
});
|
|
91
|
+
const key = `${log.blockNumber}-${log.logIndex}`;
|
|
92
|
+
if (seen.has(key)) {
|
|
93
|
+
continue;
|
|
94
|
+
}
|
|
95
|
+
seen.add(key);
|
|
96
|
+
handleRebalanceLog(log, poolSnapshot, onEvent);
|
|
63
97
|
}
|
|
64
98
|
},
|
|
65
99
|
onError,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"market-making.js","sourceRoot":"","sources":["../../../../src/views/pool/market-making.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"market-making.js","sourceRoot":"","sources":["../../../../src/views/pool/market-making.ts"],"names":[],"mappings":"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"}
|