@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.
Files changed (42) hide show
  1. package/dist/cjs/calls/approval/order.js +25 -21
  2. package/dist/cjs/calls/approval/order.js.map +1 -1
  3. package/dist/cjs/calls/index.js +2 -1
  4. package/dist/cjs/calls/index.js.map +1 -1
  5. package/dist/cjs/entities/market/apis/index.js +1 -3
  6. package/dist/cjs/entities/market/apis/index.js.map +1 -1
  7. package/dist/cjs/types/index.js.map +1 -1
  8. package/dist/cjs/views/index.js +1 -2
  9. package/dist/cjs/views/index.js.map +1 -1
  10. package/dist/cjs/views/market/index.js +1 -9
  11. package/dist/cjs/views/market/index.js.map +1 -1
  12. package/dist/esm/calls/approval/order.js +50 -20
  13. package/dist/esm/calls/approval/order.js.map +1 -1
  14. package/dist/esm/calls/index.js +1 -1
  15. package/dist/esm/calls/index.js.map +1 -1
  16. package/dist/esm/entities/market/apis/index.js +0 -1
  17. package/dist/esm/entities/market/apis/index.js.map +1 -1
  18. package/dist/esm/types/index.js.map +1 -1
  19. package/dist/esm/views/index.js +1 -1
  20. package/dist/esm/views/index.js.map +1 -1
  21. package/dist/esm/views/market/index.js +1 -26
  22. package/dist/esm/views/market/index.js.map +1 -1
  23. package/dist/tsconfig.build.tsbuildinfo +1 -1
  24. package/dist/types/calls/approval/order.d.ts +31 -1
  25. package/dist/types/calls/approval/order.d.ts.map +1 -1
  26. package/dist/types/calls/index.d.ts +1 -1
  27. package/dist/types/calls/index.d.ts.map +1 -1
  28. package/dist/types/entities/market/apis/index.d.ts +0 -2
  29. package/dist/types/entities/market/apis/index.d.ts.map +1 -1
  30. package/dist/types/types/index.d.ts +0 -1
  31. package/dist/types/types/index.d.ts.map +1 -1
  32. package/dist/types/views/index.d.ts +1 -1
  33. package/dist/types/views/index.d.ts.map +1 -1
  34. package/dist/types/views/market/index.d.ts +0 -24
  35. package/dist/types/views/market/index.d.ts.map +1 -1
  36. package/package.json +3 -3
  37. package/dist/cjs/entities/market/apis/price.js +0 -65
  38. package/dist/cjs/entities/market/apis/price.js.map +0 -1
  39. package/dist/esm/entities/market/apis/price.js +0 -86
  40. package/dist/esm/entities/market/apis/price.js.map +0 -1
  41. package/dist/types/entities/market/apis/price.d.ts +0 -32
  42. 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;AAG1D;;;;;;;;;;;;;;;;;;;;;;;;;;;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,CAsCxB,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,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAE5D,OAAO,EACL,QAAQ,EACR,WAAW,EACX,cAAc,EACd,iBAAiB,GAClB,MAAM,SAAS,CAAC"}
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;AAED,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC"}
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,SAAS,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5E,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
+ {"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, getPrices, getChartLogs, getLatestChartLog, getExpectedOutput, getExpectedInput, getMarketSnapshots, getMarketSnapshot, getQuoteToken, parseMakeOrderIdsFromReceipt, } from './market';
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,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
+ {"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;AACjE,OAAO,EAGL,SAAS,EACT,WAAW,EACZ,MAAM,4BAA4B,CAAC;AAEpC,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;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,SAAS,sCAInB;IACD,OAAO,EAAE,SAAS,CAAC;IACnB,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE,0BAA0B,CAAC;CACtC,KAAG,QAAQ,WAAW,EAAE,CAMxB,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.3",
4
- "description": "🛠 An SDK for building applications on top of Clober V2",
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": "Clober<official@clober.io>",
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"}