@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.
- package/dist/cjs/@types/events.js.map +1 -1
- package/dist/cjs/classes/WalletObserver.class.js +36 -31
- package/dist/cjs/classes/WalletObserver.class.js.map +1 -1
- package/dist/cjs/react-components/WalletObserverProvider/WalletObserverProvider.js +1 -1
- package/dist/cjs/react-components/WalletObserverProvider/WalletObserverProvider.js.map +1 -1
- package/dist/cjs/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.js +30 -32
- package/dist/cjs/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.js.map +1 -1
- package/dist/cjs/react-components/WalletObserverProvider/hooks/useWalletObserverState.js +126 -109
- package/dist/cjs/react-components/WalletObserverProvider/hooks/useWalletObserverState.js.map +1 -1
- package/dist/cjs/react-components/contexts/observer/types.js.map +1 -1
- package/dist/esm/@types/events.js.map +1 -1
- package/dist/esm/classes/WalletObserver.class.js +18 -12
- package/dist/esm/classes/WalletObserver.class.js.map +1 -1
- package/dist/esm/react-components/WalletObserverProvider/WalletObserverProvider.js +1 -1
- package/dist/esm/react-components/WalletObserverProvider/WalletObserverProvider.js.map +1 -1
- package/dist/esm/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.js +23 -13
- package/dist/esm/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.js.map +1 -1
- package/dist/esm/react-components/WalletObserverProvider/hooks/useWalletObserverState.js +7 -6
- package/dist/esm/react-components/WalletObserverProvider/hooks/useWalletObserverState.js.map +1 -1
- package/dist/esm/react-components/contexts/observer/types.js.map +1 -1
- package/dist/types/@types/events.d.ts +6 -2
- package/dist/types/@types/events.d.ts.map +1 -1
- package/dist/types/classes/WalletObserver.class.d.ts +2 -2
- package/dist/types/classes/WalletObserver.class.d.ts.map +1 -1
- package/dist/types/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.d.ts +2 -1
- package/dist/types/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.d.ts.map +1 -1
- package/dist/types/react-components/WalletObserverProvider/hooks/useWalletObserverState.d.ts +2 -1
- package/dist/types/react-components/WalletObserverProvider/hooks/useWalletObserverState.d.ts.map +1 -1
- package/dist/types/react-components/contexts/observer/types.d.ts +6 -2
- package/dist/types/react-components/contexts/observer/types.d.ts.map +1 -1
- package/dist/types/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/@types/events.ts +2 -2
- package/src/classes/WalletObserver.class.ts +23 -14
- package/src/classes/__tests__/WalletObserver.test.ts +4 -0
- package/src/react-components/WalletObserverProvider/WalletObserverProvider.tsx +1 -1
- package/src/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.ts +36 -14
- package/src/react-components/WalletObserverProvider/hooks/useWalletObserverState.ts +107 -102
- package/src/react-components/contexts/observer/types.ts +2 -2
package/dist/esm/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.js.map
CHANGED
|
@@ -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 {
|
|
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
|
-
|
|
129
|
+
const func = () => syncWallet();
|
|
130
|
+
window.addEventListener("focus", func);
|
|
130
131
|
return () => {
|
|
131
|
-
window.addEventListener("focus",
|
|
132
|
+
window.addEventListener("focus", func);
|
|
132
133
|
};
|
|
133
134
|
}, [syncWallet]);
|
|
134
135
|
return {
|
package/dist/esm/react-components/WalletObserverProvider/hooks/useWalletObserverState.js.map
CHANGED
|
@@ -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":"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","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
|
|
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;
|
|
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<
|
|
85
|
+
* @return {Promise<IWalletObserverSync<AssetMetadata> | Error>}
|
|
86
86
|
*/
|
|
87
|
-
connectWallet: (extension: string) => Promise<
|
|
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,
|
|
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"}
|
package/dist/types/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.d.ts
CHANGED
|
@@ -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<
|
|
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;
|
|
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"}
|
package/dist/types/react-components/WalletObserverProvider/hooks/useWalletObserverState.d.ts
CHANGED
|
@@ -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;
|
package/dist/types/react-components/WalletObserverProvider/hooks/useWalletObserverState.d.ts.map
CHANGED
|
@@ -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
|
|
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>
|
|
13
|
+
onSyncWalletEnd?: (data?: IWalletObserverSync<AssetMetadata> & {
|
|
14
|
+
activeWallet: string;
|
|
15
|
+
}) => Promise<void>;
|
|
14
16
|
onConnectWalletStart?: () => Promise<void>;
|
|
15
|
-
onConnectWalletEnd?: (data?: IWalletObserverSync<AssetMetadata>
|
|
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,
|
|
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"}
|