@1stdex/first-sdk 1.0.0-rc.3 → 1.0.0-rc.5
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/calls/approval/order.js +25 -21
- package/dist/cjs/calls/approval/order.js.map +1 -1
- package/dist/cjs/calls/index.js +2 -1
- package/dist/cjs/calls/index.js.map +1 -1
- package/dist/cjs/entities/market/apis/index.js +1 -3
- package/dist/cjs/entities/market/apis/index.js.map +1 -1
- package/dist/cjs/types/index.js.map +1 -1
- package/dist/cjs/views/index.js +1 -2
- package/dist/cjs/views/index.js.map +1 -1
- package/dist/cjs/views/market/index.js +1 -9
- package/dist/cjs/views/market/index.js.map +1 -1
- package/dist/esm/calls/approval/order.js +50 -20
- package/dist/esm/calls/approval/order.js.map +1 -1
- package/dist/esm/calls/index.js +1 -1
- package/dist/esm/calls/index.js.map +1 -1
- package/dist/esm/entities/market/apis/index.js +0 -1
- package/dist/esm/entities/market/apis/index.js.map +1 -1
- package/dist/esm/types/index.js.map +1 -1
- package/dist/esm/views/index.js +1 -1
- package/dist/esm/views/index.js.map +1 -1
- package/dist/esm/views/market/index.js +1 -26
- package/dist/esm/views/market/index.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/types/calls/approval/order.d.ts +31 -1
- package/dist/types/calls/approval/order.d.ts.map +1 -1
- package/dist/types/calls/index.d.ts +1 -1
- package/dist/types/calls/index.d.ts.map +1 -1
- package/dist/types/entities/market/apis/index.d.ts +0 -2
- package/dist/types/entities/market/apis/index.d.ts.map +1 -1
- package/dist/types/types/index.d.ts +0 -1
- package/dist/types/types/index.d.ts.map +1 -1
- package/dist/types/views/index.d.ts +1 -1
- package/dist/types/views/index.d.ts.map +1 -1
- package/dist/types/views/market/index.d.ts +0 -24
- package/dist/types/views/market/index.d.ts.map +1 -1
- package/package.json +3 -3
- package/dist/cjs/entities/market/apis/price.js +0 -65
- package/dist/cjs/entities/market/apis/price.js.map +0 -1
- package/dist/esm/entities/market/apis/price.js +0 -86
- package/dist/esm/entities/market/apis/price.js.map +0 -1
- package/dist/types/entities/market/apis/price.d.ts +0 -32
- package/dist/types/entities/market/apis/price.d.ts.map +0 -1
|
@@ -35,5 +35,35 @@ export declare const setOrderOperatorApproval: ({ chainId, walletClient, operato
|
|
|
35
35
|
operator: `0x${string}`;
|
|
36
36
|
approved: boolean;
|
|
37
37
|
options?: DefaultWriteContractOptions;
|
|
38
|
-
}) => Promise<`0x${string}
|
|
38
|
+
}) => Promise<`0x${string}` | undefined>;
|
|
39
|
+
/**
|
|
40
|
+
* @dev This function relates with `viem` dependency
|
|
41
|
+
* Approves the controller as an order operator for the specified chain.
|
|
42
|
+
* This is a convenience function that delegates to `setOrderOperatorApproval`.
|
|
43
|
+
*
|
|
44
|
+
* @param {CHAIN_IDS} chainId The chain ID.
|
|
45
|
+
* @param {WalletClient} walletClient The wallet client.
|
|
46
|
+
* @param {Object} [options] Optional parameters for setting approval.
|
|
47
|
+
* @param {string} options.rpcUrl The RPC URL to use for executing the transaction.
|
|
48
|
+
* @returns {Promise<`0x${string}`>} Promise resolving to the transaction hash.
|
|
49
|
+
* @example
|
|
50
|
+
* import { approveControllerAsOrderOperator } from '@clober/v2-sdk'
|
|
51
|
+
* import { mnemonicToAccount } from 'viem/accounts'
|
|
52
|
+
*
|
|
53
|
+
* const walletClient = createWalletClient({
|
|
54
|
+
* chain: arbitrumSepolia,
|
|
55
|
+
* account: mnemonicToAccount('legal ...'),
|
|
56
|
+
* transport: http(),
|
|
57
|
+
* })
|
|
58
|
+
*
|
|
59
|
+
* const hash = await approveControllerAsOrderOperator({
|
|
60
|
+
* chainId: 421614,
|
|
61
|
+
* walletClient
|
|
62
|
+
* })
|
|
63
|
+
*/
|
|
64
|
+
export declare const approveControllerAsOrderOperator: ({ chainId, walletClient, options, }: {
|
|
65
|
+
chainId: CHAIN_IDS;
|
|
66
|
+
walletClient: WalletClient;
|
|
67
|
+
options?: DefaultWriteContractOptions;
|
|
68
|
+
}) => Promise<`0x${string}` | undefined>;
|
|
39
69
|
//# sourceMappingURL=order.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"order.d.ts","sourceRoot":"","sources":["../../../../src/calls/approval/order.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAAE,MAAM,MAAM,CAAC;AAE9D,OAAO,EAAE,SAAS,EAAa,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"order.d.ts","sourceRoot":"","sources":["../../../../src/calls/approval/order.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAAE,MAAM,MAAM,CAAC;AAE9D,OAAO,EAAE,SAAS,EAAa,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAI1D;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,wBAAwB,4DAMlC;IACD,OAAO,EAAE,SAAS,CAAC;IACnB,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,EAAE,KAAK,MAAM,EAAE,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,2BAA2B,CAAC;CACvC,KAAG,QAAQ,KAAK,MAAM,EAAE,GAAG,SAAS,CAiCpC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,gCAAgC,wCAI1C;IACD,OAAO,EAAE,SAAS,CAAC;IACnB,YAAY,EAAE,YAAY,CAAC;IAC3B,OAAO,CAAC,EAAE,2BAA2B,CAAC;CACvC,KAAG,QAAQ,KAAK,MAAM,EAAE,GAAG,SAAS,CAapC,CAAC"}
|
|
@@ -7,6 +7,6 @@ export { cancelOrder, cancelOrders } from './market/cancel';
|
|
|
7
7
|
export { setApprovalOfOpenOrdersForAll } from './approval/open-order';
|
|
8
8
|
export { setTokenAllowances } from './approval/token';
|
|
9
9
|
export { approveAllForMarket } from './approval/market';
|
|
10
|
-
export { setOrderOperatorApproval } from './approval/order';
|
|
10
|
+
export { setOrderOperatorApproval, approveControllerAsOrderOperator, } from './approval/order';
|
|
11
11
|
export { setVault, removeVault, depositToVault, withdrawFromVault, } from './vault';
|
|
12
12
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/calls/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE5D,OAAO,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/calls/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE5D,OAAO,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EACL,wBAAwB,EACxB,gCAAgC,GACjC,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,QAAQ,EACR,WAAW,EACX,cAAc,EACd,iBAAiB,GAClB,MAAM,SAAS,CAAC"}
|
|
@@ -2,6 +2,4 @@ import { PublicClient } from 'viem';
|
|
|
2
2
|
import { CHAIN_IDS } from '../../../constants/chain-configs/chain';
|
|
3
3
|
import { MarketModel } from '../model';
|
|
4
4
|
export declare function fetchMarket(publicClient: PublicClient, chainId: CHAIN_IDS, tokenAddresses: `0x${string}`[], useSubgraph: boolean): Promise<MarketModel>;
|
|
5
|
-
export { fetchPrices } from './price';
|
|
6
|
-
export type { TokenPair, PriceResult } from './price';
|
|
7
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/entities/market/apis/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAKvC,wBAAsB,WAAW,CAC/B,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,SAAS,EAClB,cAAc,EAAE,KAAK,MAAM,EAAE,EAAE,EAC/B,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,WAAW,CAAC,CA8BtB
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/entities/market/apis/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAKvC,wBAAsB,WAAW,CAC/B,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,SAAS,EAClB,cAAc,EAAE,KAAK,MAAM,EAAE,EAAE,EAC/B,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,WAAW,CAAC,CA8BtB"}
|
|
@@ -3,7 +3,6 @@ export type { Currency, Currency6909, CurrencyAmount, Currency6909Amount, Curren
|
|
|
3
3
|
export type { OpenOrder, OnChainOpenOrder } from '../entities/open-order/types';
|
|
4
4
|
export type { Book, Depth } from '../entities/book/types';
|
|
5
5
|
export type { Market, MarketSnapshot, ChartLog, } from '../entities/market/types';
|
|
6
|
-
export type { TokenPair, PriceResult } from '../entities/market/apis/price';
|
|
7
6
|
export type { Vault } from '../entities/vault/types';
|
|
8
7
|
export type { DefaultReadContractOptions, DefaultWriteContractOptions, } from './default-options';
|
|
9
8
|
export type { Transaction } from './transaction';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC7D,YAAY,EACV,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,GACjB,MAAM,4BAA4B,CAAC;AACpC,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChF,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC1D,YAAY,EACV,MAAM,EACN,cAAc,EACd,QAAQ,GACT,MAAM,0BAA0B,CAAC;AAClC,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC7D,YAAY,EACV,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,GACjB,MAAM,4BAA4B,CAAC;AACpC,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChF,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC1D,YAAY,EACV,MAAM,EACN,cAAc,EACd,QAAQ,GACT,MAAM,0BAA0B,CAAC;AAClC,YAAY,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AACrD,YAAY,EACV,0BAA0B,EAC1B,2BAA2B,GAC5B,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAClE,YAAY,EACV,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,OAAO,GACR,MAAM,6BAA6B,CAAC;AAErC,oBAAY,mBAAmB;IAC7B,SAAS,OAAO;IAChB,YAAY,OAAO;IACnB,WAAW,OAAO;IAClB,UAAU,QAAQ;IAClB,cAAc,QAAQ;IACtB,aAAa,QAAQ;IACrB,OAAO,OAAO;IACd,QAAQ,OAAO;IACf,SAAS,OAAO;IAChB,QAAQ,OAAO;IACf,MAAM,OAAO;IACb,OAAO,OAAO;CACf"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { getMarket,
|
|
1
|
+
export { getMarket, getChartLogs, getLatestChartLog, getExpectedOutput, getExpectedInput, getMarketSnapshots, getMarketSnapshot, getQuoteToken, parseMakeOrderIdsFromReceipt, } from './market';
|
|
2
2
|
export { getPriceNeighborhood } from './tick';
|
|
3
3
|
export { getOpenOrder, getOpenOrders } from './open-order';
|
|
4
4
|
export { getSubgraphEndpoint, getSubgraphBlockNumber, getSubgraphBlock, } from './subgraph';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,4BAA4B,GAC7B,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,yBAAyB,EACzB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { CHAIN_IDS } from '../../constants/chain-configs/chain';
|
|
2
2
|
import { DefaultReadContractOptions, Market } from '../../types';
|
|
3
|
-
import { TokenPair, PriceResult } from '../../entities/market/apis';
|
|
4
3
|
export { getExpectedOutput, getExpectedInput } from './quote';
|
|
5
4
|
export { getChartLogs, getLatestChartLog } from './chart-log';
|
|
6
5
|
export { getMarketSnapshots, getMarketSnapshot } from './snapshot';
|
|
@@ -31,27 +30,4 @@ export declare const getMarket: ({ chainId, token0, token1, options, }: {
|
|
|
31
30
|
useSubgraph?: boolean;
|
|
32
31
|
} & DefaultReadContractOptions;
|
|
33
32
|
}) => Promise<Market>;
|
|
34
|
-
/**
|
|
35
|
-
* Get prices for a list of token pairs from bid books
|
|
36
|
-
* @param chainId - chain id from {@link CHAIN_IDS}
|
|
37
|
-
* @param tokenPairs - array of token address pairs
|
|
38
|
-
* @param options {@link DefaultReadContractOptions} options.
|
|
39
|
-
* @returns Array of price results with token pairs and their prices
|
|
40
|
-
*
|
|
41
|
-
* @example
|
|
42
|
-
* import { getPrices } from '@clober/v2-sdk'
|
|
43
|
-
*
|
|
44
|
-
* const prices = await getPrices({
|
|
45
|
-
* chainId: 421614,
|
|
46
|
-
* tokenPairs: [
|
|
47
|
-
* { token0: '0x...', token1: '0x...' },
|
|
48
|
-
* { token0: '0x...', token1: '0x...' }
|
|
49
|
-
* ]
|
|
50
|
-
* })
|
|
51
|
-
*/
|
|
52
|
-
export declare const getPrices: ({ chainId, tokenPairs, options, }: {
|
|
53
|
-
chainId: CHAIN_IDS;
|
|
54
|
-
tokenPairs: TokenPair[];
|
|
55
|
-
options?: DefaultReadContractOptions;
|
|
56
|
-
}) => Promise<PriceResult[]>;
|
|
57
33
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/market/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAa,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/market/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAa,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGjE,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,4BAA4B,EAAE,MAAM,SAAS,CAAC;AAEvD;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,SAAS,0CAKnB;IACD,OAAO,EAAE,SAAS,CAAC;IACnB,MAAM,EAAE,KAAK,MAAM,EAAE,CAAC;IACtB,MAAM,EAAE,KAAK,MAAM,EAAE,CAAC;IACtB,OAAO,CAAC,EAAE;QACR,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,GAAG,0BAA0B,CAAC;CAChC,KAAG,QAAQ,MAAM,CAejB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@1stdex/first-sdk",
|
|
3
|
-
"version": "1.0.0-rc.
|
|
4
|
-
"description": "🛠 An SDK for building applications on top of
|
|
3
|
+
"version": "1.0.0-rc.5",
|
|
4
|
+
"description": "🛠 An SDK for building applications on top of 1st V2",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist"
|
|
7
7
|
],
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"build:types": "tsc --project tsconfig.build.json --module esnext --outDir ./dist/types --declarationDir ./dist/types --emitDeclarationOnly --declaration --declarationMap"
|
|
28
28
|
},
|
|
29
29
|
"keywords": [],
|
|
30
|
-
"author": "
|
|
30
|
+
"author": "<noreply@1st.app>",
|
|
31
31
|
"license": "MIT",
|
|
32
32
|
"devDependencies": {
|
|
33
33
|
"@types/node": "^24.7.2",
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.fetchPrices = void 0;
|
|
4
|
-
const viem_1 = require("viem");
|
|
5
|
-
const subgraph_1 = require("../../../constants/chain-configs/subgraph");
|
|
6
|
-
const market_id_1 = require("../utils/market-id");
|
|
7
|
-
const apis_1 = require("../../currency/apis");
|
|
8
|
-
const unit_size_1 = require("../../../utils/unit-size");
|
|
9
|
-
const book_id_1 = require("../../book/utils/book-id");
|
|
10
|
-
async function fetchPrices(publicClient, chainId, tokenPairs) {
|
|
11
|
-
if (tokenPairs.length === 0) {
|
|
12
|
-
return [];
|
|
13
|
-
}
|
|
14
|
-
const uniqueTokens = Array.from(new Set(tokenPairs.flatMap((pair) => [pair.token0, pair.token1]))).map((address) => (0, viem_1.getAddress)(address));
|
|
15
|
-
const currencyMap = await (0, apis_1.fetchCurrencyMap)(publicClient, chainId, uniqueTokens, true);
|
|
16
|
-
const bookIds = [];
|
|
17
|
-
for (const pair of tokenPairs) {
|
|
18
|
-
try {
|
|
19
|
-
const { quoteTokenAddress, baseTokenAddress } = (0, market_id_1.getMarketId)(chainId, [
|
|
20
|
-
(0, viem_1.getAddress)(pair.token0),
|
|
21
|
-
(0, viem_1.getAddress)(pair.token1),
|
|
22
|
-
]);
|
|
23
|
-
const quoteCurrency = currencyMap[quoteTokenAddress];
|
|
24
|
-
const baseCurrency = currencyMap[baseTokenAddress];
|
|
25
|
-
if (!quoteCurrency || !baseCurrency) {
|
|
26
|
-
continue;
|
|
27
|
-
}
|
|
28
|
-
const unitSize = (0, unit_size_1.calculateUnitSize)(chainId, quoteCurrency);
|
|
29
|
-
const bookId = (0, book_id_1.toBookId)(chainId, quoteTokenAddress, baseTokenAddress, unitSize);
|
|
30
|
-
bookIds.push({
|
|
31
|
-
pair: { token0: pair.token0, token1: pair.token1 },
|
|
32
|
-
bookId: bookId.toString(),
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
catch (error) {
|
|
36
|
-
console.error(`Error calculating book ID for pair:`, pair, error);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
if (bookIds.length === 0) {
|
|
40
|
-
return tokenPairs.map((pair) => ({
|
|
41
|
-
token0: pair.token0,
|
|
42
|
-
token1: pair.token1,
|
|
43
|
-
price: null,
|
|
44
|
-
}));
|
|
45
|
-
}
|
|
46
|
-
const { data: { books }, } = await subgraph_1.Subgraph.get(chainId, 'getBookPrices', `query getBookPrices($bookIds: [ID!]!) {
|
|
47
|
-
books(where: {id_in: $bookIds}) {
|
|
48
|
-
id
|
|
49
|
-
price
|
|
50
|
-
}
|
|
51
|
-
}`, {
|
|
52
|
-
bookIds: bookIds.map((b) => b.bookId),
|
|
53
|
-
});
|
|
54
|
-
const bookPriceMap = new Map();
|
|
55
|
-
for (const book of books) {
|
|
56
|
-
bookPriceMap.set(book.id, book.price);
|
|
57
|
-
}
|
|
58
|
-
return bookIds.map(({ pair, bookId }) => ({
|
|
59
|
-
token0: pair.token0,
|
|
60
|
-
token1: pair.token1,
|
|
61
|
-
price: bookPriceMap.get(bookId) ?? null,
|
|
62
|
-
}));
|
|
63
|
-
}
|
|
64
|
-
exports.fetchPrices = fetchPrices;
|
|
65
|
-
//# sourceMappingURL=price.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"price.js","sourceRoot":"","sources":["../../../../../src/entities/market/apis/price.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import { getAddress } from 'viem';
|
|
2
|
-
import { Subgraph } from '../../../constants/chain-configs/subgraph';
|
|
3
|
-
import { getMarketId } from '../utils/market-id';
|
|
4
|
-
import { fetchCurrencyMap } from '../../currency/apis';
|
|
5
|
-
import { calculateUnitSize } from '../../../utils/unit-size';
|
|
6
|
-
import { toBookId } from '../../book/utils/book-id';
|
|
7
|
-
/**
|
|
8
|
-
* Fetch prices for a list of token pairs from the bid book
|
|
9
|
-
* @param publicClient - viem public client
|
|
10
|
-
* @param chainId - chain id from {@link CHAIN_IDS}
|
|
11
|
-
* @param tokenPairs - array of token address pairs
|
|
12
|
-
* @returns Array of price results with token pairs and their prices
|
|
13
|
-
*
|
|
14
|
-
* @example
|
|
15
|
-
* import { fetchPrices } from '@clober/v2-sdk'
|
|
16
|
-
*
|
|
17
|
-
* const prices = await fetchPrices(
|
|
18
|
-
* publicClient,
|
|
19
|
-
* 421614,
|
|
20
|
-
* [
|
|
21
|
-
* { token0: '0x...', token1: '0x...' },
|
|
22
|
-
* { token0: '0x...', token1: '0x...' }
|
|
23
|
-
* ]
|
|
24
|
-
* )
|
|
25
|
-
*/
|
|
26
|
-
export async function fetchPrices(publicClient, chainId, tokenPairs) {
|
|
27
|
-
if (tokenPairs.length === 0) {
|
|
28
|
-
return [];
|
|
29
|
-
}
|
|
30
|
-
// Get unique token addresses
|
|
31
|
-
const uniqueTokens = Array.from(new Set(tokenPairs.flatMap((pair) => [pair.token0, pair.token1]))).map((address) => getAddress(address));
|
|
32
|
-
// Fetch currency information for all tokens
|
|
33
|
-
const currencyMap = await fetchCurrencyMap(publicClient, chainId, uniqueTokens, true // use subgraph
|
|
34
|
-
);
|
|
35
|
-
// Calculate book IDs for each pair
|
|
36
|
-
const bookIds = [];
|
|
37
|
-
for (const pair of tokenPairs) {
|
|
38
|
-
try {
|
|
39
|
-
const { quoteTokenAddress, baseTokenAddress } = getMarketId(chainId, [
|
|
40
|
-
getAddress(pair.token0),
|
|
41
|
-
getAddress(pair.token1),
|
|
42
|
-
]);
|
|
43
|
-
const quoteCurrency = currencyMap[quoteTokenAddress];
|
|
44
|
-
const baseCurrency = currencyMap[baseTokenAddress];
|
|
45
|
-
if (!quoteCurrency || !baseCurrency) {
|
|
46
|
-
continue;
|
|
47
|
-
}
|
|
48
|
-
const unitSize = calculateUnitSize(chainId, quoteCurrency);
|
|
49
|
-
const bookId = toBookId(chainId, quoteTokenAddress, baseTokenAddress, unitSize);
|
|
50
|
-
bookIds.push({
|
|
51
|
-
pair: { token0: pair.token0, token1: pair.token1 },
|
|
52
|
-
bookId: bookId.toString(),
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
catch (error) {
|
|
56
|
-
console.error(`Error calculating book ID for pair:`, pair, error);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
if (bookIds.length === 0) {
|
|
60
|
-
return tokenPairs.map((pair) => ({
|
|
61
|
-
token0: pair.token0,
|
|
62
|
-
token1: pair.token1,
|
|
63
|
-
price: null,
|
|
64
|
-
}));
|
|
65
|
-
}
|
|
66
|
-
// Query subgraph for bid book prices
|
|
67
|
-
const { data: { books }, } = await Subgraph.get(chainId, 'getBookPrices', `query getBookPrices($bookIds: [ID!]!) {
|
|
68
|
-
books(where: {id_in: $bookIds}) {
|
|
69
|
-
id
|
|
70
|
-
price
|
|
71
|
-
}
|
|
72
|
-
}`, {
|
|
73
|
-
bookIds: bookIds.map((b) => b.bookId),
|
|
74
|
-
});
|
|
75
|
-
// Map results back to token pairs
|
|
76
|
-
const bookPriceMap = new Map();
|
|
77
|
-
for (const book of books) {
|
|
78
|
-
bookPriceMap.set(book.id, book.price);
|
|
79
|
-
}
|
|
80
|
-
return bookIds.map(({ pair, bookId }) => ({
|
|
81
|
-
token0: pair.token0,
|
|
82
|
-
token1: pair.token1,
|
|
83
|
-
price: bookPriceMap.get(bookId) ?? null,
|
|
84
|
-
}));
|
|
85
|
-
}
|
|
86
|
-
//# sourceMappingURL=price.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"price.js","sourceRoot":"","sources":["../../../../../src/entities/market/apis/price.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { PublicClient } from 'viem';
|
|
2
|
-
import { CHAIN_IDS } from '../../../constants/chain-configs/chain';
|
|
3
|
-
export type TokenPair = {
|
|
4
|
-
token0: `0x${string}`;
|
|
5
|
-
token1: `0x${string}`;
|
|
6
|
-
};
|
|
7
|
-
export type PriceResult = {
|
|
8
|
-
token0: `0x${string}`;
|
|
9
|
-
token1: `0x${string}`;
|
|
10
|
-
price: string | null;
|
|
11
|
-
};
|
|
12
|
-
/**
|
|
13
|
-
* Fetch prices for a list of token pairs from the bid book
|
|
14
|
-
* @param publicClient - viem public client
|
|
15
|
-
* @param chainId - chain id from {@link CHAIN_IDS}
|
|
16
|
-
* @param tokenPairs - array of token address pairs
|
|
17
|
-
* @returns Array of price results with token pairs and their prices
|
|
18
|
-
*
|
|
19
|
-
* @example
|
|
20
|
-
* import { fetchPrices } from '@clober/v2-sdk'
|
|
21
|
-
*
|
|
22
|
-
* const prices = await fetchPrices(
|
|
23
|
-
* publicClient,
|
|
24
|
-
* 421614,
|
|
25
|
-
* [
|
|
26
|
-
* { token0: '0x...', token1: '0x...' },
|
|
27
|
-
* { token0: '0x...', token1: '0x...' }
|
|
28
|
-
* ]
|
|
29
|
-
* )
|
|
30
|
-
*/
|
|
31
|
-
export declare function fetchPrices(publicClient: PublicClient, chainId: CHAIN_IDS, tokenPairs: TokenPair[]): Promise<PriceResult[]>;
|
|
32
|
-
//# sourceMappingURL=price.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"price.d.ts","sourceRoot":"","sources":["../../../../../src/entities/market/apis/price.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,YAAY,EAAE,MAAM,MAAM,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AAOnE,MAAM,MAAM,SAAS,GAAG;IACtB,MAAM,EAAE,KAAK,MAAM,EAAE,CAAC;IACtB,MAAM,EAAE,KAAK,MAAM,EAAE,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,KAAK,MAAM,EAAE,CAAC;IACtB,MAAM,EAAE,KAAK,MAAM,EAAE,CAAC;IACtB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,WAAW,CAC/B,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,SAAS,EAClB,UAAU,EAAE,SAAS,EAAE,GACtB,OAAO,CAAC,WAAW,EAAE,CAAC,CA8FxB"}
|