@clober/v2-sdk 0.0.5-0.dev → 0.0.5-6.dev
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/apis/chart-logs.js +2 -2
- package/dist/cjs/apis/chart-logs.js.map +1 -1
- package/dist/cjs/apis/market.js +11 -12
- package/dist/cjs/apis/market.js.map +1 -1
- package/dist/cjs/apis/open-order.js +12 -12
- package/dist/cjs/apis/open-order.js.map +1 -1
- package/dist/cjs/approval.js +18 -11
- package/dist/cjs/approval.js.map +1 -1
- package/dist/cjs/call.js +113 -49
- package/dist/cjs/call.js.map +1 -1
- package/dist/cjs/constants/addresses.js +0 -5
- package/dist/cjs/constants/addresses.js.map +1 -1
- package/dist/cjs/constants/chain.js +0 -2
- package/dist/cjs/constants/chain.js.map +1 -1
- package/dist/cjs/constants/currency.js +3 -4
- package/dist/cjs/constants/currency.js.map +1 -1
- package/dist/cjs/constants/fee.js +0 -2
- package/dist/cjs/constants/fee.js.map +1 -1
- package/dist/cjs/constants/price.js +2 -1
- package/dist/cjs/constants/price.js.map +1 -1
- package/dist/cjs/constants/subgraph.js +4 -23
- package/dist/cjs/constants/subgraph.js.map +1 -1
- package/dist/cjs/constants/test-chain.js +2 -2
- package/dist/cjs/constants/test-chain.js.map +1 -1
- package/dist/cjs/constants/tick.js +6 -0
- package/dist/cjs/constants/tick.js.map +1 -0
- package/dist/cjs/model/book.js +23 -7
- package/dist/cjs/model/book.js.map +1 -1
- package/dist/cjs/model/market.js +7 -7
- package/dist/cjs/model/market.js.map +1 -1
- package/dist/cjs/signature.js +10 -6
- package/dist/cjs/signature.js.map +1 -1
- package/dist/cjs/utils/allowance.js +2 -3
- package/dist/cjs/utils/allowance.js.map +1 -1
- package/dist/cjs/utils/approval.js +2 -3
- package/dist/cjs/utils/approval.js.map +1 -1
- package/dist/cjs/utils/bigint.js +5 -1
- package/dist/cjs/utils/bigint.js.map +1 -1
- package/dist/cjs/utils/build-transaction.js +3 -4
- package/dist/cjs/utils/build-transaction.js.map +1 -1
- package/dist/cjs/utils/currency.js +8 -9
- package/dist/cjs/utils/currency.js.map +1 -1
- package/dist/cjs/utils/open.js +14 -3
- package/dist/cjs/utils/open.js.map +1 -1
- package/dist/cjs/utils/order.js +5 -7
- package/dist/cjs/utils/order.js.map +1 -1
- package/dist/cjs/utils/prices.js +17 -9
- package/dist/cjs/utils/prices.js.map +1 -1
- package/dist/cjs/utils/tick.js +12 -1
- package/dist/cjs/utils/tick.js.map +1 -1
- package/dist/cjs/utils/unit-size.js +8 -9
- package/dist/cjs/utils/unit-size.js.map +1 -1
- package/dist/cjs/utils.js +2 -1
- package/dist/cjs/utils.js.map +1 -1
- package/dist/cjs/view.js +127 -36
- package/dist/cjs/view.js.map +1 -1
- package/dist/esm/apis/chart-logs.js +3 -3
- package/dist/esm/apis/chart-logs.js.map +1 -1
- package/dist/esm/apis/market.js +12 -13
- package/dist/esm/apis/market.js.map +1 -1
- package/dist/esm/apis/open-order.js +14 -14
- package/dist/esm/apis/open-order.js.map +1 -1
- package/dist/esm/approval.js +17 -12
- package/dist/esm/approval.js.map +1 -1
- package/dist/esm/call.js +111 -52
- package/dist/esm/call.js.map +1 -1
- package/dist/esm/constants/addresses.js +0 -5
- package/dist/esm/constants/addresses.js.map +1 -1
- package/dist/esm/constants/chain.js +1 -3
- package/dist/esm/constants/chain.js.map +1 -1
- package/dist/esm/constants/currency.js +5 -4
- package/dist/esm/constants/currency.js.map +1 -1
- package/dist/esm/constants/fee.js +0 -2
- package/dist/esm/constants/fee.js.map +1 -1
- package/dist/esm/constants/price.js +1 -0
- package/dist/esm/constants/price.js.map +1 -1
- package/dist/esm/constants/subgraph.js +3 -22
- package/dist/esm/constants/subgraph.js.map +1 -1
- package/dist/esm/constants/test-chain.js +2 -2
- package/dist/esm/constants/test-chain.js.map +1 -1
- package/dist/esm/constants/tick.js +3 -0
- package/dist/esm/constants/tick.js.map +1 -0
- package/dist/esm/model/book.js +23 -7
- package/dist/esm/model/book.js.map +1 -1
- package/dist/esm/model/market.js +8 -8
- package/dist/esm/model/market.js.map +1 -1
- package/dist/esm/signature.js +10 -7
- package/dist/esm/signature.js.map +1 -1
- package/dist/esm/utils/allowance.js +2 -3
- package/dist/esm/utils/allowance.js.map +1 -1
- package/dist/esm/utils/approval.js +2 -3
- package/dist/esm/utils/approval.js.map +1 -1
- package/dist/esm/utils/bigint.js +2 -0
- package/dist/esm/utils/bigint.js.map +1 -1
- package/dist/esm/utils/build-transaction.js +3 -4
- package/dist/esm/utils/build-transaction.js.map +1 -1
- package/dist/esm/utils/currency.js +8 -9
- package/dist/esm/utils/currency.js.map +1 -1
- package/dist/esm/utils/open.js +14 -3
- package/dist/esm/utils/open.js.map +1 -1
- package/dist/esm/utils/order.js +6 -8
- package/dist/esm/utils/order.js.map +1 -1
- package/dist/esm/utils/prices.js +19 -11
- package/dist/esm/utils/prices.js.map +1 -1
- package/dist/esm/utils/tick.js +11 -1
- package/dist/esm/utils/tick.js.map +1 -1
- package/dist/esm/utils/unit-size.js +8 -9
- package/dist/esm/utils/unit-size.js.map +1 -1
- package/dist/esm/utils.js +1 -1
- package/dist/esm/utils.js.map +1 -1
- package/dist/esm/view.js +122 -38
- package/dist/esm/view.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/types/apis/chart-logs.d.ts.map +1 -1
- package/dist/types/apis/market.d.ts +2 -1
- package/dist/types/apis/market.d.ts.map +1 -1
- package/dist/types/apis/open-order.d.ts +4 -3
- package/dist/types/apis/open-order.d.ts.map +1 -1
- package/dist/types/approval.d.ts +2 -2
- package/dist/types/approval.d.ts.map +1 -1
- package/dist/types/call.d.ts +42 -12
- package/dist/types/call.d.ts.map +1 -1
- package/dist/types/constants/addresses.d.ts.map +1 -1
- package/dist/types/constants/chain.d.ts +1 -2
- package/dist/types/constants/chain.d.ts.map +1 -1
- package/dist/types/constants/currency.d.ts.map +1 -1
- package/dist/types/constants/fee.d.ts.map +1 -1
- package/dist/types/constants/price.d.ts +1 -0
- package/dist/types/constants/price.d.ts.map +1 -1
- package/dist/types/constants/subgraph.d.ts +2 -7
- package/dist/types/constants/subgraph.d.ts.map +1 -1
- package/dist/types/constants/tick.d.ts +3 -0
- package/dist/types/constants/tick.d.ts.map +1 -0
- package/dist/types/model/book.d.ts +14 -4
- package/dist/types/model/book.d.ts.map +1 -1
- package/dist/types/model/market.d.ts +14 -4
- package/dist/types/model/market.d.ts.map +1 -1
- package/dist/types/signature.d.ts +1 -1
- package/dist/types/signature.d.ts.map +1 -1
- package/dist/types/utils/allowance.d.ts +2 -2
- package/dist/types/utils/allowance.d.ts.map +1 -1
- package/dist/types/utils/approval.d.ts +2 -1
- package/dist/types/utils/approval.d.ts.map +1 -1
- package/dist/types/utils/bigint.d.ts +2 -0
- package/dist/types/utils/bigint.d.ts.map +1 -1
- package/dist/types/utils/build-transaction.d.ts +3 -3
- package/dist/types/utils/build-transaction.d.ts.map +1 -1
- package/dist/types/utils/currency.d.ts +3 -2
- package/dist/types/utils/currency.d.ts.map +1 -1
- package/dist/types/utils/open.d.ts +2 -1
- package/dist/types/utils/open.d.ts.map +1 -1
- package/dist/types/utils/order.d.ts +2 -1
- package/dist/types/utils/order.d.ts.map +1 -1
- package/dist/types/utils/prices.d.ts +4 -1
- package/dist/types/utils/prices.d.ts.map +1 -1
- package/dist/types/utils/tick.d.ts +1 -0
- package/dist/types/utils/tick.d.ts.map +1 -1
- package/dist/types/utils/unit-size.d.ts +2 -1
- package/dist/types/utils/unit-size.d.ts.map +1 -1
- package/dist/types/utils.d.ts +1 -1
- package/dist/types/utils.d.ts.map +1 -1
- package/dist/types/view.d.ts +47 -7
- package/dist/types/view.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/cjs/constants/client.js +0 -18
- package/dist/cjs/constants/client.js.map +0 -1
- package/dist/cjs/utils/bignumber.js +0 -9
- package/dist/cjs/utils/bignumber.js.map +0 -1
- package/dist/cjs/utils/decorator.js +0 -15
- package/dist/cjs/utils/decorator.js.map +0 -1
- package/dist/esm/constants/client.js +0 -14
- package/dist/esm/constants/client.js.map +0 -1
- package/dist/esm/utils/bignumber.js +0 -6
- package/dist/esm/utils/bignumber.js.map +0 -1
- package/dist/esm/utils/decorator.js +0 -11
- package/dist/esm/utils/decorator.js.map +0 -1
- package/dist/types/constants/client.d.ts +0 -5
- package/dist/types/constants/client.d.ts.map +0 -1
- package/dist/types/utils/bignumber.d.ts +0 -3
- package/dist/types/utils/bignumber.d.ts.map +0 -1
- package/dist/types/utils/decorator.d.ts +0 -6
- package/dist/types/utils/decorator.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bigint.js","sourceRoot":"","sources":["../../../src/utils/bigint.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,MAAc,EACd,OAAe,EACf,UAAkB,CAAC,EACX,EAAE;IACV,OAAO,CACL,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,IAAI,OAAO,CAAC,CAAC,CAAC;QACtD,MAAM,CAAC,GAAG,GAAG,EAAE,IAAI,OAAO,CAAC,CAC5B,CAAA;AACH,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"bigint.js","sourceRoot":"","sources":["../../../src/utils/bigint.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,IAAc,EAAE,EAAE,CACvC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AAC5C,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,IAAc,EAAE,EAAE,CACvC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,IAAI,GAAG,EAAE,CAAC,CAAA;AAEzD,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,MAAc,EACd,OAAe,EACf,UAAkB,CAAC,EACX,EAAE;IACV,OAAO,CACL,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,IAAI,OAAO,CAAC,CAAC,CAAC;QACtD,MAAM,CAAC,GAAG,GAAG,EAAE,IAAI,OAAO,CAAC,CAC5B,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
import { encodeFunctionData, } from 'viem';
|
|
2
|
-
|
|
3
|
-
export const buildTransaction = async (chainId, args, gasLimit) => {
|
|
2
|
+
export const buildTransaction = async (publicClient, args, gasLimit) => {
|
|
4
3
|
const data = encodeFunctionData(args);
|
|
5
4
|
const [gas, gasPrice] = await Promise.all([
|
|
6
5
|
gasLimit ??
|
|
7
|
-
|
|
6
|
+
publicClient.estimateGas({
|
|
8
7
|
account: args.account,
|
|
9
8
|
data,
|
|
10
9
|
to: args.address,
|
|
11
10
|
value: args.value || 0n,
|
|
12
11
|
}),
|
|
13
|
-
|
|
12
|
+
publicClient.getGasPrice(),
|
|
14
13
|
]);
|
|
15
14
|
return {
|
|
16
15
|
gas,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-transaction.js","sourceRoot":"","sources":["../../../src/utils/build-transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,
|
|
1
|
+
{"version":3,"file":"build-transaction.js","sourceRoot":"","sources":["../../../src/utils/build-transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,GAInB,MAAM,MAAM,CAAA;AAIb,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EACnC,YAA0B,EAC1B,IAA0D,EAC1D,QAAiB,EACK,EAAE;IACxB,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAA;IACrC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACxC,QAAQ;YACN,YAAY,CAAC,WAAW,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,IAAI;gBACJ,EAAE,EAAE,IAAI,CAAC,OAAO;gBAChB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;aACxB,CAAC;QACJ,YAAY,CAAC,WAAW,EAAE;KAC3B,CAAC,CAAA;IACF,OAAO;QACL,GAAG;QACH,QAAQ;QACR,IAAI;QACJ,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;QACvB,EAAE,EAAE,IAAI,CAAC,OAAO;QAChB,IAAI,EAAE,IAAI,CAAC,OAAO;KACnB,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { getAddress, isAddressEqual, zeroAddress } from 'viem';
|
|
2
|
-
import { cachedPublicClients } from '../constants/client';
|
|
3
2
|
const _abi = [
|
|
4
3
|
{
|
|
5
4
|
inputs: [],
|
|
@@ -45,16 +44,16 @@ const buildCurrencyCacheKey = (chainId, address) => `${chainId}:${address}`;
|
|
|
45
44
|
const currencyCache = new Map();
|
|
46
45
|
const getCurrencyFromCache = (chainId, address) => currencyCache.get(buildCurrencyCacheKey(chainId, address));
|
|
47
46
|
const setCurrencyToCache = (chainId, address, currency) => currencyCache.set(buildCurrencyCacheKey(chainId, address), currency);
|
|
48
|
-
export const fetchCurrency = async (chainId, address) => {
|
|
47
|
+
export const fetchCurrency = async (publicClient, chainId, address) => {
|
|
49
48
|
const cachedCurrency = getCurrencyFromCache(chainId, address);
|
|
50
49
|
if (cachedCurrency) {
|
|
51
50
|
return cachedCurrency;
|
|
52
51
|
}
|
|
53
|
-
const currency = await fetchCurrencyInner(
|
|
52
|
+
const currency = await fetchCurrencyInner(publicClient, address);
|
|
54
53
|
setCurrencyToCache(chainId, address, currency);
|
|
55
54
|
return currency;
|
|
56
55
|
};
|
|
57
|
-
export const fetchCurrencyMap = async (chainId, addresses) => {
|
|
56
|
+
export const fetchCurrencyMap = async (publicClient, chainId, addresses) => {
|
|
58
57
|
addresses = addresses
|
|
59
58
|
.filter((address) => !isAddressEqual(address, zeroAddress))
|
|
60
59
|
.filter((address, index, self) => self.indexOf(address) === index);
|
|
@@ -62,7 +61,7 @@ export const fetchCurrencyMap = async (chainId, addresses) => {
|
|
|
62
61
|
.map((address) => getCurrencyFromCache(chainId, address))
|
|
63
62
|
.filter((currency) => currency !== undefined);
|
|
64
63
|
const uncachedAddresses = addresses.filter((address) => !cachedCurrencies.some((currency) => currency.address === address));
|
|
65
|
-
const uncachedCurrencies = await fetchCurrencyMapInner(
|
|
64
|
+
const uncachedCurrencies = await fetchCurrencyMapInner(publicClient, uncachedAddresses);
|
|
66
65
|
for (const currency of Object.values(uncachedCurrencies)) {
|
|
67
66
|
setCurrencyToCache(chainId, currency.address, currency);
|
|
68
67
|
}
|
|
@@ -80,7 +79,7 @@ export const fetchCurrencyMap = async (chainId, addresses) => {
|
|
|
80
79
|
},
|
|
81
80
|
};
|
|
82
81
|
};
|
|
83
|
-
const fetchCurrencyInner = async (
|
|
82
|
+
const fetchCurrencyInner = async (publicClient, address) => {
|
|
84
83
|
if (isAddressEqual(address, zeroAddress)) {
|
|
85
84
|
return {
|
|
86
85
|
address: zeroAddress,
|
|
@@ -89,7 +88,7 @@ const fetchCurrencyInner = async (chainId, address) => {
|
|
|
89
88
|
decimals: 18,
|
|
90
89
|
};
|
|
91
90
|
}
|
|
92
|
-
const [{ result: name }, { result: symbol }, { result: decimals }] = await
|
|
91
|
+
const [{ result: name }, { result: symbol }, { result: decimals }] = await publicClient.multicall({
|
|
93
92
|
contracts: [
|
|
94
93
|
{
|
|
95
94
|
address,
|
|
@@ -115,14 +114,14 @@ const fetchCurrencyInner = async (chainId, address) => {
|
|
|
115
114
|
decimals: decimals ?? 18,
|
|
116
115
|
};
|
|
117
116
|
};
|
|
118
|
-
const fetchCurrencyMapInner = async (
|
|
117
|
+
const fetchCurrencyMapInner = async (publicClient, addresses) => {
|
|
119
118
|
addresses = addresses
|
|
120
119
|
.filter((address) => !isAddressEqual(address, zeroAddress))
|
|
121
120
|
.filter((address, index, self) => self.indexOf(address) === index);
|
|
122
121
|
if (addresses.length === 0) {
|
|
123
122
|
return {};
|
|
124
123
|
}
|
|
125
|
-
const result = await
|
|
124
|
+
const result = await publicClient.multicall({
|
|
126
125
|
contracts: [
|
|
127
126
|
...addresses.map((address) => ({
|
|
128
127
|
address,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"currency.js","sourceRoot":"","sources":["../../../src/utils/currency.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"currency.js","sourceRoot":"","sources":["../../../src/utils/currency.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/utils/open.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { cachedPublicClients } from '../constants/client';
|
|
2
1
|
import { CONTRACT_ADDRESSES } from '../constants/addresses';
|
|
3
2
|
const _abi = [
|
|
4
3
|
{
|
|
@@ -21,12 +20,24 @@ const _abi = [
|
|
|
21
20
|
type: 'function',
|
|
22
21
|
},
|
|
23
22
|
];
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
const buildBookCacheKey = (chainId, bookId) => `${chainId}:${bookId}`;
|
|
24
|
+
const isOpenedCache = new Map();
|
|
25
|
+
const getIsOpenedFromCache = (chainId, bookId) => isOpenedCache.get(buildBookCacheKey(chainId, bookId));
|
|
26
|
+
const setIsOpenedToCache = (chainId, bookId, isOpened) => isOpenedCache.set(buildBookCacheKey(chainId, bookId), isOpened);
|
|
27
|
+
export async function fetchIsOpened(publicClient, chainId, bookId) {
|
|
28
|
+
const cachedIsOpened = getIsOpenedFromCache(chainId, bookId);
|
|
29
|
+
if (cachedIsOpened !== undefined) {
|
|
30
|
+
return cachedIsOpened;
|
|
31
|
+
}
|
|
32
|
+
const isOpened = await publicClient.readContract({
|
|
26
33
|
address: CONTRACT_ADDRESSES[chainId].BookManager,
|
|
27
34
|
abi: _abi,
|
|
28
35
|
functionName: 'isOpened',
|
|
29
36
|
args: [bookId],
|
|
30
37
|
});
|
|
38
|
+
if (isOpened) {
|
|
39
|
+
setIsOpenedToCache(chainId, bookId, isOpened);
|
|
40
|
+
}
|
|
41
|
+
return isOpened;
|
|
31
42
|
}
|
|
32
43
|
//# sourceMappingURL=open.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"open.js","sourceRoot":"","sources":["../../../src/utils/open.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"open.js","sourceRoot":"","sources":["../../../src/utils/open.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAE3D,MAAM,IAAI,GAAG;IACX;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,MAAM;gBACpB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,MAAM;aACb;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;CACO,CAAA;AAEV,MAAM,iBAAiB,GAAG,CAAC,OAAkB,EAAE,MAAc,EAAE,EAAE,CAC/D,GAAG,OAAO,IAAI,MAAM,EAAE,CAAA;AACxB,MAAM,aAAa,GAAG,IAAI,GAAG,EAAmB,CAAA;AAChD,MAAM,oBAAoB,GAAG,CAAC,OAAkB,EAAE,MAAc,EAAE,EAAE,CAClE,aAAa,CAAC,GAAG,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAA;AACvD,MAAM,kBAAkB,GAAG,CACzB,OAAkB,EAClB,MAAc,EACd,QAAiB,EACjB,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAA;AAEpE,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,YAA0B,EAC1B,OAAkB,EAClB,MAAc;IAEd,MAAM,cAAc,GAAG,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IAC5D,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,OAAO,cAAc,CAAA;IACvB,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC;QAC/C,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAE,CAAC,WAAW;QACjD,GAAG,EAAE,IAAI;QACT,YAAY,EAAE,UAAU;QACxB,IAAI,EAAE,CAAC,MAAM,CAAC;KACf,CAAC,CAAA;IACF,IAAI,QAAQ,EAAE,CAAC;QACb,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;IAC/C,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC"}
|
package/dist/esm/utils/order.js
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import { formatUnits, getAddress, isAddressEqual, zeroAddress } from 'viem';
|
|
2
|
-
import { cachedPublicClients } from '../constants/client';
|
|
1
|
+
import { formatUnits, getAddress, isAddressEqual, zeroAddress, } from 'viem';
|
|
3
2
|
import { CONTRACT_ADDRESSES } from '../constants/addresses';
|
|
4
|
-
import { cachedSubgraph } from '../constants/subgraph';
|
|
5
3
|
import { fetchOpenOrders } from '../apis/open-order';
|
|
6
4
|
import { MAKER_DEFAULT_POLICY } from '../constants/fee';
|
|
7
5
|
import { BOOK_MANAGER_ABI } from '../abis/core/book-manager-abi';
|
|
@@ -9,11 +7,11 @@ import { fetchCurrencyMap } from './currency';
|
|
|
9
7
|
import { quoteToBase } from './decimals';
|
|
10
8
|
import { getMarketId } from './market';
|
|
11
9
|
import { applyPercent } from './bigint';
|
|
12
|
-
export const fetchOrders = async (chainId, orderIds) => {
|
|
13
|
-
if (
|
|
14
|
-
return fetchOpenOrders(chainId, orderIds.map((orderId) => orderId.toString()));
|
|
10
|
+
export const fetchOrders = async (publicClient, chainId, orderIds, useSubgraph) => {
|
|
11
|
+
if (useSubgraph) {
|
|
12
|
+
return fetchOpenOrders(publicClient, chainId, orderIds.map((orderId) => orderId.toString()));
|
|
15
13
|
}
|
|
16
|
-
const result = await
|
|
14
|
+
const result = await publicClient.multicall({
|
|
17
15
|
contracts: [
|
|
18
16
|
...orderIds.map((orderId) => ({
|
|
19
17
|
address: CONTRACT_ADDRESSES[chainId].BookManager,
|
|
@@ -41,7 +39,7 @@ export const fetchOrders = async (chainId, orderIds) => {
|
|
|
41
39
|
return [base, quote];
|
|
42
40
|
})
|
|
43
41
|
.flat();
|
|
44
|
-
const currencyMap = await fetchCurrencyMap(chainId, addresses);
|
|
42
|
+
const currencyMap = await fetchCurrencyMap(publicClient, chainId, addresses);
|
|
45
43
|
return orderIds.map((orderId, index) => {
|
|
46
44
|
const order = result[index].result;
|
|
47
45
|
const owner = result[index + orderIds.length].result;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"order.js","sourceRoot":"","sources":["../../../src/utils/order.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"order.js","sourceRoot":"","sources":["../../../src/utils/order.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/utils/prices.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import BigNumber from 'bignumber.js';
|
|
2
|
-
import { PRICE_PRECISION } from '../constants/price';
|
|
3
|
-
import { fromPrice,
|
|
2
|
+
import { MAX_PRICE, MIN_PRICE, PRICE_PRECISION } from '../constants/price';
|
|
3
|
+
import { fromPrice, invertTick, toPrice } from './tick';
|
|
4
|
+
import { max, min } from './bigint';
|
|
4
5
|
BigNumber.config({
|
|
5
6
|
DECIMAL_PLACES: 100,
|
|
6
7
|
});
|
|
@@ -10,27 +11,34 @@ export const formatPrice = (price, quoteDecimals, baseDecimals) => {
|
|
|
10
11
|
.div(new BigNumber(2).pow(PRICE_PRECISION.toString()))
|
|
11
12
|
.times(new BigNumber(10).pow(baseDecimals))
|
|
12
13
|
.div(new BigNumber(10).pow(quoteDecimals))
|
|
13
|
-
.
|
|
14
|
+
.toFixed();
|
|
14
15
|
};
|
|
15
|
-
export const parsePrice = (
|
|
16
|
-
const value = new BigNumber(
|
|
16
|
+
export const parsePrice = (humanReadablePrice, quoteDecimals, baseDecimals) => {
|
|
17
|
+
const value = new BigNumber(humanReadablePrice)
|
|
17
18
|
.times(new BigNumber(2).pow(PRICE_PRECISION.toString()))
|
|
18
19
|
.times(new BigNumber(10).pow(quoteDecimals))
|
|
19
20
|
.div(new BigNumber(10).pow(baseDecimals));
|
|
20
21
|
const rawPrice = BigInt(value.isInteger() ? value.toFixed() : value.integerValue().toFixed());
|
|
21
|
-
const
|
|
22
|
+
const cutOffRawPrice = max(MIN_PRICE, min(rawPrice, MAX_PRICE));
|
|
23
|
+
const tick = fromPrice(cutOffRawPrice);
|
|
22
24
|
const flooredPrice = toPrice(tick);
|
|
23
25
|
if (rawPrice === flooredPrice) {
|
|
24
|
-
return
|
|
26
|
+
return {
|
|
27
|
+
roundingDownTick: tick,
|
|
28
|
+
roundingUpTick: tick,
|
|
29
|
+
};
|
|
25
30
|
}
|
|
26
|
-
return
|
|
31
|
+
return {
|
|
32
|
+
roundingDownTick: tick,
|
|
33
|
+
roundingUpTick: tick + 1n,
|
|
34
|
+
};
|
|
27
35
|
};
|
|
28
36
|
export const getMarketPrice = ({ marketQuoteCurrency, marketBaseCurrency, bidTick, askTick, }) => {
|
|
29
|
-
if (bidTick) {
|
|
37
|
+
if (bidTick !== undefined) {
|
|
30
38
|
return formatPrice(toPrice(bidTick), marketQuoteCurrency.decimals, marketBaseCurrency.decimals);
|
|
31
39
|
}
|
|
32
|
-
else if (askTick) {
|
|
33
|
-
return formatPrice(
|
|
40
|
+
else if (askTick !== undefined) {
|
|
41
|
+
return formatPrice(toPrice(invertTick(askTick)), marketQuoteCurrency.decimals, marketBaseCurrency.decimals);
|
|
34
42
|
}
|
|
35
43
|
else {
|
|
36
44
|
throw new Error('Either bidTick or askTick must be provided');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prices.js","sourceRoot":"","sources":["../../../src/utils/prices.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAA;AAEpC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"prices.js","sourceRoot":"","sources":["../../../src/utils/prices.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/utils/tick.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { PRICE_PRECISION } from '../constants/price';
|
|
1
|
+
import { MAX_PRICE, MIN_PRICE, PRICE_PRECISION } from '../constants/price';
|
|
2
|
+
import { MAX_TICK, MIN_TICK } from '../constants/tick';
|
|
2
3
|
import { lnWad } from './math';
|
|
3
4
|
const _R0 = 0xfff97272373d413259a46990n;
|
|
4
5
|
const _R1 = 0xfff2e50f5f656932ef12357cn;
|
|
@@ -19,10 +20,16 @@ const _R15 = 0x9aa508b5b7a84e1c677de54n;
|
|
|
19
20
|
const _R16 = 0x5d6af8dedb81196699c329n;
|
|
20
21
|
const _R17 = 0x2216e584f5fa1ea92604n;
|
|
21
22
|
const _R18 = 0x48a170391f7dc42n;
|
|
23
|
+
export const invertTick = (tick) => {
|
|
24
|
+
return -tick;
|
|
25
|
+
};
|
|
22
26
|
export const invertPrice = (price) => {
|
|
23
27
|
return price ? (1n << (PRICE_PRECISION * 2n)) / price : 0n;
|
|
24
28
|
};
|
|
25
29
|
export const fromPrice = (price) => {
|
|
30
|
+
if (price > MAX_PRICE || price < MIN_PRICE) {
|
|
31
|
+
throw new Error('price is out of range');
|
|
32
|
+
}
|
|
26
33
|
const tick = (lnWad(price) * 42951820407860n) / 2n ** 128n;
|
|
27
34
|
if (toPrice(tick) > price) {
|
|
28
35
|
return tick - 1n;
|
|
@@ -30,6 +37,9 @@ export const fromPrice = (price) => {
|
|
|
30
37
|
return tick;
|
|
31
38
|
};
|
|
32
39
|
export const toPrice = (tick) => {
|
|
40
|
+
if (tick > MAX_TICK || tick < MIN_TICK) {
|
|
41
|
+
throw new Error('tick is out of range');
|
|
42
|
+
}
|
|
33
43
|
const absTick = tick < 0n ? -tick : tick;
|
|
34
44
|
let price = 0n;
|
|
35
45
|
if ((absTick & 0x1n) !== 0n) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tick.js","sourceRoot":"","sources":["../../../src/utils/tick.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"tick.js","sourceRoot":"","sources":["../../../src/utils/tick.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { isAddressEqual, zeroAddress } from 'viem';
|
|
2
|
-
import { cachedPublicClients } from '../constants/client';
|
|
3
2
|
import { WETH_ADDRESSES } from '../constants/currency';
|
|
4
3
|
const _abi = [
|
|
5
4
|
{
|
|
@@ -18,23 +17,23 @@ const _abi = [
|
|
|
18
17
|
];
|
|
19
18
|
const buildCurrencyCacheKey = (chainId, address) => `${chainId}:${address}`;
|
|
20
19
|
const unitSizeCache = new Map();
|
|
21
|
-
const
|
|
20
|
+
const getUnitSizeFromCache = (chainId, address) => unitSizeCache.get(buildCurrencyCacheKey(chainId, address));
|
|
22
21
|
const setUnitSizeToCache = (chainId, address, unitSize) => unitSizeCache.set(buildCurrencyCacheKey(chainId, address), unitSize);
|
|
23
|
-
export const calculateUnitSize = async (chainId, quote) => {
|
|
24
|
-
const
|
|
25
|
-
if (
|
|
26
|
-
return
|
|
22
|
+
export const calculateUnitSize = async (publicClient, chainId, quote) => {
|
|
23
|
+
const cachedUnitSize = getUnitSizeFromCache(chainId, quote.address);
|
|
24
|
+
if (cachedUnitSize !== undefined) {
|
|
25
|
+
return cachedUnitSize;
|
|
27
26
|
}
|
|
28
|
-
const unitSize = await
|
|
27
|
+
const unitSize = await calculateUnitSizeInner(publicClient, chainId, quote);
|
|
29
28
|
setUnitSizeToCache(chainId, quote.address, unitSize);
|
|
30
29
|
return unitSize;
|
|
31
30
|
};
|
|
32
|
-
const
|
|
31
|
+
const calculateUnitSizeInner = async (publicClient, chainId, quote) => {
|
|
33
32
|
if (isAddressEqual(quote.address, zeroAddress) ||
|
|
34
33
|
WETH_ADDRESSES[chainId].includes(quote.address)) {
|
|
35
34
|
return 10n ** 12n;
|
|
36
35
|
}
|
|
37
|
-
const totalSupply = await
|
|
36
|
+
const totalSupply = await publicClient.readContract({
|
|
38
37
|
address: quote.address,
|
|
39
38
|
abi: _abi,
|
|
40
39
|
functionName: 'totalSupply',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unit-size.js","sourceRoot":"","sources":["../../../src/utils/unit-size.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"unit-size.js","sourceRoot":"","sources":["../../../src/utils/unit-size.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAgB,WAAW,EAAE,MAAM,MAAM,CAAA;AAIhE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAEtD,MAAM,IAAI,GAAG;IACX;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aAChB;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;CACO,CAAA;AAEV,MAAM,qBAAqB,GAAG,CAAC,OAAkB,EAAE,OAAsB,EAAE,EAAE,CAC3E,GAAG,OAAO,IAAI,OAAO,EAAE,CAAA;AACzB,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAA;AAC/C,MAAM,oBAAoB,GAAG,CAC3B,OAAkB,EAClB,OAAsB,EACF,EAAE,CACtB,aAAa,CAAC,GAAG,CAAC,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAA;AAC5D,MAAM,kBAAkB,GAAG,CACzB,OAAkB,EAClB,OAAsB,EACtB,QAAgB,EAChB,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAA;AAEzE,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EACpC,YAA0B,EAC1B,OAAkB,EAClB,KAAe,EACf,EAAE;IACF,MAAM,cAAc,GAAG,oBAAoB,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;IACnE,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,OAAO,cAAc,CAAA;IACvB,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAAC,YAAY,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;IAC3E,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IACpD,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AAED,MAAM,sBAAsB,GAAG,KAAK,EAClC,YAA0B,EAC1B,OAAkB,EAClB,KAAe,EACf,EAAE;IACF,IACE,cAAc,CAAC,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC;QAC1C,cAAc,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EAC/C,CAAC;QACD,OAAO,GAAG,IAAI,GAAG,CAAA;IACnB,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC;QAClD,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,GAAG,EAAE,IAAI;QACT,YAAY,EAAE,aAAa;KAC5B,CAAC,CAAA;IACF,OAAO,CACL,GAAG;QACH,MAAM,CAAC,WAAW,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CACxE,CAAA;AACH,CAAC,CAAA"}
|
package/dist/esm/utils.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { formatPrice, parsePrice, getMarketPrice } from './utils/prices';
|
|
2
|
-
export { toPrice, fromPrice, invertPrice } from './utils/tick';
|
|
2
|
+
export { toPrice, fromPrice, invertPrice, invertTick } from './utils/tick';
|
|
3
3
|
export { baseToQuote, quoteToBase } from './utils/decimals';
|
|
4
4
|
//# sourceMappingURL=utils.js.map
|
package/dist/esm/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACxE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACxE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC1E,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA"}
|