@clober/v2-sdk 0.0.6 → 0.0.8

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.
Files changed (67) hide show
  1. package/dist/cjs/apis/chart-logs.js +154 -0
  2. package/dist/cjs/apis/chart-logs.js.map +1 -0
  3. package/dist/cjs/apis/open-order.js +9 -2
  4. package/dist/cjs/apis/open-order.js.map +1 -1
  5. package/dist/cjs/approval.js +6 -9
  6. package/dist/cjs/approval.js.map +1 -1
  7. package/dist/cjs/call.js +49 -34
  8. package/dist/cjs/call.js.map +1 -1
  9. package/dist/cjs/model/chart-log.js +3 -0
  10. package/dist/cjs/model/chart-log.js.map +1 -0
  11. package/dist/cjs/signature.js +10 -5
  12. package/dist/cjs/signature.js.map +1 -1
  13. package/dist/cjs/type.js +16 -1
  14. package/dist/cjs/type.js.map +1 -1
  15. package/dist/cjs/utils/bigint.js +9 -0
  16. package/dist/cjs/utils/bigint.js.map +1 -0
  17. package/dist/cjs/utils/currency.js +49 -1
  18. package/dist/cjs/utils/currency.js.map +1 -1
  19. package/dist/cjs/utils/order.js +173 -0
  20. package/dist/cjs/utils/order.js.map +1 -0
  21. package/dist/cjs/view.js +8 -1
  22. package/dist/cjs/view.js.map +1 -1
  23. package/dist/esm/apis/chart-logs.js +150 -0
  24. package/dist/esm/apis/chart-logs.js.map +1 -0
  25. package/dist/esm/apis/open-order.js +9 -2
  26. package/dist/esm/apis/open-order.js.map +1 -1
  27. package/dist/esm/approval.js +19 -15
  28. package/dist/esm/approval.js.map +1 -1
  29. package/dist/esm/call.js +131 -116
  30. package/dist/esm/call.js.map +1 -1
  31. package/dist/esm/model/chart-log.js +2 -0
  32. package/dist/esm/model/chart-log.js.map +1 -0
  33. package/dist/esm/signature.js +30 -19
  34. package/dist/esm/signature.js.map +1 -1
  35. package/dist/esm/type.js +15 -0
  36. package/dist/esm/type.js.map +1 -1
  37. package/dist/esm/utils/bigint.js +5 -0
  38. package/dist/esm/utils/bigint.js.map +1 -0
  39. package/dist/esm/utils/currency.js +48 -1
  40. package/dist/esm/utils/currency.js.map +1 -1
  41. package/dist/esm/utils/order.js +168 -0
  42. package/dist/esm/utils/order.js.map +1 -0
  43. package/dist/esm/view.js +72 -25
  44. package/dist/esm/view.js.map +1 -1
  45. package/dist/tsconfig.build.tsbuildinfo +1 -1
  46. package/dist/types/apis/chart-logs.d.ts +5 -0
  47. package/dist/types/apis/chart-logs.d.ts.map +1 -0
  48. package/dist/types/apis/open-order.d.ts.map +1 -1
  49. package/dist/types/approval.d.ts +15 -8
  50. package/dist/types/approval.d.ts.map +1 -1
  51. package/dist/types/call.d.ts +81 -81
  52. package/dist/types/call.d.ts.map +1 -1
  53. package/dist/types/model/chart-log.d.ts +9 -0
  54. package/dist/types/model/chart-log.d.ts.map +1 -0
  55. package/dist/types/signature.d.ts +22 -16
  56. package/dist/types/signature.d.ts.map +1 -1
  57. package/dist/types/type.d.ts +22 -0
  58. package/dist/types/type.d.ts.map +1 -1
  59. package/dist/types/utils/bigint.d.ts +2 -0
  60. package/dist/types/utils/bigint.d.ts.map +1 -0
  61. package/dist/types/utils/currency.d.ts +3 -0
  62. package/dist/types/utils/currency.d.ts.map +1 -1
  63. package/dist/types/utils/order.d.ts +17 -0
  64. package/dist/types/utils/order.d.ts.map +1 -0
  65. package/dist/types/view.d.ts +80 -26
  66. package/dist/types/view.d.ts.map +1 -1
  67. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"currency.js","sourceRoot":"","sources":["../../../src/utils/currency.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,MAAM,CAAA;AAIlD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAEzD,MAAM,IAAI,GAAG;IACX;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,QAAQ;aACf;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,QAAQ;aACf;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,OAAO;aACd;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;CACO,CAAA;AAEV,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAChC,OAAkB,EAClB,OAAsB,EACH,EAAE;IACrB,IAAI,cAAc,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,CAAC;QACzC,OAAO;YACL,OAAO,EAAE,WAAW;YACpB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,EAAE;SACb,CAAA;IACH,CAAC;IAED,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAChE,MAAM,mBAAmB,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC;QAC3C,SAAS,EAAE;YACT;gBACE,OAAO;gBACP,GAAG,EAAE,IAAI;gBACT,YAAY,EAAE,MAAM;aACrB;YACD;gBACE,OAAO;gBACP,GAAG,EAAE,IAAI;gBACT,YAAY,EAAE,QAAQ;aACvB;YACD;gBACE,OAAO;gBACP,GAAG,EAAE,IAAI;gBACT,YAAY,EAAE,UAAU;aACzB;SACF;KACF,CAAC,CAAA;IACJ,OAAO;QACL,OAAO;QACP,IAAI,EAAE,IAAI,IAAI,SAAS;QACvB,MAAM,EAAE,MAAM,IAAI,SAAS;QAC3B,QAAQ,EAAE,QAAQ,IAAI,EAAE;KACzB,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"currency.js","sourceRoot":"","sources":["../../../src/utils/currency.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,168 @@
1
+ import { getAddress } from 'viem';
2
+ import { cachedPublicClients } from '../constants/client';
3
+ import { CONTRACT_ADDRESSES } from '../constants/addresses';
4
+ import { fetchCurrencyMap } from './currency';
5
+ const _abi = [
6
+ {
7
+ inputs: [
8
+ {
9
+ internalType: 'OrderId',
10
+ name: 'id',
11
+ type: 'uint256',
12
+ },
13
+ ],
14
+ name: 'getOrder',
15
+ outputs: [
16
+ {
17
+ components: [
18
+ {
19
+ internalType: 'address',
20
+ name: 'provider',
21
+ type: 'address',
22
+ },
23
+ {
24
+ internalType: 'uint64',
25
+ name: 'open',
26
+ type: 'uint64',
27
+ },
28
+ {
29
+ internalType: 'uint64',
30
+ name: 'claimable',
31
+ type: 'uint64',
32
+ },
33
+ ],
34
+ internalType: 'struct IBookManager.OrderInfo',
35
+ name: '',
36
+ type: 'tuple',
37
+ },
38
+ ],
39
+ stateMutability: 'view',
40
+ type: 'function',
41
+ },
42
+ {
43
+ inputs: [
44
+ {
45
+ internalType: 'uint256',
46
+ name: 'tokenId',
47
+ type: 'uint256',
48
+ },
49
+ ],
50
+ name: 'ownerOf',
51
+ outputs: [
52
+ {
53
+ internalType: 'address',
54
+ name: '',
55
+ type: 'address',
56
+ },
57
+ ],
58
+ stateMutability: 'view',
59
+ type: 'function',
60
+ },
61
+ {
62
+ inputs: [
63
+ {
64
+ internalType: 'BookId',
65
+ name: 'id',
66
+ type: 'uint192',
67
+ },
68
+ ],
69
+ name: 'getBookKey',
70
+ outputs: [
71
+ {
72
+ components: [
73
+ {
74
+ internalType: 'Currency',
75
+ name: 'base',
76
+ type: 'address',
77
+ },
78
+ {
79
+ internalType: 'uint64',
80
+ name: 'unit',
81
+ type: 'uint64',
82
+ },
83
+ {
84
+ internalType: 'Currency',
85
+ name: 'quote',
86
+ type: 'address',
87
+ },
88
+ {
89
+ internalType: 'FeePolicy',
90
+ name: 'makerPolicy',
91
+ type: 'uint24',
92
+ },
93
+ {
94
+ internalType: 'contract IHooks',
95
+ name: 'hooks',
96
+ type: 'address',
97
+ },
98
+ {
99
+ internalType: 'FeePolicy',
100
+ name: 'takerPolicy',
101
+ type: 'uint24',
102
+ },
103
+ ],
104
+ internalType: 'struct IBookManager.BookKey',
105
+ name: '',
106
+ type: 'tuple',
107
+ },
108
+ ],
109
+ stateMutability: 'view',
110
+ type: 'function',
111
+ },
112
+ ];
113
+ export const fetchOrders = async (chainId, orderIds) => {
114
+ const result = await cachedPublicClients[chainId].multicall({
115
+ contracts: [
116
+ ...orderIds.map((orderId) => ({
117
+ address: CONTRACT_ADDRESSES[chainId].BookManager,
118
+ abi: _abi,
119
+ functionName: 'getOrder',
120
+ args: [orderId],
121
+ })),
122
+ ...orderIds.map((orderId) => ({
123
+ address: CONTRACT_ADDRESSES[chainId].BookManager,
124
+ abi: _abi,
125
+ functionName: 'ownerOf',
126
+ args: [orderId],
127
+ })),
128
+ ...orderIds.map((orderId) => ({
129
+ address: CONTRACT_ADDRESSES[chainId].BookManager,
130
+ abi: _abi,
131
+ functionName: 'getBookKey',
132
+ args: [fromOrderId(orderId).bookId],
133
+ })),
134
+ ],
135
+ });
136
+ const addresses = orderIds
137
+ .map((_, index) => {
138
+ const { base, quote } = result[index + orderIds.length * 2].result;
139
+ return [base, quote];
140
+ })
141
+ .flat();
142
+ const currencyMap = await fetchCurrencyMap(chainId, addresses);
143
+ return orderIds.map((orderId, index) => {
144
+ const order = result[index].result;
145
+ const owner = result[index + orderIds.length].result;
146
+ const { base, quote, unit } = result[index + orderIds.length * 2]
147
+ .result;
148
+ return {
149
+ open: order.open,
150
+ claimable: order.claimable,
151
+ orderId,
152
+ owner,
153
+ unit,
154
+ tick: fromOrderId(orderId).tick,
155
+ baseCurrency: currencyMap[getAddress(base)],
156
+ quoteCurrency: currencyMap[getAddress(quote)],
157
+ };
158
+ });
159
+ };
160
+ export const fromOrderId = (orderId) => {
161
+ const tick = (orderId >> 40n) & (2n ** 24n - 1n);
162
+ return {
163
+ bookId: orderId >> 64n,
164
+ tick: tick & (2n ** 23n) ? -(2n ** 24n - tick) : tick,
165
+ index: orderId & (2n ** 40n - 1n),
166
+ };
167
+ };
168
+ //# sourceMappingURL=order.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"order.js","sourceRoot":"","sources":["../../../src/utils/order.ts"],"names":[],"mappings":"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"}
package/dist/esm/view.js CHANGED
@@ -4,6 +4,7 @@ import { parsePrice } from './utils/prices';
4
4
  import { MAX_PRICE } from './constants/price';
5
5
  import { fetchOpenOrder, fetchOpenOrders } from './apis/open-order';
6
6
  import { decorator } from './utils/decorator';
7
+ import { fetchChartLogs, fetchLatestChartLog } from './apis/chart-logs';
7
8
  /**
8
9
  * Get market information by chain id and token addresses
9
10
  * @param chainId - chain id from {@link CHAIN_IDS}
@@ -17,11 +18,11 @@ import { decorator } from './utils/decorator';
17
18
  * @example
18
19
  * import { getMarket } from '@clober/v2-sdk'
19
20
  *
20
- * const market = await getMarket(
21
- * 421614,
22
- * '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
23
- * '0x0000000000000000000000000000000000000000',
24
- * )
21
+ * const market = await getMarket({
22
+ * chainId: 421614,
23
+ * token0: '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
24
+ * token1: '0x0000000000000000000000000000000000000000',
25
+ * })
25
26
  */
26
27
  export const getMarket = decorator(async ({ chainId, token0, token1, options, }) => {
27
28
  if (isAddressEqual(token0, token1)) {
@@ -54,12 +55,12 @@ export const getMarket = decorator(async ({ chainId, token0, token1, options, })
54
55
  * @example
55
56
  * import { getExpectedOutput } from '@clober/v2-sdk'
56
57
  *
57
- * const { takenAmount, spendAmount } = await getExpectedOutput(
58
- * 421614,
59
- * '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
60
- * '0x0000000000000000000000000000000000000000',
61
- * '1000.123', // spend 1000.123 USDC
62
- * )
58
+ * const { takenAmount, spendAmount } = await getExpectedOutput({
59
+ * chainId: 421614,
60
+ * inputToken: '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
61
+ * outputToken: '0x0000000000000000000000000000000000000000',
62
+ * amountIn: '1000.123', // spend 1000.123 USDC
63
+ * })
63
64
  */
64
65
  export const getExpectedOutput = decorator(async ({ chainId, inputToken, outputToken, amountIn, options, }) => {
65
66
  const market = await fetchMarket(chainId, [inputToken, outputToken]);
@@ -95,12 +96,12 @@ export const getExpectedOutput = decorator(async ({ chainId, inputToken, outputT
95
96
  * @example
96
97
  * import { getExpectedInput } from '@clober/v2-sdk'
97
98
  *
98
- * const { takenAmount, spendAmount } = await getExpectedInput(
99
- * 421614,
100
- * '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
101
- * '0x0000000000000000000000000000000000000000',
102
- * '0.1', // take 0.1 ETH
103
- * )
99
+ * const { takenAmount, spendAmount } = await getExpectedInput({
100
+ * chainId: 421614,
101
+ * inputToken: '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
102
+ * outputToken: '0x0000000000000000000000000000000000000000',
103
+ * amountOut: '0.1', // take 0.1 ETH
104
+ * })
104
105
  */
105
106
  export const getExpectedInput = decorator(async ({ chainId, inputToken, outputToken, amountOut, options, }) => {
106
107
  const market = await fetchMarket(chainId, [inputToken, outputToken]);
@@ -133,10 +134,10 @@ export const getExpectedInput = decorator(async ({ chainId, inputToken, outputTo
133
134
  * @example
134
135
  * import { getOpenOrder } from '@clober/v2-sdk'
135
136
  *
136
- * const openOrder = await getOpenOrder(
137
- * 421614,
138
- * '46223845323662364279893361453861711542636620039907198451770258805035840307200'
139
- * )
137
+ * const openOrder = await getOpenOrder({
138
+ * chainId: 421614,
139
+ * id: '46223845323662364279893361453861711542636620039907198451770258805035840307200'
140
+ * })
140
141
  */
141
142
  export const getOpenOrder = decorator(async ({ chainId, id, }) => {
142
143
  return fetchOpenOrder(chainId, id);
@@ -152,12 +153,58 @@ export const getOpenOrder = decorator(async ({ chainId, id, }) => {
152
153
  * @example
153
154
  * import { getOpenOrders } from '@clober/v2-sdk'
154
155
  *
155
- * const openOrders = await getOpenOrders(
156
- * 421614,
157
- * '0x5F79EE8f8fA862E98201120d83c4eC39D9468D49'
158
- * )
156
+ * const openOrders = await getOpenOrders({
157
+ * chainId: 421614,
158
+ * userAddress: '0x5F79EE8f8fA862E98201120d83c4eC39D9468D49'
159
+ * })
159
160
  */
160
161
  export const getOpenOrders = decorator(async ({ chainId, userAddress, }) => {
161
162
  return fetchOpenOrders(chainId, userAddress);
162
163
  });
164
+ /**
165
+ * Retrieves the latest chart log for a specific market.
166
+ *
167
+ * @param {CHAIN_IDS} params.chainId - The ID of the blockchain.
168
+ * @param {`0x${string}`} params.quote - The address of the quote token.
169
+ * @param {`0x${string}`} params.base - The address of the base token.
170
+ * @returns {Promise<ChartLog>} A promise that resolves with the latest chart log.
171
+ *
172
+ * @example
173
+ * import { getLatestChartLog } from '@clober/v2-sdk'
174
+ *
175
+ * const logs = await getLatestChartLog({
176
+ * chainId: 421614,
177
+ * quote: '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
178
+ * base: '0x0000000000000000000000000000000000000000',
179
+ * })
180
+ */
181
+ export const getLatestChartLog = decorator(async ({ chainId, quote, base, }) => {
182
+ return fetchLatestChartLog(chainId, `${base}/${quote}`);
183
+ });
184
+ /**
185
+ * Retrieves chart logs for a specific market within a specified time interval.
186
+ *
187
+ * @param {CHAIN_IDS} params.chainId - The ID of the chain.
188
+ * @param {`0x${string}`} params.quote - The address of the quote token.
189
+ * @param {`0x${string}`} params.base - The address of the base token.
190
+ * @param {CHART_LOG_INTERVALS} params.intervalType - The type of time interval for the chart logs.
191
+ * @param {number} params.from - The start of the time interval (Unix timestamp in seconds).
192
+ * @param {number} params.to - The end of the time interval (Unix timestamp in seconds).
193
+ * @returns {Promise<ChartLog[]>} A promise that resolves with an array of chart logs within the specified interval.
194
+ *
195
+ * @example
196
+ * import { getLatestChartLog, CHART_LOG_INTERVALS } from '@clober/v2-sdk'
197
+ *
198
+ * const logs = await getChartLogs({
199
+ * chainId: 421614,
200
+ * quote: '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
201
+ * base: '0x0000000000000000000000000000000000000000',
202
+ * intervalType: CHART_LOG_INTERVALS.oneDay,
203
+ * from: 1687305600,
204
+ * to: 1713312000,
205
+ * })
206
+ */
207
+ export const getChartLogs = decorator(async ({ chainId, quote, base, intervalType, from, to, }) => {
208
+ return fetchChartLogs(chainId, `${base}/${quote}`, intervalType, from, to);
209
+ });
163
210
  //# sourceMappingURL=view.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"view.js","sourceRoot":"","sources":["../../src/view.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"view.js","sourceRoot":"","sources":["../../src/view.ts"],"names":[],"mappings":"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"}