@symmio/trading-core 3.5.0 → 3.6.0

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 (81) hide show
  1. package/dist/gasless/delegation-preflight.d.ts +22 -0
  2. package/dist/gasless/delegation-preflight.d.ts.map +1 -1
  3. package/dist/gasless/delegation-preflight.js +34 -19
  4. package/dist/gasless/delegation-preflight.js.map +1 -1
  5. package/dist/index.d.ts +12 -2
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +82 -79
  8. package/dist/pools/index.d.ts +1 -0
  9. package/dist/pools/index.d.ts.map +1 -1
  10. package/dist/pools/token-price/get-token-price.d.ts +71 -0
  11. package/dist/pools/token-price/get-token-price.d.ts.map +1 -0
  12. package/dist/pools/token-price/get-token-price.js +30 -0
  13. package/dist/pools/token-price/get-token-price.js.map +1 -0
  14. package/dist/pools/token-price/index.d.ts +4 -0
  15. package/dist/pools/token-price/index.d.ts.map +1 -0
  16. package/dist/pools/token-price/query.d.ts +52 -0
  17. package/dist/pools/token-price/query.d.ts.map +1 -0
  18. package/dist/pools/token-price/query.js +29 -0
  19. package/dist/pools/token-price/query.js.map +1 -0
  20. package/dist/pools/token-price/to-token-price.d.ts +14 -0
  21. package/dist/pools/token-price/to-token-price.d.ts.map +1 -0
  22. package/dist/pools/token-price/to-token-price.js +8 -0
  23. package/dist/pools/token-price/to-token-price.js.map +1 -0
  24. package/dist/pools/transactions/get-pool-transactions.d.ts +59 -17
  25. package/dist/pools/transactions/get-pool-transactions.d.ts.map +1 -1
  26. package/dist/pools/transactions/get-pool-transactions.js +7 -4
  27. package/dist/pools/transactions/get-pool-transactions.js.map +1 -1
  28. package/dist/pools/transactions/query.d.ts +6 -2
  29. package/dist/pools/transactions/query.d.ts.map +1 -1
  30. package/dist/pools/transactions/query.js +12 -13
  31. package/dist/pools/transactions/query.js.map +1 -1
  32. package/dist/pools/transactions/to-pool-transaction.d.ts +7 -0
  33. package/dist/pools/transactions/to-pool-transaction.d.ts.map +1 -1
  34. package/dist/pools/transactions/to-pool-transaction.js +3 -1
  35. package/dist/pools/transactions/to-pool-transaction.js.map +1 -1
  36. package/dist/pools/types/generated/listing-backend.js +8 -8
  37. package/dist/pools/types/generated/listing-backend.js.map +1 -1
  38. package/dist/pools/types.d.ts +53 -10
  39. package/dist/pools/types.d.ts.map +1 -1
  40. package/dist/pools/types.js +6 -4
  41. package/dist/pools/types.js.map +1 -1
  42. package/dist/solvers/instant-close/instant-close/instant-close.d.ts +8 -1
  43. package/dist/solvers/instant-close/instant-close/instant-close.d.ts.map +1 -1
  44. package/dist/solvers/instant-close/instant-close/instant-close.js +40 -32
  45. package/dist/solvers/instant-close/instant-close/instant-close.js.map +1 -1
  46. package/dist/solvers/instant-close/instant-close-bulk/instant-close-bulk.d.ts +7 -1
  47. package/dist/solvers/instant-close/instant-close-bulk/instant-close-bulk.d.ts.map +1 -1
  48. package/dist/solvers/instant-close/instant-close-bulk/instant-close-bulk.js +48 -40
  49. package/dist/solvers/instant-close/instant-close-bulk/instant-close-bulk.js.map +1 -1
  50. package/dist/solvers/instant-close/instant-close-bulk-auto/instant-close-bulk-auto.d.ts +4 -2
  51. package/dist/solvers/instant-close/instant-close-bulk-auto/instant-close-bulk-auto.d.ts.map +1 -1
  52. package/dist/solvers/instant-close/instant-close-bulk-auto/instant-close-bulk-auto.js +1 -0
  53. package/dist/solvers/instant-close/instant-close-bulk-auto/instant-close-bulk-auto.js.map +1 -1
  54. package/dist/solvers/instant-close/prepare-instant-close-params/prepare-instant-close-params.d.ts +4 -2
  55. package/dist/solvers/instant-close/prepare-instant-close-params/prepare-instant-close-params.d.ts.map +1 -1
  56. package/dist/solvers/instant-close/prepare-instant-close-params/prepare-instant-close-params.js +2 -1
  57. package/dist/solvers/instant-close/prepare-instant-close-params/prepare-instant-close-params.js.map +1 -1
  58. package/dist/solvers/instant-open/instant-open/adapters/enigma-instant-open.d.ts +2 -0
  59. package/dist/solvers/instant-open/instant-open/adapters/enigma-instant-open.d.ts.map +1 -1
  60. package/dist/solvers/instant-open/instant-open/adapters/enigma-instant-open.js +64 -56
  61. package/dist/solvers/instant-open/instant-open/adapters/enigma-instant-open.js.map +1 -1
  62. package/dist/solvers/instant-open/instant-open/adapters/rasa-instant-open.d.ts +2 -0
  63. package/dist/solvers/instant-open/instant-open/adapters/rasa-instant-open.d.ts.map +1 -1
  64. package/dist/solvers/instant-open/instant-open/adapters/rasa-instant-open.js +51 -43
  65. package/dist/solvers/instant-open/instant-open/adapters/rasa-instant-open.js.map +1 -1
  66. package/dist/solvers/instant-open/instant-open/instant-open.d.ts +6 -0
  67. package/dist/solvers/instant-open/instant-open/instant-open.d.ts.map +1 -1
  68. package/dist/solvers/instant-open/instant-open/instant-open.js.map +1 -1
  69. package/dist/solvers/instant-open/instant-open/types.d.ts +2 -1
  70. package/dist/solvers/instant-open/instant-open/types.d.ts.map +1 -1
  71. package/dist/solvers/instant-open/prepare-instant-open-params/prepare-instant-open-params.d.ts +3 -1
  72. package/dist/solvers/instant-open/prepare-instant-open-params/prepare-instant-open-params.d.ts.map +1 -1
  73. package/dist/solvers/instant-open/prepare-instant-open-params/prepare-instant-open-params.js +2 -1
  74. package/dist/solvers/instant-open/prepare-instant-open-params/prepare-instant-open-params.js.map +1 -1
  75. package/dist/solvers/shared/index.d.ts +1 -0
  76. package/dist/solvers/shared/index.d.ts.map +1 -1
  77. package/dist/solvers/shared/instant-delegation-preflight.d.ts +65 -0
  78. package/dist/solvers/shared/instant-delegation-preflight.d.ts.map +1 -0
  79. package/dist/solvers/shared/instant-delegation-preflight.js +34 -0
  80. package/dist/solvers/shared/instant-delegation-preflight.js.map +1 -0
  81. package/package.json +1 -1
@@ -1,47 +1,89 @@
1
1
  import { Config } from '../../core/config/index.js';
2
2
  import { ChainIdParameter, Compute } from '../../shared/types/properties.js';
3
- import { PoolTransactionPage } from '../types.js';
3
+ import { ListingDepositChainId, PoolTransactionPage, PoolTransactionStatus, PoolTransactionType } from '../types.js';
4
4
  /**
5
5
  * Parameters for {@link getPoolTransactions}.
6
+ *
7
+ * Every filter is optional and they combine; with none, the page spans **every**
8
+ * pool. `chainId` is the SDK's own — it selects which deployment's listing
9
+ * backend to ask — and is unrelated to `marketChainId`, the chain a pool's token
10
+ * lives on.
6
11
  */
7
12
  export type GetPoolTransactionsParameters = Compute<ChainIdParameter & {
8
- /** The pool's token contract address. */
9
- marketAddress: string;
10
13
  /**
11
- * Narrow the page to one wallet's rows. Omit for the pool's whole deposit
12
- * and withdrawal history across every LP.
14
+ * Narrow to one pool by its token contract address —
15
+ * `ListingMarket.contractAddress`. Omit for every pool. EVM addresses match
16
+ * case-insensitively; Solana base58 addresses are case-sensitive. An address
17
+ * with no listed market fails with HTTP 400 (`Market not found`) rather than
18
+ * returning an empty page.
19
+ */
20
+ tokenAddress?: string;
21
+ /**
22
+ * The pool's token contract address, under its old name.
23
+ *
24
+ * @deprecated Pass `tokenAddress`. Sent as the same filter; `tokenAddress`
25
+ * wins when both are set.
26
+ */
27
+ marketAddress?: string;
28
+ /**
29
+ * Narrow to pools whose token lives on this chain — `ListingMarket.chainId`.
30
+ * The service rejects a chain outside its supported deposit chains
31
+ * (`getListingConfig`) with HTTP 422.
13
32
  */
33
+ marketChainId?: ListingDepositChainId;
34
+ /** Narrow to one wallet's rows. Omit for every LP's. */
14
35
  walletAddress?: string;
36
+ /** Narrow to deposits or withdrawals only. Omit for both. */
37
+ transactionType?: PoolTransactionType;
38
+ /** Narrow to one lifecycle status (e.g. only `REFUND`). Omit for all statuses. */
39
+ transactionStatus?: PoolTransactionStatus;
15
40
  /** Row offset. @default 0 */
16
41
  start?: number;
17
- /** Page size. @default 150 */
42
+ /**
43
+ * Page size. The backend caps it at 50 and rejects a larger value with
44
+ * HTTP 422.
45
+ *
46
+ * @default 50
47
+ */
18
48
  size?: number;
19
49
  }>;
20
50
  /** Return type of {@link getPoolTransactions}: one page of transaction rows. */
21
51
  export type GetPoolTransactionsReturnType = PoolTransactionPage;
22
52
  /**
23
- * Fetch a pool's deposit and withdrawal history, newest first — refunded
24
- * deposits included.
53
+ * Fetch pool deposit and withdrawal history — refunded deposits included —
54
+ * newest first.
25
55
  *
26
- * Public and pool-wide by default: every LP's rows, not just the caller's. Pass
27
- * `walletAddress` to narrow it to one wallet.
56
+ * Public and unscoped by default: every LP's rows on **every** pool, in one
57
+ * newest-first sequence. Narrow it with `tokenAddress` (one pool),
58
+ * `marketChainId`, `walletAddress`, `transactionType` and `transactionStatus`;
59
+ * the filters combine. Each row names its own pool (`tokenAddress`, `chainId`),
60
+ * so an all-pools page stays attributable.
28
61
  *
62
+ * The service fixes the order — newest first — and takes no sort parameter.
29
63
  * Pagination is path-based (`/{start}/{size}`), and `count` is the total across
30
- * all pages — so it is what a pager should divide, not `items.length`.
64
+ * all pages, so it is what a pager should divide, not `items.length`. A `start`
65
+ * past `count` returns an empty page.
31
66
  *
32
67
  * @param config - The SDK config.
33
- * @param parameters - The pool address, optional wallet filter, and paging.
68
+ * @param parameters - Optional filters and paging.
34
69
  * @returns One {@link PoolTransactionPage}.
35
- * @throws {SymmApiError} when the endpoint request fails.
70
+ * @throws {SymmApiError} when the endpoint request fails — including HTTP 400
71
+ * for a `tokenAddress` with no listed market, and HTTP 422 for an invalid
72
+ * filter value or a `size` above 50.
36
73
  * @throws {SymmError} `LISTING_NOT_CONFIGURED` when the chain has no listing backend.
37
74
  *
38
75
  * @example
39
76
  * ```ts
40
- * const page = await getPoolTransactions(config, {
41
- * marketAddress: "0x800822d361335b4d5F352Dac293cA4128b5B605f",
42
- * size: 50,
77
+ * // The latest activity across every pool.
78
+ * const latest = await getPoolTransactions(config);
79
+ *
80
+ * // One pool's pending withdrawals.
81
+ * const pending = await getPoolTransactions(config, {
82
+ * tokenAddress: "0x800822d361335b4d5F352Dac293cA4128b5B605f",
83
+ * transactionType: PoolTransactionType.WITHDRAW,
84
+ * transactionStatus: PoolTransactionStatus.PENDING,
43
85
  * });
44
86
  * ```
45
87
  */
46
- export declare function getPoolTransactions(config: Config, parameters: GetPoolTransactionsParameters): Promise<GetPoolTransactionsReturnType>;
88
+ export declare function getPoolTransactions(config: Config, parameters?: GetPoolTransactionsParameters): Promise<GetPoolTransactionsReturnType>;
47
89
  //# sourceMappingURL=get-pool-transactions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-pool-transactions.d.ts","sourceRoot":"","sources":["../../../src/pools/transactions/get-pool-transactions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAE/E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAIpD;;GAEG;AACH,MAAM,MAAM,6BAA6B,GAAG,OAAO,CACjD,gBAAgB,GAAG;IACjB,yCAAyC;IACzC,aAAa,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,6BAA6B;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8BAA8B;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CACF,CAAC;AAEF,gFAAgF;AAChF,MAAM,MAAM,6BAA6B,GAAG,mBAAmB,CAAC;AAEhE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,6BAA6B,GACxC,OAAO,CAAC,6BAA6B,CAAC,CA8BxC"}
1
+ {"version":3,"file":"get-pool-transactions.d.ts","sourceRoot":"","sources":["../../../src/pools/transactions/get-pool-transactions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAE/E,OAAO,KAAK,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AASvH;;;;;;;GAOG;AACH,MAAM,MAAM,6BAA6B,GAAG,OAAO,CACjD,gBAAgB,GAAG;IACjB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,aAAa,CAAC,EAAE,qBAAqB,CAAC;IACtC,wDAAwD;IACxD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,6DAA6D;IAC7D,eAAe,CAAC,EAAE,mBAAmB,CAAC;IACtC,kFAAkF;IAClF,iBAAiB,CAAC,EAAE,qBAAqB,CAAC;IAC1C,6BAA6B;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CACF,CAAC;AAEF,gFAAgF;AAChF,MAAM,MAAM,6BAA6B,GAAG,mBAAmB,CAAC;AAEhE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,MAAM,EACd,UAAU,GAAE,6BAAkC,GAC7C,OAAO,CAAC,6BAA6B,CAAC,CA4CxC"}
@@ -4,12 +4,15 @@ import { getTransactionHistoryV2MarketTransactionHistoryStartSizeGet as r } from
4
4
  import { toPoolTransactionPage as i } from "./to-pool-transaction.js";
5
5
  import { isAxiosError as a } from "axios";
6
6
  //#region src/pools/transactions/get-pool-transactions.ts
7
- async function o(o, s) {
8
- let { url: c } = n(o, { chainId: s.chainId }), { start: l = 0, size: u = 150 } = s;
7
+ async function o(o, s = {}) {
8
+ let { url: c } = n(o, { chainId: s.chainId }), { start: l = 0, size: u = 50 } = s, d = s.tokenAddress ?? s.marketAddress;
9
9
  try {
10
10
  return i((await r(l, u, {
11
- market_address: s.marketAddress,
12
- ...s.walletAddress === void 0 ? {} : { wallet_address: s.walletAddress }
11
+ token_address: d,
12
+ chain_id: s.marketChainId,
13
+ wallet_address: s.walletAddress,
14
+ transaction_type: s.transactionType,
15
+ transaction_status: s.transactionStatus
13
16
  }, { baseURL: c })).data);
14
17
  } catch (n) {
15
18
  throw n instanceof t ? n : a(n) ? e.fromAxios(n, {
@@ -1 +1 @@
1
- {"version":3,"file":"get-pool-transactions.js","names":[],"sources":["../../../src/pools/transactions/get-pool-transactions.ts"],"sourcesContent":["import { isAxiosError } from \"axios\";\nimport type { Config } from \"../../core/config\";\nimport { SymmApiError, SymmError } from \"../../shared/errors/symm-error\";\nimport type { ChainIdParameter, Compute } from \"../../shared/types/properties\";\nimport { resolveListingService } from \"../resolve-listing\";\nimport type { PoolTransactionPage } from \"../types\";\nimport { getTransactionHistoryV2MarketTransactionHistoryStartSizeGet } from \"../types/generated/listing-backend\";\nimport { toPoolTransactionPage } from \"./to-pool-transaction\";\n\n/**\n * Parameters for {@link getPoolTransactions}.\n */\nexport type GetPoolTransactionsParameters = Compute<\n ChainIdParameter & {\n /** The pool's token contract address. */\n marketAddress: string;\n /**\n * Narrow the page to one wallet's rows. Omit for the pool's whole deposit\n * and withdrawal history across every LP.\n */\n walletAddress?: string;\n /** Row offset. @default 0 */\n start?: number;\n /** Page size. @default 150 */\n size?: number;\n }\n>;\n\n/** Return type of {@link getPoolTransactions}: one page of transaction rows. */\nexport type GetPoolTransactionsReturnType = PoolTransactionPage;\n\n/**\n * Fetch a pool's deposit and withdrawal history, newest first — refunded\n * deposits included.\n *\n * Public and pool-wide by default: every LP's rows, not just the caller's. Pass\n * `walletAddress` to narrow it to one wallet.\n *\n * Pagination is path-based (`/{start}/{size}`), and `count` is the total across\n * all pages — so it is what a pager should divide, not `items.length`.\n *\n * @param config - The SDK config.\n * @param parameters - The pool address, optional wallet filter, and paging.\n * @returns One {@link PoolTransactionPage}.\n * @throws {SymmApiError} when the endpoint request fails.\n * @throws {SymmError} `LISTING_NOT_CONFIGURED` when the chain has no listing backend.\n *\n * @example\n * ```ts\n * const page = await getPoolTransactions(config, {\n * marketAddress: \"0x800822d361335b4d5F352Dac293cA4128b5B605f\",\n * size: 50,\n * });\n * ```\n */\nexport async function getPoolTransactions(\n config: Config,\n parameters: GetPoolTransactionsParameters,\n): Promise<GetPoolTransactionsReturnType> {\n const { url: baseURL } = resolveListingService(config, { chainId: parameters.chainId });\n const { start = 0, size = 150 } = parameters;\n\n try {\n const response = await getTransactionHistoryV2MarketTransactionHistoryStartSizeGet(\n start,\n size,\n {\n market_address: parameters.marketAddress,\n ...(parameters.walletAddress === undefined ? {} : { wallet_address: parameters.walletAddress }),\n },\n { baseURL },\n );\n\n return toPoolTransactionPage(response.data);\n } catch (err) {\n if (err instanceof SymmError) throw err;\n\n if (isAxiosError(err)) {\n throw SymmApiError.fromAxios(err, { code: \"FETCH_POOL_TRANSACTIONS_FAILED\", baseURL });\n }\n\n throw new SymmError(\n \"api\",\n \"FETCH_POOL_TRANSACTIONS_FAILED\",\n `Failed to fetch pool transactions: ${err instanceof Error ? err.message : String(err)}`,\n { cause: err instanceof Error ? err : undefined },\n );\n }\n}\n"],"mappings":";;;;;;AAuDA,eAAsB,EACpB,GACA,GACwC;CACxC,IAAM,EAAE,KAAK,MAAY,EAAsB,GAAQ,EAAE,SAAS,EAAW,QAAQ,CAAC,GAChF,EAAE,WAAQ,GAAG,UAAO,QAAQ;CAElC,IAAI;EAWF,OAAO,GAAsB,MAVN,EACrB,GACA,GACA;GACE,gBAAgB,EAAW;GAC3B,GAAI,EAAW,kBAAkB,KAAA,IAAY,CAAC,IAAI,EAAE,gBAAgB,EAAW,cAAc;EAC/F,GACA,EAAE,WAAQ,CACZ,GAEsC,IAAI;CAC5C,SAAS,GAAK;EAOZ,MANI,aAAe,IAAiB,IAEhC,EAAa,CAAG,IACZ,EAAa,UAAU,GAAK;GAAE,MAAM;GAAkC;EAAQ,CAAC,IAGjF,IAAI,EACR,OACA,kCACA,sCAAsC,aAAe,QAAQ,EAAI,UAAU,OAAO,CAAG,KACrF,EAAE,OAAO,aAAe,QAAQ,IAAM,KAAA,EAAU,CAClD;CACF;AACF"}
1
+ {"version":3,"file":"get-pool-transactions.js","names":[],"sources":["../../../src/pools/transactions/get-pool-transactions.ts"],"sourcesContent":["import { isAxiosError } from \"axios\";\nimport type { Config } from \"../../core/config\";\nimport { SymmApiError, SymmError } from \"../../shared/errors/symm-error\";\nimport type { ChainIdParameter, Compute } from \"../../shared/types/properties\";\nimport { resolveListingService } from \"../resolve-listing\";\nimport type { ListingDepositChainId, PoolTransactionPage, PoolTransactionStatus, PoolTransactionType } from \"../types\";\nimport {\n getTransactionHistoryV2MarketTransactionHistoryStartSizeGet,\n type SupportedDepositChains,\n type TransactionType,\n type UserReadableTransactionStatus,\n} from \"../types/generated/listing-backend\";\nimport { toPoolTransactionPage } from \"./to-pool-transaction\";\n\n/**\n * Parameters for {@link getPoolTransactions}.\n *\n * Every filter is optional and they combine; with none, the page spans **every**\n * pool. `chainId` is the SDK's own — it selects which deployment's listing\n * backend to ask — and is unrelated to `marketChainId`, the chain a pool's token\n * lives on.\n */\nexport type GetPoolTransactionsParameters = Compute<\n ChainIdParameter & {\n /**\n * Narrow to one pool by its token contract address —\n * `ListingMarket.contractAddress`. Omit for every pool. EVM addresses match\n * case-insensitively; Solana base58 addresses are case-sensitive. An address\n * with no listed market fails with HTTP 400 (`Market not found`) rather than\n * returning an empty page.\n */\n tokenAddress?: string;\n /**\n * The pool's token contract address, under its old name.\n *\n * @deprecated Pass `tokenAddress`. Sent as the same filter; `tokenAddress`\n * wins when both are set.\n */\n marketAddress?: string;\n /**\n * Narrow to pools whose token lives on this chain — `ListingMarket.chainId`.\n * The service rejects a chain outside its supported deposit chains\n * (`getListingConfig`) with HTTP 422.\n */\n marketChainId?: ListingDepositChainId;\n /** Narrow to one wallet's rows. Omit for every LP's. */\n walletAddress?: string;\n /** Narrow to deposits or withdrawals only. Omit for both. */\n transactionType?: PoolTransactionType;\n /** Narrow to one lifecycle status (e.g. only `REFUND`). Omit for all statuses. */\n transactionStatus?: PoolTransactionStatus;\n /** Row offset. @default 0 */\n start?: number;\n /**\n * Page size. The backend caps it at 50 and rejects a larger value with\n * HTTP 422.\n *\n * @default 50\n */\n size?: number;\n }\n>;\n\n/** Return type of {@link getPoolTransactions}: one page of transaction rows. */\nexport type GetPoolTransactionsReturnType = PoolTransactionPage;\n\n/**\n * Fetch pool deposit and withdrawal history — refunded deposits included —\n * newest first.\n *\n * Public and unscoped by default: every LP's rows on **every** pool, in one\n * newest-first sequence. Narrow it with `tokenAddress` (one pool),\n * `marketChainId`, `walletAddress`, `transactionType` and `transactionStatus`;\n * the filters combine. Each row names its own pool (`tokenAddress`, `chainId`),\n * so an all-pools page stays attributable.\n *\n * The service fixes the order — newest first — and takes no sort parameter.\n * Pagination is path-based (`/{start}/{size}`), and `count` is the total across\n * all pages, so it is what a pager should divide, not `items.length`. A `start`\n * past `count` returns an empty page.\n *\n * @param config - The SDK config.\n * @param parameters - Optional filters and paging.\n * @returns One {@link PoolTransactionPage}.\n * @throws {SymmApiError} when the endpoint request fails — including HTTP 400\n * for a `tokenAddress` with no listed market, and HTTP 422 for an invalid\n * filter value or a `size` above 50.\n * @throws {SymmError} `LISTING_NOT_CONFIGURED` when the chain has no listing backend.\n *\n * @example\n * ```ts\n * // The latest activity across every pool.\n * const latest = await getPoolTransactions(config);\n *\n * // One pool's pending withdrawals.\n * const pending = await getPoolTransactions(config, {\n * tokenAddress: \"0x800822d361335b4d5F352Dac293cA4128b5B605f\",\n * transactionType: PoolTransactionType.WITHDRAW,\n * transactionStatus: PoolTransactionStatus.PENDING,\n * });\n * ```\n */\nexport async function getPoolTransactions(\n config: Config,\n parameters: GetPoolTransactionsParameters = {},\n): Promise<GetPoolTransactionsReturnType> {\n const { url: baseURL } = resolveListingService(config, { chainId: parameters.chainId });\n const { start = 0, size = 50 } = parameters;\n /**\n * The deprecated `marketAddress` goes out as `token_address` as well, so it\n * keeps filtering if the service retires its `market_address` alias — an\n * unknown query param is silently ignored, which would return every pool.\n */\n const tokenAddress = parameters.tokenAddress ?? parameters.marketAddress;\n\n try {\n const response = await getTransactionHistoryV2MarketTransactionHistoryStartSizeGet(\n start,\n size,\n /**\n * Axios drops `undefined` params when it serializes the query, so an\n * omitted filter sends no key. The casts only re-label the SDK's enums as\n * the generated ones; the values go out unchanged.\n */\n {\n token_address: tokenAddress,\n chain_id: parameters.marketChainId as SupportedDepositChains | undefined,\n wallet_address: parameters.walletAddress,\n transaction_type: parameters.transactionType as TransactionType | undefined,\n transaction_status: parameters.transactionStatus as UserReadableTransactionStatus | undefined,\n },\n { baseURL },\n );\n\n return toPoolTransactionPage(response.data);\n } catch (err) {\n if (err instanceof SymmError) throw err;\n\n if (isAxiosError(err)) {\n throw SymmApiError.fromAxios(err, { code: \"FETCH_POOL_TRANSACTIONS_FAILED\", baseURL });\n }\n\n throw new SymmError(\n \"api\",\n \"FETCH_POOL_TRANSACTIONS_FAILED\",\n `Failed to fetch pool transactions: ${err instanceof Error ? err.message : String(err)}`,\n { cause: err instanceof Error ? err : undefined },\n );\n }\n}\n"],"mappings":";;;;;;AAsGA,eAAsB,EACpB,GACA,IAA4C,CAAC,GACL;CACxC,IAAM,EAAE,KAAK,MAAY,EAAsB,GAAQ,EAAE,SAAS,EAAW,QAAQ,CAAC,GAChF,EAAE,WAAQ,GAAG,UAAO,OAAO,GAM3B,IAAe,EAAW,gBAAgB,EAAW;CAE3D,IAAI;EAmBF,OAAO,GAAsB,MAlBN,EACrB,GACA,GAMA;GACE,eAAe;GACf,UAAU,EAAW;GACrB,gBAAgB,EAAW;GAC3B,kBAAkB,EAAW;GAC7B,oBAAoB,EAAW;EACjC,GACA,EAAE,WAAQ,CACZ,GAEsC,IAAI;CAC5C,SAAS,GAAK;EAOZ,MANI,aAAe,IAAiB,IAEhC,EAAa,CAAG,IACZ,EAAa,UAAU,GAAK;GAAE,MAAM;GAAkC;EAAQ,CAAC,IAGjF,IAAI,EACR,OACA,kCACA,sCAAsC,aAAe,QAAQ,EAAI,UAAU,OAAO,CAAG,KACrF,EAAE,OAAO,aAAe,QAAQ,IAAM,KAAA,EAAU,CAClD;CACF;AACF"}
@@ -7,6 +7,10 @@ export type GetPoolTransactionsData = GetPoolTransactionsReturnType;
7
7
  /**
8
8
  * Build the TanStack Query key for {@link getPoolTransactionsQueryOptions}.
9
9
  *
10
+ * Every filter is part of the key, so differently filtered pages never share a
11
+ * cache entry. The deprecated `marketAddress` folds into `tokenAddress`, so the
12
+ * old and the new spelling of one filter do share one.
13
+ *
10
14
  * @param options - Query parameters plus the resolved config key.
11
15
  * @returns A stable, hashable query key.
12
16
  */
@@ -24,8 +28,8 @@ export type GetPoolTransactionsQueryOptions = SymmioQueryOptions<GetPoolTransact
24
28
  * Build TanStack Query options for {@link getPoolTransactions}.
25
29
  *
26
30
  * @param config - The SDK config.
27
- * @param options - Query parameters and TanStack overrides.
31
+ * @param options - Query parameters and TanStack overrides. Omit for every pool's latest page.
28
32
  * @returns Options to pass to `useQuery` / `queryClient.fetchQuery`.
29
33
  */
30
- export declare function getPoolTransactionsQueryOptions(config: Config, options: GetPoolTransactionsOptions): GetPoolTransactionsQueryOptions;
34
+ export declare function getPoolTransactionsQueryOptions(config: Config, options?: GetPoolTransactionsOptions): GetPoolTransactionsQueryOptions;
31
35
  //# sourceMappingURL=query.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../src/pools/transactions/query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACjF,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEnF,OAAO,EAEL,KAAK,6BAA6B,EAClC,KAAK,6BAA6B,EACnC,MAAM,yBAAyB,CAAC;AAEjC,0EAA0E;AAC1E,MAAM,MAAM,uBAAuB,GAAG,6BAA6B,CAAC;AAEpE;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,OAAO,CAAC,6BAA6B,GAAG,kBAAkB,CAAC,6DAE/G;AAED,sEAAsE;AACtE,MAAM,MAAM,2BAA2B,GAAG,UAAU,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEzF;;;GAGG;AACH,MAAM,MAAM,0BAA0B,GAAG,OAAO,CAC9C,6BAA6B,GAC3B,cAAc,CAAC,uBAAuB,EAAE,KAAK,EAAE,uBAAuB,EAAE,2BAA2B,CAAC,CACvG,CAAC;AAEF,kFAAkF;AAClF,MAAM,MAAM,+BAA+B,GAAG,kBAAkB,CAC9D,uBAAuB,EACvB,KAAK,EACL,uBAAuB,EACvB,2BAA2B,CAC5B,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,0BAA0B,GAClC,+BAA+B,CAiBjC"}
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../src/pools/transactions/query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACjF,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEnF,OAAO,EAEL,KAAK,6BAA6B,EAClC,KAAK,6BAA6B,EACnC,MAAM,yBAAyB,CAAC;AAEjC,0EAA0E;AAC1E,MAAM,MAAM,uBAAuB,GAAG,6BAA6B,CAAC;AAEpE;;;;;;;;;GASG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,OAAO,CAAC,6BAA6B,GAAG,kBAAkB,CAAC,6DAM/G;AAED,sEAAsE;AACtE,MAAM,MAAM,2BAA2B,GAAG,UAAU,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEzF;;;GAGG;AACH,MAAM,MAAM,0BAA0B,GAAG,OAAO,CAC9C,6BAA6B,GAC3B,cAAc,CAAC,uBAAuB,EAAE,KAAK,EAAE,uBAAuB,EAAE,2BAA2B,CAAC,CACvG,CAAC;AAEF,kFAAkF;AAClF,MAAM,MAAM,+BAA+B,GAAG,kBAAkB,CAC9D,uBAAuB,EACvB,KAAK,EACL,uBAAuB,EACvB,2BAA2B,CAC5B,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,0BAA+B,GACvC,+BAA+B,CAYjC"}
@@ -2,23 +2,22 @@ import { filterQueryOptions as e } from "../../shared/utils/query.js";
2
2
  import { getPoolTransactions as t } from "./get-pool-transactions.js";
3
3
  //#region src/pools/transactions/query.ts
4
4
  function n(t) {
5
- return ["getPoolTransactions", e(t)];
5
+ let { marketAddress: n, ...r } = t;
6
+ return ["getPoolTransactions", e({
7
+ ...r,
8
+ tokenAddress: r.tokenAddress ?? n
9
+ })];
6
10
  }
7
- function r(e, r) {
11
+ function r(e, r = {}) {
12
+ let { query: i, ...a } = r;
8
13
  return {
9
- ...r.query,
14
+ ...i,
10
15
  queryKey: n({
11
- ...r,
12
- configKey: e.getChainConfigKey(r.chainId)
16
+ ...a,
17
+ configKey: e.getChainConfigKey(a.chainId)
13
18
  }),
14
- enabled: r.query?.enabled ?? !0,
15
- queryFn: () => t(e, {
16
- chainId: r.chainId,
17
- marketAddress: r.marketAddress,
18
- walletAddress: r.walletAddress,
19
- start: r.start,
20
- size: r.size
21
- })
19
+ enabled: i?.enabled ?? !0,
20
+ queryFn: () => t(e, a)
22
21
  };
23
22
  }
24
23
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"query.js","names":[],"sources":["../../../src/pools/transactions/query.ts"],"sourcesContent":["import type { Config } from \"../../core/config\";\nimport type { Compute, ConfigKeyParameter } from \"../../shared/types/properties\";\nimport type { QueryParameter, SymmioQueryOptions } from \"../../shared/types/query\";\nimport { filterQueryOptions } from \"../../shared/utils/query\";\nimport {\n getPoolTransactions,\n type GetPoolTransactionsParameters,\n type GetPoolTransactionsReturnType,\n} from \"./get-pool-transactions\";\n\n/** Data resolved by the {@link getPoolTransactionsQueryOptions} query. */\nexport type GetPoolTransactionsData = GetPoolTransactionsReturnType;\n\n/**\n * Build the TanStack Query key for {@link getPoolTransactionsQueryOptions}.\n *\n * @param options - Query parameters plus the resolved config key.\n * @returns A stable, hashable query key.\n */\nexport function getPoolTransactionsQueryKey(options: Compute<GetPoolTransactionsParameters & ConfigKeyParameter>) {\n return [\"getPoolTransactions\", filterQueryOptions(options)] as const;\n}\n\n/** Query-key type produced by {@link getPoolTransactionsQueryKey}. */\nexport type GetPoolTransactionsQueryKey = ReturnType<typeof getPoolTransactionsQueryKey>;\n\n/**\n * Options accepted by {@link getPoolTransactionsQueryOptions}: the action's\n * parameters, an optional cache scope, and TanStack overrides.\n */\nexport type GetPoolTransactionsOptions = Compute<\n GetPoolTransactionsParameters &\n QueryParameter<GetPoolTransactionsData, Error, GetPoolTransactionsData, GetPoolTransactionsQueryKey>\n>;\n\n/** TanStack Query options returned by {@link getPoolTransactionsQueryOptions}. */\nexport type GetPoolTransactionsQueryOptions = SymmioQueryOptions<\n GetPoolTransactionsData,\n Error,\n GetPoolTransactionsData,\n GetPoolTransactionsQueryKey\n>;\n\n/**\n * Build TanStack Query options for {@link getPoolTransactions}.\n *\n * @param config - The SDK config.\n * @param options - Query parameters and TanStack overrides.\n * @returns Options to pass to `useQuery` / `queryClient.fetchQuery`.\n */\nexport function getPoolTransactionsQueryOptions(\n config: Config,\n options: GetPoolTransactionsOptions,\n): GetPoolTransactionsQueryOptions {\n return {\n ...options.query,\n queryKey: getPoolTransactionsQueryKey({\n ...options,\n configKey: config.getChainConfigKey(options.chainId),\n }),\n enabled: options.query?.enabled ?? true,\n queryFn: () =>\n getPoolTransactions(config, {\n chainId: options.chainId,\n marketAddress: options.marketAddress,\n walletAddress: options.walletAddress,\n start: options.start,\n size: options.size,\n }),\n };\n}\n"],"mappings":";;;AAmBA,SAAgB,EAA4B,GAAsE;CAChH,OAAO,CAAC,uBAAuB,EAAmB,CAAO,CAAC;AAC5D;AA6BA,SAAgB,EACd,GACA,GACiC;CACjC,OAAO;EACL,GAAG,EAAQ;EACX,UAAU,EAA4B;GACpC,GAAG;GACH,WAAW,EAAO,kBAAkB,EAAQ,OAAO;EACrD,CAAC;EACD,SAAS,EAAQ,OAAO,WAAW;EACnC,eACE,EAAoB,GAAQ;GAC1B,SAAS,EAAQ;GACjB,eAAe,EAAQ;GACvB,eAAe,EAAQ;GACvB,OAAO,EAAQ;GACf,MAAM,EAAQ;EAChB,CAAC;CACL;AACF"}
1
+ {"version":3,"file":"query.js","names":[],"sources":["../../../src/pools/transactions/query.ts"],"sourcesContent":["import type { Config } from \"../../core/config\";\nimport type { Compute, ConfigKeyParameter } from \"../../shared/types/properties\";\nimport type { QueryParameter, SymmioQueryOptions } from \"../../shared/types/query\";\nimport { filterQueryOptions } from \"../../shared/utils/query\";\nimport {\n getPoolTransactions,\n type GetPoolTransactionsParameters,\n type GetPoolTransactionsReturnType,\n} from \"./get-pool-transactions\";\n\n/** Data resolved by the {@link getPoolTransactionsQueryOptions} query. */\nexport type GetPoolTransactionsData = GetPoolTransactionsReturnType;\n\n/**\n * Build the TanStack Query key for {@link getPoolTransactionsQueryOptions}.\n *\n * Every filter is part of the key, so differently filtered pages never share a\n * cache entry. The deprecated `marketAddress` folds into `tokenAddress`, so the\n * old and the new spelling of one filter do share one.\n *\n * @param options - Query parameters plus the resolved config key.\n * @returns A stable, hashable query key.\n */\nexport function getPoolTransactionsQueryKey(options: Compute<GetPoolTransactionsParameters & ConfigKeyParameter>) {\n const { marketAddress, ...parameters } = options;\n return [\n \"getPoolTransactions\",\n filterQueryOptions({ ...parameters, tokenAddress: parameters.tokenAddress ?? marketAddress }),\n ] as const;\n}\n\n/** Query-key type produced by {@link getPoolTransactionsQueryKey}. */\nexport type GetPoolTransactionsQueryKey = ReturnType<typeof getPoolTransactionsQueryKey>;\n\n/**\n * Options accepted by {@link getPoolTransactionsQueryOptions}: the action's\n * parameters, an optional cache scope, and TanStack overrides.\n */\nexport type GetPoolTransactionsOptions = Compute<\n GetPoolTransactionsParameters &\n QueryParameter<GetPoolTransactionsData, Error, GetPoolTransactionsData, GetPoolTransactionsQueryKey>\n>;\n\n/** TanStack Query options returned by {@link getPoolTransactionsQueryOptions}. */\nexport type GetPoolTransactionsQueryOptions = SymmioQueryOptions<\n GetPoolTransactionsData,\n Error,\n GetPoolTransactionsData,\n GetPoolTransactionsQueryKey\n>;\n\n/**\n * Build TanStack Query options for {@link getPoolTransactions}.\n *\n * @param config - The SDK config.\n * @param options - Query parameters and TanStack overrides. Omit for every pool's latest page.\n * @returns Options to pass to `useQuery` / `queryClient.fetchQuery`.\n */\nexport function getPoolTransactionsQueryOptions(\n config: Config,\n options: GetPoolTransactionsOptions = {},\n): GetPoolTransactionsQueryOptions {\n /** Every parameter reaches the action: a hand-listed subset would silently drop a new filter. */\n const { query, ...parameters } = options;\n return {\n ...query,\n queryKey: getPoolTransactionsQueryKey({\n ...parameters,\n configKey: config.getChainConfigKey(parameters.chainId),\n }),\n enabled: query?.enabled ?? true,\n queryFn: () => getPoolTransactions(config, parameters),\n };\n}\n"],"mappings":";;;AAuBA,SAAgB,EAA4B,GAAsE;CAChH,IAAM,EAAE,kBAAe,GAAG,MAAe;CACzC,OAAO,CACL,uBACA,EAAmB;EAAE,GAAG;EAAY,cAAc,EAAW,gBAAgB;CAAc,CAAC,CAC9F;AACF;AA6BA,SAAgB,EACd,GACA,IAAsC,CAAC,GACN;CAEjC,IAAM,EAAE,UAAO,GAAG,MAAe;CACjC,OAAO;EACL,GAAG;EACH,UAAU,EAA4B;GACpC,GAAG;GACH,WAAW,EAAO,kBAAkB,EAAW,OAAO;EACxD,CAAC;EACD,SAAS,GAAO,WAAW;EAC3B,eAAe,EAAoB,GAAQ,CAAU;CACvD;AACF"}
@@ -3,6 +3,10 @@ import { MarketTransaction, MarketTransactionsHistory } from '../types/generated
3
3
  /**
4
4
  * Map one raw transaction row into the SDK's {@link PoolTransaction}.
5
5
  *
6
+ * The row's own `token_address` / `chain_id` become `tokenAddress` / `chainId`,
7
+ * so the row stays attributable on a page that spans every pool. The wire
8
+ * `chain_id` is a plain number, read as the matching {@link ListingDepositChainId}.
9
+ *
6
10
  * @param raw - One row of the backend's transaction-history response.
7
11
  * @returns The normalized transaction.
8
12
  */
@@ -11,6 +15,9 @@ export declare function toPoolTransaction(raw: MarketTransaction): PoolTransacti
11
15
  * Map the backend's transaction-history envelope into a
12
16
  * {@link PoolTransactionPage}.
13
17
  *
18
+ * The envelope's `market_address` is `null` on a page that spans every pool; an
19
+ * absent one is read the same way.
20
+ *
14
21
  * @param raw - The response body.
15
22
  * @returns The normalized page.
16
23
  */
@@ -1 +1 @@
1
- {"version":3,"file":"to-pool-transaction.d.ts","sourceRoot":"","sources":["../../../src/pools/transactions/to-pool-transaction.ts"],"names":[],"mappings":"AACA,OAAO,EAA8C,KAAK,eAAe,EAAE,KAAK,mBAAmB,EAAE,MAAM,UAAU,CAAC;AACtH,OAAO,KAAK,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAEvG;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,iBAAiB,GAAG,eAAe,CAezE;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,yBAAyB,GAAG,mBAAmB,CAMzF"}
1
+ {"version":3,"file":"to-pool-transaction.d.ts","sourceRoot":"","sources":["../../../src/pools/transactions/to-pool-transaction.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACzB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAEvG;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,iBAAiB,GAAG,eAAe,CAiBzE;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,yBAAyB,GAAG,mBAAmB,CAMzF"}
@@ -3,6 +3,8 @@ import { toListingValue as e } from "../markets/to-listing-market.js";
3
3
  function t(t) {
4
4
  return {
5
5
  transactionId: t.transaction_id,
6
+ tokenAddress: t.token_address,
7
+ chainId: t.chain_id,
6
8
  walletAddress: t.wallet_address,
7
9
  amount: e(t.amount) ?? 0n,
8
10
  usdcAmount: e(t.usdc_amount) ?? 0n,
@@ -18,8 +20,8 @@ function t(t) {
18
20
  }
19
21
  function n(e) {
20
22
  return {
21
- marketAddress: e.market_address,
22
23
  count: e.count,
24
+ marketAddress: e.market_address ?? null,
23
25
  items: (e.data ?? []).map(t)
24
26
  };
25
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"to-pool-transaction.js","names":[],"sources":["../../../src/pools/transactions/to-pool-transaction.ts"],"sourcesContent":["import { toListingValue } from \"../markets/to-listing-market\";\nimport { PoolTransactionStatus, PoolTransactionType, type PoolTransaction, type PoolTransactionPage } from \"../types\";\nimport type { MarketTransaction, MarketTransactionsHistory } from \"../types/generated/listing-backend\";\n\n/**\n * Map one raw transaction row into the SDK's {@link PoolTransaction}.\n *\n * @param raw - One row of the backend's transaction-history response.\n * @returns The normalized transaction.\n */\nexport function toPoolTransaction(raw: MarketTransaction): PoolTransaction {\n return {\n transactionId: raw.transaction_id,\n walletAddress: raw.wallet_address,\n amount: toListingValue(raw.amount) ?? 0n,\n usdcAmount: toListingValue(raw.usdc_amount) ?? 0n,\n tokenAmount: toListingValue(raw.token_amount) ?? 0n,\n transactionHash: raw.transaction_hash ?? null,\n refundAddress: raw.refund_address ?? null,\n refundTransactionHash: raw.refund_transaction_hash ?? null,\n refundTime: raw.refund_time ?? null,\n type: raw.type as unknown as PoolTransactionType,\n status: raw.status as unknown as PoolTransactionStatus,\n time: raw.time,\n };\n}\n\n/**\n * Map the backend's transaction-history envelope into a\n * {@link PoolTransactionPage}.\n *\n * @param raw - The response body.\n * @returns The normalized page.\n */\nexport function toPoolTransactionPage(raw: MarketTransactionsHistory): PoolTransactionPage {\n return {\n marketAddress: raw.market_address,\n count: raw.count,\n items: (raw.data ?? []).map(toPoolTransaction),\n };\n}\n"],"mappings":";;AAUA,SAAgB,EAAkB,GAAyC;CACzE,OAAO;EACL,eAAe,EAAI;EACnB,eAAe,EAAI;EACnB,QAAQ,EAAe,EAAI,MAAM,KAAK;EACtC,YAAY,EAAe,EAAI,WAAW,KAAK;EAC/C,aAAa,EAAe,EAAI,YAAY,KAAK;EACjD,iBAAiB,EAAI,oBAAoB;EACzC,eAAe,EAAI,kBAAkB;EACrC,uBAAuB,EAAI,2BAA2B;EACtD,YAAY,EAAI,eAAe;EAC/B,MAAM,EAAI;EACV,QAAQ,EAAI;EACZ,MAAM,EAAI;CACZ;AACF;AASA,SAAgB,EAAsB,GAAqD;CACzF,OAAO;EACL,eAAe,EAAI;EACnB,OAAO,EAAI;EACX,QAAQ,EAAI,QAAQ,CAAC,GAAG,IAAI,CAAiB;CAC/C;AACF"}
1
+ {"version":3,"file":"to-pool-transaction.js","names":[],"sources":["../../../src/pools/transactions/to-pool-transaction.ts"],"sourcesContent":["import { toListingValue } from \"../markets/to-listing-market\";\nimport {\n PoolTransactionStatus,\n PoolTransactionType,\n type ListingDepositChainId,\n type PoolTransaction,\n type PoolTransactionPage,\n} from \"../types\";\nimport type { MarketTransaction, MarketTransactionsHistory } from \"../types/generated/listing-backend\";\n\n/**\n * Map one raw transaction row into the SDK's {@link PoolTransaction}.\n *\n * The row's own `token_address` / `chain_id` become `tokenAddress` / `chainId`,\n * so the row stays attributable on a page that spans every pool. The wire\n * `chain_id` is a plain number, read as the matching {@link ListingDepositChainId}.\n *\n * @param raw - One row of the backend's transaction-history response.\n * @returns The normalized transaction.\n */\nexport function toPoolTransaction(raw: MarketTransaction): PoolTransaction {\n return {\n transactionId: raw.transaction_id,\n tokenAddress: raw.token_address,\n chainId: raw.chain_id as ListingDepositChainId,\n walletAddress: raw.wallet_address,\n amount: toListingValue(raw.amount) ?? 0n,\n usdcAmount: toListingValue(raw.usdc_amount) ?? 0n,\n tokenAmount: toListingValue(raw.token_amount) ?? 0n,\n transactionHash: raw.transaction_hash ?? null,\n refundAddress: raw.refund_address ?? null,\n refundTransactionHash: raw.refund_transaction_hash ?? null,\n refundTime: raw.refund_time ?? null,\n type: raw.type as unknown as PoolTransactionType,\n status: raw.status as unknown as PoolTransactionStatus,\n time: raw.time,\n };\n}\n\n/**\n * Map the backend's transaction-history envelope into a\n * {@link PoolTransactionPage}.\n *\n * The envelope's `market_address` is `null` on a page that spans every pool; an\n * absent one is read the same way.\n *\n * @param raw - The response body.\n * @returns The normalized page.\n */\nexport function toPoolTransactionPage(raw: MarketTransactionsHistory): PoolTransactionPage {\n return {\n count: raw.count,\n marketAddress: raw.market_address ?? null,\n items: (raw.data ?? []).map(toPoolTransaction),\n };\n}\n"],"mappings":";;AAoBA,SAAgB,EAAkB,GAAyC;CACzE,OAAO;EACL,eAAe,EAAI;EACnB,cAAc,EAAI;EAClB,SAAS,EAAI;EACb,eAAe,EAAI;EACnB,QAAQ,EAAe,EAAI,MAAM,KAAK;EACtC,YAAY,EAAe,EAAI,WAAW,KAAK;EAC/C,aAAa,EAAe,EAAI,YAAY,KAAK;EACjD,iBAAiB,EAAI,oBAAoB;EACzC,eAAe,EAAI,kBAAkB;EACrC,uBAAuB,EAAI,2BAA2B;EACtD,YAAY,EAAI,eAAe;EAC/B,MAAM,EAAI;EACV,QAAQ,EAAI;EACZ,MAAM,EAAI;CACZ;AACF;AAYA,SAAgB,EAAsB,GAAqD;CACzF,OAAO;EACL,OAAO,EAAI;EACX,eAAe,EAAI,kBAAkB;EACrC,QAAQ,EAAI,QAAQ,CAAC,GAAG,IAAI,CAAiB;CAC/C;AACF"}
@@ -42,44 +42,44 @@ var t = (t, n) => e.get("/v2/auth/sign-in-message", {
42
42
  ...t,
43
43
  ...n?.params
44
44
  }
45
- }), m = (t, n) => e.post("/v2/market/withdraw", t, n), h = (t, n) => e.delete(`/v2/market/withdraw/${t}`, n), g = (t, n, r, i) => e.get(`/v2/market/transaction-history/${t}/${n}`, {
45
+ }), m = (t, n) => e.post("/v2/market/withdraw", t, n), h = (t, n) => e.delete(`/v2/market/withdraw/${t}`, n), g = (t, n) => e.post("/v2/market/token-price", t, n), _ = (t, n, r, i) => e.get(`/v2/market/transaction-history/${t}/${n}`, {
46
46
  ...i,
47
47
  params: {
48
48
  ...r,
49
49
  ...i?.params
50
50
  }
51
- }), _ = (t, n, r, i) => e.get(`/v2/market/user-transactions/${t}/${n}`, {
51
+ }), v = (t, n, r, i) => e.get(`/v2/market/user-transactions/${t}/${n}`, {
52
52
  ...i,
53
53
  params: {
54
54
  ...r,
55
55
  ...i?.params
56
56
  }
57
- }), v = (t, n) => e.get("/v2/market", {
57
+ }), y = (t, n) => e.get("/v2/market", {
58
58
  ...n,
59
59
  params: {
60
60
  ...t,
61
61
  ...n?.params
62
62
  }
63
- }), y = (t, n) => e.get("/v2/market/listing-status", {
63
+ }), b = (t, n) => e.get("/v2/market/listing-status", {
64
64
  ...n,
65
65
  params: {
66
66
  ...t,
67
67
  ...n?.params
68
68
  }
69
- }), b = (t) => e.get("/v2/market/weekly-listing-limit", t), x = (t, n) => e.post("/v2/claim", t, n), S = (t, n, r, i) => e.get(`/v2/claim/search/${t}/${n}`, {
69
+ }), x = (t) => e.get("/v2/market/weekly-listing-limit", t), S = (t, n) => e.post("/v2/claim", t, n), C = (t, n, r, i) => e.get(`/v2/claim/search/${t}/${n}`, {
70
70
  ...i,
71
71
  params: {
72
72
  ...r,
73
73
  ...i?.params
74
74
  }
75
- }), C = (t) => e.get("/v2/configs", t), w = (t) => e.get("/v2/profit/chart/rewards", t), T = (t, n) => e.get("/v2/profit/total-reward", {
75
+ }), w = (t) => e.get("/v2/configs", t), T = (t) => e.get("/v2/profit/chart/rewards", t), E = (t, n) => e.get("/v2/profit/total-reward", {
76
76
  ...n,
77
77
  params: {
78
78
  ...t,
79
79
  ...n?.params
80
80
  }
81
- }), E = (t, n) => e.get(`/v2/profit/${t}`, n);
81
+ }), D = (t, n) => e.get(`/v2/profit/${t}`, n);
82
82
  //#endregion
83
- export { o as addMarketV2MarketAddMarketPost, h as cancelWithdrawV2MarketWithdrawWithdrawIdDelete, x as claimProfitV2ClaimPost, C as getClientConfigV2ConfigsGet, a as getDepositAddressV2MarketDepositAddressPost, s as getMarketConfigV2MarketConfigGet, y as getMarketListingStatusV2MarketListingStatusGet, r as getMarketRewardChartV2MarketChartRewardsGet, i as getMarketTotalRewardV2MarketTotalRewardGet, v as getMarketV2MarketGet, E as getProfitByTokenV2ProfitTokenContractAddressGet, t as getSignInMessageV2AuthSignInMessageGet, g as getTransactionHistoryV2MarketTransactionHistoryStartSizeGet, w as getUserRewardChartV2ProfitChartRewardsGet, T as getUserTotalRewardV2ProfitTotalRewardGet, b as getWeeklyListingLimitV2MarketWeeklyListingLimitGet, n as loginV2AuthLoginPost, p as marketSearchV2MarketSearchGet, f as marketUserSearchV2MarketSearchUserGet, S as postSearchClaimsV2ClaimSearchStartSizeGet, u as refundV2MarketRefundPost, l as retryListingV2MarketRetryListingPost, _ as searchUserTransactionsV2MarketUserTransactionsStartSizeGet, c as updateMarketConfigV2MarketConfigPost, d as userRetryInfoV2MarketRetryListingInfoGet, m as withdrawV2MarketWithdrawPost };
83
+ export { o as addMarketV2MarketAddMarketPost, g as calculateSymbolPriceV2MarketTokenPricePost, h as cancelWithdrawV2MarketWithdrawWithdrawIdDelete, S as claimProfitV2ClaimPost, w as getClientConfigV2ConfigsGet, a as getDepositAddressV2MarketDepositAddressPost, s as getMarketConfigV2MarketConfigGet, b as getMarketListingStatusV2MarketListingStatusGet, r as getMarketRewardChartV2MarketChartRewardsGet, i as getMarketTotalRewardV2MarketTotalRewardGet, y as getMarketV2MarketGet, D as getProfitByTokenV2ProfitTokenContractAddressGet, t as getSignInMessageV2AuthSignInMessageGet, _ as getTransactionHistoryV2MarketTransactionHistoryStartSizeGet, T as getUserRewardChartV2ProfitChartRewardsGet, E as getUserTotalRewardV2ProfitTotalRewardGet, x as getWeeklyListingLimitV2MarketWeeklyListingLimitGet, n as loginV2AuthLoginPost, p as marketSearchV2MarketSearchGet, f as marketUserSearchV2MarketSearchUserGet, C as postSearchClaimsV2ClaimSearchStartSizeGet, u as refundV2MarketRefundPost, l as retryListingV2MarketRetryListingPost, v as searchUserTransactionsV2MarketUserTransactionsStartSizeGet, c as updateMarketConfigV2MarketConfigPost, d as userRetryInfoV2MarketRetryListingInfoGet, m as withdrawV2MarketWithdrawPost };
84
84
 
85
85
  //# sourceMappingURL=listing-backend.js.map