@0xmonaco/react 0.0.0-develop-20260120180031

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 (166) hide show
  1. package/README.md +381 -0
  2. package/dist/hooks/index.d.ts +12 -0
  3. package/dist/hooks/index.d.ts.map +1 -0
  4. package/dist/hooks/index.js +12 -0
  5. package/dist/hooks/index.js.map +1 -0
  6. package/dist/hooks/useAuth/index.d.ts +3 -0
  7. package/dist/hooks/useAuth/index.d.ts.map +1 -0
  8. package/dist/hooks/useAuth/index.js +2 -0
  9. package/dist/hooks/useAuth/index.js.map +1 -0
  10. package/dist/hooks/useAuth/types.d.ts +31 -0
  11. package/dist/hooks/useAuth/types.d.ts.map +1 -0
  12. package/dist/hooks/useAuth/types.js +2 -0
  13. package/dist/hooks/useAuth/types.js.map +1 -0
  14. package/dist/hooks/useAuth/useAuth.d.ts +3 -0
  15. package/dist/hooks/useAuth/useAuth.d.ts.map +1 -0
  16. package/dist/hooks/useAuth/useAuth.js +150 -0
  17. package/dist/hooks/useAuth/useAuth.js.map +1 -0
  18. package/dist/hooks/useFees/index.d.ts +3 -0
  19. package/dist/hooks/useFees/index.d.ts.map +1 -0
  20. package/dist/hooks/useFees/index.js +2 -0
  21. package/dist/hooks/useFees/index.js.map +1 -0
  22. package/dist/hooks/useFees/types.d.ts +6 -0
  23. package/dist/hooks/useFees/types.d.ts.map +1 -0
  24. package/dist/hooks/useFees/types.js +2 -0
  25. package/dist/hooks/useFees/types.js.map +1 -0
  26. package/dist/hooks/useFees/useFees.d.ts +3 -0
  27. package/dist/hooks/useFees/useFees.d.ts.map +1 -0
  28. package/dist/hooks/useFees/useFees.js +15 -0
  29. package/dist/hooks/useFees/useFees.js.map +1 -0
  30. package/dist/hooks/useMarket/index.d.ts +3 -0
  31. package/dist/hooks/useMarket/index.d.ts.map +1 -0
  32. package/dist/hooks/useMarket/index.js +2 -0
  33. package/dist/hooks/useMarket/index.js.map +1 -0
  34. package/dist/hooks/useMarket/types.d.ts +24 -0
  35. package/dist/hooks/useMarket/types.d.ts.map +1 -0
  36. package/dist/hooks/useMarket/types.js +2 -0
  37. package/dist/hooks/useMarket/types.js.map +1 -0
  38. package/dist/hooks/useMarket/useMarket.d.ts +3 -0
  39. package/dist/hooks/useMarket/useMarket.d.ts.map +1 -0
  40. package/dist/hooks/useMarket/useMarket.js +44 -0
  41. package/dist/hooks/useMarket/useMarket.js.map +1 -0
  42. package/dist/hooks/useMonaco/index.d.ts +3 -0
  43. package/dist/hooks/useMonaco/index.d.ts.map +1 -0
  44. package/dist/hooks/useMonaco/index.js +2 -0
  45. package/dist/hooks/useMonaco/index.js.map +1 -0
  46. package/dist/hooks/useMonaco/types.d.ts +14 -0
  47. package/dist/hooks/useMonaco/types.d.ts.map +1 -0
  48. package/dist/hooks/useMonaco/types.js +2 -0
  49. package/dist/hooks/useMonaco/types.js.map +1 -0
  50. package/dist/hooks/useMonaco/useMonaco.d.ts +3 -0
  51. package/dist/hooks/useMonaco/useMonaco.d.ts.map +1 -0
  52. package/dist/hooks/useMonaco/useMonaco.js +14 -0
  53. package/dist/hooks/useMonaco/useMonaco.js.map +1 -0
  54. package/dist/hooks/useOrderbook/index.d.ts +3 -0
  55. package/dist/hooks/useOrderbook/index.d.ts.map +1 -0
  56. package/dist/hooks/useOrderbook/index.js +2 -0
  57. package/dist/hooks/useOrderbook/index.js.map +1 -0
  58. package/dist/hooks/useOrderbook/types.d.ts +28 -0
  59. package/dist/hooks/useOrderbook/types.d.ts.map +1 -0
  60. package/dist/hooks/useOrderbook/types.js +2 -0
  61. package/dist/hooks/useOrderbook/types.js.map +1 -0
  62. package/dist/hooks/useOrderbook/useOrderbook.d.ts +4 -0
  63. package/dist/hooks/useOrderbook/useOrderbook.d.ts.map +1 -0
  64. package/dist/hooks/useOrderbook/useOrderbook.js +32 -0
  65. package/dist/hooks/useOrderbook/useOrderbook.js.map +1 -0
  66. package/dist/hooks/useProfile/index.d.ts +3 -0
  67. package/dist/hooks/useProfile/index.d.ts.map +1 -0
  68. package/dist/hooks/useProfile/index.js +2 -0
  69. package/dist/hooks/useProfile/index.js.map +1 -0
  70. package/dist/hooks/useProfile/types.d.ts +14 -0
  71. package/dist/hooks/useProfile/types.d.ts.map +1 -0
  72. package/dist/hooks/useProfile/types.js +2 -0
  73. package/dist/hooks/useProfile/types.js.map +1 -0
  74. package/dist/hooks/useProfile/useProfile.d.ts +3 -0
  75. package/dist/hooks/useProfile/useProfile.d.ts.map +1 -0
  76. package/dist/hooks/useProfile/useProfile.js +46 -0
  77. package/dist/hooks/useProfile/useProfile.js.map +1 -0
  78. package/dist/hooks/useTokenLifecycle/index.d.ts +3 -0
  79. package/dist/hooks/useTokenLifecycle/index.d.ts.map +1 -0
  80. package/dist/hooks/useTokenLifecycle/index.js +2 -0
  81. package/dist/hooks/useTokenLifecycle/index.js.map +1 -0
  82. package/dist/hooks/useTokenLifecycle/types.d.ts +24 -0
  83. package/dist/hooks/useTokenLifecycle/types.d.ts.map +1 -0
  84. package/dist/hooks/useTokenLifecycle/types.js +2 -0
  85. package/dist/hooks/useTokenLifecycle/types.js.map +1 -0
  86. package/dist/hooks/useTokenLifecycle/useTokenLifecycle.d.ts +21 -0
  87. package/dist/hooks/useTokenLifecycle/useTokenLifecycle.d.ts.map +1 -0
  88. package/dist/hooks/useTokenLifecycle/useTokenLifecycle.js +126 -0
  89. package/dist/hooks/useTokenLifecycle/useTokenLifecycle.js.map +1 -0
  90. package/dist/hooks/useTokenLifecycle/utils.d.ts +8 -0
  91. package/dist/hooks/useTokenLifecycle/utils.d.ts.map +1 -0
  92. package/dist/hooks/useTokenLifecycle/utils.js +16 -0
  93. package/dist/hooks/useTokenLifecycle/utils.js.map +1 -0
  94. package/dist/hooks/useTrade/index.d.ts +3 -0
  95. package/dist/hooks/useTrade/index.d.ts.map +1 -0
  96. package/dist/hooks/useTrade/index.js +2 -0
  97. package/dist/hooks/useTrade/index.js.map +1 -0
  98. package/dist/hooks/useTrade/types.d.ts +29 -0
  99. package/dist/hooks/useTrade/types.d.ts.map +1 -0
  100. package/dist/hooks/useTrade/types.js +2 -0
  101. package/dist/hooks/useTrade/types.js.map +1 -0
  102. package/dist/hooks/useTrade/useTrade.d.ts +3 -0
  103. package/dist/hooks/useTrade/useTrade.d.ts.map +1 -0
  104. package/dist/hooks/useTrade/useTrade.js +89 -0
  105. package/dist/hooks/useTrade/useTrade.js.map +1 -0
  106. package/dist/hooks/useTradeFeed/index.d.ts +3 -0
  107. package/dist/hooks/useTradeFeed/index.d.ts.map +1 -0
  108. package/dist/hooks/useTradeFeed/index.js +3 -0
  109. package/dist/hooks/useTradeFeed/index.js.map +1 -0
  110. package/dist/hooks/useTradeFeed/types.d.ts +15 -0
  111. package/dist/hooks/useTradeFeed/types.d.ts.map +1 -0
  112. package/dist/hooks/useTradeFeed/types.js +2 -0
  113. package/dist/hooks/useTradeFeed/types.js.map +1 -0
  114. package/dist/hooks/useTradeFeed/useTradeFeed.d.ts +9 -0
  115. package/dist/hooks/useTradeFeed/useTradeFeed.d.ts.map +1 -0
  116. package/dist/hooks/useTradeFeed/useTradeFeed.js +47 -0
  117. package/dist/hooks/useTradeFeed/useTradeFeed.js.map +1 -0
  118. package/dist/hooks/useUserMovements/index.d.ts +3 -0
  119. package/dist/hooks/useUserMovements/index.d.ts.map +1 -0
  120. package/dist/hooks/useUserMovements/index.js +3 -0
  121. package/dist/hooks/useUserMovements/index.js.map +1 -0
  122. package/dist/hooks/useUserMovements/types.d.ts +17 -0
  123. package/dist/hooks/useUserMovements/types.d.ts.map +1 -0
  124. package/dist/hooks/useUserMovements/types.js +2 -0
  125. package/dist/hooks/useUserMovements/types.js.map +1 -0
  126. package/dist/hooks/useUserMovements/useUserMovements.d.ts +12 -0
  127. package/dist/hooks/useUserMovements/useUserMovements.d.ts.map +1 -0
  128. package/dist/hooks/useUserMovements/useUserMovements.js +92 -0
  129. package/dist/hooks/useUserMovements/useUserMovements.js.map +1 -0
  130. package/dist/hooks/useVault/index.d.ts +3 -0
  131. package/dist/hooks/useVault/index.d.ts.map +1 -0
  132. package/dist/hooks/useVault/index.js +2 -0
  133. package/dist/hooks/useVault/index.js.map +1 -0
  134. package/dist/hooks/useVault/types.d.ts +16 -0
  135. package/dist/hooks/useVault/types.d.ts.map +1 -0
  136. package/dist/hooks/useVault/types.js +2 -0
  137. package/dist/hooks/useVault/types.js.map +1 -0
  138. package/dist/hooks/useVault/useVault.d.ts +3 -0
  139. package/dist/hooks/useVault/useVault.d.ts.map +1 -0
  140. package/dist/hooks/useVault/useVault.js +66 -0
  141. package/dist/hooks/useVault/useVault.js.map +1 -0
  142. package/dist/index.d.ts +4 -0
  143. package/dist/index.d.ts.map +1 -0
  144. package/dist/index.js +4 -0
  145. package/dist/index.js.map +1 -0
  146. package/dist/provider/MonacoProvider.d.ts +4 -0
  147. package/dist/provider/MonacoProvider.d.ts.map +1 -0
  148. package/dist/provider/MonacoProvider.js +103 -0
  149. package/dist/provider/MonacoProvider.js.map +1 -0
  150. package/dist/provider/index.d.ts +3 -0
  151. package/dist/provider/index.d.ts.map +1 -0
  152. package/dist/provider/index.js +3 -0
  153. package/dist/provider/index.js.map +1 -0
  154. package/dist/provider/types.d.ts +46 -0
  155. package/dist/provider/types.d.ts.map +1 -0
  156. package/dist/provider/types.js +10 -0
  157. package/dist/provider/types.js.map +1 -0
  158. package/dist/utils/index.d.ts +2 -0
  159. package/dist/utils/index.d.ts.map +1 -0
  160. package/dist/utils/index.js +2 -0
  161. package/dist/utils/index.js.map +1 -0
  162. package/dist/utils/tokenStorage.d.ts +39 -0
  163. package/dist/utils/tokenStorage.d.ts.map +1 -0
  164. package/dist/utils/tokenStorage.js +103 -0
  165. package/dist/utils/tokenStorage.js.map +1 -0
  166. package/package.json +39 -0
@@ -0,0 +1,3 @@
1
+ import type { UseFeesReturn } from "./types";
2
+ export declare const useFees: () => UseFeesReturn;
3
+ //# sourceMappingURL=useFees.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFees.d.ts","sourceRoot":"","sources":["../../../src/hooks/useFees/useFees.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,eAAO,MAAM,OAAO,QAAO,aAgB1B,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { useCallback } from "react";
2
+ import { useMonacoSDK } from "../useMonaco";
3
+ export const useFees = () => {
4
+ const { sdk } = useMonacoSDK();
5
+ const simulateFees = useCallback(async (params) => {
6
+ if (!sdk)
7
+ throw new Error("SDK not available");
8
+ // Parameter validation is handled by the SDK core using Zod
9
+ return await sdk.fees.simulateFees(params);
10
+ }, [sdk]);
11
+ return {
12
+ simulateFees,
13
+ };
14
+ };
15
+ //# sourceMappingURL=useFees.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFees.js","sourceRoot":"","sources":["../../../src/hooks/useFees/useFees.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAG5C,MAAM,CAAC,MAAM,OAAO,GAAG,GAAkB,EAAE;IACzC,MAAM,EAAE,GAAG,EAAE,GAAG,YAAY,EAAE,CAAC;IAE/B,MAAM,YAAY,GAAG,WAAW,CAC9B,KAAK,EAAE,MAAyB,EAAgC,EAAE;QAChE,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAE/C,4DAA4D;QAC5D,OAAO,MAAM,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC,EACD,CAAC,GAAG,CAAC,CACN,CAAC;IAEF,OAAO;QACL,YAAY;KACb,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export type { UseMarketReturn } from "./types";
2
+ export { useMarket } from "./useMarket";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/useMarket/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { useMarket } from "./useMarket";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/useMarket/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,24 @@
1
+ import type { Candlestick, GetCandlesticksParams, GetTradingPairsParams, Interval, MarketMetadata, PaginatedTradingPairs, TradingPair } from "@0xmonaco/types";
2
+ export interface UseMarketReturn {
3
+ /** Get all available trading pairs with optional filtering and pagination */
4
+ getPaginatedTradingPairs: (params?: GetTradingPairsParams) => Promise<PaginatedTradingPairs>;
5
+ /** Get a specific trading pair by symbol */
6
+ getTradingPairBySymbol: (symbol: string) => Promise<TradingPair | undefined>;
7
+ /**
8
+ * Get candlestick data for a trading pair.
9
+ *
10
+ * Supports TradingView-compliant query patterns:
11
+ * - `endTime` + `limit`: Backward pagination (bars ending at timestamp)
12
+ * - `startTime` + `limit`: Forward pagination (bars starting from timestamp)
13
+ * - `limit` only: Most recent bars
14
+ * - `startTime` + `endTime` + `limit`: Specific range (capped at limit)
15
+ *
16
+ * @param tradingPairId - Trading pair UUID
17
+ * @param interval - Candlestick interval (1m, 5m, 15m, 1h, 4h, 1d)
18
+ * @param params - Optional query parameters (startTime, endTime, limit)
19
+ */
20
+ getCandlesticks: (tradingPairId: string, interval: Interval, params?: GetCandlesticksParams) => Promise<Candlestick[]>;
21
+ /** Get comprehensive market metadata including 24h statistics */
22
+ getMarketMetadata: (pairId: string) => Promise<MarketMetadata>;
23
+ }
24
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/hooks/useMarket/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,QAAQ,EAAE,cAAc,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE/J,MAAM,WAAW,eAAe;IAC9B,6EAA6E;IAC7E,wBAAwB,EAAE,CAAC,MAAM,CAAC,EAAE,qBAAqB,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAE7F,4CAA4C;IAC5C,sBAAsB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;IAE7E;;;;;;;;;;;;OAYG;IACH,eAAe,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,qBAAqB,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAEvH,iEAAiE;IACjE,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;CAChE"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/hooks/useMarket/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import type { UseMarketReturn } from "./types";
2
+ export declare const useMarket: () => UseMarketReturn;
3
+ //# sourceMappingURL=useMarket.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMarket.d.ts","sourceRoot":"","sources":["../../../src/hooks/useMarket/useMarket.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,eAAO,MAAM,SAAS,QAAO,eAuD5B,CAAC"}
@@ -0,0 +1,44 @@
1
+ import { useCallback } from "react";
2
+ import { useMonacoSDK } from "../useMonaco";
3
+ export const useMarket = () => {
4
+ const { sdk } = useMonacoSDK();
5
+ const getPaginatedTradingPairs = useCallback(async (params) => {
6
+ if (!sdk)
7
+ throw new Error("SDK not available");
8
+ const response = await sdk.market.getPaginatedTradingPairs(params);
9
+ if (!response.success) {
10
+ throw new Error("Failed to fetch trading pairs");
11
+ }
12
+ return response.data;
13
+ }, [sdk]);
14
+ const getTradingPairBySymbol = useCallback(async (symbol) => {
15
+ if (!sdk)
16
+ throw new Error("SDK not available");
17
+ if (!symbol?.trim())
18
+ throw new Error("Symbol is required and cannot be empty");
19
+ return await sdk.market.getTradingPairBySymbol(symbol);
20
+ }, [sdk]);
21
+ const getCandlesticks = useCallback(async (tradingPairId, interval, params) => {
22
+ if (!sdk)
23
+ throw new Error("SDK not available");
24
+ if (!tradingPairId?.trim())
25
+ throw new Error("Trading pair ID is required and cannot be empty");
26
+ if (!interval)
27
+ throw new Error("Interval is required");
28
+ return await sdk.market.getCandlesticks(tradingPairId, interval, params);
29
+ }, [sdk]);
30
+ const getMarketMetadata = useCallback(async (pairId) => {
31
+ if (!sdk)
32
+ throw new Error("SDK not available");
33
+ if (!pairId?.trim())
34
+ throw new Error("Pair ID is required and cannot be empty");
35
+ return await sdk.market.getMarketMetadata(pairId);
36
+ }, [sdk]);
37
+ return {
38
+ getPaginatedTradingPairs,
39
+ getTradingPairBySymbol,
40
+ getCandlesticks,
41
+ getMarketMetadata,
42
+ };
43
+ };
44
+ //# sourceMappingURL=useMarket.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMarket.js","sourceRoot":"","sources":["../../../src/hooks/useMarket/useMarket.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAG5C,MAAM,CAAC,MAAM,SAAS,GAAG,GAAoB,EAAE;IAC7C,MAAM,EAAE,GAAG,EAAE,GAAG,YAAY,EAAE,CAAC;IAE/B,MAAM,wBAAwB,GAAG,WAAW,CAC1C,KAAK,EAAE,MAA8B,EAAkC,EAAE;QACvE,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAE/C,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;QAEnE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC,EACD,CAAC,GAAG,CAAC,CACN,CAAC;IAEF,MAAM,sBAAsB,GAAG,WAAW,CACxC,KAAK,EAAE,MAAc,EAAoC,EAAE;QACzD,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAE/E,OAAO,MAAM,GAAG,CAAC,MAAM,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACzD,CAAC,EACD,CAAC,GAAG,CAAC,CACN,CAAC;IAEF,MAAM,eAAe,GAAG,WAAW,CACjC,KAAK,EAAE,aAAqB,EAAE,QAAkB,EAAE,MAA8B,EAA0B,EAAE;QAC1G,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAC/C,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QAC/F,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAEvD,OAAO,MAAM,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,aAAa,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC3E,CAAC,EACD,CAAC,GAAG,CAAC,CACN,CAAC;IAEF,MAAM,iBAAiB,GAAG,WAAW,CACnC,KAAK,EAAE,MAAc,EAA2B,EAAE;QAChD,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAEhF,OAAO,MAAM,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACpD,CAAC,EACD,CAAC,GAAG,CAAC,CACN,CAAC;IAEF,OAAO;QACL,wBAAwB;QACxB,sBAAsB;QACtB,eAAe;QACf,iBAAiB;KAClB,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export type { UseMonacoReturn } from "./types";
2
+ export { useMonacoSDK } from "./useMonaco";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/useMonaco/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { useMonacoSDK } from "./useMonaco";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/useMonaco/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { MonacoSDK } from "@0xmonaco/types";
2
+ export interface UseMonacoReturn {
3
+ /** Monaco SDK instance */
4
+ sdk: MonacoSDK | null;
5
+ /** Client ID for authentication */
6
+ clientId: string;
7
+ /** Any error that occurred (SDK initialization, authentication, etc.) */
8
+ error: Error | null;
9
+ /** Clear the current error state */
10
+ clearError: () => void;
11
+ /** Set an error state */
12
+ setError: (error: Error | null) => void;
13
+ }
14
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/hooks/useMonaco/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,MAAM,WAAW,eAAe;IAC9B,0BAA0B;IAC1B,GAAG,EAAE,SAAS,GAAG,IAAI,CAAC;IACtB,mCAAmC;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,yEAAyE;IACzE,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,oCAAoC;IACpC,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,yBAAyB;IACzB,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,KAAK,IAAI,CAAC;CACzC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/hooks/useMonaco/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import type { UseMonacoReturn } from "./types";
2
+ export declare const useMonacoSDK: () => UseMonacoReturn;
3
+ //# sourceMappingURL=useMonaco.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMonaco.d.ts","sourceRoot":"","sources":["../../../src/hooks/useMonaco/useMonaco.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,eAAO,MAAM,YAAY,QAAO,eAY/B,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { useCallback } from "react";
2
+ import { useMonacoContext } from "../../provider/MonacoProvider";
3
+ export const useMonacoSDK = () => {
4
+ const { sdk, clientId, error, setError } = useMonacoContext();
5
+ const clearError = useCallback(() => setError(null), [setError]);
6
+ return {
7
+ sdk,
8
+ clientId,
9
+ error,
10
+ clearError,
11
+ setError,
12
+ };
13
+ };
14
+ //# sourceMappingURL=useMonaco.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMonaco.js","sourceRoot":"","sources":["../../../src/hooks/useMonaco/useMonaco.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGjE,MAAM,CAAC,MAAM,YAAY,GAAG,GAAoB,EAAE;IAChD,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAE9D,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEjE,OAAO;QACL,GAAG;QACH,QAAQ;QACR,KAAK;QACL,UAAU;QACV,QAAQ;KACT,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export type { OrderbookSubscriptionRef, UseOrderbookReturn } from "./types";
2
+ export { useOrderbook } from "./useOrderbook";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/useOrderbook/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { useOrderbook } from "./useOrderbook";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/useOrderbook/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,28 @@
1
+ import type { OrderbookEvent, OrderbookQuotationMode, TradingMode } from "@0xmonaco/types";
2
+ /**
3
+ * State structure for current subscription ref
4
+ */
5
+ export interface OrderbookSubscriptionRef {
6
+ /** The pair subscribed to */
7
+ pair: string;
8
+ /** The mode subscribed to */
9
+ mode: TradingMode;
10
+ /** The magnitude for orderbook grouping */
11
+ magnitude?: number;
12
+ /** The quotation mode for orderbook subscription */
13
+ quotationMode?: OrderbookQuotationMode;
14
+ }
15
+ /**
16
+ * Return type for the useOrderbook hook
17
+ */
18
+ export interface UseOrderbookReturn {
19
+ /** Current orderbook snapshot */
20
+ orderbook: OrderbookEvent | null;
21
+ /** Whether currently subscribed to a market */
22
+ subscribed: boolean;
23
+ /** Any error that occurred during connection or subscription */
24
+ error: Error | null;
25
+ /** Clear the current error state */
26
+ clearError: () => void;
27
+ }
28
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/hooks/useOrderbook/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE3F;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,IAAI,EAAE,WAAW,CAAC;IAClB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oDAAoD;IACpD,aAAa,CAAC,EAAE,sBAAsB,CAAC;CACxC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,iCAAiC;IACjC,SAAS,EAAE,cAAc,GAAG,IAAI,CAAC;IAEjC,+CAA+C;IAC/C,UAAU,EAAE,OAAO,CAAC;IAEpB,gEAAgE;IAChE,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAEpB,oCAAoC;IACpC,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/hooks/useOrderbook/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import type { OrderbookQuotationMode, TradingMode } from "@0xmonaco/types";
2
+ import type { UseOrderbookReturn } from "./types";
3
+ export declare function useOrderbook(tradingPairId: string, tradingMode: TradingMode, magnitude: number, quotationMode: OrderbookQuotationMode, depth?: number): UseOrderbookReturn;
4
+ //# sourceMappingURL=useOrderbook.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useOrderbook.d.ts","sourceRoot":"","sources":["../../../src/hooks/useOrderbook/useOrderbook.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAkB,sBAAsB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE3F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElD,wBAAgB,YAAY,CAC1B,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,sBAAsB,EACrC,KAAK,SAAK,GACT,kBAAkB,CAoCpB"}
@@ -0,0 +1,32 @@
1
+ import { useMonacoSDK } from "@0xmonaco/react";
2
+ import { useCallback, useEffect, useState } from "react";
3
+ export function useOrderbook(tradingPairId, tradingMode, magnitude, quotationMode, depth = 10) {
4
+ const { sdk } = useMonacoSDK();
5
+ const [orderbook, setOrderbook] = useState(null);
6
+ const [error, setError] = useState(null);
7
+ const [subscribed, setSubscribed] = useState(false);
8
+ const clearError = useCallback(() => setError(null), []);
9
+ // Connect and subscribe to orderbook updates
10
+ useEffect(() => {
11
+ if (!sdk?.ws || !sdk?.orderbook || !tradingPairId) {
12
+ setSubscribed(false);
13
+ return;
14
+ }
15
+ setOrderbook(null);
16
+ setError(null);
17
+ // Fetch initial orderbook via REST
18
+ sdk.orderbook
19
+ .getOrderbook(tradingPairId, { depth, tradingMode, magnitude, denomination: quotationMode })
20
+ .then((initial) => setOrderbook(initial))
21
+ .catch((err) => setError(err instanceof Error ? err : new Error(String(err))));
22
+ // Subscribe to WebSocket updates (ws connection handled by MonacoProvider)
23
+ const unsubscribe = sdk.ws.orderbook(tradingPairId, tradingMode, magnitude, quotationMode, setOrderbook);
24
+ setSubscribed(true);
25
+ return () => {
26
+ unsubscribe();
27
+ setSubscribed(false);
28
+ };
29
+ }, [sdk?.ws, sdk?.orderbook, tradingPairId, tradingMode, magnitude, quotationMode, depth]);
30
+ return { orderbook, subscribed, error, clearError };
31
+ }
32
+ //# sourceMappingURL=useOrderbook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useOrderbook.js","sourceRoot":"","sources":["../../../src/hooks/useOrderbook/useOrderbook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGzD,MAAM,UAAU,YAAY,CAC1B,aAAqB,EACrB,WAAwB,EACxB,SAAiB,EACjB,aAAqC,EACrC,KAAK,GAAG,EAAE;IAEV,MAAM,EAAE,GAAG,EAAE,GAAG,YAAY,EAAE,CAAC;IAE/B,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAwB,IAAI,CAAC,CAAC;IACxE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAe,IAAI,CAAC,CAAC;IACvD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEpD,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAEzD,6CAA6C;IAC7C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,aAAa,EAAE,CAAC;YAClD,aAAa,CAAC,KAAK,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QAED,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEf,mCAAmC;QACnC,GAAG,CAAC,SAAS;aACV,YAAY,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC;aAC3F,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;aACxC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAEjF,2EAA2E;QAC3E,MAAM,WAAW,GAAG,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;QACzG,aAAa,CAAC,IAAI,CAAC,CAAC;QAEpB,OAAO,GAAG,EAAE;YACV,WAAW,EAAE,CAAC;YACd,aAAa,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC;IAE3F,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AACtD,CAAC"}
@@ -0,0 +1,3 @@
1
+ export type { UseProfileReturn } from "./types";
2
+ export { useProfile } from "./useProfile";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/useProfile/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { useProfile } from "./useProfile";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/useProfile/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { AccountBalance, GetPaginatedUserMovementsResponse, GetUserBalancesParams, GetUserBalancesResponse, GetUserMovementsParams, UserProfile } from "@0xmonaco/types";
2
+ export interface UseProfileReturn {
3
+ /** User profile data */
4
+ profile?: UserProfile;
5
+ /** Manually fetch profile */
6
+ fetchProfile: () => Promise<UserProfile>;
7
+ /** Get user's ledger movements (transaction history) with pagination */
8
+ getPaginatedUserMovements: (params?: GetUserMovementsParams) => Promise<GetPaginatedUserMovementsResponse>;
9
+ /** Get user's token balances with pagination */
10
+ getUserBalances: (params?: GetUserBalancesParams) => Promise<GetUserBalancesResponse>;
11
+ /** Get user's balance for a specific asset */
12
+ getUserBalanceByAssetId: (assetId: string) => Promise<AccountBalance>;
13
+ }
14
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/hooks/useProfile/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,iCAAiC,EACjC,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,EACtB,WAAW,EACZ,MAAM,iBAAiB,CAAC;AAEzB,MAAM,WAAW,gBAAgB;IAC/B,wBAAwB;IACxB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,6BAA6B;IAC7B,YAAY,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC,CAAC;IACzC,wEAAwE;IACxE,yBAAyB,EAAE,CAAC,MAAM,CAAC,EAAE,sBAAsB,KAAK,OAAO,CAAC,iCAAiC,CAAC,CAAC;IAC3G,gDAAgD;IAChD,eAAe,EAAE,CAAC,MAAM,CAAC,EAAE,qBAAqB,KAAK,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACtF,8CAA8C;IAC9C,uBAAuB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;CACvE"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/hooks/useProfile/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import type { UseProfileReturn } from "./types";
2
+ export declare const useProfile: () => UseProfileReturn;
3
+ //# sourceMappingURL=useProfile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useProfile.d.ts","sourceRoot":"","sources":["../../../src/hooks/useProfile/useProfile.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD,eAAO,MAAM,UAAU,QAAO,gBAyD7B,CAAC"}
@@ -0,0 +1,46 @@
1
+ import { useCallback, useEffect, useState } from "react";
2
+ import { AuthenticationStatus } from "../../provider";
3
+ import { useAuth } from "../useAuth";
4
+ import { useMonacoSDK } from "../useMonaco";
5
+ export const useProfile = () => {
6
+ const { sdk } = useMonacoSDK();
7
+ const { authenticationStatus } = useAuth();
8
+ const [profile, setProfile] = useState();
9
+ useEffect(() => {
10
+ if (authenticationStatus !== AuthenticationStatus.AUTHENTICATED) {
11
+ setProfile(undefined);
12
+ }
13
+ }, [authenticationStatus]);
14
+ const fetchProfile = useCallback(async () => {
15
+ if (!sdk)
16
+ throw new Error("SDK not available");
17
+ const userProfile = await sdk.profile.getProfile();
18
+ setProfile(userProfile);
19
+ return userProfile;
20
+ }, [sdk]);
21
+ const getPaginatedUserMovements = useCallback(async (params) => {
22
+ if (!sdk)
23
+ throw new Error("SDK not available");
24
+ return await sdk.profile.getPaginatedUserMovements(params);
25
+ }, [sdk]);
26
+ const getUserBalances = useCallback(async (params) => {
27
+ if (!sdk)
28
+ throw new Error("SDK not available");
29
+ return await sdk.profile.getUserBalances(params);
30
+ }, [sdk]);
31
+ const getUserBalanceByAssetId = useCallback(async (assetId) => {
32
+ if (!sdk)
33
+ throw new Error("SDK not available");
34
+ return await sdk.profile.getUserBalanceByAssetId(assetId);
35
+ }, [sdk]);
36
+ return {
37
+ // State
38
+ profile,
39
+ // Actions
40
+ fetchProfile,
41
+ getPaginatedUserMovements,
42
+ getUserBalances,
43
+ getUserBalanceByAssetId,
44
+ };
45
+ };
46
+ //# sourceMappingURL=useProfile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useProfile.js","sourceRoot":"","sources":["../../../src/hooks/useProfile/useProfile.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAG5C,MAAM,CAAC,MAAM,UAAU,GAAG,GAAqB,EAAE;IAC/C,MAAM,EAAE,GAAG,EAAE,GAAG,YAAY,EAAE,CAAC;IAC/B,MAAM,EAAE,oBAAoB,EAAE,GAAG,OAAO,EAAE,CAAC;IAE3C,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,EAAe,CAAC;IAEtD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,oBAAoB,KAAK,oBAAoB,CAAC,aAAa,EAAE,CAAC;YAChE,UAAU,CAAC,SAAS,CAAC,CAAC;QACxB,CAAC;IACH,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAE3B,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QAC1C,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAE/C,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QACnD,UAAU,CAAC,WAAW,CAAC,CAAC;QACxB,OAAO,WAAW,CAAC;IACrB,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAEV,MAAM,yBAAyB,GAAG,WAAW,CAC3C,KAAK,EAAE,MAA+B,EAA8C,EAAE;QACpF,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAE/C,OAAO,MAAM,GAAG,CAAC,OAAO,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAC7D,CAAC,EACD,CAAC,GAAG,CAAC,CACN,CAAC;IAEF,MAAM,eAAe,GAAG,WAAW,CACjC,KAAK,EAAE,MAA8B,EAAoC,EAAE;QACzE,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAE/C,OAAO,MAAM,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IACnD,CAAC,EACD,CAAC,GAAG,CAAC,CACN,CAAC;IAEF,MAAM,uBAAuB,GAAG,WAAW,CACzC,KAAK,EAAE,OAAe,EAA2B,EAAE;QACjD,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAE/C,OAAO,MAAM,GAAG,CAAC,OAAO,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAC5D,CAAC,EACD,CAAC,GAAG,CAAC,CACN,CAAC;IAEF,OAAO;QACL,QAAQ;QACR,OAAO;QAEP,UAAU;QACV,YAAY;QACZ,yBAAyB;QACzB,eAAe;QACf,uBAAuB;KACxB,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export type { TokenLifecycleConfig, UseTokenLifecycleReturn } from "./types";
2
+ export { useTokenLifecycle } from "./useTokenLifecycle";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/useTokenLifecycle/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { useTokenLifecycle } from "./useTokenLifecycle";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/useTokenLifecycle/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,24 @@
1
+ import type { AuthState } from "@0xmonaco/types";
2
+ export interface TokenLifecycleConfig {
3
+ /** Enable automatic token refresh (default: true) */
4
+ autoRefresh?: boolean;
5
+ /** Enable token persistence in localStorage (default: true) */
6
+ persistTokens?: boolean;
7
+ /** Buffer time in seconds before token expiry to trigger refresh (default: 300 = 5 minutes) */
8
+ refreshBufferSeconds?: number;
9
+ /** Callback when token refresh fails */
10
+ onRefreshError?: (error: Error) => void;
11
+ /** Callback when token is refreshed successfully */
12
+ onRefreshSuccess?: (authState: AuthState) => void;
13
+ }
14
+ export interface UseTokenLifecycleReturn {
15
+ /** Initialize token lifecycle with auth state */
16
+ initializeTokens: (authState: AuthState) => void;
17
+ /** Clear tokens and stop lifecycle management */
18
+ clearTokens: () => void;
19
+ /** Manually trigger token refresh */
20
+ refreshTokens: () => Promise<AuthState | null>;
21
+ /** Check if token is expired or near expiry */
22
+ isTokenExpired: (authState: AuthState | null) => boolean;
23
+ }
24
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/hooks/useTokenLifecycle/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,MAAM,WAAW,oBAAoB;IACnC,qDAAqD;IACrD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,+DAA+D;IAC/D,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,+FAA+F;IAC/F,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,wCAAwC;IACxC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACxC,oDAAoD;IACpD,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,IAAI,CAAC;CACnD;AAED,MAAM,WAAW,uBAAuB;IACtC,iDAAiD;IACjD,gBAAgB,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,IAAI,CAAC;IACjD,iDAAiD;IACjD,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,qCAAqC;IACrC,aAAa,EAAE,MAAM,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;IAC/C,+CAA+C;IAC/C,cAAc,EAAE,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,KAAK,OAAO,CAAC;CAC1D"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/hooks/useTokenLifecycle/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,21 @@
1
+ import type { MonacoSDK } from "@0xmonaco/core";
2
+ import type { TokenLifecycleConfig, UseTokenLifecycleReturn } from "./types";
3
+ /**
4
+ * Hook for managing token lifecycle including automatic refresh and persistence
5
+ *
6
+ * @param sdk - Monaco SDK instance
7
+ * @param config - Configuration options for token lifecycle
8
+ * @returns Token lifecycle management functions
9
+ *
10
+ * @example
11
+ * ```tsx
12
+ * const { initializeTokens, clearTokens, refreshTokens } = useTokenLifecycle(sdk, {
13
+ * autoRefresh: true,
14
+ * persistTokens: true,
15
+ * refreshBufferSeconds: 300, // 5 minutes
16
+ * onRefreshError: (error) => console.error('Token refresh failed:', error),
17
+ * });
18
+ * ```
19
+ */
20
+ export declare const useTokenLifecycle: (sdk: MonacoSDK | null, config?: TokenLifecycleConfig) => UseTokenLifecycleReturn;
21
+ //# sourceMappingURL=useTokenLifecycle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTokenLifecycle.d.ts","sourceRoot":"","sources":["../../../src/hooks/useTokenLifecycle/useTokenLifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAIhD,OAAO,KAAK,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAG7E;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,iBAAiB,GAAI,KAAK,SAAS,GAAG,IAAI,EAAE,SAAQ,oBAAyB,KAAG,uBA0I5F,CAAC"}