@sundaeswap/wallet-lite 0.0.29 → 0.0.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/dist/cjs/classes/WalletObserver.class.js +6 -14
  2. package/dist/cjs/classes/WalletObserver.class.js.map +1 -1
  3. package/dist/cjs/react-components/WalletObserverProvider/hooks/effects/useProviderRefreshInterval.js +1 -6
  4. package/dist/cjs/react-components/WalletObserverProvider/hooks/effects/useProviderRefreshInterval.js.map +1 -1
  5. package/dist/cjs/react-components/WalletObserverProvider/hooks/useWalletObserverState.js +2 -2
  6. package/dist/cjs/react-components/WalletObserverProvider/hooks/useWalletObserverState.js.map +1 -1
  7. package/dist/cjs/react-components/hooks/useWalletLoadingState.js +4 -11
  8. package/dist/cjs/react-components/hooks/useWalletLoadingState.js.map +1 -1
  9. package/dist/esm/classes/WalletObserver.class.js +6 -14
  10. package/dist/esm/classes/WalletObserver.class.js.map +1 -1
  11. package/dist/esm/react-components/WalletObserverProvider/hooks/effects/useProviderRefreshInterval.js +1 -6
  12. package/dist/esm/react-components/WalletObserverProvider/hooks/effects/useProviderRefreshInterval.js.map +1 -1
  13. package/dist/esm/react-components/WalletObserverProvider/hooks/useWalletObserverState.js +2 -2
  14. package/dist/esm/react-components/WalletObserverProvider/hooks/useWalletObserverState.js.map +1 -1
  15. package/dist/esm/react-components/hooks/useWalletLoadingState.js +4 -6
  16. package/dist/esm/react-components/hooks/useWalletLoadingState.js.map +1 -1
  17. package/dist/types/classes/WalletObserver.class.d.ts +1 -7
  18. package/dist/types/classes/WalletObserver.class.d.ts.map +1 -1
  19. package/dist/types/react-components/WalletObserverProvider/hooks/effects/useProviderRefreshInterval.d.ts.map +1 -1
  20. package/dist/types/react-components/WalletObserverProvider/hooks/useWalletObserverState.d.ts.map +1 -1
  21. package/dist/types/react-components/hooks/useWalletLoadingState.d.ts.map +1 -1
  22. package/dist/types/tsconfig.build.tsbuildinfo +1 -1
  23. package/package.json +1 -1
  24. package/src/classes/WalletObserver.class.ts +6 -15
  25. package/src/classes/__tests__/WalletObserver.test.ts +8 -8
  26. package/src/react-components/WalletObserverProvider/hooks/effects/useProviderRefreshInterval.ts +1 -7
  27. package/src/react-components/WalletObserverProvider/hooks/useWalletObserverState.ts +2 -5
  28. package/src/react-components/__tests__/RenderWalletHandles.test.tsx +1 -2
  29. package/src/react-components/__tests__/__snapshots__/RenderWallet.test.tsx.snap +2 -2
  30. package/src/react-components/__tests__/__snapshots__/RenderWalletHandles.test.tsx.snap +3 -3
  31. package/src/react-components/__tests__/hooks/useWalletObserver.test.tsx +0 -2
  32. package/src/react-components/hooks/useWalletLoadingState.ts +4 -12
@@ -23,10 +23,9 @@ var useWalletLoadingState = exports.useWalletLoadingState = function useWalletLo
23
23
  _useState4 = _slicedToArray(_useState3, 2),
24
24
  syncing = _useState4[0],
25
25
  setSyncing = _useState4[1];
26
- var _useState5 = (0, _react.useState)(false),
27
- _useState6 = _slicedToArray(_useState5, 2),
28
- ready = _useState6[0],
29
- setReady = _useState6[1];
26
+ var ready = (0, _react.useMemo)(function () {
27
+ return Boolean(state.observer.api && state.observer.activeWallet);
28
+ }, [state.observer.api, state.observer.activeWallet]);
30
29
  (0, _react.useEffect)(function () {
31
30
  if (!state.observer) {
32
31
  return;
@@ -36,7 +35,6 @@ var useWalletLoadingState = exports.useWalletLoadingState = function useWalletLo
36
35
  };
37
36
  var setConnectingEnd = function setConnectingEnd() {
38
37
  setConnecting(false);
39
- setReady(true);
40
38
  };
41
39
  var setSyncingStart = function setSyncingStart() {
42
40
  setSyncing(true);
@@ -44,22 +42,17 @@ var useWalletLoadingState = exports.useWalletLoadingState = function useWalletLo
44
42
  var setSyncingEnd = function setSyncingEnd() {
45
43
  setSyncing(false);
46
44
  };
47
- var onDisconnect = function onDisconnect() {
48
- return setReady(false);
49
- };
50
45
  state.observer.addEventListener(_events.EWalletObserverEvents.CONNECT_WALLET_START, setConnectingStart);
51
46
  state.observer.addEventListener(_events.EWalletObserverEvents.CONNECT_WALLET_END, setConnectingEnd);
52
47
  state.observer.addEventListener(_events.EWalletObserverEvents.SYNCING_WALLET_START, setSyncingStart);
53
48
  state.observer.addEventListener(_events.EWalletObserverEvents.SYNCING_WALLET_END, setSyncingEnd);
54
- state.observer.addEventListener(_events.EWalletObserverEvents.DISCONNECT, onDisconnect);
55
49
  return function () {
56
50
  state.observer.removeEventListener(_events.EWalletObserverEvents.CONNECT_WALLET_START, setConnectingStart);
57
51
  state.observer.removeEventListener(_events.EWalletObserverEvents.CONNECT_WALLET_END, setConnectingEnd);
58
52
  state.observer.removeEventListener(_events.EWalletObserverEvents.SYNCING_WALLET_START, setSyncingStart);
59
53
  state.observer.removeEventListener(_events.EWalletObserverEvents.SYNCING_WALLET_END, setSyncingEnd);
60
- state.observer.removeEventListener(_events.EWalletObserverEvents.DISCONNECT, onDisconnect);
61
54
  };
62
- }, [state.observer, setConnecting, setSyncing, setReady]);
55
+ }, [state.observer, setConnecting, setSyncing]);
63
56
  var memoizedState = (0, _react.useMemo)(function () {
64
57
  return {
65
58
  connectingWallet: connecting,
@@ -1 +1 @@
1
- {"version":3,"file":"useWalletLoadingState.js","names":["_react","require","_events","_useWalletObserver","_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","useWalletLoadingState","exports","state","useWalletObserver","_useState","useState","_useState2","connecting","setConnecting","_useState3","_useState4","syncing","setSyncing","_useState5","_useState6","ready","setReady","useEffect","observer","setConnectingStart","setConnectingEnd","setSyncingStart","setSyncingEnd","onDisconnect","addEventListener","EWalletObserverEvents","CONNECT_WALLET_START","CONNECT_WALLET_END","SYNCING_WALLET_START","SYNCING_WALLET_END","DISCONNECT","removeEventListener","memoizedState","useMemo","connectingWallet","syncingWallet"],"sources":["../../../../src/react-components/hooks/useWalletLoadingState.ts"],"sourcesContent":["import { IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport { useEffect, useMemo, useState } from \"react\";\n\nimport { EWalletObserverEvents } from \"../../@types/events.js\";\nimport { useWalletObserver } from \"./useWalletObserver.js\";\n\nexport const useWalletLoadingState = <\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata\n>() => {\n const state = useWalletObserver<AssetMetadata>();\n const [connecting, setConnecting] = useState(false);\n const [syncing, setSyncing] = useState(false);\n const [ready, setReady] = useState(false);\n\n useEffect(() => {\n if (!state.observer) {\n return;\n }\n\n const setConnectingStart = () => {\n setConnecting(true);\n };\n const setConnectingEnd = () => {\n setConnecting(false);\n setReady(true);\n };\n const setSyncingStart = () => {\n setSyncing(true);\n };\n const setSyncingEnd = () => {\n setSyncing(false);\n };\n const onDisconnect = () => setReady(false);\n\n state.observer.addEventListener(\n EWalletObserverEvents.CONNECT_WALLET_START,\n setConnectingStart\n );\n state.observer.addEventListener(\n EWalletObserverEvents.CONNECT_WALLET_END,\n setConnectingEnd\n );\n state.observer.addEventListener(\n EWalletObserverEvents.SYNCING_WALLET_START,\n setSyncingStart\n );\n state.observer.addEventListener(\n EWalletObserverEvents.SYNCING_WALLET_END,\n setSyncingEnd\n );\n state.observer.addEventListener(\n EWalletObserverEvents.DISCONNECT,\n onDisconnect\n );\n\n return () => {\n state.observer.removeEventListener(\n EWalletObserverEvents.CONNECT_WALLET_START,\n setConnectingStart\n );\n state.observer.removeEventListener(\n EWalletObserverEvents.CONNECT_WALLET_END,\n setConnectingEnd\n );\n state.observer.removeEventListener(\n EWalletObserverEvents.SYNCING_WALLET_START,\n setSyncingStart\n );\n state.observer.removeEventListener(\n EWalletObserverEvents.SYNCING_WALLET_END,\n setSyncingEnd\n );\n state.observer.removeEventListener(\n EWalletObserverEvents.DISCONNECT,\n onDisconnect\n );\n };\n }, [state.observer, setConnecting, setSyncing, setReady]);\n\n const memoizedState = useMemo(\n () => ({\n connectingWallet: connecting,\n syncingWallet: syncing,\n ready,\n }),\n [connecting, syncing, ready]\n );\n\n return memoizedState;\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"useWalletLoadingState.js","names":["_react","require","_events","_useWalletObserver","_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","useWalletLoadingState","exports","state","useWalletObserver","_useState","useState","_useState2","connecting","setConnecting","_useState3","_useState4","syncing","setSyncing","ready","useMemo","Boolean","observer","api","activeWallet","useEffect","setConnectingStart","setConnectingEnd","setSyncingStart","setSyncingEnd","addEventListener","EWalletObserverEvents","CONNECT_WALLET_START","CONNECT_WALLET_END","SYNCING_WALLET_START","SYNCING_WALLET_END","removeEventListener","memoizedState","connectingWallet","syncingWallet"],"sources":["../../../../src/react-components/hooks/useWalletLoadingState.ts"],"sourcesContent":["import { IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport { useEffect, useMemo, useState } from \"react\";\n\nimport { EWalletObserverEvents } from \"../../@types/events.js\";\nimport { useWalletObserver } from \"./useWalletObserver.js\";\n\nexport const useWalletLoadingState = <\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata\n>() => {\n const state = useWalletObserver<AssetMetadata>();\n const [connecting, setConnecting] = useState(false);\n const [syncing, setSyncing] = useState(false);\n const ready = useMemo(() => {\n return Boolean(state.observer.api && state.observer.activeWallet);\n }, [state.observer.api, state.observer.activeWallet]);\n\n useEffect(() => {\n if (!state.observer) {\n return;\n }\n\n const setConnectingStart = () => {\n setConnecting(true);\n };\n const setConnectingEnd = () => {\n setConnecting(false);\n };\n const setSyncingStart = () => {\n setSyncing(true);\n };\n const setSyncingEnd = () => {\n setSyncing(false);\n };\n\n state.observer.addEventListener(\n EWalletObserverEvents.CONNECT_WALLET_START,\n setConnectingStart\n );\n state.observer.addEventListener(\n EWalletObserverEvents.CONNECT_WALLET_END,\n setConnectingEnd\n );\n state.observer.addEventListener(\n EWalletObserverEvents.SYNCING_WALLET_START,\n setSyncingStart\n );\n state.observer.addEventListener(\n EWalletObserverEvents.SYNCING_WALLET_END,\n setSyncingEnd\n );\n\n return () => {\n state.observer.removeEventListener(\n EWalletObserverEvents.CONNECT_WALLET_START,\n setConnectingStart\n );\n state.observer.removeEventListener(\n EWalletObserverEvents.CONNECT_WALLET_END,\n setConnectingEnd\n );\n state.observer.removeEventListener(\n EWalletObserverEvents.SYNCING_WALLET_START,\n setSyncingStart\n );\n state.observer.removeEventListener(\n EWalletObserverEvents.SYNCING_WALLET_END,\n setSyncingEnd\n );\n };\n }, [state.observer, setConnecting, setSyncing]);\n\n const memoizedState = useMemo(\n () => ({\n connectingWallet: connecting,\n syncingWallet: syncing,\n ready,\n }),\n [connecting, syncing, ready]\n );\n\n return memoizedState;\n};\n"],"mappings":"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","ignoreList":[]}
@@ -37,10 +37,10 @@ export class WalletObserver extends WalletObserverEvent {
37
37
  // Set options.
38
38
  _defineProperty(this, "network", 0);
39
39
  _defineProperty(this, "api", void 0);
40
+ _defineProperty(this, "activeWallet", void 0);
40
41
  _defineProperty(this, "utils", void 0);
41
42
  _defineProperty(this, "peerConnectInstance", void 0);
42
43
  _defineProperty(this, "_performingSync", false);
43
- _defineProperty(this, "_activeWallet", void 0);
44
44
  _defineProperty(this, "_options", void 0);
45
45
  _defineProperty(this, "_supportedExtensions", ["eternl", "lace", "typhon", "sorbet", "flint", "nami"]);
46
46
  // Caching
@@ -109,10 +109,10 @@ export class WalletObserver extends WalletObserverEvent {
109
109
  _defineProperty(this, "syncApi", async activeWallet => {
110
110
  let attempts = 0;
111
111
  this.api = undefined;
112
- if (!activeWallet && !this._activeWallet) {
112
+ if (!activeWallet && !this.activeWallet) {
113
113
  throw new Error("A wallet is required to be passed as a parameter, or to be defined in the class.");
114
114
  }
115
- const selectedWallet = activeWallet || this._activeWallet;
115
+ const selectedWallet = activeWallet || this.activeWallet;
116
116
  let shouldContinue = true;
117
117
  while (!this.api && shouldContinue) {
118
118
  if (attempts === 10) {
@@ -174,7 +174,7 @@ export class WalletObserver extends WalletObserverEvent {
174
174
  throw new Error("Wallet extension not found in the global context.");
175
175
  }
176
176
  await this.syncApi(extension);
177
- this._activeWallet = extension;
177
+ this.activeWallet = extension;
178
178
  if (this._options.persistence) {
179
179
  const seed = {
180
180
  activeWallet: extension
@@ -207,14 +207,6 @@ export class WalletObserver extends WalletObserverEvent {
207
207
  instance: this.peerConnectInstance
208
208
  };
209
209
  });
210
- /**
211
- * Helper function to retrieve currently active wallet connection, if present.
212
- *
213
- * @returns {TSupportedWalletExtensions | undefined}
214
- */
215
- _defineProperty(this, "getActiveWallet", () => {
216
- return this._activeWallet;
217
- });
218
210
  /**
219
211
  * Helper function to retrieve the currently cached metadata.
220
212
  *
@@ -235,7 +227,7 @@ export class WalletObserver extends WalletObserverEvent {
235
227
  * @returns {void}
236
228
  */
237
229
  _defineProperty(this, "disconnect", () => {
238
- this._activeWallet = undefined;
230
+ this.activeWallet = undefined;
239
231
  this.api = undefined;
240
232
  window.localStorage.removeItem(WalletObserver.PERSISTENCE_CACHE_KEY);
241
233
  this.dispatch(EWalletObserverEvents.DISCONNECT);
@@ -508,7 +500,7 @@ export class WalletObserver extends WalletObserverEvent {
508
500
  * @returns {boolean}
509
501
  */
510
502
  hasActiveConnection() {
511
- return Boolean(this._activeWallet && this.api);
503
+ return Boolean(this.activeWallet && this.api);
512
504
  }
513
505
  /**
514
506
  * Helper method to retrieve the cached utils instance.
@@ -1 +1 @@
1
- {"version":3,"file":"WalletObserver.class.js","names":["APIErrorCode","AssetAmount","merge","EWalletObserverEvents","isAdaAsset","normalizeAssetIdWithDot","getCardanoCore","getCardanoUtil","getPeerConnect","WalletBalanceMap","WalletObserverEvent","WalletObserverUtils","WalletObserver","constructor","options","_defineProperty","Map","api","Error","start","performance","now","_performingSync","dispatch","SYNCING_WALLET_START","newNetwork","getNetwork","e","syncApi","SYNCING_WALLET_END","newBalanceMap","newUsedAddresses","newUnusedAddresses","newOutputs","newCollateral","Promise","all","getBalanceMap","getUsedAddresses","getUnusedAddresses","getUtxos","getCollateral","result","balanceMap","usedAddresses","unusedAddresses","utxos","collateral","network","end","_options","debug","console","log","activeWallet","attempts","undefined","_activeWallet","selectedWallet","shouldContinue","window","cardano","enable","getNetworkId","message","code","Refused","res","setTimeout","extension","CONNECT_WALLET_START","extensionObject","includes","peerConnectInstance","shutdownServer","connectTimeout","persistence","seed","localStorage","setItem","PERSISTENCE_CACHE_KEY","JSON","stringify","CONNECT_WALLET_END","DAppPeerConnect","peerConnectArgs","name","dAppInfo","icon","getIdenticon","instance","_cachedMetadata","_supportedExtensions","removeItem","DISCONNECT","GET_BALANCE_MAP_START","cbor","Serialization","typedHex","getBalance","data","Value","fromCbor","multiassetKeys","multiasset","keys","metadata","__metadataResolverWithCache","ADA_ASSET_ID","set","coin","get","multiassetEntries","entries","id","amount","GET_BALANCE_MAP_END","val","Cardano","map","Address","fromBytes","toBech32","txOutput","TransactionUnspentOutput","input","bind","output","funcCall","experimental","assetIds","cachedKeys","Set","inputKeys","size","every","key","has","newMetadata","metadataResolver","fallbackMetadataResolver","forEach","assetId","decimals","url","location","hostname","onApiEject","address","disconnect","onApiInject","connectWallet","verifyConnection","walletInfo","callback","requestAutoconnect","useWalletDiscovery","announce","savedWallet","getItem","parse","isSyncing","hasActiveConnection","Boolean","getUtils","utils","new"],"sources":["../../../src/classes/WalletObserver.class.ts"],"sourcesContent":["import type { TransactionUnspentOutput } from \"@cardano-sdk/core/dist/cjs/Serialization/index.js\";\nimport {\n APIErrorCode,\n type ApiError,\n type Cip30WalletApi,\n type GetCollateral,\n} from \"@cardano-sdk/dapp-connector\";\nimport { AssetAmount, type IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport merge from \"lodash/merge.js\";\n\nimport { EWalletObserverEvents } from \"../@types/events.js\";\nimport type {\n IResolvedWalletObserverOptions,\n IWalletObserverSeed,\n IWalletObserverSync,\n TMetadataResolverFunc,\n TSupportedWalletExtensions,\n TWalletObserverOptions,\n} from \"../@types/observer.js\";\nimport { isAdaAsset, normalizeAssetIdWithDot } from \"../utils/assets.js\";\nimport {\n getCardanoCore,\n getCardanoUtil,\n getPeerConnect,\n} from \"../utils/getLibs.js\";\nimport { WalletBalanceMap } from \"./WalletBalanceMap.class.js\";\nimport { WalletObserverEvent } from \"./WalletObserverEvent.js\";\nimport { WalletObserverUtils } from \"./WalletObserverUtils.class.js\";\n\n/**\n * Class representing the Wallet Observer. This is the main interface\n * for interacting with a wallet extension that is available in the\n * browser window. It handles all the deserialization required when\n * querying raw data from a CIP-30 API, and converts it to readable and\n * usable interfaces.\n *\n * Notably, it extends the WalletObserverEvent class which\n * acts as an internal event handler to hook into actions, such as connecting,\n * syncing, and disconnecting.\n *\n * @template AssetMetadata - Type extending IAssetAmountMetadata.\n * @extends {WalletObserverEvent}\n */\nexport class WalletObserver<\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata\n> extends WalletObserverEvent {\n static PERSISTENCE_CACHE_KEY = \"walletObserver\";\n static ADA_ASSET_ID = \"ada.lovelace\";\n public network: number = 0;\n public api?: Cip30WalletApi;\n public utils?: WalletObserverUtils;\n public peerConnectInstance?: import(\"@fabianbormann/cardano-peer-connect\").DAppPeerConnect;\n\n private _performingSync: boolean = false;\n private _activeWallet?: TSupportedWalletExtensions;\n private _options: IResolvedWalletObserverOptions<AssetMetadata>;\n private _supportedExtensions: TSupportedWalletExtensions[] = [\n \"eternl\",\n \"lace\",\n \"typhon\",\n \"sorbet\",\n \"flint\",\n \"nami\",\n ];\n\n // Caching\n private _cachedMetadata: Map<string, AssetMetadata> = new Map();\n\n /**\n * Creates an instance of WalletObserver.\n *\n * @param {Partial<TWalletObserverOptions<AssetMetadata>>} [options] - Options for the wallet observer.\n */\n constructor(options?: Partial<TWalletObserverOptions<AssetMetadata>>) {\n super();\n\n // Set options.\n this._options = merge<IResolvedWalletObserverOptions, typeof options>(\n {\n metadataResolver: this.fallbackMetadataResolver,\n persistence: false,\n connectTimeout: 10000,\n debug: false,\n peerConnectArgs: {\n dAppInfo: {\n name: \"Placeholder dApp Connecter Name\",\n url: window.location.hostname,\n },\n onApiEject: (name, address) => {\n options?.peerConnectArgs?.onApiEject?.(name, address);\n this.disconnect();\n },\n onApiInject: (name, address) => {\n options?.peerConnectArgs?.onApiInject?.(name, address);\n this.connectWallet(name as TSupportedWalletExtensions);\n },\n verifyConnection(walletInfo, callback) {\n return callback(true, walletInfo.requestAutoconnect ?? true);\n },\n useWalletDiscovery: true,\n announce: [\n \"wss://tracker.de-5.eternl.art\",\n \"wss://tracker.de-6.eternl.art\",\n \"wss://tracker.us-5.eternl.art\",\n ],\n },\n },\n options\n );\n\n if (!this._options.persistence) {\n return;\n }\n\n const savedWallet = window.localStorage.getItem(\n WalletObserver.PERSISTENCE_CACHE_KEY\n );\n\n if (!savedWallet) {\n return;\n }\n\n // Init connection\n const seed: IWalletObserverSeed = JSON.parse(savedWallet);\n this.connectWallet(seed.activeWallet);\n }\n\n /**\n * Synchronizes the wallet. This method handles syncing the class\n * against the currently selected active wallet. If the wallet has\n * changed networks, or if the account within the wallet has changed,\n * this method will automatically attempt to reconcile this error before\n * eventually throwing.\n *\n * In the event that a promise will not resolve due to external issues,\n * after 7 seconds, a timeout function will fire that resets the API and tries again.\n *\n * @returns {Promise<IWalletObserverSync>} - A promise that resolves to the wallet sync data.\n */\n sync = async (): Promise<IWalletObserverSync> => {\n if (!this.api) {\n throw new Error(\n \"Attempted to perform a sync operation without a connected wallet.\"\n );\n }\n\n const start = performance.now();\n\n try {\n this._performingSync = true;\n this.dispatch(EWalletObserverEvents.SYNCING_WALLET_START);\n\n let newNetwork: number;\n try {\n newNetwork = await this.getNetwork();\n } catch (e) {\n try {\n await this.syncApi();\n newNetwork = await this.getNetwork();\n } catch (e) {\n this.dispatch(EWalletObserverEvents.SYNCING_WALLET_END);\n this._performingSync = false;\n throw e;\n }\n }\n\n const [\n newBalanceMap,\n newUsedAddresses,\n newUnusedAddresses,\n newOutputs,\n newCollateral,\n ] = await Promise.all([\n this.getBalanceMap(),\n this.getUsedAddresses(),\n this.getUnusedAddresses(),\n this.getUtxos(),\n this.getCollateral(),\n ]);\n\n const result = {\n balanceMap: newBalanceMap,\n usedAddresses: newUsedAddresses,\n unusedAddresses: newUnusedAddresses,\n utxos: newOutputs,\n collateral: newCollateral,\n network: newNetwork,\n };\n\n this.dispatch(EWalletObserverEvents.SYNCING_WALLET_END, result);\n this._performingSync = false;\n\n const end = performance.now();\n if (this._options.debug) {\n console.log(`sync: ${end - start}ms`);\n }\n return result;\n } catch (e) {\n this._performingSync = false;\n throw e;\n }\n };\n\n /**\n * Helper method to check if the class is currently performing a sync\n * operation. This is useful to avoid duplicate calls, but does not\n * prevent it within the class.\n *\n * @returns {boolean}\n */\n isSyncing(): boolean {\n return this._performingSync;\n }\n\n /**\n * Helper method to check if the instance has an active connection.\n *\n * @returns {boolean}\n */\n hasActiveConnection(): boolean {\n return Boolean(this._activeWallet && this.api);\n }\n\n /**\n * Synchronizes the API with the wallet. This is useful if the account has changed,\n * but the underlying intent has not.\n *\n * @param {TSupportedWalletExtensions} [activeWallet] - The wallet to sync with.\n * @returns {Promise<Cip30WalletApi>} - A promise that resolves to the API instance.\n */\n syncApi = async (activeWallet?: TSupportedWalletExtensions): Promise<any> => {\n let attempts = 0;\n this.api = undefined;\n if (!activeWallet && !this._activeWallet) {\n throw new Error(\n \"A wallet is required to be passed as a parameter, or to be defined in the class.\"\n );\n }\n\n const selectedWallet =\n activeWallet || (this._activeWallet as TSupportedWalletExtensions);\n\n let shouldContinue = true;\n while (!this.api && shouldContinue) {\n if (attempts === 10) {\n throw new Error(\n \"Could not reconnect to the selected wallet. Please check your extension.\"\n );\n }\n\n try {\n const api = await window.cardano?.[selectedWallet]?.enable();\n\n if (!api) {\n throw Error;\n }\n\n this.api = api;\n this.network = await api.getNetworkId();\n } catch (e) {\n if (\n (e as Error)?.message === \"user canceled connection\" ||\n (e as ApiError)?.code === APIErrorCode.Refused\n ) {\n shouldContinue = false;\n return undefined;\n }\n\n await new Promise((res) => setTimeout(res, 200));\n attempts++;\n }\n }\n\n return this.api;\n };\n\n /**\n * Gets the options for the wallet observer.\n *\n * @returns {TWalletObserverOptions} - The wallet observer options.\n */\n getOptions = (): TWalletObserverOptions => {\n return this._options;\n };\n\n /**\n * Attempts to connect a wallet using the global window\n * reference. If no reference is found, it will retry for\n * 10 seconds before throw an error.\n *\n * @param {string} extension The name of the extension to enable.\n * @return {Promise<void>}\n */\n connectWallet = async (\n extension: TSupportedWalletExtensions\n ): Promise<void> => {\n const start = performance.now();\n this.dispatch(EWalletObserverEvents.CONNECT_WALLET_START);\n\n let attempts = 0;\n let extensionObject = window.cardano?.[extension];\n\n // Disconnect any CIP45 connections.\n if (!extension?.includes(\"p2p\")) {\n this.peerConnectInstance?.shutdownServer();\n }\n\n while (typeof extensionObject === \"undefined\") {\n if (attempts === 40) {\n break;\n }\n\n await new Promise((res) =>\n setTimeout(res, (this._options.connectTimeout as number) / 40)\n );\n extensionObject = window.cardano?.[extension];\n attempts++;\n }\n\n if (!extensionObject) {\n throw new Error(\"Wallet extension not found in the global context.\");\n }\n\n await this.syncApi(extension);\n\n this._activeWallet = extension;\n if (this._options.persistence) {\n const seed: IWalletObserverSeed = {\n activeWallet: extension,\n };\n\n window.localStorage.setItem(\n WalletObserver.PERSISTENCE_CACHE_KEY,\n JSON.stringify(seed)\n );\n }\n\n this.dispatch(EWalletObserverEvents.CONNECT_WALLET_END, {\n extension,\n });\n\n const end = performance.now();\n if (this._options.debug) {\n console.log(`connectWallet: ${end - start}ms`);\n }\n };\n\n getCip45Instance = async () => {\n const start = performance.now();\n if (!this.peerConnectInstance) {\n const { DAppPeerConnect } = await getPeerConnect();\n this.peerConnectInstance = new DAppPeerConnect(\n this._options.peerConnectArgs\n );\n }\n\n const end = performance.now();\n if (this._options.debug) {\n console.log(`getCip45Instance: ${end - start}ms`);\n }\n\n return {\n name: this._options.peerConnectArgs.dAppInfo.name,\n icon: this.peerConnectInstance.getIdenticon(),\n instance: this.peerConnectInstance,\n };\n };\n\n /**\n * Helper function to retrieve currently active wallet connection, if present.\n *\n * @returns {TSupportedWalletExtensions | undefined}\n */\n getActiveWallet = (): TSupportedWalletExtensions | undefined => {\n return this._activeWallet;\n };\n\n /**\n * Helper function to retrieve the currently cached metadata.\n *\n * @returns {Map<string, AssetMetadata>}\n */\n getCachedAssetMetadata = (): Map<string, AssetMetadata> =>\n this._cachedMetadata;\n\n /**\n * Helper function to retrieve a list of supported wallet extensions.\n *\n * @returns {keyof TSupportedWalletExtensions[] | undefined}\n */\n getSupportedExtensions = (): TSupportedWalletExtensions[] => {\n return this._supportedExtensions;\n };\n\n /**\n * Helper function to restore the class instance to its initial state.\n *\n * @returns {void}\n */\n disconnect = (): void => {\n this._activeWallet = undefined;\n this.api = undefined;\n window.localStorage.removeItem(WalletObserver.PERSISTENCE_CACHE_KEY);\n this.dispatch(EWalletObserverEvents.DISCONNECT);\n };\n\n /**\n * Retrieves the balance of the wallet, including metadata for each asset.\n *\n * @returns {Promise<WalletBalanceMap<AssetMetadata>>} - A promise that resolves to a map of asset amounts keyed by asset IDs.\n */\n getBalanceMap = async (): Promise<WalletBalanceMap<AssetMetadata>> => {\n if (!this.api) {\n throw new Error(\"Attempted to query balance without an API instance.\");\n }\n\n const start = performance.now();\n\n this.dispatch(EWalletObserverEvents.GET_BALANCE_MAP_START);\n const [cbor, { Serialization }, { typedHex }] = await Promise.all([\n this.api.getBalance(),\n getCardanoCore(),\n getCardanoUtil(),\n ]);\n\n const data = Serialization.Value.fromCbor(typedHex(cbor));\n const multiassetKeys = data.multiasset()?.keys() ?? [];\n\n const metadata = await this.__metadataResolverWithCache([\n WalletObserver.ADA_ASSET_ID,\n ...multiassetKeys,\n ]);\n\n const balanceMap = new WalletBalanceMap<AssetMetadata>(this);\n balanceMap.set(\n WalletObserver.ADA_ASSET_ID,\n new AssetAmount(data.coin(), metadata.get(WalletObserver.ADA_ASSET_ID))\n );\n\n const multiassetEntries = data.multiasset()?.entries() ?? [];\n if (multiassetEntries) {\n for (const [id, amount] of multiassetEntries) {\n balanceMap.set(\n id,\n new AssetAmount(amount, metadata.get(normalizeAssetIdWithDot(id)))\n );\n }\n }\n\n this.dispatch(EWalletObserverEvents.GET_BALANCE_MAP_END, {\n balanceMap,\n });\n\n const end = performance.now();\n if (this._options.debug) {\n console.log(`getBalanceMap: ${end - start}ms`);\n }\n return balanceMap;\n };\n\n /**\n * Gets the current network connection.\n *\n * @returns {Promise<number>} The network ID.\n */\n getNetwork = async (): Promise<number> => {\n if (!this.api) {\n throw new Error(\"Attempted to query network without an API instance.\");\n }\n\n const start = performance.now();\n\n const val = await this.api.getNetworkId();\n this.network = val;\n\n const end = performance.now();\n if (this._options.debug) {\n console.log(`getNetwork: ${end - start}ms`);\n }\n return val;\n };\n\n /**\n * Gets a list of used addresses, encoded as Bech32.\n *\n * @returns {Promise<string[]>} The list of addresses.\n */\n getUsedAddresses = async (): Promise<string[]> => {\n if (!this.api) {\n throw new Error(\n \"Attempted to query used addresses without an API instance.\"\n );\n }\n\n const start = performance.now();\n\n const [cbor, { Cardano }, { typedHex }] = await Promise.all([\n this.api.getUsedAddresses(),\n getCardanoCore(),\n getCardanoUtil(),\n ]);\n\n const data = cbor.map((val) =>\n Cardano.Address.fromBytes(typedHex(val)).toBech32()\n );\n\n const end = performance.now();\n if (this._options.debug) {\n console.log(`getUsedAddresses: ${end - start}ms`);\n }\n return data;\n };\n\n /**\n * Gets a list of unused addresses, encoded as Bech32.\n *\n * @returns {Promise<string[]>} The list of addresses.\n */\n getUnusedAddresses = async (): Promise<string[]> => {\n if (!this.api) {\n throw new Error(\n \"Attempted to query unused addresses without an API instance.\"\n );\n }\n\n const start = performance.now();\n\n const [cbor, { Cardano }, { typedHex }] = await Promise.all([\n this.api.getUnusedAddresses(),\n getCardanoCore(),\n getCardanoUtil(),\n ]);\n\n const data = cbor.map((val) =>\n Cardano.Address.fromBytes(typedHex(val)).toBech32()\n );\n\n const end = performance.now();\n if (this._options.debug) {\n console.log(`getUnusedAddresses: ${end - start}ms`);\n }\n return data;\n };\n\n /**\n * Gets a list of wallet UTXOs.\n *\n * @returns {Promise<TransactionUnspentOutput[]>} The list of TransactionUnspentOutputs.\n */\n getUtxos = async (): Promise<TransactionUnspentOutput[] | undefined> => {\n if (!this.api) {\n throw new Error(\"Attempted to query UTXOs without an API instance.\");\n }\n\n const start = performance.now();\n\n const [cbor, { Serialization }, { typedHex }] = await Promise.all([\n this.api.getUtxos(),\n getCardanoCore(),\n getCardanoUtil(),\n ]);\n\n const data = cbor?.map((val) => {\n let txOutput = Serialization.TransactionUnspentOutput.fromCbor(\n typedHex(val)\n );\n\n // These methods must be bound to their initial creation instance.\n txOutput.input = txOutput.input.bind(txOutput);\n txOutput.output = txOutput.output.bind(txOutput);\n return txOutput;\n });\n\n const end = performance.now();\n if (this._options.debug) {\n console.log(`getUtxos: ${end - start}ms`);\n }\n return data;\n };\n\n /**\n * Gets a list of wallet UTXOs suitable for collateral.\n *\n * @returns {Promise<TransactionUnspentOutput[]>} The list of TransactionUnspentOutputs.\n */\n getCollateral = async (): Promise<TransactionUnspentOutput[] | undefined> => {\n if (!this.api) {\n throw new Error(\"Attempted to query UTXOs without an API instance.\");\n }\n\n const start = performance.now();\n\n const [cbor, { Serialization }, { typedHex }] = await Promise.all([\n (async () => {\n const funcCall =\n this.api?.getCollateral ||\n (this.api?.experimental.getCollateral as GetCollateral);\n if (typeof funcCall !== \"function\") {\n return [];\n }\n\n return await funcCall();\n })(),\n getCardanoCore(),\n getCardanoUtil(),\n ]);\n\n const data = cbor?.map((val) => {\n let txOutput = Serialization.TransactionUnspentOutput.fromCbor(\n typedHex(val)\n );\n\n // These methods must be bound to their initial creation instance.\n txOutput.input = txOutput.input.bind(txOutput);\n txOutput.output = txOutput.output.bind(txOutput);\n return txOutput;\n });\n\n const end = performance.now();\n if (this._options.debug) {\n console.log(`getCollateral: ${end - start}ms`);\n }\n return data;\n };\n\n /**\n * Resolves metadata for the given asset IDs, using a cached version if available.\n *\n * @private\n * @param {string[]} assetIds - The IDs of the assets to resolve metadata for.\n * @returns {Promise<Map<string, AssetMetadata>>} - A promise that resolves to a map of asset metadata.\n */\n private __metadataResolverWithCache = async (\n assetIds: string[]\n ): Promise<Map<string, AssetMetadata>> => {\n const start = performance.now();\n\n if (this._cachedMetadata) {\n const cachedKeys = new Set(this._cachedMetadata.keys());\n const inputKeys = new Set(assetIds);\n\n if (\n cachedKeys.size === inputKeys.size &&\n [...cachedKeys].every((key) => inputKeys.has(key))\n ) {\n const end = performance.now();\n if (this._options.debug) {\n console.log(`metadataResolver (cached): ${end - start}ms`);\n }\n return this._cachedMetadata;\n }\n }\n\n let attempts = 0;\n let newMetadata: Map<string, AssetMetadata> | undefined;\n while (attempts <= 3 && !newMetadata) {\n try {\n newMetadata = await this._options.metadataResolver(\n assetIds.map(normalizeAssetIdWithDot),\n normalizeAssetIdWithDot,\n isAdaAsset\n );\n } catch (e) {\n attempts++;\n }\n }\n\n if (!newMetadata) {\n newMetadata = await this.fallbackMetadataResolver(\n assetIds.map(normalizeAssetIdWithDot),\n normalizeAssetIdWithDot,\n isAdaAsset\n );\n }\n\n this._cachedMetadata = newMetadata;\n\n const end = performance.now();\n if (this._options.debug) {\n console.log(`metadataResolver: ${end - start}ms`);\n }\n return newMetadata;\n };\n\n /**\n * A fallback metadata resolver function that generates default metadata for given asset IDs.\n *\n * @type {TMetadataResolverFunc<AssetMetadata>}\n */\n public fallbackMetadataResolver: TMetadataResolverFunc<AssetMetadata> =\n async (assetIds) => {\n const map = new Map<string, AssetMetadata>();\n assetIds.forEach((id) =>\n map.set(normalizeAssetIdWithDot(id), {\n assetId: normalizeAssetIdWithDot(id),\n decimals: 6,\n } as AssetMetadata)\n );\n\n return map;\n };\n\n /**\n * Helper method to retrieve the cached utils instance.\n *\n * @returns {Promise<WalletObserverUtils>} Resolves to a WalletObserverUtils class.\n */\n public async getUtils(): Promise<WalletObserverUtils> {\n if (!this.utils) {\n this.utils = await WalletObserverUtils.new(this.network);\n }\n\n return this.utils;\n }\n}\n"],"mappings":";;;AACA,SACEA,YAAY,QAIP,6BAA6B;AACpC,SAASC,WAAW,QAAmC,mBAAmB;AAC1E,OAAOC,KAAK,MAAM,iBAAiB;AAEnC,SAASC,qBAAqB,QAAQ,qBAAqB;AAS3D,SAASC,UAAU,EAAEC,uBAAuB,QAAQ,oBAAoB;AACxE,SACEC,cAAc,EACdC,cAAc,EACdC,cAAc,QACT,qBAAqB;AAC5B,SAASC,gBAAgB,QAAQ,6BAA6B;AAC9D,SAASC,mBAAmB,QAAQ,0BAA0B;AAC9D,SAASC,mBAAmB,QAAQ,gCAAgC;;AAEpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,cAAc,SAEjBF,mBAAmB,CAAC;EAuB5B;AACF;AACA;AACA;AACA;EACEG,WAAWA,CAACC,OAAwD,EAAE;IACpE,KAAK,CAAC,CAAC;;IAEP;IAAAC,eAAA,kBA5BuB,CAAC;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,0BAKS,KAAK;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,+BAGqB,CAC3D,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,MAAM,CACP;IAED;IAAAA,eAAA,0BACsD,IAAIC,GAAG,CAAC,CAAC;IA6D/D;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IAXED,eAAA,eAYO,YAA0C;MAC/C,IAAI,CAAC,IAAI,CAACE,GAAG,EAAE;QACb,MAAM,IAAIC,KAAK,CACb,mEACF,CAAC;MACH;MAEA,MAAMC,KAAK,GAAGC,WAAW,CAACC,GAAG,CAAC,CAAC;MAE/B,IAAI;QACF,IAAI,CAACC,eAAe,GAAG,IAAI;QAC3B,IAAI,CAACC,QAAQ,CAACpB,qBAAqB,CAACqB,oBAAoB,CAAC;QAEzD,IAAIC,UAAkB;QACtB,IAAI;UACFA,UAAU,GAAG,MAAM,IAAI,CAACC,UAAU,CAAC,CAAC;QACtC,CAAC,CAAC,OAAOC,CAAC,EAAE;UACV,IAAI;YACF,MAAM,IAAI,CAACC,OAAO,CAAC,CAAC;YACpBH,UAAU,GAAG,MAAM,IAAI,CAACC,UAAU,CAAC,CAAC;UACtC,CAAC,CAAC,OAAOC,CAAC,EAAE;YACV,IAAI,CAACJ,QAAQ,CAACpB,qBAAqB,CAAC0B,kBAAkB,CAAC;YACvD,IAAI,CAACP,eAAe,GAAG,KAAK;YAC5B,MAAMK,CAAC;UACT;QACF;QAEA,MAAM,CACJG,aAAa,EACbC,gBAAgB,EAChBC,kBAAkB,EAClBC,UAAU,EACVC,aAAa,CACd,GAAG,MAAMC,OAAO,CAACC,GAAG,CAAC,CACpB,IAAI,CAACC,aAAa,CAAC,CAAC,EACpB,IAAI,CAACC,gBAAgB,CAAC,CAAC,EACvB,IAAI,CAACC,kBAAkB,CAAC,CAAC,EACzB,IAAI,CAACC,QAAQ,CAAC,CAAC,EACf,IAAI,CAACC,aAAa,CAAC,CAAC,CACrB,CAAC;QAEF,MAAMC,MAAM,GAAG;UACbC,UAAU,EAAEb,aAAa;UACzBc,aAAa,EAAEb,gBAAgB;UAC/Bc,eAAe,EAAEb,kBAAkB;UACnCc,KAAK,EAAEb,UAAU;UACjBc,UAAU,EAAEb,aAAa;UACzBc,OAAO,EAAEvB;QACX,CAAC;QAED,IAAI,CAACF,QAAQ,CAACpB,qBAAqB,CAAC0B,kBAAkB,EAAEa,MAAM,CAAC;QAC/D,IAAI,CAACpB,eAAe,GAAG,KAAK;QAE5B,MAAM2B,GAAG,GAAG7B,WAAW,CAACC,GAAG,CAAC,CAAC;QAC7B,IAAI,IAAI,CAAC6B,QAAQ,CAACC,KAAK,EAAE;UACvBC,OAAO,CAACC,GAAG,CAAC,SAASJ,GAAG,GAAG9B,KAAK,IAAI,CAAC;QACvC;QACA,OAAOuB,MAAM;MACf,CAAC,CAAC,OAAOf,CAAC,EAAE;QACV,IAAI,CAACL,eAAe,GAAG,KAAK;QAC5B,MAAMK,CAAC;MACT;IACF,CAAC;IAsBD;AACF;AACA;AACA;AACA;AACA;AACA;IANEZ,eAAA,kBAOU,MAAOuC,YAAyC,IAAmB;MAC3E,IAAIC,QAAQ,GAAG,CAAC;MAChB,IAAI,CAACtC,GAAG,GAAGuC,SAAS;MACpB,IAAI,CAACF,YAAY,IAAI,CAAC,IAAI,CAACG,aAAa,EAAE;QACxC,MAAM,IAAIvC,KAAK,CACb,kFACF,CAAC;MACH;MAEA,MAAMwC,cAAc,GAClBJ,YAAY,IAAK,IAAI,CAACG,aAA4C;MAEpE,IAAIE,cAAc,GAAG,IAAI;MACzB,OAAO,CAAC,IAAI,CAAC1C,GAAG,IAAI0C,cAAc,EAAE;QAClC,IAAIJ,QAAQ,KAAK,EAAE,EAAE;UACnB,MAAM,IAAIrC,KAAK,CACb,0EACF,CAAC;QACH;QAEA,IAAI;UACF,MAAMD,GAAG,GAAG,MAAM2C,MAAM,CAACC,OAAO,GAAGH,cAAc,CAAC,EAAEI,MAAM,CAAC,CAAC;UAE5D,IAAI,CAAC7C,GAAG,EAAE;YACR,MAAMC,KAAK;UACb;UAEA,IAAI,CAACD,GAAG,GAAGA,GAAG;UACd,IAAI,CAAC+B,OAAO,GAAG,MAAM/B,GAAG,CAAC8C,YAAY,CAAC,CAAC;QACzC,CAAC,CAAC,OAAOpC,CAAC,EAAE;UACV,IACGA,CAAC,EAAYqC,OAAO,KAAK,0BAA0B,IACnDrC,CAAC,EAAesC,IAAI,KAAKjE,YAAY,CAACkE,OAAO,EAC9C;YACAP,cAAc,GAAG,KAAK;YACtB,OAAOH,SAAS;UAClB;UAEA,MAAM,IAAIrB,OAAO,CAAEgC,GAAG,IAAKC,UAAU,CAACD,GAAG,EAAE,GAAG,CAAC,CAAC;UAChDZ,QAAQ,EAAE;QACZ;MACF;MAEA,OAAO,IAAI,CAACtC,GAAG;IACjB,CAAC;IAED;AACF;AACA;AACA;AACA;IAJEF,eAAA,qBAKa,MAA8B;MACzC,OAAO,IAAI,CAACmC,QAAQ;IACtB,CAAC;IAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;IAPEnC,eAAA,wBAQgB,MACdsD,SAAqC,IACnB;MAClB,MAAMlD,KAAK,GAAGC,WAAW,CAACC,GAAG,CAAC,CAAC;MAC/B,IAAI,CAACE,QAAQ,CAACpB,qBAAqB,CAACmE,oBAAoB,CAAC;MAEzD,IAAIf,QAAQ,GAAG,CAAC;MAChB,IAAIgB,eAAe,GAAGX,MAAM,CAACC,OAAO,GAAGQ,SAAS,CAAC;;MAEjD;MACA,IAAI,CAACA,SAAS,EAAEG,QAAQ,CAAC,KAAK,CAAC,EAAE;QAC/B,IAAI,CAACC,mBAAmB,EAAEC,cAAc,CAAC,CAAC;MAC5C;MAEA,OAAO,OAAOH,eAAe,KAAK,WAAW,EAAE;QAC7C,IAAIhB,QAAQ,KAAK,EAAE,EAAE;UACnB;QACF;QAEA,MAAM,IAAIpB,OAAO,CAAEgC,GAAG,IACpBC,UAAU,CAACD,GAAG,EAAG,IAAI,CAACjB,QAAQ,CAACyB,cAAc,GAAc,EAAE,CAC/D,CAAC;QACDJ,eAAe,GAAGX,MAAM,CAACC,OAAO,GAAGQ,SAAS,CAAC;QAC7Cd,QAAQ,EAAE;MACZ;MAEA,IAAI,CAACgB,eAAe,EAAE;QACpB,MAAM,IAAIrD,KAAK,CAAC,mDAAmD,CAAC;MACtE;MAEA,MAAM,IAAI,CAACU,OAAO,CAACyC,SAAS,CAAC;MAE7B,IAAI,CAACZ,aAAa,GAAGY,SAAS;MAC9B,IAAI,IAAI,CAACnB,QAAQ,CAAC0B,WAAW,EAAE;QAC7B,MAAMC,IAAyB,GAAG;UAChCvB,YAAY,EAAEe;QAChB,CAAC;QAEDT,MAAM,CAACkB,YAAY,CAACC,OAAO,CACzBnE,cAAc,CAACoE,qBAAqB,EACpCC,IAAI,CAACC,SAAS,CAACL,IAAI,CACrB,CAAC;MACH;MAEA,IAAI,CAACtD,QAAQ,CAACpB,qBAAqB,CAACgF,kBAAkB,EAAE;QACtDd;MACF,CAAC,CAAC;MAEF,MAAMpB,GAAG,GAAG7B,WAAW,CAACC,GAAG,CAAC,CAAC;MAC7B,IAAI,IAAI,CAAC6B,QAAQ,CAACC,KAAK,EAAE;QACvBC,OAAO,CAACC,GAAG,CAAC,kBAAkBJ,GAAG,GAAG9B,KAAK,IAAI,CAAC;MAChD;IACF,CAAC;IAAAJ,eAAA,2BAEkB,YAAY;MAC7B,MAAMI,KAAK,GAAGC,WAAW,CAACC,GAAG,CAAC,CAAC;MAC/B,IAAI,CAAC,IAAI,CAACoD,mBAAmB,EAAE;QAC7B,MAAM;UAAEW;QAAgB,CAAC,GAAG,MAAM5E,cAAc,CAAC,CAAC;QAClD,IAAI,CAACiE,mBAAmB,GAAG,IAAIW,eAAe,CAC5C,IAAI,CAAClC,QAAQ,CAACmC,eAChB,CAAC;MACH;MAEA,MAAMpC,GAAG,GAAG7B,WAAW,CAACC,GAAG,CAAC,CAAC;MAC7B,IAAI,IAAI,CAAC6B,QAAQ,CAACC,KAAK,EAAE;QACvBC,OAAO,CAACC,GAAG,CAAC,qBAAqBJ,GAAG,GAAG9B,KAAK,IAAI,CAAC;MACnD;MAEA,OAAO;QACLmE,IAAI,EAAE,IAAI,CAACpC,QAAQ,CAACmC,eAAe,CAACE,QAAQ,CAACD,IAAI;QACjDE,IAAI,EAAE,IAAI,CAACf,mBAAmB,CAACgB,YAAY,CAAC,CAAC;QAC7CC,QAAQ,EAAE,IAAI,CAACjB;MACjB,CAAC;IACH,CAAC;IAED;AACF;AACA;AACA;AACA;IAJE1D,eAAA,0BAKkB,MAA8C;MAC9D,OAAO,IAAI,CAAC0C,aAAa;IAC3B,CAAC;IAED;AACF;AACA;AACA;AACA;IAJE1C,eAAA,iCAKyB,MACvB,IAAI,CAAC4E,eAAe;IAEtB;AACF;AACA;AACA;AACA;IAJE5E,eAAA,iCAKyB,MAAoC;MAC3D,OAAO,IAAI,CAAC6E,oBAAoB;IAClC,CAAC;IAED;AACF;AACA;AACA;AACA;IAJE7E,eAAA,qBAKa,MAAY;MACvB,IAAI,CAAC0C,aAAa,GAAGD,SAAS;MAC9B,IAAI,CAACvC,GAAG,GAAGuC,SAAS;MACpBI,MAAM,CAACkB,YAAY,CAACe,UAAU,CAACjF,cAAc,CAACoE,qBAAqB,CAAC;MACpE,IAAI,CAACzD,QAAQ,CAACpB,qBAAqB,CAAC2F,UAAU,CAAC;IACjD,CAAC;IAED;AACF;AACA;AACA;AACA;IAJE/E,eAAA,wBAKgB,YAAsD;MACpE,IAAI,CAAC,IAAI,CAACE,GAAG,EAAE;QACb,MAAM,IAAIC,KAAK,CAAC,qDAAqD,CAAC;MACxE;MAEA,MAAMC,KAAK,GAAGC,WAAW,CAACC,GAAG,CAAC,CAAC;MAE/B,IAAI,CAACE,QAAQ,CAACpB,qBAAqB,CAAC4F,qBAAqB,CAAC;MAC1D,MAAM,CAACC,IAAI,EAAE;QAAEC;MAAc,CAAC,EAAE;QAAEC;MAAS,CAAC,CAAC,GAAG,MAAM/D,OAAO,CAACC,GAAG,CAAC,CAChE,IAAI,CAACnB,GAAG,CAACkF,UAAU,CAAC,CAAC,EACrB7F,cAAc,CAAC,CAAC,EAChBC,cAAc,CAAC,CAAC,CACjB,CAAC;MAEF,MAAM6F,IAAI,GAAGH,aAAa,CAACI,KAAK,CAACC,QAAQ,CAACJ,QAAQ,CAACF,IAAI,CAAC,CAAC;MACzD,MAAMO,cAAc,GAAGH,IAAI,CAACI,UAAU,CAAC,CAAC,EAAEC,IAAI,CAAC,CAAC,IAAI,EAAE;MAEtD,MAAMC,QAAQ,GAAG,MAAM,IAAI,CAACC,2BAA2B,CAAC,CACtD/F,cAAc,CAACgG,YAAY,EAC3B,GAAGL,cAAc,CAClB,CAAC;MAEF,MAAM5D,UAAU,GAAG,IAAIlC,gBAAgB,CAAgB,IAAI,CAAC;MAC5DkC,UAAU,CAACkE,GAAG,CACZjG,cAAc,CAACgG,YAAY,EAC3B,IAAI3G,WAAW,CAACmG,IAAI,CAACU,IAAI,CAAC,CAAC,EAAEJ,QAAQ,CAACK,GAAG,CAACnG,cAAc,CAACgG,YAAY,CAAC,CACxE,CAAC;MAED,MAAMI,iBAAiB,GAAGZ,IAAI,CAACI,UAAU,CAAC,CAAC,EAAES,OAAO,CAAC,CAAC,IAAI,EAAE;MAC5D,IAAID,iBAAiB,EAAE;QACrB,KAAK,MAAM,CAACE,EAAE,EAAEC,MAAM,CAAC,IAAIH,iBAAiB,EAAE;UAC5CrE,UAAU,CAACkE,GAAG,CACZK,EAAE,EACF,IAAIjH,WAAW,CAACkH,MAAM,EAAET,QAAQ,CAACK,GAAG,CAAC1G,uBAAuB,CAAC6G,EAAE,CAAC,CAAC,CACnE,CAAC;QACH;MACF;MAEA,IAAI,CAAC3F,QAAQ,CAACpB,qBAAqB,CAACiH,mBAAmB,EAAE;QACvDzE;MACF,CAAC,CAAC;MAEF,MAAMM,GAAG,GAAG7B,WAAW,CAACC,GAAG,CAAC,CAAC;MAC7B,IAAI,IAAI,CAAC6B,QAAQ,CAACC,KAAK,EAAE;QACvBC,OAAO,CAACC,GAAG,CAAC,kBAAkBJ,GAAG,GAAG9B,KAAK,IAAI,CAAC;MAChD;MACA,OAAOwB,UAAU;IACnB,CAAC;IAED;AACF;AACA;AACA;AACA;IAJE5B,eAAA,qBAKa,YAA6B;MACxC,IAAI,CAAC,IAAI,CAACE,GAAG,EAAE;QACb,MAAM,IAAIC,KAAK,CAAC,qDAAqD,CAAC;MACxE;MAEA,MAAMC,KAAK,GAAGC,WAAW,CAACC,GAAG,CAAC,CAAC;MAE/B,MAAMgG,GAAG,GAAG,MAAM,IAAI,CAACpG,GAAG,CAAC8C,YAAY,CAAC,CAAC;MACzC,IAAI,CAACf,OAAO,GAAGqE,GAAG;MAElB,MAAMpE,GAAG,GAAG7B,WAAW,CAACC,GAAG,CAAC,CAAC;MAC7B,IAAI,IAAI,CAAC6B,QAAQ,CAACC,KAAK,EAAE;QACvBC,OAAO,CAACC,GAAG,CAAC,eAAeJ,GAAG,GAAG9B,KAAK,IAAI,CAAC;MAC7C;MACA,OAAOkG,GAAG;IACZ,CAAC;IAED;AACF;AACA;AACA;AACA;IAJEtG,eAAA,2BAKmB,YAA+B;MAChD,IAAI,CAAC,IAAI,CAACE,GAAG,EAAE;QACb,MAAM,IAAIC,KAAK,CACb,4DACF,CAAC;MACH;MAEA,MAAMC,KAAK,GAAGC,WAAW,CAACC,GAAG,CAAC,CAAC;MAE/B,MAAM,CAAC2E,IAAI,EAAE;QAAEsB;MAAQ,CAAC,EAAE;QAAEpB;MAAS,CAAC,CAAC,GAAG,MAAM/D,OAAO,CAACC,GAAG,CAAC,CAC1D,IAAI,CAACnB,GAAG,CAACqB,gBAAgB,CAAC,CAAC,EAC3BhC,cAAc,CAAC,CAAC,EAChBC,cAAc,CAAC,CAAC,CACjB,CAAC;MAEF,MAAM6F,IAAI,GAAGJ,IAAI,CAACuB,GAAG,CAAEF,GAAG,IACxBC,OAAO,CAACE,OAAO,CAACC,SAAS,CAACvB,QAAQ,CAACmB,GAAG,CAAC,CAAC,CAACK,QAAQ,CAAC,CACpD,CAAC;MAED,MAAMzE,GAAG,GAAG7B,WAAW,CAACC,GAAG,CAAC,CAAC;MAC7B,IAAI,IAAI,CAAC6B,QAAQ,CAACC,KAAK,EAAE;QACvBC,OAAO,CAACC,GAAG,CAAC,qBAAqBJ,GAAG,GAAG9B,KAAK,IAAI,CAAC;MACnD;MACA,OAAOiF,IAAI;IACb,CAAC;IAED;AACF;AACA;AACA;AACA;IAJErF,eAAA,6BAKqB,YAA+B;MAClD,IAAI,CAAC,IAAI,CAACE,GAAG,EAAE;QACb,MAAM,IAAIC,KAAK,CACb,8DACF,CAAC;MACH;MAEA,MAAMC,KAAK,GAAGC,WAAW,CAACC,GAAG,CAAC,CAAC;MAE/B,MAAM,CAAC2E,IAAI,EAAE;QAAEsB;MAAQ,CAAC,EAAE;QAAEpB;MAAS,CAAC,CAAC,GAAG,MAAM/D,OAAO,CAACC,GAAG,CAAC,CAC1D,IAAI,CAACnB,GAAG,CAACsB,kBAAkB,CAAC,CAAC,EAC7BjC,cAAc,CAAC,CAAC,EAChBC,cAAc,CAAC,CAAC,CACjB,CAAC;MAEF,MAAM6F,IAAI,GAAGJ,IAAI,CAACuB,GAAG,CAAEF,GAAG,IACxBC,OAAO,CAACE,OAAO,CAACC,SAAS,CAACvB,QAAQ,CAACmB,GAAG,CAAC,CAAC,CAACK,QAAQ,CAAC,CACpD,CAAC;MAED,MAAMzE,GAAG,GAAG7B,WAAW,CAACC,GAAG,CAAC,CAAC;MAC7B,IAAI,IAAI,CAAC6B,QAAQ,CAACC,KAAK,EAAE;QACvBC,OAAO,CAACC,GAAG,CAAC,uBAAuBJ,GAAG,GAAG9B,KAAK,IAAI,CAAC;MACrD;MACA,OAAOiF,IAAI;IACb,CAAC;IAED;AACF;AACA;AACA;AACA;IAJErF,eAAA,mBAKW,YAA6D;MACtE,IAAI,CAAC,IAAI,CAACE,GAAG,EAAE;QACb,MAAM,IAAIC,KAAK,CAAC,mDAAmD,CAAC;MACtE;MAEA,MAAMC,KAAK,GAAGC,WAAW,CAACC,GAAG,CAAC,CAAC;MAE/B,MAAM,CAAC2E,IAAI,EAAE;QAAEC;MAAc,CAAC,EAAE;QAAEC;MAAS,CAAC,CAAC,GAAG,MAAM/D,OAAO,CAACC,GAAG,CAAC,CAChE,IAAI,CAACnB,GAAG,CAACuB,QAAQ,CAAC,CAAC,EACnBlC,cAAc,CAAC,CAAC,EAChBC,cAAc,CAAC,CAAC,CACjB,CAAC;MAEF,MAAM6F,IAAI,GAAGJ,IAAI,EAAEuB,GAAG,CAAEF,GAAG,IAAK;QAC9B,IAAIM,QAAQ,GAAG1B,aAAa,CAAC2B,wBAAwB,CAACtB,QAAQ,CAC5DJ,QAAQ,CAACmB,GAAG,CACd,CAAC;;QAED;QACAM,QAAQ,CAACE,KAAK,GAAGF,QAAQ,CAACE,KAAK,CAACC,IAAI,CAACH,QAAQ,CAAC;QAC9CA,QAAQ,CAACI,MAAM,GAAGJ,QAAQ,CAACI,MAAM,CAACD,IAAI,CAACH,QAAQ,CAAC;QAChD,OAAOA,QAAQ;MACjB,CAAC,CAAC;MAEF,MAAM1E,GAAG,GAAG7B,WAAW,CAACC,GAAG,CAAC,CAAC;MAC7B,IAAI,IAAI,CAAC6B,QAAQ,CAACC,KAAK,EAAE;QACvBC,OAAO,CAACC,GAAG,CAAC,aAAaJ,GAAG,GAAG9B,KAAK,IAAI,CAAC;MAC3C;MACA,OAAOiF,IAAI;IACb,CAAC;IAED;AACF;AACA;AACA;AACA;IAJErF,eAAA,wBAKgB,YAA6D;MAC3E,IAAI,CAAC,IAAI,CAACE,GAAG,EAAE;QACb,MAAM,IAAIC,KAAK,CAAC,mDAAmD,CAAC;MACtE;MAEA,MAAMC,KAAK,GAAGC,WAAW,CAACC,GAAG,CAAC,CAAC;MAE/B,MAAM,CAAC2E,IAAI,EAAE;QAAEC;MAAc,CAAC,EAAE;QAAEC;MAAS,CAAC,CAAC,GAAG,MAAM/D,OAAO,CAACC,GAAG,CAAC,CAChE,CAAC,YAAY;QACX,MAAM4F,QAAQ,GACZ,IAAI,CAAC/G,GAAG,EAAEwB,aAAa,IACtB,IAAI,CAACxB,GAAG,EAAEgH,YAAY,CAACxF,aAA+B;QACzD,IAAI,OAAOuF,QAAQ,KAAK,UAAU,EAAE;UAClC,OAAO,EAAE;QACX;QAEA,OAAO,MAAMA,QAAQ,CAAC,CAAC;MACzB,CAAC,EAAE,CAAC,EACJ1H,cAAc,CAAC,CAAC,EAChBC,cAAc,CAAC,CAAC,CACjB,CAAC;MAEF,MAAM6F,IAAI,GAAGJ,IAAI,EAAEuB,GAAG,CAAEF,GAAG,IAAK;QAC9B,IAAIM,QAAQ,GAAG1B,aAAa,CAAC2B,wBAAwB,CAACtB,QAAQ,CAC5DJ,QAAQ,CAACmB,GAAG,CACd,CAAC;;QAED;QACAM,QAAQ,CAACE,KAAK,GAAGF,QAAQ,CAACE,KAAK,CAACC,IAAI,CAACH,QAAQ,CAAC;QAC9CA,QAAQ,CAACI,MAAM,GAAGJ,QAAQ,CAACI,MAAM,CAACD,IAAI,CAACH,QAAQ,CAAC;QAChD,OAAOA,QAAQ;MACjB,CAAC,CAAC;MAEF,MAAM1E,GAAG,GAAG7B,WAAW,CAACC,GAAG,CAAC,CAAC;MAC7B,IAAI,IAAI,CAAC6B,QAAQ,CAACC,KAAK,EAAE;QACvBC,OAAO,CAACC,GAAG,CAAC,kBAAkBJ,GAAG,GAAG9B,KAAK,IAAI,CAAC;MAChD;MACA,OAAOiF,IAAI;IACb,CAAC;IAED;AACF;AACA;AACA;AACA;AACA;AACA;IANErF,eAAA,sCAOsC,MACpCmH,QAAkB,IACsB;MACxC,MAAM/G,KAAK,GAAGC,WAAW,CAACC,GAAG,CAAC,CAAC;MAE/B,IAAI,IAAI,CAACsE,eAAe,EAAE;QACxB,MAAMwC,UAAU,GAAG,IAAIC,GAAG,CAAC,IAAI,CAACzC,eAAe,CAACc,IAAI,CAAC,CAAC,CAAC;QACvD,MAAM4B,SAAS,GAAG,IAAID,GAAG,CAACF,QAAQ,CAAC;QAEnC,IACEC,UAAU,CAACG,IAAI,KAAKD,SAAS,CAACC,IAAI,IAClC,CAAC,GAAGH,UAAU,CAAC,CAACI,KAAK,CAAEC,GAAG,IAAKH,SAAS,CAACI,GAAG,CAACD,GAAG,CAAC,CAAC,EAClD;UACA,MAAMvF,GAAG,GAAG7B,WAAW,CAACC,GAAG,CAAC,CAAC;UAC7B,IAAI,IAAI,CAAC6B,QAAQ,CAACC,KAAK,EAAE;YACvBC,OAAO,CAACC,GAAG,CAAC,8BAA8BJ,GAAG,GAAG9B,KAAK,IAAI,CAAC;UAC5D;UACA,OAAO,IAAI,CAACwE,eAAe;QAC7B;MACF;MAEA,IAAIpC,QAAQ,GAAG,CAAC;MAChB,IAAImF,WAAmD;MACvD,OAAOnF,QAAQ,IAAI,CAAC,IAAI,CAACmF,WAAW,EAAE;QACpC,IAAI;UACFA,WAAW,GAAG,MAAM,IAAI,CAACxF,QAAQ,CAACyF,gBAAgB,CAChDT,QAAQ,CAACX,GAAG,CAAClH,uBAAuB,CAAC,EACrCA,uBAAuB,EACvBD,UACF,CAAC;QACH,CAAC,CAAC,OAAOuB,CAAC,EAAE;UACV4B,QAAQ,EAAE;QACZ;MACF;MAEA,IAAI,CAACmF,WAAW,EAAE;QAChBA,WAAW,GAAG,MAAM,IAAI,CAACE,wBAAwB,CAC/CV,QAAQ,CAACX,GAAG,CAAClH,uBAAuB,CAAC,EACrCA,uBAAuB,EACvBD,UACF,CAAC;MACH;MAEA,IAAI,CAACuF,eAAe,GAAG+C,WAAW;MAElC,MAAMzF,GAAG,GAAG7B,WAAW,CAACC,GAAG,CAAC,CAAC;MAC7B,IAAI,IAAI,CAAC6B,QAAQ,CAACC,KAAK,EAAE;QACvBC,OAAO,CAACC,GAAG,CAAC,qBAAqBJ,GAAG,GAAG9B,KAAK,IAAI,CAAC;MACnD;MACA,OAAOuH,WAAW;IACpB,CAAC;IAED;AACF;AACA;AACA;AACA;IAJE3H,eAAA,mCAME,MAAOmH,QAAQ,IAAK;MAClB,MAAMX,GAAG,GAAG,IAAIvG,GAAG,CAAwB,CAAC;MAC5CkH,QAAQ,CAACW,OAAO,CAAE3B,EAAE,IAClBK,GAAG,CAACV,GAAG,CAACxG,uBAAuB,CAAC6G,EAAE,CAAC,EAAE;QACnC4B,OAAO,EAAEzI,uBAAuB,CAAC6G,EAAE,CAAC;QACpC6B,QAAQ,EAAE;MACZ,CAAkB,CACpB,CAAC;MAED,OAAOxB,GAAG;IACZ,CAAC;IA/mBD,IAAI,CAACrE,QAAQ,GAAGhD,KAAK,CACnB;MACEyI,gBAAgB,EAAE,IAAI,CAACC,wBAAwB;MAC/ChE,WAAW,EAAE,KAAK;MAClBD,cAAc,EAAE,KAAK;MACrBxB,KAAK,EAAE,KAAK;MACZkC,eAAe,EAAE;QACfE,QAAQ,EAAE;UACRD,IAAI,EAAE,iCAAiC;UACvC0D,GAAG,EAAEpF,MAAM,CAACqF,QAAQ,CAACC;QACvB,CAAC;QACDC,UAAU,EAAEA,CAAC7D,IAAI,EAAE8D,OAAO,KAAK;UAC7BtI,OAAO,EAAEuE,eAAe,EAAE8D,UAAU,GAAG7D,IAAI,EAAE8D,OAAO,CAAC;UACrD,IAAI,CAACC,UAAU,CAAC,CAAC;QACnB,CAAC;QACDC,WAAW,EAAEA,CAAChE,IAAI,EAAE8D,OAAO,KAAK;UAC9BtI,OAAO,EAAEuE,eAAe,EAAEiE,WAAW,GAAGhE,IAAI,EAAE8D,OAAO,CAAC;UACtD,IAAI,CAACG,aAAa,CAACjE,IAAkC,CAAC;QACxD,CAAC;QACDkE,gBAAgBA,CAACC,UAAU,EAAEC,QAAQ,EAAE;UACrC,OAAOA,QAAQ,CAAC,IAAI,EAAED,UAAU,CAACE,kBAAkB,IAAI,IAAI,CAAC;QAC9D,CAAC;QACDC,kBAAkB,EAAE,IAAI;QACxBC,QAAQ,EAAE,CACR,+BAA+B,EAC/B,+BAA+B,EAC/B,+BAA+B;MAEnC;IACF,CAAC,EACD/I,OACF,CAAC;IAED,IAAI,CAAC,IAAI,CAACoC,QAAQ,CAAC0B,WAAW,EAAE;MAC9B;IACF;IAEA,MAAMkF,WAAW,GAAGlG,MAAM,CAACkB,YAAY,CAACiF,OAAO,CAC7CnJ,cAAc,CAACoE,qBACjB,CAAC;IAED,IAAI,CAAC8E,WAAW,EAAE;MAChB;IACF;;IAEA;IACA,MAAMjF,KAAyB,GAAGI,IAAI,CAAC+E,KAAK,CAACF,WAAW,CAAC;IACzD,IAAI,CAACP,aAAa,CAAC1E,KAAI,CAACvB,YAAY,CAAC;EACvC;EA8EA;AACF;AACA;AACA;AACA;AACA;AACA;EACE2G,SAASA,CAAA,EAAY;IACnB,OAAO,IAAI,CAAC3I,eAAe;EAC7B;;EAEA;AACF;AACA;AACA;AACA;EACE4I,mBAAmBA,CAAA,EAAY;IAC7B,OAAOC,OAAO,CAAC,IAAI,CAAC1G,aAAa,IAAI,IAAI,CAACxC,GAAG,CAAC;EAChD;EAieA;AACF;AACA;AACA;AACA;EACE,MAAamJ,QAAQA,CAAA,EAAiC;IACpD,IAAI,CAAC,IAAI,CAACC,KAAK,EAAE;MACf,IAAI,CAACA,KAAK,GAAG,MAAM1J,mBAAmB,CAAC2J,GAAG,CAAC,IAAI,CAACtH,OAAO,CAAC;IAC1D;IAEA,OAAO,IAAI,CAACqH,KAAK;EACnB;AACF;AAACtJ,eAAA,CA/pBYH,cAAc,2BAGM,gBAAgB;AAAAG,eAAA,CAHpCH,cAAc,kBAIH,cAAc","ignoreList":[]}
1
+ {"version":3,"file":"WalletObserver.class.js","names":["APIErrorCode","AssetAmount","merge","EWalletObserverEvents","isAdaAsset","normalizeAssetIdWithDot","getCardanoCore","getCardanoUtil","getPeerConnect","WalletBalanceMap","WalletObserverEvent","WalletObserverUtils","WalletObserver","constructor","options","_defineProperty","Map","api","Error","start","performance","now","_performingSync","dispatch","SYNCING_WALLET_START","newNetwork","getNetwork","e","syncApi","SYNCING_WALLET_END","newBalanceMap","newUsedAddresses","newUnusedAddresses","newOutputs","newCollateral","Promise","all","getBalanceMap","getUsedAddresses","getUnusedAddresses","getUtxos","getCollateral","result","balanceMap","usedAddresses","unusedAddresses","utxos","collateral","network","end","_options","debug","console","log","activeWallet","attempts","undefined","selectedWallet","shouldContinue","window","cardano","enable","getNetworkId","message","code","Refused","res","setTimeout","extension","CONNECT_WALLET_START","extensionObject","includes","peerConnectInstance","shutdownServer","connectTimeout","persistence","seed","localStorage","setItem","PERSISTENCE_CACHE_KEY","JSON","stringify","CONNECT_WALLET_END","DAppPeerConnect","peerConnectArgs","name","dAppInfo","icon","getIdenticon","instance","_cachedMetadata","_supportedExtensions","removeItem","DISCONNECT","GET_BALANCE_MAP_START","cbor","Serialization","typedHex","getBalance","data","Value","fromCbor","multiassetKeys","multiasset","keys","metadata","__metadataResolverWithCache","ADA_ASSET_ID","set","coin","get","multiassetEntries","entries","id","amount","GET_BALANCE_MAP_END","val","Cardano","map","Address","fromBytes","toBech32","txOutput","TransactionUnspentOutput","input","bind","output","funcCall","experimental","assetIds","cachedKeys","Set","inputKeys","size","every","key","has","newMetadata","metadataResolver","fallbackMetadataResolver","forEach","assetId","decimals","url","location","hostname","onApiEject","address","disconnect","onApiInject","connectWallet","verifyConnection","walletInfo","callback","requestAutoconnect","useWalletDiscovery","announce","savedWallet","getItem","parse","isSyncing","hasActiveConnection","Boolean","getUtils","utils","new"],"sources":["../../../src/classes/WalletObserver.class.ts"],"sourcesContent":["import type { TransactionUnspentOutput } from \"@cardano-sdk/core/dist/cjs/Serialization/index.js\";\nimport {\n APIErrorCode,\n type ApiError,\n type Cip30WalletApi,\n type GetCollateral,\n} from \"@cardano-sdk/dapp-connector\";\nimport { AssetAmount, type IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport merge from \"lodash/merge.js\";\n\nimport { EWalletObserverEvents } from \"../@types/events.js\";\nimport type {\n IResolvedWalletObserverOptions,\n IWalletObserverSeed,\n IWalletObserverSync,\n TMetadataResolverFunc,\n TSupportedWalletExtensions,\n TWalletObserverOptions,\n} from \"../@types/observer.js\";\nimport { isAdaAsset, normalizeAssetIdWithDot } from \"../utils/assets.js\";\nimport {\n getCardanoCore,\n getCardanoUtil,\n getPeerConnect,\n} from \"../utils/getLibs.js\";\nimport { WalletBalanceMap } from \"./WalletBalanceMap.class.js\";\nimport { WalletObserverEvent } from \"./WalletObserverEvent.js\";\nimport { WalletObserverUtils } from \"./WalletObserverUtils.class.js\";\n\n/**\n * Class representing the Wallet Observer. This is the main interface\n * for interacting with a wallet extension that is available in the\n * browser window. It handles all the deserialization required when\n * querying raw data from a CIP-30 API, and converts it to readable and\n * usable interfaces.\n *\n * Notably, it extends the WalletObserverEvent class which\n * acts as an internal event handler to hook into actions, such as connecting,\n * syncing, and disconnecting.\n *\n * @template AssetMetadata - Type extending IAssetAmountMetadata.\n * @extends {WalletObserverEvent}\n */\nexport class WalletObserver<\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata\n> extends WalletObserverEvent {\n static PERSISTENCE_CACHE_KEY = \"walletObserver\";\n static ADA_ASSET_ID = \"ada.lovelace\";\n public network: number = 0;\n public api?: Cip30WalletApi;\n public activeWallet?: TSupportedWalletExtensions;\n public utils?: WalletObserverUtils;\n public peerConnectInstance?: import(\"@fabianbormann/cardano-peer-connect\").DAppPeerConnect;\n\n private _performingSync: boolean = false;\n private _options: IResolvedWalletObserverOptions<AssetMetadata>;\n private _supportedExtensions: TSupportedWalletExtensions[] = [\n \"eternl\",\n \"lace\",\n \"typhon\",\n \"sorbet\",\n \"flint\",\n \"nami\",\n ];\n\n // Caching\n private _cachedMetadata: Map<string, AssetMetadata> = new Map();\n\n /**\n * Creates an instance of WalletObserver.\n *\n * @param {Partial<TWalletObserverOptions<AssetMetadata>>} [options] - Options for the wallet observer.\n */\n constructor(options?: Partial<TWalletObserverOptions<AssetMetadata>>) {\n super();\n\n // Set options.\n this._options = merge<IResolvedWalletObserverOptions, typeof options>(\n {\n metadataResolver: this.fallbackMetadataResolver,\n persistence: false,\n connectTimeout: 10000,\n debug: false,\n peerConnectArgs: {\n dAppInfo: {\n name: \"Placeholder dApp Connecter Name\",\n url: window.location.hostname,\n },\n onApiEject: (name, address) => {\n options?.peerConnectArgs?.onApiEject?.(name, address);\n this.disconnect();\n },\n onApiInject: (name, address) => {\n options?.peerConnectArgs?.onApiInject?.(name, address);\n this.connectWallet(name as TSupportedWalletExtensions);\n },\n verifyConnection(walletInfo, callback) {\n return callback(true, walletInfo.requestAutoconnect ?? true);\n },\n useWalletDiscovery: true,\n announce: [\n \"wss://tracker.de-5.eternl.art\",\n \"wss://tracker.de-6.eternl.art\",\n \"wss://tracker.us-5.eternl.art\",\n ],\n },\n },\n options\n );\n\n if (!this._options.persistence) {\n return;\n }\n\n const savedWallet = window.localStorage.getItem(\n WalletObserver.PERSISTENCE_CACHE_KEY\n );\n\n if (!savedWallet) {\n return;\n }\n\n // Init connection\n const seed: IWalletObserverSeed = JSON.parse(savedWallet);\n this.connectWallet(seed.activeWallet);\n }\n\n /**\n * Synchronizes the wallet. This method handles syncing the class\n * against the currently selected active wallet. If the wallet has\n * changed networks, or if the account within the wallet has changed,\n * this method will automatically attempt to reconcile this error before\n * eventually throwing.\n *\n * In the event that a promise will not resolve due to external issues,\n * after 7 seconds, a timeout function will fire that resets the API and tries again.\n *\n * @returns {Promise<IWalletObserverSync>} - A promise that resolves to the wallet sync data.\n */\n sync = async (): Promise<IWalletObserverSync> => {\n if (!this.api) {\n throw new Error(\n \"Attempted to perform a sync operation without a connected wallet.\"\n );\n }\n\n const start = performance.now();\n\n try {\n this._performingSync = true;\n this.dispatch(EWalletObserverEvents.SYNCING_WALLET_START);\n\n let newNetwork: number;\n try {\n newNetwork = await this.getNetwork();\n } catch (e) {\n try {\n await this.syncApi();\n newNetwork = await this.getNetwork();\n } catch (e) {\n this.dispatch(EWalletObserverEvents.SYNCING_WALLET_END);\n this._performingSync = false;\n throw e;\n }\n }\n\n const [\n newBalanceMap,\n newUsedAddresses,\n newUnusedAddresses,\n newOutputs,\n newCollateral,\n ] = await Promise.all([\n this.getBalanceMap(),\n this.getUsedAddresses(),\n this.getUnusedAddresses(),\n this.getUtxos(),\n this.getCollateral(),\n ]);\n\n const result = {\n balanceMap: newBalanceMap,\n usedAddresses: newUsedAddresses,\n unusedAddresses: newUnusedAddresses,\n utxos: newOutputs,\n collateral: newCollateral,\n network: newNetwork,\n };\n\n this.dispatch(EWalletObserverEvents.SYNCING_WALLET_END, result);\n this._performingSync = false;\n\n const end = performance.now();\n if (this._options.debug) {\n console.log(`sync: ${end - start}ms`);\n }\n return result;\n } catch (e) {\n this._performingSync = false;\n throw e;\n }\n };\n\n /**\n * Helper method to check if the class is currently performing a sync\n * operation. This is useful to avoid duplicate calls, but does not\n * prevent it within the class.\n *\n * @returns {boolean}\n */\n isSyncing(): boolean {\n return this._performingSync;\n }\n\n /**\n * Helper method to check if the instance has an active connection.\n *\n * @returns {boolean}\n */\n hasActiveConnection(): boolean {\n return Boolean(this.activeWallet && this.api);\n }\n\n /**\n * Synchronizes the API with the wallet. This is useful if the account has changed,\n * but the underlying intent has not.\n *\n * @param {TSupportedWalletExtensions} [activeWallet] - The wallet to sync with.\n * @returns {Promise<Cip30WalletApi>} - A promise that resolves to the API instance.\n */\n syncApi = async (activeWallet?: TSupportedWalletExtensions): Promise<any> => {\n let attempts = 0;\n this.api = undefined;\n if (!activeWallet && !this.activeWallet) {\n throw new Error(\n \"A wallet is required to be passed as a parameter, or to be defined in the class.\"\n );\n }\n\n const selectedWallet =\n activeWallet || (this.activeWallet as TSupportedWalletExtensions);\n\n let shouldContinue = true;\n while (!this.api && shouldContinue) {\n if (attempts === 10) {\n throw new Error(\n \"Could not reconnect to the selected wallet. Please check your extension.\"\n );\n }\n\n try {\n const api = await window.cardano?.[selectedWallet]?.enable();\n\n if (!api) {\n throw Error;\n }\n\n this.api = api;\n this.network = await api.getNetworkId();\n } catch (e) {\n if (\n (e as Error)?.message === \"user canceled connection\" ||\n (e as ApiError)?.code === APIErrorCode.Refused\n ) {\n shouldContinue = false;\n return undefined;\n }\n\n await new Promise((res) => setTimeout(res, 200));\n attempts++;\n }\n }\n\n return this.api;\n };\n\n /**\n * Gets the options for the wallet observer.\n *\n * @returns {TWalletObserverOptions} - The wallet observer options.\n */\n getOptions = (): TWalletObserverOptions => {\n return this._options;\n };\n\n /**\n * Attempts to connect a wallet using the global window\n * reference. If no reference is found, it will retry for\n * 10 seconds before throw an error.\n *\n * @param {string} extension The name of the extension to enable.\n * @return {Promise<void>}\n */\n connectWallet = async (\n extension: TSupportedWalletExtensions\n ): Promise<void> => {\n const start = performance.now();\n this.dispatch(EWalletObserverEvents.CONNECT_WALLET_START);\n\n let attempts = 0;\n let extensionObject = window.cardano?.[extension];\n\n // Disconnect any CIP45 connections.\n if (!extension?.includes(\"p2p\")) {\n this.peerConnectInstance?.shutdownServer();\n }\n\n while (typeof extensionObject === \"undefined\") {\n if (attempts === 40) {\n break;\n }\n\n await new Promise((res) =>\n setTimeout(res, (this._options.connectTimeout as number) / 40)\n );\n extensionObject = window.cardano?.[extension];\n attempts++;\n }\n\n if (!extensionObject) {\n throw new Error(\"Wallet extension not found in the global context.\");\n }\n\n await this.syncApi(extension);\n\n this.activeWallet = extension;\n if (this._options.persistence) {\n const seed: IWalletObserverSeed = {\n activeWallet: extension,\n };\n\n window.localStorage.setItem(\n WalletObserver.PERSISTENCE_CACHE_KEY,\n JSON.stringify(seed)\n );\n }\n\n this.dispatch(EWalletObserverEvents.CONNECT_WALLET_END, {\n extension,\n });\n\n const end = performance.now();\n if (this._options.debug) {\n console.log(`connectWallet: ${end - start}ms`);\n }\n };\n\n getCip45Instance = async () => {\n const start = performance.now();\n if (!this.peerConnectInstance) {\n const { DAppPeerConnect } = await getPeerConnect();\n this.peerConnectInstance = new DAppPeerConnect(\n this._options.peerConnectArgs\n );\n }\n\n const end = performance.now();\n if (this._options.debug) {\n console.log(`getCip45Instance: ${end - start}ms`);\n }\n\n return {\n name: this._options.peerConnectArgs.dAppInfo.name,\n icon: this.peerConnectInstance.getIdenticon(),\n instance: this.peerConnectInstance,\n };\n };\n\n /**\n * Helper function to retrieve the currently cached metadata.\n *\n * @returns {Map<string, AssetMetadata>}\n */\n getCachedAssetMetadata = (): Map<string, AssetMetadata> =>\n this._cachedMetadata;\n\n /**\n * Helper function to retrieve a list of supported wallet extensions.\n *\n * @returns {keyof TSupportedWalletExtensions[] | undefined}\n */\n getSupportedExtensions = (): TSupportedWalletExtensions[] => {\n return this._supportedExtensions;\n };\n\n /**\n * Helper function to restore the class instance to its initial state.\n *\n * @returns {void}\n */\n disconnect = (): void => {\n this.activeWallet = undefined;\n this.api = undefined;\n window.localStorage.removeItem(WalletObserver.PERSISTENCE_CACHE_KEY);\n this.dispatch(EWalletObserverEvents.DISCONNECT);\n };\n\n /**\n * Retrieves the balance of the wallet, including metadata for each asset.\n *\n * @returns {Promise<WalletBalanceMap<AssetMetadata>>} - A promise that resolves to a map of asset amounts keyed by asset IDs.\n */\n getBalanceMap = async (): Promise<WalletBalanceMap<AssetMetadata>> => {\n if (!this.api) {\n throw new Error(\"Attempted to query balance without an API instance.\");\n }\n\n const start = performance.now();\n\n this.dispatch(EWalletObserverEvents.GET_BALANCE_MAP_START);\n const [cbor, { Serialization }, { typedHex }] = await Promise.all([\n this.api.getBalance(),\n getCardanoCore(),\n getCardanoUtil(),\n ]);\n\n const data = Serialization.Value.fromCbor(typedHex(cbor));\n const multiassetKeys = data.multiasset()?.keys() ?? [];\n\n const metadata = await this.__metadataResolverWithCache([\n WalletObserver.ADA_ASSET_ID,\n ...multiassetKeys,\n ]);\n\n const balanceMap = new WalletBalanceMap<AssetMetadata>(this);\n balanceMap.set(\n WalletObserver.ADA_ASSET_ID,\n new AssetAmount(data.coin(), metadata.get(WalletObserver.ADA_ASSET_ID))\n );\n\n const multiassetEntries = data.multiasset()?.entries() ?? [];\n if (multiassetEntries) {\n for (const [id, amount] of multiassetEntries) {\n balanceMap.set(\n id,\n new AssetAmount(amount, metadata.get(normalizeAssetIdWithDot(id)))\n );\n }\n }\n\n this.dispatch(EWalletObserverEvents.GET_BALANCE_MAP_END, {\n balanceMap,\n });\n\n const end = performance.now();\n if (this._options.debug) {\n console.log(`getBalanceMap: ${end - start}ms`);\n }\n return balanceMap;\n };\n\n /**\n * Gets the current network connection.\n *\n * @returns {Promise<number>} The network ID.\n */\n getNetwork = async (): Promise<number> => {\n if (!this.api) {\n throw new Error(\"Attempted to query network without an API instance.\");\n }\n\n const start = performance.now();\n\n const val = await this.api.getNetworkId();\n this.network = val;\n\n const end = performance.now();\n if (this._options.debug) {\n console.log(`getNetwork: ${end - start}ms`);\n }\n return val;\n };\n\n /**\n * Gets a list of used addresses, encoded as Bech32.\n *\n * @returns {Promise<string[]>} The list of addresses.\n */\n getUsedAddresses = async (): Promise<string[]> => {\n if (!this.api) {\n throw new Error(\n \"Attempted to query used addresses without an API instance.\"\n );\n }\n\n const start = performance.now();\n\n const [cbor, { Cardano }, { typedHex }] = await Promise.all([\n this.api.getUsedAddresses(),\n getCardanoCore(),\n getCardanoUtil(),\n ]);\n\n const data = cbor.map((val) =>\n Cardano.Address.fromBytes(typedHex(val)).toBech32()\n );\n\n const end = performance.now();\n if (this._options.debug) {\n console.log(`getUsedAddresses: ${end - start}ms`);\n }\n return data;\n };\n\n /**\n * Gets a list of unused addresses, encoded as Bech32.\n *\n * @returns {Promise<string[]>} The list of addresses.\n */\n getUnusedAddresses = async (): Promise<string[]> => {\n if (!this.api) {\n throw new Error(\n \"Attempted to query unused addresses without an API instance.\"\n );\n }\n\n const start = performance.now();\n\n const [cbor, { Cardano }, { typedHex }] = await Promise.all([\n this.api.getUnusedAddresses(),\n getCardanoCore(),\n getCardanoUtil(),\n ]);\n\n const data = cbor.map((val) =>\n Cardano.Address.fromBytes(typedHex(val)).toBech32()\n );\n\n const end = performance.now();\n if (this._options.debug) {\n console.log(`getUnusedAddresses: ${end - start}ms`);\n }\n return data;\n };\n\n /**\n * Gets a list of wallet UTXOs.\n *\n * @returns {Promise<TransactionUnspentOutput[]>} The list of TransactionUnspentOutputs.\n */\n getUtxos = async (): Promise<TransactionUnspentOutput[] | undefined> => {\n if (!this.api) {\n throw new Error(\"Attempted to query UTXOs without an API instance.\");\n }\n\n const start = performance.now();\n\n const [cbor, { Serialization }, { typedHex }] = await Promise.all([\n this.api.getUtxos(),\n getCardanoCore(),\n getCardanoUtil(),\n ]);\n\n const data = cbor?.map((val) => {\n let txOutput = Serialization.TransactionUnspentOutput.fromCbor(\n typedHex(val)\n );\n\n // These methods must be bound to their initial creation instance.\n txOutput.input = txOutput.input.bind(txOutput);\n txOutput.output = txOutput.output.bind(txOutput);\n return txOutput;\n });\n\n const end = performance.now();\n if (this._options.debug) {\n console.log(`getUtxos: ${end - start}ms`);\n }\n return data;\n };\n\n /**\n * Gets a list of wallet UTXOs suitable for collateral.\n *\n * @returns {Promise<TransactionUnspentOutput[]>} The list of TransactionUnspentOutputs.\n */\n getCollateral = async (): Promise<TransactionUnspentOutput[] | undefined> => {\n if (!this.api) {\n throw new Error(\"Attempted to query UTXOs without an API instance.\");\n }\n\n const start = performance.now();\n\n const [cbor, { Serialization }, { typedHex }] = await Promise.all([\n (async () => {\n const funcCall =\n this.api?.getCollateral ||\n (this.api?.experimental.getCollateral as GetCollateral);\n if (typeof funcCall !== \"function\") {\n return [];\n }\n\n return await funcCall();\n })(),\n getCardanoCore(),\n getCardanoUtil(),\n ]);\n\n const data = cbor?.map((val) => {\n let txOutput = Serialization.TransactionUnspentOutput.fromCbor(\n typedHex(val)\n );\n\n // These methods must be bound to their initial creation instance.\n txOutput.input = txOutput.input.bind(txOutput);\n txOutput.output = txOutput.output.bind(txOutput);\n return txOutput;\n });\n\n const end = performance.now();\n if (this._options.debug) {\n console.log(`getCollateral: ${end - start}ms`);\n }\n return data;\n };\n\n /**\n * Resolves metadata for the given asset IDs, using a cached version if available.\n *\n * @private\n * @param {string[]} assetIds - The IDs of the assets to resolve metadata for.\n * @returns {Promise<Map<string, AssetMetadata>>} - A promise that resolves to a map of asset metadata.\n */\n private __metadataResolverWithCache = async (\n assetIds: string[]\n ): Promise<Map<string, AssetMetadata>> => {\n const start = performance.now();\n\n if (this._cachedMetadata) {\n const cachedKeys = new Set(this._cachedMetadata.keys());\n const inputKeys = new Set(assetIds);\n\n if (\n cachedKeys.size === inputKeys.size &&\n [...cachedKeys].every((key) => inputKeys.has(key))\n ) {\n const end = performance.now();\n if (this._options.debug) {\n console.log(`metadataResolver (cached): ${end - start}ms`);\n }\n return this._cachedMetadata;\n }\n }\n\n let attempts = 0;\n let newMetadata: Map<string, AssetMetadata> | undefined;\n while (attempts <= 3 && !newMetadata) {\n try {\n newMetadata = await this._options.metadataResolver(\n assetIds.map(normalizeAssetIdWithDot),\n normalizeAssetIdWithDot,\n isAdaAsset\n );\n } catch (e) {\n attempts++;\n }\n }\n\n if (!newMetadata) {\n newMetadata = await this.fallbackMetadataResolver(\n assetIds.map(normalizeAssetIdWithDot),\n normalizeAssetIdWithDot,\n isAdaAsset\n );\n }\n\n this._cachedMetadata = newMetadata;\n\n const end = performance.now();\n if (this._options.debug) {\n console.log(`metadataResolver: ${end - start}ms`);\n }\n return newMetadata;\n };\n\n /**\n * A fallback metadata resolver function that generates default metadata for given asset IDs.\n *\n * @type {TMetadataResolverFunc<AssetMetadata>}\n */\n public fallbackMetadataResolver: TMetadataResolverFunc<AssetMetadata> =\n async (assetIds) => {\n const map = new Map<string, AssetMetadata>();\n assetIds.forEach((id) =>\n map.set(normalizeAssetIdWithDot(id), {\n assetId: normalizeAssetIdWithDot(id),\n decimals: 6,\n } as AssetMetadata)\n );\n\n return map;\n };\n\n /**\n * Helper method to retrieve the cached utils instance.\n *\n * @returns {Promise<WalletObserverUtils>} Resolves to a WalletObserverUtils class.\n */\n public async getUtils(): Promise<WalletObserverUtils> {\n if (!this.utils) {\n this.utils = await WalletObserverUtils.new(this.network);\n }\n\n return this.utils;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -13,12 +13,7 @@ export const useProviderRefreshInterval = (observer, syncWallet, refreshInterval
13
13
  if (!refreshInterval) {
14
14
  return;
15
15
  }
16
- const interval = setInterval(() => {
17
- if (!observer.getActiveWallet()) {
18
- return;
19
- }
20
- syncWallet();
21
- }, refreshInterval);
16
+ const interval = setInterval(syncWallet, refreshInterval);
22
17
  return () => {
23
18
  clearInterval(interval);
24
19
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useProviderRefreshInterval.js","names":["useEffect","useProviderRefreshInterval","observer","syncWallet","refreshInterval","interval","setInterval","getActiveWallet","clearInterval"],"sources":["../../../../../../src/react-components/WalletObserverProvider/hooks/effects/useProviderRefreshInterval.ts"],"sourcesContent":["import { useEffect } from \"react\";\n\nimport { WalletObserver } from \"../../../../classes/WalletObserver.class.js\";\n\n/**\n * Internal use only. This hook is responsible for attaching\n * a refresh interval to the WalletObserver. If set to 0, then\n * the refresh interval is not attached.\n *\n * @param observer\n * @param refreshInterval\n * @param syncWallet\n */\nexport const useProviderRefreshInterval = (\n observer: WalletObserver,\n syncWallet: () => Promise<void>,\n refreshInterval?: number\n) => {\n useEffect(() => {\n if (!refreshInterval) {\n return;\n }\n\n const interval = setInterval(() => {\n if (!observer.getActiveWallet()) {\n return;\n }\n\n syncWallet();\n }, refreshInterval);\n\n return () => {\n clearInterval(interval);\n };\n }, [refreshInterval, syncWallet, observer]);\n};\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,OAAO;AAIjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,0BAA0B,GAAGA,CACxCC,QAAwB,EACxBC,UAA+B,EAC/BC,eAAwB,KACrB;EACHJ,SAAS,CAAC,MAAM;IACd,IAAI,CAACI,eAAe,EAAE;MACpB;IACF;IAEA,MAAMC,QAAQ,GAAGC,WAAW,CAAC,MAAM;MACjC,IAAI,CAACJ,QAAQ,CAACK,eAAe,CAAC,CAAC,EAAE;QAC/B;MACF;MAEAJ,UAAU,CAAC,CAAC;IACd,CAAC,EAAEC,eAAe,CAAC;IAEnB,OAAO,MAAM;MACXI,aAAa,CAACH,QAAQ,CAAC;IACzB,CAAC;EACH,CAAC,EAAE,CAACD,eAAe,EAAED,UAAU,EAAED,QAAQ,CAAC,CAAC;AAC7C,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"useProviderRefreshInterval.js","names":["useEffect","useProviderRefreshInterval","observer","syncWallet","refreshInterval","interval","setInterval","clearInterval"],"sources":["../../../../../../src/react-components/WalletObserverProvider/hooks/effects/useProviderRefreshInterval.ts"],"sourcesContent":["import { useEffect } from \"react\";\n\nimport { WalletObserver } from \"../../../../classes/WalletObserver.class.js\";\n\n/**\n * Internal use only. This hook is responsible for attaching\n * a refresh interval to the WalletObserver. If set to 0, then\n * the refresh interval is not attached.\n *\n * @param observer\n * @param refreshInterval\n * @param syncWallet\n */\nexport const useProviderRefreshInterval = (\n observer: WalletObserver,\n syncWallet: () => Promise<void>,\n refreshInterval?: number\n) => {\n useEffect(() => {\n if (!refreshInterval) {\n return;\n }\n\n const interval = setInterval(syncWallet, refreshInterval);\n\n return () => {\n clearInterval(interval);\n };\n }, [refreshInterval, syncWallet, observer]);\n};\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,OAAO;AAIjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,0BAA0B,GAAGA,CACxCC,QAAwB,EACxBC,UAA+B,EAC/BC,eAAwB,KACrB;EACHJ,SAAS,CAAC,MAAM;IACd,IAAI,CAACI,eAAe,EAAE;MACpB;IACF;IAEA,MAAMC,QAAQ,GAAGC,WAAW,CAACH,UAAU,EAAEC,eAAe,CAAC;IAEzD,OAAO,MAAM;MACXG,aAAa,CAACF,QAAQ,CAAC;IACzB,CAAC;EACH,CAAC,EAAE,CAACD,eAAe,EAAED,UAAU,EAAED,QAAQ,CAAC,CAAC;AAC7C,CAAC","ignoreList":[]}
@@ -42,7 +42,7 @@ export const useWalletObserverState = observer => {
42
42
  if (observer.isSyncing() || !observer.hasActiveConnection()) {
43
43
  return;
44
44
  }
45
- const newWallet = observer.getActiveWallet();
45
+ const newWallet = observer.activeWallet;
46
46
  if (!newWallet) {
47
47
  disconnect();
48
48
  return;
@@ -76,7 +76,7 @@ export const useWalletObserverState = observer => {
76
76
  setIsCip45(newWallet.includes("p2p"));
77
77
  }, [observer, disconnect]);
78
78
  const connectWallet = useCallback(async wallet => {
79
- if (observer.hasActiveConnection() && wallet !== observer.getActiveWallet()) {
79
+ if (observer.hasActiveConnection() && wallet !== observer.activeWallet) {
80
80
  setSwitching(true);
81
81
  }
82
82
  await observer.connectWallet(wallet).then(syncWallet);
@@ -1 +1 @@
1
- {"version":3,"file":"useWalletObserverState.js","names":["AssetAmount","useCallback","useState","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","disconnect","undefined","syncWallet","isSyncing","hasActiveConnection","newWallet","getActiveWallet","freshData","sync","prevWallet","newAdaBalance","balanceMap","get","ADA_ASSET_ID","prevBalance","amount","prevValue","JSON","stringify","prevValueRep","map","v","toCbor","newValueRep","includes","connectWallet","wallet","then","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 } from \"@sundaeswap/asset\";\nimport { useCallback, useState } 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 = (observer: WalletObserver) => {\n const [activeWallet, setActiveWallet] =\n useState<TSupportedWalletExtensions>();\n const [adaBalance, setAdaBalance] = useState<AssetAmount>(\n new AssetAmount(0n)\n );\n const [handleMetadata, setHandleMetadata] = useState<\n TAssetAmountMap<THandleMetadata>\n >(new WalletAssetMap());\n const [balance, setBalance] = useState<WalletBalanceMap>(\n new WalletBalanceMap(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\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.getActiveWallet();\n if (!newWallet) {\n disconnect();\n return;\n }\n\n const freshData = await observer.sync();\n\n setActiveWallet((prevWallet) =>\n newWallet === prevWallet ? prevWallet : newWallet\n );\n\n const newAdaBalance = freshData.balanceMap.get(WalletObserver.ADA_ASSET_ID);\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 }, [observer, disconnect]);\n\n const connectWallet = useCallback(\n async (wallet: TSupportedWalletExtensions) => {\n if (\n observer.hasActiveConnection() &&\n wallet !== observer.getActiveWallet()\n ) {\n setSwitching(true);\n }\n\n await observer.connectWallet(wallet).then(syncWallet);\n setSwitching(false);\n },\n [observer, setSwitching]\n );\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 };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"useWalletObserverState.js","names":["AssetAmount","useCallback","useState","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","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","then","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 } from \"@sundaeswap/asset\";\nimport { useCallback, useState } 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 = (observer: WalletObserver) => {\n const [activeWallet, setActiveWallet] =\n useState<TSupportedWalletExtensions>();\n const [adaBalance, setAdaBalance] = useState<AssetAmount>(\n new AssetAmount(0n)\n );\n const [handleMetadata, setHandleMetadata] = useState<\n TAssetAmountMap<THandleMetadata>\n >(new WalletAssetMap());\n const [balance, setBalance] = useState<WalletBalanceMap>(\n new WalletBalanceMap(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\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 setActiveWallet((prevWallet) =>\n newWallet === prevWallet ? prevWallet : newWallet\n );\n\n const newAdaBalance = freshData.balanceMap.get(WalletObserver.ADA_ASSET_ID);\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 }, [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).then(syncWallet);\n setSwitching(false);\n },\n [observer, setSwitching]\n );\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 };\n};\n"],"mappings":"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","ignoreList":[]}
@@ -5,7 +5,9 @@ export const useWalletLoadingState = () => {
5
5
  const state = useWalletObserver();
6
6
  const [connecting, setConnecting] = useState(false);
7
7
  const [syncing, setSyncing] = useState(false);
8
- const [ready, setReady] = useState(false);
8
+ const ready = useMemo(() => {
9
+ return Boolean(state.observer.api && state.observer.activeWallet);
10
+ }, [state.observer.api, state.observer.activeWallet]);
9
11
  useEffect(() => {
10
12
  if (!state.observer) {
11
13
  return;
@@ -15,7 +17,6 @@ export const useWalletLoadingState = () => {
15
17
  };
16
18
  const setConnectingEnd = () => {
17
19
  setConnecting(false);
18
- setReady(true);
19
20
  };
20
21
  const setSyncingStart = () => {
21
22
  setSyncing(true);
@@ -23,20 +24,17 @@ export const useWalletLoadingState = () => {
23
24
  const setSyncingEnd = () => {
24
25
  setSyncing(false);
25
26
  };
26
- const onDisconnect = () => setReady(false);
27
27
  state.observer.addEventListener(EWalletObserverEvents.CONNECT_WALLET_START, setConnectingStart);
28
28
  state.observer.addEventListener(EWalletObserverEvents.CONNECT_WALLET_END, setConnectingEnd);
29
29
  state.observer.addEventListener(EWalletObserverEvents.SYNCING_WALLET_START, setSyncingStart);
30
30
  state.observer.addEventListener(EWalletObserverEvents.SYNCING_WALLET_END, setSyncingEnd);
31
- state.observer.addEventListener(EWalletObserverEvents.DISCONNECT, onDisconnect);
32
31
  return () => {
33
32
  state.observer.removeEventListener(EWalletObserverEvents.CONNECT_WALLET_START, setConnectingStart);
34
33
  state.observer.removeEventListener(EWalletObserverEvents.CONNECT_WALLET_END, setConnectingEnd);
35
34
  state.observer.removeEventListener(EWalletObserverEvents.SYNCING_WALLET_START, setSyncingStart);
36
35
  state.observer.removeEventListener(EWalletObserverEvents.SYNCING_WALLET_END, setSyncingEnd);
37
- state.observer.removeEventListener(EWalletObserverEvents.DISCONNECT, onDisconnect);
38
36
  };
39
- }, [state.observer, setConnecting, setSyncing, setReady]);
37
+ }, [state.observer, setConnecting, setSyncing]);
40
38
  const memoizedState = useMemo(() => ({
41
39
  connectingWallet: connecting,
42
40
  syncingWallet: syncing,
@@ -1 +1 @@
1
- {"version":3,"file":"useWalletLoadingState.js","names":["useEffect","useMemo","useState","EWalletObserverEvents","useWalletObserver","useWalletLoadingState","state","connecting","setConnecting","syncing","setSyncing","ready","setReady","observer","setConnectingStart","setConnectingEnd","setSyncingStart","setSyncingEnd","onDisconnect","addEventListener","CONNECT_WALLET_START","CONNECT_WALLET_END","SYNCING_WALLET_START","SYNCING_WALLET_END","DISCONNECT","removeEventListener","memoizedState","connectingWallet","syncingWallet"],"sources":["../../../../src/react-components/hooks/useWalletLoadingState.ts"],"sourcesContent":["import { IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport { useEffect, useMemo, useState } from \"react\";\n\nimport { EWalletObserverEvents } from \"../../@types/events.js\";\nimport { useWalletObserver } from \"./useWalletObserver.js\";\n\nexport const useWalletLoadingState = <\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata\n>() => {\n const state = useWalletObserver<AssetMetadata>();\n const [connecting, setConnecting] = useState(false);\n const [syncing, setSyncing] = useState(false);\n const [ready, setReady] = useState(false);\n\n useEffect(() => {\n if (!state.observer) {\n return;\n }\n\n const setConnectingStart = () => {\n setConnecting(true);\n };\n const setConnectingEnd = () => {\n setConnecting(false);\n setReady(true);\n };\n const setSyncingStart = () => {\n setSyncing(true);\n };\n const setSyncingEnd = () => {\n setSyncing(false);\n };\n const onDisconnect = () => setReady(false);\n\n state.observer.addEventListener(\n EWalletObserverEvents.CONNECT_WALLET_START,\n setConnectingStart\n );\n state.observer.addEventListener(\n EWalletObserverEvents.CONNECT_WALLET_END,\n setConnectingEnd\n );\n state.observer.addEventListener(\n EWalletObserverEvents.SYNCING_WALLET_START,\n setSyncingStart\n );\n state.observer.addEventListener(\n EWalletObserverEvents.SYNCING_WALLET_END,\n setSyncingEnd\n );\n state.observer.addEventListener(\n EWalletObserverEvents.DISCONNECT,\n onDisconnect\n );\n\n return () => {\n state.observer.removeEventListener(\n EWalletObserverEvents.CONNECT_WALLET_START,\n setConnectingStart\n );\n state.observer.removeEventListener(\n EWalletObserverEvents.CONNECT_WALLET_END,\n setConnectingEnd\n );\n state.observer.removeEventListener(\n EWalletObserverEvents.SYNCING_WALLET_START,\n setSyncingStart\n );\n state.observer.removeEventListener(\n EWalletObserverEvents.SYNCING_WALLET_END,\n setSyncingEnd\n );\n state.observer.removeEventListener(\n EWalletObserverEvents.DISCONNECT,\n onDisconnect\n );\n };\n }, [state.observer, setConnecting, setSyncing, setReady]);\n\n const memoizedState = useMemo(\n () => ({\n connectingWallet: connecting,\n syncingWallet: syncing,\n ready,\n }),\n [connecting, syncing, ready]\n );\n\n return memoizedState;\n};\n"],"mappings":"AACA,SAASA,SAAS,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,OAAO;AAEpD,SAASC,qBAAqB,QAAQ,wBAAwB;AAC9D,SAASC,iBAAiB,QAAQ,wBAAwB;AAE1D,OAAO,MAAMC,qBAAqB,GAAGA,CAAA,KAE9B;EACL,MAAMC,KAAK,GAAGF,iBAAiB,CAAgB,CAAC;EAChD,MAAM,CAACG,UAAU,EAAEC,aAAa,CAAC,GAAGN,QAAQ,CAAC,KAAK,CAAC;EACnD,MAAM,CAACO,OAAO,EAAEC,UAAU,CAAC,GAAGR,QAAQ,CAAC,KAAK,CAAC;EAC7C,MAAM,CAACS,KAAK,EAAEC,QAAQ,CAAC,GAAGV,QAAQ,CAAC,KAAK,CAAC;EAEzCF,SAAS,CAAC,MAAM;IACd,IAAI,CAACM,KAAK,CAACO,QAAQ,EAAE;MACnB;IACF;IAEA,MAAMC,kBAAkB,GAAGA,CAAA,KAAM;MAC/BN,aAAa,CAAC,IAAI,CAAC;IACrB,CAAC;IACD,MAAMO,gBAAgB,GAAGA,CAAA,KAAM;MAC7BP,aAAa,CAAC,KAAK,CAAC;MACpBI,QAAQ,CAAC,IAAI,CAAC;IAChB,CAAC;IACD,MAAMI,eAAe,GAAGA,CAAA,KAAM;MAC5BN,UAAU,CAAC,IAAI,CAAC;IAClB,CAAC;IACD,MAAMO,aAAa,GAAGA,CAAA,KAAM;MAC1BP,UAAU,CAAC,KAAK,CAAC;IACnB,CAAC;IACD,MAAMQ,YAAY,GAAGA,CAAA,KAAMN,QAAQ,CAAC,KAAK,CAAC;IAE1CN,KAAK,CAACO,QAAQ,CAACM,gBAAgB,CAC7BhB,qBAAqB,CAACiB,oBAAoB,EAC1CN,kBACF,CAAC;IACDR,KAAK,CAACO,QAAQ,CAACM,gBAAgB,CAC7BhB,qBAAqB,CAACkB,kBAAkB,EACxCN,gBACF,CAAC;IACDT,KAAK,CAACO,QAAQ,CAACM,gBAAgB,CAC7BhB,qBAAqB,CAACmB,oBAAoB,EAC1CN,eACF,CAAC;IACDV,KAAK,CAACO,QAAQ,CAACM,gBAAgB,CAC7BhB,qBAAqB,CAACoB,kBAAkB,EACxCN,aACF,CAAC;IACDX,KAAK,CAACO,QAAQ,CAACM,gBAAgB,CAC7BhB,qBAAqB,CAACqB,UAAU,EAChCN,YACF,CAAC;IAED,OAAO,MAAM;MACXZ,KAAK,CAACO,QAAQ,CAACY,mBAAmB,CAChCtB,qBAAqB,CAACiB,oBAAoB,EAC1CN,kBACF,CAAC;MACDR,KAAK,CAACO,QAAQ,CAACY,mBAAmB,CAChCtB,qBAAqB,CAACkB,kBAAkB,EACxCN,gBACF,CAAC;MACDT,KAAK,CAACO,QAAQ,CAACY,mBAAmB,CAChCtB,qBAAqB,CAACmB,oBAAoB,EAC1CN,eACF,CAAC;MACDV,KAAK,CAACO,QAAQ,CAACY,mBAAmB,CAChCtB,qBAAqB,CAACoB,kBAAkB,EACxCN,aACF,CAAC;MACDX,KAAK,CAACO,QAAQ,CAACY,mBAAmB,CAChCtB,qBAAqB,CAACqB,UAAU,EAChCN,YACF,CAAC;IACH,CAAC;EACH,CAAC,EAAE,CAACZ,KAAK,CAACO,QAAQ,EAAEL,aAAa,EAAEE,UAAU,EAAEE,QAAQ,CAAC,CAAC;EAEzD,MAAMc,aAAa,GAAGzB,OAAO,CAC3B,OAAO;IACL0B,gBAAgB,EAAEpB,UAAU;IAC5BqB,aAAa,EAAEnB,OAAO;IACtBE;EACF,CAAC,CAAC,EACF,CAACJ,UAAU,EAAEE,OAAO,EAAEE,KAAK,CAC7B,CAAC;EAED,OAAOe,aAAa;AACtB,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"useWalletLoadingState.js","names":["useEffect","useMemo","useState","EWalletObserverEvents","useWalletObserver","useWalletLoadingState","state","connecting","setConnecting","syncing","setSyncing","ready","Boolean","observer","api","activeWallet","setConnectingStart","setConnectingEnd","setSyncingStart","setSyncingEnd","addEventListener","CONNECT_WALLET_START","CONNECT_WALLET_END","SYNCING_WALLET_START","SYNCING_WALLET_END","removeEventListener","memoizedState","connectingWallet","syncingWallet"],"sources":["../../../../src/react-components/hooks/useWalletLoadingState.ts"],"sourcesContent":["import { IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport { useEffect, useMemo, useState } from \"react\";\n\nimport { EWalletObserverEvents } from \"../../@types/events.js\";\nimport { useWalletObserver } from \"./useWalletObserver.js\";\n\nexport const useWalletLoadingState = <\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata\n>() => {\n const state = useWalletObserver<AssetMetadata>();\n const [connecting, setConnecting] = useState(false);\n const [syncing, setSyncing] = useState(false);\n const ready = useMemo(() => {\n return Boolean(state.observer.api && state.observer.activeWallet);\n }, [state.observer.api, state.observer.activeWallet]);\n\n useEffect(() => {\n if (!state.observer) {\n return;\n }\n\n const setConnectingStart = () => {\n setConnecting(true);\n };\n const setConnectingEnd = () => {\n setConnecting(false);\n };\n const setSyncingStart = () => {\n setSyncing(true);\n };\n const setSyncingEnd = () => {\n setSyncing(false);\n };\n\n state.observer.addEventListener(\n EWalletObserverEvents.CONNECT_WALLET_START,\n setConnectingStart\n );\n state.observer.addEventListener(\n EWalletObserverEvents.CONNECT_WALLET_END,\n setConnectingEnd\n );\n state.observer.addEventListener(\n EWalletObserverEvents.SYNCING_WALLET_START,\n setSyncingStart\n );\n state.observer.addEventListener(\n EWalletObserverEvents.SYNCING_WALLET_END,\n setSyncingEnd\n );\n\n return () => {\n state.observer.removeEventListener(\n EWalletObserverEvents.CONNECT_WALLET_START,\n setConnectingStart\n );\n state.observer.removeEventListener(\n EWalletObserverEvents.CONNECT_WALLET_END,\n setConnectingEnd\n );\n state.observer.removeEventListener(\n EWalletObserverEvents.SYNCING_WALLET_START,\n setSyncingStart\n );\n state.observer.removeEventListener(\n EWalletObserverEvents.SYNCING_WALLET_END,\n setSyncingEnd\n );\n };\n }, [state.observer, setConnecting, setSyncing]);\n\n const memoizedState = useMemo(\n () => ({\n connectingWallet: connecting,\n syncingWallet: syncing,\n ready,\n }),\n [connecting, syncing, ready]\n );\n\n return memoizedState;\n};\n"],"mappings":"AACA,SAASA,SAAS,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,OAAO;AAEpD,SAASC,qBAAqB,QAAQ,wBAAwB;AAC9D,SAASC,iBAAiB,QAAQ,wBAAwB;AAE1D,OAAO,MAAMC,qBAAqB,GAAGA,CAAA,KAE9B;EACL,MAAMC,KAAK,GAAGF,iBAAiB,CAAgB,CAAC;EAChD,MAAM,CAACG,UAAU,EAAEC,aAAa,CAAC,GAAGN,QAAQ,CAAC,KAAK,CAAC;EACnD,MAAM,CAACO,OAAO,EAAEC,UAAU,CAAC,GAAGR,QAAQ,CAAC,KAAK,CAAC;EAC7C,MAAMS,KAAK,GAAGV,OAAO,CAAC,MAAM;IAC1B,OAAOW,OAAO,CAACN,KAAK,CAACO,QAAQ,CAACC,GAAG,IAAIR,KAAK,CAACO,QAAQ,CAACE,YAAY,CAAC;EACnE,CAAC,EAAE,CAACT,KAAK,CAACO,QAAQ,CAACC,GAAG,EAAER,KAAK,CAACO,QAAQ,CAACE,YAAY,CAAC,CAAC;EAErDf,SAAS,CAAC,MAAM;IACd,IAAI,CAACM,KAAK,CAACO,QAAQ,EAAE;MACnB;IACF;IAEA,MAAMG,kBAAkB,GAAGA,CAAA,KAAM;MAC/BR,aAAa,CAAC,IAAI,CAAC;IACrB,CAAC;IACD,MAAMS,gBAAgB,GAAGA,CAAA,KAAM;MAC7BT,aAAa,CAAC,KAAK,CAAC;IACtB,CAAC;IACD,MAAMU,eAAe,GAAGA,CAAA,KAAM;MAC5BR,UAAU,CAAC,IAAI,CAAC;IAClB,CAAC;IACD,MAAMS,aAAa,GAAGA,CAAA,KAAM;MAC1BT,UAAU,CAAC,KAAK,CAAC;IACnB,CAAC;IAEDJ,KAAK,CAACO,QAAQ,CAACO,gBAAgB,CAC7BjB,qBAAqB,CAACkB,oBAAoB,EAC1CL,kBACF,CAAC;IACDV,KAAK,CAACO,QAAQ,CAACO,gBAAgB,CAC7BjB,qBAAqB,CAACmB,kBAAkB,EACxCL,gBACF,CAAC;IACDX,KAAK,CAACO,QAAQ,CAACO,gBAAgB,CAC7BjB,qBAAqB,CAACoB,oBAAoB,EAC1CL,eACF,CAAC;IACDZ,KAAK,CAACO,QAAQ,CAACO,gBAAgB,CAC7BjB,qBAAqB,CAACqB,kBAAkB,EACxCL,aACF,CAAC;IAED,OAAO,MAAM;MACXb,KAAK,CAACO,QAAQ,CAACY,mBAAmB,CAChCtB,qBAAqB,CAACkB,oBAAoB,EAC1CL,kBACF,CAAC;MACDV,KAAK,CAACO,QAAQ,CAACY,mBAAmB,CAChCtB,qBAAqB,CAACmB,kBAAkB,EACxCL,gBACF,CAAC;MACDX,KAAK,CAACO,QAAQ,CAACY,mBAAmB,CAChCtB,qBAAqB,CAACoB,oBAAoB,EAC1CL,eACF,CAAC;MACDZ,KAAK,CAACO,QAAQ,CAACY,mBAAmB,CAChCtB,qBAAqB,CAACqB,kBAAkB,EACxCL,aACF,CAAC;IACH,CAAC;EACH,CAAC,EAAE,CAACb,KAAK,CAACO,QAAQ,EAAEL,aAAa,EAAEE,UAAU,CAAC,CAAC;EAE/C,MAAMgB,aAAa,GAAGzB,OAAO,CAC3B,OAAO;IACL0B,gBAAgB,EAAEpB,UAAU;IAC5BqB,aAAa,EAAEnB,OAAO;IACtBE;EACF,CAAC,CAAC,EACF,CAACJ,UAAU,EAAEE,OAAO,EAAEE,KAAK,CAC7B,CAAC;EAED,OAAOe,aAAa;AACtB,CAAC","ignoreList":[]}
@@ -24,10 +24,10 @@ export declare class WalletObserver<AssetMetadata extends IAssetAmountMetadata =
24
24
  static ADA_ASSET_ID: string;
25
25
  network: number;
26
26
  api?: Cip30WalletApi;
27
+ activeWallet?: TSupportedWalletExtensions;
27
28
  utils?: WalletObserverUtils;
28
29
  peerConnectInstance?: import("@fabianbormann/cardano-peer-connect").DAppPeerConnect;
29
30
  private _performingSync;
30
- private _activeWallet?;
31
31
  private _options;
32
32
  private _supportedExtensions;
33
33
  private _cachedMetadata;
@@ -92,12 +92,6 @@ export declare class WalletObserver<AssetMetadata extends IAssetAmountMetadata =
92
92
  icon: string | null;
93
93
  instance: import("@fabianbormann/cardano-peer-connect").DAppPeerConnect;
94
94
  }>;
95
- /**
96
- * Helper function to retrieve currently active wallet connection, if present.
97
- *
98
- * @returns {TSupportedWalletExtensions | undefined}
99
- */
100
- getActiveWallet: () => TSupportedWalletExtensions | undefined;
101
95
  /**
102
96
  * Helper function to retrieve the currently cached metadata.
103
97
  *
@@ -1 +1 @@
1
- {"version":3,"file":"WalletObserver.class.d.ts","sourceRoot":"","sources":["../../../src/classes/WalletObserver.class.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mDAAmD,CAAC;AAClG,OAAO,EAGL,KAAK,cAAc,EAEpB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAe,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAI3E,OAAO,KAAK,EAGV,mBAAmB,EACnB,qBAAqB,EACrB,0BAA0B,EAC1B,sBAAsB,EACvB,MAAM,uBAAuB,CAAC;AAO/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAErE;;;;;;;;;;;;;GAaG;AACH,qBAAa,cAAc,CACzB,aAAa,SAAS,oBAAoB,GAAG,oBAAoB,CACjE,SAAQ,mBAAmB;IAC3B,MAAM,CAAC,qBAAqB,SAAoB;IAChD,MAAM,CAAC,YAAY,SAAkB;IAC9B,OAAO,EAAE,MAAM,CAAK;IACpB,GAAG,CAAC,EAAE,cAAc,CAAC;IACrB,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAC5B,mBAAmB,CAAC,EAAE,OAAO,qCAAqC,EAAE,eAAe,CAAC;IAE3F,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,aAAa,CAAC,CAA6B;IACnD,OAAO,CAAC,QAAQ,CAAgD;IAChE,OAAO,CAAC,oBAAoB,CAO1B;IAGF,OAAO,CAAC,eAAe,CAAyC;IAEhE;;;;OAIG;gBACS,OAAO,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC;IAsDpE;;;;;;;;;;;OAWG;IACH,IAAI,QAAa,QAAQ,mBAAmB,CAAC,CA8D3C;IAEF;;;;;;OAMG;IACH,SAAS,IAAI,OAAO;IAIpB;;;;OAIG;IACH,mBAAmB,IAAI,OAAO;IAI9B;;;;;;OAMG;IACH,OAAO,kBAAyB,0BAA0B,KAAG,QAAQ,GAAG,CAAC,CA4CvE;IAEF;;;;OAIG;IACH,UAAU,QAAO,sBAAsB,CAErC;IAEF;;;;;;;OAOG;IACH,aAAa,cACA,0BAA0B,KACpC,QAAQ,IAAI,CAAC,CAkDd;IAEF,gBAAgB;;;;OAmBd;IAEF;;;;OAIG;IACH,eAAe,QAAO,0BAA0B,GAAG,SAAS,CAE1D;IAEF;;;;OAIG;IACH,sBAAsB,QAAO,IAAI,MAAM,EAAE,aAAa,CAAC,CAChC;IAEvB;;;;OAIG;IACH,sBAAsB,QAAO,0BAA0B,EAAE,CAEvD;IAEF;;;;OAIG;IACH,UAAU,QAAO,IAAI,CAKnB;IAEF;;;;OAIG;IACH,aAAa,QAAa,QAAQ,iBAAiB,aAAa,CAAC,CAAC,CA+ChE;IAEF;;;;OAIG;IACH,UAAU,QAAa,QAAQ,MAAM,CAAC,CAepC;IAEF;;;;OAIG;IACH,gBAAgB,QAAa,QAAQ,MAAM,EAAE,CAAC,CAwB5C;IAEF;;;;OAIG;IACH,kBAAkB,QAAa,QAAQ,MAAM,EAAE,CAAC,CAwB9C;IAEF;;;;OAIG;IACH,QAAQ,QAAa,QAAQ,wBAAwB,EAAE,GAAG,SAAS,CAAC,CA6BlE;IAEF;;;;OAIG;IACH,aAAa,QAAa,QAAQ,wBAAwB,EAAE,GAAG,SAAS,CAAC,CAsCvE;IAEF;;;;;;OAMG;IACH,OAAO,CAAC,2BAA2B,CAkDjC;IAEF;;;;OAIG;IACI,wBAAwB,EAAE,qBAAqB,CAAC,aAAa,CAAC,CAWjE;IAEJ;;;;OAIG;IACU,QAAQ,IAAI,OAAO,CAAC,mBAAmB,CAAC;CAOtD"}
1
+ {"version":3,"file":"WalletObserver.class.d.ts","sourceRoot":"","sources":["../../../src/classes/WalletObserver.class.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mDAAmD,CAAC;AAClG,OAAO,EAGL,KAAK,cAAc,EAEpB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAe,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAI3E,OAAO,KAAK,EAGV,mBAAmB,EACnB,qBAAqB,EACrB,0BAA0B,EAC1B,sBAAsB,EACvB,MAAM,uBAAuB,CAAC;AAO/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAErE;;;;;;;;;;;;;GAaG;AACH,qBAAa,cAAc,CACzB,aAAa,SAAS,oBAAoB,GAAG,oBAAoB,CACjE,SAAQ,mBAAmB;IAC3B,MAAM,CAAC,qBAAqB,SAAoB;IAChD,MAAM,CAAC,YAAY,SAAkB;IAC9B,OAAO,EAAE,MAAM,CAAK;IACpB,GAAG,CAAC,EAAE,cAAc,CAAC;IACrB,YAAY,CAAC,EAAE,0BAA0B,CAAC;IAC1C,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAC5B,mBAAmB,CAAC,EAAE,OAAO,qCAAqC,EAAE,eAAe,CAAC;IAE3F,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAgD;IAChE,OAAO,CAAC,oBAAoB,CAO1B;IAGF,OAAO,CAAC,eAAe,CAAyC;IAEhE;;;;OAIG;gBACS,OAAO,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC;IAsDpE;;;;;;;;;;;OAWG;IACH,IAAI,QAAa,QAAQ,mBAAmB,CAAC,CA8D3C;IAEF;;;;;;OAMG;IACH,SAAS,IAAI,OAAO;IAIpB;;;;OAIG;IACH,mBAAmB,IAAI,OAAO;IAI9B;;;;;;OAMG;IACH,OAAO,kBAAyB,0BAA0B,KAAG,QAAQ,GAAG,CAAC,CA4CvE;IAEF;;;;OAIG;IACH,UAAU,QAAO,sBAAsB,CAErC;IAEF;;;;;;;OAOG;IACH,aAAa,cACA,0BAA0B,KACpC,QAAQ,IAAI,CAAC,CAkDd;IAEF,gBAAgB;;;;OAmBd;IAEF;;;;OAIG;IACH,sBAAsB,QAAO,IAAI,MAAM,EAAE,aAAa,CAAC,CAChC;IAEvB;;;;OAIG;IACH,sBAAsB,QAAO,0BAA0B,EAAE,CAEvD;IAEF;;;;OAIG;IACH,UAAU,QAAO,IAAI,CAKnB;IAEF;;;;OAIG;IACH,aAAa,QAAa,QAAQ,iBAAiB,aAAa,CAAC,CAAC,CA+ChE;IAEF;;;;OAIG;IACH,UAAU,QAAa,QAAQ,MAAM,CAAC,CAepC;IAEF;;;;OAIG;IACH,gBAAgB,QAAa,QAAQ,MAAM,EAAE,CAAC,CAwB5C;IAEF;;;;OAIG;IACH,kBAAkB,QAAa,QAAQ,MAAM,EAAE,CAAC,CAwB9C;IAEF;;;;OAIG;IACH,QAAQ,QAAa,QAAQ,wBAAwB,EAAE,GAAG,SAAS,CAAC,CA6BlE;IAEF;;;;OAIG;IACH,aAAa,QAAa,QAAQ,wBAAwB,EAAE,GAAG,SAAS,CAAC,CAsCvE;IAEF;;;;;;OAMG;IACH,OAAO,CAAC,2BAA2B,CAkDjC;IAEF;;;;OAIG;IACI,wBAAwB,EAAE,qBAAqB,CAAC,aAAa,CAAC,CAWjE;IAEJ;;;;OAIG;IACU,QAAQ,IAAI,OAAO,CAAC,mBAAmB,CAAC;CAOtD"}
@@ -1 +1 @@
1
- {"version":3,"file":"useProviderRefreshInterval.d.ts","sourceRoot":"","sources":["../../../../../../src/react-components/WalletObserverProvider/hooks/effects/useProviderRefreshInterval.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAE7E;;;;;;;;GAQG;AACH,eAAO,MAAM,0BAA0B,aAC3B,cAAc,cACZ,MAAM,QAAQ,IAAI,CAAC,oBACb,MAAM,SAmBzB,CAAC"}
1
+ {"version":3,"file":"useProviderRefreshInterval.d.ts","sourceRoot":"","sources":["../../../../../../src/react-components/WalletObserverProvider/hooks/effects/useProviderRefreshInterval.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAE7E;;;;;;;;GAQG;AACH,eAAO,MAAM,0BAA0B,aAC3B,cAAc,cACZ,MAAM,QAAQ,IAAI,CAAC,oBACb,MAAM,SAazB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useWalletObserverState.d.ts","sourceRoot":"","sources":["../../../../../src/react-components/WalletObserverProvider/hooks/useWalletObserverState.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mDAAmD,CAAC;AAClG,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,OAAO,EACL,eAAe,EACf,0BAA0B,EAC3B,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAE1E,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAEnE;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,aAAc,cAAc;;;;;;;;;;;;;;;;;;;;;;;4BA6G5C,0BAA0B;;;CAyC5C,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,MAAM,mBAAmB,CAAC;AAGhD,OAAO,EACL,eAAe,EACf,0BAA0B,EAC3B,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAE1E,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAEnE;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,aAAc,cAAc;;;;;;;;;;;;;;;;;;;;;;;4BA6G5C,0BAA0B;;;CAsC5C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useWalletLoadingState.d.ts","sourceRoot":"","sources":["../../../../src/react-components/hooks/useWalletLoadingState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAMzD,eAAO,MAAM,qBAAqB;;;;CAmFjC,CAAC"}
1
+ {"version":3,"file":"useWalletLoadingState.d.ts","sourceRoot":"","sources":["../../../../src/react-components/hooks/useWalletLoadingState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAMzD,eAAO,MAAM,qBAAqB;;;;CA2EjC,CAAC"}