@clober/v2-sdk 0.0.14 → 0.0.16
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/README.md +1 -3
- package/dist/cjs/apis/chart-logs.js +3 -3
- package/dist/cjs/apis/chart-logs.js.map +1 -1
- package/dist/cjs/apis/market.js +22 -0
- package/dist/cjs/apis/market.js.map +1 -1
- package/dist/cjs/apis/open-order.js +27 -8
- package/dist/cjs/apis/open-order.js.map +1 -1
- package/dist/cjs/call.js +22 -33
- package/dist/cjs/call.js.map +1 -1
- package/dist/cjs/constants/addresses.js +10 -0
- package/dist/cjs/constants/addresses.js.map +1 -1
- package/dist/cjs/constants/chain.js +4 -1
- package/dist/cjs/constants/chain.js.map +1 -1
- package/dist/cjs/constants/currency.js +10 -0
- package/dist/cjs/constants/currency.js.map +1 -1
- package/dist/cjs/constants/subgraph.js +54 -0
- package/dist/cjs/constants/subgraph.js.map +1 -0
- package/dist/cjs/type.js.map +1 -1
- package/dist/cjs/utils/decorator.js +2 -0
- package/dist/cjs/utils/decorator.js.map +1 -1
- package/dist/cjs/utils/order.js +42 -8
- package/dist/cjs/utils/order.js.map +1 -1
- package/dist/cjs/view.js +1 -1
- 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 +22 -0
- package/dist/esm/apis/market.js.map +1 -1
- package/dist/esm/apis/open-order.js +24 -6
- package/dist/esm/apis/open-order.js.map +1 -1
- package/dist/esm/call.js +34 -33
- package/dist/esm/call.js.map +1 -1
- package/dist/esm/constants/addresses.js +10 -0
- package/dist/esm/constants/addresses.js.map +1 -1
- package/dist/esm/constants/chain.js +5 -2
- package/dist/esm/constants/chain.js.map +1 -1
- package/dist/esm/constants/currency.js +10 -0
- package/dist/esm/constants/currency.js.map +1 -1
- package/dist/esm/constants/subgraph.js +50 -0
- package/dist/esm/constants/subgraph.js.map +1 -0
- package/dist/esm/type.js.map +1 -1
- package/dist/esm/utils/decorator.js +2 -0
- package/dist/esm/utils/decorator.js.map +1 -1
- package/dist/esm/utils/order.js +44 -9
- package/dist/esm/utils/order.js.map +1 -1
- package/dist/esm/view.js +7 -2
- 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.map +1 -1
- package/dist/types/apis/open-order.d.ts +2 -1
- package/dist/types/apis/open-order.d.ts.map +1 -1
- package/dist/types/call.d.ts +12 -0
- 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 +3 -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/subgraph.d.ts +10 -0
- package/dist/types/constants/subgraph.d.ts.map +1 -0
- package/dist/types/model/open-order.d.ts +2 -0
- package/dist/types/model/open-order.d.ts.map +1 -1
- package/dist/types/type.d.ts +1 -0
- package/dist/types/type.d.ts.map +1 -1
- package/dist/types/utils/decorator.d.ts.map +1 -1
- package/dist/types/utils/order.d.ts +2 -11
- package/dist/types/utils/order.d.ts.map +1 -1
- package/dist/types/view.d.ts +5 -0
- package/dist/types/view.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/cjs/apis/subgraph.js +0 -26
- package/dist/cjs/apis/subgraph.js.map +0 -1
- package/dist/cjs/constants/subgraph-url.js +0 -8
- package/dist/cjs/constants/subgraph-url.js.map +0 -1
- package/dist/esm/apis/subgraph.js +0 -22
- package/dist/esm/apis/subgraph.js.map +0 -1
- package/dist/esm/constants/subgraph-url.js +0 -5
- package/dist/esm/constants/subgraph-url.js.map +0 -1
- package/dist/types/apis/subgraph.d.ts +0 -3
- package/dist/types/apis/subgraph.d.ts.map +0 -1
- package/dist/types/constants/subgraph-url.d.ts +0 -5
- package/dist/types/constants/subgraph-url.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"currency.js","sourceRoot":"","sources":["../../../src/constants/currency.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAA;AAElC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAEnC,MAAM,CAAC,MAAM,cAAc,GAEvB;IACF,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,CAAC,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"currency.js","sourceRoot":"","sources":["../../../src/constants/currency.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAA;AAElC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAEnC,MAAM,CAAC,MAAM,cAAc,GAEvB;IACF,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,CAAC,WAAW,CAAC;IAC3C,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,4CAA4C,CAAC;IAChE,CAAC,SAAS,CAAC,iBAAiB,CAAC,EAAE;QAC7B,4CAA4C,EAAE,QAAQ;KACvD;CACF,CAAA;AAED,MAAM,CAAC,MAAM,qBAAqB,GAE9B;IACF,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,CAAC,4CAA4C,CAAC;IAC5E,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;QAChB,4CAA4C,EAAE,OAAO;KACtD;IACD,CAAC,SAAS,CAAC,iBAAiB,CAAC,EAAE;QAC7B,4CAA4C,EAAE,QAAQ;KACvD;CACF,CAAA"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { CHAIN_IDS } from './chain';
|
|
2
|
+
const SUBGRAPH_URL = {
|
|
3
|
+
[CHAIN_IDS.ARBITRUM_SEPOLIA]: 'https://subgraph.satsuma-prod.com/f6a8c4889b7b/clober/v2-core-subgraph/api',
|
|
4
|
+
[CHAIN_IDS.BASE]: 'https://subgraph.satsuma-prod.com/f6a8c4889b7b/clober/v2-core-subgraph-base/api',
|
|
5
|
+
[CHAIN_IDS.BERACHAIN_TESTNET]: 'https://api.goldsky.com/api/public/project_clsljw95chutg01w45cio46j0/subgraphs/v2-core-subgraph/v1.2.0/gn',
|
|
6
|
+
};
|
|
7
|
+
class Subgraph {
|
|
8
|
+
constructor(chainId) {
|
|
9
|
+
Object.defineProperty(this, "subgraphURL", {
|
|
10
|
+
enumerable: true,
|
|
11
|
+
configurable: true,
|
|
12
|
+
writable: true,
|
|
13
|
+
value: void 0
|
|
14
|
+
});
|
|
15
|
+
if (!SUBGRAPH_URL[chainId]) {
|
|
16
|
+
throw new Error('Unsupported chain for subgraph');
|
|
17
|
+
}
|
|
18
|
+
this.subgraphURL = SUBGRAPH_URL[chainId];
|
|
19
|
+
}
|
|
20
|
+
async get(operationName, query, variables) {
|
|
21
|
+
const response = await fetch(this.subgraphURL, {
|
|
22
|
+
method: 'POST',
|
|
23
|
+
headers: {
|
|
24
|
+
'Content-Type': 'application/json',
|
|
25
|
+
},
|
|
26
|
+
body: JSON.stringify({
|
|
27
|
+
query,
|
|
28
|
+
variables,
|
|
29
|
+
operationName,
|
|
30
|
+
}),
|
|
31
|
+
});
|
|
32
|
+
if (response.ok) {
|
|
33
|
+
return response.json();
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
const errorResponse = await response.json();
|
|
37
|
+
throw new Error(errorResponse.message || 'Unknown Error');
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
export const cachedSubgraph = {};
|
|
42
|
+
export const buildSubgraph = (chainId, useSubgraph = true) => {
|
|
43
|
+
if (!useSubgraph) {
|
|
44
|
+
cachedSubgraph[chainId] = undefined;
|
|
45
|
+
}
|
|
46
|
+
else if (useSubgraph && SUBGRAPH_URL[chainId]) {
|
|
47
|
+
cachedSubgraph[chainId] = new Subgraph(chainId);
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
//# sourceMappingURL=subgraph.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subgraph.js","sourceRoot":"","sources":["../../../src/constants/subgraph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAEnC,MAAM,YAAY,GAEd;IACF,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAC1B,4EAA4E;IAC9E,CAAC,SAAS,CAAC,IAAI,CAAC,EACd,iFAAiF;IACnF,CAAC,SAAS,CAAC,iBAAiB,CAAC,EAC3B,2GAA2G;CAC9G,CAAA;AAED,MAAM,QAAQ;IAEZ,YAAY,OAAkB;QADtB;;;;;WAAmB;QAEzB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;QACnD,CAAC;QACD,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;IAC1C,CAAC;IAEM,KAAK,CAAC,GAAG,CACd,aAAqB,EACrB,KAAa,EACb,SAAa;QAEb,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE;YAC7C,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,KAAK;gBACL,SAAS;gBACT,aAAa;aACd,CAAC;SACH,CAAC,CAAA;QAEF,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;YAChB,OAAO,QAAQ,CAAC,IAAI,EAAgB,CAAA;QACtC,CAAC;aAAM,CAAC;YACN,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;YAE3C,MAAM,IAAI,KAAK,CAAE,aAAqB,CAAC,OAAO,IAAI,eAAe,CAAC,CAAA;QACpE,CAAC;IACH,CAAC;CACF;AAED,MAAM,CAAC,MAAM,cAAc,GACzB,EAAW,CAAA;AACb,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,OAAkB,EAClB,cAAuB,IAAI,EAC3B,EAAE;IACF,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,cAAc,CAAC,OAAO,CAAC,GAAG,SAAS,CAAA;IACrC,CAAC;SAAM,IAAI,WAAW,IAAI,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;QAChD,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAA;IACjD,CAAC;AACH,CAAC,CAAA"}
|
package/dist/esm/type.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type.js","sourceRoot":"","sources":["../../src/type.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"type.js","sourceRoot":"","sources":["../../src/type.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AA4D7C,MAAM,CAAN,IAAY,mBAaX;AAbD,WAAY,mBAAmB;IAC7B,uCAAgB,CAAA;IAChB,0CAAmB,CAAA;IACnB,yCAAkB,CAAA;IAClB,yCAAkB,CAAA;IAClB,6CAAsB,CAAA;IACtB,4CAAqB,CAAA;IACrB,qCAAc,CAAA;IACd,sCAAe,CAAA;IACf,uCAAgB,CAAA;IAChB,sCAAe,CAAA;IACf,oCAAa,CAAA;IACb,qCAAc,CAAA;AAChB,CAAC,EAbW,mBAAmB,KAAnB,mBAAmB,QAa9B"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { buildPublicClient } from '../constants/client';
|
|
2
|
+
import { buildSubgraph } from '../constants/subgraph';
|
|
2
3
|
export function decorator(fn) {
|
|
3
4
|
return async (args) => {
|
|
4
5
|
const { chainId, options } = args;
|
|
5
6
|
buildPublicClient(chainId, options?.rpcUrl);
|
|
7
|
+
buildSubgraph(chainId, options?.useSubgraph);
|
|
6
8
|
return fn(args);
|
|
7
9
|
};
|
|
8
10
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorator.js","sourceRoot":"","sources":["../../../src/utils/decorator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"decorator.js","sourceRoot":"","sources":["../../../src/utils/decorator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAErD,MAAM,UAAU,SAAS,CAMvB,EAA8B;IAC9B,OAAO,KAAK,EAAE,IAAU,EAAE,EAAE;QAC1B,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,IAG5B,CAAA;QACD,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;QAC3C,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,CAAA;QAC5C,OAAO,EAAE,CAAC,IAAI,CAAC,CAAA;IACjB,CAAC,CAAA;AACH,CAAC"}
|
package/dist/esm/utils/order.js
CHANGED
|
@@ -1,7 +1,13 @@
|
|
|
1
|
-
import { getAddress } from 'viem';
|
|
1
|
+
import { formatUnits, getAddress, isAddressEqual, zeroAddress } from 'viem';
|
|
2
2
|
import { cachedPublicClients } from '../constants/client';
|
|
3
3
|
import { CONTRACT_ADDRESSES } from '../constants/addresses';
|
|
4
|
+
import { cachedSubgraph } from '../constants/subgraph';
|
|
5
|
+
import { fetchOpenOrders } from '../apis/open-order';
|
|
6
|
+
import { MAKER_DEFAULT_POLICY } from '../constants/fee';
|
|
4
7
|
import { fetchCurrencyMap } from './currency';
|
|
8
|
+
import { quoteToBase } from './decimals';
|
|
9
|
+
import { getMarketId } from './market';
|
|
10
|
+
import { applyPercent } from './bigint';
|
|
5
11
|
const _abi = [
|
|
6
12
|
{
|
|
7
13
|
inputs: [
|
|
@@ -111,6 +117,9 @@ const _abi = [
|
|
|
111
117
|
},
|
|
112
118
|
];
|
|
113
119
|
export const fetchOrders = async (chainId, orderIds) => {
|
|
120
|
+
if (cachedSubgraph[chainId]) {
|
|
121
|
+
return fetchOpenOrders(chainId, orderIds.map((orderId) => orderId.toString()));
|
|
122
|
+
}
|
|
114
123
|
const result = await cachedPublicClients[chainId].multicall({
|
|
115
124
|
contracts: [
|
|
116
125
|
...orderIds.map((orderId) => ({
|
|
@@ -145,15 +154,41 @@ export const fetchOrders = async (chainId, orderIds) => {
|
|
|
145
154
|
const owner = result[index + orderIds.length].result;
|
|
146
155
|
const { base, quote, unit } = result[index + orderIds.length * 2]
|
|
147
156
|
.result;
|
|
157
|
+
const cancelable = applyPercent(unit * order.open, 100 +
|
|
158
|
+
(Number(MAKER_DEFAULT_POLICY.rate) * 100) /
|
|
159
|
+
Number(MAKER_DEFAULT_POLICY.RATE_PRECISION), 6);
|
|
160
|
+
const claimable = quoteToBase(fromOrderId(orderId).tick, unit * order.claimable, false);
|
|
161
|
+
const isBid = isAddressEqual(quote, getMarketId(chainId, [base, quote]).quoteTokenAddress);
|
|
148
162
|
return {
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
163
|
+
id: orderId.toString(),
|
|
164
|
+
user: owner,
|
|
165
|
+
isBid,
|
|
166
|
+
inputCurrency: currencyMap[getAddress(quote)],
|
|
167
|
+
outputCurrency: currencyMap[getAddress(base)],
|
|
168
|
+
cancelable: {
|
|
169
|
+
currency: currencyMap[getAddress(quote)],
|
|
170
|
+
value: formatUnits(cancelable, currencyMap[getAddress(quote)].decimals),
|
|
171
|
+
},
|
|
172
|
+
claimable: {
|
|
173
|
+
currency: currencyMap[getAddress(base)],
|
|
174
|
+
value: formatUnits(claimable, currencyMap[getAddress(base)].decimals),
|
|
175
|
+
},
|
|
176
|
+
// don't care about these fields
|
|
177
|
+
txHash: '',
|
|
178
|
+
createdAt: 0,
|
|
179
|
+
price: 0,
|
|
180
|
+
amount: {
|
|
181
|
+
currency: currencyMap[zeroAddress],
|
|
182
|
+
value: '0',
|
|
183
|
+
},
|
|
184
|
+
filled: {
|
|
185
|
+
currency: currencyMap[zeroAddress],
|
|
186
|
+
value: '0',
|
|
187
|
+
},
|
|
188
|
+
claimed: {
|
|
189
|
+
currency: currencyMap[zeroAddress],
|
|
190
|
+
value: '0',
|
|
191
|
+
},
|
|
157
192
|
};
|
|
158
193
|
});
|
|
159
194
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"order.js","sourceRoot":"","sources":["../../../src/utils/order.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"order.js","sourceRoot":"","sources":["../../../src/utils/order.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/view.js
CHANGED
|
@@ -2,7 +2,7 @@ import { formatUnits, getAddress, isAddressEqual, parseUnits } from 'viem';
|
|
|
2
2
|
import { fetchMarket } from './apis/market';
|
|
3
3
|
import { parsePrice } from './utils/prices';
|
|
4
4
|
import { MAX_PRICE } from './constants/price';
|
|
5
|
-
import { fetchOpenOrder,
|
|
5
|
+
import { fetchOpenOrder, fetchOpenOrdersByUserAddress } from './apis/open-order';
|
|
6
6
|
import { decorator } from './utils/decorator';
|
|
7
7
|
import { fetchChartLogs, fetchLatestChartLog } from './apis/chart-logs';
|
|
8
8
|
import { getMarketId } from './utils/market';
|
|
@@ -14,6 +14,7 @@ import { getMarketId } from './utils/market';
|
|
|
14
14
|
* @param options
|
|
15
15
|
* @param options.n - number of depth levels to fetch
|
|
16
16
|
* @param options.rpcUrl - RPC URL of the blockchain
|
|
17
|
+
* @param options.useSubgraph Whether to use the subgraph to fetch the market data.
|
|
17
18
|
* @returns A market {@link Market}
|
|
18
19
|
*
|
|
19
20
|
* @example
|
|
@@ -52,6 +53,7 @@ export const getMarket = decorator(async ({ chainId, token0, token1, options, })
|
|
|
52
53
|
* @param options
|
|
53
54
|
* @param options.limitPrice The maximum limit price to spend.
|
|
54
55
|
* @param options.rpcUrl The RPC URL of the blockchain.
|
|
56
|
+
* @param options.useSubgraph Whether to use the subgraph to fetch the market data.
|
|
55
57
|
* @returns A Promise resolving to an object containing the taken amount, spend amount and result of the calculation.
|
|
56
58
|
* @example
|
|
57
59
|
* import { getExpectedOutput } from '@clober/v2-sdk'
|
|
@@ -93,6 +95,7 @@ export const getExpectedOutput = decorator(async ({ chainId, inputToken, outputT
|
|
|
93
95
|
* @param options
|
|
94
96
|
* @param options.limitPrice The maximum limit price to take.
|
|
95
97
|
* @param options.rpcUrl The RPC URL of the blockchain.
|
|
98
|
+
* @param options.useSubgraph Whether to use the subgraph to fetch the market data.
|
|
96
99
|
* @returns A Promise resolving to an object containing the taken amount, spent amount and result of the calculation.
|
|
97
100
|
* @example
|
|
98
101
|
* import { getExpectedInput } from '@clober/v2-sdk'
|
|
@@ -131,6 +134,7 @@ export const getExpectedInput = decorator(async ({ chainId, inputToken, outputTo
|
|
|
131
134
|
* @param {string} id The ID of the open order.
|
|
132
135
|
* @param options
|
|
133
136
|
* @param options.rpcUrl The RPC URL of the blockchain.
|
|
137
|
+
* @param options.useSubgraph Whether to use the subgraph to fetch the market data.
|
|
134
138
|
* @returns {Promise<OpenOrder>} Promise resolving to the open order object, or undefined if not found.
|
|
135
139
|
* @example
|
|
136
140
|
* import { getOpenOrder } from '@clober/v2-sdk'
|
|
@@ -150,6 +154,7 @@ export const getOpenOrder = decorator(async ({ chainId, id, }) => {
|
|
|
150
154
|
* @param {`0x${string}`} userAddress The Ethereum address of the user.
|
|
151
155
|
* @param options
|
|
152
156
|
* @param options.rpcUrl The RPC URL of the blockchain.
|
|
157
|
+
* @param options.useSubgraph Whether to use the subgraph to fetch the market data.
|
|
153
158
|
* @returns {Promise<OpenOrder[]>} Promise resolving to an array of open orders.
|
|
154
159
|
* @example
|
|
155
160
|
* import { getOpenOrders } from '@clober/v2-sdk'
|
|
@@ -160,7 +165,7 @@ export const getOpenOrder = decorator(async ({ chainId, id, }) => {
|
|
|
160
165
|
* })
|
|
161
166
|
*/
|
|
162
167
|
export const getOpenOrders = decorator(async ({ chainId, userAddress, }) => {
|
|
163
|
-
return
|
|
168
|
+
return fetchOpenOrdersByUserAddress(chainId, userAddress);
|
|
164
169
|
});
|
|
165
170
|
/**
|
|
166
171
|
* Retrieves the latest chart log for a specific market.
|
package/dist/esm/view.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view.js","sourceRoot":"","sources":["../../src/view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AAE1E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAG3C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"view.js","sourceRoot":"","sources":["../../src/view.ts"],"names":[],"mappings":"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"}
|