@sundaeswap/wallet-lite 0.0.34 → 0.0.35

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 (80) hide show
  1. package/dist/cjs/classes/WalletObserver.class.js +11 -12
  2. package/dist/cjs/classes/WalletObserver.class.js.map +1 -1
  3. package/dist/cjs/react-components/RenderWallet.js +18 -3
  4. package/dist/cjs/react-components/RenderWallet.js.map +1 -1
  5. package/dist/cjs/react-components/RenderWalletHandles.js +18 -3
  6. package/dist/cjs/react-components/RenderWalletHandles.js.map +1 -1
  7. package/dist/cjs/react-components/RenderWalletPeerConnect.js +14 -3
  8. package/dist/cjs/react-components/RenderWalletPeerConnect.js.map +1 -1
  9. package/dist/cjs/react-components/RenderWalletState.js +17 -3
  10. package/dist/cjs/react-components/RenderWalletState.js.map +1 -1
  11. package/dist/cjs/react-components/WalletObserverProvider/hooks/useWalletObserverState.js +52 -45
  12. package/dist/cjs/react-components/WalletObserverProvider/hooks/useWalletObserverState.js.map +1 -1
  13. package/dist/cjs/react-components/contexts/observer/types.js.map +1 -1
  14. package/dist/cjs/react-components/hooks/useWalletHandles.js +111 -107
  15. package/dist/cjs/react-components/hooks/useWalletHandles.js.map +1 -1
  16. package/dist/cjs/react-components/hooks/useWalletLoadingState.js +1 -1
  17. package/dist/cjs/react-components/hooks/useWalletLoadingState.js.map +1 -1
  18. package/dist/cjs/react-components/hooks/useWalletObserver.js +3 -1
  19. package/dist/cjs/react-components/hooks/useWalletObserver.js.map +1 -1
  20. package/dist/cjs/react-components/hooks/useWalletPeerConnect.js +13 -4
  21. package/dist/cjs/react-components/hooks/useWalletPeerConnect.js.map +1 -1
  22. package/dist/cjs/utils/getLibs.js +18 -35
  23. package/dist/cjs/utils/getLibs.js.map +1 -1
  24. package/dist/esm/classes/WalletObserver.class.js +7 -19
  25. package/dist/esm/classes/WalletObserver.class.js.map +1 -1
  26. package/dist/esm/react-components/RenderWallet.js +19 -4
  27. package/dist/esm/react-components/RenderWallet.js.map +1 -1
  28. package/dist/esm/react-components/RenderWalletHandles.js +21 -6
  29. package/dist/esm/react-components/RenderWalletHandles.js.map +1 -1
  30. package/dist/esm/react-components/RenderWalletPeerConnect.js +16 -5
  31. package/dist/esm/react-components/RenderWalletPeerConnect.js.map +1 -1
  32. package/dist/esm/react-components/RenderWalletState.js +19 -6
  33. package/dist/esm/react-components/RenderWalletState.js.map +1 -1
  34. package/dist/esm/react-components/WalletObserverProvider/hooks/useWalletObserverState.js +30 -26
  35. package/dist/esm/react-components/WalletObserverProvider/hooks/useWalletObserverState.js.map +1 -1
  36. package/dist/esm/react-components/contexts/observer/types.js.map +1 -1
  37. package/dist/esm/react-components/hooks/useWalletHandles.js +46 -51
  38. package/dist/esm/react-components/hooks/useWalletHandles.js.map +1 -1
  39. package/dist/esm/react-components/hooks/useWalletLoadingState.js +1 -1
  40. package/dist/esm/react-components/hooks/useWalletLoadingState.js.map +1 -1
  41. package/dist/esm/react-components/hooks/useWalletObserver.js +3 -1
  42. package/dist/esm/react-components/hooks/useWalletObserver.js.map +1 -1
  43. package/dist/esm/react-components/hooks/useWalletPeerConnect.js +13 -3
  44. package/dist/esm/react-components/hooks/useWalletPeerConnect.js.map +1 -1
  45. package/dist/esm/utils/getLibs.js +12 -20
  46. package/dist/esm/utils/getLibs.js.map +1 -1
  47. package/dist/types/classes/WalletObserver.class.d.ts +2 -2
  48. package/dist/types/classes/WalletObserver.class.d.ts.map +1 -1
  49. package/dist/types/react-components/RenderWallet.d.ts +3 -1
  50. package/dist/types/react-components/RenderWallet.d.ts.map +1 -1
  51. package/dist/types/react-components/RenderWalletHandles.d.ts +3 -1
  52. package/dist/types/react-components/RenderWalletHandles.d.ts.map +1 -1
  53. package/dist/types/react-components/RenderWalletPeerConnect.d.ts +3 -1
  54. package/dist/types/react-components/RenderWalletPeerConnect.d.ts.map +1 -1
  55. package/dist/types/react-components/RenderWalletState.d.ts +3 -1
  56. package/dist/types/react-components/RenderWalletState.d.ts.map +1 -1
  57. package/dist/types/react-components/WalletObserverProvider/hooks/useWalletObserverState.d.ts +9 -8
  58. package/dist/types/react-components/WalletObserverProvider/hooks/useWalletObserverState.d.ts.map +1 -1
  59. package/dist/types/react-components/contexts/observer/types.d.ts +9 -31
  60. package/dist/types/react-components/contexts/observer/types.d.ts.map +1 -1
  61. package/dist/types/react-components/hooks/useWalletHandles.d.ts.map +1 -1
  62. package/dist/types/react-components/hooks/useWalletObserver.d.ts.map +1 -1
  63. package/dist/types/react-components/hooks/useWalletPeerConnect.d.ts +1 -0
  64. package/dist/types/react-components/hooks/useWalletPeerConnect.d.ts.map +1 -1
  65. package/dist/types/tsconfig.build.tsbuildinfo +1 -1
  66. package/dist/types/utils/getLibs.d.ts +2 -6
  67. package/dist/types/utils/getLibs.d.ts.map +1 -1
  68. package/package.json +1 -1
  69. package/src/classes/WalletObserver.class.ts +8 -8
  70. package/src/react-components/RenderWallet.tsx +21 -3
  71. package/src/react-components/RenderWalletHandles.tsx +20 -2
  72. package/src/react-components/RenderWalletPeerConnect.tsx +16 -3
  73. package/src/react-components/RenderWalletState.tsx +24 -8
  74. package/src/react-components/WalletObserverProvider/hooks/useWalletObserverState.ts +66 -56
  75. package/src/react-components/contexts/observer/types.ts +13 -38
  76. package/src/react-components/hooks/useWalletHandles.ts +82 -76
  77. package/src/react-components/hooks/useWalletLoadingState.ts +1 -1
  78. package/src/react-components/hooks/useWalletObserver.ts +2 -0
  79. package/src/react-components/hooks/useWalletPeerConnect.tsx +18 -5
  80. package/src/utils/getLibs.ts +12 -11
@@ -1,81 +1,76 @@
1
- import { useCallback, useEffect, useMemo, useState } from "react";
1
+ import { useCallback, useEffect, useMemo, useState, useTransition } from "react";
2
2
  import { WalletAssetMap } from "../../classes/WalletAssetMap.class.js";
3
3
  import { normalizeAssetIdWithDot } from "../../utils/assets.js";
4
4
  import { useWalletObserver } from "./useWalletObserver.js";
5
5
  export const useWalletHandles = () => {
6
6
  const state = useWalletObserver();
7
- const [loadingHandles, setLoadingHandles] = useState(true);
7
+ const [isPending, startTransition] = useTransition();
8
8
  const [handles, setHandles] = useState(new WalletAssetMap());
9
9
  const memoizedHandleDep = useMemo(() => [...state.balance.getHandles().keys()], [state.balance]);
10
10
  const syncHandles = useCallback(async () => {
11
- // Make a copy of our wallet map.
12
11
  const walletHandles = new WalletAssetMap([...state.balance.getHandles()]);
13
12
  if (walletHandles.size === 0) {
14
13
  return walletHandles;
15
14
  }
16
15
  try {
17
- await import("@koralabs/adahandle-sdk").then(async ({
16
+ const {
18
17
  default: HandleClient,
19
18
  HandleClientContext,
20
19
  KoraLabsProvider
21
- }) => {
22
- setLoadingHandles(true);
23
- const context = state.network === 1 ? HandleClientContext.MAINNET : HandleClientContext.PREVIEW;
24
-
25
- // @ts-ignore Type isn't exported from default.
26
- const sdk = new HandleClient({
27
- context,
28
- provider: new KoraLabsProvider(context)
29
- });
30
-
31
- // Restore once SDK updated
32
- const walletHandlesWithDataArray = [...walletHandles.entries()];
33
- const walletHandleDataArray = await sdk.provider().getAllDataBatch(walletHandlesWithDataArray.map(([key]) => ({
34
- value: key.split(".")[1]
35
- })));
36
- walletHandlesWithDataArray.forEach(([key, asset]) => {
37
- const matchingData = walletHandleDataArray.find(({
38
- hex
39
- }) => hex === key.split(".")[1]);
40
- walletHandles.set(normalizeAssetIdWithDot(key), asset.withMetadata({
41
- ...matchingData,
42
- ...asset.metadata,
43
- assetId: normalizeAssetIdWithDot(asset.metadata.assetId),
44
- decimals: 0
45
- }).withAmount(1n));
46
- });
20
+ } = await import("@koralabs/adahandle-sdk");
21
+ const context = state.network === 1 ? HandleClientContext.MAINNET : HandleClientContext.PREVIEW;
22
+ const sdk = new HandleClient({
23
+ context,
24
+ provider: new KoraLabsProvider(context)
25
+ });
26
+ const walletHandlesWithDataArray = [...walletHandles.entries()];
27
+ const walletHandleDataArray = await sdk.provider().getAllDataBatch(walletHandlesWithDataArray.map(([key]) => ({
28
+ value: key.split(".")[1]
29
+ })));
30
+ walletHandlesWithDataArray.forEach(([key, asset]) => {
31
+ const matchingData = walletHandleDataArray.find(({
32
+ hex
33
+ }) => hex === key.split(".")[1]);
34
+ walletHandles.set(normalizeAssetIdWithDot(key), asset.withMetadata({
35
+ ...matchingData,
36
+ ...asset.metadata,
37
+ assetId: normalizeAssetIdWithDot(asset.metadata.assetId),
38
+ decimals: 0
39
+ }).withAmount(1n));
47
40
  });
48
41
  return walletHandles;
49
42
  } catch (e) {
50
- console.log(e);
43
+ console.error(e);
51
44
  return walletHandles;
52
45
  }
53
- // We only want to update the callback if the Handle keys change.
54
- }, [state.balance]);
46
+ }, [state.balance, state.network]);
55
47
  useEffect(() => {
56
- syncHandles().then(newHandles => {
57
- setHandles(prevHandles => {
58
- let handleMetadataChanged = false;
59
- if (newHandles.size !== prevHandles?.size) {
60
- handleMetadataChanged = true;
61
- } else {
62
- for (const [key, val] of newHandles) {
63
- if (!prevHandles.has(key) || prevHandles.get(key)?.amount !== val?.amount) {
64
- handleMetadataChanged = true;
48
+ const fetchHandles = async () => {
49
+ const newHandles = await syncHandles();
50
+ startTransition(() => {
51
+ setHandles(prevHandles => {
52
+ let handleMetadataChanged = false;
53
+ if (newHandles.size !== prevHandles?.size) {
54
+ handleMetadataChanged = true;
55
+ } else {
56
+ for (const [key, val] of newHandles) {
57
+ if (!prevHandles.has(key) || prevHandles.get(key)?.amount !== val?.amount) {
58
+ handleMetadataChanged = true;
59
+ }
65
60
  }
66
61
  }
67
- }
68
- if (!handleMetadataChanged) {
69
- return prevHandles;
70
- }
71
- return newHandles;
62
+ if (!handleMetadataChanged) {
63
+ return prevHandles;
64
+ }
65
+ return newHandles;
66
+ });
72
67
  });
73
- setLoadingHandles(() => false);
74
- });
75
- }, [memoizedHandleDep, syncHandles, setHandles, setLoadingHandles]);
68
+ };
69
+ fetchHandles();
70
+ }, [memoizedHandleDep, syncHandles]);
76
71
  return {
77
72
  handles,
78
- loadingHandles
73
+ loadingHandles: isPending
79
74
  };
80
75
  };
81
76
  //# sourceMappingURL=useWalletHandles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useWalletHandles.js","names":["useCallback","useEffect","useMemo","useState","WalletAssetMap","normalizeAssetIdWithDot","useWalletObserver","useWalletHandles","state","loadingHandles","setLoadingHandles","handles","setHandles","memoizedHandleDep","balance","getHandles","keys","syncHandles","walletHandles","size","then","default","HandleClient","HandleClientContext","KoraLabsProvider","context","network","MAINNET","PREVIEW","sdk","provider","walletHandlesWithDataArray","entries","walletHandleDataArray","getAllDataBatch","map","key","value","split","forEach","asset","matchingData","find","hex","set","withMetadata","metadata","assetId","decimals","withAmount","e","console","log","newHandles","prevHandles","handleMetadataChanged","val","has","get","amount"],"sources":["../../../../src/react-components/hooks/useWalletHandles.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useState } from \"react\";\n\nimport { IHandle } from \"@koralabs/adahandle-sdk\";\nimport { IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport { TAssetAmountMap } from \"../../@types/observer.js\";\nimport { WalletAssetMap } from \"../../classes/WalletAssetMap.class.js\";\nimport { normalizeAssetIdWithDot } from \"../../utils/assets.js\";\nimport { THandleMetadata } from \"../contexts/observer/types.js\";\nimport { useWalletObserver } from \"./useWalletObserver.js\";\n\nexport const useWalletHandles = <\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata\n>() => {\n const state = useWalletObserver<THandleMetadata<AssetMetadata>>();\n const [loadingHandles, setLoadingHandles] = useState(true);\n const [handles, setHandles] = useState<\n TAssetAmountMap<THandleMetadata<AssetMetadata>>\n >(new WalletAssetMap());\n const memoizedHandleDep = useMemo(\n () => [...state.balance.getHandles().keys()],\n [state.balance]\n );\n\n const syncHandles = useCallback<\n () => Promise<TAssetAmountMap<THandleMetadata<AssetMetadata>>>\n >(async () => {\n // Make a copy of our wallet map.\n const walletHandles: TAssetAmountMap<THandleMetadata<AssetMetadata>> =\n new WalletAssetMap([...state.balance.getHandles()]);\n\n if (walletHandles.size === 0) {\n return walletHandles;\n }\n\n try {\n await import(\"@koralabs/adahandle-sdk\").then(\n async ({\n default: HandleClient,\n HandleClientContext,\n KoraLabsProvider,\n }) => {\n setLoadingHandles(true);\n const context =\n state.network === 1\n ? HandleClientContext.MAINNET\n : HandleClientContext.PREVIEW;\n\n // @ts-ignore Type isn't exported from default.\n const sdk = new HandleClient({\n context,\n provider: new KoraLabsProvider(context),\n });\n\n // Restore once SDK updated\n const walletHandlesWithDataArray = [...walletHandles.entries()];\n const walletHandleDataArray: IHandle[] = await sdk\n .provider()\n .getAllDataBatch(\n walletHandlesWithDataArray.map(([key]) => ({\n value: key.split(\".\")[1],\n }))\n );\n\n walletHandlesWithDataArray.forEach(([key, asset]) => {\n const matchingData = walletHandleDataArray.find(\n ({ hex }) => hex === key.split(\".\")[1]\n ) as IHandle;\n\n walletHandles.set(\n normalizeAssetIdWithDot(key),\n asset\n .withMetadata({\n ...matchingData,\n ...asset.metadata,\n assetId: normalizeAssetIdWithDot(asset.metadata.assetId),\n decimals: 0,\n })\n .withAmount(1n)\n );\n });\n }\n );\n\n return walletHandles;\n } catch (e) {\n console.log(e);\n return walletHandles;\n }\n // We only want to update the callback if the Handle keys change.\n }, [state.balance]);\n\n useEffect(() => {\n syncHandles().then((newHandles) => {\n setHandles((prevHandles) => {\n let handleMetadataChanged = false;\n\n if (newHandles.size !== prevHandles?.size) {\n handleMetadataChanged = true;\n } else {\n for (const [key, val] of newHandles) {\n if (\n !prevHandles.has(key) ||\n prevHandles.get(key)?.amount !== val?.amount\n ) {\n handleMetadataChanged = true;\n }\n }\n }\n\n if (!handleMetadataChanged) {\n return prevHandles;\n }\n\n return newHandles;\n });\n setLoadingHandles(() => false);\n });\n }, [memoizedHandleDep, syncHandles, setHandles, setLoadingHandles]);\n\n return {\n handles,\n loadingHandles,\n };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"useWalletHandles.js","names":["useCallback","useEffect","useMemo","useState","useTransition","WalletAssetMap","normalizeAssetIdWithDot","useWalletObserver","useWalletHandles","state","isPending","startTransition","handles","setHandles","memoizedHandleDep","balance","getHandles","keys","syncHandles","walletHandles","size","default","HandleClient","HandleClientContext","KoraLabsProvider","context","network","MAINNET","PREVIEW","sdk","provider","walletHandlesWithDataArray","entries","walletHandleDataArray","getAllDataBatch","map","key","value","split","forEach","asset","matchingData","find","hex","set","withMetadata","metadata","assetId","decimals","withAmount","e","console","error","fetchHandles","newHandles","prevHandles","handleMetadataChanged","val","has","get","amount","loadingHandles"],"sources":["../../../../src/react-components/hooks/useWalletHandles.ts"],"sourcesContent":["import {\n useCallback,\n useEffect,\n useMemo,\n useState,\n useTransition,\n} from \"react\";\n\nimport { IHandle } from \"@koralabs/adahandle-sdk\";\nimport { IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport { TAssetAmountMap } from \"../../@types/observer.js\";\nimport { WalletAssetMap } from \"../../classes/WalletAssetMap.class.js\";\nimport { normalizeAssetIdWithDot } from \"../../utils/assets.js\";\nimport { THandleMetadata } from \"../contexts/observer/types.js\";\nimport { useWalletObserver } from \"./useWalletObserver.js\";\n\nexport const useWalletHandles = <\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata\n>() => {\n const state = useWalletObserver<THandleMetadata<AssetMetadata>>();\n const [isPending, startTransition] = useTransition();\n const [handles, setHandles] = useState<\n TAssetAmountMap<THandleMetadata<AssetMetadata>>\n >(new WalletAssetMap());\n\n const memoizedHandleDep = useMemo(\n () => [...state.balance.getHandles().keys()],\n [state.balance]\n );\n\n const syncHandles = useCallback<\n () => Promise<TAssetAmountMap<THandleMetadata<AssetMetadata>>>\n >(async () => {\n const walletHandles: TAssetAmountMap<THandleMetadata<AssetMetadata>> =\n new WalletAssetMap<THandleMetadata<AssetMetadata>>([\n ...state.balance.getHandles(),\n ]);\n\n if (walletHandles.size === 0) {\n return walletHandles;\n }\n\n try {\n const {\n default: HandleClient,\n HandleClientContext,\n KoraLabsProvider,\n } = await import(\"@koralabs/adahandle-sdk\");\n\n const context =\n state.network === 1\n ? HandleClientContext.MAINNET\n : HandleClientContext.PREVIEW;\n\n const sdk = new HandleClient({\n context,\n provider: new KoraLabsProvider(context),\n });\n\n const walletHandlesWithDataArray = [...walletHandles.entries()];\n const walletHandleDataArray: IHandle[] = await sdk\n .provider()\n .getAllDataBatch(\n walletHandlesWithDataArray.map(([key]) => ({\n value: key.split(\".\")[1],\n }))\n );\n\n walletHandlesWithDataArray.forEach(([key, asset]) => {\n const matchingData = walletHandleDataArray.find(\n ({ hex }) => hex === key.split(\".\")[1]\n ) as IHandle;\n\n walletHandles.set(\n normalizeAssetIdWithDot(key),\n asset\n .withMetadata({\n ...matchingData,\n ...asset.metadata,\n assetId: normalizeAssetIdWithDot(asset.metadata.assetId),\n decimals: 0,\n })\n .withAmount(1n)\n );\n });\n\n return walletHandles;\n } catch (e) {\n console.error(e);\n return walletHandles;\n }\n }, [state.balance, state.network]);\n\n useEffect(() => {\n const fetchHandles = async () => {\n const newHandles = await syncHandles();\n startTransition(() => {\n setHandles((prevHandles) => {\n let handleMetadataChanged = false;\n\n if (newHandles.size !== prevHandles?.size) {\n handleMetadataChanged = true;\n } else {\n for (const [key, val] of newHandles) {\n if (\n !prevHandles.has(key) ||\n prevHandles.get(key)?.amount !== val?.amount\n ) {\n handleMetadataChanged = true;\n }\n }\n }\n\n if (!handleMetadataChanged) {\n return prevHandles;\n }\n\n return newHandles;\n });\n });\n };\n\n fetchHandles();\n }, [memoizedHandleDep, syncHandles]);\n\n return {\n handles,\n loadingHandles: isPending,\n };\n};\n"],"mappings":"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","ignoreList":[]}
@@ -34,7 +34,7 @@ export const useWalletLoadingState = () => {
34
34
  state.observer.removeEventListener(EWalletObserverEvents.SYNCING_WALLET_START, setSyncingStart);
35
35
  state.observer.removeEventListener(EWalletObserverEvents.SYNCING_WALLET_END, setSyncingEnd);
36
36
  };
37
- }, []);
37
+ }, [state.observer]);
38
38
  return {
39
39
  connectingWallet: connecting,
40
40
  syncingWallet: syncing,
@@ -1 +1 @@
1
- {"version":3,"file":"useWalletLoadingState.js","names":["useEffect","useMemo","useState","EWalletObserverEvents","useWalletObserver","useWalletLoadingState","state","connecting","setConnecting","syncing","setSyncing","ready","Boolean","observer","api","activeWallet","setConnectingStart","setConnectingEnd","setSyncingStart","setSyncingEnd","addEventListener","CONNECT_WALLET_START","CONNECT_WALLET_END","SYNCING_WALLET_START","SYNCING_WALLET_END","removeEventListener","connectingWallet","syncingWallet"],"sources":["../../../../src/react-components/hooks/useWalletLoadingState.ts"],"sourcesContent":["import { IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport { useEffect, useMemo, useState } from \"react\";\n\nimport { EWalletObserverEvents } from \"../../@types/events.js\";\nimport { useWalletObserver } from \"./useWalletObserver.js\";\n\nexport const useWalletLoadingState = <\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata\n>() => {\n const state = useWalletObserver<AssetMetadata>();\n const [connecting, setConnecting] = useState(false);\n const [syncing, setSyncing] = useState(false);\n const ready = useMemo(() => {\n return Boolean(state.observer.api && state.observer.activeWallet);\n }, [state.observer.api, state.observer.activeWallet]);\n\n useEffect(() => {\n if (!state.observer) {\n return;\n }\n\n const setConnectingStart = () => {\n setConnecting(() => true);\n };\n const setConnectingEnd = () => {\n setConnecting(() => false);\n };\n const setSyncingStart = () => {\n setSyncing(() => true);\n };\n const setSyncingEnd = () => {\n setSyncing(() => false);\n };\n\n state.observer.addEventListener(\n EWalletObserverEvents.CONNECT_WALLET_START,\n setConnectingStart\n );\n state.observer.addEventListener(\n EWalletObserverEvents.CONNECT_WALLET_END,\n setConnectingEnd\n );\n state.observer.addEventListener(\n EWalletObserverEvents.SYNCING_WALLET_START,\n setSyncingStart\n );\n state.observer.addEventListener(\n EWalletObserverEvents.SYNCING_WALLET_END,\n setSyncingEnd\n );\n\n return () => {\n state.observer.removeEventListener(\n EWalletObserverEvents.CONNECT_WALLET_START,\n setConnectingStart\n );\n state.observer.removeEventListener(\n EWalletObserverEvents.CONNECT_WALLET_END,\n setConnectingEnd\n );\n state.observer.removeEventListener(\n EWalletObserverEvents.SYNCING_WALLET_START,\n setSyncingStart\n );\n state.observer.removeEventListener(\n EWalletObserverEvents.SYNCING_WALLET_END,\n setSyncingEnd\n );\n };\n }, []);\n\n return {\n connectingWallet: connecting,\n syncingWallet: syncing,\n ready,\n };\n};\n"],"mappings":"AACA,SAASA,SAAS,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,OAAO;AAEpD,SAASC,qBAAqB,QAAQ,wBAAwB;AAC9D,SAASC,iBAAiB,QAAQ,wBAAwB;AAE1D,OAAO,MAAMC,qBAAqB,GAAGA,CAAA,KAE9B;EACL,MAAMC,KAAK,GAAGF,iBAAiB,CAAgB,CAAC;EAChD,MAAM,CAACG,UAAU,EAAEC,aAAa,CAAC,GAAGN,QAAQ,CAAC,KAAK,CAAC;EACnD,MAAM,CAACO,OAAO,EAAEC,UAAU,CAAC,GAAGR,QAAQ,CAAC,KAAK,CAAC;EAC7C,MAAMS,KAAK,GAAGV,OAAO,CAAC,MAAM;IAC1B,OAAOW,OAAO,CAACN,KAAK,CAACO,QAAQ,CAACC,GAAG,IAAIR,KAAK,CAACO,QAAQ,CAACE,YAAY,CAAC;EACnE,CAAC,EAAE,CAACT,KAAK,CAACO,QAAQ,CAACC,GAAG,EAAER,KAAK,CAACO,QAAQ,CAACE,YAAY,CAAC,CAAC;EAErDf,SAAS,CAAC,MAAM;IACd,IAAI,CAACM,KAAK,CAACO,QAAQ,EAAE;MACnB;IACF;IAEA,MAAMG,kBAAkB,GAAGA,CAAA,KAAM;MAC/BR,aAAa,CAAC,MAAM,IAAI,CAAC;IAC3B,CAAC;IACD,MAAMS,gBAAgB,GAAGA,CAAA,KAAM;MAC7BT,aAAa,CAAC,MAAM,KAAK,CAAC;IAC5B,CAAC;IACD,MAAMU,eAAe,GAAGA,CAAA,KAAM;MAC5BR,UAAU,CAAC,MAAM,IAAI,CAAC;IACxB,CAAC;IACD,MAAMS,aAAa,GAAGA,CAAA,KAAM;MAC1BT,UAAU,CAAC,MAAM,KAAK,CAAC;IACzB,CAAC;IAEDJ,KAAK,CAACO,QAAQ,CAACO,gBAAgB,CAC7BjB,qBAAqB,CAACkB,oBAAoB,EAC1CL,kBACF,CAAC;IACDV,KAAK,CAACO,QAAQ,CAACO,gBAAgB,CAC7BjB,qBAAqB,CAACmB,kBAAkB,EACxCL,gBACF,CAAC;IACDX,KAAK,CAACO,QAAQ,CAACO,gBAAgB,CAC7BjB,qBAAqB,CAACoB,oBAAoB,EAC1CL,eACF,CAAC;IACDZ,KAAK,CAACO,QAAQ,CAACO,gBAAgB,CAC7BjB,qBAAqB,CAACqB,kBAAkB,EACxCL,aACF,CAAC;IAED,OAAO,MAAM;MACXb,KAAK,CAACO,QAAQ,CAACY,mBAAmB,CAChCtB,qBAAqB,CAACkB,oBAAoB,EAC1CL,kBACF,CAAC;MACDV,KAAK,CAACO,QAAQ,CAACY,mBAAmB,CAChCtB,qBAAqB,CAACmB,kBAAkB,EACxCL,gBACF,CAAC;MACDX,KAAK,CAACO,QAAQ,CAACY,mBAAmB,CAChCtB,qBAAqB,CAACoB,oBAAoB,EAC1CL,eACF,CAAC;MACDZ,KAAK,CAACO,QAAQ,CAACY,mBAAmB,CAChCtB,qBAAqB,CAACqB,kBAAkB,EACxCL,aACF,CAAC;IACH,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,OAAO;IACLO,gBAAgB,EAAEnB,UAAU;IAC5BoB,aAAa,EAAElB,OAAO;IACtBE;EACF,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"useWalletLoadingState.js","names":["useEffect","useMemo","useState","EWalletObserverEvents","useWalletObserver","useWalletLoadingState","state","connecting","setConnecting","syncing","setSyncing","ready","Boolean","observer","api","activeWallet","setConnectingStart","setConnectingEnd","setSyncingStart","setSyncingEnd","addEventListener","CONNECT_WALLET_START","CONNECT_WALLET_END","SYNCING_WALLET_START","SYNCING_WALLET_END","removeEventListener","connectingWallet","syncingWallet"],"sources":["../../../../src/react-components/hooks/useWalletLoadingState.ts"],"sourcesContent":["import { IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport { useEffect, useMemo, useState } from \"react\";\n\nimport { EWalletObserverEvents } from \"../../@types/events.js\";\nimport { useWalletObserver } from \"./useWalletObserver.js\";\n\nexport const useWalletLoadingState = <\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata\n>() => {\n const state = useWalletObserver<AssetMetadata>();\n const [connecting, setConnecting] = useState(false);\n const [syncing, setSyncing] = useState(false);\n const ready = useMemo(() => {\n return Boolean(state.observer.api && state.observer.activeWallet);\n }, [state.observer.api, state.observer.activeWallet]);\n\n useEffect(() => {\n if (!state.observer) {\n return;\n }\n\n const setConnectingStart = () => {\n setConnecting(() => true);\n };\n const setConnectingEnd = () => {\n setConnecting(() => false);\n };\n const setSyncingStart = () => {\n setSyncing(() => true);\n };\n const setSyncingEnd = () => {\n setSyncing(() => false);\n };\n\n state.observer.addEventListener(\n EWalletObserverEvents.CONNECT_WALLET_START,\n setConnectingStart\n );\n state.observer.addEventListener(\n EWalletObserverEvents.CONNECT_WALLET_END,\n setConnectingEnd\n );\n state.observer.addEventListener(\n EWalletObserverEvents.SYNCING_WALLET_START,\n setSyncingStart\n );\n state.observer.addEventListener(\n EWalletObserverEvents.SYNCING_WALLET_END,\n setSyncingEnd\n );\n\n return () => {\n state.observer.removeEventListener(\n EWalletObserverEvents.CONNECT_WALLET_START,\n setConnectingStart\n );\n state.observer.removeEventListener(\n EWalletObserverEvents.CONNECT_WALLET_END,\n setConnectingEnd\n );\n state.observer.removeEventListener(\n EWalletObserverEvents.SYNCING_WALLET_START,\n setSyncingStart\n );\n state.observer.removeEventListener(\n EWalletObserverEvents.SYNCING_WALLET_END,\n setSyncingEnd\n );\n };\n }, [state.observer]);\n\n return {\n connectingWallet: connecting,\n syncingWallet: syncing,\n ready,\n };\n};\n"],"mappings":"AACA,SAASA,SAAS,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,OAAO;AAEpD,SAASC,qBAAqB,QAAQ,wBAAwB;AAC9D,SAASC,iBAAiB,QAAQ,wBAAwB;AAE1D,OAAO,MAAMC,qBAAqB,GAAGA,CAAA,KAE9B;EACL,MAAMC,KAAK,GAAGF,iBAAiB,CAAgB,CAAC;EAChD,MAAM,CAACG,UAAU,EAAEC,aAAa,CAAC,GAAGN,QAAQ,CAAC,KAAK,CAAC;EACnD,MAAM,CAACO,OAAO,EAAEC,UAAU,CAAC,GAAGR,QAAQ,CAAC,KAAK,CAAC;EAC7C,MAAMS,KAAK,GAAGV,OAAO,CAAC,MAAM;IAC1B,OAAOW,OAAO,CAACN,KAAK,CAACO,QAAQ,CAACC,GAAG,IAAIR,KAAK,CAACO,QAAQ,CAACE,YAAY,CAAC;EACnE,CAAC,EAAE,CAACT,KAAK,CAACO,QAAQ,CAACC,GAAG,EAAER,KAAK,CAACO,QAAQ,CAACE,YAAY,CAAC,CAAC;EAErDf,SAAS,CAAC,MAAM;IACd,IAAI,CAACM,KAAK,CAACO,QAAQ,EAAE;MACnB;IACF;IAEA,MAAMG,kBAAkB,GAAGA,CAAA,KAAM;MAC/BR,aAAa,CAAC,MAAM,IAAI,CAAC;IAC3B,CAAC;IACD,MAAMS,gBAAgB,GAAGA,CAAA,KAAM;MAC7BT,aAAa,CAAC,MAAM,KAAK,CAAC;IAC5B,CAAC;IACD,MAAMU,eAAe,GAAGA,CAAA,KAAM;MAC5BR,UAAU,CAAC,MAAM,IAAI,CAAC;IACxB,CAAC;IACD,MAAMS,aAAa,GAAGA,CAAA,KAAM;MAC1BT,UAAU,CAAC,MAAM,KAAK,CAAC;IACzB,CAAC;IAEDJ,KAAK,CAACO,QAAQ,CAACO,gBAAgB,CAC7BjB,qBAAqB,CAACkB,oBAAoB,EAC1CL,kBACF,CAAC;IACDV,KAAK,CAACO,QAAQ,CAACO,gBAAgB,CAC7BjB,qBAAqB,CAACmB,kBAAkB,EACxCL,gBACF,CAAC;IACDX,KAAK,CAACO,QAAQ,CAACO,gBAAgB,CAC7BjB,qBAAqB,CAACoB,oBAAoB,EAC1CL,eACF,CAAC;IACDZ,KAAK,CAACO,QAAQ,CAACO,gBAAgB,CAC7BjB,qBAAqB,CAACqB,kBAAkB,EACxCL,aACF,CAAC;IAED,OAAO,MAAM;MACXb,KAAK,CAACO,QAAQ,CAACY,mBAAmB,CAChCtB,qBAAqB,CAACkB,oBAAoB,EAC1CL,kBACF,CAAC;MACDV,KAAK,CAACO,QAAQ,CAACY,mBAAmB,CAChCtB,qBAAqB,CAACmB,kBAAkB,EACxCL,gBACF,CAAC;MACDX,KAAK,CAACO,QAAQ,CAACY,mBAAmB,CAChCtB,qBAAqB,CAACoB,oBAAoB,EAC1CL,eACF,CAAC;MACDZ,KAAK,CAACO,QAAQ,CAACY,mBAAmB,CAChCtB,qBAAqB,CAACqB,kBAAkB,EACxCL,aACF,CAAC;IACH,CAAC;EACH,CAAC,EAAE,CAACb,KAAK,CAACO,QAAQ,CAAC,CAAC;EAEpB,OAAO;IACLa,gBAAgB,EAAEnB,UAAU;IAC5BoB,aAAa,EAAElB,OAAO;IACtBE;EACF,CAAC;AACH,CAAC","ignoreList":[]}
@@ -25,7 +25,9 @@ export const useWalletObserver = () => {
25
25
  syncWallet: state.syncWallet,
26
26
  disconnect: state.disconnect,
27
27
  connectWallet: state.connectWallet,
28
- switching: state.switching
28
+ switching: state.switching,
29
+ isPending: state.isPending,
30
+ handles: state.handles
29
31
  };
30
32
  return result;
31
33
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useWalletObserver.js","names":["useWalletObserverContext","useWalletObserver","state","result","isCip45","activeWallet","adaBalance","balance","mainAddress","stakeAddress","network","utxos","collateral","observer","unusedAddresses","usedAddresses","syncWallet","disconnect","connectWallet","switching"],"sources":["../../../../src/react-components/hooks/useWalletObserver.ts"],"sourcesContent":["import { IAssetAmountMetadata } from \"@sundaeswap/asset\";\n\nimport {\n TUseWalletObserverState,\n useWalletObserverContext,\n} from \"../contexts/observer/index.js\";\n\n/**\n * Exposes the WalletObserver state.\n *\n * @returns {TUseWalletObserverState<AssetMetadata>}\n */\nexport const useWalletObserver = <\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata\n>(): TUseWalletObserverState<AssetMetadata> => {\n const { state } = useWalletObserverContext<AssetMetadata>();\n\n const result: TUseWalletObserverState<AssetMetadata> = {\n isCip45: state.isCip45,\n activeWallet: state.activeWallet,\n adaBalance: state.adaBalance,\n balance: state.balance,\n mainAddress: state.mainAddress,\n stakeAddress: state.stakeAddress,\n network: state.network,\n utxos: state.utxos,\n collateral: state.collateral,\n observer: state.observer,\n unusedAddresses: state.unusedAddresses,\n usedAddresses: state.usedAddresses,\n syncWallet: state.syncWallet,\n disconnect: state.disconnect,\n connectWallet: state.connectWallet,\n switching: state.switching,\n };\n\n return result;\n};\n"],"mappings":"AAEA,SAEEA,wBAAwB,QACnB,+BAA+B;;AAEtC;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,iBAAiB,GAAGA,CAAA,KAEc;EAC7C,MAAM;IAAEC;EAAM,CAAC,GAAGF,wBAAwB,CAAgB,CAAC;EAE3D,MAAMG,MAA8C,GAAG;IACrDC,OAAO,EAAEF,KAAK,CAACE,OAAO;IACtBC,YAAY,EAAEH,KAAK,CAACG,YAAY;IAChCC,UAAU,EAAEJ,KAAK,CAACI,UAAU;IAC5BC,OAAO,EAAEL,KAAK,CAACK,OAAO;IACtBC,WAAW,EAAEN,KAAK,CAACM,WAAW;IAC9BC,YAAY,EAAEP,KAAK,CAACO,YAAY;IAChCC,OAAO,EAAER,KAAK,CAACQ,OAAO;IACtBC,KAAK,EAAET,KAAK,CAACS,KAAK;IAClBC,UAAU,EAAEV,KAAK,CAACU,UAAU;IAC5BC,QAAQ,EAAEX,KAAK,CAACW,QAAQ;IACxBC,eAAe,EAAEZ,KAAK,CAACY,eAAe;IACtCC,aAAa,EAAEb,KAAK,CAACa,aAAa;IAClCC,UAAU,EAAEd,KAAK,CAACc,UAAU;IAC5BC,UAAU,EAAEf,KAAK,CAACe,UAAU;IAC5BC,aAAa,EAAEhB,KAAK,CAACgB,aAAa;IAClCC,SAAS,EAAEjB,KAAK,CAACiB;EACnB,CAAC;EAED,OAAOhB,MAAM;AACf,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"useWalletObserver.js","names":["useWalletObserverContext","useWalletObserver","state","result","isCip45","activeWallet","adaBalance","balance","mainAddress","stakeAddress","network","utxos","collateral","observer","unusedAddresses","usedAddresses","syncWallet","disconnect","connectWallet","switching","isPending","handles"],"sources":["../../../../src/react-components/hooks/useWalletObserver.ts"],"sourcesContent":["import { IAssetAmountMetadata } from \"@sundaeswap/asset\";\n\nimport {\n TUseWalletObserverState,\n useWalletObserverContext,\n} from \"../contexts/observer/index.js\";\n\n/**\n * Exposes the WalletObserver state.\n *\n * @returns {TUseWalletObserverState<AssetMetadata>}\n */\nexport const useWalletObserver = <\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata\n>(): TUseWalletObserverState<AssetMetadata> => {\n const { state } = useWalletObserverContext<AssetMetadata>();\n\n const result: TUseWalletObserverState<AssetMetadata> = {\n isCip45: state.isCip45,\n activeWallet: state.activeWallet,\n adaBalance: state.adaBalance,\n balance: state.balance,\n mainAddress: state.mainAddress,\n stakeAddress: state.stakeAddress,\n network: state.network,\n utxos: state.utxos,\n collateral: state.collateral,\n observer: state.observer,\n unusedAddresses: state.unusedAddresses,\n usedAddresses: state.usedAddresses,\n syncWallet: state.syncWallet,\n disconnect: state.disconnect,\n connectWallet: state.connectWallet,\n switching: state.switching,\n isPending: state.isPending,\n handles: state.handles,\n };\n\n return result;\n};\n"],"mappings":"AAEA,SAEEA,wBAAwB,QACnB,+BAA+B;;AAEtC;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,iBAAiB,GAAGA,CAAA,KAEc;EAC7C,MAAM;IAAEC;EAAM,CAAC,GAAGF,wBAAwB,CAAgB,CAAC;EAE3D,MAAMG,MAA8C,GAAG;IACrDC,OAAO,EAAEF,KAAK,CAACE,OAAO;IACtBC,YAAY,EAAEH,KAAK,CAACG,YAAY;IAChCC,UAAU,EAAEJ,KAAK,CAACI,UAAU;IAC5BC,OAAO,EAAEL,KAAK,CAACK,OAAO;IACtBC,WAAW,EAAEN,KAAK,CAACM,WAAW;IAC9BC,YAAY,EAAEP,KAAK,CAACO,YAAY;IAChCC,OAAO,EAAER,KAAK,CAACQ,OAAO;IACtBC,KAAK,EAAET,KAAK,CAACS,KAAK;IAClBC,UAAU,EAAEV,KAAK,CAACU,UAAU;IAC5BC,QAAQ,EAAEX,KAAK,CAACW,QAAQ;IACxBC,eAAe,EAAEZ,KAAK,CAACY,eAAe;IACtCC,aAAa,EAAEb,KAAK,CAACa,aAAa;IAClCC,UAAU,EAAEd,KAAK,CAACc,UAAU;IAC5BC,UAAU,EAAEf,KAAK,CAACe,UAAU;IAC5BC,aAAa,EAAEhB,KAAK,CAACgB,aAAa;IAClCC,SAAS,EAAEjB,KAAK,CAACiB,SAAS;IAC1BC,SAAS,EAAElB,KAAK,CAACkB,SAAS;IAC1BC,OAAO,EAAEnB,KAAK,CAACmB;EACjB,CAAC;EAED,OAAOlB,MAAM;AACf,CAAC","ignoreList":[]}
@@ -1,8 +1,9 @@
1
- import { useEffect, useRef, useState } from "react";
1
+ import { useEffect, useRef, useState, useTransition } from "react";
2
2
  import { useWalletObserver } from "./useWalletObserver.js";
3
3
  import { jsx as _jsx } from "react/jsx-runtime";
4
4
  export const useWalletPeerConnect = () => {
5
5
  const state = useWalletObserver();
6
+ const [isPending, startTransition] = useTransition();
6
7
  const [peerConnect, setPeerConnect] = useState();
7
8
  const [error, setError] = useState();
8
9
  const qrCode = useRef(null);
@@ -10,7 +11,15 @@ export const useWalletPeerConnect = () => {
10
11
  if (!state.observer) {
11
12
  return;
12
13
  }
13
- state.observer.getCip45Instance().then(res => setPeerConnect(res)).catch(e => setError(e.message));
14
+ state.observer.getCip45Instance().then(res => {
15
+ startTransition(() => {
16
+ try {
17
+ setPeerConnect(res);
18
+ } catch (e) {
19
+ setError(e.message);
20
+ }
21
+ });
22
+ });
14
23
  }, [state.observer, setPeerConnect, setError]);
15
24
  useEffect(() => {
16
25
  if (peerConnect && qrCode.current) {
@@ -22,7 +31,8 @@ export const useWalletPeerConnect = () => {
22
31
  QRCodeElement: /*#__PURE__*/_jsx("div", {
23
32
  ref: qrCode
24
33
  }),
25
- error
34
+ error,
35
+ isLoading: isPending
26
36
  };
27
37
  };
28
38
  //# sourceMappingURL=useWalletPeerConnect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useWalletPeerConnect.js","names":["useEffect","useRef","useState","useWalletObserver","jsx","_jsx","useWalletPeerConnect","state","peerConnect","setPeerConnect","error","setError","qrCode","observer","getCip45Instance","then","res","catch","e","message","current","instance","generateQRCode","QRCodeElement","ref"],"sources":["../../../../src/react-components/hooks/useWalletPeerConnect.tsx"],"sourcesContent":["import { IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport { MutableRefObject, useEffect, useRef, useState } from \"react\";\n\nimport { TGetPeerConnectInstance } from \"../../@types/observer.js\";\nimport { useWalletObserver } from \"./useWalletObserver.js\";\n\nexport const useWalletPeerConnect = <\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata\n>() => {\n const state = useWalletObserver<AssetMetadata>();\n const [peerConnect, setPeerConnect] =\n useState<ReturnType<TGetPeerConnectInstance>>();\n const [error, setError] = useState<string>();\n const qrCode = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (!state.observer) {\n return;\n }\n\n state.observer\n .getCip45Instance()\n .then((res) => setPeerConnect(res))\n .catch((e) => setError((e as Error).message));\n }, [state.observer, setPeerConnect, setError]);\n\n useEffect(() => {\n if (peerConnect && qrCode.current) {\n peerConnect.instance.generateQRCode(qrCode.current);\n }\n }, [peerConnect, qrCode]);\n\n return {\n peerConnect,\n QRCodeElement: <div ref={qrCode as MutableRefObject<HTMLDivElement>} />,\n error,\n };\n};\n"],"mappings":"AACA,SAA2BA,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAGrE,SAASC,iBAAiB,QAAQ,wBAAwB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE3D,OAAO,MAAMC,oBAAoB,GAAGA,CAAA,KAE7B;EACL,MAAMC,KAAK,GAAGJ,iBAAiB,CAAgB,CAAC;EAChD,MAAM,CAACK,WAAW,EAAEC,cAAc,CAAC,GACjCP,QAAQ,CAAsC,CAAC;EACjD,MAAM,CAACQ,KAAK,EAAEC,QAAQ,CAAC,GAAGT,QAAQ,CAAS,CAAC;EAC5C,MAAMU,MAAM,GAAGX,MAAM,CAAiB,IAAI,CAAC;EAE3CD,SAAS,CAAC,MAAM;IACd,IAAI,CAACO,KAAK,CAACM,QAAQ,EAAE;MACnB;IACF;IAEAN,KAAK,CAACM,QAAQ,CACXC,gBAAgB,CAAC,CAAC,CAClBC,IAAI,CAAEC,GAAG,IAAKP,cAAc,CAACO,GAAG,CAAC,CAAC,CAClCC,KAAK,CAAEC,CAAC,IAAKP,QAAQ,CAAEO,CAAC,CAAWC,OAAO,CAAC,CAAC;EACjD,CAAC,EAAE,CAACZ,KAAK,CAACM,QAAQ,EAAEJ,cAAc,EAAEE,QAAQ,CAAC,CAAC;EAE9CX,SAAS,CAAC,MAAM;IACd,IAAIQ,WAAW,IAAII,MAAM,CAACQ,OAAO,EAAE;MACjCZ,WAAW,CAACa,QAAQ,CAACC,cAAc,CAACV,MAAM,CAACQ,OAAO,CAAC;IACrD;EACF,CAAC,EAAE,CAACZ,WAAW,EAAEI,MAAM,CAAC,CAAC;EAEzB,OAAO;IACLJ,WAAW;IACXe,aAAa,eAAElB,IAAA;MAAKmB,GAAG,EAAEZ;IAA2C,CAAE,CAAC;IACvEF;EACF,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"useWalletPeerConnect.js","names":["useEffect","useRef","useState","useTransition","useWalletObserver","jsx","_jsx","useWalletPeerConnect","state","isPending","startTransition","peerConnect","setPeerConnect","error","setError","qrCode","observer","getCip45Instance","then","res","e","message","current","instance","generateQRCode","QRCodeElement","ref","isLoading"],"sources":["../../../../src/react-components/hooks/useWalletPeerConnect.tsx"],"sourcesContent":["import { IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport {\n MutableRefObject,\n useEffect,\n useRef,\n useState,\n useTransition,\n} from \"react\";\n\nimport { TGetPeerConnectInstance } from \"../../@types/observer.js\";\nimport { useWalletObserver } from \"./useWalletObserver.js\";\n\nexport const useWalletPeerConnect = <\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata\n>() => {\n const state = useWalletObserver<AssetMetadata>();\n const [isPending, startTransition] = useTransition();\n const [peerConnect, setPeerConnect] =\n useState<ReturnType<TGetPeerConnectInstance>>();\n const [error, setError] = useState<string>();\n const qrCode = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (!state.observer) {\n return;\n }\n\n state.observer.getCip45Instance().then((res) => {\n startTransition(() => {\n try {\n setPeerConnect(res);\n } catch (e) {\n setError((e as Error).message);\n }\n });\n });\n }, [state.observer, setPeerConnect, setError]);\n\n useEffect(() => {\n if (peerConnect && qrCode.current) {\n peerConnect.instance.generateQRCode(qrCode.current);\n }\n }, [peerConnect, qrCode]);\n\n return {\n peerConnect,\n QRCodeElement: <div ref={qrCode as MutableRefObject<HTMLDivElement>} />,\n error,\n isLoading: isPending,\n };\n};\n"],"mappings":"AACA,SAEEA,SAAS,EACTC,MAAM,EACNC,QAAQ,EACRC,aAAa,QACR,OAAO;AAGd,SAASC,iBAAiB,QAAQ,wBAAwB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE3D,OAAO,MAAMC,oBAAoB,GAAGA,CAAA,KAE7B;EACL,MAAMC,KAAK,GAAGJ,iBAAiB,CAAgB,CAAC;EAChD,MAAM,CAACK,SAAS,EAAEC,eAAe,CAAC,GAAGP,aAAa,CAAC,CAAC;EACpD,MAAM,CAACQ,WAAW,EAAEC,cAAc,CAAC,GACjCV,QAAQ,CAAsC,CAAC;EACjD,MAAM,CAACW,KAAK,EAAEC,QAAQ,CAAC,GAAGZ,QAAQ,CAAS,CAAC;EAC5C,MAAMa,MAAM,GAAGd,MAAM,CAAiB,IAAI,CAAC;EAE3CD,SAAS,CAAC,MAAM;IACd,IAAI,CAACQ,KAAK,CAACQ,QAAQ,EAAE;MACnB;IACF;IAEAR,KAAK,CAACQ,QAAQ,CAACC,gBAAgB,CAAC,CAAC,CAACC,IAAI,CAAEC,GAAG,IAAK;MAC9CT,eAAe,CAAC,MAAM;QACpB,IAAI;UACFE,cAAc,CAACO,GAAG,CAAC;QACrB,CAAC,CAAC,OAAOC,CAAC,EAAE;UACVN,QAAQ,CAAEM,CAAC,CAAWC,OAAO,CAAC;QAChC;MACF,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ,CAAC,EAAE,CAACb,KAAK,CAACQ,QAAQ,EAAEJ,cAAc,EAAEE,QAAQ,CAAC,CAAC;EAE9Cd,SAAS,CAAC,MAAM;IACd,IAAIW,WAAW,IAAII,MAAM,CAACO,OAAO,EAAE;MACjCX,WAAW,CAACY,QAAQ,CAACC,cAAc,CAACT,MAAM,CAACO,OAAO,CAAC;IACrD;EACF,CAAC,EAAE,CAACX,WAAW,EAAEI,MAAM,CAAC,CAAC;EAEzB,OAAO;IACLJ,WAAW;IACXc,aAAa,eAAEnB,IAAA;MAAKoB,GAAG,EAAEX;IAA2C,CAAE,CAAC;IACvEF,KAAK;IACLc,SAAS,EAAElB;EACb,CAAC;AACH,CAAC","ignoreList":[]}
@@ -1,27 +1,19 @@
1
1
  export const getCardanoCore = async () => {
2
- const {
3
- Serialization,
4
- Cardano
5
- } = await import("@cardano-sdk/core");
6
- return {
7
- Serialization,
8
- Cardano
9
- };
2
+ return import("@cardano-sdk/core").then(module => {
3
+ return {
4
+ Serialization: module.Serialization,
5
+ Cardano: module.Cardano
6
+ };
7
+ });
10
8
  };
11
9
  export const getCardanoUtil = async () => {
12
- const {
13
- typedHex
14
- } = await import("@cardano-sdk/util");
15
- return {
16
- typedHex
17
- };
10
+ return import("@cardano-sdk/util").then(module => {
11
+ return module.typedHex;
12
+ });
18
13
  };
19
14
  export const getPeerConnect = async () => {
20
- const {
21
- DAppPeerConnect
22
- } = await import("@fabianbormann/cardano-peer-connect");
23
- return {
24
- DAppPeerConnect
25
- };
15
+ return import("@fabianbormann/cardano-peer-connect").then(module => {
16
+ return module.default.DAppPeerConnect;
17
+ });
26
18
  };
27
19
  //# sourceMappingURL=getLibs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getLibs.js","names":["getCardanoCore","Serialization","Cardano","getCardanoUtil","typedHex","getPeerConnect","DAppPeerConnect"],"sources":["../../../src/utils/getLibs.ts"],"sourcesContent":["export const getCardanoCore = async () => {\n const { Serialization, Cardano } = await import(\"@cardano-sdk/core\");\n return {\n Serialization,\n Cardano,\n };\n};\n\nexport const getCardanoUtil = async () => {\n const { typedHex } = await import(\"@cardano-sdk/util\");\n return { typedHex };\n};\n\nexport const getPeerConnect = async () => {\n const { DAppPeerConnect } = await import(\n \"@fabianbormann/cardano-peer-connect\"\n );\n return { DAppPeerConnect };\n};\n"],"mappings":"AAAA,OAAO,MAAMA,cAAc,GAAG,MAAAA,CAAA,KAAY;EACxC,MAAM;IAAEC,aAAa;IAAEC;EAAQ,CAAC,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC;EACpE,OAAO;IACLD,aAAa;IACbC;EACF,CAAC;AACH,CAAC;AAED,OAAO,MAAMC,cAAc,GAAG,MAAAA,CAAA,KAAY;EACxC,MAAM;IAAEC;EAAS,CAAC,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC;EACtD,OAAO;IAAEA;EAAS,CAAC;AACrB,CAAC;AAED,OAAO,MAAMC,cAAc,GAAG,MAAAA,CAAA,KAAY;EACxC,MAAM;IAAEC;EAAgB,CAAC,GAAG,MAAM,MAAM,CACtC,qCACF,CAAC;EACD,OAAO;IAAEA;EAAgB,CAAC;AAC5B,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"getLibs.js","names":["getCardanoCore","then","module","Serialization","Cardano","getCardanoUtil","typedHex","getPeerConnect","default","DAppPeerConnect"],"sources":["../../../src/utils/getLibs.ts"],"sourcesContent":["export const getCardanoCore = async () => {\n return import(\"@cardano-sdk/core\").then((module) => {\n return {\n Serialization: module.Serialization,\n Cardano: module.Cardano,\n };\n });\n};\n\nexport const getCardanoUtil = async () => {\n return import(\"@cardano-sdk/util\").then((module) => {\n return module.typedHex;\n });\n};\n\nexport const getPeerConnect = async () => {\n return import(\"@fabianbormann/cardano-peer-connect\").then((module) => {\n return module.default.DAppPeerConnect;\n });\n};\n"],"mappings":"AAAA,OAAO,MAAMA,cAAc,GAAG,MAAAA,CAAA,KAAY;EACxC,OAAO,MAAM,CAAC,mBAAmB,CAAC,CAACC,IAAI,CAAEC,MAAM,IAAK;IAClD,OAAO;MACLC,aAAa,EAAED,MAAM,CAACC,aAAa;MACnCC,OAAO,EAAEF,MAAM,CAACE;IAClB,CAAC;EACH,CAAC,CAAC;AACJ,CAAC;AAED,OAAO,MAAMC,cAAc,GAAG,MAAAA,CAAA,KAAY;EACxC,OAAO,MAAM,CAAC,mBAAmB,CAAC,CAACJ,IAAI,CAAEC,MAAM,IAAK;IAClD,OAAOA,MAAM,CAACI,QAAQ;EACxB,CAAC,CAAC;AACJ,CAAC;AAED,OAAO,MAAMC,cAAc,GAAG,MAAAA,CAAA,KAAY;EACxC,OAAO,MAAM,CAAC,qCAAqC,CAAC,CAACN,IAAI,CAAEC,MAAM,IAAK;IACpE,OAAOA,MAAM,CAACM,OAAO,CAACC,eAAe;EACvC,CAAC,CAAC;AACJ,CAAC","ignoreList":[]}
@@ -47,9 +47,9 @@ export declare class WalletObserver<AssetMetadata extends IAssetAmountMetadata =
47
47
  * In the event that a promise will not resolve due to external issues,
48
48
  * after 7 seconds, a timeout function will fire that resets the API and tries again.
49
49
  *
50
- * @returns {Promise<IWalletObserverSync>} - A promise that resolves to the wallet sync data.
50
+ * @returns {Promise<IWalletObserverSync<AssetMetadata>>} - A promise that resolves to the wallet sync data.
51
51
  */
52
- sync: () => Promise<IWalletObserverSync>;
52
+ sync: () => Promise<IWalletObserverSync<AssetMetadata>>;
53
53
  /**
54
54
  * Helper method to check if the class is currently performing a sync
55
55
  * operation. This is useful to avoid duplicate calls, but does not
@@ -1 +1 @@
1
- {"version":3,"file":"WalletObserver.class.d.ts","sourceRoot":"","sources":["../../../src/classes/WalletObserver.class.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mDAAmD,CAAC;AAClG,OAAO,EAGL,KAAK,cAAc,EAEpB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAe,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAI3E,OAAO,KAAK,EAGV,mBAAmB,EACnB,qBAAqB,EACrB,0BAA0B,EAC1B,sBAAsB,EACvB,MAAM,uBAAuB,CAAC;AAO/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAErE;;;;;;;;;;;;;GAaG;AACH,qBAAa,cAAc,CACzB,aAAa,SAAS,oBAAoB,GAAG,oBAAoB,CACjE,SAAQ,mBAAmB;IAC3B,MAAM,CAAC,qBAAqB,SAAoB;IAChD,MAAM,CAAC,YAAY,SAAkB;IAC9B,OAAO,EAAE,MAAM,CAAK;IACpB,GAAG,CAAC,EAAE,cAAc,CAAC;IACrB,YAAY,CAAC,EAAE,0BAA0B,CAAC;IAC1C,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAC5B,mBAAmB,CAAC,EAAE,OAAO,qCAAqC,EAAE,eAAe,CAAC;IAE3F,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAgD;IAChE,OAAO,CAAC,oBAAoB,CAO1B;IAGF,OAAO,CAAC,eAAe,CAAyC;IAEhE;;;;OAIG;gBACS,OAAO,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC;IA0CpE;;;;;;;;;;;OAWG;IACH,IAAI,QAAa,QAAQ,mBAAmB,CAAC,CA+D3C;IAEF;;;;;;OAMG;IACH,SAAS,IAAI,OAAO;IAIpB;;;;OAIG;IACH,mBAAmB,IAAI,OAAO;IAI9B;;;;;;OAMG;IACH,OAAO,kBAAyB,0BAA0B,KAAG,QAAQ,GAAG,CAAC,CA6CvE;IAEF;;;;OAIG;IACH,UAAU,QAAO,sBAAsB,CAErC;IAEF;;;;;;;OAOG;IACH,aAAa,cACA,0BAA0B,KACpC,QAAQ,IAAI,CAAC,CAkDd;IAEF,gBAAgB;;;;OAmBd;IAEF;;;;OAIG;IACH,sBAAsB,QAAO,IAAI,MAAM,EAAE,aAAa,CAAC,CAChC;IAEvB;;;;OAIG;IACH,sBAAsB,QAAO,0BAA0B,EAAE,CAEvD;IAEF;;;;OAIG;IACH,UAAU,QAAO,IAAI,CAKnB;IAEF;;;;OAIG;IACH,aAAa,QAAa,QAAQ,iBAAiB,aAAa,CAAC,CAAC,CA+ChE;IAEF;;;;OAIG;IACH,UAAU,QAAa,QAAQ,MAAM,CAAC,CAepC;IAEF;;;;OAIG;IACH,gBAAgB,QAAa,QAAQ,MAAM,EAAE,CAAC,CAwB5C;IAEF;;;;OAIG;IACH,kBAAkB,QAAa,QAAQ,MAAM,EAAE,CAAC,CAwB9C;IAEF;;;;OAIG;IACH,QAAQ,QAAa,QAAQ,wBAAwB,EAAE,GAAG,SAAS,CAAC,CA6BlE;IAEF;;;;OAIG;IACH,aAAa,QAAa,QAAQ,wBAAwB,EAAE,GAAG,SAAS,CAAC,CAsCvE;IAEF;;;;;;OAMG;IACH,OAAO,CAAC,2BAA2B,CAkDjC;IAEF;;;;OAIG;IACI,wBAAwB,EAAE,qBAAqB,CAAC,aAAa,CAAC,CAWjE;IAEJ;;;;OAIG;IACU,QAAQ,IAAI,OAAO,CAAC,mBAAmB,CAAC;CAOtD"}
1
+ {"version":3,"file":"WalletObserver.class.d.ts","sourceRoot":"","sources":["../../../src/classes/WalletObserver.class.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mDAAmD,CAAC;AAClG,OAAO,EAGL,KAAK,cAAc,EAEpB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAe,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAI3E,OAAO,KAAK,EAGV,mBAAmB,EACnB,qBAAqB,EACrB,0BAA0B,EAC1B,sBAAsB,EACvB,MAAM,uBAAuB,CAAC;AAO/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAErE;;;;;;;;;;;;;GAaG;AACH,qBAAa,cAAc,CACzB,aAAa,SAAS,oBAAoB,GAAG,oBAAoB,CACjE,SAAQ,mBAAmB;IAC3B,MAAM,CAAC,qBAAqB,SAAoB;IAChD,MAAM,CAAC,YAAY,SAAkB;IAC9B,OAAO,EAAE,MAAM,CAAK;IACpB,GAAG,CAAC,EAAE,cAAc,CAAC;IACrB,YAAY,CAAC,EAAE,0BAA0B,CAAC;IAC1C,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAC5B,mBAAmB,CAAC,EAAE,OAAO,qCAAqC,EAAE,eAAe,CAAC;IAE3F,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAgD;IAChE,OAAO,CAAC,oBAAoB,CAO1B;IAGF,OAAO,CAAC,eAAe,CAAyC;IAEhE;;;;OAIG;gBACS,OAAO,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC;IA0CpE;;;;;;;;;;;OAWG;IACH,IAAI,QAAa,QAAQ,oBAAoB,aAAa,CAAC,CAAC,CA+D1D;IAEF;;;;;;OAMG;IACH,SAAS,IAAI,OAAO;IAIpB;;;;OAIG;IACH,mBAAmB,IAAI,OAAO;IAI9B;;;;;;OAMG;IACH,OAAO,kBAAyB,0BAA0B,KAAG,QAAQ,GAAG,CAAC,CA6CvE;IAEF;;;;OAIG;IACH,UAAU,QAAO,sBAAsB,CAErC;IAEF;;;;;;;OAOG;IACH,aAAa,cACA,0BAA0B,KACpC,QAAQ,IAAI,CAAC,CAkDd;IAEF,gBAAgB;;;;OAmBd;IAEF;;;;OAIG;IACH,sBAAsB,QAAO,IAAI,MAAM,EAAE,aAAa,CAAC,CAChC;IAEvB;;;;OAIG;IACH,sBAAsB,QAAO,0BAA0B,EAAE,CAEvD;IAEF;;;;OAIG;IACH,UAAU,QAAO,IAAI,CAKnB;IAEF;;;;OAIG;IACH,aAAa,QAAa,QAAQ,iBAAiB,aAAa,CAAC,CAAC,CA+ChE;IAEF;;;;OAIG;IACH,UAAU,QAAa,QAAQ,MAAM,CAAC,CAepC;IAEF;;;;OAIG;IACH,gBAAgB,QAAa,QAAQ,MAAM,EAAE,CAAC,CAwB5C;IAEF;;;;OAIG;IACH,kBAAkB,QAAa,QAAQ,MAAM,EAAE,CAAC,CAwB9C;IAEF;;;;OAIG;IACH,QAAQ,QAAa,QAAQ,wBAAwB,EAAE,GAAG,SAAS,CAAC,CA6BlE;IAEF;;;;OAIG;IACH,aAAa,QAAa,QAAQ,wBAAwB,EAAE,GAAG,SAAS,CAAC,CAsCvE;IAEF;;;;;;OAMG;IACH,OAAO,CAAC,2BAA2B,CAkDjC;IAEF;;;;OAIG;IACI,wBAAwB,EAAE,qBAAqB,CAAC,aAAa,CAAC,CAWjE;IAEJ;;;;OAIG;IACU,QAAQ,IAAI,OAAO,CAAC,mBAAmB,CAAC;CAOtD"}
@@ -1,10 +1,12 @@
1
1
  import { IAssetAmountMetadata } from "@sundaeswap/asset";
2
- import { FC, ReactNode } from "react";
2
+ import { FC, ReactElement, ReactNode } from "react";
3
3
  import { useWalletObserver } from "./hooks/useWalletObserver.js";
4
4
  export type TRenderWalletFunctionState<T extends IAssetAmountMetadata = IAssetAmountMetadata> = ReturnType<typeof useWalletObserver<T>>;
5
5
  export type TRenderWalletFunction = (state: TRenderWalletFunctionState<any>) => JSX.Element | ReactNode;
6
6
  export interface IRenderWalletProps {
7
7
  render: TRenderWalletFunction;
8
+ loader?: ReactNode;
9
+ fallback?: ReactElement;
8
10
  }
9
11
  /**
10
12
  * This component is responsible for rendering just the wallet state
@@ -1 +1 @@
1
- {"version":3,"file":"RenderWallet.d.ts","sourceRoot":"","sources":["../../../src/react-components/RenderWallet.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEjE,MAAM,MAAM,0BAA0B,CACpC,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,IACnD,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;AAE5C,MAAM,MAAM,qBAAqB,GAAG,CAClC,KAAK,EAAE,0BAA0B,CAAC,GAAG,CAAC,KACnC,GAAG,CAAC,OAAO,GAAG,SAAS,CAAC;AAE7B,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,qBAAqB,CAAC;CAC/B;AAED;;;;;GAKG;AACH,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,kBAAkB,CAI/C,CAAC"}
1
+ {"version":3,"file":"RenderWallet.d.ts","sourceRoot":"","sources":["../../../src/react-components/RenderWallet.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,SAAS,EAAY,MAAM,OAAO,CAAC;AAG9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEjE,MAAM,MAAM,0BAA0B,CACpC,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,IACnD,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;AAE5C,MAAM,MAAM,qBAAqB,GAAG,CAClC,KAAK,EAAE,0BAA0B,CAAC,GAAG,CAAC,KACnC,GAAG,CAAC,OAAO,GAAG,SAAS,CAAC;AAE7B,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,qBAAqB,CAAC;IAC9B,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,QAAQ,CAAC,EAAE,YAAY,CAAC;CACzB;AAED;;;;;GAKG;AACH,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,kBAAkB,CAmB/C,CAAC"}
@@ -1,11 +1,13 @@
1
1
  import { IAssetAmountMetadata } from "@sundaeswap/asset";
2
- import { FC, ReactNode } from "react";
2
+ import { FC, ReactElement, ReactNode } from "react";
3
3
  import { useWalletHandles } from "./hooks/useWalletHandles.js";
4
4
  import { useWalletObserver } from "./hooks/useWalletObserver.js";
5
5
  export type TRenderWalletHandlesFunctionState<T extends IAssetAmountMetadata = IAssetAmountMetadata> = ReturnType<typeof useWalletObserver<T>> & ReturnType<typeof useWalletHandles<T>>;
6
6
  export type TRenderWalletHandlesFunction = (state: TRenderWalletHandlesFunctionState) => JSX.Element | ReactNode;
7
7
  export interface IRenderWalletHandlesProps {
8
8
  render: TRenderWalletHandlesFunction;
9
+ loader?: ReactNode;
10
+ fallback?: ReactElement;
9
11
  }
10
12
  /**
11
13
  * This component is the same as RenderWallet, but supports
@@ -1 +1 @@
1
- {"version":3,"file":"RenderWalletHandles.d.ts","sourceRoot":"","sources":["../../../src/react-components/RenderWalletHandles.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEjE,MAAM,MAAM,iCAAiC,CAC3C,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,IACnD,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC,CAAC,CAAC,GACzC,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;AAEzC,MAAM,MAAM,4BAA4B,GAAG,CACzC,KAAK,EAAE,iCAAiC,KACrC,GAAG,CAAC,OAAO,GAAG,SAAS,CAAC;AAE7B,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,4BAA4B,CAAC;CACtC;AAED;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,EAAE,CAAC,yBAAyB,CAO7D,CAAC"}
1
+ {"version":3,"file":"RenderWalletHandles.d.ts","sourceRoot":"","sources":["../../../src/react-components/RenderWalletHandles.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,SAAS,EAAY,MAAM,OAAO,CAAC;AAG9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEjE,MAAM,MAAM,iCAAiC,CAC3C,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,IACnD,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC,CAAC,CAAC,GACzC,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;AAEzC,MAAM,MAAM,4BAA4B,GAAG,CACzC,KAAK,EAAE,iCAAiC,KACrC,GAAG,CAAC,OAAO,GAAG,SAAS,CAAC;AAE7B,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,4BAA4B,CAAC;IACrC,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,QAAQ,CAAC,EAAE,YAAY,CAAC;CACzB;AAED;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,EAAE,CAAC,yBAAyB,CAsB7D,CAAC"}
@@ -1,11 +1,13 @@
1
1
  import { IAssetAmountMetadata } from "@sundaeswap/asset";
2
- import { FC, ReactNode } from "react";
2
+ import { FC, ReactElement, ReactNode } from "react";
3
3
  import { useWalletObserver } from "./hooks/useWalletObserver.js";
4
4
  import { useWalletPeerConnect } from "./hooks/useWalletPeerConnect.js";
5
5
  export type TRenderWalletPeerConnectFunctionState<T extends IAssetAmountMetadata = IAssetAmountMetadata> = ReturnType<typeof useWalletObserver<T>> & ReturnType<typeof useWalletPeerConnect<T>>;
6
6
  export type TRenderWalletPeerConnectFunction = (state: TRenderWalletPeerConnectFunctionState) => ReactNode;
7
7
  export interface IRenderWalletPeerConnectProps {
8
8
  render: TRenderWalletPeerConnectFunction;
9
+ loader?: ReactNode;
10
+ fallback?: ReactElement;
9
11
  }
10
12
  /**
11
13
  * This component is responsible for generating CIP-45 utilities
@@ -1 +1 @@
1
- {"version":3,"file":"RenderWalletPeerConnect.d.ts","sourceRoot":"","sources":["../../../src/react-components/RenderWalletPeerConnect.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAEvE,MAAM,MAAM,qCAAqC,CAC/C,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,IACnD,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC,CAAC,CAAC,GACzC,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;AAE7C,MAAM,MAAM,gCAAgC,GAAG,CAC7C,KAAK,EAAE,qCAAqC,KACzC,SAAS,CAAC;AAEf,MAAM,WAAW,6BAA6B;IAC5C,MAAM,EAAE,gCAAgC,CAAC;CAC1C;AAED;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,EAAE,EAAE,CAAC,6BAA6B,CAerE,CAAC"}
1
+ {"version":3,"file":"RenderWalletPeerConnect.d.ts","sourceRoot":"","sources":["../../../src/react-components/RenderWalletPeerConnect.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,SAAS,EAAY,MAAM,OAAO,CAAC;AAG9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAEvE,MAAM,MAAM,qCAAqC,CAC/C,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,IACnD,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC,CAAC,CAAC,GACzC,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;AAE7C,MAAM,MAAM,gCAAgC,GAAG,CAC7C,KAAK,EAAE,qCAAqC,KACzC,SAAS,CAAC;AAEf,MAAM,WAAW,6BAA6B;IAC5C,MAAM,EAAE,gCAAgC,CAAC;IACzC,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,QAAQ,CAAC,EAAE,YAAY,CAAC;CACzB;AAED;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,EAAE,EAAE,CAAC,6BAA6B,CA0BrE,CAAC"}
@@ -1,11 +1,13 @@
1
1
  import { IAssetAmountMetadata } from "@sundaeswap/asset";
2
- import { FC, ReactNode } from "react";
2
+ import { FC, ReactElement, ReactNode } from "react";
3
3
  import { useWalletLoadingState } from "./hooks/useWalletLoadingState.js";
4
4
  import { useWalletObserver } from "./hooks/useWalletObserver.js";
5
5
  export type TRenderWalletStateFunctionState<T extends IAssetAmountMetadata = IAssetAmountMetadata> = ReturnType<typeof useWalletObserver<T>> & ReturnType<typeof useWalletLoadingState<T>>;
6
6
  export type TRenderWalletStateFunction = (state: TRenderWalletStateFunctionState) => JSX.Element | ReactNode;
7
7
  export interface IRenderWalletStateProps {
8
8
  render: TRenderWalletStateFunction;
9
+ loader?: ReactNode;
10
+ fallback?: ReactElement;
9
11
  }
10
12
  /**
11
13
  * This component is the same as RenderWallet, but will
@@ -1 +1 @@
1
- {"version":3,"file":"RenderWalletState.d.ts","sourceRoot":"","sources":["../../../src/react-components/RenderWalletState.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEtC,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEjE,MAAM,MAAM,+BAA+B,CACzC,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,IACnD,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC,CAAC,CAAC,GACzC,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;AAE9C,MAAM,MAAM,0BAA0B,GAAG,CACvC,KAAK,EAAE,+BAA+B,KACnC,GAAG,CAAC,OAAO,GAAG,SAAS,CAAC;AAE7B,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,0BAA0B,CAAC;CACpC;AAED;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,EAAE,EAAE,CAAC,uBAAuB,CAYzD,CAAC"}
1
+ {"version":3,"file":"RenderWalletState.d.ts","sourceRoot":"","sources":["../../../src/react-components/RenderWalletState.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,SAAS,EAAY,MAAM,OAAO,CAAC;AAG9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEjE,MAAM,MAAM,+BAA+B,CACzC,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,IACnD,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC,CAAC,CAAC,GACzC,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;AAE9C,MAAM,MAAM,0BAA0B,GAAG,CACvC,KAAK,EAAE,+BAA+B,KACnC,GAAG,CAAC,OAAO,GAAG,SAAS,CAAC;AAE7B,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,0BAA0B,CAAC;IACnC,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,QAAQ,CAAC,EAAE,YAAY,CAAC;CACzB;AAED;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,EAAE,EAAE,CAAC,uBAAuB,CAyBzD,CAAC"}
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import type { TransactionUnspentOutput } from "@cardano-sdk/core/dist/cjs/Serialization/index.js";
3
- import { AssetAmount } from "@sundaeswap/asset";
3
+ import { AssetAmount, IAssetAmountMetadata } from "@sundaeswap/asset";
4
4
  import { TAssetAmountMap, TSupportedWalletExtensions } from "../../../@types/observer.js";
5
5
  import { WalletBalanceMap } from "../../../classes/WalletBalanceMap.class.js";
6
6
  import { WalletObserver } from "../../../classes/WalletObserver.class.js";
@@ -11,15 +11,15 @@ import { THandleMetadata } from "../../contexts/observer/index.js";
11
11
  *
12
12
  * @param {WalletObserver} observer
13
13
  */
14
- export declare const useWalletObserverState: (observer: WalletObserver) => {
14
+ export declare const useWalletObserverState: <AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata>(observer: WalletObserver<AssetMetadata>) => {
15
15
  activeWallet: TSupportedWalletExtensions | undefined;
16
16
  setActiveWallet: import("react").Dispatch<import("react").SetStateAction<TSupportedWalletExtensions | undefined>>;
17
- adaBalance: AssetAmount<import("@sundaeswap/asset").IAssetAmountMetadata>;
18
- setAdaBalance: import("react").Dispatch<import("react").SetStateAction<AssetAmount<import("@sundaeswap/asset").IAssetAmountMetadata>>>;
19
- balance: WalletBalanceMap<import("@sundaeswap/asset").IAssetAmountMetadata>;
20
- setBalance: import("react").Dispatch<import("react").SetStateAction<WalletBalanceMap<import("@sundaeswap/asset").IAssetAmountMetadata>>>;
21
- handles: TAssetAmountMap<THandleMetadata>;
22
- setHandles: import("react").Dispatch<import("react").SetStateAction<TAssetAmountMap<THandleMetadata>>>;
17
+ adaBalance: AssetAmount<IAssetAmountMetadata>;
18
+ setAdaBalance: import("react").Dispatch<import("react").SetStateAction<AssetAmount<IAssetAmountMetadata>>>;
19
+ balance: WalletBalanceMap<AssetMetadata>;
20
+ setBalance: import("react").Dispatch<import("react").SetStateAction<WalletBalanceMap<AssetMetadata>>>;
21
+ handles: TAssetAmountMap<THandleMetadata<AssetMetadata>>;
22
+ setHandles: import("react").Dispatch<import("react").SetStateAction<TAssetAmountMap<THandleMetadata<AssetMetadata>>>>;
23
23
  isCip45: boolean;
24
24
  setIsCip45: import("react").Dispatch<import("react").SetStateAction<boolean>>;
25
25
  network: number | undefined;
@@ -37,5 +37,6 @@ export declare const useWalletObserverState: (observer: WalletObserver) => {
37
37
  connectWallet: (wallet: TSupportedWalletExtensions) => Promise<void>;
38
38
  switching: boolean;
39
39
  setSwitching: import("react").Dispatch<import("react").SetStateAction<boolean>>;
40
+ isPending: boolean;
40
41
  };
41
42
  //# sourceMappingURL=useWalletObserverState.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useWalletObserverState.d.ts","sourceRoot":"","sources":["../../../../../src/react-components/WalletObserverProvider/hooks/useWalletObserverState.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mDAAmD,CAAC;AAClG,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,OAAO,EACL,eAAe,EACf,0BAA0B,EAC3B,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAE1E,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAEnE;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,aAAc,cAAc;;;;;;;;;;;;;;;;;;;;;;;4BA6G5C,0BAA0B;;;CAuC5C,CAAC"}
1
+ {"version":3,"file":"useWalletObserverState.d.ts","sourceRoot":"","sources":["../../../../../src/react-components/WalletObserverProvider/hooks/useWalletObserverState.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mDAAmD,CAAC;AAClG,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAGtE,OAAO,EACL,eAAe,EACf,0BAA0B,EAC3B,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAE1E,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAEnE;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,gFAGvB,eAAe,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;4BAmHtB,0BAA0B;;;;CAwC5C,CAAC"}
@@ -1,10 +1,10 @@
1
- import type { TransactionUnspentOutput } from "@cardano-sdk/core/dist/cjs/Serialization/index.js";
2
1
  import type { IHandle } from "@koralabs/adahandle-sdk";
3
- import type { AssetAmount, IAssetAmountMetadata } from "@sundaeswap/asset";
4
- import type { Dispatch, MutableRefObject, SetStateAction } from "react";
5
- import type { TSupportedWalletExtensions, TWalletObserverOptions } from "../../../@types/observer.js";
6
- import { WalletBalanceMap } from "../../../classes/WalletBalanceMap.class.js";
2
+ import type { IAssetAmountMetadata } from "@sundaeswap/asset";
3
+ import type { MutableRefObject } from "react";
4
+ import type { TWalletObserverOptions } from "../../../@types/observer.js";
7
5
  import type { WalletObserver } from "../../../classes/WalletObserver.class.js";
6
+ import { useDerivedState } from "../../WalletObserverProvider/hooks/effects/useDerivedState.js";
7
+ import { useWalletObserverState } from "../../WalletObserverProvider/hooks/useWalletObserverState.js";
8
8
  /**
9
9
  * Available hooks to apply at various events.
10
10
  */
@@ -34,31 +34,9 @@ export interface IWalletObserverProviderProps<AssetMetadata extends IAssetAmount
34
34
  export interface IWalletObserverState<AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata> {
35
35
  observerRef: MutableRefObject<WalletObserver<AssetMetadata>>;
36
36
  refreshInterval: number | false;
37
- state: {
38
- isCip45: boolean;
39
- setIsCip45: Dispatch<SetStateAction<boolean>>;
40
- activeWallet?: TSupportedWalletExtensions;
41
- setActiveWallet: Dispatch<SetStateAction<TSupportedWalletExtensions | undefined>>;
42
- adaBalance: AssetAmount<AssetMetadata>;
43
- balance: WalletBalanceMap<AssetMetadata>;
44
- utxos?: TransactionUnspentOutput[];
45
- setUtxos: Dispatch<SetStateAction<TransactionUnspentOutput[] | undefined>>;
46
- collateral?: TransactionUnspentOutput[];
47
- setCollateral: Dispatch<SetStateAction<TransactionUnspentOutput[] | undefined>>;
48
- setBalance: Dispatch<SetStateAction<WalletBalanceMap<AssetMetadata>>>;
49
- observer: WalletObserver;
50
- mainAddress?: string;
51
- stakeAddress?: string;
52
- network?: number;
53
- setNetwork: Dispatch<SetStateAction<number | undefined>>;
54
- unusedAddresses: string[];
55
- setUnusedAddresses: Dispatch<SetStateAction<string[]>>;
56
- usedAddresses: string[];
57
- setUsedAddresses: Dispatch<SetStateAction<string[]>>;
58
- switching: boolean;
59
- syncWallet: () => Promise<void>;
60
- disconnect: () => void;
61
- connectWallet: (wallet: TSupportedWalletExtensions) => Promise<void>;
37
+ state: ReturnType<typeof useWalletObserverState<AssetMetadata>> & ReturnType<typeof useDerivedState> & {
38
+ isPending: boolean;
39
+ observer: WalletObserver<AssetMetadata>;
62
40
  };
63
41
  }
64
42
  /**
@@ -70,5 +48,5 @@ export type THandleMetadata<AssetMetadata extends IAssetAmountMetadata = IAssetA
70
48
  /**
71
49
  * The exposed state of the WalletObserverProvider.
72
50
  */
73
- export type TUseWalletObserverState<AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata> = Omit<IWalletObserverState<AssetMetadata>["state"], "setActiveWallet" | "setBalance" | "setNetwork" | "setUnusedAddresses" | "setUsedAddresses" | "setReady" | "setIsCip45" | "setUtxos" | "setCollateral">;
51
+ export type TUseWalletObserverState<AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata> = Omit<IWalletObserverState<AssetMetadata>["state"], "setActiveWallet" | "setAdaBalance" | "setHandles" | "setSwitching" | "setBalance" | "setNetwork" | "setUnusedAddresses" | "setUsedAddresses" | "setReady" | "setIsCip45" | "setUtxos" | "setCollateral">;
74
52
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/react-components/contexts/observer/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mDAAmD,CAAC;AAClG,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAExE,OAAO,KAAK,EACV,0BAA0B,EAC1B,sBAAsB,EACvB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAC9E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAE/E;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAC;IAClC,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;CACjC,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,4BAA4B,CAC3C,aAAa,SAAS,oBAAoB,GAAG,oBAAoB;IAEjE,eAAe,EAAE,sBAAsB,CAAC,aAAa,CAAC,CAAC;IACvD,KAAK,EAAE,oBAAoB,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B,CAC3C,aAAa,SAAS,oBAAoB,GAAG,oBAAoB;IAEjE,OAAO,CAAC,EAAE,OAAO,CAAC,4BAA4B,CAAC,aAAa,CAAC,CAAC,CAAC;CAChE;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB,CACnC,aAAa,SAAS,oBAAoB,GAAG,oBAAoB;IAEjE,WAAW,EAAE,gBAAgB,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC;IAC7D,eAAe,EAAE,MAAM,GAAG,KAAK,CAAC;IAChC,KAAK,EAAE;QACL,OAAO,EAAE,OAAO,CAAC;QACjB,UAAU,EAAE,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9C,YAAY,CAAC,EAAE,0BAA0B,CAAC;QAC1C,eAAe,EAAE,QAAQ,CACvB,cAAc,CAAC,0BAA0B,GAAG,SAAS,CAAC,CACvD,CAAC;QACF,UAAU,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC;QACvC,OAAO,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;QACzC,KAAK,CAAC,EAAE,wBAAwB,EAAE,CAAC;QACnC,QAAQ,EAAE,QAAQ,CAAC,cAAc,CAAC,wBAAwB,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC;QAC3E,UAAU,CAAC,EAAE,wBAAwB,EAAE,CAAC;QACxC,aAAa,EAAE,QAAQ,CACrB,cAAc,CAAC,wBAAwB,EAAE,GAAG,SAAS,CAAC,CACvD,CAAC;QACF,UAAU,EAAE,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACtE,QAAQ,EAAE,cAAc,CAAC;QACzB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,QAAQ,CAAC,cAAc,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;QACzD,eAAe,EAAE,MAAM,EAAE,CAAC;QAC1B,kBAAkB,EAAE,QAAQ,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACvD,aAAa,EAAE,MAAM,EAAE,CAAC;QACxB,gBAAgB,EAAE,QAAQ,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACrD,SAAS,EAAE,OAAO,CAAC;QACnB,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;QAChC,UAAU,EAAE,MAAM,IAAI,CAAC;QACvB,aAAa,EAAE,CAAC,MAAM,EAAE,0BAA0B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;KACtE,CAAC;CACH;AAED;;;;GAIG;AACH,MAAM,MAAM,eAAe,CACzB,aAAa,SAAS,oBAAoB,GAAG,oBAAoB,IAC/D,aAAa,GAAG,OAAO,CAAC;AAE5B;;GAEG;AACH,MAAM,MAAM,uBAAuB,CACjC,aAAa,SAAS,oBAAoB,GAAG,oBAAoB,IAC/D,IAAI,CACN,oBAAoB,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,EAC1C,iBAAiB,GACjB,YAAY,GACZ,YAAY,GACZ,oBAAoB,GACpB,kBAAkB,GAClB,UAAU,GACV,YAAY,GACZ,UAAU,GACV,eAAe,CAClB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/react-components/contexts/observer/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAE9C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,+DAA+D,CAAC;AAChG,OAAO,EAAE,sBAAsB,EAAE,MAAM,8DAA8D,CAAC;AAEtG;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAC;IAClC,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;CACjC,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,4BAA4B,CAC3C,aAAa,SAAS,oBAAoB,GAAG,oBAAoB;IAEjE,eAAe,EAAE,sBAAsB,CAAC,aAAa,CAAC,CAAC;IACvD,KAAK,EAAE,oBAAoB,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B,CAC3C,aAAa,SAAS,oBAAoB,GAAG,oBAAoB;IAEjE,OAAO,CAAC,EAAE,OAAO,CAAC,4BAA4B,CAAC,aAAa,CAAC,CAAC,CAAC;CAChE;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB,CACnC,aAAa,SAAS,oBAAoB,GAAG,oBAAoB;IAEjE,WAAW,EAAE,gBAAgB,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC;IAC7D,eAAe,EAAE,MAAM,GAAG,KAAK,CAAC;IAChC,KAAK,EAAE,UAAU,CAAC,OAAO,sBAAsB,CAAC,aAAa,CAAC,CAAC,GAC7D,UAAU,CAAC,OAAO,eAAe,CAAC,GAAG;QACnC,SAAS,EAAE,OAAO,CAAC;QACnB,QAAQ,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC;KACzC,CAAC;CACL;AAED;;;;GAIG;AACH,MAAM,MAAM,eAAe,CACzB,aAAa,SAAS,oBAAoB,GAAG,oBAAoB,IAC/D,aAAa,GAAG,OAAO,CAAC;AAE5B;;GAEG;AACH,MAAM,MAAM,uBAAuB,CACjC,aAAa,SAAS,oBAAoB,GAAG,oBAAoB,IAC/D,IAAI,CACN,oBAAoB,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,EAC1C,iBAAiB,GACjB,eAAe,GACf,YAAY,GACZ,cAAc,GACd,YAAY,GACZ,YAAY,GACZ,oBAAoB,GACpB,kBAAkB,GAClB,UAAU,GACV,YAAY,GACZ,UAAU,GACV,eAAe,CAClB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useWalletHandles.d.ts","sourceRoot":"","sources":["../../../../src/react-components/hooks/useWalletHandles.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAG3D,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGhE,eAAO,MAAM,gBAAgB;;;CAiH5B,CAAC"}
1
+ {"version":3,"file":"useWalletHandles.d.ts","sourceRoot":"","sources":["../../../../src/react-components/hooks/useWalletHandles.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAG3D,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGhE,eAAO,MAAM,gBAAgB;;;CAiH5B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useWalletObserver.d.ts","sourceRoot":"","sources":["../../../../src/react-components/hooks/useWalletObserver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,EACL,uBAAuB,EAExB,MAAM,+BAA+B,CAAC;AAEvC;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,2EAEzB,wBAAwB,aAAa,CAuBzC,CAAC"}
1
+ {"version":3,"file":"useWalletObserver.d.ts","sourceRoot":"","sources":["../../../../src/react-components/hooks/useWalletObserver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,EACL,uBAAuB,EAExB,MAAM,+BAA+B,CAAC;AAEvC;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,2EAEzB,wBAAwB,aAAa,CAyBzC,CAAC"}