@sundaeswap/wallet-lite 0.0.39 → 0.0.41
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/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.js +6 -0
- package/dist/cjs/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.js.map +1 -1
- package/dist/cjs/react-components/WalletObserverProvider/hooks/useWalletObserverState.js +7 -4
- 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/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.js +5 -0
- package/dist/esm/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.js.map +1 -1
- package/dist/esm/react-components/WalletObserverProvider/hooks/useWalletObserverState.js +4 -2
- 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/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.d.ts.map +1 -1
- package/dist/types/react-components/WalletObserverProvider/hooks/useWalletObserverState.d.ts +1 -1
- package/dist/types/react-components/WalletObserverProvider/hooks/useWalletObserverState.d.ts.map +1 -1
- package/dist/types/react-components/contexts/observer/types.d.ts +1 -0
- 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/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.ts +11 -0
- package/src/react-components/WalletObserverProvider/hooks/useWalletObserverState.ts +8 -15
- package/src/react-components/contexts/observer/types.ts +1 -0
package/dist/cjs/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.js
CHANGED
|
@@ -80,10 +80,15 @@ var useProviderWalletObserverRef = exports.useProviderWalletObserverRef = functi
|
|
|
80
80
|
return false;
|
|
81
81
|
});
|
|
82
82
|
};
|
|
83
|
+
var onDisconnect = function onDisconnect() {
|
|
84
|
+
var _hooks$onDisconnectWa;
|
|
85
|
+
hooks === null || hooks === void 0 || (_hooks$onDisconnectWa = hooks.onDisconnectWallet) === null || _hooks$onDisconnectWa === void 0 || _hooks$onDisconnectWa.call(hooks);
|
|
86
|
+
};
|
|
83
87
|
observerRef.current.addEventListener(_events.EWalletObserverEvents.CONNECT_WALLET_START, setConnectingStart);
|
|
84
88
|
observerRef.current.addEventListener(_events.EWalletObserverEvents.CONNECT_WALLET_END, setConnectingEnd);
|
|
85
89
|
observerRef.current.addEventListener(_events.EWalletObserverEvents.SYNCING_WALLET_START, setSyncingStart);
|
|
86
90
|
observerRef.current.addEventListener(_events.EWalletObserverEvents.SYNCING_WALLET_END, setSyncingEnd);
|
|
91
|
+
observerRef.current.addEventListener(_events.EWalletObserverEvents.DISCONNECT, onDisconnect);
|
|
87
92
|
setEventListenersAttached(function () {
|
|
88
93
|
return true;
|
|
89
94
|
});
|
|
@@ -95,6 +100,7 @@ var useProviderWalletObserverRef = exports.useProviderWalletObserverRef = functi
|
|
|
95
100
|
observerRef.current.removeEventListener(_events.EWalletObserverEvents.CONNECT_WALLET_END, setConnectingEnd);
|
|
96
101
|
observerRef.current.removeEventListener(_events.EWalletObserverEvents.SYNCING_WALLET_START, setSyncingStart);
|
|
97
102
|
observerRef.current.removeEventListener(_events.EWalletObserverEvents.SYNCING_WALLET_END, setSyncingEnd);
|
|
103
|
+
observerRef.current.removeEventListener(_events.EWalletObserverEvents.DISCONNECT, onDisconnect);
|
|
98
104
|
};
|
|
99
105
|
}, [observerRef, hooks]);
|
|
100
106
|
return {
|
package/dist/cjs/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useProviderWalletObserverRef.js","names":["_react","require","_events","_WalletObserverClass","_slicedToArray","r","e","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","a","_arrayLikeToArray","t","toString","call","slice","constructor","name","Array","from","test","length","n","l","Symbol","iterator","i","u","f","o","next","Object","done","push","value","isArray","useProviderWalletObserverRef","exports","options","hooks","observerRef","useRef","current","observer","WalletObserver","_useState","useState","_useState2","connecting","setConnecting","_useState3","_useState4","syncing","setSyncing","_useState5","_useState6","eventListenersAttached","setEventListenersAttached","ready","useMemo","Boolean","api","activeWallet","useEffect","setConnectingStart","_hooks$onConnectWalle","onConnectWalletStart","setConnectingEnd","_hooks$onConnectWalle2","onConnectWalletEnd","setSyncingStart","_hooks$onSyncWalletSt","onSyncWalletStart","setSyncingEnd","_hooks$onSyncWalletEn","onSyncWalletEnd","addEventListener","EWalletObserverEvents","CONNECT_WALLET_START","CONNECT_WALLET_END","SYNCING_WALLET_START","SYNCING_WALLET_END","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 = () => {\n setConnecting(() => true);\n hooks?.onConnectWalletStart?.();\n };\n const setConnectingEnd = () => {\n setConnecting(() => false);\n hooks?.onConnectWalletEnd?.();\n };\n const setSyncingStart = () => {\n setSyncing(() => true);\n hooks?.onSyncWalletStart?.();\n };\n const setSyncingEnd = () => {\n hooks?.onSyncWalletEnd?.();\n setSyncing(() => false);\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\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 };\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":["_react","require","_events","_WalletObserverClass","_slicedToArray","r","e","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","a","_arrayLikeToArray","t","toString","call","slice","constructor","name","Array","from","test","length","n","l","Symbol","iterator","i","u","f","o","next","Object","done","push","value","isArray","useProviderWalletObserverRef","exports","options","hooks","observerRef","useRef","current","observer","WalletObserver","_useState","useState","_useState2","connecting","setConnecting","_useState3","_useState4","syncing","setSyncing","_useState5","_useState6","eventListenersAttached","setEventListenersAttached","ready","useMemo","Boolean","api","activeWallet","useEffect","setConnectingStart","_hooks$onConnectWalle","onConnectWalletStart","setConnectingEnd","_hooks$onConnectWalle2","onConnectWalletEnd","setSyncingStart","_hooks$onSyncWalletSt","onSyncWalletStart","setSyncingEnd","_hooks$onSyncWalletEn","onSyncWalletEnd","onDisconnect","_hooks$onDisconnectWa","onDisconnectWallet","addEventListener","EWalletObserverEvents","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 = () => {\n setConnecting(() => true);\n hooks?.onConnectWalletStart?.();\n };\n const setConnectingEnd = () => {\n setConnecting(() => false);\n hooks?.onConnectWalletEnd?.();\n };\n const setSyncingStart = () => {\n setSyncing(() => true);\n hooks?.onSyncWalletStart?.();\n };\n const setSyncingEnd = () => {\n 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":[]}
|
|
@@ -75,9 +75,10 @@ var useWalletObserverState = exports.useWalletObserverState = function useWallet
|
|
|
75
75
|
_useTransition2 = _slicedToArray(_useTransition, 2),
|
|
76
76
|
isPending = _useTransition2[0],
|
|
77
77
|
startTransition = _useTransition2[1];
|
|
78
|
-
var
|
|
79
|
-
|
|
80
|
-
|
|
78
|
+
var _useState23 = (0, _react.useState)(Boolean(window.localStorage.getItem(_WalletObserverClass.WalletObserver.PERSISTENCE_CACHE_KEY) && observer.getOptions().persistence)),
|
|
79
|
+
_useState24 = _slicedToArray(_useState23, 2),
|
|
80
|
+
willAutoConnect = _useState24[0],
|
|
81
|
+
setWillAutoConnect = _useState24[1];
|
|
81
82
|
var disconnect = (0, _react.useCallback)(function () {
|
|
82
83
|
// Reset observer state.
|
|
83
84
|
observer.disconnect();
|
|
@@ -93,6 +94,7 @@ var useWalletObserverState = exports.useWalletObserverState = function useWallet
|
|
|
93
94
|
setUtxos(undefined);
|
|
94
95
|
setCollateral(undefined);
|
|
95
96
|
setIsCip45(false);
|
|
97
|
+
setWillAutoConnect(false);
|
|
96
98
|
}, [observer]);
|
|
97
99
|
var syncWallet = (0, _react.useCallback)( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
98
100
|
var newWallet, freshData;
|
|
@@ -192,7 +194,8 @@ var useWalletObserverState = exports.useWalletObserverState = function useWallet
|
|
|
192
194
|
setSwitching(function () {
|
|
193
195
|
return false;
|
|
194
196
|
});
|
|
195
|
-
|
|
197
|
+
return _context2.abrupt("return", observer.api);
|
|
198
|
+
case 7:
|
|
196
199
|
case "end":
|
|
197
200
|
return _context2.stop();
|
|
198
201
|
}
|
package/dist/cjs/react-components/WalletObserverProvider/hooks/useWalletObserverState.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useWalletObserverState.js","names":["_asset","require","_react","_WalletAssetMapClass","_WalletBalanceMapClass","_WalletObserverClass","_comparisons","_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","_catch","delegateYield","asyncGeneratorStep","_asyncToGenerator","arguments","apply","_next","_throw","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","_arrayLikeToArray","toString","Array","from","test","isArray","useWalletObserverState","exports","observer","_useState","useState","_useState2","activeWallet","setActiveWallet","_useState3","AssetAmount","_useState4","adaBalance","setAdaBalance","_useState5","WalletAssetMap","_useState6","handleMetadata","setHandleMetadata","_useState7","WalletBalanceMap","_useState8","balance","setBalance","_useState9","_useState10","network","setNetwork","_useState11","_useState12","usedAddresses","setUsedAddresses","_useState13","_useState14","unusedAddresses","setUnusedAddresses","_useState15","_useState16","utxos","setUtxos","_useState17","_useState18","collateral","setCollateral","_useState19","_useState20","isCip45","setIsCip45","_useState21","_useState22","switching","setSwitching","_useTransition","useTransition","_useTransition2","isPending","startTransition","willAutoConnect","useMemo","Boolean","window","localStorage","getItem","WalletObserver","PERSISTENCE_CACHE_KEY","getOptions","persistence","disconnect","useCallback","undefined","syncWallet","_callee","newWallet","freshData","_callee$","_context","isSyncing","hasActiveConnection","sync","prevWallet","newAdaBalance","balanceMap","get","ADA_ASSET_ID","prevBalance","amount","areAssetMapsEqual","prevValue","JSON","stringify","_freshData$utxos","prevValueRep","map","toCbor","newValueRep","_freshData$utxos2","includes","connectWallet","_ref2","_callee2","wallet","_callee2$","_context2","_x","useEffect","addEventListener","handles","setHandles"],"sources":["../../../../../src/react-components/WalletObserverProvider/hooks/useWalletObserverState.ts"],"sourcesContent":["import type { TransactionUnspentOutput } from \"@cardano-sdk/core/dist/cjs/Serialization/index.js\";\nimport { AssetAmount, IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport {\n useCallback,\n useEffect,\n useMemo,\n useState,\n useTransition,\n} from \"react\";\n\nimport {\n TAssetAmountMap,\n TSupportedWalletExtensions,\n} from \"../../../@types/observer.js\";\nimport { WalletAssetMap } from \"../../../classes/WalletAssetMap.class.js\";\nimport { WalletBalanceMap } from \"../../../classes/WalletBalanceMap.class.js\";\nimport { WalletObserver } from \"../../../classes/WalletObserver.class.js\";\nimport { areAssetMapsEqual } from \"../../../utils/comparisons.js\";\nimport { THandleMetadata } from \"../../contexts/observer/index.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] =\n useState<TSupportedWalletExtensions>();\n const [adaBalance, setAdaBalance] = useState<AssetAmount<AssetMetadata>>(\n new AssetAmount<AssetMetadata>(0n)\n );\n const [handleMetadata, setHandleMetadata] = useState<\n TAssetAmountMap<THandleMetadata<AssetMetadata>>\n >(new WalletAssetMap<THandleMetadata<AssetMetadata>>());\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 [utxos, setUtxos] = useState<TransactionUnspentOutput[]>();\n const [collateral, setCollateral] = useState<TransactionUnspentOutput[]>();\n const [isCip45, setIsCip45] = useState(false);\n const [switching, setSwitching] = useState(false);\n const [isPending, startTransition] = useTransition();\n\n const willAutoConnect = useMemo(\n () =>\n Boolean(\n window.localStorage.getItem(WalletObserver.PERSISTENCE_CACHE_KEY) &&\n observer.getOptions().persistence\n ),\n [observer]\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 setHandleMetadata(new WalletAssetMap());\n setUsedAddresses([]);\n setUnusedAddresses([]);\n setActiveWallet(undefined);\n setNetwork(undefined);\n setUtxos(undefined);\n setCollateral(undefined);\n setIsCip45(false);\n }, [observer]);\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 const freshData = await observer.sync();\n\n startTransition(() => {\n setActiveWallet((prevWallet) =>\n newWallet === prevWallet ? prevWallet : newWallet\n );\n\n const newAdaBalance = freshData.balanceMap.get(\n WalletObserver.ADA_ASSET_ID\n );\n if (newAdaBalance) {\n setAdaBalance((prevBalance) =>\n prevBalance.amount === newAdaBalance.amount\n ? prevBalance\n : newAdaBalance\n );\n }\n\n setBalance((prevBalance) =>\n areAssetMapsEqual(prevBalance, freshData.balanceMap)\n ? prevBalance\n : freshData.balanceMap\n );\n\n setUsedAddresses((prevValue) =>\n JSON.stringify(prevValue) === JSON.stringify(freshData.usedAddresses)\n ? prevValue\n : freshData.usedAddresses\n );\n\n setUnusedAddresses((prevValue) =>\n JSON.stringify(prevValue) === JSON.stringify(freshData.unusedAddresses)\n ? prevValue\n : freshData.unusedAddresses\n );\n\n setNetwork((prevValue) =>\n prevValue === freshData.network ? prevValue : freshData.network\n );\n\n setUtxos((prevValue) => {\n const prevValueRep = prevValue?.map((v) => v.toCbor());\n const newValueRep = freshData.utxos?.map((v) => v.toCbor());\n if (prevValueRep !== newValueRep) {\n return freshData.utxos;\n }\n\n return prevValue;\n });\n\n setCollateral((prevValue) => {\n const prevValueRep = prevValue?.map((v) => v.toCbor());\n const newValueRep = freshData.utxos?.map((v) => v.toCbor());\n if (prevValueRep !== newValueRep) {\n return freshData.utxos;\n }\n\n return prevValue;\n });\n\n setIsCip45(newWallet.includes(\"p2p\"));\n });\n }, [observer, disconnect]);\n\n const connectWallet = useCallback(\n async (wallet: TSupportedWalletExtensions) => {\n if (observer.hasActiveConnection() && wallet !== observer.activeWallet) {\n setSwitching(() => true);\n }\n\n await observer.connectWallet(wallet);\n await syncWallet();\n setSwitching(() => false);\n },\n [observer, setSwitching]\n );\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 setActiveWallet,\n adaBalance,\n setAdaBalance,\n balance,\n setBalance,\n handles: handleMetadata,\n setHandles: setHandleMetadata,\n isCip45,\n setIsCip45,\n network,\n setNetwork,\n unusedAddresses,\n setUnusedAddresses,\n usedAddresses,\n setUsedAddresses,\n utxos,\n setUtxos,\n collateral,\n setCollateral,\n syncWallet,\n disconnect,\n connectWallet,\n switching,\n setSwitching,\n isPending,\n willAutoConnect,\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"useWalletObserverState.js","names":["_asset","require","_react","_WalletAssetMapClass","_WalletBalanceMapClass","_WalletObserverClass","_comparisons","_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","_catch","delegateYield","asyncGeneratorStep","_asyncToGenerator","arguments","apply","_next","_throw","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","_arrayLikeToArray","toString","Array","from","test","isArray","useWalletObserverState","exports","observer","_useState","useState","_useState2","activeWallet","setActiveWallet","_useState3","AssetAmount","_useState4","adaBalance","setAdaBalance","_useState5","WalletAssetMap","_useState6","handleMetadata","setHandleMetadata","_useState7","WalletBalanceMap","_useState8","balance","setBalance","_useState9","_useState10","network","setNetwork","_useState11","_useState12","usedAddresses","setUsedAddresses","_useState13","_useState14","unusedAddresses","setUnusedAddresses","_useState15","_useState16","utxos","setUtxos","_useState17","_useState18","collateral","setCollateral","_useState19","_useState20","isCip45","setIsCip45","_useState21","_useState22","switching","setSwitching","_useTransition","useTransition","_useTransition2","isPending","startTransition","_useState23","Boolean","window","localStorage","getItem","WalletObserver","PERSISTENCE_CACHE_KEY","getOptions","persistence","_useState24","willAutoConnect","setWillAutoConnect","disconnect","useCallback","undefined","syncWallet","_callee","newWallet","freshData","_callee$","_context","isSyncing","hasActiveConnection","sync","prevWallet","newAdaBalance","balanceMap","get","ADA_ASSET_ID","prevBalance","amount","areAssetMapsEqual","prevValue","JSON","stringify","_freshData$utxos","prevValueRep","map","toCbor","newValueRep","_freshData$utxos2","includes","connectWallet","_ref2","_callee2","wallet","_callee2$","_context2","api","_x","useEffect","addEventListener","handles","setHandles"],"sources":["../../../../../src/react-components/WalletObserverProvider/hooks/useWalletObserverState.ts"],"sourcesContent":["import type { TransactionUnspentOutput } from \"@cardano-sdk/core/dist/cjs/Serialization/index.js\";\nimport { AssetAmount, IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport { useCallback, useEffect, useState, useTransition } from \"react\";\n\nimport {\n TAssetAmountMap,\n TSupportedWalletExtensions,\n} from \"../../../@types/observer.js\";\nimport { WalletAssetMap } from \"../../../classes/WalletAssetMap.class.js\";\nimport { WalletBalanceMap } from \"../../../classes/WalletBalanceMap.class.js\";\nimport { WalletObserver } from \"../../../classes/WalletObserver.class.js\";\nimport { areAssetMapsEqual } from \"../../../utils/comparisons.js\";\nimport { THandleMetadata } from \"../../contexts/observer/index.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] =\n useState<TSupportedWalletExtensions>();\n const [adaBalance, setAdaBalance] = useState<AssetAmount<AssetMetadata>>(\n new AssetAmount<AssetMetadata>(0n)\n );\n const [handleMetadata, setHandleMetadata] = useState<\n TAssetAmountMap<THandleMetadata<AssetMetadata>>\n >(new WalletAssetMap<THandleMetadata<AssetMetadata>>());\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 [utxos, setUtxos] = useState<TransactionUnspentOutput[]>();\n const [collateral, setCollateral] = useState<TransactionUnspentOutput[]>();\n const [isCip45, setIsCip45] = useState(false);\n const [switching, setSwitching] = 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 setHandleMetadata(new WalletAssetMap());\n setUsedAddresses([]);\n setUnusedAddresses([]);\n setActiveWallet(undefined);\n setNetwork(undefined);\n setUtxos(undefined);\n setCollateral(undefined);\n setIsCip45(false);\n setWillAutoConnect(false);\n }, [observer]);\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 const freshData = await observer.sync();\n\n startTransition(() => {\n setActiveWallet((prevWallet) =>\n newWallet === prevWallet ? prevWallet : newWallet\n );\n\n const newAdaBalance = freshData.balanceMap.get(\n WalletObserver.ADA_ASSET_ID\n );\n if (newAdaBalance) {\n setAdaBalance((prevBalance) =>\n prevBalance.amount === newAdaBalance.amount\n ? prevBalance\n : newAdaBalance\n );\n }\n\n setBalance((prevBalance) =>\n areAssetMapsEqual(prevBalance, freshData.balanceMap)\n ? prevBalance\n : freshData.balanceMap\n );\n\n setUsedAddresses((prevValue) =>\n JSON.stringify(prevValue) === JSON.stringify(freshData.usedAddresses)\n ? prevValue\n : freshData.usedAddresses\n );\n\n setUnusedAddresses((prevValue) =>\n JSON.stringify(prevValue) === JSON.stringify(freshData.unusedAddresses)\n ? prevValue\n : freshData.unusedAddresses\n );\n\n setNetwork((prevValue) =>\n prevValue === freshData.network ? prevValue : freshData.network\n );\n\n setUtxos((prevValue) => {\n const prevValueRep = prevValue?.map((v) => v.toCbor());\n const newValueRep = freshData.utxos?.map((v) => v.toCbor());\n if (prevValueRep !== newValueRep) {\n return freshData.utxos;\n }\n\n return prevValue;\n });\n\n setCollateral((prevValue) => {\n const prevValueRep = prevValue?.map((v) => v.toCbor());\n const newValueRep = freshData.utxos?.map((v) => v.toCbor());\n if (prevValueRep !== newValueRep) {\n return freshData.utxos;\n }\n\n return prevValue;\n });\n\n setIsCip45(newWallet.includes(\"p2p\"));\n });\n }, [observer, disconnect]);\n\n const connectWallet = useCallback(\n async (wallet: TSupportedWalletExtensions) => {\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 /**\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 setActiveWallet,\n adaBalance,\n setAdaBalance,\n balance,\n setBalance,\n handles: handleMetadata,\n setHandles: setHandleMetadata,\n isCip45,\n setIsCip45,\n network,\n setNetwork,\n unusedAddresses,\n setUnusedAddresses,\n usedAddresses,\n setUsedAddresses,\n utxos,\n setUtxos,\n collateral,\n setCollateral,\n syncWallet,\n disconnect,\n connectWallet,\n switching,\n setSwitching,\n isPending,\n willAutoConnect,\n };\n};\n"],"mappings":";;;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAMA,IAAAE,oBAAA,GAAAF,OAAA;AACA,IAAAG,sBAAA,GAAAH,OAAA;AACA,IAAAI,oBAAA,GAAAJ,OAAA;AACA,IAAAK,YAAA,GAAAL,OAAA;AAAkE,SAAAM,oBAAA,kBAVlE,qJAAAA,mBAAA,YAAAA,oBAAA,WAAAC,CAAA,SAAAC,CAAA,EAAAD,CAAA,OAAAE,CAAA,GAAAC,MAAA,CAAAC,SAAA,EAAAC,CAAA,GAAAH,CAAA,CAAAI,cAAA,EAAAC,CAAA,GAAAJ,MAAA,CAAAK,cAAA,cAAAP,CAAA,EAAAD,CAAA,EAAAE,CAAA,IAAAD,CAAA,CAAAD,CAAA,IAAAE,CAAA,CAAAO,KAAA,KAAAC,CAAA,wBAAAC,MAAA,GAAAA,MAAA,OAAAC,CAAA,GAAAF,CAAA,CAAAG,QAAA,kBAAAC,CAAA,GAAAJ,CAAA,CAAAK,aAAA,uBAAAC,CAAA,GAAAN,CAAA,CAAAO,WAAA,8BAAAC,OAAAjB,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAC,MAAA,CAAAK,cAAA,CAAAP,CAAA,EAAAD,CAAA,IAAAS,KAAA,EAAAP,CAAA,EAAAiB,UAAA,MAAAC,YAAA,MAAAC,QAAA,SAAApB,CAAA,CAAAD,CAAA,WAAAkB,MAAA,mBAAAjB,CAAA,IAAAiB,MAAA,YAAAA,OAAAjB,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAD,CAAA,CAAAD,CAAA,IAAAE,CAAA,gBAAAoB,KAAArB,CAAA,EAAAD,CAAA,EAAAE,CAAA,EAAAG,CAAA,QAAAK,CAAA,GAAAV,CAAA,IAAAA,CAAA,CAAAI,SAAA,YAAAmB,SAAA,GAAAvB,CAAA,GAAAuB,SAAA,EAAAX,CAAA,GAAAT,MAAA,CAAAqB,MAAA,CAAAd,CAAA,CAAAN,SAAA,GAAAU,CAAA,OAAAW,OAAA,CAAApB,CAAA,gBAAAE,CAAA,CAAAK,CAAA,eAAAH,KAAA,EAAAiB,gBAAA,CAAAzB,CAAA,EAAAC,CAAA,EAAAY,CAAA,MAAAF,CAAA,aAAAe,SAAA1B,CAAA,EAAAD,CAAA,EAAAE,CAAA,mBAAA0B,IAAA,YAAAC,GAAA,EAAA5B,CAAA,CAAA6B,IAAA,CAAA9B,CAAA,EAAAE,CAAA,cAAAD,CAAA,aAAA2B,IAAA,WAAAC,GAAA,EAAA5B,CAAA,QAAAD,CAAA,CAAAsB,IAAA,GAAAA,IAAA,MAAAS,CAAA,qBAAAC,CAAA,qBAAAC,CAAA,gBAAAC,CAAA,gBAAAC,CAAA,gBAAAZ,UAAA,cAAAa,kBAAA,cAAAC,2BAAA,SAAAC,CAAA,OAAApB,MAAA,CAAAoB,CAAA,EAAA1B,CAAA,qCAAA2B,CAAA,GAAApC,MAAA,CAAAqC,cAAA,EAAAC,CAAA,GAAAF,CAAA,IAAAA,CAAA,CAAAA,CAAA,CAAAG,MAAA,QAAAD,CAAA,IAAAA,CAAA,KAAAvC,CAAA,IAAAG,CAAA,CAAAyB,IAAA,CAAAW,CAAA,EAAA7B,CAAA,MAAA0B,CAAA,GAAAG,CAAA,OAAAE,CAAA,GAAAN,0BAAA,CAAAjC,SAAA,GAAAmB,SAAA,CAAAnB,SAAA,GAAAD,MAAA,CAAAqB,MAAA,CAAAc,CAAA,YAAAM,sBAAA3C,CAAA,gCAAA4C,OAAA,WAAA7C,CAAA,IAAAkB,MAAA,CAAAjB,CAAA,EAAAD,CAAA,YAAAC,CAAA,gBAAA6C,OAAA,CAAA9C,CAAA,EAAAC,CAAA,sBAAA8C,cAAA9C,CAAA,EAAAD,CAAA,aAAAgD,OAAA9C,CAAA,EAAAK,CAAA,EAAAG,CAAA,EAAAE,CAAA,QAAAE,CAAA,GAAAa,QAAA,CAAA1B,CAAA,CAAAC,CAAA,GAAAD,CAAA,EAAAM,CAAA,mBAAAO,CAAA,CAAAc,IAAA,QAAAZ,CAAA,GAAAF,CAAA,CAAAe,GAAA,EAAAE,CAAA,GAAAf,CAAA,CAAAP,KAAA,SAAAsB,CAAA,gBAAAkB,OAAA,CAAAlB,CAAA,KAAA1B,CAAA,CAAAyB,IAAA,CAAAC,CAAA,eAAA/B,CAAA,CAAAkD,OAAA,CAAAnB,CAAA,CAAAoB,OAAA,EAAAC,IAAA,WAAAnD,CAAA,IAAA+C,MAAA,SAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,gBAAAX,CAAA,IAAA+C,MAAA,UAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,QAAAZ,CAAA,CAAAkD,OAAA,CAAAnB,CAAA,EAAAqB,IAAA,WAAAnD,CAAA,IAAAe,CAAA,CAAAP,KAAA,GAAAR,CAAA,EAAAS,CAAA,CAAAM,CAAA,gBAAAf,CAAA,WAAA+C,MAAA,UAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,SAAAA,CAAA,CAAAE,CAAA,CAAAe,GAAA,SAAA3B,CAAA,EAAAK,CAAA,oBAAAE,KAAA,WAAAA,MAAAR,CAAA,EAAAI,CAAA,aAAAgD,2BAAA,eAAArD,CAAA,WAAAA,CAAA,EAAAE,CAAA,IAAA8C,MAAA,CAAA/C,CAAA,EAAAI,CAAA,EAAAL,CAAA,EAAAE,CAAA,gBAAAA,CAAA,GAAAA,CAAA,GAAAA,CAAA,CAAAkD,IAAA,CAAAC,0BAAA,EAAAA,0BAAA,IAAAA,0BAAA,qBAAA3B,iBAAA1B,CAAA,EAAAE,CAAA,EAAAG,CAAA,QAAAE,CAAA,GAAAwB,CAAA,mBAAArB,CAAA,EAAAE,CAAA,QAAAL,CAAA,KAAA0B,CAAA,QAAAqB,KAAA,sCAAA/C,CAAA,KAAA2B,CAAA,oBAAAxB,CAAA,QAAAE,CAAA,WAAAH,KAAA,EAAAR,CAAA,EAAAsD,IAAA,eAAAlD,CAAA,CAAAmD,MAAA,GAAA9C,CAAA,EAAAL,CAAA,CAAAwB,GAAA,GAAAjB,CAAA,UAAAE,CAAA,GAAAT,CAAA,CAAAoD,QAAA,MAAA3C,CAAA,QAAAE,CAAA,GAAA0C,mBAAA,CAAA5C,CAAA,EAAAT,CAAA,OAAAW,CAAA,QAAAA,CAAA,KAAAmB,CAAA,mBAAAnB,CAAA,qBAAAX,CAAA,CAAAmD,MAAA,EAAAnD,CAAA,CAAAsD,IAAA,GAAAtD,CAAA,CAAAuD,KAAA,GAAAvD,CAAA,CAAAwB,GAAA,sBAAAxB,CAAA,CAAAmD,MAAA,QAAAjD,CAAA,KAAAwB,CAAA,QAAAxB,CAAA,GAAA2B,CAAA,EAAA7B,CAAA,CAAAwB,GAAA,EAAAxB,CAAA,CAAAwD,iBAAA,CAAAxD,CAAA,CAAAwB,GAAA,uBAAAxB,CAAA,CAAAmD,MAAA,IAAAnD,CAAA,CAAAyD,MAAA,WAAAzD,CAAA,CAAAwB,GAAA,GAAAtB,CAAA,GAAA0B,CAAA,MAAAK,CAAA,GAAAX,QAAA,CAAA3B,CAAA,EAAAE,CAAA,EAAAG,CAAA,oBAAAiC,CAAA,CAAAV,IAAA,QAAArB,CAAA,GAAAF,CAAA,CAAAkD,IAAA,GAAArB,CAAA,GAAAF,CAAA,EAAAM,CAAA,CAAAT,GAAA,KAAAM,CAAA,qBAAA1B,KAAA,EAAA6B,CAAA,CAAAT,GAAA,EAAA0B,IAAA,EAAAlD,CAAA,CAAAkD,IAAA,kBAAAjB,CAAA,CAAAV,IAAA,KAAArB,CAAA,GAAA2B,CAAA,EAAA7B,CAAA,CAAAmD,MAAA,YAAAnD,CAAA,CAAAwB,GAAA,GAAAS,CAAA,CAAAT,GAAA,mBAAA6B,oBAAA1D,CAAA,EAAAE,CAAA,QAAAG,CAAA,GAAAH,CAAA,CAAAsD,MAAA,EAAAjD,CAAA,GAAAP,CAAA,CAAAa,QAAA,CAAAR,CAAA,OAAAE,CAAA,KAAAN,CAAA,SAAAC,CAAA,CAAAuD,QAAA,qBAAApD,CAAA,IAAAL,CAAA,CAAAa,QAAA,eAAAX,CAAA,CAAAsD,MAAA,aAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,EAAAyD,mBAAA,CAAA1D,CAAA,EAAAE,CAAA,eAAAA,CAAA,CAAAsD,MAAA,kBAAAnD,CAAA,KAAAH,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,OAAAkC,SAAA,uCAAA1D,CAAA,iBAAA8B,CAAA,MAAAzB,CAAA,GAAAiB,QAAA,CAAApB,CAAA,EAAAP,CAAA,CAAAa,QAAA,EAAAX,CAAA,CAAA2B,GAAA,mBAAAnB,CAAA,CAAAkB,IAAA,SAAA1B,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,GAAAnB,CAAA,CAAAmB,GAAA,EAAA3B,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,MAAAvB,CAAA,GAAAF,CAAA,CAAAmB,GAAA,SAAAjB,CAAA,GAAAA,CAAA,CAAA2C,IAAA,IAAArD,CAAA,CAAAF,CAAA,CAAAgE,UAAA,IAAApD,CAAA,CAAAH,KAAA,EAAAP,CAAA,CAAA+D,IAAA,GAAAjE,CAAA,CAAAkE,OAAA,eAAAhE,CAAA,CAAAsD,MAAA,KAAAtD,CAAA,CAAAsD,MAAA,WAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,GAAAC,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,IAAAvB,CAAA,IAAAV,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,OAAAkC,SAAA,sCAAA7D,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,cAAAgC,aAAAlE,CAAA,QAAAD,CAAA,KAAAoE,MAAA,EAAAnE,CAAA,YAAAA,CAAA,KAAAD,CAAA,CAAAqE,QAAA,GAAApE,CAAA,WAAAA,CAAA,KAAAD,CAAA,CAAAsE,UAAA,GAAArE,CAAA,KAAAD,CAAA,CAAAuE,QAAA,GAAAtE,CAAA,WAAAuE,UAAA,CAAAC,IAAA,CAAAzE,CAAA,cAAA0E,cAAAzE,CAAA,QAAAD,CAAA,GAAAC,CAAA,CAAA0E,UAAA,QAAA3E,CAAA,CAAA4B,IAAA,oBAAA5B,CAAA,CAAA6B,GAAA,EAAA5B,CAAA,CAAA0E,UAAA,GAAA3E,CAAA,aAAAyB,QAAAxB,CAAA,SAAAuE,UAAA,MAAAJ,MAAA,aAAAnE,CAAA,CAAA4C,OAAA,CAAAsB,YAAA,cAAAS,KAAA,iBAAAlC,OAAA1C,CAAA,QAAAA,CAAA,WAAAA,CAAA,QAAAE,CAAA,GAAAF,CAAA,CAAAY,CAAA,OAAAV,CAAA,SAAAA,CAAA,CAAA4B,IAAA,CAAA9B,CAAA,4BAAAA,CAAA,CAAAiE,IAAA,SAAAjE,CAAA,OAAA6E,KAAA,CAAA7E,CAAA,CAAA8E,MAAA,SAAAvE,CAAA,OAAAG,CAAA,YAAAuD,KAAA,aAAA1D,CAAA,GAAAP,CAAA,CAAA8E,MAAA,OAAAzE,CAAA,CAAAyB,IAAA,CAAA9B,CAAA,EAAAO,CAAA,UAAA0D,IAAA,CAAAxD,KAAA,GAAAT,CAAA,CAAAO,CAAA,GAAA0D,IAAA,CAAAV,IAAA,OAAAU,IAAA,SAAAA,IAAA,CAAAxD,KAAA,GAAAR,CAAA,EAAAgE,IAAA,CAAAV,IAAA,OAAAU,IAAA,YAAAvD,CAAA,CAAAuD,IAAA,GAAAvD,CAAA,gBAAAqD,SAAA,CAAAd,OAAA,CAAAjD,CAAA,kCAAAoC,iBAAA,CAAAhC,SAAA,GAAAiC,0BAAA,EAAA9B,CAAA,CAAAoC,CAAA,mBAAAlC,KAAA,EAAA4B,0BAAA,EAAAjB,YAAA,SAAAb,CAAA,CAAA8B,0BAAA,mBAAA5B,KAAA,EAAA2B,iBAAA,EAAAhB,YAAA,SAAAgB,iBAAA,CAAA2C,WAAA,GAAA7D,MAAA,CAAAmB,0BAAA,EAAArB,CAAA,wBAAAhB,CAAA,CAAAgF,mBAAA,aAAA/E,CAAA,QAAAD,CAAA,wBAAAC,CAAA,IAAAA,CAAA,CAAAgF,WAAA,WAAAjF,CAAA,KAAAA,CAAA,KAAAoC,iBAAA,6BAAApC,CAAA,CAAA+E,WAAA,IAAA/E,CAAA,CAAAkF,IAAA,OAAAlF,CAAA,CAAAmF,IAAA,aAAAlF,CAAA,WAAAE,MAAA,CAAAiF,cAAA,GAAAjF,MAAA,CAAAiF,cAAA,CAAAnF,CAAA,EAAAoC,0BAAA,KAAApC,CAAA,CAAAoF,SAAA,GAAAhD,0BAAA,EAAAnB,MAAA,CAAAjB,CAAA,EAAAe,CAAA,yBAAAf,CAAA,CAAAG,SAAA,GAAAD,MAAA,CAAAqB,MAAA,CAAAmB,CAAA,GAAA1C,CAAA,KAAAD,CAAA,CAAAsF,KAAA,aAAArF,CAAA,aAAAkD,OAAA,EAAAlD,CAAA,OAAA2C,qBAAA,CAAAG,aAAA,CAAA3C,SAAA,GAAAc,MAAA,CAAA6B,aAAA,CAAA3C,SAAA,EAAAU,CAAA,iCAAAd,CAAA,CAAA+C,aAAA,GAAAA,aAAA,EAAA/C,CAAA,CAAAuF,KAAA,aAAAtF,CAAA,EAAAC,CAAA,EAAAG,CAAA,EAAAE,CAAA,EAAAG,CAAA,eAAAA,CAAA,KAAAA,CAAA,GAAA8E,OAAA,OAAA5E,CAAA,OAAAmC,aAAA,CAAAzB,IAAA,CAAArB,CAAA,EAAAC,CAAA,EAAAG,CAAA,EAAAE,CAAA,GAAAG,CAAA,UAAAV,CAAA,CAAAgF,mBAAA,CAAA9E,CAAA,IAAAU,CAAA,GAAAA,CAAA,CAAAqD,IAAA,GAAAb,IAAA,WAAAnD,CAAA,WAAAA,CAAA,CAAAsD,IAAA,GAAAtD,CAAA,CAAAQ,KAAA,GAAAG,CAAA,CAAAqD,IAAA,WAAArB,qBAAA,CAAAD,CAAA,GAAAzB,MAAA,CAAAyB,CAAA,EAAA3B,CAAA,gBAAAE,MAAA,CAAAyB,CAAA,EAAA/B,CAAA,iCAAAM,MAAA,CAAAyB,CAAA,6DAAA3C,CAAA,CAAAyF,IAAA,aAAAxF,CAAA,QAAAD,CAAA,GAAAG,MAAA,CAAAF,CAAA,GAAAC,CAAA,gBAAAG,CAAA,IAAAL,CAAA,EAAAE,CAAA,CAAAuE,IAAA,CAAApE,CAAA,UAAAH,CAAA,CAAAwF,OAAA,aAAAzB,KAAA,WAAA/D,CAAA,CAAA4E,MAAA,SAAA7E,CAAA,GAAAC,CAAA,CAAAyF,GAAA,QAAA1F,CAAA,IAAAD,CAAA,SAAAiE,IAAA,CAAAxD,KAAA,GAAAR,CAAA,EAAAgE,IAAA,CAAAV,IAAA,OAAAU,IAAA,WAAAA,IAAA,CAAAV,IAAA,OAAAU,IAAA,QAAAjE,CAAA,CAAA0C,MAAA,GAAAA,MAAA,EAAAjB,OAAA,CAAArB,SAAA,KAAA6E,WAAA,EAAAxD,OAAA,EAAAmD,KAAA,WAAAA,MAAA5E,CAAA,aAAA4F,IAAA,WAAA3B,IAAA,WAAAN,IAAA,QAAAC,KAAA,GAAA3D,CAAA,OAAAsD,IAAA,YAAAE,QAAA,cAAAD,MAAA,gBAAA3B,GAAA,GAAA5B,CAAA,OAAAuE,UAAA,CAAA3B,OAAA,CAAA6B,aAAA,IAAA1E,CAAA,WAAAE,CAAA,kBAAAA,CAAA,CAAA2F,MAAA,OAAAxF,CAAA,CAAAyB,IAAA,OAAA5B,CAAA,MAAA2E,KAAA,EAAA3E,CAAA,CAAA4F,KAAA,cAAA5F,CAAA,IAAAD,CAAA,MAAA8F,IAAA,WAAAA,KAAA,SAAAxC,IAAA,WAAAtD,CAAA,QAAAuE,UAAA,IAAAG,UAAA,kBAAA1E,CAAA,CAAA2B,IAAA,QAAA3B,CAAA,CAAA4B,GAAA,cAAAmE,IAAA,KAAAnC,iBAAA,WAAAA,kBAAA7D,CAAA,aAAAuD,IAAA,QAAAvD,CAAA,MAAAE,CAAA,kBAAA+F,OAAA5F,CAAA,EAAAE,CAAA,WAAAK,CAAA,CAAAgB,IAAA,YAAAhB,CAAA,CAAAiB,GAAA,GAAA7B,CAAA,EAAAE,CAAA,CAAA+D,IAAA,GAAA5D,CAAA,EAAAE,CAAA,KAAAL,CAAA,CAAAsD,MAAA,WAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,KAAAM,CAAA,aAAAA,CAAA,QAAAiE,UAAA,CAAAM,MAAA,MAAAvE,CAAA,SAAAA,CAAA,QAAAG,CAAA,QAAA8D,UAAA,CAAAjE,CAAA,GAAAK,CAAA,GAAAF,CAAA,CAAAiE,UAAA,iBAAAjE,CAAA,CAAA0D,MAAA,SAAA6B,MAAA,aAAAvF,CAAA,CAAA0D,MAAA,SAAAwB,IAAA,QAAA9E,CAAA,GAAAT,CAAA,CAAAyB,IAAA,CAAApB,CAAA,eAAAM,CAAA,GAAAX,CAAA,CAAAyB,IAAA,CAAApB,CAAA,qBAAAI,CAAA,IAAAE,CAAA,aAAA4E,IAAA,GAAAlF,CAAA,CAAA2D,QAAA,SAAA4B,MAAA,CAAAvF,CAAA,CAAA2D,QAAA,gBAAAuB,IAAA,GAAAlF,CAAA,CAAA4D,UAAA,SAAA2B,MAAA,CAAAvF,CAAA,CAAA4D,UAAA,cAAAxD,CAAA,aAAA8E,IAAA,GAAAlF,CAAA,CAAA2D,QAAA,SAAA4B,MAAA,CAAAvF,CAAA,CAAA2D,QAAA,qBAAArD,CAAA,QAAAsC,KAAA,qDAAAsC,IAAA,GAAAlF,CAAA,CAAA4D,UAAA,SAAA2B,MAAA,CAAAvF,CAAA,CAAA4D,UAAA,YAAAR,MAAA,WAAAA,OAAA7D,CAAA,EAAAD,CAAA,aAAAE,CAAA,QAAAsE,UAAA,CAAAM,MAAA,MAAA5E,CAAA,SAAAA,CAAA,QAAAK,CAAA,QAAAiE,UAAA,CAAAtE,CAAA,OAAAK,CAAA,CAAA6D,MAAA,SAAAwB,IAAA,IAAAvF,CAAA,CAAAyB,IAAA,CAAAvB,CAAA,wBAAAqF,IAAA,GAAArF,CAAA,CAAA+D,UAAA,QAAA5D,CAAA,GAAAH,CAAA,aAAAG,CAAA,iBAAAT,CAAA,mBAAAA,CAAA,KAAAS,CAAA,CAAA0D,MAAA,IAAApE,CAAA,IAAAA,CAAA,IAAAU,CAAA,CAAA4D,UAAA,KAAA5D,CAAA,cAAAE,CAAA,GAAAF,CAAA,GAAAA,CAAA,CAAAiE,UAAA,cAAA/D,CAAA,CAAAgB,IAAA,GAAA3B,CAAA,EAAAW,CAAA,CAAAiB,GAAA,GAAA7B,CAAA,EAAAU,CAAA,SAAA8C,MAAA,gBAAAS,IAAA,GAAAvD,CAAA,CAAA4D,UAAA,EAAAnC,CAAA,SAAA+D,QAAA,CAAAtF,CAAA,MAAAsF,QAAA,WAAAA,SAAAjG,CAAA,EAAAD,CAAA,oBAAAC,CAAA,CAAA2B,IAAA,QAAA3B,CAAA,CAAA4B,GAAA,qBAAA5B,CAAA,CAAA2B,IAAA,mBAAA3B,CAAA,CAAA2B,IAAA,QAAAqC,IAAA,GAAAhE,CAAA,CAAA4B,GAAA,gBAAA5B,CAAA,CAAA2B,IAAA,SAAAoE,IAAA,QAAAnE,GAAA,GAAA5B,CAAA,CAAA4B,GAAA,OAAA2B,MAAA,kBAAAS,IAAA,yBAAAhE,CAAA,CAAA2B,IAAA,IAAA5B,CAAA,UAAAiE,IAAA,GAAAjE,CAAA,GAAAmC,CAAA,KAAAgE,MAAA,WAAAA,OAAAlG,CAAA,aAAAD,CAAA,QAAAwE,UAAA,CAAAM,MAAA,MAAA9E,CAAA,SAAAA,CAAA,QAAAE,CAAA,QAAAsE,UAAA,CAAAxE,CAAA,OAAAE,CAAA,CAAAoE,UAAA,KAAArE,CAAA,cAAAiG,QAAA,CAAAhG,CAAA,CAAAyE,UAAA,EAAAzE,CAAA,CAAAqE,QAAA,GAAAG,aAAA,CAAAxE,CAAA,GAAAiC,CAAA,yBAAAiE,OAAAnG,CAAA,aAAAD,CAAA,QAAAwE,UAAA,CAAAM,MAAA,MAAA9E,CAAA,SAAAA,CAAA,QAAAE,CAAA,QAAAsE,UAAA,CAAAxE,CAAA,OAAAE,CAAA,CAAAkE,MAAA,KAAAnE,CAAA,QAAAI,CAAA,GAAAH,CAAA,CAAAyE,UAAA,kBAAAtE,CAAA,CAAAuB,IAAA,QAAArB,CAAA,GAAAF,CAAA,CAAAwB,GAAA,EAAA6C,aAAA,CAAAxE,CAAA,YAAAK,CAAA,YAAA+C,KAAA,8BAAA+C,aAAA,WAAAA,cAAArG,CAAA,EAAAE,CAAA,EAAAG,CAAA,gBAAAoD,QAAA,KAAA5C,QAAA,EAAA6B,MAAA,CAAA1C,CAAA,GAAAgE,UAAA,EAAA9D,CAAA,EAAAgE,OAAA,EAAA7D,CAAA,oBAAAmD,MAAA,UAAA3B,GAAA,GAAA5B,CAAA,GAAAkC,CAAA,OAAAnC,CAAA;AAAA,SAAAsG,mBAAAjG,CAAA,EAAAJ,CAAA,EAAAD,CAAA,EAAAE,CAAA,EAAAK,CAAA,EAAAK,CAAA,EAAAE,CAAA,cAAAJ,CAAA,GAAAL,CAAA,CAAAO,CAAA,EAAAE,CAAA,GAAAE,CAAA,GAAAN,CAAA,CAAAD,KAAA,WAAAJ,CAAA,gBAAAL,CAAA,CAAAK,CAAA,KAAAK,CAAA,CAAA6C,IAAA,GAAAtD,CAAA,CAAAe,CAAA,IAAAwE,OAAA,CAAAtC,OAAA,CAAAlC,CAAA,EAAAoC,IAAA,CAAAlD,CAAA,EAAAK,CAAA;AAAA,SAAAgG,kBAAAlG,CAAA,6BAAAJ,CAAA,SAAAD,CAAA,GAAAwG,SAAA,aAAAhB,OAAA,WAAAtF,CAAA,EAAAK,CAAA,QAAAK,CAAA,GAAAP,CAAA,CAAAoG,KAAA,CAAAxG,CAAA,EAAAD,CAAA,YAAA0G,MAAArG,CAAA,IAAAiG,kBAAA,CAAA1F,CAAA,EAAAV,CAAA,EAAAK,CAAA,EAAAmG,KAAA,EAAAC,MAAA,UAAAtG,CAAA,cAAAsG,OAAAtG,CAAA,IAAAiG,kBAAA,CAAA1F,CAAA,EAAAV,CAAA,EAAAK,CAAA,EAAAmG,KAAA,EAAAC,MAAA,WAAAtG,CAAA,KAAAqG,KAAA;AAAA,SAAAE,eAAA1G,CAAA,EAAAF,CAAA,WAAA6G,eAAA,CAAA3G,CAAA,KAAA4G,qBAAA,CAAA5G,CAAA,EAAAF,CAAA,KAAA+G,2BAAA,CAAA7G,CAAA,EAAAF,CAAA,KAAAgH,gBAAA;AAAA,SAAAA,iBAAA,cAAAjD,SAAA;AAAA,SAAAgD,4BAAA7G,CAAA,EAAAU,CAAA,QAAAV,CAAA,2BAAAA,CAAA,SAAA+G,iBAAA,CAAA/G,CAAA,EAAAU,CAAA,OAAAX,CAAA,MAAAiH,QAAA,CAAApF,IAAA,CAAA5B,CAAA,EAAA4F,KAAA,6BAAA7F,CAAA,IAAAC,CAAA,CAAA+E,WAAA,KAAAhF,CAAA,GAAAC,CAAA,CAAA+E,WAAA,CAAAC,IAAA,aAAAjF,CAAA,cAAAA,CAAA,GAAAkH,KAAA,CAAAC,IAAA,CAAAlH,CAAA,oBAAAD,CAAA,+CAAAoH,IAAA,CAAApH,CAAA,IAAAgH,iBAAA,CAAA/G,CAAA,EAAAU,CAAA;AAAA,SAAAqG,kBAAA/G,CAAA,EAAAU,CAAA,aAAAA,CAAA,IAAAA,CAAA,GAAAV,CAAA,CAAA4E,MAAA,MAAAlE,CAAA,GAAAV,CAAA,CAAA4E,MAAA,YAAA9E,CAAA,MAAAK,CAAA,GAAA8G,KAAA,CAAAvG,CAAA,GAAAZ,CAAA,GAAAY,CAAA,EAAAZ,CAAA,IAAAK,CAAA,CAAAL,CAAA,IAAAE,CAAA,CAAAF,CAAA,UAAAK,CAAA;AAAA,SAAAyG,sBAAA5G,CAAA,EAAA8B,CAAA,QAAA/B,CAAA,WAAAC,CAAA,gCAAAS,MAAA,IAAAT,CAAA,CAAAS,MAAA,CAAAE,QAAA,KAAAX,CAAA,4BAAAD,CAAA,QAAAD,CAAA,EAAAK,CAAA,EAAAK,CAAA,EAAAM,CAAA,EAAAJ,CAAA,OAAAqB,CAAA,OAAA1B,CAAA,iBAAAG,CAAA,IAAAT,CAAA,GAAAA,CAAA,CAAA6B,IAAA,CAAA5B,CAAA,GAAA+D,IAAA,QAAAjC,CAAA,QAAA7B,MAAA,CAAAF,CAAA,MAAAA,CAAA,UAAAgC,CAAA,uBAAAA,CAAA,IAAAjC,CAAA,GAAAU,CAAA,CAAAoB,IAAA,CAAA7B,CAAA,GAAAsD,IAAA,MAAA3C,CAAA,CAAA6D,IAAA,CAAAzE,CAAA,CAAAS,KAAA,GAAAG,CAAA,CAAAkE,MAAA,KAAA9C,CAAA,GAAAC,CAAA,iBAAA/B,CAAA,IAAAK,CAAA,OAAAF,CAAA,GAAAH,CAAA,yBAAA+B,CAAA,YAAAhC,CAAA,eAAAe,CAAA,GAAAf,CAAA,cAAAE,MAAA,CAAAa,CAAA,MAAAA,CAAA,2BAAAT,CAAA,QAAAF,CAAA,aAAAO,CAAA;AAAA,SAAAiG,gBAAA3G,CAAA,QAAAiH,KAAA,CAAAG,OAAA,CAAApH,CAAA,UAAAA,CAAA;AAaA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMqH,sBAAsB,GAAAC,OAAA,CAAAD,sBAAA,GAAG,SAAzBA,sBAAsBA,CAGjCE,QAAuC,EACpC;EACH,IAAAC,SAAA,GACE,IAAAC,eAAQ,EAA6B,CAAC;IAAAC,UAAA,GAAAhB,cAAA,CAAAc,SAAA;IADjCG,YAAY,GAAAD,UAAA;IAAEE,eAAe,GAAAF,UAAA;EAEpC,IAAAG,UAAA,GAAoC,IAAAJ,eAAQ,EAC1C,IAAIK,kBAAW,CAAgB,EAAE,CACnC,CAAC;IAAAC,UAAA,GAAArB,cAAA,CAAAmB,UAAA;IAFMG,UAAU,GAAAD,UAAA;IAAEE,aAAa,GAAAF,UAAA;EAGhC,IAAAG,UAAA,GAA4C,IAAAT,eAAQ,EAElD,IAAIU,mCAAc,CAAiC,CAAC,CAAC;IAAAC,UAAA,GAAA1B,cAAA,CAAAwB,UAAA;IAFhDG,cAAc,GAAAD,UAAA;IAAEE,iBAAiB,GAAAF,UAAA;EAGxC,IAAAG,UAAA,GAA8B,IAAAd,eAAQ,EACpC,IAAIe,uCAAgB,CAAgBjB,QAAQ,CAC9C,CAAC;IAAAkB,UAAA,GAAA/B,cAAA,CAAA6B,UAAA;IAFMG,OAAO,GAAAD,UAAA;IAAEE,UAAU,GAAAF,UAAA;EAG1B,IAAAG,UAAA,GAA8B,IAAAnB,eAAQ,EAAqB,CAAC;IAAAoB,WAAA,GAAAnC,cAAA,CAAAkC,UAAA;IAArDE,OAAO,GAAAD,WAAA;IAAEE,UAAU,GAAAF,WAAA;EAC1B,IAAAG,WAAA,GAA0C,IAAAvB,eAAQ,EAAW,EAAE,CAAC;IAAAwB,WAAA,GAAAvC,cAAA,CAAAsC,WAAA;IAAzDE,aAAa,GAAAD,WAAA;IAAEE,gBAAgB,GAAAF,WAAA;EACtC,IAAAG,WAAA,GAA8C,IAAA3B,eAAQ,EAAW,EAAE,CAAC;IAAA4B,WAAA,GAAA3C,cAAA,CAAA0C,WAAA;IAA7DE,eAAe,GAAAD,WAAA;IAAEE,kBAAkB,GAAAF,WAAA;EAC1C,IAAAG,WAAA,GAA0B,IAAA/B,eAAQ,EAA6B,CAAC;IAAAgC,WAAA,GAAA/C,cAAA,CAAA8C,WAAA;IAAzDE,KAAK,GAAAD,WAAA;IAAEE,QAAQ,GAAAF,WAAA;EACtB,IAAAG,WAAA,GAAoC,IAAAnC,eAAQ,EAA6B,CAAC;IAAAoC,WAAA,GAAAnD,cAAA,CAAAkD,WAAA;IAAnEE,UAAU,GAAAD,WAAA;IAAEE,aAAa,GAAAF,WAAA;EAChC,IAAAG,WAAA,GAA8B,IAAAvC,eAAQ,EAAC,KAAK,CAAC;IAAAwC,WAAA,GAAAvD,cAAA,CAAAsD,WAAA;IAAtCE,OAAO,GAAAD,WAAA;IAAEE,UAAU,GAAAF,WAAA;EAC1B,IAAAG,WAAA,GAAkC,IAAA3C,eAAQ,EAAC,KAAK,CAAC;IAAA4C,WAAA,GAAA3D,cAAA,CAAA0D,WAAA;IAA1CE,SAAS,GAAAD,WAAA;IAAEE,YAAY,GAAAF,WAAA;EAC9B,IAAAG,cAAA,GAAqC,IAAAC,oBAAa,EAAC,CAAC;IAAAC,eAAA,GAAAhE,cAAA,CAAA8D,cAAA;IAA7CG,SAAS,GAAAD,eAAA;IAAEE,eAAe,GAAAF,eAAA;EACjC,IAAAG,WAAA,GAA8C,IAAApD,eAAQ,EACpDqD,OAAO,CACLC,MAAM,CAACC,YAAY,CAACC,OAAO,CAACC,mCAAc,CAACC,qBAAqB,CAAC,IAC/D5D,QAAQ,CAAC6D,UAAU,CAAC,CAAC,CAACC,WAC1B,CACF,CAAC;IAAAC,WAAA,GAAA5E,cAAA,CAAAmE,WAAA;IALMU,eAAe,GAAAD,WAAA;IAAEE,kBAAkB,GAAAF,WAAA;EAO1C,IAAMG,UAAU,GAAG,IAAAC,kBAAW,EAAC,YAAM;IACnC;IACAnE,QAAQ,CAACkE,UAAU,CAAC,CAAC;;IAErB;IACAxD,aAAa,CAAC,IAAIH,kBAAW,CAAC,EAAE,CAAC,CAAC;IAClCa,UAAU,CAAC,IAAIH,uCAAgB,CAACjB,QAAQ,CAAC,CAAC;IAC1Ce,iBAAiB,CAAC,IAAIH,mCAAc,CAAC,CAAC,CAAC;IACvCgB,gBAAgB,CAAC,EAAE,CAAC;IACpBI,kBAAkB,CAAC,EAAE,CAAC;IACtB3B,eAAe,CAAC+D,SAAS,CAAC;IAC1B5C,UAAU,CAAC4C,SAAS,CAAC;IACrBhC,QAAQ,CAACgC,SAAS,CAAC;IACnB5B,aAAa,CAAC4B,SAAS,CAAC;IACxBxB,UAAU,CAAC,KAAK,CAAC;IACjBqB,kBAAkB,CAAC,KAAK,CAAC;EAC3B,CAAC,EAAE,CAACjE,QAAQ,CAAC,CAAC;EAEd,IAAMqE,UAAU,GAAG,IAAAF,kBAAW,gBAAArF,iBAAA,eAAAxG,mBAAA,GAAAoF,IAAA,CAAC,SAAA4G,QAAA;IAAA,IAAAC,SAAA,EAAAC,SAAA;IAAA,OAAAlM,mBAAA,GAAAuB,IAAA,UAAA4K,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAvG,IAAA,GAAAuG,QAAA,CAAAlI,IAAA;QAAA;UAAA,MACzBwD,QAAQ,CAAC2E,SAAS,CAAC,CAAC,IAAI,CAAC3E,QAAQ,CAAC4E,mBAAmB,CAAC,CAAC;YAAAF,QAAA,CAAAlI,IAAA;YAAA;UAAA;UAAA,OAAAkI,QAAA,CAAArI,MAAA;QAAA;UAIrDkI,SAAS,GAAGvE,QAAQ,CAACI,YAAY;UAAA,IAClCmE,SAAS;YAAAG,QAAA,CAAAlI,IAAA;YAAA;UAAA;UACZ0H,UAAU,CAAC,CAAC;UAAC,OAAAQ,QAAA,CAAArI,MAAA;QAAA;UAAAqI,QAAA,CAAAlI,IAAA;UAAA,OAISwD,QAAQ,CAAC6E,IAAI,CAAC,CAAC;QAAA;UAAjCL,SAAS,GAAAE,QAAA,CAAAxI,IAAA;UAEfmH,eAAe,CAAC,YAAM;YACpBhD,eAAe,CAAC,UAACyE,UAAU;cAAA,OACzBP,SAAS,KAAKO,UAAU,GAAGA,UAAU,GAAGP,SAAS;YAAA,CACnD,CAAC;YAED,IAAMQ,aAAa,GAAGP,SAAS,CAACQ,UAAU,CAACC,GAAG,CAC5CtB,mCAAc,CAACuB,YACjB,CAAC;YACD,IAAIH,aAAa,EAAE;cACjBrE,aAAa,CAAC,UAACyE,WAAW;gBAAA,OACxBA,WAAW,CAACC,MAAM,KAAKL,aAAa,CAACK,MAAM,GACvCD,WAAW,GACXJ,aAAa;cAAA,CACnB,CAAC;YACH;YAEA3D,UAAU,CAAC,UAAC+D,WAAW;cAAA,OACrB,IAAAE,8BAAiB,EAACF,WAAW,EAAEX,SAAS,CAACQ,UAAU,CAAC,GAChDG,WAAW,GACXX,SAAS,CAACQ,UAAU;YAAA,CAC1B,CAAC;YAEDpD,gBAAgB,CAAC,UAAC0D,SAAS;cAAA,OACzBC,IAAI,CAACC,SAAS,CAACF,SAAS,CAAC,KAAKC,IAAI,CAACC,SAAS,CAAChB,SAAS,CAAC7C,aAAa,CAAC,GACjE2D,SAAS,GACTd,SAAS,CAAC7C,aAAa;YAAA,CAC7B,CAAC;YAEDK,kBAAkB,CAAC,UAACsD,SAAS;cAAA,OAC3BC,IAAI,CAACC,SAAS,CAACF,SAAS,CAAC,KAAKC,IAAI,CAACC,SAAS,CAAChB,SAAS,CAACzC,eAAe,CAAC,GACnEuD,SAAS,GACTd,SAAS,CAACzC,eAAe;YAAA,CAC/B,CAAC;YAEDP,UAAU,CAAC,UAAC8D,SAAS;cAAA,OACnBA,SAAS,KAAKd,SAAS,CAACjD,OAAO,GAAG+D,SAAS,GAAGd,SAAS,CAACjD,OAAO;YAAA,CACjE,CAAC;YAEDa,QAAQ,CAAC,UAACkD,SAAS,EAAK;cAAA,IAAAG,gBAAA;cACtB,IAAMC,YAAY,GAAGJ,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEK,GAAG,CAAC,UAAC3K,CAAC;gBAAA,OAAKA,CAAC,CAAC4K,MAAM,CAAC,CAAC;cAAA,EAAC;cACtD,IAAMC,WAAW,IAAAJ,gBAAA,GAAGjB,SAAS,CAACrC,KAAK,cAAAsD,gBAAA,uBAAfA,gBAAA,CAAiBE,GAAG,CAAC,UAAC3K,CAAC;gBAAA,OAAKA,CAAC,CAAC4K,MAAM,CAAC,CAAC;cAAA,EAAC;cAC3D,IAAIF,YAAY,KAAKG,WAAW,EAAE;gBAChC,OAAOrB,SAAS,CAACrC,KAAK;cACxB;cAEA,OAAOmD,SAAS;YAClB,CAAC,CAAC;YAEF9C,aAAa,CAAC,UAAC8C,SAAS,EAAK;cAAA,IAAAQ,iBAAA;cAC3B,IAAMJ,YAAY,GAAGJ,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEK,GAAG,CAAC,UAAC3K,CAAC;gBAAA,OAAKA,CAAC,CAAC4K,MAAM,CAAC,CAAC;cAAA,EAAC;cACtD,IAAMC,WAAW,IAAAC,iBAAA,GAAGtB,SAAS,CAACrC,KAAK,cAAA2D,iBAAA,uBAAfA,iBAAA,CAAiBH,GAAG,CAAC,UAAC3K,CAAC;gBAAA,OAAKA,CAAC,CAAC4K,MAAM,CAAC,CAAC;cAAA,EAAC;cAC3D,IAAIF,YAAY,KAAKG,WAAW,EAAE;gBAChC,OAAOrB,SAAS,CAACrC,KAAK;cACxB;cAEA,OAAOmD,SAAS;YAClB,CAAC,CAAC;YAEF1C,UAAU,CAAC2B,SAAS,CAACwB,QAAQ,CAAC,KAAK,CAAC,CAAC;UACvC,CAAC,CAAC;QAAC;QAAA;UAAA,OAAArB,QAAA,CAAApG,IAAA;MAAA;IAAA,GAAAgG,OAAA;EAAA,CACJ,IAAE,CAACtE,QAAQ,EAAEkE,UAAU,CAAC,CAAC;EAE1B,IAAM8B,aAAa,GAAG,IAAA7B,kBAAW;IAAA,IAAA8B,KAAA,GAAAnH,iBAAA,eAAAxG,mBAAA,GAAAoF,IAAA,CAC/B,SAAAwI,SAAOC,MAAkC;MAAA,OAAA7N,mBAAA,GAAAuB,IAAA,UAAAuM,UAAAC,SAAA;QAAA,kBAAAA,SAAA,CAAAlI,IAAA,GAAAkI,SAAA,CAAA7J,IAAA;UAAA;YACvC,IAAIwD,QAAQ,CAAC4E,mBAAmB,CAAC,CAAC,IAAIuB,MAAM,KAAKnG,QAAQ,CAACI,YAAY,EAAE;cACtE4C,YAAY,CAAC;gBAAA,OAAM,IAAI;cAAA,EAAC;YAC1B;YAACqD,SAAA,CAAA7J,IAAA;YAAA,OAEKwD,QAAQ,CAACgG,aAAa,CAACG,MAAM,CAAC;UAAA;YAAAE,SAAA,CAAA7J,IAAA;YAAA,OAC9B6H,UAAU,CAAC,CAAC;UAAA;YAClBrB,YAAY,CAAC;cAAA,OAAM,KAAK;YAAA,EAAC;YAAC,OAAAqD,SAAA,CAAAhK,MAAA,WACnB2D,QAAQ,CAACsG,GAAG;UAAA;UAAA;YAAA,OAAAD,SAAA,CAAA/H,IAAA;QAAA;MAAA,GAAA4H,QAAA;IAAA,CACpB;IAAA,iBAAAK,EAAA;MAAA,OAAAN,KAAA,CAAAjH,KAAA,OAAAD,SAAA;IAAA;EAAA,KACD,CAACiB,QAAQ,EAAEgD,YAAY,CACzB,CAAC;;EAED;AACF;AACA;EACE,IAAAwD,gBAAS,EAAC,YAAM;IACdhD,MAAM,CAACiD,gBAAgB,CAAC,OAAO,EAAEpC,UAAU,CAAC;IAE5C,OAAO,YAAM;MACXb,MAAM,CAACiD,gBAAgB,CAAC,OAAO,EAAEpC,UAAU,CAAC;IAC9C,CAAC;EACH,CAAC,EAAE,CAACA,UAAU,CAAC,CAAC;EAEhB,OAAO;IACLjE,YAAY,EAAZA,YAAY;IACZC,eAAe,EAAfA,eAAe;IACfI,UAAU,EAAVA,UAAU;IACVC,aAAa,EAAbA,aAAa;IACbS,OAAO,EAAPA,OAAO;IACPC,UAAU,EAAVA,UAAU;IACVsF,OAAO,EAAE5F,cAAc;IACvB6F,UAAU,EAAE5F,iBAAiB;IAC7B4B,OAAO,EAAPA,OAAO;IACPC,UAAU,EAAVA,UAAU;IACVrB,OAAO,EAAPA,OAAO;IACPC,UAAU,EAAVA,UAAU;IACVO,eAAe,EAAfA,eAAe;IACfC,kBAAkB,EAAlBA,kBAAkB;IAClBL,aAAa,EAAbA,aAAa;IACbC,gBAAgB,EAAhBA,gBAAgB;IAChBO,KAAK,EAALA,KAAK;IACLC,QAAQ,EAARA,QAAQ;IACRG,UAAU,EAAVA,UAAU;IACVC,aAAa,EAAbA,aAAa;IACb6B,UAAU,EAAVA,UAAU;IACVH,UAAU,EAAVA,UAAU;IACV8B,aAAa,EAAbA,aAAa;IACbjD,SAAS,EAATA,SAAS;IACTC,YAAY,EAAZA,YAAY;IACZI,SAAS,EAATA,SAAS;IACTY,eAAe,EAAfA;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 { TWalletObserverOptions } 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 onSyncWalletStart?: () => void;\n onSyncWalletEnd?: () => void;\n onConnectWalletStart?: () => void;\n onConnectWalletEnd?: () => 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;\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>;\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 { TWalletObserverOptions } 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 onSyncWalletStart?: () => void;\n onSyncWalletEnd?: () => void;\n onConnectWalletStart?: () => void;\n onConnectWalletEnd?: () => void;\n onDisconnectWallet?: () => 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;\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>;\n"],"mappings":"","ignoreList":[]}
|
package/dist/esm/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.js
CHANGED
|
@@ -47,10 +47,14 @@ export const useProviderWalletObserverRef = (options, hooks) => {
|
|
|
47
47
|
hooks?.onSyncWalletEnd?.();
|
|
48
48
|
setSyncing(() => false);
|
|
49
49
|
};
|
|
50
|
+
const onDisconnect = () => {
|
|
51
|
+
hooks?.onDisconnectWallet?.();
|
|
52
|
+
};
|
|
50
53
|
observerRef.current.addEventListener(EWalletObserverEvents.CONNECT_WALLET_START, setConnectingStart);
|
|
51
54
|
observerRef.current.addEventListener(EWalletObserverEvents.CONNECT_WALLET_END, setConnectingEnd);
|
|
52
55
|
observerRef.current.addEventListener(EWalletObserverEvents.SYNCING_WALLET_START, setSyncingStart);
|
|
53
56
|
observerRef.current.addEventListener(EWalletObserverEvents.SYNCING_WALLET_END, setSyncingEnd);
|
|
57
|
+
observerRef.current.addEventListener(EWalletObserverEvents.DISCONNECT, onDisconnect);
|
|
54
58
|
setEventListenersAttached(() => true);
|
|
55
59
|
return () => {
|
|
56
60
|
if (!observerRef.current) {
|
|
@@ -60,6 +64,7 @@ export const useProviderWalletObserverRef = (options, hooks) => {
|
|
|
60
64
|
observerRef.current.removeEventListener(EWalletObserverEvents.CONNECT_WALLET_END, setConnectingEnd);
|
|
61
65
|
observerRef.current.removeEventListener(EWalletObserverEvents.SYNCING_WALLET_START, setSyncingStart);
|
|
62
66
|
observerRef.current.removeEventListener(EWalletObserverEvents.SYNCING_WALLET_END, setSyncingEnd);
|
|
67
|
+
observerRef.current.removeEventListener(EWalletObserverEvents.DISCONNECT, onDisconnect);
|
|
63
68
|
};
|
|
64
69
|
}, [observerRef, hooks]);
|
|
65
70
|
return {
|
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","addEventListener","CONNECT_WALLET_START","CONNECT_WALLET_END","SYNCING_WALLET_START","SYNCING_WALLET_END","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 = () => {\n setConnecting(() => true);\n hooks?.onConnectWalletStart?.();\n };\n const setConnectingEnd = () => {\n setConnecting(() => false);\n hooks?.onConnectWalletEnd?.();\n };\n const setSyncingStart = () => {\n setSyncing(() => true);\n hooks?.onSyncWalletStart?.();\n };\n const setSyncingEnd = () => {\n hooks?.onSyncWalletEnd?.();\n setSyncing(() => false);\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\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 };\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":"AAAA,SAA2BA,SAAS,EAAEC,OAAO,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAE9E,SAASC,qBAAqB,QAAQ,2BAA2B;AAEjE,SAASC,cAAc,QAAQ,0CAA0C;AAGzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,4BAA4B,GAAGA,CAC1CC,OAAgC,EAChCC,KAA4B,KACzB;EACH;EACA,MAAMC,WAAW,GAAGP,MAAM,CAAwB,IAAI,CAAC;;EAEvD;EACA,IAAIO,WAAW,CAACC,OAAO,KAAK,IAAI,EAAE;IAChC,MAAMC,QAAQ,GAAG,IAAIN,cAAc,CAACE,OAAO,CAAC;IAC5CE,WAAW,CAACC,OAAO,GAAGC,QAAQ;EAChC;EAEA,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAGV,QAAQ,CAAC,KAAK,CAAC;EACnD,MAAM,CAACW,OAAO,EAAEC,UAAU,CAAC,GAAGZ,QAAQ,CAAC,KAAK,CAAC;EAC7C,MAAM,CAACa,sBAAsB,EAAEC,yBAAyB,CAAC,GAAGd,QAAQ,CAAC,KAAK,CAAC;EAE3E,MAAMe,KAAK,GAAGjB,OAAO,CAAC,MAAM;IAC1B,OAAOkB,OAAO,CACZV,WAAW,CAACC,OAAO,IACjBD,WAAW,CAACC,OAAO,CAACU,GAAG,IACvBX,WAAW,CAACC,OAAO,CAACW,YACxB,CAAC;EACH,CAAC,EAAE,CAACZ,WAAW,EAAEA,WAAW,CAACC,OAAO,CAACU,GAAG,EAAEX,WAAW,CAACC,OAAO,CAACW,YAAY,CAAC,CAAC;;EAE5E;AACF;AACA;EACErB,SAAS,CAAC,MAAM;IACd,IAAI,CAACS,WAAW,CAACC,OAAO,EAAE;MACxB;IACF;IAEA,MAAMY,kBAAkB,GAAGA,CAAA,KAAM;MAC/BT,aAAa,CAAC,MAAM,IAAI,CAAC;MACzBL,KAAK,EAAEe,oBAAoB,GAAG,CAAC;IACjC,CAAC;IACD,MAAMC,gBAAgB,GAAGA,CAAA,KAAM;MAC7BX,aAAa,CAAC,MAAM,KAAK,CAAC;MAC1BL,KAAK,EAAEiB,kBAAkB,GAAG,CAAC;IAC/B,CAAC;IACD,MAAMC,eAAe,GAAGA,CAAA,KAAM;MAC5BX,UAAU,CAAC,MAAM,IAAI,CAAC;MACtBP,KAAK,EAAEmB,iBAAiB,GAAG,CAAC;IAC9B,CAAC;IACD,MAAMC,aAAa,GAAGA,CAAA,KAAM;MAC1BpB,KAAK,EAAEqB,eAAe,GAAG,CAAC;MAC1Bd,UAAU,CAAC,MAAM,KAAK,CAAC;IACzB,CAAC;
|
|
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 = () => {\n setConnecting(() => true);\n hooks?.onConnectWalletStart?.();\n };\n const setConnectingEnd = () => {\n setConnecting(() => false);\n hooks?.onConnectWalletEnd?.();\n };\n const setSyncingStart = () => {\n setSyncing(() => true);\n hooks?.onSyncWalletStart?.();\n };\n const setSyncingEnd = () => {\n 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,5 +1,5 @@
|
|
|
1
1
|
import { AssetAmount } from "@sundaeswap/asset";
|
|
2
|
-
import { useCallback, useEffect,
|
|
2
|
+
import { useCallback, useEffect, useState, useTransition } from "react";
|
|
3
3
|
import { WalletAssetMap } from "../../../classes/WalletAssetMap.class.js";
|
|
4
4
|
import { WalletBalanceMap } from "../../../classes/WalletBalanceMap.class.js";
|
|
5
5
|
import { WalletObserver } from "../../../classes/WalletObserver.class.js";
|
|
@@ -23,7 +23,7 @@ export const useWalletObserverState = observer => {
|
|
|
23
23
|
const [isCip45, setIsCip45] = useState(false);
|
|
24
24
|
const [switching, setSwitching] = useState(false);
|
|
25
25
|
const [isPending, startTransition] = useTransition();
|
|
26
|
-
const willAutoConnect =
|
|
26
|
+
const [willAutoConnect, setWillAutoConnect] = useState(Boolean(window.localStorage.getItem(WalletObserver.PERSISTENCE_CACHE_KEY) && observer.getOptions().persistence));
|
|
27
27
|
const disconnect = useCallback(() => {
|
|
28
28
|
// Reset observer state.
|
|
29
29
|
observer.disconnect();
|
|
@@ -39,6 +39,7 @@ export const useWalletObserverState = observer => {
|
|
|
39
39
|
setUtxos(undefined);
|
|
40
40
|
setCollateral(undefined);
|
|
41
41
|
setIsCip45(false);
|
|
42
|
+
setWillAutoConnect(false);
|
|
42
43
|
}, [observer]);
|
|
43
44
|
const syncWallet = useCallback(async () => {
|
|
44
45
|
if (observer.isSyncing() || !observer.hasActiveConnection()) {
|
|
@@ -86,6 +87,7 @@ export const useWalletObserverState = observer => {
|
|
|
86
87
|
await observer.connectWallet(wallet);
|
|
87
88
|
await syncWallet();
|
|
88
89
|
setSwitching(() => false);
|
|
90
|
+
return observer.api;
|
|
89
91
|
}, [observer, setSwitching]);
|
|
90
92
|
|
|
91
93
|
/**
|
package/dist/esm/react-components/WalletObserverProvider/hooks/useWalletObserverState.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useWalletObserverState.js","names":["AssetAmount","useCallback","useEffect","useMemo","useState","useTransition","WalletAssetMap","WalletBalanceMap","WalletObserver","areAssetMapsEqual","useWalletObserverState","observer","activeWallet","setActiveWallet","adaBalance","setAdaBalance","handleMetadata","setHandleMetadata","balance","setBalance","network","setNetwork","usedAddresses","setUsedAddresses","unusedAddresses","setUnusedAddresses","utxos","setUtxos","collateral","setCollateral","isCip45","setIsCip45","switching","setSwitching","isPending","startTransition","willAutoConnect","Boolean","window","localStorage","getItem","PERSISTENCE_CACHE_KEY","getOptions","persistence","disconnect","undefined","syncWallet","isSyncing","hasActiveConnection","newWallet","freshData","sync","prevWallet","newAdaBalance","balanceMap","get","ADA_ASSET_ID","prevBalance","amount","prevValue","JSON","stringify","prevValueRep","map","v","toCbor","newValueRep","includes","connectWallet","wallet","addEventListener","handles","setHandles"],"sources":["../../../../../src/react-components/WalletObserverProvider/hooks/useWalletObserverState.ts"],"sourcesContent":["import type { TransactionUnspentOutput } from \"@cardano-sdk/core/dist/cjs/Serialization/index.js\";\nimport { AssetAmount, IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport {\n useCallback,\n useEffect,\n useMemo,\n useState,\n useTransition,\n} from \"react\";\n\nimport {\n TAssetAmountMap,\n TSupportedWalletExtensions,\n} from \"../../../@types/observer.js\";\nimport { WalletAssetMap } from \"../../../classes/WalletAssetMap.class.js\";\nimport { WalletBalanceMap } from \"../../../classes/WalletBalanceMap.class.js\";\nimport { WalletObserver } from \"../../../classes/WalletObserver.class.js\";\nimport { areAssetMapsEqual } from \"../../../utils/comparisons.js\";\nimport { THandleMetadata } from \"../../contexts/observer/index.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] =\n useState<TSupportedWalletExtensions>();\n const [adaBalance, setAdaBalance] = useState<AssetAmount<AssetMetadata>>(\n new AssetAmount<AssetMetadata>(0n)\n );\n const [handleMetadata, setHandleMetadata] = useState<\n TAssetAmountMap<THandleMetadata<AssetMetadata>>\n >(new WalletAssetMap<THandleMetadata<AssetMetadata>>());\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 [utxos, setUtxos] = useState<TransactionUnspentOutput[]>();\n const [collateral, setCollateral] = useState<TransactionUnspentOutput[]>();\n const [isCip45, setIsCip45] = useState(false);\n const [switching, setSwitching] = useState(false);\n const [isPending, startTransition] = useTransition();\n\n const willAutoConnect = useMemo(\n () =>\n Boolean(\n window.localStorage.getItem(WalletObserver.PERSISTENCE_CACHE_KEY) &&\n observer.getOptions().persistence\n ),\n [observer]\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 setHandleMetadata(new WalletAssetMap());\n setUsedAddresses([]);\n setUnusedAddresses([]);\n setActiveWallet(undefined);\n setNetwork(undefined);\n setUtxos(undefined);\n setCollateral(undefined);\n setIsCip45(false);\n }, [observer]);\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 const freshData = await observer.sync();\n\n startTransition(() => {\n setActiveWallet((prevWallet) =>\n newWallet === prevWallet ? prevWallet : newWallet\n );\n\n const newAdaBalance = freshData.balanceMap.get(\n WalletObserver.ADA_ASSET_ID\n );\n if (newAdaBalance) {\n setAdaBalance((prevBalance) =>\n prevBalance.amount === newAdaBalance.amount\n ? prevBalance\n : newAdaBalance\n );\n }\n\n setBalance((prevBalance) =>\n areAssetMapsEqual(prevBalance, freshData.balanceMap)\n ? prevBalance\n : freshData.balanceMap\n );\n\n setUsedAddresses((prevValue) =>\n JSON.stringify(prevValue) === JSON.stringify(freshData.usedAddresses)\n ? prevValue\n : freshData.usedAddresses\n );\n\n setUnusedAddresses((prevValue) =>\n JSON.stringify(prevValue) === JSON.stringify(freshData.unusedAddresses)\n ? prevValue\n : freshData.unusedAddresses\n );\n\n setNetwork((prevValue) =>\n prevValue === freshData.network ? prevValue : freshData.network\n );\n\n setUtxos((prevValue) => {\n const prevValueRep = prevValue?.map((v) => v.toCbor());\n const newValueRep = freshData.utxos?.map((v) => v.toCbor());\n if (prevValueRep !== newValueRep) {\n return freshData.utxos;\n }\n\n return prevValue;\n });\n\n setCollateral((prevValue) => {\n const prevValueRep = prevValue?.map((v) => v.toCbor());\n const newValueRep = freshData.utxos?.map((v) => v.toCbor());\n if (prevValueRep !== newValueRep) {\n return freshData.utxos;\n }\n\n return prevValue;\n });\n\n setIsCip45(newWallet.includes(\"p2p\"));\n });\n }, [observer, disconnect]);\n\n const connectWallet = useCallback(\n async (wallet: TSupportedWalletExtensions) => {\n if (observer.hasActiveConnection() && wallet !== observer.activeWallet) {\n setSwitching(() => true);\n }\n\n await observer.connectWallet(wallet);\n await syncWallet();\n setSwitching(() => false);\n },\n [observer, setSwitching]\n );\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 setActiveWallet,\n adaBalance,\n setAdaBalance,\n balance,\n setBalance,\n handles: handleMetadata,\n setHandles: setHandleMetadata,\n isCip45,\n setIsCip45,\n network,\n setNetwork,\n unusedAddresses,\n setUnusedAddresses,\n usedAddresses,\n setUsedAddresses,\n utxos,\n setUtxos,\n collateral,\n setCollateral,\n syncWallet,\n disconnect,\n connectWallet,\n switching,\n setSwitching,\n isPending,\n willAutoConnect,\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"useWalletObserverState.js","names":["AssetAmount","useCallback","useEffect","useState","useTransition","WalletAssetMap","WalletBalanceMap","WalletObserver","areAssetMapsEqual","useWalletObserverState","observer","activeWallet","setActiveWallet","adaBalance","setAdaBalance","handleMetadata","setHandleMetadata","balance","setBalance","network","setNetwork","usedAddresses","setUsedAddresses","unusedAddresses","setUnusedAddresses","utxos","setUtxos","collateral","setCollateral","isCip45","setIsCip45","switching","setSwitching","isPending","startTransition","willAutoConnect","setWillAutoConnect","Boolean","window","localStorage","getItem","PERSISTENCE_CACHE_KEY","getOptions","persistence","disconnect","undefined","syncWallet","isSyncing","hasActiveConnection","newWallet","freshData","sync","prevWallet","newAdaBalance","balanceMap","get","ADA_ASSET_ID","prevBalance","amount","prevValue","JSON","stringify","prevValueRep","map","v","toCbor","newValueRep","includes","connectWallet","wallet","api","addEventListener","handles","setHandles"],"sources":["../../../../../src/react-components/WalletObserverProvider/hooks/useWalletObserverState.ts"],"sourcesContent":["import type { TransactionUnspentOutput } from \"@cardano-sdk/core/dist/cjs/Serialization/index.js\";\nimport { AssetAmount, IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport { useCallback, useEffect, useState, useTransition } from \"react\";\n\nimport {\n TAssetAmountMap,\n TSupportedWalletExtensions,\n} from \"../../../@types/observer.js\";\nimport { WalletAssetMap } from \"../../../classes/WalletAssetMap.class.js\";\nimport { WalletBalanceMap } from \"../../../classes/WalletBalanceMap.class.js\";\nimport { WalletObserver } from \"../../../classes/WalletObserver.class.js\";\nimport { areAssetMapsEqual } from \"../../../utils/comparisons.js\";\nimport { THandleMetadata } from \"../../contexts/observer/index.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] =\n useState<TSupportedWalletExtensions>();\n const [adaBalance, setAdaBalance] = useState<AssetAmount<AssetMetadata>>(\n new AssetAmount<AssetMetadata>(0n)\n );\n const [handleMetadata, setHandleMetadata] = useState<\n TAssetAmountMap<THandleMetadata<AssetMetadata>>\n >(new WalletAssetMap<THandleMetadata<AssetMetadata>>());\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 [utxos, setUtxos] = useState<TransactionUnspentOutput[]>();\n const [collateral, setCollateral] = useState<TransactionUnspentOutput[]>();\n const [isCip45, setIsCip45] = useState(false);\n const [switching, setSwitching] = 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 setHandleMetadata(new WalletAssetMap());\n setUsedAddresses([]);\n setUnusedAddresses([]);\n setActiveWallet(undefined);\n setNetwork(undefined);\n setUtxos(undefined);\n setCollateral(undefined);\n setIsCip45(false);\n setWillAutoConnect(false);\n }, [observer]);\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 const freshData = await observer.sync();\n\n startTransition(() => {\n setActiveWallet((prevWallet) =>\n newWallet === prevWallet ? prevWallet : newWallet\n );\n\n const newAdaBalance = freshData.balanceMap.get(\n WalletObserver.ADA_ASSET_ID\n );\n if (newAdaBalance) {\n setAdaBalance((prevBalance) =>\n prevBalance.amount === newAdaBalance.amount\n ? prevBalance\n : newAdaBalance\n );\n }\n\n setBalance((prevBalance) =>\n areAssetMapsEqual(prevBalance, freshData.balanceMap)\n ? prevBalance\n : freshData.balanceMap\n );\n\n setUsedAddresses((prevValue) =>\n JSON.stringify(prevValue) === JSON.stringify(freshData.usedAddresses)\n ? prevValue\n : freshData.usedAddresses\n );\n\n setUnusedAddresses((prevValue) =>\n JSON.stringify(prevValue) === JSON.stringify(freshData.unusedAddresses)\n ? prevValue\n : freshData.unusedAddresses\n );\n\n setNetwork((prevValue) =>\n prevValue === freshData.network ? prevValue : freshData.network\n );\n\n setUtxos((prevValue) => {\n const prevValueRep = prevValue?.map((v) => v.toCbor());\n const newValueRep = freshData.utxos?.map((v) => v.toCbor());\n if (prevValueRep !== newValueRep) {\n return freshData.utxos;\n }\n\n return prevValue;\n });\n\n setCollateral((prevValue) => {\n const prevValueRep = prevValue?.map((v) => v.toCbor());\n const newValueRep = freshData.utxos?.map((v) => v.toCbor());\n if (prevValueRep !== newValueRep) {\n return freshData.utxos;\n }\n\n return prevValue;\n });\n\n setIsCip45(newWallet.includes(\"p2p\"));\n });\n }, [observer, disconnect]);\n\n const connectWallet = useCallback(\n async (wallet: TSupportedWalletExtensions) => {\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 /**\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 setActiveWallet,\n adaBalance,\n setAdaBalance,\n balance,\n setBalance,\n handles: handleMetadata,\n setHandles: setHandleMetadata,\n isCip45,\n setIsCip45,\n network,\n setNetwork,\n unusedAddresses,\n setUnusedAddresses,\n usedAddresses,\n setUsedAddresses,\n utxos,\n setUtxos,\n collateral,\n setCollateral,\n syncWallet,\n disconnect,\n connectWallet,\n switching,\n setSwitching,\n isPending,\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 { TWalletObserverOptions } 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 onSyncWalletStart?: () => void;\n onSyncWalletEnd?: () => void;\n onConnectWalletStart?: () => void;\n onConnectWalletEnd?: () => 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;\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>;\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 { TWalletObserverOptions } 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 onSyncWalletStart?: () => void;\n onSyncWalletEnd?: () => void;\n onConnectWalletStart?: () => void;\n onConnectWalletEnd?: () => void;\n onDisconnectWallet?: () => 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;\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>;\n"],"mappings":"","ignoreList":[]}
|
|
@@ -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;;;;;;
|
|
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"}
|
package/dist/types/react-components/WalletObserverProvider/hooks/useWalletObserverState.d.ts
CHANGED
|
@@ -34,7 +34,7 @@ export declare const useWalletObserverState: <AssetMetadata extends IAssetAmount
|
|
|
34
34
|
setCollateral: import("react").Dispatch<import("react").SetStateAction<TransactionUnspentOutput[] | undefined>>;
|
|
35
35
|
syncWallet: () => Promise<void>;
|
|
36
36
|
disconnect: () => void;
|
|
37
|
-
connectWallet: (wallet: TSupportedWalletExtensions) => Promise<
|
|
37
|
+
connectWallet: (wallet: TSupportedWalletExtensions) => Promise<import("@cardano-sdk/dapp-connector").Cip30WalletApi | undefined>;
|
|
38
38
|
switching: boolean;
|
|
39
39
|
setSwitching: import("react").Dispatch<import("react").SetStateAction<boolean>>;
|
|
40
40
|
isPending: boolean;
|
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,mDAAmD,CAAC;AAClG,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"useWalletObserverState.d.ts","sourceRoot":"","sources":["../../../../../src/react-components/WalletObserverProvider/hooks/useWalletObserverState.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mDAAmD,CAAC;AAClG,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAGtE,OAAO,EACL,eAAe,EACf,0BAA0B,EAC3B,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAE1E,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAEnE;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,gFAGvB,eAAe,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;4BA0HtB,0BAA0B;;;;;CAqD5C,CAAC"}
|
|
@@ -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,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,+DAA+D,CAAC;AAChG,OAAO,EAAE,sBAAsB,EAAE,MAAM,8DAA8D,CAAC;AAEtG;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAC;IAClC,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;CACjC,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,4BAA4B,CAC3C,aAAa,SAAS,oBAAoB,GAAG,oBAAoB;IAEjE,eAAe,EAAE,sBAAsB,CAAC,aAAa,CAAC,CAAC;IACvD,KAAK,EAAE,oBAAoB,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B,CAC3C,aAAa,SAAS,oBAAoB,GAAG,oBAAoB;IAEjE,OAAO,CAAC,EAAE,OAAO,CAAC,4BAA4B,CAAC,aAAa,CAAC,CAAC,CAAC;CAChE;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB,CACnC,aAAa,SAAS,oBAAoB,GAAG,oBAAoB;IAEjE,WAAW,EAAE,gBAAgB,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC;IAC7D,eAAe,EAAE,MAAM,GAAG,KAAK,CAAC;IAChC,KAAK,EAAE,UAAU,CAAC,OAAO,sBAAsB,CAAC,aAAa,CAAC,CAAC,GAC7D,UAAU,CAAC,OAAO,eAAe,CAAC,GAAG;QACnC,SAAS,EAAE,OAAO,CAAC;QACnB,QAAQ,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC;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,CAClB,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/react-components/contexts/observer/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAE9C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,+DAA+D,CAAC;AAChG,OAAO,EAAE,sBAAsB,EAAE,MAAM,8DAA8D,CAAC;AAEtG;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAC;IAClC,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;IAChC,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;CACjC,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,4BAA4B,CAC3C,aAAa,SAAS,oBAAoB,GAAG,oBAAoB;IAEjE,eAAe,EAAE,sBAAsB,CAAC,aAAa,CAAC,CAAC;IACvD,KAAK,EAAE,oBAAoB,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B,CAC3C,aAAa,SAAS,oBAAoB,GAAG,oBAAoB;IAEjE,OAAO,CAAC,EAAE,OAAO,CAAC,4BAA4B,CAAC,aAAa,CAAC,CAAC,CAAC;CAChE;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB,CACnC,aAAa,SAAS,oBAAoB,GAAG,oBAAoB;IAEjE,WAAW,EAAE,gBAAgB,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC;IAC7D,eAAe,EAAE,MAAM,GAAG,KAAK,CAAC;IAChC,KAAK,EAAE,UAAU,CAAC,OAAO,sBAAsB,CAAC,aAAa,CAAC,CAAC,GAC7D,UAAU,CAAC,OAAO,eAAe,CAAC,GAAG;QACnC,SAAS,EAAE,OAAO,CAAC;QACnB,QAAQ,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC;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,CAClB,CAAC"}
|