@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.
- package/README.md +381 -0
- package/dist/hooks/index.d.ts +12 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +12 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/useAuth/index.d.ts +3 -0
- package/dist/hooks/useAuth/index.d.ts.map +1 -0
- package/dist/hooks/useAuth/index.js +2 -0
- package/dist/hooks/useAuth/index.js.map +1 -0
- package/dist/hooks/useAuth/types.d.ts +31 -0
- package/dist/hooks/useAuth/types.d.ts.map +1 -0
- package/dist/hooks/useAuth/types.js +2 -0
- package/dist/hooks/useAuth/types.js.map +1 -0
- package/dist/hooks/useAuth/useAuth.d.ts +3 -0
- package/dist/hooks/useAuth/useAuth.d.ts.map +1 -0
- package/dist/hooks/useAuth/useAuth.js +150 -0
- package/dist/hooks/useAuth/useAuth.js.map +1 -0
- package/dist/hooks/useFees/index.d.ts +3 -0
- package/dist/hooks/useFees/index.d.ts.map +1 -0
- package/dist/hooks/useFees/index.js +2 -0
- package/dist/hooks/useFees/index.js.map +1 -0
- package/dist/hooks/useFees/types.d.ts +6 -0
- package/dist/hooks/useFees/types.d.ts.map +1 -0
- package/dist/hooks/useFees/types.js +2 -0
- package/dist/hooks/useFees/types.js.map +1 -0
- package/dist/hooks/useFees/useFees.d.ts +3 -0
- package/dist/hooks/useFees/useFees.d.ts.map +1 -0
- package/dist/hooks/useFees/useFees.js +15 -0
- package/dist/hooks/useFees/useFees.js.map +1 -0
- package/dist/hooks/useMarket/index.d.ts +3 -0
- package/dist/hooks/useMarket/index.d.ts.map +1 -0
- package/dist/hooks/useMarket/index.js +2 -0
- package/dist/hooks/useMarket/index.js.map +1 -0
- package/dist/hooks/useMarket/types.d.ts +24 -0
- package/dist/hooks/useMarket/types.d.ts.map +1 -0
- package/dist/hooks/useMarket/types.js +2 -0
- package/dist/hooks/useMarket/types.js.map +1 -0
- package/dist/hooks/useMarket/useMarket.d.ts +3 -0
- package/dist/hooks/useMarket/useMarket.d.ts.map +1 -0
- package/dist/hooks/useMarket/useMarket.js +44 -0
- package/dist/hooks/useMarket/useMarket.js.map +1 -0
- package/dist/hooks/useMonaco/index.d.ts +3 -0
- package/dist/hooks/useMonaco/index.d.ts.map +1 -0
- package/dist/hooks/useMonaco/index.js +2 -0
- package/dist/hooks/useMonaco/index.js.map +1 -0
- package/dist/hooks/useMonaco/types.d.ts +14 -0
- package/dist/hooks/useMonaco/types.d.ts.map +1 -0
- package/dist/hooks/useMonaco/types.js +2 -0
- package/dist/hooks/useMonaco/types.js.map +1 -0
- package/dist/hooks/useMonaco/useMonaco.d.ts +3 -0
- package/dist/hooks/useMonaco/useMonaco.d.ts.map +1 -0
- package/dist/hooks/useMonaco/useMonaco.js +14 -0
- package/dist/hooks/useMonaco/useMonaco.js.map +1 -0
- package/dist/hooks/useOrderbook/index.d.ts +3 -0
- package/dist/hooks/useOrderbook/index.d.ts.map +1 -0
- package/dist/hooks/useOrderbook/index.js +2 -0
- package/dist/hooks/useOrderbook/index.js.map +1 -0
- package/dist/hooks/useOrderbook/types.d.ts +28 -0
- package/dist/hooks/useOrderbook/types.d.ts.map +1 -0
- package/dist/hooks/useOrderbook/types.js +2 -0
- package/dist/hooks/useOrderbook/types.js.map +1 -0
- package/dist/hooks/useOrderbook/useOrderbook.d.ts +4 -0
- package/dist/hooks/useOrderbook/useOrderbook.d.ts.map +1 -0
- package/dist/hooks/useOrderbook/useOrderbook.js +32 -0
- package/dist/hooks/useOrderbook/useOrderbook.js.map +1 -0
- package/dist/hooks/useProfile/index.d.ts +3 -0
- package/dist/hooks/useProfile/index.d.ts.map +1 -0
- package/dist/hooks/useProfile/index.js +2 -0
- package/dist/hooks/useProfile/index.js.map +1 -0
- package/dist/hooks/useProfile/types.d.ts +14 -0
- package/dist/hooks/useProfile/types.d.ts.map +1 -0
- package/dist/hooks/useProfile/types.js +2 -0
- package/dist/hooks/useProfile/types.js.map +1 -0
- package/dist/hooks/useProfile/useProfile.d.ts +3 -0
- package/dist/hooks/useProfile/useProfile.d.ts.map +1 -0
- package/dist/hooks/useProfile/useProfile.js +46 -0
- package/dist/hooks/useProfile/useProfile.js.map +1 -0
- package/dist/hooks/useTokenLifecycle/index.d.ts +3 -0
- package/dist/hooks/useTokenLifecycle/index.d.ts.map +1 -0
- package/dist/hooks/useTokenLifecycle/index.js +2 -0
- package/dist/hooks/useTokenLifecycle/index.js.map +1 -0
- package/dist/hooks/useTokenLifecycle/types.d.ts +24 -0
- package/dist/hooks/useTokenLifecycle/types.d.ts.map +1 -0
- package/dist/hooks/useTokenLifecycle/types.js +2 -0
- package/dist/hooks/useTokenLifecycle/types.js.map +1 -0
- package/dist/hooks/useTokenLifecycle/useTokenLifecycle.d.ts +21 -0
- package/dist/hooks/useTokenLifecycle/useTokenLifecycle.d.ts.map +1 -0
- package/dist/hooks/useTokenLifecycle/useTokenLifecycle.js +126 -0
- package/dist/hooks/useTokenLifecycle/useTokenLifecycle.js.map +1 -0
- package/dist/hooks/useTokenLifecycle/utils.d.ts +8 -0
- package/dist/hooks/useTokenLifecycle/utils.d.ts.map +1 -0
- package/dist/hooks/useTokenLifecycle/utils.js +16 -0
- package/dist/hooks/useTokenLifecycle/utils.js.map +1 -0
- package/dist/hooks/useTrade/index.d.ts +3 -0
- package/dist/hooks/useTrade/index.d.ts.map +1 -0
- package/dist/hooks/useTrade/index.js +2 -0
- package/dist/hooks/useTrade/index.js.map +1 -0
- package/dist/hooks/useTrade/types.d.ts +29 -0
- package/dist/hooks/useTrade/types.d.ts.map +1 -0
- package/dist/hooks/useTrade/types.js +2 -0
- package/dist/hooks/useTrade/types.js.map +1 -0
- package/dist/hooks/useTrade/useTrade.d.ts +3 -0
- package/dist/hooks/useTrade/useTrade.d.ts.map +1 -0
- package/dist/hooks/useTrade/useTrade.js +89 -0
- package/dist/hooks/useTrade/useTrade.js.map +1 -0
- package/dist/hooks/useTradeFeed/index.d.ts +3 -0
- package/dist/hooks/useTradeFeed/index.d.ts.map +1 -0
- package/dist/hooks/useTradeFeed/index.js +3 -0
- package/dist/hooks/useTradeFeed/index.js.map +1 -0
- package/dist/hooks/useTradeFeed/types.d.ts +15 -0
- package/dist/hooks/useTradeFeed/types.d.ts.map +1 -0
- package/dist/hooks/useTradeFeed/types.js +2 -0
- package/dist/hooks/useTradeFeed/types.js.map +1 -0
- package/dist/hooks/useTradeFeed/useTradeFeed.d.ts +9 -0
- package/dist/hooks/useTradeFeed/useTradeFeed.d.ts.map +1 -0
- package/dist/hooks/useTradeFeed/useTradeFeed.js +47 -0
- package/dist/hooks/useTradeFeed/useTradeFeed.js.map +1 -0
- package/dist/hooks/useUserMovements/index.d.ts +3 -0
- package/dist/hooks/useUserMovements/index.d.ts.map +1 -0
- package/dist/hooks/useUserMovements/index.js +3 -0
- package/dist/hooks/useUserMovements/index.js.map +1 -0
- package/dist/hooks/useUserMovements/types.d.ts +17 -0
- package/dist/hooks/useUserMovements/types.d.ts.map +1 -0
- package/dist/hooks/useUserMovements/types.js +2 -0
- package/dist/hooks/useUserMovements/types.js.map +1 -0
- package/dist/hooks/useUserMovements/useUserMovements.d.ts +12 -0
- package/dist/hooks/useUserMovements/useUserMovements.d.ts.map +1 -0
- package/dist/hooks/useUserMovements/useUserMovements.js +92 -0
- package/dist/hooks/useUserMovements/useUserMovements.js.map +1 -0
- package/dist/hooks/useVault/index.d.ts +3 -0
- package/dist/hooks/useVault/index.d.ts.map +1 -0
- package/dist/hooks/useVault/index.js +2 -0
- package/dist/hooks/useVault/index.js.map +1 -0
- package/dist/hooks/useVault/types.d.ts +16 -0
- package/dist/hooks/useVault/types.d.ts.map +1 -0
- package/dist/hooks/useVault/types.js +2 -0
- package/dist/hooks/useVault/types.js.map +1 -0
- package/dist/hooks/useVault/useVault.d.ts +3 -0
- package/dist/hooks/useVault/useVault.d.ts.map +1 -0
- package/dist/hooks/useVault/useVault.js +66 -0
- package/dist/hooks/useVault/useVault.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -0
- package/dist/provider/MonacoProvider.d.ts +4 -0
- package/dist/provider/MonacoProvider.d.ts.map +1 -0
- package/dist/provider/MonacoProvider.js +103 -0
- package/dist/provider/MonacoProvider.js.map +1 -0
- package/dist/provider/index.d.ts +3 -0
- package/dist/provider/index.d.ts.map +1 -0
- package/dist/provider/index.js +3 -0
- package/dist/provider/index.js.map +1 -0
- package/dist/provider/types.d.ts +46 -0
- package/dist/provider/types.d.ts.map +1 -0
- package/dist/provider/types.js +10 -0
- package/dist/provider/types.js.map +1 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +2 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/tokenStorage.d.ts +39 -0
- package/dist/utils/tokenStorage.d.ts.map +1 -0
- package/dist/utils/tokenStorage.js +103 -0
- package/dist/utils/tokenStorage.js.map +1 -0
- package/package.json +39 -0
|
@@ -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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/hooks/useMarket/types.ts"],"names":[],"mappings":""}
|
|
@@ -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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/hooks/useMonaco/types.ts"],"names":[],"mappings":""}
|
|
@@ -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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/hooks/useProfile/types.ts"],"names":[],"mappings":""}
|
|
@@ -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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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"}
|