@symmio/trading-react 0.2.0 → 1.0.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 (46) hide show
  1. package/README.md +2 -2
  2. package/dist/account-layer/use-account-balance-info.d.ts +15 -4
  3. package/dist/account-layer/use-account-balance-info.d.ts.map +1 -1
  4. package/dist/account-layer/use-account-balance-info.js +21 -9
  5. package/dist/account-layer/use-account-balance-info.js.map +1 -1
  6. package/dist/account-layer/use-account-balance-of.d.ts +15 -4
  7. package/dist/account-layer/use-account-balance-of.d.ts.map +1 -1
  8. package/dist/account-layer/use-account-balance-of.js +20 -9
  9. package/dist/account-layer/use-account-balance-of.js.map +1 -1
  10. package/dist/account-layer/use-deposit.d.ts +3 -1
  11. package/dist/account-layer/use-deposit.d.ts.map +1 -1
  12. package/dist/account-layer/use-deposit.js +17 -15
  13. package/dist/account-layer/use-deposit.js.map +1 -1
  14. package/dist/estimated-price/index.d.ts +2 -0
  15. package/dist/estimated-price/index.d.ts.map +1 -0
  16. package/dist/estimated-price/use-debounced-value.d.ts +9 -0
  17. package/dist/estimated-price/use-debounced-value.d.ts.map +1 -0
  18. package/dist/estimated-price/use-debounced-value.js +18 -0
  19. package/dist/estimated-price/use-debounced-value.js.map +1 -0
  20. package/dist/estimated-price/use-estimated-price.d.ts +46 -0
  21. package/dist/estimated-price/use-estimated-price.d.ts.map +1 -0
  22. package/dist/estimated-price/use-estimated-price.js +31 -0
  23. package/dist/estimated-price/use-estimated-price.js.map +1 -0
  24. package/dist/index.d.ts +6 -1
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js +106 -104
  27. package/dist/instant-layer/use-instant-open-with-tpsl.d.ts.map +1 -1
  28. package/dist/instant-layer/use-instant-open-with-tpsl.js +10 -2
  29. package/dist/instant-layer/use-instant-open-with-tpsl.js.map +1 -1
  30. package/dist/margin/index.d.ts +2 -0
  31. package/dist/margin/index.d.ts.map +1 -0
  32. package/dist/margin/use-available-instant-open-margin.d.ts +51 -0
  33. package/dist/margin/use-available-instant-open-margin.d.ts.map +1 -0
  34. package/dist/margin/use-available-instant-open-margin.js +66 -0
  35. package/dist/margin/use-available-instant-open-margin.js.map +1 -0
  36. package/dist/provider/symmio-provider.d.ts +14 -5
  37. package/dist/provider/symmio-provider.d.ts.map +1 -1
  38. package/dist/provider/symmio-provider.js +2 -2
  39. package/dist/provider/symmio-provider.js.map +1 -1
  40. package/dist/quotes/use-managed-quotes.js +16 -16
  41. package/dist/quotes/use-managed-quotes.js.map +1 -1
  42. package/dist/websocket/is-settle-notification.d.ts +15 -0
  43. package/dist/websocket/is-settle-notification.d.ts.map +1 -0
  44. package/dist/websocket/is-settle-notification.js +15 -0
  45. package/dist/websocket/is-settle-notification.js.map +1 -0
  46. package/package.json +7 -8
package/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  `@symmio/trading-react` is the React layer of the SYMMIO SDK. It wraps the framework-agnostic `@symmio/trading-core` in hooks and a provider, bridging the SDK to your app's wagmi and TanStack Query setup so you can read positions, quotes, balances, and prices and run trading flows without wiring contract calls yourself.
6
6
 
7
- **[Documentation](https://symmio-frontier.vercel.app/react) · [Live SDK console](https://symm-frontier-web.vercel.app/)**
7
+ **[Documentation](https://doc.trading-sdk.symm.io/react) · [Live SDK console](https://console.trading-sdk.symm.io/)**
8
8
 
9
9
  ## Installation
10
10
 
@@ -40,7 +40,7 @@ function Account() {
40
40
  }
41
41
  ```
42
42
 
43
- For the full list of hooks and providers, see the [API reference](https://symmio-frontier.vercel.app/react).
43
+ For the full list of hooks and providers, see the [API reference](https://doc.trading-sdk.symm.io/react).
44
44
 
45
45
  ## License
46
46
 
@@ -3,19 +3,30 @@ import { UseQueryResult } from '@tanstack/react-query';
3
3
  import { SymmioRequestError } from '../errors/symmio-request-error.js';
4
4
  /**
5
5
  * Parameters for {@link useAccountBalanceInfo}: the core query options
6
- * (account, chain id, TanStack `query` overrides) plus an optional `config`.
6
+ * (account, chain id, TanStack `query` overrides) plus an optional `config` and
7
+ * a `live` flag.
7
8
  */
8
- export type UseAccountBalanceInfoParameters = GetAccountBalanceInfoOptions & ConfigParameter;
9
+ export type UseAccountBalanceInfoParameters = GetAccountBalanceInfoOptions & ConfigParameter & {
10
+ /**
11
+ * Subscribe to the account's on-chain settle notifications and refetch on
12
+ * each open-anchor / close-fill (a shared WebSocket; requires the provider
13
+ * tree). Turn this on wherever the balance must reflect a just-settled trade
14
+ * without a manual refresh.
15
+ * @default false
16
+ */
17
+ live?: boolean;
18
+ };
9
19
  /** Return type of {@link useAccountBalanceInfo}. */
10
20
  export type UseAccountBalanceInfoReturnType = UseQueryResult<GetAccountBalanceInfoReturnType, SymmioRequestError>;
11
21
  /**
12
22
  * Read raw `balanceInfoOfPartyA` fields for a SYMMIO account. The query is
13
23
  * disabled until `account` is set. Omitted `chainId` resolves through the SDK
14
- * config. Errors are normalized to {@link SymmioRequestError}.
24
+ * config. Errors are normalized to {@link SymmioRequestError}. Pass `live: true`
25
+ * to auto-refetch when an open/close settles on-chain.
15
26
  *
16
27
  * @example
17
28
  * ```tsx
18
- * const { data, isLoading } = useAccountBalanceInfo({ account });
29
+ * const { data, isLoading } = useAccountBalanceInfo({ account, live: true });
19
30
  * ```
20
31
  */
21
32
  export declare function useAccountBalanceInfo(parameters?: UseAccountBalanceInfoParameters): UseAccountBalanceInfoReturnType;
@@ -1 +1 @@
1
- {"version":3,"file":"use-account-balance-info.d.ts","sourceRoot":"","sources":["../../src/account-layer/use-account-balance-info.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,4BAA4B,EACjC,KAAK,+BAA+B,EACrC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAY,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAGzE;;;GAGG;AACH,MAAM,MAAM,+BAA+B,GAAG,4BAA4B,GAAG,eAAe,CAAC;AAE7F,oDAAoD;AACpD,MAAM,MAAM,+BAA+B,GAAG,cAAc,CAAC,+BAA+B,EAAE,kBAAkB,CAAC,CAAC;AAElH;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,GAAE,+BAAoC,GAC/C,+BAA+B,CAcjC"}
1
+ {"version":3,"file":"use-account-balance-info.d.ts","sourceRoot":"","sources":["../../src/account-layer/use-account-balance-info.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,4BAA4B,EACjC,KAAK,+BAA+B,EAErC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAY,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAKzE;;;;GAIG;AACH,MAAM,MAAM,+BAA+B,GAAG,4BAA4B,GACxE,eAAe,GAAG;IAChB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAEJ,oDAAoD;AACpD,MAAM,MAAM,+BAA+B,GAAG,cAAc,CAAC,+BAA+B,EAAE,kBAAkB,CAAC,CAAC;AAElH;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,GAAE,+BAAoC,GAC/C,+BAA+B,CAwCjC"}
@@ -1,23 +1,35 @@
1
1
  "use client";
2
2
  import { useSymmioConfig as e } from "../provider/use-symmio-config.js";
3
3
  import { normalizeSymmError as t } from "../errors/normalize-symm-error.js";
4
- import { getAccountBalanceInfoQueryOptions as n } from "@symmio/trading-core";
5
- import { useQuery as r } from "@tanstack/react-query";
4
+ import { SETTLE_REFETCH_DELAYS_MS as n, isSettleNotification as r } from "../websocket/is-settle-notification.js";
5
+ import { useNotifications as i } from "../websocket/use-notifications.js";
6
+ import { getAccountBalanceInfoQueryOptions as a } from "@symmio/trading-core";
7
+ import { useCallback as o } from "react";
8
+ import { useQuery as s } from "@tanstack/react-query";
6
9
  //#region src/account-layer/use-account-balance-info.ts
7
- function i(i = {}) {
8
- let a = n(e(i), i);
9
- return r({
10
- ...a,
10
+ function c(c = {}) {
11
+ let { live: l, ...u } = c, d = e(u), f = a(d, u), p = s({
12
+ ...f,
11
13
  queryFn: async () => {
12
14
  try {
13
- return await a.queryFn();
15
+ return await f.queryFn();
14
16
  } catch (e) {
15
17
  throw t(e);
16
18
  }
17
19
  }
18
- });
20
+ }), { refetch: m } = p, h = u.account;
21
+ return i({
22
+ account: h,
23
+ chainId: u.chainId ?? d.defaultChainId,
24
+ config: u.config,
25
+ enabled: !!(l && h) && u.query?.enabled !== !1,
26
+ onNotification: o((e) => {
27
+ let t = h !== void 0 && e.vaAddress?.toLowerCase() === h.toLowerCase();
28
+ if (!(!r(e) && !t)) for (let e of n) setTimeout(() => void m(), e);
29
+ }, [m, h])
30
+ }), p;
19
31
  }
20
32
  //#endregion
21
- export { i as useAccountBalanceInfo };
33
+ export { c as useAccountBalanceInfo };
22
34
 
23
35
  //# sourceMappingURL=use-account-balance-info.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-account-balance-info.js","names":[],"sources":["../../src/account-layer/use-account-balance-info.ts"],"sourcesContent":["\"use client\";\n\nimport {\n getAccountBalanceInfoQueryOptions,\n type ConfigParameter,\n type GetAccountBalanceInfoOptions,\n type GetAccountBalanceInfoReturnType,\n} from \"@symmio/trading-core\";\nimport { useQuery, type UseQueryResult } from \"@tanstack/react-query\";\nimport { normalizeSymmError } from \"../errors/normalize-symm-error\";\nimport type { SymmioRequestError } from \"../errors/symmio-request-error\";\nimport { useSymmioConfig } from \"../provider/use-symmio-config\";\n\n/**\n * Parameters for {@link useAccountBalanceInfo}: the core query options\n * (account, chain id, TanStack `query` overrides) plus an optional `config`.\n */\nexport type UseAccountBalanceInfoParameters = GetAccountBalanceInfoOptions & ConfigParameter;\n\n/** Return type of {@link useAccountBalanceInfo}. */\nexport type UseAccountBalanceInfoReturnType = UseQueryResult<GetAccountBalanceInfoReturnType, SymmioRequestError>;\n\n/**\n * Read raw `balanceInfoOfPartyA` fields for a SYMMIO account. The query is\n * disabled until `account` is set. Omitted `chainId` resolves through the SDK\n * config. Errors are normalized to {@link SymmioRequestError}.\n *\n * @example\n * ```tsx\n * const { data, isLoading } = useAccountBalanceInfo({ account });\n * ```\n */\nexport function useAccountBalanceInfo(\n parameters: UseAccountBalanceInfoParameters = {},\n): UseAccountBalanceInfoReturnType {\n const config = useSymmioConfig(parameters);\n const options = getAccountBalanceInfoQueryOptions(config, parameters);\n\n return useQuery({\n ...options,\n queryFn: async () => {\n try {\n return await options.queryFn();\n } catch (err) {\n throw normalizeSymmError(err);\n }\n },\n }) as UseAccountBalanceInfoReturnType;\n}\n"],"mappings":";;;;;;AAgCA,SAAgB,EACd,IAA8C,CAAC,GACd;CAEjC,IAAM,IAAU,EADD,EAAgB,CACmB,GAAQ,CAAU;CAEpE,OAAO,EAAS;EACd,GAAG;EACH,SAAS,YAAY;GACnB,IAAI;IACF,OAAO,MAAM,EAAQ,QAAQ;GAC/B,SAAS,GAAK;IACZ,MAAM,EAAmB,CAAG;GAC9B;EACF;CACF,CAAC;AACH"}
1
+ {"version":3,"file":"use-account-balance-info.js","names":[],"sources":["../../src/account-layer/use-account-balance-info.ts"],"sourcesContent":["\"use client\";\n\nimport {\n getAccountBalanceInfoQueryOptions,\n type ConfigParameter,\n type GetAccountBalanceInfoOptions,\n type GetAccountBalanceInfoReturnType,\n type Notification,\n} from \"@symmio/trading-core\";\nimport { useQuery, type UseQueryResult } from \"@tanstack/react-query\";\nimport { useCallback } from \"react\";\nimport { normalizeSymmError } from \"../errors/normalize-symm-error\";\nimport type { SymmioRequestError } from \"../errors/symmio-request-error\";\nimport { useSymmioConfig } from \"../provider/use-symmio-config\";\nimport { isSettleNotification, SETTLE_REFETCH_DELAYS_MS } from \"../websocket/is-settle-notification\";\nimport { useNotifications } from \"../websocket/use-notifications\";\n\n/**\n * Parameters for {@link useAccountBalanceInfo}: the core query options\n * (account, chain id, TanStack `query` overrides) plus an optional `config` and\n * a `live` flag.\n */\nexport type UseAccountBalanceInfoParameters = GetAccountBalanceInfoOptions &\n ConfigParameter & {\n /**\n * Subscribe to the account's on-chain settle notifications and refetch on\n * each open-anchor / close-fill (a shared WebSocket; requires the provider\n * tree). Turn this on wherever the balance must reflect a just-settled trade\n * without a manual refresh.\n * @default false\n */\n live?: boolean;\n };\n\n/** Return type of {@link useAccountBalanceInfo}. */\nexport type UseAccountBalanceInfoReturnType = UseQueryResult<GetAccountBalanceInfoReturnType, SymmioRequestError>;\n\n/**\n * Read raw `balanceInfoOfPartyA` fields for a SYMMIO account. The query is\n * disabled until `account` is set. Omitted `chainId` resolves through the SDK\n * config. Errors are normalized to {@link SymmioRequestError}. Pass `live: true`\n * to auto-refetch when an open/close settles on-chain.\n *\n * @example\n * ```tsx\n * const { data, isLoading } = useAccountBalanceInfo({ account, live: true });\n * ```\n */\nexport function useAccountBalanceInfo(\n parameters: UseAccountBalanceInfoParameters = {},\n): UseAccountBalanceInfoReturnType {\n const { live, ...queryParameters } = parameters;\n const config = useSymmioConfig(queryParameters);\n const options = getAccountBalanceInfoQueryOptions(config, queryParameters);\n\n const query = useQuery({\n ...options,\n queryFn: async () => {\n try {\n return await options.queryFn();\n } catch (err) {\n throw normalizeSymmError(err);\n }\n },\n }) as UseAccountBalanceInfoReturnType;\n\n const { refetch } = query;\n const account = queryParameters.account;\n useNotifications({\n account,\n // Watch the same chain the balance is read from (the query falls back to the\n // config default when chainId is omitted).\n chainId: queryParameters.chainId ?? config.defaultChainId,\n config: queryParameters.config,\n enabled: Boolean(live && account) && queryParameters.query?.enabled !== false,\n onNotification: useCallback(\n (notification: Notification) => {\n // Refetch on a balance-moving settle, or on any frame whose `vaAddress`\n // is the exact account being read (its Virtual Account just settled).\n const matchesVa = account !== undefined && notification.vaAddress?.toLowerCase() === account.toLowerCase();\n if (!isSettleNotification(notification) && !matchesVa) return;\n // The on-chain read lags the anchor block, so refetch in a short burst\n // until the post-settle balance lands.\n for (const ms of SETTLE_REFETCH_DELAYS_MS) setTimeout(() => void refetch(), ms);\n },\n [refetch, account],\n ),\n });\n\n return query;\n}\n"],"mappings":";;;;;;;;;AAgDA,SAAgB,EACd,IAA8C,CAAC,GACd;CACjC,IAAM,EAAE,SAAM,GAAG,MAAoB,GAC/B,IAAS,EAAgB,CAAe,GACxC,IAAU,EAAkC,GAAQ,CAAe,GAEnE,IAAQ,EAAS;EACrB,GAAG;EACH,SAAS,YAAY;GACnB,IAAI;IACF,OAAO,MAAM,EAAQ,QAAQ;GAC/B,SAAS,GAAK;IACZ,MAAM,EAAmB,CAAG;GAC9B;EACF;CACF,CAAC,GAEK,EAAE,eAAY,GACd,IAAU,EAAgB;CAsBhC,OArBA,EAAiB;EACf;EAGA,SAAS,EAAgB,WAAW,EAAO;EAC3C,QAAQ,EAAgB;EACxB,SAAS,GAAQ,KAAQ,MAAY,EAAgB,OAAO,YAAY;EACxE,gBAAgB,GACb,MAA+B;GAG9B,IAAM,IAAY,MAAY,KAAA,KAAa,EAAa,WAAW,YAAY,MAAM,EAAQ,YAAY;GACrG,OAAC,EAAqB,CAAY,KAAK,CAAC,IAG5C,KAAK,IAAM,KAAM,GAA0B,iBAAiB,KAAK,EAAQ,GAAG,CAAE;EAChF,GACA,CAAC,GAAS,CAAO,CACnB;CACF,CAAC,GAEM;AACT"}
@@ -3,19 +3,30 @@ import { UseQueryResult } from '@tanstack/react-query';
3
3
  import { SymmioRequestError } from '../errors/symmio-request-error.js';
4
4
  /**
5
5
  * Parameters for {@link useAccountBalanceOf}: the core query options
6
- * (account, chain id, TanStack `query` overrides) plus an optional `config`.
6
+ * (account, chain id, TanStack `query` overrides) plus an optional `config` and
7
+ * a `live` flag.
7
8
  */
8
- export type UseAccountBalanceOfParameters = GetAccountBalanceOfOptions & ConfigParameter;
9
+ export type UseAccountBalanceOfParameters = GetAccountBalanceOfOptions & ConfigParameter & {
10
+ /**
11
+ * Subscribe to the account's on-chain settle notifications and refetch on
12
+ * each open-anchor / close-fill (a shared WebSocket; requires the provider
13
+ * tree). Turn this on wherever the balance must reflect a just-settled trade
14
+ * without a manual refresh.
15
+ * @default false
16
+ */
17
+ live?: boolean;
18
+ };
9
19
  /** Return type of {@link useAccountBalanceOf}. */
10
20
  export type UseAccountBalanceOfReturnType = UseQueryResult<GetAccountBalanceOfReturnType, SymmioRequestError>;
11
21
  /**
12
22
  * Read raw `balanceOf` for a SYMMIO account. The query is disabled until
13
23
  * `account` is set. Omitted `chainId` resolves through the SDK config. Errors are
14
- * normalized to {@link SymmioRequestError}.
24
+ * normalized to {@link SymmioRequestError}. Pass `live: true` to auto-refetch
25
+ * when an open/close settles on-chain.
15
26
  *
16
27
  * @example
17
28
  * ```tsx
18
- * const { data } = useAccountBalanceOf({ account });
29
+ * const { data } = useAccountBalanceOf({ account, live: true });
19
30
  * ```
20
31
  */
21
32
  export declare function useAccountBalanceOf(parameters?: UseAccountBalanceOfParameters): UseAccountBalanceOfReturnType;
@@ -1 +1 @@
1
- {"version":3,"file":"use-account-balance-of.d.ts","sourceRoot":"","sources":["../../src/account-layer/use-account-balance-of.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,0BAA0B,EAC/B,KAAK,6BAA6B,EACnC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAY,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAGzE;;;GAGG;AACH,MAAM,MAAM,6BAA6B,GAAG,0BAA0B,GAAG,eAAe,CAAC;AAEzF,kDAAkD;AAClD,MAAM,MAAM,6BAA6B,GAAG,cAAc,CAAC,6BAA6B,EAAE,kBAAkB,CAAC,CAAC;AAE9G;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,GAAE,6BAAkC,GAAG,6BAA6B,CAcjH"}
1
+ {"version":3,"file":"use-account-balance-of.d.ts","sourceRoot":"","sources":["../../src/account-layer/use-account-balance-of.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,0BAA0B,EAC/B,KAAK,6BAA6B,EAEnC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAY,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAKzE;;;;GAIG;AACH,MAAM,MAAM,6BAA6B,GAAG,0BAA0B,GACpE,eAAe,GAAG;IAChB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAEJ,kDAAkD;AAClD,MAAM,MAAM,6BAA6B,GAAG,cAAc,CAAC,6BAA6B,EAAE,kBAAkB,CAAC,CAAC;AAE9G;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,GAAE,6BAAkC,GAAG,6BAA6B,CAoCjH"}
@@ -1,23 +1,34 @@
1
1
  "use client";
2
2
  import { useSymmioConfig as e } from "../provider/use-symmio-config.js";
3
3
  import { normalizeSymmError as t } from "../errors/normalize-symm-error.js";
4
- import { getAccountBalanceOfQueryOptions as n } from "@symmio/trading-core";
5
- import { useQuery as r } from "@tanstack/react-query";
4
+ import { SETTLE_REFETCH_DELAYS_MS as n, isSettleNotification as r } from "../websocket/is-settle-notification.js";
5
+ import { useNotifications as i } from "../websocket/use-notifications.js";
6
+ import { getAccountBalanceOfQueryOptions as a } from "@symmio/trading-core";
7
+ import { useCallback as o } from "react";
8
+ import { useQuery as s } from "@tanstack/react-query";
6
9
  //#region src/account-layer/use-account-balance-of.ts
7
- function i(i = {}) {
8
- let a = n(e(i), i);
9
- return r({
10
- ...a,
10
+ function c(c = {}) {
11
+ let { live: l, ...u } = c, d = e(u), f = a(d, u), p = s({
12
+ ...f,
11
13
  queryFn: async () => {
12
14
  try {
13
- return await a.queryFn();
15
+ return await f.queryFn();
14
16
  } catch (e) {
15
17
  throw t(e);
16
18
  }
17
19
  }
18
- });
20
+ }), { refetch: m } = p;
21
+ return i({
22
+ account: u.account,
23
+ chainId: u.chainId ?? d.defaultChainId,
24
+ config: u.config,
25
+ enabled: !!(l && u.account) && u.query?.enabled !== !1,
26
+ onNotification: o((e) => {
27
+ if (r(e)) for (let e of n) setTimeout(() => void m(), e);
28
+ }, [m])
29
+ }), p;
19
30
  }
20
31
  //#endregion
21
- export { i as useAccountBalanceOf };
32
+ export { c as useAccountBalanceOf };
22
33
 
23
34
  //# sourceMappingURL=use-account-balance-of.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-account-balance-of.js","names":[],"sources":["../../src/account-layer/use-account-balance-of.ts"],"sourcesContent":["\"use client\";\n\nimport {\n getAccountBalanceOfQueryOptions,\n type ConfigParameter,\n type GetAccountBalanceOfOptions,\n type GetAccountBalanceOfReturnType,\n} from \"@symmio/trading-core\";\nimport { useQuery, type UseQueryResult } from \"@tanstack/react-query\";\nimport { normalizeSymmError } from \"../errors/normalize-symm-error\";\nimport type { SymmioRequestError } from \"../errors/symmio-request-error\";\nimport { useSymmioConfig } from \"../provider/use-symmio-config\";\n\n/**\n * Parameters for {@link useAccountBalanceOf}: the core query options\n * (account, chain id, TanStack `query` overrides) plus an optional `config`.\n */\nexport type UseAccountBalanceOfParameters = GetAccountBalanceOfOptions & ConfigParameter;\n\n/** Return type of {@link useAccountBalanceOf}. */\nexport type UseAccountBalanceOfReturnType = UseQueryResult<GetAccountBalanceOfReturnType, SymmioRequestError>;\n\n/**\n * Read raw `balanceOf` for a SYMMIO account. The query is disabled until\n * `account` is set. Omitted `chainId` resolves through the SDK config. Errors are\n * normalized to {@link SymmioRequestError}.\n *\n * @example\n * ```tsx\n * const { data } = useAccountBalanceOf({ account });\n * ```\n */\nexport function useAccountBalanceOf(parameters: UseAccountBalanceOfParameters = {}): UseAccountBalanceOfReturnType {\n const config = useSymmioConfig(parameters);\n const options = getAccountBalanceOfQueryOptions(config, parameters);\n\n return useQuery({\n ...options,\n queryFn: async () => {\n try {\n return await options.queryFn();\n } catch (err) {\n throw normalizeSymmError(err);\n }\n },\n }) as UseAccountBalanceOfReturnType;\n}\n"],"mappings":";;;;;;AAgCA,SAAgB,EAAoB,IAA4C,CAAC,GAAkC;CAEjH,IAAM,IAAU,EADD,EAAgB,CACiB,GAAQ,CAAU;CAElE,OAAO,EAAS;EACd,GAAG;EACH,SAAS,YAAY;GACnB,IAAI;IACF,OAAO,MAAM,EAAQ,QAAQ;GAC/B,SAAS,GAAK;IACZ,MAAM,EAAmB,CAAG;GAC9B;EACF;CACF,CAAC;AACH"}
1
+ {"version":3,"file":"use-account-balance-of.js","names":[],"sources":["../../src/account-layer/use-account-balance-of.ts"],"sourcesContent":["\"use client\";\n\nimport {\n getAccountBalanceOfQueryOptions,\n type ConfigParameter,\n type GetAccountBalanceOfOptions,\n type GetAccountBalanceOfReturnType,\n type Notification,\n} from \"@symmio/trading-core\";\nimport { useQuery, type UseQueryResult } from \"@tanstack/react-query\";\nimport { useCallback } from \"react\";\nimport { normalizeSymmError } from \"../errors/normalize-symm-error\";\nimport type { SymmioRequestError } from \"../errors/symmio-request-error\";\nimport { useSymmioConfig } from \"../provider/use-symmio-config\";\nimport { isSettleNotification, SETTLE_REFETCH_DELAYS_MS } from \"../websocket/is-settle-notification\";\nimport { useNotifications } from \"../websocket/use-notifications\";\n\n/**\n * Parameters for {@link useAccountBalanceOf}: the core query options\n * (account, chain id, TanStack `query` overrides) plus an optional `config` and\n * a `live` flag.\n */\nexport type UseAccountBalanceOfParameters = GetAccountBalanceOfOptions &\n ConfigParameter & {\n /**\n * Subscribe to the account's on-chain settle notifications and refetch on\n * each open-anchor / close-fill (a shared WebSocket; requires the provider\n * tree). Turn this on wherever the balance must reflect a just-settled trade\n * without a manual refresh.\n * @default false\n */\n live?: boolean;\n };\n\n/** Return type of {@link useAccountBalanceOf}. */\nexport type UseAccountBalanceOfReturnType = UseQueryResult<GetAccountBalanceOfReturnType, SymmioRequestError>;\n\n/**\n * Read raw `balanceOf` for a SYMMIO account. The query is disabled until\n * `account` is set. Omitted `chainId` resolves through the SDK config. Errors are\n * normalized to {@link SymmioRequestError}. Pass `live: true` to auto-refetch\n * when an open/close settles on-chain.\n *\n * @example\n * ```tsx\n * const { data } = useAccountBalanceOf({ account, live: true });\n * ```\n */\nexport function useAccountBalanceOf(parameters: UseAccountBalanceOfParameters = {}): UseAccountBalanceOfReturnType {\n const { live, ...queryParameters } = parameters;\n const config = useSymmioConfig(queryParameters);\n const options = getAccountBalanceOfQueryOptions(config, queryParameters);\n\n const query = useQuery({\n ...options,\n queryFn: async () => {\n try {\n return await options.queryFn();\n } catch (err) {\n throw normalizeSymmError(err);\n }\n },\n }) as UseAccountBalanceOfReturnType;\n\n const { refetch } = query;\n useNotifications({\n account: queryParameters.account,\n // Watch the same chain the balance is read from (the query falls back to the\n // config default when chainId is omitted).\n chainId: queryParameters.chainId ?? config.defaultChainId,\n config: queryParameters.config,\n enabled: Boolean(live && queryParameters.account) && queryParameters.query?.enabled !== false,\n onNotification: useCallback(\n (notification: Notification) => {\n if (!isSettleNotification(notification)) return;\n // The on-chain read lags the anchor block, so refetch in a short burst\n // until the post-settle balance lands.\n for (const ms of SETTLE_REFETCH_DELAYS_MS) setTimeout(() => void refetch(), ms);\n },\n [refetch],\n ),\n });\n\n return query;\n}\n"],"mappings":";;;;;;;;;AAgDA,SAAgB,EAAoB,IAA4C,CAAC,GAAkC;CACjH,IAAM,EAAE,SAAM,GAAG,MAAoB,GAC/B,IAAS,EAAgB,CAAe,GACxC,IAAU,EAAgC,GAAQ,CAAe,GAEjE,IAAQ,EAAS;EACrB,GAAG;EACH,SAAS,YAAY;GACnB,IAAI;IACF,OAAO,MAAM,EAAQ,QAAQ;GAC/B,SAAS,GAAK;IACZ,MAAM,EAAmB,CAAG;GAC9B;EACF;CACF,CAAC,GAEK,EAAE,eAAY;CAmBpB,OAlBA,EAAiB;EACf,SAAS,EAAgB;EAGzB,SAAS,EAAgB,WAAW,EAAO;EAC3C,QAAQ,EAAgB;EACxB,SAAS,GAAQ,KAAQ,EAAgB,YAAY,EAAgB,OAAO,YAAY;EACxF,gBAAgB,GACb,MAA+B;GACzB,MAAqB,CAAY,GAGtC,KAAK,IAAM,KAAM,GAA0B,iBAAiB,KAAK,EAAQ,GAAG,CAAE;EAChF,GACA,CAAC,CAAO,CACV;CACF,CAAC,GAEM;AACT"}
@@ -15,7 +15,9 @@ export type UseDepositReturnType = UseMutationResult<DepositResult, SymmioReques
15
15
  * subaccount's available balance. The connected wallet must own the subaccount,
16
16
  * and must have approved the collateral to the SYMMIO core first (see
17
17
  * `useApproveCollateral`). On success, the connected wallet's collateral
18
- * allowance and balance queries are invalidated so mounted reads refetch.
18
+ * allowance and balance queries **and the credited subaccount's available
19
+ * balance** are invalidated, so mounted reads — including the trade form's
20
+ * available instant-open margin (`Max`) — refetch immediately.
19
21
  *
20
22
  * @example
21
23
  * ```tsx
@@ -1 +1 @@
1
- {"version":3,"file":"use-deposit.d.ts","sourceRoot":"","sources":["../../src/account-layer/use-deposit.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,2BAA2B,EACjC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAA+B,KAAK,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAG5F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAGzE,OAAO,EAAsB,KAAK,eAAe,EAAE,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG7F;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,eAAe,CAAC;AAEnD,0DAA0D;AAC1D,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC;AAExC,yCAAyC;AACzC,MAAM,MAAM,oBAAoB,GAAG,iBAAiB,CAAC,aAAa,EAAE,kBAAkB,EAAE,2BAA2B,CAAC,CAAC;AAErH;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CAAC,UAAU,GAAE,oBAAyB,GAAG,oBAAoB,CAkCtF"}
1
+ {"version":3,"file":"use-deposit.d.ts","sourceRoot":"","sources":["../../src/account-layer/use-deposit.ts"],"names":[],"mappings":"AAEA,OAAO,EAML,KAAK,2BAA2B,EACjC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAA+B,KAAK,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAG5F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAGzE,OAAO,EAAsB,KAAK,eAAe,EAAE,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG7F;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,eAAe,CAAC;AAEnD,0DAA0D;AAC1D,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC;AAExC,yCAAyC;AACzC,MAAM,MAAM,oBAAoB,GAAG,iBAAiB,CAAC,aAAa,EAAE,kBAAkB,EAAE,2BAA2B,CAAC,CAAC;AAErH;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,UAAU,CAAC,UAAU,GAAE,oBAAyB,GAAG,oBAAoB,CAyCtF"}
@@ -4,38 +4,40 @@ import { useSymmioConfig as t } from "../provider/use-symmio-config.js";
4
4
  import { normalizeSymmError as n } from "../errors/normalize-symm-error.js";
5
5
  import { resolveWriteResult as r } from "../transactions/resolve-write-result.js";
6
6
  import { predicateMatch as i } from "../utils/predicate-match.js";
7
- import { depositForAccountMutationOptions as a, getCollateralAllowanceQueryKey as o, getCollateralBalanceQueryKey as s } from "@symmio/trading-core";
8
- import { useConnection as c } from "wagmi";
9
- import { useMutation as l, useQueryClient as u } from "@tanstack/react-query";
7
+ import { depositForAccountMutationOptions as a, getAccountBalanceInfoQueryKey as o, getAccountBalanceOfQueryKey as s, getCollateralAllowanceQueryKey as c, getCollateralBalanceQueryKey as l } from "@symmio/trading-core";
8
+ import { useConnection as u } from "wagmi";
9
+ import { useMutation as d, useQueryClient as f } from "@tanstack/react-query";
10
10
  //#region src/account-layer/use-deposit.ts
11
- function d(d = {}) {
12
- let f = t(d), p = e(), { address: m } = c(), h = u(), g = a(f);
13
- return l({
14
- mutationKey: g.mutationKey,
11
+ function p(p = {}) {
12
+ let m = t(p), h = e(), { address: g } = u(), _ = f(), v = a(m);
13
+ return d({
14
+ mutationKey: v.mutationKey,
15
15
  mutationFn: async (e) => {
16
16
  try {
17
- let t = e.chainId ?? p;
18
- return r(f, await g.mutationFn({
17
+ let t = e.chainId ?? h;
18
+ return r(m, await v.mutationFn({
19
19
  account: e.account,
20
20
  amount: e.amount,
21
21
  simulateBeforeWrite: e.simulateBeforeWrite,
22
22
  chainId: t
23
23
  }), {
24
24
  chainId: t,
25
- waitForReceipt: d.waitForReceipt,
26
- confirmations: d.confirmations
25
+ waitForReceipt: p.waitForReceipt,
26
+ confirmations: p.confirmations
27
27
  });
28
28
  } catch (e) {
29
29
  throw n(e);
30
30
  }
31
31
  },
32
- onSuccess: () => {
33
- let e = m ? { owner: m } : void 0;
34
- h.invalidateQueries({ predicate: i(o, e) }), h.invalidateQueries({ predicate: i(s, e) });
32
+ onSuccess: (e, t) => {
33
+ let n = g ? { owner: g } : void 0;
34
+ _.invalidateQueries({ predicate: i(c, n) }), _.invalidateQueries({ predicate: i(l, n) });
35
+ let r = { account: t.account };
36
+ _.invalidateQueries({ predicate: i(o, r) }), _.invalidateQueries({ predicate: i(s, r) });
35
37
  }
36
38
  });
37
39
  }
38
40
  //#endregion
39
- export { d as useDeposit };
41
+ export { p as useDeposit };
40
42
 
41
43
  //# sourceMappingURL=use-deposit.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-deposit.js","names":[],"sources":["../../src/account-layer/use-deposit.ts"],"sourcesContent":["\"use client\";\n\nimport {\n depositForAccountMutationOptions,\n getCollateralAllowanceQueryKey,\n getCollateralBalanceQueryKey,\n type DepositForAccountParameters,\n} from \"@symmio/trading-core\";\nimport { useMutation, useQueryClient, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useConnection } from \"wagmi\";\nimport { normalizeSymmError } from \"../errors/normalize-symm-error\";\nimport type { SymmioRequestError } from \"../errors/symmio-request-error\";\nimport { useSymmioChainId } from \"../provider/use-symmio-chain-id\";\nimport { useSymmioConfig } from \"../provider/use-symmio-config\";\nimport { resolveWriteResult, type WriteParameters, type WriteResult } from \"../transactions\";\nimport { predicateMatch } from \"../utils\";\n\n/**\n * Parameters for {@link useDeposit}.\n */\nexport type UseDepositParameters = WriteParameters;\n\n/** Result returned by the {@link useDeposit} mutation. */\nexport type DepositResult = WriteResult;\n\n/** Return type of {@link useDeposit}. */\nexport type UseDepositReturnType = UseMutationResult<DepositResult, SymmioRequestError, DepositForAccountParameters>;\n\n/**\n * Submit a `depositForAccount` transaction, crediting collateral to a\n * subaccount's available balance. The connected wallet must own the subaccount,\n * and must have approved the collateral to the SYMMIO core first (see\n * `useApproveCollateral`). On success, the connected wallet's collateral\n * allowance and balance queries are invalidated so mounted reads refetch.\n *\n * @example\n * ```tsx\n * const { mutate, status, error } = useDeposit();\n * mutate({ account: \"0xsub…\", amount: 1_000000n });\n * ```\n */\nexport function useDeposit(parameters: UseDepositParameters = {}): UseDepositReturnType {\n const config = useSymmioConfig(parameters);\n const chainId = useSymmioChainId();\n const { address } = useConnection();\n const queryClient = useQueryClient();\n\n const base = depositForAccountMutationOptions(config);\n\n return useMutation<DepositResult, SymmioRequestError, DepositForAccountParameters>({\n mutationKey: base.mutationKey,\n mutationFn: async (variables) => {\n try {\n const resolvedChainId = variables.chainId ?? chainId;\n const hash = await base.mutationFn({\n account: variables.account,\n amount: variables.amount,\n simulateBeforeWrite: variables.simulateBeforeWrite,\n chainId: resolvedChainId,\n });\n return resolveWriteResult(config, hash, {\n chainId: resolvedChainId,\n waitForReceipt: parameters.waitForReceipt,\n confirmations: parameters.confirmations,\n });\n } catch (err) {\n throw normalizeSymmError(err);\n }\n },\n onSuccess: () => {\n const partial = address ? { owner: address } : undefined;\n void queryClient.invalidateQueries({ predicate: predicateMatch(getCollateralAllowanceQueryKey, partial) });\n void queryClient.invalidateQueries({ predicate: predicateMatch(getCollateralBalanceQueryKey, partial) });\n },\n });\n}\n"],"mappings":";;;;;;;;;;AAyCA,SAAgB,EAAW,IAAmC,CAAC,GAAyB;CACtF,IAAM,IAAS,EAAgB,CAAU,GACnC,IAAU,EAAiB,GAC3B,EAAE,eAAY,EAAc,GAC5B,IAAc,EAAe,GAE7B,IAAO,EAAiC,CAAM;CAEpD,OAAO,EAA4E;EACjF,aAAa,EAAK;EAClB,YAAY,OAAO,MAAc;GAC/B,IAAI;IACF,IAAM,IAAkB,EAAU,WAAW;IAO7C,OAAO,EAAmB,GAAQ,MANf,EAAK,WAAW;KACjC,SAAS,EAAU;KACnB,QAAQ,EAAU;KAClB,qBAAqB,EAAU;KAC/B,SAAS;IACX,CAAC,GACuC;KACtC,SAAS;KACT,gBAAgB,EAAW;KAC3B,eAAe,EAAW;IAC5B,CAAC;GACH,SAAS,GAAK;IACZ,MAAM,EAAmB,CAAG;GAC9B;EACF;EACA,iBAAiB;GACf,IAAM,IAAU,IAAU,EAAE,OAAO,EAAQ,IAAI,KAAA;GAE/C,AADA,EAAiB,kBAAkB,EAAE,WAAW,EAAe,GAAgC,CAAO,EAAE,CAAC,GACzG,EAAiB,kBAAkB,EAAE,WAAW,EAAe,GAA8B,CAAO,EAAE,CAAC;EACzG;CACF,CAAC;AACH"}
1
+ {"version":3,"file":"use-deposit.js","names":[],"sources":["../../src/account-layer/use-deposit.ts"],"sourcesContent":["\"use client\";\n\nimport {\n depositForAccountMutationOptions,\n getAccountBalanceInfoQueryKey,\n getAccountBalanceOfQueryKey,\n getCollateralAllowanceQueryKey,\n getCollateralBalanceQueryKey,\n type DepositForAccountParameters,\n} from \"@symmio/trading-core\";\nimport { useMutation, useQueryClient, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useConnection } from \"wagmi\";\nimport { normalizeSymmError } from \"../errors/normalize-symm-error\";\nimport type { SymmioRequestError } from \"../errors/symmio-request-error\";\nimport { useSymmioChainId } from \"../provider/use-symmio-chain-id\";\nimport { useSymmioConfig } from \"../provider/use-symmio-config\";\nimport { resolveWriteResult, type WriteParameters, type WriteResult } from \"../transactions\";\nimport { predicateMatch } from \"../utils\";\n\n/**\n * Parameters for {@link useDeposit}.\n */\nexport type UseDepositParameters = WriteParameters;\n\n/** Result returned by the {@link useDeposit} mutation. */\nexport type DepositResult = WriteResult;\n\n/** Return type of {@link useDeposit}. */\nexport type UseDepositReturnType = UseMutationResult<DepositResult, SymmioRequestError, DepositForAccountParameters>;\n\n/**\n * Submit a `depositForAccount` transaction, crediting collateral to a\n * subaccount's available balance. The connected wallet must own the subaccount,\n * and must have approved the collateral to the SYMMIO core first (see\n * `useApproveCollateral`). On success, the connected wallet's collateral\n * allowance and balance queries **and the credited subaccount's available\n * balance** are invalidated, so mounted reads — including the trade form's\n * available instant-open margin (`Max`) — refetch immediately.\n *\n * @example\n * ```tsx\n * const { mutate, status, error } = useDeposit();\n * mutate({ account: \"0xsub…\", amount: 1_000000n });\n * ```\n */\nexport function useDeposit(parameters: UseDepositParameters = {}): UseDepositReturnType {\n const config = useSymmioConfig(parameters);\n const chainId = useSymmioChainId();\n const { address } = useConnection();\n const queryClient = useQueryClient();\n\n const base = depositForAccountMutationOptions(config);\n\n return useMutation<DepositResult, SymmioRequestError, DepositForAccountParameters>({\n mutationKey: base.mutationKey,\n mutationFn: async (variables) => {\n try {\n const resolvedChainId = variables.chainId ?? chainId;\n const hash = await base.mutationFn({\n account: variables.account,\n amount: variables.amount,\n simulateBeforeWrite: variables.simulateBeforeWrite,\n chainId: resolvedChainId,\n });\n return resolveWriteResult(config, hash, {\n chainId: resolvedChainId,\n waitForReceipt: parameters.waitForReceipt,\n confirmations: parameters.confirmations,\n });\n } catch (err) {\n throw normalizeSymmError(err);\n }\n },\n onSuccess: (_result, variables) => {\n const partial = address ? { owner: address } : undefined;\n void queryClient.invalidateQueries({ predicate: predicateMatch(getCollateralAllowanceQueryKey, partial) });\n void queryClient.invalidateQueries({ predicate: predicateMatch(getCollateralBalanceQueryKey, partial) });\n // The deposit credits the subaccount's available balance — refetch it so\n // the trade form's available margin / `Max` reflect the new funds. A\n // deposit is not a trade settle, so `live` balance reads don't otherwise\n // refetch on their own.\n const accountPartial = { account: variables.account };\n void queryClient.invalidateQueries({ predicate: predicateMatch(getAccountBalanceInfoQueryKey, accountPartial) });\n void queryClient.invalidateQueries({ predicate: predicateMatch(getAccountBalanceOfQueryKey, accountPartial) });\n },\n });\n}\n"],"mappings":";;;;;;;;;;AA6CA,SAAgB,EAAW,IAAmC,CAAC,GAAyB;CACtF,IAAM,IAAS,EAAgB,CAAU,GACnC,IAAU,EAAiB,GAC3B,EAAE,eAAY,EAAc,GAC5B,IAAc,EAAe,GAE7B,IAAO,EAAiC,CAAM;CAEpD,OAAO,EAA4E;EACjF,aAAa,EAAK;EAClB,YAAY,OAAO,MAAc;GAC/B,IAAI;IACF,IAAM,IAAkB,EAAU,WAAW;IAO7C,OAAO,EAAmB,GAAQ,MANf,EAAK,WAAW;KACjC,SAAS,EAAU;KACnB,QAAQ,EAAU;KAClB,qBAAqB,EAAU;KAC/B,SAAS;IACX,CAAC,GACuC;KACtC,SAAS;KACT,gBAAgB,EAAW;KAC3B,eAAe,EAAW;IAC5B,CAAC;GACH,SAAS,GAAK;IACZ,MAAM,EAAmB,CAAG;GAC9B;EACF;EACA,YAAY,GAAS,MAAc;GACjC,IAAM,IAAU,IAAU,EAAE,OAAO,EAAQ,IAAI,KAAA;GAE/C,AADA,EAAiB,kBAAkB,EAAE,WAAW,EAAe,GAAgC,CAAO,EAAE,CAAC,GACzG,EAAiB,kBAAkB,EAAE,WAAW,EAAe,GAA8B,CAAO,EAAE,CAAC;GAKvG,IAAM,IAAiB,EAAE,SAAS,EAAU,QAAQ;GAEpD,AADA,EAAiB,kBAAkB,EAAE,WAAW,EAAe,GAA+B,CAAc,EAAE,CAAC,GAC/G,EAAiB,kBAAkB,EAAE,WAAW,EAAe,GAA6B,CAAc,EAAE,CAAC;EAC/G;CACF,CAAC;AACH"}
@@ -0,0 +1,2 @@
1
+ export * from './use-estimated-price.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/estimated-price/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Debounce a fast-changing value: returns `value` only after it has stayed
3
+ * unchanged for `delayMs`. Used to hold back solver requests while the user is
4
+ * still typing an amount. A `delayMs <= 0` passes the value through immediately.
5
+ *
6
+ * @internal
7
+ */
8
+ export declare function useDebouncedValue<T>(value: T, delayMs: number): T;
9
+ //# sourceMappingURL=use-debounced-value.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-debounced-value.d.ts","sourceRoot":"","sources":["../../src/estimated-price/use-debounced-value.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC,CAajE"}
@@ -0,0 +1,18 @@
1
+ "use client";
2
+ import { useEffect as e, useState as t } from "react";
3
+ //#region src/estimated-price/use-debounced-value.ts
4
+ function n(n, r) {
5
+ let [i, a] = t(n);
6
+ return e(() => {
7
+ if (r <= 0) {
8
+ a(n);
9
+ return;
10
+ }
11
+ let e = setTimeout(() => a(n), r);
12
+ return () => clearTimeout(e);
13
+ }, [n, r]), i;
14
+ }
15
+ //#endregion
16
+ export { n as useDebouncedValue };
17
+
18
+ //# sourceMappingURL=use-debounced-value.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-debounced-value.js","names":[],"sources":["../../src/estimated-price/use-debounced-value.ts"],"sourcesContent":["\"use client\";\n\nimport { useEffect, useState } from \"react\";\n\n/**\n * Debounce a fast-changing value: returns `value` only after it has stayed\n * unchanged for `delayMs`. Used to hold back solver requests while the user is\n * still typing an amount. A `delayMs <= 0` passes the value through immediately.\n *\n * @internal\n */\nexport function useDebouncedValue<T>(value: T, delayMs: number): T {\n const [debounced, setDebounced] = useState(value);\n\n useEffect(() => {\n if (delayMs <= 0) {\n setDebounced(value);\n return;\n }\n const timer = setTimeout(() => setDebounced(value), delayMs);\n return () => clearTimeout(timer);\n }, [value, delayMs]);\n\n return debounced;\n}\n"],"mappings":";;;AAWA,SAAgB,EAAqB,GAAU,GAAoB;CACjE,IAAM,CAAC,GAAW,KAAgB,EAAS,CAAK;CAWhD,OATA,QAAgB;EACd,IAAI,KAAW,GAAG;GAChB,EAAa,CAAK;GAClB;EACF;EACA,IAAM,IAAQ,iBAAiB,EAAa,CAAK,GAAG,CAAO;EAC3D,aAAa,aAAa,CAAK;CACjC,GAAG,CAAC,GAAO,CAAO,CAAC,GAEZ;AACT"}
@@ -0,0 +1,46 @@
1
+ import { ConfigParameter, GetEstimatedPriceOptions, GetEstimatedPriceReturnType } from '@symmio/trading-core';
2
+ import { UseQueryResult } from '@tanstack/react-query';
3
+ import { SymmioRequestError } from '../errors/symmio-request-error.js';
4
+ /**
5
+ * Parameters for {@link useEstimatedPrice}: the core query options (`symbolId`,
6
+ * `quantity`, `positionType`, `entry`, `price`, chain id, TanStack `query`
7
+ * overrides), an optional `config`, and an optional `debounceMs`.
8
+ */
9
+ export type UseEstimatedPriceParameters = GetEstimatedPriceOptions & ConfigParameter & {
10
+ /**
11
+ * Debounce (ms) applied to `quantity` and `price` so one request fires once
12
+ * the user stops typing — not one per keystroke. Defaults to
13
+ * {@link DEFAULT_DEBOUNCE_MS} (350); set `0` to disable.
14
+ */
15
+ debounceMs?: number;
16
+ };
17
+ /** Return type of {@link useEstimatedPrice}. */
18
+ export type UseEstimatedPriceReturnType = UseQueryResult<GetEstimatedPriceReturnType, SymmioRequestError>;
19
+ /**
20
+ * Ask the solver what price an open or close would **fill at** — a read-only
21
+ * simulation of the trade (`/estimated-price`; nothing is submitted). Use it to
22
+ * preview the fill price, the price impact
23
+ * ([`calculatePriceImpact`](../../core/solvers/estimated-price)) and — for a
24
+ * close — an estimated PnL, before the user submits.
25
+ *
26
+ * `price` is the **slippage-adjusted request price** the caller computed (not the
27
+ * raw mark). The query is disabled until `quantity` and `price` are non-empty, so
28
+ * it doesn't fire on partial input. `quantity` and `price` are **debounced
29
+ * internally** (`debounceMs`, default 350) so typing an amount fires a single
30
+ * request once the user settles — the caller passes the raw input, no external
31
+ * debounce needed. Errors are normalized to {@link SymmioRequestError}.
32
+ *
33
+ * @example
34
+ * ```tsx
35
+ * const { data } = useEstimatedPrice({
36
+ * symbolId,
37
+ * quantity: tradeParams.quantity,
38
+ * positionType,
39
+ * entry: "open",
40
+ * price: tradeParams.price, // slippage-adjusted
41
+ * });
42
+ * // data?.estimatedPrice
43
+ * ```
44
+ */
45
+ export declare function useEstimatedPrice(parameters: UseEstimatedPriceParameters): UseEstimatedPriceReturnType;
46
+ //# sourceMappingURL=use-estimated-price.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-estimated-price.d.ts","sourceRoot":"","sources":["../../src/estimated-price/use-estimated-price.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,wBAAwB,EAC7B,KAAK,2BAA2B,EACjC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAY,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAQzE;;;;GAIG;AACH,MAAM,MAAM,2BAA2B,GAAG,wBAAwB,GAChE,eAAe,GAAG;IAChB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEJ,gDAAgD;AAChD,MAAM,MAAM,2BAA2B,GAAG,cAAc,CAAC,2BAA2B,EAAE,kBAAkB,CAAC,CAAC;AAE1G;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,2BAA2B,GAAG,2BAA2B,CA6BtG"}
@@ -0,0 +1,31 @@
1
+ "use client";
2
+ import { useSymmioChainId as e } from "../provider/use-symmio-chain-id.js";
3
+ import { useSymmioConfig as t } from "../provider/use-symmio-config.js";
4
+ import { normalizeSymmError as n } from "../errors/normalize-symm-error.js";
5
+ import { useDebouncedValue as r } from "./use-debounced-value.js";
6
+ import { getEstimatedPriceQueryOptions as i } from "@symmio/trading-core";
7
+ import { useQuery as a } from "@tanstack/react-query";
8
+ //#region src/estimated-price/use-estimated-price.ts
9
+ var o = 500;
10
+ function s(s) {
11
+ let c = t(s), l = e(), { debounceMs: u, ...d } = s, f = r(s.quantity, u ?? o), p = r(s.price, u ?? o), m = i(c, {
12
+ ...d,
13
+ quantity: f,
14
+ price: p,
15
+ chainId: s.chainId ?? l
16
+ });
17
+ return a({
18
+ ...m,
19
+ queryFn: async () => {
20
+ try {
21
+ return await m.queryFn();
22
+ } catch (e) {
23
+ throw n(e);
24
+ }
25
+ }
26
+ });
27
+ }
28
+ //#endregion
29
+ export { s as useEstimatedPrice };
30
+
31
+ //# sourceMappingURL=use-estimated-price.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-estimated-price.js","names":[],"sources":["../../src/estimated-price/use-estimated-price.ts"],"sourcesContent":["\"use client\";\n\nimport {\n getEstimatedPriceQueryOptions,\n type ConfigParameter,\n type GetEstimatedPriceOptions,\n type GetEstimatedPriceReturnType,\n} from \"@symmio/trading-core\";\nimport { useQuery, type UseQueryResult } from \"@tanstack/react-query\";\nimport { normalizeSymmError } from \"../errors/normalize-symm-error\";\nimport type { SymmioRequestError } from \"../errors/symmio-request-error\";\nimport { useSymmioChainId } from \"../provider/use-symmio-chain-id\";\nimport { useSymmioConfig } from \"../provider/use-symmio-config\";\nimport { useDebouncedValue } from \"./use-debounced-value\";\n\n/** Default debounce (ms) applied to the typed `quantity` / `price` inputs. */\nconst DEFAULT_DEBOUNCE_MS = 500;\n\n/**\n * Parameters for {@link useEstimatedPrice}: the core query options (`symbolId`,\n * `quantity`, `positionType`, `entry`, `price`, chain id, TanStack `query`\n * overrides), an optional `config`, and an optional `debounceMs`.\n */\nexport type UseEstimatedPriceParameters = GetEstimatedPriceOptions &\n ConfigParameter & {\n /**\n * Debounce (ms) applied to `quantity` and `price` so one request fires once\n * the user stops typing — not one per keystroke. Defaults to\n * {@link DEFAULT_DEBOUNCE_MS} (350); set `0` to disable.\n */\n debounceMs?: number;\n };\n\n/** Return type of {@link useEstimatedPrice}. */\nexport type UseEstimatedPriceReturnType = UseQueryResult<GetEstimatedPriceReturnType, SymmioRequestError>;\n\n/**\n * Ask the solver what price an open or close would **fill at** — a read-only\n * simulation of the trade (`/estimated-price`; nothing is submitted). Use it to\n * preview the fill price, the price impact\n * ([`calculatePriceImpact`](../../core/solvers/estimated-price)) and — for a\n * close — an estimated PnL, before the user submits.\n *\n * `price` is the **slippage-adjusted request price** the caller computed (not the\n * raw mark). The query is disabled until `quantity` and `price` are non-empty, so\n * it doesn't fire on partial input. `quantity` and `price` are **debounced\n * internally** (`debounceMs`, default 350) so typing an amount fires a single\n * request once the user settles — the caller passes the raw input, no external\n * debounce needed. Errors are normalized to {@link SymmioRequestError}.\n *\n * @example\n * ```tsx\n * const { data } = useEstimatedPrice({\n * symbolId,\n * quantity: tradeParams.quantity,\n * positionType,\n * entry: \"open\",\n * price: tradeParams.price, // slippage-adjusted\n * });\n * // data?.estimatedPrice\n * ```\n */\nexport function useEstimatedPrice(parameters: UseEstimatedPriceParameters): UseEstimatedPriceReturnType {\n const config = useSymmioConfig(parameters);\n const chainId = useSymmioChainId();\n\n // The amount and request price change on every keystroke; debounce them so the\n // solver is hit once the user settles, not once per digit. Market, side, and\n // entry change discretely and pass through untouched. `debounceMs` is pulled\n // out so it never leaks into the query options / cache key.\n const { debounceMs, ...queryParams } = parameters;\n const quantity = useDebouncedValue(parameters.quantity, debounceMs ?? DEFAULT_DEBOUNCE_MS);\n const price = useDebouncedValue(parameters.price, debounceMs ?? DEFAULT_DEBOUNCE_MS);\n\n const options = getEstimatedPriceQueryOptions(config, {\n ...queryParams,\n quantity,\n price,\n chainId: parameters.chainId ?? chainId,\n });\n\n return useQuery({\n ...options,\n queryFn: async () => {\n try {\n return await options.queryFn();\n } catch (err) {\n throw normalizeSymmError(err);\n }\n },\n }) as UseEstimatedPriceReturnType;\n}\n"],"mappings":";;;;;;;;AAgBA,IAAM,IAAsB;AA8C5B,SAAgB,EAAkB,GAAsE;CACtG,IAAM,IAAS,EAAgB,CAAU,GACnC,IAAU,EAAiB,GAM3B,EAAE,eAAY,GAAG,MAAgB,GACjC,IAAW,EAAkB,EAAW,UAAU,KAAc,CAAmB,GACnF,IAAQ,EAAkB,EAAW,OAAO,KAAc,CAAmB,GAE7E,IAAU,EAA8B,GAAQ;EACpD,GAAG;EACH;EACA;EACA,SAAS,EAAW,WAAW;CACjC,CAAC;CAED,OAAO,EAAS;EACd,GAAG;EACH,SAAS,YAAY;GACnB,IAAI;IACF,OAAO,MAAM,EAAQ,QAAQ;GAC/B,SAAS,GAAK;IACZ,MAAM,EAAmB,CAAG;GAC9B;EACF;CACF,CAAC;AACH"}
package/dist/index.d.ts CHANGED
@@ -18,7 +18,7 @@
18
18
  * `useSymmioConfig` / `useSymmioChainId` are the wagmi-style primitives every
19
19
  * other hook builds on.
20
20
  */
21
- export { ADD_MARGIN_TO_NEXT_VA_SELECTOR, INSTANT_TRADE_REQUIRED_SELECTORS, NotificationType, OrderType, PositionType, QuoteStatus, REQUEST_TO_CLOSE_POSITION_SELECTOR, SEND_QUOTE_WITH_AFFILIATE_AND_DATA_SELECTOR, SubAccountIsolationType, SymmApiError, SymmError, VIRTUAL_ACCOUNT_ISOLATION_TYPE, calculateClosePrice, calculateTradeParams, clampClosePrecision, getPartyAOpenPositionsQueryKey, getPartyAOpenPositionsQueryOptions, isolationTypeForSide, validateInstantCloseAgainstMarket, validateInstantOpenAgainstMarket, type CalculateClosePriceParameters, type CalculateTradeParamsParameters, type CalculateTradeParamsReturnType, type ClampClosePrecisionParameters, type CloseQuoteConstraintViolation, type GetPartyAOpenPositionsData, type GetPartyAOpenPositionsOptions, type GetPartyAOpenPositionsParameters, type GetPartyAOpenPositionsQueryKey, type GetPartyAOpenPositionsQueryOptions, type GetPartyAOpenPositionsReturnType, type InstantCloseBulkAutoOrder, type InstantCloseBulkAutoParameters, type InstantCloseBulkOrder, type InstantCloseBulkParameters, type InstantCloseBulkReturnType, type InstantCloseMarketData, type InstantCloseOrder, type InstantCloseParameters, type InstantCloseReturnType, type Notification, type PrepareInstantCloseParameters, type QuoteConstraintViolation, type SubAccountCreationData, type SymmErrorKind, type ValidateInstantCloseAgainstMarketParameters, type ValidateInstantCloseAgainstMarketReturnType, type ValidateInstantOpenAgainstMarketParameters, type ValidateInstantOpenAgainstMarketReturnType, type VirtualAccountDetail, type VirtualAccountIsolationType, } from '@symmio/trading-core';
21
+ export { ADD_MARGIN_TO_NEXT_VA_SELECTOR, INSTANT_TRADE_REQUIRED_SELECTORS, NotificationType, OrderType, PositionType, QuoteStatus, REQUEST_TO_CLOSE_POSITION_SELECTOR, SEND_QUOTE_WITH_AFFILIATE_AND_DATA_SELECTOR, SubAccountIsolationType, SymmApiError, SymmError, VIRTUAL_ACCOUNT_ISOLATION_TYPE, calculateAvailableInstantOpenMargin, calculateClosePrice, calculatePriceImpact, calculateQuotePnl, calculateTradeParams, clampClosePrecision, getPartyAOpenPositionsQueryKey, getPartyAOpenPositionsQueryOptions, isolationTypeForSide, validateInstantCloseAgainstMarket, validateInstantOpenAgainstMarket, type CalculateAvailableInstantOpenMarginParameters, type CalculateClosePriceParameters, type CalculateTradeParamsParameters, type CalculateTradeParamsReturnType, type ClampClosePrecisionParameters, type CloseQuoteConstraintViolation, type GetPartyAOpenPositionsData, type GetPartyAOpenPositionsOptions, type GetPartyAOpenPositionsParameters, type GetPartyAOpenPositionsQueryKey, type GetPartyAOpenPositionsQueryOptions, type GetPartyAOpenPositionsReturnType, type InstantCloseBulkAutoOrder, type InstantCloseBulkAutoParameters, type InstantCloseBulkOrder, type InstantCloseBulkParameters, type InstantCloseBulkReturnType, type InstantCloseMarketData, type InstantCloseOrder, type InstantCloseParameters, type InstantCloseReturnType, type Notification, type PrepareInstantCloseParameters, type QuoteConstraintViolation, type SubAccountCreationData, type SymmErrorKind, type ValidateInstantCloseAgainstMarketParameters, type ValidateInstantCloseAgainstMarketReturnType, type ValidateInstantOpenAgainstMarketParameters, type ValidateInstantOpenAgainstMarketReturnType, type VirtualAccountDetail, type VirtualAccountIsolationType, } from '@symmio/trading-core';
22
22
  export type { GetWalletClientFn, SymmioWalletClient } from '@symmio/trading-core';
23
23
  export { SymmioProvider, useSymmioChainId, useSymmioConfig, type SymmioProviderProps, type UseSymmioConfigParameters, } from './provider/index.js';
24
24
  /**
@@ -82,6 +82,10 @@ export { useSolverErrorCodes, useSolverErrorMessage, type UseSolverErrorCodesPar
82
82
  * / `QuoteLifecycle` value types from `@symmio/trading-core`.
83
83
  */
84
84
  export { useAccountLiquidationPrice, useGroupedQuotes, useManagedQuotes, useOptimisticQuotesStore, usePartyAOpenPositions, usePartyAPendingQuotes, useQuote, useQuoteEventsByType, useQuoteFunding, useQuoteHistory, useQuotePlatformFee, useQuotePriceHistory, useQuoteUpnlAndPnl, useQuotesFunding, useSubgraphQuery, type ManagedQuotesSources, type OptimisticQuotesStoreState, type QuotesFundingInputQuote, type UseAccountLiquidationPriceParameters, type UseAccountLiquidationPriceReturnType, type UseGroupedQuotesParameters, type UseGroupedQuotesResult, type UseManagedQuotesParameters, type UseManagedQuotesResult, type UsePartyAOpenPositionsParameters, type UsePartyAOpenPositionsReturnType, type UsePartyAPendingQuotesParameters, type UsePartyAPendingQuotesReturnType, type UseQuoteEventsByTypeParameters, type UseQuoteEventsByTypeReturnType, type UseQuoteFundingParameters, type UseQuoteFundingReturnType, type UseQuoteHistoryParameters, type UseQuoteHistoryReturnType, type UseQuoteParameters, type UseQuotePlatformFeeParameters, type UseQuotePlatformFeeReturnType, type UseQuotePriceHistoryParameters, type UseQuoteReturnType, type UseQuoteUpnlAndPnlParameters, type UseQuoteUpnlAndPnlReturnType, type UseQuotesFundingParameters, type UseQuotesFundingReturnType, type UseSubgraphQueryParameters, type UseSubgraphQueryReturnType, } from './quotes/index.js';
85
+ /**
86
+ * Margin — derived spendable-margin helpers for the trade form.
87
+ */
88
+ export { useAvailableInstantOpenMargin, type UseAvailableInstantOpenMarginParameters, type UseAvailableInstantOpenMarginReturnType, } from './margin/index.js';
85
89
  /**
86
90
  * Balance history hooks
87
91
  * ---------------------
@@ -121,6 +125,7 @@ export { DEFAULT_NOTIONAL_CAP_POLLING_MS, useNotionalCapAll, useNotionalCapBySym
121
125
  * epoch length from the solver. Does not poll by default; the caller opts into
122
126
  * polling via `query.refetchInterval`.
123
127
  */
128
+ export { useEstimatedPrice, type UseEstimatedPriceParameters, type UseEstimatedPriceReturnType, } from './estimated-price/index.js';
124
129
  export { useFundingInfo, type UseFundingInfoParameters, type UseFundingInfoReturnType } from './funding-info/index.js';
125
130
  /**
126
131
  * Market-info hooks
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}