@sundaeswap/wallet-lite 0.0.83 → 0.0.85

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 (39) hide show
  1. package/dist/cjs/@types/events.js.map +1 -1
  2. package/dist/cjs/classes/WalletObserver.class.js +36 -31
  3. package/dist/cjs/classes/WalletObserver.class.js.map +1 -1
  4. package/dist/cjs/react-components/WalletObserverProvider/WalletObserverProvider.js +1 -1
  5. package/dist/cjs/react-components/WalletObserverProvider/WalletObserverProvider.js.map +1 -1
  6. package/dist/cjs/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.js +30 -32
  7. package/dist/cjs/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.js.map +1 -1
  8. package/dist/cjs/react-components/WalletObserverProvider/hooks/useWalletObserverState.js +126 -109
  9. package/dist/cjs/react-components/WalletObserverProvider/hooks/useWalletObserverState.js.map +1 -1
  10. package/dist/cjs/react-components/contexts/observer/types.js.map +1 -1
  11. package/dist/esm/@types/events.js.map +1 -1
  12. package/dist/esm/classes/WalletObserver.class.js +18 -12
  13. package/dist/esm/classes/WalletObserver.class.js.map +1 -1
  14. package/dist/esm/react-components/WalletObserverProvider/WalletObserverProvider.js +1 -1
  15. package/dist/esm/react-components/WalletObserverProvider/WalletObserverProvider.js.map +1 -1
  16. package/dist/esm/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.js +23 -13
  17. package/dist/esm/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.js.map +1 -1
  18. package/dist/esm/react-components/WalletObserverProvider/hooks/useWalletObserverState.js +7 -6
  19. package/dist/esm/react-components/WalletObserverProvider/hooks/useWalletObserverState.js.map +1 -1
  20. package/dist/esm/react-components/contexts/observer/types.js.map +1 -1
  21. package/dist/types/@types/events.d.ts +6 -2
  22. package/dist/types/@types/events.d.ts.map +1 -1
  23. package/dist/types/classes/WalletObserver.class.d.ts +2 -2
  24. package/dist/types/classes/WalletObserver.class.d.ts.map +1 -1
  25. package/dist/types/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.d.ts +2 -1
  26. package/dist/types/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.d.ts.map +1 -1
  27. package/dist/types/react-components/WalletObserverProvider/hooks/useWalletObserverState.d.ts +2 -1
  28. package/dist/types/react-components/WalletObserverProvider/hooks/useWalletObserverState.d.ts.map +1 -1
  29. package/dist/types/react-components/contexts/observer/types.d.ts +6 -2
  30. package/dist/types/react-components/contexts/observer/types.d.ts.map +1 -1
  31. package/dist/types/tsconfig.build.tsbuildinfo +1 -1
  32. package/package.json +1 -1
  33. package/src/@types/events.ts +2 -2
  34. package/src/classes/WalletObserver.class.ts +23 -14
  35. package/src/classes/__tests__/WalletObserver.test.ts +4 -0
  36. package/src/react-components/WalletObserverProvider/WalletObserverProvider.tsx +1 -1
  37. package/src/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.ts +36 -14
  38. package/src/react-components/WalletObserverProvider/hooks/useWalletObserverState.ts +107 -102
  39. package/src/react-components/contexts/observer/types.ts +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"useProviderWalletObserverRef.js","names":["useEffect","useMemo","useRef","useState","EWalletObserverEvents","WalletObserver","useProviderWalletObserverRef","options","hooks","observerRef","current","observer","connecting","setConnecting","syncing","setSyncing","eventListenersAttached","setEventListenersAttached","ready","Boolean","api","activeWallet","setConnectingStart","onConnectWalletStart","setConnectingEnd","onConnectWalletEnd","setSyncingStart","onSyncWalletStart","setSyncingEnd","onSyncWalletEnd","onDisconnect","onDisconnectWallet","addEventListener","CONNECT_WALLET_START","CONNECT_WALLET_END","SYNCING_WALLET_START","SYNCING_WALLET_END","DISCONNECT","removeEventListener","connectingWallet","syncingWallet"],"sources":["../../../../../src/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.ts"],"sourcesContent":["import { MutableRefObject, useEffect, useMemo, useRef, useState } from \"react\";\n\nimport { EWalletObserverEvents } from \"../../../@types/events.js\";\nimport { TWalletObserverOptions } from \"../../../@types/observer.js\";\nimport { WalletObserver } from \"../../../classes/WalletObserver.class.js\";\nimport { TWalletProviderHooks } from \"../../contexts/observer/index.js\";\n\n/**\n * Internal use only. This hook is responsible for initiating the\n * WalletObserver instance once, and assigning it to a ref.\n *\n * @param {TWalletObserverOptions} [options]\n * @param {TWalletProviderHooks}\n */\nexport const useProviderWalletObserverRef = (\n options?: TWalletObserverOptions,\n hooks?: TWalletProviderHooks,\n) => {\n // Use ref to store the observer instance, ensuring it's created only once\n const observerRef = useRef<WalletObserver | null>(null);\n\n // Initialize observer only once\n if (observerRef.current === null) {\n const observer = new WalletObserver(options);\n observerRef.current = observer;\n }\n\n const [connecting, setConnecting] = useState(false);\n const [syncing, setSyncing] = useState(false);\n const [eventListenersAttached, setEventListenersAttached] = useState(false);\n\n const ready = useMemo(() => {\n return Boolean(\n observerRef.current &&\n observerRef.current.api &&\n observerRef.current.activeWallet,\n );\n }, [observerRef, observerRef.current.api, observerRef.current.activeWallet]);\n\n /**\n * Add user-defined hooks into the event stream.\n */\n useEffect(() => {\n if (!observerRef.current) {\n return;\n }\n\n const setConnectingStart = async () => {\n setConnecting(() => true);\n await hooks?.onConnectWalletStart?.();\n };\n const setConnectingEnd = async () => {\n setConnecting(() => false);\n await hooks?.onConnectWalletEnd?.();\n };\n const setSyncingStart = async () => {\n setSyncing(() => true);\n await hooks?.onSyncWalletStart?.();\n };\n const setSyncingEnd = async () => {\n await hooks?.onSyncWalletEnd?.();\n setSyncing(() => false);\n };\n const onDisconnect = () => {\n hooks?.onDisconnectWallet?.();\n };\n\n observerRef.current.addEventListener(\n EWalletObserverEvents.CONNECT_WALLET_START,\n setConnectingStart,\n );\n observerRef.current.addEventListener(\n EWalletObserverEvents.CONNECT_WALLET_END,\n setConnectingEnd,\n );\n observerRef.current.addEventListener(\n EWalletObserverEvents.SYNCING_WALLET_START,\n setSyncingStart,\n );\n observerRef.current.addEventListener(\n EWalletObserverEvents.SYNCING_WALLET_END,\n setSyncingEnd,\n );\n observerRef.current.addEventListener(\n EWalletObserverEvents.DISCONNECT,\n onDisconnect,\n );\n\n setEventListenersAttached(() => true);\n\n return () => {\n if (!observerRef.current) {\n return;\n }\n\n observerRef.current.removeEventListener(\n EWalletObserverEvents.CONNECT_WALLET_START,\n setConnectingStart,\n );\n observerRef.current.removeEventListener(\n EWalletObserverEvents.CONNECT_WALLET_END,\n setConnectingEnd,\n );\n observerRef.current.removeEventListener(\n EWalletObserverEvents.SYNCING_WALLET_START,\n setSyncingStart,\n );\n observerRef.current.removeEventListener(\n EWalletObserverEvents.SYNCING_WALLET_END,\n setSyncingEnd,\n );\n observerRef.current.removeEventListener(\n EWalletObserverEvents.DISCONNECT,\n onDisconnect,\n );\n };\n }, [observerRef, hooks]);\n\n return {\n observerRef: observerRef as MutableRefObject<WalletObserver>,\n connectingWallet: connecting,\n syncingWallet: syncing,\n ready,\n eventListenersAttached,\n };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"useProviderWalletObserverRef.js","names":["useEffect","useMemo","useRef","useState","EWalletObserverEvents","WalletObserver","useProviderWalletObserverRef","options","hooks","observerRef","current","observer","connecting","setConnecting","syncing","setSyncing","eventListenersAttached","setEventListenersAttached","ready","Boolean","api","activeWallet","setConnectingStart","onConnectWalletStart","catch","console","error","setConnectingEnd","data","onConnectWalletEnd","setSyncingStart","onSyncWalletStart","setSyncingEnd","onSyncWalletEnd","onDisconnect","onDisconnectWallet","addEventListener","CONNECT_WALLET_START","CONNECT_WALLET_END","SYNCING_WALLET_START","SYNCING_WALLET_END","DISCONNECT","removeEventListener","connectingWallet","syncingWallet"],"sources":["../../../../../src/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.ts"],"sourcesContent":["import { MutableRefObject, useEffect, useMemo, useRef, useState } from \"react\";\n\nimport { IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport { EWalletObserverEvents } from \"../../../@types/events.js\";\nimport {\n IWalletObserverSync,\n TWalletObserverOptions,\n} from \"../../../@types/observer.js\";\nimport { WalletObserver } from \"../../../classes/WalletObserver.class.js\";\nimport { TWalletProviderHooks } from \"../../contexts/observer/index.js\";\n\n/**\n * Internal use only. This hook is responsible for initiating the\n * WalletObserver instance once, and assigning it to a ref.\n *\n * @param {TWalletObserverOptions} [options]\n * @param {TWalletProviderHooks}\n */\nexport const useProviderWalletObserverRef = (\n options?: TWalletObserverOptions,\n hooks?: TWalletProviderHooks,\n) => {\n // Use ref to store the observer instance, ensuring it's created only once\n const observerRef = useRef<WalletObserver | null>(null);\n\n // Initialize observer only once\n if (observerRef.current === null) {\n const observer = new WalletObserver(options);\n observerRef.current = observer;\n }\n\n const [connecting, setConnecting] = useState(false);\n const [syncing, setSyncing] = useState(false);\n const [eventListenersAttached, setEventListenersAttached] = useState(false);\n\n const ready = useMemo(() => {\n return Boolean(\n observerRef.current &&\n observerRef.current.api &&\n observerRef.current.activeWallet,\n );\n }, [observerRef, observerRef.current.api, observerRef.current.activeWallet]);\n\n /**\n * Add user-defined hooks into the event stream.\n */\n useEffect(() => {\n if (!observerRef.current) {\n return;\n }\n\n const setConnectingStart = () => {\n (async () => {\n setConnecting(() => true);\n await hooks?.onConnectWalletStart?.();\n })().catch(console.error);\n };\n const setConnectingEnd = (\n data?: IWalletObserverSync<IAssetAmountMetadata> & {\n activeWallet: string;\n },\n ) => {\n (async () => {\n setConnecting(() => false);\n await hooks?.onConnectWalletEnd?.(data);\n })().catch(console.error);\n };\n const setSyncingStart = () => {\n (async () => {\n setSyncing(() => true);\n await hooks?.onSyncWalletStart?.();\n })().catch(console.error);\n };\n const setSyncingEnd = (\n data?: IWalletObserverSync<IAssetAmountMetadata> & {\n activeWallet: string;\n },\n ) => {\n (async () => {\n await hooks?.onSyncWalletEnd?.(data);\n setSyncing(() => false);\n })().catch(console.error);\n };\n const onDisconnect = () => {\n (async () => {\n hooks?.onDisconnectWallet?.();\n })().catch(console.error);\n };\n\n observerRef.current.addEventListener(\n EWalletObserverEvents.CONNECT_WALLET_START,\n setConnectingStart,\n );\n observerRef.current.addEventListener(\n EWalletObserverEvents.CONNECT_WALLET_END,\n setConnectingEnd,\n );\n observerRef.current.addEventListener(\n EWalletObserverEvents.SYNCING_WALLET_START,\n setSyncingStart,\n );\n observerRef.current.addEventListener(\n EWalletObserverEvents.SYNCING_WALLET_END,\n setSyncingEnd,\n );\n observerRef.current.addEventListener(\n EWalletObserverEvents.DISCONNECT,\n onDisconnect,\n );\n\n setEventListenersAttached(() => true);\n\n return () => {\n if (!observerRef.current) {\n return;\n }\n\n observerRef.current.removeEventListener(\n EWalletObserverEvents.CONNECT_WALLET_START,\n setConnectingStart,\n );\n observerRef.current.removeEventListener(\n EWalletObserverEvents.CONNECT_WALLET_END,\n setConnectingEnd,\n );\n observerRef.current.removeEventListener(\n EWalletObserverEvents.SYNCING_WALLET_START,\n setSyncingStart,\n );\n observerRef.current.removeEventListener(\n EWalletObserverEvents.SYNCING_WALLET_END,\n setSyncingEnd,\n );\n observerRef.current.removeEventListener(\n EWalletObserverEvents.DISCONNECT,\n onDisconnect,\n );\n };\n }, [observerRef, hooks]);\n\n return {\n observerRef: observerRef as MutableRefObject<WalletObserver>,\n connectingWallet: connecting,\n syncingWallet: syncing,\n ready,\n eventListenersAttached,\n };\n};\n"],"mappings":"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","ignoreList":[]}
@@ -47,12 +47,12 @@ export const useWalletObserverState = observer => {
47
47
  if (observer.hasActiveConnection() && wallet !== observer.activeWallet) {
48
48
  setSwitching(() => true);
49
49
  }
50
- await observer.connectWallet(wallet);
51
- await syncWallet();
50
+ const data = await observer.connectWallet(wallet);
51
+ await syncWallet(data instanceof Error ? undefined : data);
52
52
  setSwitching(() => false);
53
53
  return observer.api;
54
54
  }, [observer, setSwitching]);
55
- const syncWallet = useCallback(async () => {
55
+ const syncWallet = useCallback(async importedData => {
56
56
  if (observer.isSyncing() || !observer.hasActiveConnection()) {
57
57
  return;
58
58
  }
@@ -64,7 +64,7 @@ export const useWalletObserverState = observer => {
64
64
  setIsCip45(newWallet.includes("p2p"));
65
65
  setActiveWallet(prevWallet => newWallet === prevWallet ? prevWallet : newWallet);
66
66
  try {
67
- const freshData = await observer.sync();
67
+ const freshData = importedData || (await observer.sync());
68
68
  startTransition(() => {
69
69
  const newBalanceMap = freshData.balanceMap;
70
70
  if (newBalanceMap instanceof WalletBalanceMap) {
@@ -126,9 +126,10 @@ export const useWalletObserverState = observer => {
126
126
  * Ensure the wallet syncs on connect and disconnect.
127
127
  */
128
128
  useEffect(() => {
129
- window.addEventListener("focus", syncWallet);
129
+ const func = () => syncWallet();
130
+ window.addEventListener("focus", func);
130
131
  return () => {
131
- window.addEventListener("focus", syncWallet);
132
+ window.addEventListener("focus", func);
132
133
  };
133
134
  }, [syncWallet]);
134
135
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"useWalletObserverState.js","names":["AssetAmount","useCallback","useEffect","useState","useTransition","WalletBalanceMap","WalletObserver","ADA_ASSET_ID","areAssetMapsEqual","useWalletObserverState","observer","activeWallet","setActiveWallet","adaBalance","setAdaBalance","balance","setBalance","network","setNetwork","usedAddresses","setUsedAddresses","unusedAddresses","setUnusedAddresses","feeAddress","setFeeAddress","utxos","setUtxos","collateral","setCollateral","isCip45","setIsCip45","switching","setSwitching","errorSyncing","setErrorSyncing","isPending","startTransition","willAutoConnect","setWillAutoConnect","Boolean","window","localStorage","getItem","PERSISTENCE_CACHE_KEY","getOptions","persistence","disconnect","undefined","connectWallet","wallet","hasActiveConnection","syncWallet","api","isSyncing","newWallet","includes","prevWallet","freshData","sync","newBalanceMap","balanceMap","newAdaBalance","get","prevBalance","amount","newUsedAddresses","Array","prevValue","JSON","stringify","newUnusedAddresses","newNetwork","newUtxos","prevValueRep","map","v","toCbor","newValueRep","newCollateral","newFeeAddress","e","cause","addEventListener"],"sources":["../../../../../src/react-components/WalletObserverProvider/hooks/useWalletObserverState.ts"],"sourcesContent":["import type { TransactionUnspentOutput } from \"@cardano-sdk/core/dist/cjs/Serialization/TransactionUnspentOutput.js\";\nimport { AssetAmount, IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport { useCallback, useEffect, useState, useTransition } from \"react\";\n\nimport { WalletBalanceMap } from \"../../../classes/WalletBalanceMap.class.js\";\nimport { WalletObserver } from \"../../../classes/WalletObserver.class.js\";\nimport { ADA_ASSET_ID } from \"../../../constants.js\";\nimport { areAssetMapsEqual } from \"../../../utils/comparisons.js\";\n\n/**\n * Internal use only. The main action that sync WalletObserver api responses with\n * the React context of the WalletObserverProvider.\n *\n * @param {WalletObserver} observer\n */\nexport const useWalletObserverState = <\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata,\n>(\n observer: WalletObserver<AssetMetadata>,\n) => {\n const [activeWallet, setActiveWallet] = useState<string>();\n const [adaBalance, setAdaBalance] = useState<AssetAmount<AssetMetadata>>(\n new AssetAmount<AssetMetadata>(0n),\n );\n const [balance, setBalance] = useState<WalletBalanceMap<AssetMetadata>>(\n new WalletBalanceMap<AssetMetadata>(observer),\n );\n const [network, setNetwork] = useState<number | undefined>();\n const [usedAddresses, setUsedAddresses] = useState<string[]>([]);\n const [unusedAddresses, setUnusedAddresses] = useState<string[]>([]);\n const [feeAddress, setFeeAddress] = useState<string | undefined>();\n const [utxos, setUtxos] = useState<TransactionUnspentOutput[]>();\n const [collateral, setCollateral] = useState<TransactionUnspentOutput[]>();\n const [isCip45, setIsCip45] = useState(false);\n const [switching, setSwitching] = useState(false);\n const [errorSyncing, setErrorSyncing] = useState(false);\n const [isPending, startTransition] = useTransition();\n const [willAutoConnect, setWillAutoConnect] = useState(\n Boolean(\n window.localStorage.getItem(WalletObserver.PERSISTENCE_CACHE_KEY) &&\n observer.getOptions().persistence,\n ),\n );\n\n const disconnect = useCallback(() => {\n // Reset observer state.\n observer.disconnect();\n\n // Reset state.\n setAdaBalance(new AssetAmount(0n));\n setBalance(new WalletBalanceMap(observer));\n setUsedAddresses([]);\n setUnusedAddresses([]);\n setActiveWallet(undefined);\n setNetwork(undefined);\n setUtxos(undefined);\n setCollateral(undefined);\n setFeeAddress(undefined);\n setIsCip45(false);\n setWillAutoConnect(false);\n }, [observer]);\n\n const connectWallet = useCallback(\n async (wallet: string) => {\n if (observer.hasActiveConnection() && wallet !== observer.activeWallet) {\n setSwitching(() => true);\n }\n\n await observer.connectWallet(wallet);\n await syncWallet();\n setSwitching(() => false);\n return observer.api;\n },\n [observer, setSwitching],\n );\n\n const syncWallet = useCallback(async () => {\n if (observer.isSyncing() || !observer.hasActiveConnection()) {\n return;\n }\n\n const newWallet = observer.activeWallet;\n if (!newWallet) {\n disconnect();\n return;\n }\n\n setIsCip45(newWallet.includes(\"p2p\"));\n setActiveWallet((prevWallet) =>\n newWallet === prevWallet ? prevWallet : newWallet,\n );\n\n try {\n const freshData = await observer.sync();\n\n startTransition(() => {\n const newBalanceMap = freshData.balanceMap;\n if (newBalanceMap instanceof WalletBalanceMap) {\n const newAdaBalance = newBalanceMap.get(ADA_ASSET_ID);\n if (newAdaBalance) {\n setAdaBalance((prevBalance) =>\n prevBalance.amount === newAdaBalance.amount\n ? prevBalance\n : newAdaBalance,\n );\n\n setBalance((prevBalance) =>\n areAssetMapsEqual(prevBalance, newBalanceMap)\n ? prevBalance\n : newBalanceMap,\n );\n }\n }\n\n const newUsedAddresses = freshData.usedAddresses;\n if (newUsedAddresses instanceof Array) {\n setUsedAddresses((prevValue) => {\n return JSON.stringify(prevValue) ===\n JSON.stringify(newUsedAddresses)\n ? prevValue\n : newUsedAddresses;\n });\n }\n\n const newUnusedAddresses = freshData.unusedAddresses;\n if (newUnusedAddresses instanceof Array) {\n setUnusedAddresses((prevValue) =>\n JSON.stringify(prevValue) === JSON.stringify(newUnusedAddresses)\n ? prevValue\n : newUnusedAddresses,\n );\n }\n\n const newNetwork = freshData.network;\n if (typeof newNetwork === \"number\") {\n setNetwork((prevValue) =>\n prevValue === newNetwork ? prevValue : newNetwork,\n );\n }\n\n const newUtxos = freshData.utxos;\n if (newUtxos instanceof Array) {\n setUtxos((prevValue) => {\n const prevValueRep = prevValue?.map((v) => v.toCbor());\n const newValueRep = newUtxos?.map((v) => v.toCbor());\n if (prevValueRep !== newValueRep) {\n return newUtxos;\n }\n\n return prevValue;\n });\n }\n\n const newCollateral = freshData.collateral;\n if (newCollateral instanceof Array) {\n setCollateral((prevValue) => {\n const prevValueRep = prevValue?.map((v) => v.toCbor());\n const newValueRep = newCollateral?.map((v) => v.toCbor());\n if (prevValueRep !== newValueRep) {\n return newCollateral;\n }\n\n return prevValue;\n });\n }\n\n const newFeeAddress = freshData.feeAddress;\n if (typeof newFeeAddress === \"string\") {\n setFeeAddress((prevValue) =>\n prevValue === newFeeAddress ? prevValue : newFeeAddress,\n );\n }\n });\n } catch (e) {\n setErrorSyncing(true);\n (e as Error).cause =\n \"The wallet threw an error while the app was trying to sync with it. Please try again or contact your wallet provider.\";\n throw e;\n }\n }, [observer, disconnect]);\n\n /**\n * Ensure the wallet syncs on connect and disconnect.\n */\n useEffect(() => {\n window.addEventListener(\"focus\", syncWallet);\n\n return () => {\n window.addEventListener(\"focus\", syncWallet);\n };\n }, [syncWallet]);\n\n return {\n activeWallet,\n adaBalance,\n balance,\n collateral,\n connectWallet,\n disconnect,\n errorSyncing,\n feeAddress,\n isCip45,\n isPending,\n network,\n setActiveWallet,\n setAdaBalance,\n setBalance,\n setCollateral,\n setFeeAddress,\n setIsCip45,\n setNetwork,\n setSwitching,\n setUnusedAddresses,\n setUsedAddresses,\n setUtxos,\n switching,\n syncWallet,\n unusedAddresses,\n usedAddresses,\n utxos,\n willAutoConnect,\n };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"useWalletObserverState.js","names":["AssetAmount","useCallback","useEffect","useState","useTransition","WalletBalanceMap","WalletObserver","ADA_ASSET_ID","areAssetMapsEqual","useWalletObserverState","observer","activeWallet","setActiveWallet","adaBalance","setAdaBalance","balance","setBalance","network","setNetwork","usedAddresses","setUsedAddresses","unusedAddresses","setUnusedAddresses","feeAddress","setFeeAddress","utxos","setUtxos","collateral","setCollateral","isCip45","setIsCip45","switching","setSwitching","errorSyncing","setErrorSyncing","isPending","startTransition","willAutoConnect","setWillAutoConnect","Boolean","window","localStorage","getItem","PERSISTENCE_CACHE_KEY","getOptions","persistence","disconnect","undefined","connectWallet","wallet","hasActiveConnection","data","syncWallet","Error","api","importedData","isSyncing","newWallet","includes","prevWallet","freshData","sync","newBalanceMap","balanceMap","newAdaBalance","get","prevBalance","amount","newUsedAddresses","Array","prevValue","JSON","stringify","newUnusedAddresses","newNetwork","newUtxos","prevValueRep","map","v","toCbor","newValueRep","newCollateral","newFeeAddress","e","cause","func","addEventListener"],"sources":["../../../../../src/react-components/WalletObserverProvider/hooks/useWalletObserverState.ts"],"sourcesContent":["import type { TransactionUnspentOutput } from \"@cardano-sdk/core/dist/cjs/Serialization/TransactionUnspentOutput.js\";\nimport { AssetAmount, IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport { useCallback, useEffect, useState, useTransition } from \"react\";\n\nimport { IWalletObserverSync } from \"src/@types/observer.js\";\nimport { WalletBalanceMap } from \"../../../classes/WalletBalanceMap.class.js\";\nimport { WalletObserver } from \"../../../classes/WalletObserver.class.js\";\nimport { ADA_ASSET_ID } from \"../../../constants.js\";\nimport { areAssetMapsEqual } from \"../../../utils/comparisons.js\";\n\n/**\n * Internal use only. The main action that sync WalletObserver api responses with\n * the React context of the WalletObserverProvider.\n *\n * @param {WalletObserver} observer\n */\nexport const useWalletObserverState = <\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata,\n>(\n observer: WalletObserver<AssetMetadata>,\n) => {\n const [activeWallet, setActiveWallet] = useState<string>();\n const [adaBalance, setAdaBalance] = useState<AssetAmount<AssetMetadata>>(\n new AssetAmount<AssetMetadata>(0n),\n );\n const [balance, setBalance] = useState<WalletBalanceMap<AssetMetadata>>(\n new WalletBalanceMap<AssetMetadata>(observer),\n );\n const [network, setNetwork] = useState<number | undefined>();\n const [usedAddresses, setUsedAddresses] = useState<string[]>([]);\n const [unusedAddresses, setUnusedAddresses] = useState<string[]>([]);\n const [feeAddress, setFeeAddress] = useState<string | undefined>();\n const [utxos, setUtxos] = useState<TransactionUnspentOutput[]>();\n const [collateral, setCollateral] = useState<TransactionUnspentOutput[]>();\n const [isCip45, setIsCip45] = useState(false);\n const [switching, setSwitching] = useState(false);\n const [errorSyncing, setErrorSyncing] = useState(false);\n const [isPending, startTransition] = useTransition();\n const [willAutoConnect, setWillAutoConnect] = useState(\n Boolean(\n window.localStorage.getItem(WalletObserver.PERSISTENCE_CACHE_KEY) &&\n observer.getOptions().persistence,\n ),\n );\n\n const disconnect = useCallback(() => {\n // Reset observer state.\n observer.disconnect();\n\n // Reset state.\n setAdaBalance(new AssetAmount(0n));\n setBalance(new WalletBalanceMap(observer));\n setUsedAddresses([]);\n setUnusedAddresses([]);\n setActiveWallet(undefined);\n setNetwork(undefined);\n setUtxos(undefined);\n setCollateral(undefined);\n setFeeAddress(undefined);\n setIsCip45(false);\n setWillAutoConnect(false);\n }, [observer]);\n\n const connectWallet = useCallback(\n async (wallet: string) => {\n if (observer.hasActiveConnection() && wallet !== observer.activeWallet) {\n setSwitching(() => true);\n }\n\n const data = await observer.connectWallet(wallet);\n await syncWallet(data instanceof Error ? undefined : data);\n setSwitching(() => false);\n return observer.api;\n },\n [observer, setSwitching],\n );\n\n const syncWallet = useCallback(\n async (importedData?: IWalletObserverSync<AssetMetadata> | undefined) => {\n if (observer.isSyncing() || !observer.hasActiveConnection()) {\n return;\n }\n\n const newWallet = observer.activeWallet;\n if (!newWallet) {\n disconnect();\n return;\n }\n\n setIsCip45(newWallet.includes(\"p2p\"));\n setActiveWallet((prevWallet) =>\n newWallet === prevWallet ? prevWallet : newWallet,\n );\n\n try {\n const freshData = importedData || (await observer.sync());\n\n startTransition(() => {\n const newBalanceMap = freshData.balanceMap;\n if (newBalanceMap instanceof WalletBalanceMap) {\n const newAdaBalance = newBalanceMap.get(ADA_ASSET_ID);\n if (newAdaBalance) {\n setAdaBalance((prevBalance) =>\n prevBalance.amount === newAdaBalance.amount\n ? prevBalance\n : newAdaBalance,\n );\n\n setBalance((prevBalance) =>\n areAssetMapsEqual(prevBalance, newBalanceMap)\n ? prevBalance\n : newBalanceMap,\n );\n }\n }\n\n const newUsedAddresses = freshData.usedAddresses;\n if (newUsedAddresses instanceof Array) {\n setUsedAddresses((prevValue) => {\n return JSON.stringify(prevValue) ===\n JSON.stringify(newUsedAddresses)\n ? prevValue\n : newUsedAddresses;\n });\n }\n\n const newUnusedAddresses = freshData.unusedAddresses;\n if (newUnusedAddresses instanceof Array) {\n setUnusedAddresses((prevValue) =>\n JSON.stringify(prevValue) === JSON.stringify(newUnusedAddresses)\n ? prevValue\n : newUnusedAddresses,\n );\n }\n\n const newNetwork = freshData.network;\n if (typeof newNetwork === \"number\") {\n setNetwork((prevValue) =>\n prevValue === newNetwork ? prevValue : newNetwork,\n );\n }\n\n const newUtxos = freshData.utxos;\n if (newUtxos instanceof Array) {\n setUtxos((prevValue) => {\n const prevValueRep = prevValue?.map((v) => v.toCbor());\n const newValueRep = newUtxos?.map((v) => v.toCbor());\n if (prevValueRep !== newValueRep) {\n return newUtxos;\n }\n\n return prevValue;\n });\n }\n\n const newCollateral = freshData.collateral;\n if (newCollateral instanceof Array) {\n setCollateral((prevValue) => {\n const prevValueRep = prevValue?.map((v) => v.toCbor());\n const newValueRep = newCollateral?.map((v) => v.toCbor());\n if (prevValueRep !== newValueRep) {\n return newCollateral;\n }\n\n return prevValue;\n });\n }\n\n const newFeeAddress = freshData.feeAddress;\n if (typeof newFeeAddress === \"string\") {\n setFeeAddress((prevValue) =>\n prevValue === newFeeAddress ? prevValue : newFeeAddress,\n );\n }\n });\n } catch (e) {\n setErrorSyncing(true);\n (e as Error).cause =\n \"The wallet threw an error while the app was trying to sync with it. Please try again or contact your wallet provider.\";\n throw e;\n }\n },\n [observer, disconnect],\n );\n\n /**\n * Ensure the wallet syncs on connect and disconnect.\n */\n useEffect(() => {\n const func = () => syncWallet();\n window.addEventListener(\"focus\", func);\n\n return () => {\n window.addEventListener(\"focus\", func);\n };\n }, [syncWallet]);\n\n return {\n activeWallet,\n adaBalance,\n balance,\n collateral,\n connectWallet,\n disconnect,\n errorSyncing,\n feeAddress,\n isCip45,\n isPending,\n network,\n setActiveWallet,\n setAdaBalance,\n setBalance,\n setCollateral,\n setFeeAddress,\n setIsCip45,\n setNetwork,\n setSwitching,\n setUnusedAddresses,\n setUsedAddresses,\n setUtxos,\n switching,\n syncWallet,\n unusedAddresses,\n usedAddresses,\n utxos,\n willAutoConnect,\n };\n};\n"],"mappings":"AACA,SAASA,WAAW,QAA8B,mBAAmB;AACrE,SAASC,WAAW,EAAEC,SAAS,EAAEC,QAAQ,EAAEC,aAAa,QAAQ,OAAO;AAGvE,SAASC,gBAAgB,QAAQ,4CAA4C;AAC7E,SAASC,cAAc,QAAQ,0CAA0C;AACzE,SAASC,YAAY,QAAQ,uBAAuB;AACpD,SAASC,iBAAiB,QAAQ,+BAA+B;;AAEjE;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,sBAAsB,GAGjCC,QAAuC,IACpC;EACH,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAGT,QAAQ,CAAS,CAAC;EAC1D,MAAM,CAACU,UAAU,EAAEC,aAAa,CAAC,GAAGX,QAAQ,CAC1C,IAAIH,WAAW,CAAgB,EAAE,CACnC,CAAC;EACD,MAAM,CAACe,OAAO,EAAEC,UAAU,CAAC,GAAGb,QAAQ,CACpC,IAAIE,gBAAgB,CAAgBK,QAAQ,CAC9C,CAAC;EACD,MAAM,CAACO,OAAO,EAAEC,UAAU,CAAC,GAAGf,QAAQ,CAAqB,CAAC;EAC5D,MAAM,CAACgB,aAAa,EAAEC,gBAAgB,CAAC,GAAGjB,QAAQ,CAAW,EAAE,CAAC;EAChE,MAAM,CAACkB,eAAe,EAAEC,kBAAkB,CAAC,GAAGnB,QAAQ,CAAW,EAAE,CAAC;EACpE,MAAM,CAACoB,UAAU,EAAEC,aAAa,CAAC,GAAGrB,QAAQ,CAAqB,CAAC;EAClE,MAAM,CAACsB,KAAK,EAAEC,QAAQ,CAAC,GAAGvB,QAAQ,CAA6B,CAAC;EAChE,MAAM,CAACwB,UAAU,EAAEC,aAAa,CAAC,GAAGzB,QAAQ,CAA6B,CAAC;EAC1E,MAAM,CAAC0B,OAAO,EAAEC,UAAU,CAAC,GAAG3B,QAAQ,CAAC,KAAK,CAAC;EAC7C,MAAM,CAAC4B,SAAS,EAAEC,YAAY,CAAC,GAAG7B,QAAQ,CAAC,KAAK,CAAC;EACjD,MAAM,CAAC8B,YAAY,EAAEC,eAAe,CAAC,GAAG/B,QAAQ,CAAC,KAAK,CAAC;EACvD,MAAM,CAACgC,SAAS,EAAEC,eAAe,CAAC,GAAGhC,aAAa,CAAC,CAAC;EACpD,MAAM,CAACiC,eAAe,EAAEC,kBAAkB,CAAC,GAAGnC,QAAQ,CACpDoC,OAAO,CACLC,MAAM,CAACC,YAAY,CAACC,OAAO,CAACpC,cAAc,CAACqC,qBAAqB,CAAC,IAC/DjC,QAAQ,CAACkC,UAAU,CAAC,CAAC,CAACC,WAC1B,CACF,CAAC;EAED,MAAMC,UAAU,GAAG7C,WAAW,CAAC,MAAM;IACnC;IACAS,QAAQ,CAACoC,UAAU,CAAC,CAAC;;IAErB;IACAhC,aAAa,CAAC,IAAId,WAAW,CAAC,EAAE,CAAC,CAAC;IAClCgB,UAAU,CAAC,IAAIX,gBAAgB,CAACK,QAAQ,CAAC,CAAC;IAC1CU,gBAAgB,CAAC,EAAE,CAAC;IACpBE,kBAAkB,CAAC,EAAE,CAAC;IACtBV,eAAe,CAACmC,SAAS,CAAC;IAC1B7B,UAAU,CAAC6B,SAAS,CAAC;IACrBrB,QAAQ,CAACqB,SAAS,CAAC;IACnBnB,aAAa,CAACmB,SAAS,CAAC;IACxBvB,aAAa,CAACuB,SAAS,CAAC;IACxBjB,UAAU,CAAC,KAAK,CAAC;IACjBQ,kBAAkB,CAAC,KAAK,CAAC;EAC3B,CAAC,EAAE,CAAC5B,QAAQ,CAAC,CAAC;EAEd,MAAMsC,aAAa,GAAG/C,WAAW,CAC/B,MAAOgD,MAAc,IAAK;IACxB,IAAIvC,QAAQ,CAACwC,mBAAmB,CAAC,CAAC,IAAID,MAAM,KAAKvC,QAAQ,CAACC,YAAY,EAAE;MACtEqB,YAAY,CAAC,MAAM,IAAI,CAAC;IAC1B;IAEA,MAAMmB,IAAI,GAAG,MAAMzC,QAAQ,CAACsC,aAAa,CAACC,MAAM,CAAC;IACjD,MAAMG,UAAU,CAACD,IAAI,YAAYE,KAAK,GAAGN,SAAS,GAAGI,IAAI,CAAC;IAC1DnB,YAAY,CAAC,MAAM,KAAK,CAAC;IACzB,OAAOtB,QAAQ,CAAC4C,GAAG;EACrB,CAAC,EACD,CAAC5C,QAAQ,EAAEsB,YAAY,CACzB,CAAC;EAED,MAAMoB,UAAU,GAAGnD,WAAW,CAC5B,MAAOsD,YAA6D,IAAK;IACvE,IAAI7C,QAAQ,CAAC8C,SAAS,CAAC,CAAC,IAAI,CAAC9C,QAAQ,CAACwC,mBAAmB,CAAC,CAAC,EAAE;MAC3D;IACF;IAEA,MAAMO,SAAS,GAAG/C,QAAQ,CAACC,YAAY;IACvC,IAAI,CAAC8C,SAAS,EAAE;MACdX,UAAU,CAAC,CAAC;MACZ;IACF;IAEAhB,UAAU,CAAC2B,SAAS,CAACC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACrC9C,eAAe,CAAE+C,UAAU,IACzBF,SAAS,KAAKE,UAAU,GAAGA,UAAU,GAAGF,SAC1C,CAAC;IAED,IAAI;MACF,MAAMG,SAAS,GAAGL,YAAY,KAAK,MAAM7C,QAAQ,CAACmD,IAAI,CAAC,CAAC,CAAC;MAEzDzB,eAAe,CAAC,MAAM;QACpB,MAAM0B,aAAa,GAAGF,SAAS,CAACG,UAAU;QAC1C,IAAID,aAAa,YAAYzD,gBAAgB,EAAE;UAC7C,MAAM2D,aAAa,GAAGF,aAAa,CAACG,GAAG,CAAC1D,YAAY,CAAC;UACrD,IAAIyD,aAAa,EAAE;YACjBlD,aAAa,CAAEoD,WAAW,IACxBA,WAAW,CAACC,MAAM,KAAKH,aAAa,CAACG,MAAM,GACvCD,WAAW,GACXF,aACN,CAAC;YAEDhD,UAAU,CAAEkD,WAAW,IACrB1D,iBAAiB,CAAC0D,WAAW,EAAEJ,aAAa,CAAC,GACzCI,WAAW,GACXJ,aACN,CAAC;UACH;QACF;QAEA,MAAMM,gBAAgB,GAAGR,SAAS,CAACzC,aAAa;QAChD,IAAIiD,gBAAgB,YAAYC,KAAK,EAAE;UACrCjD,gBAAgB,CAAEkD,SAAS,IAAK;YAC9B,OAAOC,IAAI,CAACC,SAAS,CAACF,SAAS,CAAC,KAC9BC,IAAI,CAACC,SAAS,CAACJ,gBAAgB,CAAC,GAC9BE,SAAS,GACTF,gBAAgB;UACtB,CAAC,CAAC;QACJ;QAEA,MAAMK,kBAAkB,GAAGb,SAAS,CAACvC,eAAe;QACpD,IAAIoD,kBAAkB,YAAYJ,KAAK,EAAE;UACvC/C,kBAAkB,CAAEgD,SAAS,IAC3BC,IAAI,CAACC,SAAS,CAACF,SAAS,CAAC,KAAKC,IAAI,CAACC,SAAS,CAACC,kBAAkB,CAAC,GAC5DH,SAAS,GACTG,kBACN,CAAC;QACH;QAEA,MAAMC,UAAU,GAAGd,SAAS,CAAC3C,OAAO;QACpC,IAAI,OAAOyD,UAAU,KAAK,QAAQ,EAAE;UAClCxD,UAAU,CAAEoD,SAAS,IACnBA,SAAS,KAAKI,UAAU,GAAGJ,SAAS,GAAGI,UACzC,CAAC;QACH;QAEA,MAAMC,QAAQ,GAAGf,SAAS,CAACnC,KAAK;QAChC,IAAIkD,QAAQ,YAAYN,KAAK,EAAE;UAC7B3C,QAAQ,CAAE4C,SAAS,IAAK;YACtB,MAAMM,YAAY,GAAGN,SAAS,EAAEO,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACC,MAAM,CAAC,CAAC,CAAC;YACtD,MAAMC,WAAW,GAAGL,QAAQ,EAAEE,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACC,MAAM,CAAC,CAAC,CAAC;YACpD,IAAIH,YAAY,KAAKI,WAAW,EAAE;cAChC,OAAOL,QAAQ;YACjB;YAEA,OAAOL,SAAS;UAClB,CAAC,CAAC;QACJ;QAEA,MAAMW,aAAa,GAAGrB,SAAS,CAACjC,UAAU;QAC1C,IAAIsD,aAAa,YAAYZ,KAAK,EAAE;UAClCzC,aAAa,CAAE0C,SAAS,IAAK;YAC3B,MAAMM,YAAY,GAAGN,SAAS,EAAEO,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACC,MAAM,CAAC,CAAC,CAAC;YACtD,MAAMC,WAAW,GAAGC,aAAa,EAAEJ,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACC,MAAM,CAAC,CAAC,CAAC;YACzD,IAAIH,YAAY,KAAKI,WAAW,EAAE;cAChC,OAAOC,aAAa;YACtB;YAEA,OAAOX,SAAS;UAClB,CAAC,CAAC;QACJ;QAEA,MAAMY,aAAa,GAAGtB,SAAS,CAACrC,UAAU;QAC1C,IAAI,OAAO2D,aAAa,KAAK,QAAQ,EAAE;UACrC1D,aAAa,CAAE8C,SAAS,IACtBA,SAAS,KAAKY,aAAa,GAAGZ,SAAS,GAAGY,aAC5C,CAAC;QACH;MACF,CAAC,CAAC;IACJ,CAAC,CAAC,OAAOC,CAAC,EAAE;MACVjD,eAAe,CAAC,IAAI,CAAC;MACpBiD,CAAC,CAAWC,KAAK,GAChB,uHAAuH;MACzH,MAAMD,CAAC;IACT;EACF,CAAC,EACD,CAACzE,QAAQ,EAAEoC,UAAU,CACvB,CAAC;;EAED;AACF;AACA;EACE5C,SAAS,CAAC,MAAM;IACd,MAAMmF,IAAI,GAAGA,CAAA,KAAMjC,UAAU,CAAC,CAAC;IAC/BZ,MAAM,CAAC8C,gBAAgB,CAAC,OAAO,EAAED,IAAI,CAAC;IAEtC,OAAO,MAAM;MACX7C,MAAM,CAAC8C,gBAAgB,CAAC,OAAO,EAAED,IAAI,CAAC;IACxC,CAAC;EACH,CAAC,EAAE,CAACjC,UAAU,CAAC,CAAC;EAEhB,OAAO;IACLzC,YAAY;IACZE,UAAU;IACVE,OAAO;IACPY,UAAU;IACVqB,aAAa;IACbF,UAAU;IACVb,YAAY;IACZV,UAAU;IACVM,OAAO;IACPM,SAAS;IACTlB,OAAO;IACPL,eAAe;IACfE,aAAa;IACbE,UAAU;IACVY,aAAa;IACbJ,aAAa;IACbM,UAAU;IACVZ,UAAU;IACVc,YAAY;IACZV,kBAAkB;IAClBF,gBAAgB;IAChBM,QAAQ;IACRK,SAAS;IACTqB,UAAU;IACV/B,eAAe;IACfF,aAAa;IACbM,KAAK;IACLY;EACF,CAAC;AACH,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../../../src/react-components/contexts/observer/types.ts"],"sourcesContent":["import type { IHandle } from \"@koralabs/adahandle-sdk\";\nimport type { IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport type { MutableRefObject } from \"react\";\n\nimport type {\n IWalletObserverSync,\n TWalletObserverOptions,\n} from \"../../../@types/observer.js\";\nimport type { WalletObserver } from \"../../../classes/WalletObserver.class.js\";\nimport { useDerivedState } from \"../../WalletObserverProvider/hooks/effects/useDerivedState.js\";\nimport { useWalletObserverState } from \"../../WalletObserverProvider/hooks/useWalletObserverState.js\";\n\n/**\n * Available hooks to apply at various events.\n */\nexport type TWalletProviderHooks<\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata,\n> = {\n onSyncWalletStart?: () => Promise<void>;\n onSyncWalletEnd?: (\n data?: IWalletObserverSync<AssetMetadata>,\n ) => Promise<void>;\n onConnectWalletStart?: () => Promise<void>;\n onConnectWalletEnd?: (\n data?: IWalletObserverSync<AssetMetadata>,\n ) => Promise<void>;\n onDisconnectWallet?: () => Promise<void>;\n};\n\n/**\n * The resolved internal props of the WalletObserverProvider.\n */\nexport interface IWalletObserverProviderState<\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata,\n> {\n observerOptions: TWalletObserverOptions<AssetMetadata>;\n hooks: TWalletProviderHooks<AssetMetadata>;\n refreshInterval: number;\n}\n\n/**\n * The main WalletObserverProvider props.\n */\nexport interface IWalletObserverProviderProps<\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata,\n> {\n options?: Partial<IWalletObserverProviderState<AssetMetadata>>;\n}\n\n/**\n * The WalletObserverProvider's internal state.\n */\nexport interface IWalletObserverState<\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata,\n> {\n observerRef: MutableRefObject<WalletObserver<AssetMetadata>>;\n refreshInterval: number | false;\n state: ReturnType<typeof useWalletObserverState<AssetMetadata>> &\n ReturnType<typeof useDerivedState> & {\n isPending: boolean;\n observer: WalletObserver<AssetMetadata>;\n connectingWallet: boolean;\n syncingWallet: boolean;\n ready: boolean;\n };\n}\n\n/**\n * A generic to extend the default IHandle type that comes\n * back from the Kora Lab's API, and merged with the metadata\n * returned from the metadataResolver.\n */\nexport type THandleMetadata<\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata,\n> = AssetMetadata & IHandle;\n\n/**\n * The exposed state of the WalletObserverProvider.\n */\nexport type TUseWalletObserverState<\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata,\n> = Omit<\n IWalletObserverState<AssetMetadata>[\"state\"],\n | \"setActiveWallet\"\n | \"setAdaBalance\"\n | \"setHandles\"\n | \"setSwitching\"\n | \"setBalance\"\n | \"setNetwork\"\n | \"setUnusedAddresses\"\n | \"setUsedAddresses\"\n | \"setReady\"\n | \"setIsCip45\"\n | \"setUtxos\"\n | \"setCollateral\"\n | \"setFeeAddress\"\n>;\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../../../src/react-components/contexts/observer/types.ts"],"sourcesContent":["import type { IHandle } from \"@koralabs/adahandle-sdk\";\nimport type { IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport type { MutableRefObject } from \"react\";\n\nimport type {\n IWalletObserverSync,\n TWalletObserverOptions,\n} from \"../../../@types/observer.js\";\nimport type { WalletObserver } from \"../../../classes/WalletObserver.class.js\";\nimport { useDerivedState } from \"../../WalletObserverProvider/hooks/effects/useDerivedState.js\";\nimport { useWalletObserverState } from \"../../WalletObserverProvider/hooks/useWalletObserverState.js\";\n\n/**\n * Available hooks to apply at various events.\n */\nexport type TWalletProviderHooks<\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata,\n> = {\n onSyncWalletStart?: () => Promise<void>;\n onSyncWalletEnd?: (\n data?: IWalletObserverSync<AssetMetadata> & { activeWallet: string },\n ) => Promise<void>;\n onConnectWalletStart?: () => Promise<void>;\n onConnectWalletEnd?: (\n data?: IWalletObserverSync<AssetMetadata> & { activeWallet: string },\n ) => Promise<void>;\n onDisconnectWallet?: () => Promise<void>;\n};\n\n/**\n * The resolved internal props of the WalletObserverProvider.\n */\nexport interface IWalletObserverProviderState<\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata,\n> {\n observerOptions: TWalletObserverOptions<AssetMetadata>;\n hooks: TWalletProviderHooks<AssetMetadata>;\n refreshInterval: number;\n}\n\n/**\n * The main WalletObserverProvider props.\n */\nexport interface IWalletObserverProviderProps<\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata,\n> {\n options?: Partial<IWalletObserverProviderState<AssetMetadata>>;\n}\n\n/**\n * The WalletObserverProvider's internal state.\n */\nexport interface IWalletObserverState<\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata,\n> {\n observerRef: MutableRefObject<WalletObserver<AssetMetadata>>;\n refreshInterval: number | false;\n state: ReturnType<typeof useWalletObserverState<AssetMetadata>> &\n ReturnType<typeof useDerivedState> & {\n isPending: boolean;\n observer: WalletObserver<AssetMetadata>;\n connectingWallet: boolean;\n syncingWallet: boolean;\n ready: boolean;\n };\n}\n\n/**\n * A generic to extend the default IHandle type that comes\n * back from the Kora Lab's API, and merged with the metadata\n * returned from the metadataResolver.\n */\nexport type THandleMetadata<\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata,\n> = AssetMetadata & IHandle;\n\n/**\n * The exposed state of the WalletObserverProvider.\n */\nexport type TUseWalletObserverState<\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata,\n> = Omit<\n IWalletObserverState<AssetMetadata>[\"state\"],\n | \"setActiveWallet\"\n | \"setAdaBalance\"\n | \"setHandles\"\n | \"setSwitching\"\n | \"setBalance\"\n | \"setNetwork\"\n | \"setUnusedAddresses\"\n | \"setUsedAddresses\"\n | \"setReady\"\n | \"setIsCip45\"\n | \"setUtxos\"\n | \"setCollateral\"\n | \"setFeeAddress\"\n>;\n"],"mappings":"","ignoreList":[]}
@@ -18,9 +18,13 @@ export declare enum EWalletObserverEvents {
18
18
  */
19
19
  export interface IWalletObserverEventValues<T extends IAssetAmountMetadata = IAssetAmountMetadata> {
20
20
  [EWalletObserverEvents.SYNCING_WALLET_START]: undefined;
21
- [EWalletObserverEvents.SYNCING_WALLET_END]: undefined | IWalletObserverSync<T>;
21
+ [EWalletObserverEvents.SYNCING_WALLET_END]: undefined | (IWalletObserverSync<T> & {
22
+ activeWallet: string;
23
+ });
22
24
  [EWalletObserverEvents.CONNECT_WALLET_START]: undefined;
23
- [EWalletObserverEvents.CONNECT_WALLET_END]: undefined | IWalletObserverSync<T>;
25
+ [EWalletObserverEvents.CONNECT_WALLET_END]: undefined | (IWalletObserverSync<T> & {
26
+ activeWallet: string;
27
+ });
24
28
  [EWalletObserverEvents.GET_BALANCE_MAP_START]: undefined;
25
29
  [EWalletObserverEvents.GET_BALANCE_MAP_END]: {
26
30
  balanceMap: WalletBalanceMap<T>;
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/@types/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEpD;;GAEG;AACH,oBAAY,qBAAqB;IAC/B,oBAAoB,uBAAuB;IAC3C,kBAAkB,qBAAqB;IACvC,oBAAoB,uBAAuB;IAC3C,kBAAkB,qBAAqB;IACvC,qBAAqB,uBAAuB;IAC5C,mBAAmB,qBAAqB;IACxC,UAAU,eAAe;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B,CACzC,CAAC,SAAS,oBAAoB,GAAG,oBAAoB;IAErD,CAAC,qBAAqB,CAAC,oBAAoB,CAAC,EAAE,SAAS,CAAC;IACxD,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,EACtC,SAAS,GACT,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC,qBAAqB,CAAC,oBAAoB,CAAC,EAAE,SAAS,CAAC;IACxD,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,EACtC,SAAS,GACT,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC,qBAAqB,CAAC,qBAAqB,CAAC,EAAE,SAAS,CAAC;IACzD,CAAC,qBAAqB,CAAC,mBAAmB,CAAC,EAAE;QAC3C,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;KACjC,CAAC;IACF,CAAC,qBAAqB,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC;CAC/C;AAED;;;GAGG;AACH,MAAM,MAAM,4BAA4B,CACtC,CAAC,SAAS,MAAM,0BAA0B,IACxC,CAAC,IAAI,CAAC,EAAE,0BAA0B,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/@types/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEpD;;GAEG;AACH,oBAAY,qBAAqB;IAC/B,oBAAoB,uBAAuB;IAC3C,kBAAkB,qBAAqB;IACvC,oBAAoB,uBAAuB;IAC3C,kBAAkB,qBAAqB;IACvC,qBAAqB,uBAAuB;IAC5C,mBAAmB,qBAAqB;IACxC,UAAU,eAAe;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B,CACzC,CAAC,SAAS,oBAAoB,GAAG,oBAAoB;IAErD,CAAC,qBAAqB,CAAC,oBAAoB,CAAC,EAAE,SAAS,CAAC;IACxD,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,EACtC,SAAS,GACT,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACxD,CAAC,qBAAqB,CAAC,oBAAoB,CAAC,EAAE,SAAS,CAAC;IACxD,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,EACtC,SAAS,GACT,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACxD,CAAC,qBAAqB,CAAC,qBAAqB,CAAC,EAAE,SAAS,CAAC;IACzD,CAAC,qBAAqB,CAAC,mBAAmB,CAAC,EAAE;QAC3C,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;KACjC,CAAC;IACF,CAAC,qBAAqB,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC;CAC/C;AAED;;;GAGG;AACH,MAAM,MAAM,4BAA4B,CACtC,CAAC,SAAS,MAAM,0BAA0B,IACxC,CAAC,IAAI,CAAC,EAAE,0BAA0B,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC"}
@@ -82,9 +82,9 @@ export declare class WalletObserver<AssetMetadata extends IAssetAmountMetadata =
82
82
  * 10 seconds before throw an error.
83
83
  *
84
84
  * @param {string} extension The name of the extension to enable.
85
- * @return {Promise<void>}
85
+ * @return {Promise<IWalletObserverSync<AssetMetadata> | Error>}
86
86
  */
87
- connectWallet: (extension: string) => Promise<void>;
87
+ connectWallet: (extension: string) => Promise<IWalletObserverSync<AssetMetadata> | Error>;
88
88
  getCip45Instance: () => Promise<{
89
89
  name: string;
90
90
  icon: string | null;
@@ -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,sBAAsB,EACvB,MAAM,uBAAuB,CAAC;AAQ/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;IACzC,OAAO,EAAE,MAAM,CAAK;IACpB,GAAG,CAAC,EAAE,cAAc,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAC5B,mBAAmB,CAAC,EAAE,OAAO,qCAAqC,EAAE,eAAe,CAAC;IAE3F,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAgD;IAGhE,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,CAmE1D;IAEF;;;;;;OAMG;IACH,SAAS,IAAI,OAAO;IAIpB;;;;OAIG;IACH,mBAAmB,IAAI,OAAO;IAI9B;;;;;;OAMG;IACH,OAAO,kBACU,MAAM,KACpB,QAAQ,cAAc,GAAG,SAAS,CAAC,CAgDpC;IAEF;;;;OAIG;IACH,UAAU,QAAO,sBAAsB,CAErC;IAEF;;;;;;;OAOG;IACH,aAAa,cAAqB,MAAM,KAAG,QAAQ,IAAI,CAAC,CAsDtD;IAEF,gBAAgB;;;;OAmBd;IAEF;;;;OAIG;IACH,sBAAsB,QAAO,IAAI,MAAM,EAAE,aAAa,CAAC,CAChC;IAEvB;;;;OAIG;IACH,UAAU,QAAO,IAAI,CAKnB;IAEF;;;;OAIG;IACH,aAAa,QAAa,QACxB,iBAAiB,aAAa,CAAC,GAAG,KAAK,CACxC,CAqDC;IAEF;;;;OAIG;IACH,UAAU,QAAa,QAAQ,MAAM,GAAG,KAAK,CAAC,CAoB5C;IAEF;;;;OAIG;IACH,gBAAgB,QAAa,QAAQ,MAAM,EAAE,GAAG,KAAK,CAAC,CA8BpD;IAEF;;;;OAIG;IACH,kBAAkB,QAAa,QAAQ,MAAM,EAAE,GAAG,KAAK,CAAC,CA8BtD;IAEF;;;;OAIG;IACH,QAAQ,QAAa,QACnB,wBAAwB,EAAE,GAAG,KAAK,GAAG,SAAS,CAC/C,CAmCC;IAEF;;;;OAIG;IACH,aAAa,QAAa,QAAQ,MAAM,GAAG,KAAK,GAAG,SAAS,CAAC,CAoB3D;IAEF;;;;OAIG;IACH,aAAa,QAAa,QACxB,wBAAwB,EAAE,GAAG,KAAK,GAAG,SAAS,CAC/C,CA0CC;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,sBAAsB,EACvB,MAAM,uBAAuB,CAAC;AAQ/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;IACzC,OAAO,EAAE,MAAM,CAAK;IACpB,GAAG,CAAC,EAAE,cAAc,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAC5B,mBAAmB,CAAC,EAAE,OAAO,qCAAqC,EAAE,eAAe,CAAC;IAE3F,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAgD;IAGhE,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,CAmE1D;IAEF;;;;;;OAMG;IACH,SAAS,IAAI,OAAO;IAIpB;;;;OAIG;IACH,mBAAmB,IAAI,OAAO;IAI9B;;;;;;OAMG;IACH,OAAO,kBACU,MAAM,KACpB,QAAQ,cAAc,GAAG,SAAS,CAAC,CAgDpC;IAEF;;;;OAIG;IACH,UAAU,QAAO,sBAAsB,CAErC;IAEF;;;;;;;OAOG;IACH,aAAa,cACA,MAAM,KAChB,QAAQ,oBAAoB,aAAa,CAAC,GAAG,KAAK,CAAC,CA6DpD;IAEF,gBAAgB;;;;OAmBd;IAEF;;;;OAIG;IACH,sBAAsB,QAAO,IAAI,MAAM,EAAE,aAAa,CAAC,CAChC;IAEvB;;;;OAIG;IACH,UAAU,QAAO,IAAI,CAKnB;IAEF;;;;OAIG;IACH,aAAa,QAAa,QACxB,iBAAiB,aAAa,CAAC,GAAG,KAAK,CACxC,CAqDC;IAEF;;;;OAIG;IACH,UAAU,QAAa,QAAQ,MAAM,GAAG,KAAK,CAAC,CAoB5C;IAEF;;;;OAIG;IACH,gBAAgB,QAAa,QAAQ,MAAM,EAAE,GAAG,KAAK,CAAC,CA8BpD;IAEF;;;;OAIG;IACH,kBAAkB,QAAa,QAAQ,MAAM,EAAE,GAAG,KAAK,CAAC,CA8BtD;IAEF;;;;OAIG;IACH,QAAQ,QAAa,QACnB,wBAAwB,EAAE,GAAG,KAAK,GAAG,SAAS,CAC/C,CAmCC;IAEF;;;;OAIG;IACH,aAAa,QAAa,QAAQ,MAAM,GAAG,KAAK,GAAG,SAAS,CAAC,CAoB3D;IAEF;;;;OAIG;IACH,aAAa,QAAa,QACxB,wBAAwB,EAAE,GAAG,KAAK,GAAG,SAAS,CAC/C,CA0CC;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,4 +1,5 @@
1
1
  import { MutableRefObject } from "react";
2
+ import { IAssetAmountMetadata } from "@sundaeswap/asset";
2
3
  import { TWalletObserverOptions } from "../../../@types/observer.js";
3
4
  import { WalletObserver } from "../../../classes/WalletObserver.class.js";
4
5
  import { TWalletProviderHooks } from "../../contexts/observer/index.js";
@@ -10,7 +11,7 @@ import { TWalletProviderHooks } from "../../contexts/observer/index.js";
10
11
  * @param {TWalletProviderHooks}
11
12
  */
12
13
  export declare const useProviderWalletObserverRef: (options?: TWalletObserverOptions, hooks?: TWalletProviderHooks) => {
13
- observerRef: MutableRefObject<WalletObserver<import("@sundaeswap/asset").IAssetAmountMetadata>>;
14
+ observerRef: MutableRefObject<WalletObserver<IAssetAmountMetadata>>;
14
15
  connectingWallet: boolean;
15
16
  syncingWallet: boolean;
16
17
  ready: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"useProviderWalletObserverRef.d.ts","sourceRoot":"","sources":["../../../../../src/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAwC,MAAM,OAAO,CAAC;AAG/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAExE;;;;;;GAMG;AACH,eAAO,MAAM,4BAA4B,aAC7B,sBAAsB,UACxB,oBAAoB;;;;;;CA6G7B,CAAC"}
1
+ {"version":3,"file":"useProviderWalletObserverRef.d.ts","sourceRoot":"","sources":["../../../../../src/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAwC,MAAM,OAAO,CAAC;AAE/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,EAEL,sBAAsB,EACvB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAExE;;;;;;GAMG;AACH,eAAO,MAAM,4BAA4B,aAC7B,sBAAsB,UACxB,oBAAoB;;;;;;CA+H7B,CAAC"}
@@ -1,6 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  import type { TransactionUnspentOutput } from "@cardano-sdk/core/dist/cjs/Serialization/TransactionUnspentOutput.js";
3
3
  import { AssetAmount, IAssetAmountMetadata } from "@sundaeswap/asset";
4
+ import { IWalletObserverSync } from "src/@types/observer.js";
4
5
  import { WalletBalanceMap } from "../../../classes/WalletBalanceMap.class.js";
5
6
  import { WalletObserver } from "../../../classes/WalletObserver.class.js";
6
7
  /**
@@ -33,7 +34,7 @@ export declare const useWalletObserverState: <AssetMetadata extends IAssetAmount
33
34
  setUsedAddresses: import("react").Dispatch<import("react").SetStateAction<string[]>>;
34
35
  setUtxos: import("react").Dispatch<import("react").SetStateAction<TransactionUnspentOutput[] | undefined>>;
35
36
  switching: boolean;
36
- syncWallet: () => Promise<void>;
37
+ syncWallet: (importedData?: IWalletObserverSync<AssetMetadata> | undefined) => Promise<void>;
37
38
  unusedAddresses: string[];
38
39
  usedAddresses: string[];
39
40
  utxos: TransactionUnspentOutput[] | undefined;
@@ -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,sEAAsE,CAAC;AACrH,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAGtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAI1E;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,gFAGvB,eAAe,aAAa,CAAC;;;;;4BA6CtB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;CA+JxB,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,sEAAsE,CAAC;AACrH,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAGtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAI1E;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,gFAGvB,eAAe,aAAa,CAAC;;;;;4BA6CtB,MAAM;;;;;;;;;;;;;;;;;;;gCAcC,oBAAoB,aAAa,CAAC,GAAG,SAAS;;;;;CAqJvE,CAAC"}
@@ -10,9 +10,13 @@ import { useWalletObserverState } from "../../WalletObserverProvider/hooks/useWa
10
10
  */
11
11
  export type TWalletProviderHooks<AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata> = {
12
12
  onSyncWalletStart?: () => Promise<void>;
13
- onSyncWalletEnd?: (data?: IWalletObserverSync<AssetMetadata>) => Promise<void>;
13
+ onSyncWalletEnd?: (data?: IWalletObserverSync<AssetMetadata> & {
14
+ activeWallet: string;
15
+ }) => Promise<void>;
14
16
  onConnectWalletStart?: () => Promise<void>;
15
- onConnectWalletEnd?: (data?: IWalletObserverSync<AssetMetadata>) => Promise<void>;
17
+ onConnectWalletEnd?: (data?: IWalletObserverSync<AssetMetadata> & {
18
+ activeWallet: string;
19
+ }) => Promise<void>;
16
20
  onDisconnectWallet?: () => Promise<void>;
17
21
  };
18
22
  /**
@@ -1 +1 @@
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,EACV,mBAAmB,EACnB,sBAAsB,EACvB,MAAM,6BAA6B,CAAC;AACrC,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,CAC9B,aAAa,SAAS,oBAAoB,GAAG,oBAAoB,IAC/D;IACF,iBAAiB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,eAAe,CAAC,EAAE,CAChB,IAAI,CAAC,EAAE,mBAAmB,CAAC,aAAa,CAAC,KACtC,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,oBAAoB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,kBAAkB,CAAC,EAAE,CACnB,IAAI,CAAC,EAAE,mBAAmB,CAAC,aAAa,CAAC,KACtC,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1C,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,aAAa,CAAC,CAAC;IAC3C,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;QACxC,gBAAgB,EAAE,OAAO,CAAC;QAC1B,aAAa,EAAE,OAAO,CAAC;QACvB,KAAK,EAAE,OAAO,CAAC;KAChB,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,GACf,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,EACV,mBAAmB,EACnB,sBAAsB,EACvB,MAAM,6BAA6B,CAAC;AACrC,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,CAC9B,aAAa,SAAS,oBAAoB,GAAG,oBAAoB,IAC/D;IACF,iBAAiB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,eAAe,CAAC,EAAE,CAChB,IAAI,CAAC,EAAE,mBAAmB,CAAC,aAAa,CAAC,GAAG;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,KACjE,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,oBAAoB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,kBAAkB,CAAC,EAAE,CACnB,IAAI,CAAC,EAAE,mBAAmB,CAAC,aAAa,CAAC,GAAG;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,KACjE,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1C,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,aAAa,CAAC,CAAC;IAC3C,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;QACxC,gBAAgB,EAAE,OAAO,CAAC;QAC1B,aAAa,EAAE,OAAO,CAAC;QACvB,KAAK,EAAE,OAAO,CAAC;KAChB,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,GACf,eAAe,CAClB,CAAC"}