@sundaeswap/wallet-lite 0.0.33 → 0.0.34

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 (25) hide show
  1. package/dist/cjs/classes/WalletObserver.class.js +2 -10
  2. package/dist/cjs/classes/WalletObserver.class.js.map +1 -1
  3. package/dist/cjs/react-components/WalletObserverProvider/WalletObserverProvider.js +7 -0
  4. package/dist/cjs/react-components/WalletObserverProvider/WalletObserverProvider.js.map +1 -1
  5. package/dist/cjs/react-components/WalletObserverProvider/hooks/useWalletObserverState.js +11 -4
  6. package/dist/cjs/react-components/WalletObserverProvider/hooks/useWalletObserverState.js.map +1 -1
  7. package/dist/cjs/react-components/hooks/useWalletLoadingState.js +13 -5
  8. package/dist/cjs/react-components/hooks/useWalletLoadingState.js.map +1 -1
  9. package/dist/esm/classes/WalletObserver.class.js +2 -10
  10. package/dist/esm/classes/WalletObserver.class.js.map +1 -1
  11. package/dist/esm/react-components/WalletObserverProvider/WalletObserverProvider.js +8 -1
  12. package/dist/esm/react-components/WalletObserverProvider/WalletObserverProvider.js.map +1 -1
  13. package/dist/esm/react-components/WalletObserverProvider/hooks/useWalletObserverState.js +4 -3
  14. package/dist/esm/react-components/WalletObserverProvider/hooks/useWalletObserverState.js.map +1 -1
  15. package/dist/esm/react-components/hooks/useWalletLoadingState.js +5 -5
  16. package/dist/esm/react-components/hooks/useWalletLoadingState.js.map +1 -1
  17. package/dist/types/classes/WalletObserver.class.d.ts.map +1 -1
  18. package/dist/types/react-components/WalletObserverProvider/WalletObserverProvider.d.ts.map +1 -1
  19. package/dist/types/react-components/WalletObserverProvider/hooks/useWalletObserverState.d.ts.map +1 -1
  20. package/dist/types/tsconfig.build.tsbuildinfo +1 -1
  21. package/package.json +1 -1
  22. package/src/classes/WalletObserver.class.ts +3 -15
  23. package/src/react-components/WalletObserverProvider/WalletObserverProvider.tsx +14 -1
  24. package/src/react-components/WalletObserverProvider/hooks/useWalletObserverState.ts +4 -3
  25. package/src/react-components/hooks/useWalletLoadingState.ts +5 -5
@@ -150,12 +150,12 @@ var WalletObserver = exports.WalletObserver = /*#__PURE__*/function (_WalletObse
150
150
  collateral: newCollateral,
151
151
  network: newNetwork
152
152
  };
153
- _this.dispatch(_events.EWalletObserverEvents.SYNCING_WALLET_END, result);
154
- _this._performingSync = false;
155
153
  end = performance.now();
156
154
  if (_this._options.debug) {
157
155
  console.log("sync: ".concat(end - start, "ms"));
158
156
  }
157
+ _this.dispatch(_events.EWalletObserverEvents.SYNCING_WALLET_END, result);
158
+ _this._performingSync = false;
159
159
  return _context.abrupt("return", result);
160
160
  case 44:
161
161
  _context.prev = 44;
@@ -817,14 +817,6 @@ var WalletObserver = exports.WalletObserver = /*#__PURE__*/function (_WalletObse
817
817
  if (!_this._options.persistence) {
818
818
  return _possibleConstructorReturn(_this);
819
819
  }
820
- var savedWallet = window.localStorage.getItem(WalletObserver.PERSISTENCE_CACHE_KEY);
821
- if (!savedWallet) {
822
- return _possibleConstructorReturn(_this);
823
- }
824
-
825
- // Init connection
826
- var _seed = JSON.parse(savedWallet);
827
- _this.connectWallet(_seed.activeWallet);
828
820
  return _this;
829
821
  }
830
822
  _inherits(WalletObserver, _WalletObserverEvent);
@@ -1 +1 @@
1
- {"version":3,"file":"WalletObserver.class.js","names":["_dappConnector","require","_asset","_merge","_interopRequireDefault","_events","_assets","_getLibs","_WalletBalanceMapClass","_WalletObserverEvent2","_WalletObserverUtilsClass","e","__esModule","_typeof","o","Symbol","iterator","constructor","prototype","_createForOfIteratorHelper","r","t","Array","isArray","_unsupportedIterableToArray","length","_n","F","s","n","done","value","f","TypeError","a","u","call","next","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","from","_arrayLikeToArray","_regeneratorRuntime","Object","hasOwnProperty","defineProperty","i","c","asyncIterator","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","h","l","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","resolve","__await","then","callInvokeWithMethodAndArg","Error","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","resultName","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","displayName","isGeneratorFunction","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","_catch","delegateYield","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","toString","test","asyncGeneratorStep","_asyncToGenerator","arguments","apply","_next","_throw","_classCallCheck","_defineProperties","_toPropertyKey","key","_createClass","_callSuper","_getPrototypeOf","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","_assertThisInitialized","ReferenceError","Boolean","valueOf","bind","_inherits","_setPrototypeOf","_defineProperty","_toPrimitive","toPrimitive","String","Number","WalletObserver","exports","_WalletObserverEvent","options","_this","Map","_callee","start","newNetwork","_yield$Promise$all","_yield$Promise$all2","newBalanceMap","newUsedAddresses","newUnusedAddresses","newOutputs","newCollateral","result","end","_callee$","_context","api","performance","now","_performingSync","dispatch","EWalletObserverEvents","SYNCING_WALLET_START","getNetwork","t0","syncApi","t1","SYNCING_WALLET_END","all","getBalanceMap","getUsedAddresses","getUnusedAddresses","getUtxos","getCollateral","balanceMap","usedAddresses","unusedAddresses","utxos","collateral","network","_options","debug","console","log","concat","t2","_ref2","_callee2","activeWallet","selectedWallet","attempts","shouldContinue","_window$cardano","_callee2$","_context2","window","cardano","enable","getNetworkId","message","code","APIErrorCode","Refused","undefined","res","setTimeout","_x","_ref3","_callee3","extension","_window$cardano2","extensionObject","_this$peerConnectInst","_window$cardano3","seed","_callee3$","_context3","CONNECT_WALLET_START","includes","peerConnectInstance","shutdownServer","connectTimeout","persistence","localStorage","setItem","PERSISTENCE_CACHE_KEY","JSON","stringify","CONNECT_WALLET_END","_x2","_callee4","_yield$getPeerConnect","DAppPeerConnect","_callee4$","_context4","getPeerConnect","peerConnectArgs","dAppInfo","icon","getIdenticon","instance","_cachedMetadata","_supportedExtensions","removeItem","DISCONNECT","_callee5","_data$multiasset$keys","_data$multiasset","_data$multiasset$entr","_data$multiasset2","_yield$Promise$all3","_yield$Promise$all4","cbor","Serialization","typedHex","data","multiassetKeys","metadata","multiassetEntries","_iterator","_step","_step$value","id","amount","_callee5$","_context5","GET_BALANCE_MAP_START","getBalance","getCardanoCore","getCardanoUtil","Value","fromCbor","multiasset","__metadataResolverWithCache","ADA_ASSET_ID","WalletBalanceMap","set","AssetAmount","coin","get","entries","normalizeAssetIdWithDot","err","GET_BALANCE_MAP_END","_callee6","val","_callee6$","_context6","_callee7","_yield$Promise$all5","_yield$Promise$all6","Cardano","_callee7$","_context7","map","Address","fromBytes","toBech32","_callee8","_yield$Promise$all7","_yield$Promise$all8","_callee8$","_context8","_callee9","_yield$Promise$all9","_yield$Promise$all10","_callee9$","_context9","txOutput","TransactionUnspentOutput","input","output","_callee11","_yield$Promise$all11","_yield$Promise$all12","_callee11$","_context11","_callee10","_this$api","_this$api2","funcCall","_callee10$","_context10","experimental","_ref12","_callee12","assetIds","cachedKeys","inputKeys","_end","newMetadata","_callee12$","_context12","Set","size","every","has","metadataResolver","isAdaAsset","fallbackMetadataResolver","_x3","_ref13","_callee13","_callee13$","_context13","assetId","decimals","_x4","merge","url","location","hostname","onApiEject","address","_options$peerConnectA","_options$peerConnectA2","disconnect","onApiInject","_options$peerConnectA3","_options$peerConnectA4","connectWallet","verifyConnection","walletInfo","callback","_walletInfo$requestAu","requestAutoconnect","useWalletDiscovery","announce","savedWallet","getItem","parse","isSyncing","hasActiveConnection","_getUtils","_callee14","_callee14$","_context14","utils","WalletObserverUtils","getUtils","WalletObserverEvent"],"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 this.dispatch(EWalletObserverEvents.SYNCING_WALLET_END);\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 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 attempts = 0;\n let shouldContinue = true;\n\n while (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 shouldContinue = false;\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":[]}
1
+ {"version":3,"file":"WalletObserver.class.js","names":["_dappConnector","require","_asset","_merge","_interopRequireDefault","_events","_assets","_getLibs","_WalletBalanceMapClass","_WalletObserverEvent2","_WalletObserverUtilsClass","e","__esModule","_typeof","o","Symbol","iterator","constructor","prototype","_createForOfIteratorHelper","r","t","Array","isArray","_unsupportedIterableToArray","length","_n","F","s","n","done","value","f","TypeError","a","u","call","next","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","from","_arrayLikeToArray","_regeneratorRuntime","Object","hasOwnProperty","defineProperty","i","c","asyncIterator","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","h","l","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","resolve","__await","then","callInvokeWithMethodAndArg","Error","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","resultName","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","displayName","isGeneratorFunction","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","_catch","delegateYield","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","toString","test","asyncGeneratorStep","_asyncToGenerator","arguments","apply","_next","_throw","_classCallCheck","_defineProperties","_toPropertyKey","key","_createClass","_callSuper","_getPrototypeOf","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","_assertThisInitialized","ReferenceError","Boolean","valueOf","bind","_inherits","_setPrototypeOf","_defineProperty","_toPrimitive","toPrimitive","String","Number","WalletObserver","exports","_WalletObserverEvent","options","_this","Map","_callee","start","newNetwork","_yield$Promise$all","_yield$Promise$all2","newBalanceMap","newUsedAddresses","newUnusedAddresses","newOutputs","newCollateral","result","end","_callee$","_context","api","performance","now","_performingSync","dispatch","EWalletObserverEvents","SYNCING_WALLET_START","getNetwork","t0","syncApi","t1","SYNCING_WALLET_END","all","getBalanceMap","getUsedAddresses","getUnusedAddresses","getUtxos","getCollateral","balanceMap","usedAddresses","unusedAddresses","utxos","collateral","network","_options","debug","console","log","concat","t2","_ref2","_callee2","activeWallet","selectedWallet","attempts","shouldContinue","_window$cardano","_callee2$","_context2","window","cardano","enable","getNetworkId","message","code","APIErrorCode","Refused","undefined","res","setTimeout","_x","_ref3","_callee3","extension","_window$cardano2","extensionObject","_this$peerConnectInst","_window$cardano3","seed","_callee3$","_context3","CONNECT_WALLET_START","includes","peerConnectInstance","shutdownServer","connectTimeout","persistence","localStorage","setItem","PERSISTENCE_CACHE_KEY","JSON","stringify","CONNECT_WALLET_END","_x2","_callee4","_yield$getPeerConnect","DAppPeerConnect","_callee4$","_context4","getPeerConnect","peerConnectArgs","dAppInfo","icon","getIdenticon","instance","_cachedMetadata","_supportedExtensions","removeItem","DISCONNECT","_callee5","_data$multiasset$keys","_data$multiasset","_data$multiasset$entr","_data$multiasset2","_yield$Promise$all3","_yield$Promise$all4","cbor","Serialization","typedHex","data","multiassetKeys","metadata","multiassetEntries","_iterator","_step","_step$value","id","amount","_callee5$","_context5","GET_BALANCE_MAP_START","getBalance","getCardanoCore","getCardanoUtil","Value","fromCbor","multiasset","__metadataResolverWithCache","ADA_ASSET_ID","WalletBalanceMap","set","AssetAmount","coin","get","entries","normalizeAssetIdWithDot","err","GET_BALANCE_MAP_END","_callee6","val","_callee6$","_context6","_callee7","_yield$Promise$all5","_yield$Promise$all6","Cardano","_callee7$","_context7","map","Address","fromBytes","toBech32","_callee8","_yield$Promise$all7","_yield$Promise$all8","_callee8$","_context8","_callee9","_yield$Promise$all9","_yield$Promise$all10","_callee9$","_context9","txOutput","TransactionUnspentOutput","input","output","_callee11","_yield$Promise$all11","_yield$Promise$all12","_callee11$","_context11","_callee10","_this$api","_this$api2","funcCall","_callee10$","_context10","experimental","_ref12","_callee12","assetIds","cachedKeys","inputKeys","_end","newMetadata","_callee12$","_context12","Set","size","every","has","metadataResolver","isAdaAsset","fallbackMetadataResolver","_x3","_ref13","_callee13","_callee13$","_context13","assetId","decimals","_x4","merge","url","location","hostname","onApiEject","address","_options$peerConnectA","_options$peerConnectA2","disconnect","onApiInject","_options$peerConnectA3","_options$peerConnectA4","connectWallet","verifyConnection","walletInfo","callback","_walletInfo$requestAu","requestAutoconnect","useWalletDiscovery","announce","isSyncing","hasActiveConnection","_getUtils","_callee14","_callee14$","_context14","utils","WalletObserverUtils","getUtils","WalletObserverEvent"],"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\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 const end = performance.now();\n if (this._options.debug) {\n console.log(`sync: ${end - start}ms`);\n }\n\n this.dispatch(EWalletObserverEvents.SYNCING_WALLET_END, result);\n this._performingSync = false;\n return result;\n } catch (e) {\n this._performingSync = false;\n this.dispatch(EWalletObserverEvents.SYNCING_WALLET_END);\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 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 attempts = 0;\n let shouldContinue = true;\n\n while (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 shouldContinue = false;\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":[]}
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports["default"] = void 0;
7
7
  var _react = require("react");
8
+ var _WalletObserverClass = require("../../classes/WalletObserver.class.js");
8
9
  var _index = require("../contexts/observer/index.js");
9
10
  var _useDerivedState = require("./hooks/effects/useDerivedState.js");
10
11
  var _useProviderEventListeners = require("./hooks/effects/useProviderEventListeners.js");
@@ -45,6 +46,12 @@ var WalletObserverProvider = function WalletObserverProvider(_ref) {
45
46
  })
46
47
  };
47
48
  }, [options, state, derivedState]);
49
+ (0, _react.useEffect)(function () {
50
+ var wallet = window.localStorage.getItem(_WalletObserverClass.WalletObserver.PERSISTENCE_CACHE_KEY);
51
+ if (wallet) {
52
+ state.connectWallet(JSON.parse(wallet).activeWallet);
53
+ }
54
+ }, []);
48
55
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.WalletObserverContext.Provider, {
49
56
  value: contextValue,
50
57
  children: children
@@ -1 +1 @@
1
- {"version":3,"file":"WalletObserverProvider.js","names":["_react","require","_index","_useDerivedState","_useProviderEventListeners","_useProviderRefreshInterval","_useProviderWalletObserverRef","_useWalletObserverState","_jsxRuntime","_typeof","o","Symbol","iterator","constructor","prototype","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","toPrimitive","call","TypeError","String","Number","WalletObserverProvider","_ref","children","options","observerRef","useProviderWalletObserverRef","observerOptions","state","useWalletObserverState","current","useProviderEventListeners","useProviderRefreshInterval","syncWallet","refreshInterval","derivedState","useDerivedState","usedAddresses","contextValue","useMemo","observer","jsx","WalletObserverContext","Provider","_default","exports"],"sources":["../../../../src/react-components/WalletObserverProvider/WalletObserverProvider.tsx"],"sourcesContent":["import { FC, PropsWithChildren, useMemo } from \"react\";\n\nimport {\n IWalletObserverProviderProps,\n IWalletObserverState,\n WalletObserverContext,\n} from \"../contexts/observer/index.js\";\nimport { useDerivedState } from \"./hooks/effects/useDerivedState.js\";\nimport { useProviderEventListeners } from \"./hooks/effects/useProviderEventListeners.js\";\nimport { useProviderRefreshInterval } from \"./hooks/effects/useProviderRefreshInterval.js\";\nimport { useProviderWalletObserverRef } from \"./hooks/useProviderWalletObserverRef.js\";\nimport { useWalletObserverState } from \"./hooks/useWalletObserverState.js\";\n\n/**\n * The main context provider component. This handles setting up all the initial\n * state, handlers, and side effects with a new WalletObserver class.\n *\n * @param {IWalletObserverProviderProps} [options]\n * @returns {FC<PropsWithChildren<IWalletObserverProviderProps>>}\n */\nconst WalletObserverProvider: FC<\n PropsWithChildren<IWalletObserverProviderProps>\n> = ({ children, options }) => {\n const observerRef = useProviderWalletObserverRef(options?.observerOptions);\n const state = useWalletObserverState(observerRef.current);\n\n useProviderEventListeners(observerRef.current, state);\n useProviderRefreshInterval(\n observerRef.current,\n state.syncWallet,\n options?.refreshInterval\n );\n\n const derivedState = useDerivedState(observerRef.current, {\n usedAddresses: state.usedAddresses,\n });\n\n // Memoize the context value\n const contextValue: IWalletObserverState = useMemo(\n () => ({\n observerRef: observerRef,\n refreshInterval: options?.refreshInterval || 30000,\n state: {\n ...state,\n ...derivedState,\n observer: observerRef.current,\n },\n }),\n [options, state, derivedState]\n );\n\n return (\n <WalletObserverContext.Provider value={contextValue}>\n {children}\n </WalletObserverContext.Provider>\n );\n};\n\nexport default WalletObserverProvider;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"WalletObserverProvider.js","names":["_react","require","_WalletObserverClass","_index","_useDerivedState","_useProviderEventListeners","_useProviderRefreshInterval","_useProviderWalletObserverRef","_useWalletObserverState","_jsxRuntime","_typeof","o","Symbol","iterator","constructor","prototype","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","toPrimitive","call","TypeError","String","Number","WalletObserverProvider","_ref","children","options","observerRef","useProviderWalletObserverRef","observerOptions","state","useWalletObserverState","current","useProviderEventListeners","useProviderRefreshInterval","syncWallet","refreshInterval","derivedState","useDerivedState","usedAddresses","contextValue","useMemo","observer","useEffect","wallet","window","localStorage","getItem","WalletObserver","PERSISTENCE_CACHE_KEY","connectWallet","JSON","parse","activeWallet","jsx","WalletObserverContext","Provider","_default","exports"],"sources":["../../../../src/react-components/WalletObserverProvider/WalletObserverProvider.tsx"],"sourcesContent":["import { FC, PropsWithChildren, useEffect, useMemo } from \"react\";\n\nimport { TSupportedWalletExtensions } from \"../../@types/observer.js\";\nimport { WalletObserver } from \"../../classes/WalletObserver.class.js\";\nimport {\n IWalletObserverProviderProps,\n IWalletObserverState,\n WalletObserverContext,\n} from \"../contexts/observer/index.js\";\nimport { useDerivedState } from \"./hooks/effects/useDerivedState.js\";\nimport { useProviderEventListeners } from \"./hooks/effects/useProviderEventListeners.js\";\nimport { useProviderRefreshInterval } from \"./hooks/effects/useProviderRefreshInterval.js\";\nimport { useProviderWalletObserverRef } from \"./hooks/useProviderWalletObserverRef.js\";\nimport { useWalletObserverState } from \"./hooks/useWalletObserverState.js\";\n\n/**\n * The main context provider component. This handles setting up all the initial\n * state, handlers, and side effects with a new WalletObserver class.\n *\n * @param {IWalletObserverProviderProps} [options]\n * @returns {FC<PropsWithChildren<IWalletObserverProviderProps>>}\n */\nconst WalletObserverProvider: FC<\n PropsWithChildren<IWalletObserverProviderProps>\n> = ({ children, options }) => {\n const observerRef = useProviderWalletObserverRef(options?.observerOptions);\n const state = useWalletObserverState(observerRef.current);\n\n useProviderEventListeners(observerRef.current, state);\n useProviderRefreshInterval(\n observerRef.current,\n state.syncWallet,\n options?.refreshInterval\n );\n\n const derivedState = useDerivedState(observerRef.current, {\n usedAddresses: state.usedAddresses,\n });\n\n // Memoize the context value\n const contextValue: IWalletObserverState = useMemo(\n () => ({\n observerRef: observerRef,\n refreshInterval: options?.refreshInterval || 30000,\n state: {\n ...state,\n ...derivedState,\n observer: observerRef.current,\n },\n }),\n [options, state, derivedState]\n );\n\n useEffect(() => {\n const wallet: TSupportedWalletExtensions | null =\n window.localStorage.getItem(\n WalletObserver.PERSISTENCE_CACHE_KEY\n ) as TSupportedWalletExtensions;\n\n if (wallet) {\n state.connectWallet(JSON.parse(wallet).activeWallet);\n }\n }, []);\n\n return (\n <WalletObserverContext.Provider value={contextValue}>\n {children}\n </WalletObserverContext.Provider>\n );\n};\n\nexport default WalletObserverProvider;\n"],"mappings":"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","ignoreList":[]}
@@ -170,13 +170,20 @@ var useWalletObserverState = exports.useWalletObserverState = function useWallet
170
170
  while (1) switch (_context2.prev = _context2.next) {
171
171
  case 0:
172
172
  if (observer.hasActiveConnection() && wallet !== observer.activeWallet) {
173
- setSwitching(true);
173
+ setSwitching(function () {
174
+ return true;
175
+ });
174
176
  }
175
177
  _context2.next = 3;
176
- return observer.connectWallet(wallet).then(syncWallet);
178
+ return observer.connectWallet(wallet);
177
179
  case 3:
178
- setSwitching(false);
179
- case 4:
180
+ _context2.next = 5;
181
+ return syncWallet();
182
+ case 5:
183
+ setSwitching(function () {
184
+ return false;
185
+ });
186
+ case 6:
180
187
  case "end":
181
188
  return _context2.stop();
182
189
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useWalletObserverState.js","names":["_asset","require","_react","_WalletAssetMapClass","_WalletBalanceMapClass","_WalletObserverClass","_comparisons","_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","_catch","delegateYield","asyncGeneratorStep","_asyncToGenerator","arguments","apply","_next","_throw","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","_arrayLikeToArray","toString","Array","from","test","isArray","useWalletObserverState","exports","observer","_useState","useState","_useState2","activeWallet","setActiveWallet","_useState3","AssetAmount","_useState4","adaBalance","setAdaBalance","_useState5","WalletAssetMap","_useState6","handleMetadata","setHandleMetadata","_useState7","WalletBalanceMap","_useState8","balance","setBalance","_useState9","_useState10","network","setNetwork","_useState11","_useState12","usedAddresses","setUsedAddresses","_useState13","_useState14","unusedAddresses","setUnusedAddresses","_useState15","_useState16","utxos","setUtxos","_useState17","_useState18","collateral","setCollateral","_useState19","_useState20","isCip45","setIsCip45","_useState21","_useState22","switching","setSwitching","disconnect","useCallback","undefined","syncWallet","_callee","newWallet","freshData","newAdaBalance","_callee$","_context","isSyncing","hasActiveConnection","sync","prevWallet","balanceMap","get","WalletObserver","ADA_ASSET_ID","prevBalance","amount","areAssetMapsEqual","prevValue","JSON","stringify","_freshData$utxos","prevValueRep","map","toCbor","newValueRep","_freshData$utxos2","includes","connectWallet","_ref2","_callee2","wallet","_callee2$","_context2","_x","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":";;;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAMA,IAAAE,oBAAA,GAAAF,OAAA;AACA,IAAAG,sBAAA,GAAAH,OAAA;AACA,IAAAI,oBAAA,GAAAJ,OAAA;AACA,IAAAK,YAAA,GAAAL,OAAA;AAAkE,SAAAM,oBAAA,kBAVlE,qJAAAA,mBAAA,YAAAA,oBAAA,WAAAC,CAAA,SAAAC,CAAA,EAAAD,CAAA,OAAAE,CAAA,GAAAC,MAAA,CAAAC,SAAA,EAAAC,CAAA,GAAAH,CAAA,CAAAI,cAAA,EAAAC,CAAA,GAAAJ,MAAA,CAAAK,cAAA,cAAAP,CAAA,EAAAD,CAAA,EAAAE,CAAA,IAAAD,CAAA,CAAAD,CAAA,IAAAE,CAAA,CAAAO,KAAA,KAAAC,CAAA,wBAAAC,MAAA,GAAAA,MAAA,OAAAC,CAAA,GAAAF,CAAA,CAAAG,QAAA,kBAAAC,CAAA,GAAAJ,CAAA,CAAAK,aAAA,uBAAAC,CAAA,GAAAN,CAAA,CAAAO,WAAA,8BAAAC,OAAAjB,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAC,MAAA,CAAAK,cAAA,CAAAP,CAAA,EAAAD,CAAA,IAAAS,KAAA,EAAAP,CAAA,EAAAiB,UAAA,MAAAC,YAAA,MAAAC,QAAA,SAAApB,CAAA,CAAAD,CAAA,WAAAkB,MAAA,mBAAAjB,CAAA,IAAAiB,MAAA,YAAAA,OAAAjB,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAD,CAAA,CAAAD,CAAA,IAAAE,CAAA,gBAAAoB,KAAArB,CAAA,EAAAD,CAAA,EAAAE,CAAA,EAAAG,CAAA,QAAAK,CAAA,GAAAV,CAAA,IAAAA,CAAA,CAAAI,SAAA,YAAAmB,SAAA,GAAAvB,CAAA,GAAAuB,SAAA,EAAAX,CAAA,GAAAT,MAAA,CAAAqB,MAAA,CAAAd,CAAA,CAAAN,SAAA,GAAAU,CAAA,OAAAW,OAAA,CAAApB,CAAA,gBAAAE,CAAA,CAAAK,CAAA,eAAAH,KAAA,EAAAiB,gBAAA,CAAAzB,CAAA,EAAAC,CAAA,EAAAY,CAAA,MAAAF,CAAA,aAAAe,SAAA1B,CAAA,EAAAD,CAAA,EAAAE,CAAA,mBAAA0B,IAAA,YAAAC,GAAA,EAAA5B,CAAA,CAAA6B,IAAA,CAAA9B,CAAA,EAAAE,CAAA,cAAAD,CAAA,aAAA2B,IAAA,WAAAC,GAAA,EAAA5B,CAAA,QAAAD,CAAA,CAAAsB,IAAA,GAAAA,IAAA,MAAAS,CAAA,qBAAAC,CAAA,qBAAAC,CAAA,gBAAAC,CAAA,gBAAAC,CAAA,gBAAAZ,UAAA,cAAAa,kBAAA,cAAAC,2BAAA,SAAAC,CAAA,OAAApB,MAAA,CAAAoB,CAAA,EAAA1B,CAAA,qCAAA2B,CAAA,GAAApC,MAAA,CAAAqC,cAAA,EAAAC,CAAA,GAAAF,CAAA,IAAAA,CAAA,CAAAA,CAAA,CAAAG,MAAA,QAAAD,CAAA,IAAAA,CAAA,KAAAvC,CAAA,IAAAG,CAAA,CAAAyB,IAAA,CAAAW,CAAA,EAAA7B,CAAA,MAAA0B,CAAA,GAAAG,CAAA,OAAAE,CAAA,GAAAN,0BAAA,CAAAjC,SAAA,GAAAmB,SAAA,CAAAnB,SAAA,GAAAD,MAAA,CAAAqB,MAAA,CAAAc,CAAA,YAAAM,sBAAA3C,CAAA,gCAAA4C,OAAA,WAAA7C,CAAA,IAAAkB,MAAA,CAAAjB,CAAA,EAAAD,CAAA,YAAAC,CAAA,gBAAA6C,OAAA,CAAA9C,CAAA,EAAAC,CAAA,sBAAA8C,cAAA9C,CAAA,EAAAD,CAAA,aAAAgD,OAAA9C,CAAA,EAAAK,CAAA,EAAAG,CAAA,EAAAE,CAAA,QAAAE,CAAA,GAAAa,QAAA,CAAA1B,CAAA,CAAAC,CAAA,GAAAD,CAAA,EAAAM,CAAA,mBAAAO,CAAA,CAAAc,IAAA,QAAAZ,CAAA,GAAAF,CAAA,CAAAe,GAAA,EAAAE,CAAA,GAAAf,CAAA,CAAAP,KAAA,SAAAsB,CAAA,gBAAAkB,OAAA,CAAAlB,CAAA,KAAA1B,CAAA,CAAAyB,IAAA,CAAAC,CAAA,eAAA/B,CAAA,CAAAkD,OAAA,CAAAnB,CAAA,CAAAoB,OAAA,EAAAC,IAAA,WAAAnD,CAAA,IAAA+C,MAAA,SAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,gBAAAX,CAAA,IAAA+C,MAAA,UAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,QAAAZ,CAAA,CAAAkD,OAAA,CAAAnB,CAAA,EAAAqB,IAAA,WAAAnD,CAAA,IAAAe,CAAA,CAAAP,KAAA,GAAAR,CAAA,EAAAS,CAAA,CAAAM,CAAA,gBAAAf,CAAA,WAAA+C,MAAA,UAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,SAAAA,CAAA,CAAAE,CAAA,CAAAe,GAAA,SAAA3B,CAAA,EAAAK,CAAA,oBAAAE,KAAA,WAAAA,MAAAR,CAAA,EAAAI,CAAA,aAAAgD,2BAAA,eAAArD,CAAA,WAAAA,CAAA,EAAAE,CAAA,IAAA8C,MAAA,CAAA/C,CAAA,EAAAI,CAAA,EAAAL,CAAA,EAAAE,CAAA,gBAAAA,CAAA,GAAAA,CAAA,GAAAA,CAAA,CAAAkD,IAAA,CAAAC,0BAAA,EAAAA,0BAAA,IAAAA,0BAAA,qBAAA3B,iBAAA1B,CAAA,EAAAE,CAAA,EAAAG,CAAA,QAAAE,CAAA,GAAAwB,CAAA,mBAAArB,CAAA,EAAAE,CAAA,QAAAL,CAAA,KAAA0B,CAAA,QAAAqB,KAAA,sCAAA/C,CAAA,KAAA2B,CAAA,oBAAAxB,CAAA,QAAAE,CAAA,WAAAH,KAAA,EAAAR,CAAA,EAAAsD,IAAA,eAAAlD,CAAA,CAAAmD,MAAA,GAAA9C,CAAA,EAAAL,CAAA,CAAAwB,GAAA,GAAAjB,CAAA,UAAAE,CAAA,GAAAT,CAAA,CAAAoD,QAAA,MAAA3C,CAAA,QAAAE,CAAA,GAAA0C,mBAAA,CAAA5C,CAAA,EAAAT,CAAA,OAAAW,CAAA,QAAAA,CAAA,KAAAmB,CAAA,mBAAAnB,CAAA,qBAAAX,CAAA,CAAAmD,MAAA,EAAAnD,CAAA,CAAAsD,IAAA,GAAAtD,CAAA,CAAAuD,KAAA,GAAAvD,CAAA,CAAAwB,GAAA,sBAAAxB,CAAA,CAAAmD,MAAA,QAAAjD,CAAA,KAAAwB,CAAA,QAAAxB,CAAA,GAAA2B,CAAA,EAAA7B,CAAA,CAAAwB,GAAA,EAAAxB,CAAA,CAAAwD,iBAAA,CAAAxD,CAAA,CAAAwB,GAAA,uBAAAxB,CAAA,CAAAmD,MAAA,IAAAnD,CAAA,CAAAyD,MAAA,WAAAzD,CAAA,CAAAwB,GAAA,GAAAtB,CAAA,GAAA0B,CAAA,MAAAK,CAAA,GAAAX,QAAA,CAAA3B,CAAA,EAAAE,CAAA,EAAAG,CAAA,oBAAAiC,CAAA,CAAAV,IAAA,QAAArB,CAAA,GAAAF,CAAA,CAAAkD,IAAA,GAAArB,CAAA,GAAAF,CAAA,EAAAM,CAAA,CAAAT,GAAA,KAAAM,CAAA,qBAAA1B,KAAA,EAAA6B,CAAA,CAAAT,GAAA,EAAA0B,IAAA,EAAAlD,CAAA,CAAAkD,IAAA,kBAAAjB,CAAA,CAAAV,IAAA,KAAArB,CAAA,GAAA2B,CAAA,EAAA7B,CAAA,CAAAmD,MAAA,YAAAnD,CAAA,CAAAwB,GAAA,GAAAS,CAAA,CAAAT,GAAA,mBAAA6B,oBAAA1D,CAAA,EAAAE,CAAA,QAAAG,CAAA,GAAAH,CAAA,CAAAsD,MAAA,EAAAjD,CAAA,GAAAP,CAAA,CAAAa,QAAA,CAAAR,CAAA,OAAAE,CAAA,KAAAN,CAAA,SAAAC,CAAA,CAAAuD,QAAA,qBAAApD,CAAA,IAAAL,CAAA,CAAAa,QAAA,eAAAX,CAAA,CAAAsD,MAAA,aAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,EAAAyD,mBAAA,CAAA1D,CAAA,EAAAE,CAAA,eAAAA,CAAA,CAAAsD,MAAA,kBAAAnD,CAAA,KAAAH,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,OAAAkC,SAAA,uCAAA1D,CAAA,iBAAA8B,CAAA,MAAAzB,CAAA,GAAAiB,QAAA,CAAApB,CAAA,EAAAP,CAAA,CAAAa,QAAA,EAAAX,CAAA,CAAA2B,GAAA,mBAAAnB,CAAA,CAAAkB,IAAA,SAAA1B,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,GAAAnB,CAAA,CAAAmB,GAAA,EAAA3B,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,MAAAvB,CAAA,GAAAF,CAAA,CAAAmB,GAAA,SAAAjB,CAAA,GAAAA,CAAA,CAAA2C,IAAA,IAAArD,CAAA,CAAAF,CAAA,CAAAgE,UAAA,IAAApD,CAAA,CAAAH,KAAA,EAAAP,CAAA,CAAA+D,IAAA,GAAAjE,CAAA,CAAAkE,OAAA,eAAAhE,CAAA,CAAAsD,MAAA,KAAAtD,CAAA,CAAAsD,MAAA,WAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,GAAAC,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,IAAAvB,CAAA,IAAAV,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,OAAAkC,SAAA,sCAAA7D,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,cAAAgC,aAAAlE,CAAA,QAAAD,CAAA,KAAAoE,MAAA,EAAAnE,CAAA,YAAAA,CAAA,KAAAD,CAAA,CAAAqE,QAAA,GAAApE,CAAA,WAAAA,CAAA,KAAAD,CAAA,CAAAsE,UAAA,GAAArE,CAAA,KAAAD,CAAA,CAAAuE,QAAA,GAAAtE,CAAA,WAAAuE,UAAA,CAAAC,IAAA,CAAAzE,CAAA,cAAA0E,cAAAzE,CAAA,QAAAD,CAAA,GAAAC,CAAA,CAAA0E,UAAA,QAAA3E,CAAA,CAAA4B,IAAA,oBAAA5B,CAAA,CAAA6B,GAAA,EAAA5B,CAAA,CAAA0E,UAAA,GAAA3E,CAAA,aAAAyB,QAAAxB,CAAA,SAAAuE,UAAA,MAAAJ,MAAA,aAAAnE,CAAA,CAAA4C,OAAA,CAAAsB,YAAA,cAAAS,KAAA,iBAAAlC,OAAA1C,CAAA,QAAAA,CAAA,WAAAA,CAAA,QAAAE,CAAA,GAAAF,CAAA,CAAAY,CAAA,OAAAV,CAAA,SAAAA,CAAA,CAAA4B,IAAA,CAAA9B,CAAA,4BAAAA,CAAA,CAAAiE,IAAA,SAAAjE,CAAA,OAAA6E,KAAA,CAAA7E,CAAA,CAAA8E,MAAA,SAAAvE,CAAA,OAAAG,CAAA,YAAAuD,KAAA,aAAA1D,CAAA,GAAAP,CAAA,CAAA8E,MAAA,OAAAzE,CAAA,CAAAyB,IAAA,CAAA9B,CAAA,EAAAO,CAAA,UAAA0D,IAAA,CAAAxD,KAAA,GAAAT,CAAA,CAAAO,CAAA,GAAA0D,IAAA,CAAAV,IAAA,OAAAU,IAAA,SAAAA,IAAA,CAAAxD,KAAA,GAAAR,CAAA,EAAAgE,IAAA,CAAAV,IAAA,OAAAU,IAAA,YAAAvD,CAAA,CAAAuD,IAAA,GAAAvD,CAAA,gBAAAqD,SAAA,CAAAd,OAAA,CAAAjD,CAAA,kCAAAoC,iBAAA,CAAAhC,SAAA,GAAAiC,0BAAA,EAAA9B,CAAA,CAAAoC,CAAA,mBAAAlC,KAAA,EAAA4B,0BAAA,EAAAjB,YAAA,SAAAb,CAAA,CAAA8B,0BAAA,mBAAA5B,KAAA,EAAA2B,iBAAA,EAAAhB,YAAA,SAAAgB,iBAAA,CAAA2C,WAAA,GAAA7D,MAAA,CAAAmB,0BAAA,EAAArB,CAAA,wBAAAhB,CAAA,CAAAgF,mBAAA,aAAA/E,CAAA,QAAAD,CAAA,wBAAAC,CAAA,IAAAA,CAAA,CAAAgF,WAAA,WAAAjF,CAAA,KAAAA,CAAA,KAAAoC,iBAAA,6BAAApC,CAAA,CAAA+E,WAAA,IAAA/E,CAAA,CAAAkF,IAAA,OAAAlF,CAAA,CAAAmF,IAAA,aAAAlF,CAAA,WAAAE,MAAA,CAAAiF,cAAA,GAAAjF,MAAA,CAAAiF,cAAA,CAAAnF,CAAA,EAAAoC,0BAAA,KAAApC,CAAA,CAAAoF,SAAA,GAAAhD,0BAAA,EAAAnB,MAAA,CAAAjB,CAAA,EAAAe,CAAA,yBAAAf,CAAA,CAAAG,SAAA,GAAAD,MAAA,CAAAqB,MAAA,CAAAmB,CAAA,GAAA1C,CAAA,KAAAD,CAAA,CAAAsF,KAAA,aAAArF,CAAA,aAAAkD,OAAA,EAAAlD,CAAA,OAAA2C,qBAAA,CAAAG,aAAA,CAAA3C,SAAA,GAAAc,MAAA,CAAA6B,aAAA,CAAA3C,SAAA,EAAAU,CAAA,iCAAAd,CAAA,CAAA+C,aAAA,GAAAA,aAAA,EAAA/C,CAAA,CAAAuF,KAAA,aAAAtF,CAAA,EAAAC,CAAA,EAAAG,CAAA,EAAAE,CAAA,EAAAG,CAAA,eAAAA,CAAA,KAAAA,CAAA,GAAA8E,OAAA,OAAA5E,CAAA,OAAAmC,aAAA,CAAAzB,IAAA,CAAArB,CAAA,EAAAC,CAAA,EAAAG,CAAA,EAAAE,CAAA,GAAAG,CAAA,UAAAV,CAAA,CAAAgF,mBAAA,CAAA9E,CAAA,IAAAU,CAAA,GAAAA,CAAA,CAAAqD,IAAA,GAAAb,IAAA,WAAAnD,CAAA,WAAAA,CAAA,CAAAsD,IAAA,GAAAtD,CAAA,CAAAQ,KAAA,GAAAG,CAAA,CAAAqD,IAAA,WAAArB,qBAAA,CAAAD,CAAA,GAAAzB,MAAA,CAAAyB,CAAA,EAAA3B,CAAA,gBAAAE,MAAA,CAAAyB,CAAA,EAAA/B,CAAA,iCAAAM,MAAA,CAAAyB,CAAA,6DAAA3C,CAAA,CAAAyF,IAAA,aAAAxF,CAAA,QAAAD,CAAA,GAAAG,MAAA,CAAAF,CAAA,GAAAC,CAAA,gBAAAG,CAAA,IAAAL,CAAA,EAAAE,CAAA,CAAAuE,IAAA,CAAApE,CAAA,UAAAH,CAAA,CAAAwF,OAAA,aAAAzB,KAAA,WAAA/D,CAAA,CAAA4E,MAAA,SAAA7E,CAAA,GAAAC,CAAA,CAAAyF,GAAA,QAAA1F,CAAA,IAAAD,CAAA,SAAAiE,IAAA,CAAAxD,KAAA,GAAAR,CAAA,EAAAgE,IAAA,CAAAV,IAAA,OAAAU,IAAA,WAAAA,IAAA,CAAAV,IAAA,OAAAU,IAAA,QAAAjE,CAAA,CAAA0C,MAAA,GAAAA,MAAA,EAAAjB,OAAA,CAAArB,SAAA,KAAA6E,WAAA,EAAAxD,OAAA,EAAAmD,KAAA,WAAAA,MAAA5E,CAAA,aAAA4F,IAAA,WAAA3B,IAAA,WAAAN,IAAA,QAAAC,KAAA,GAAA3D,CAAA,OAAAsD,IAAA,YAAAE,QAAA,cAAAD,MAAA,gBAAA3B,GAAA,GAAA5B,CAAA,OAAAuE,UAAA,CAAA3B,OAAA,CAAA6B,aAAA,IAAA1E,CAAA,WAAAE,CAAA,kBAAAA,CAAA,CAAA2F,MAAA,OAAAxF,CAAA,CAAAyB,IAAA,OAAA5B,CAAA,MAAA2E,KAAA,EAAA3E,CAAA,CAAA4F,KAAA,cAAA5F,CAAA,IAAAD,CAAA,MAAA8F,IAAA,WAAAA,KAAA,SAAAxC,IAAA,WAAAtD,CAAA,QAAAuE,UAAA,IAAAG,UAAA,kBAAA1E,CAAA,CAAA2B,IAAA,QAAA3B,CAAA,CAAA4B,GAAA,cAAAmE,IAAA,KAAAnC,iBAAA,WAAAA,kBAAA7D,CAAA,aAAAuD,IAAA,QAAAvD,CAAA,MAAAE,CAAA,kBAAA+F,OAAA5F,CAAA,EAAAE,CAAA,WAAAK,CAAA,CAAAgB,IAAA,YAAAhB,CAAA,CAAAiB,GAAA,GAAA7B,CAAA,EAAAE,CAAA,CAAA+D,IAAA,GAAA5D,CAAA,EAAAE,CAAA,KAAAL,CAAA,CAAAsD,MAAA,WAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,KAAAM,CAAA,aAAAA,CAAA,QAAAiE,UAAA,CAAAM,MAAA,MAAAvE,CAAA,SAAAA,CAAA,QAAAG,CAAA,QAAA8D,UAAA,CAAAjE,CAAA,GAAAK,CAAA,GAAAF,CAAA,CAAAiE,UAAA,iBAAAjE,CAAA,CAAA0D,MAAA,SAAA6B,MAAA,aAAAvF,CAAA,CAAA0D,MAAA,SAAAwB,IAAA,QAAA9E,CAAA,GAAAT,CAAA,CAAAyB,IAAA,CAAApB,CAAA,eAAAM,CAAA,GAAAX,CAAA,CAAAyB,IAAA,CAAApB,CAAA,qBAAAI,CAAA,IAAAE,CAAA,aAAA4E,IAAA,GAAAlF,CAAA,CAAA2D,QAAA,SAAA4B,MAAA,CAAAvF,CAAA,CAAA2D,QAAA,gBAAAuB,IAAA,GAAAlF,CAAA,CAAA4D,UAAA,SAAA2B,MAAA,CAAAvF,CAAA,CAAA4D,UAAA,cAAAxD,CAAA,aAAA8E,IAAA,GAAAlF,CAAA,CAAA2D,QAAA,SAAA4B,MAAA,CAAAvF,CAAA,CAAA2D,QAAA,qBAAArD,CAAA,QAAAsC,KAAA,qDAAAsC,IAAA,GAAAlF,CAAA,CAAA4D,UAAA,SAAA2B,MAAA,CAAAvF,CAAA,CAAA4D,UAAA,YAAAR,MAAA,WAAAA,OAAA7D,CAAA,EAAAD,CAAA,aAAAE,CAAA,QAAAsE,UAAA,CAAAM,MAAA,MAAA5E,CAAA,SAAAA,CAAA,QAAAK,CAAA,QAAAiE,UAAA,CAAAtE,CAAA,OAAAK,CAAA,CAAA6D,MAAA,SAAAwB,IAAA,IAAAvF,CAAA,CAAAyB,IAAA,CAAAvB,CAAA,wBAAAqF,IAAA,GAAArF,CAAA,CAAA+D,UAAA,QAAA5D,CAAA,GAAAH,CAAA,aAAAG,CAAA,iBAAAT,CAAA,mBAAAA,CAAA,KAAAS,CAAA,CAAA0D,MAAA,IAAApE,CAAA,IAAAA,CAAA,IAAAU,CAAA,CAAA4D,UAAA,KAAA5D,CAAA,cAAAE,CAAA,GAAAF,CAAA,GAAAA,CAAA,CAAAiE,UAAA,cAAA/D,CAAA,CAAAgB,IAAA,GAAA3B,CAAA,EAAAW,CAAA,CAAAiB,GAAA,GAAA7B,CAAA,EAAAU,CAAA,SAAA8C,MAAA,gBAAAS,IAAA,GAAAvD,CAAA,CAAA4D,UAAA,EAAAnC,CAAA,SAAA+D,QAAA,CAAAtF,CAAA,MAAAsF,QAAA,WAAAA,SAAAjG,CAAA,EAAAD,CAAA,oBAAAC,CAAA,CAAA2B,IAAA,QAAA3B,CAAA,CAAA4B,GAAA,qBAAA5B,CAAA,CAAA2B,IAAA,mBAAA3B,CAAA,CAAA2B,IAAA,QAAAqC,IAAA,GAAAhE,CAAA,CAAA4B,GAAA,gBAAA5B,CAAA,CAAA2B,IAAA,SAAAoE,IAAA,QAAAnE,GAAA,GAAA5B,CAAA,CAAA4B,GAAA,OAAA2B,MAAA,kBAAAS,IAAA,yBAAAhE,CAAA,CAAA2B,IAAA,IAAA5B,CAAA,UAAAiE,IAAA,GAAAjE,CAAA,GAAAmC,CAAA,KAAAgE,MAAA,WAAAA,OAAAlG,CAAA,aAAAD,CAAA,QAAAwE,UAAA,CAAAM,MAAA,MAAA9E,CAAA,SAAAA,CAAA,QAAAE,CAAA,QAAAsE,UAAA,CAAAxE,CAAA,OAAAE,CAAA,CAAAoE,UAAA,KAAArE,CAAA,cAAAiG,QAAA,CAAAhG,CAAA,CAAAyE,UAAA,EAAAzE,CAAA,CAAAqE,QAAA,GAAAG,aAAA,CAAAxE,CAAA,GAAAiC,CAAA,yBAAAiE,OAAAnG,CAAA,aAAAD,CAAA,QAAAwE,UAAA,CAAAM,MAAA,MAAA9E,CAAA,SAAAA,CAAA,QAAAE,CAAA,QAAAsE,UAAA,CAAAxE,CAAA,OAAAE,CAAA,CAAAkE,MAAA,KAAAnE,CAAA,QAAAI,CAAA,GAAAH,CAAA,CAAAyE,UAAA,kBAAAtE,CAAA,CAAAuB,IAAA,QAAArB,CAAA,GAAAF,CAAA,CAAAwB,GAAA,EAAA6C,aAAA,CAAAxE,CAAA,YAAAK,CAAA,YAAA+C,KAAA,8BAAA+C,aAAA,WAAAA,cAAArG,CAAA,EAAAE,CAAA,EAAAG,CAAA,gBAAAoD,QAAA,KAAA5C,QAAA,EAAA6B,MAAA,CAAA1C,CAAA,GAAAgE,UAAA,EAAA9D,CAAA,EAAAgE,OAAA,EAAA7D,CAAA,oBAAAmD,MAAA,UAAA3B,GAAA,GAAA5B,CAAA,GAAAkC,CAAA,OAAAnC,CAAA;AAAA,SAAAsG,mBAAAjG,CAAA,EAAAJ,CAAA,EAAAD,CAAA,EAAAE,CAAA,EAAAK,CAAA,EAAAK,CAAA,EAAAE,CAAA,cAAAJ,CAAA,GAAAL,CAAA,CAAAO,CAAA,EAAAE,CAAA,GAAAE,CAAA,GAAAN,CAAA,CAAAD,KAAA,WAAAJ,CAAA,gBAAAL,CAAA,CAAAK,CAAA,KAAAK,CAAA,CAAA6C,IAAA,GAAAtD,CAAA,CAAAe,CAAA,IAAAwE,OAAA,CAAAtC,OAAA,CAAAlC,CAAA,EAAAoC,IAAA,CAAAlD,CAAA,EAAAK,CAAA;AAAA,SAAAgG,kBAAAlG,CAAA,6BAAAJ,CAAA,SAAAD,CAAA,GAAAwG,SAAA,aAAAhB,OAAA,WAAAtF,CAAA,EAAAK,CAAA,QAAAK,CAAA,GAAAP,CAAA,CAAAoG,KAAA,CAAAxG,CAAA,EAAAD,CAAA,YAAA0G,MAAArG,CAAA,IAAAiG,kBAAA,CAAA1F,CAAA,EAAAV,CAAA,EAAAK,CAAA,EAAAmG,KAAA,EAAAC,MAAA,UAAAtG,CAAA,cAAAsG,OAAAtG,CAAA,IAAAiG,kBAAA,CAAA1F,CAAA,EAAAV,CAAA,EAAAK,CAAA,EAAAmG,KAAA,EAAAC,MAAA,WAAAtG,CAAA,KAAAqG,KAAA;AAAA,SAAAE,eAAA1G,CAAA,EAAAF,CAAA,WAAA6G,eAAA,CAAA3G,CAAA,KAAA4G,qBAAA,CAAA5G,CAAA,EAAAF,CAAA,KAAA+G,2BAAA,CAAA7G,CAAA,EAAAF,CAAA,KAAAgH,gBAAA;AAAA,SAAAA,iBAAA,cAAAjD,SAAA;AAAA,SAAAgD,4BAAA7G,CAAA,EAAAU,CAAA,QAAAV,CAAA,2BAAAA,CAAA,SAAA+G,iBAAA,CAAA/G,CAAA,EAAAU,CAAA,OAAAX,CAAA,MAAAiH,QAAA,CAAApF,IAAA,CAAA5B,CAAA,EAAA4F,KAAA,6BAAA7F,CAAA,IAAAC,CAAA,CAAA+E,WAAA,KAAAhF,CAAA,GAAAC,CAAA,CAAA+E,WAAA,CAAAC,IAAA,aAAAjF,CAAA,cAAAA,CAAA,GAAAkH,KAAA,CAAAC,IAAA,CAAAlH,CAAA,oBAAAD,CAAA,+CAAAoH,IAAA,CAAApH,CAAA,IAAAgH,iBAAA,CAAA/G,CAAA,EAAAU,CAAA;AAAA,SAAAqG,kBAAA/G,CAAA,EAAAU,CAAA,aAAAA,CAAA,IAAAA,CAAA,GAAAV,CAAA,CAAA4E,MAAA,MAAAlE,CAAA,GAAAV,CAAA,CAAA4E,MAAA,YAAA9E,CAAA,MAAAK,CAAA,GAAA8G,KAAA,CAAAvG,CAAA,GAAAZ,CAAA,GAAAY,CAAA,EAAAZ,CAAA,IAAAK,CAAA,CAAAL,CAAA,IAAAE,CAAA,CAAAF,CAAA,UAAAK,CAAA;AAAA,SAAAyG,sBAAA5G,CAAA,EAAA8B,CAAA,QAAA/B,CAAA,WAAAC,CAAA,gCAAAS,MAAA,IAAAT,CAAA,CAAAS,MAAA,CAAAE,QAAA,KAAAX,CAAA,4BAAAD,CAAA,QAAAD,CAAA,EAAAK,CAAA,EAAAK,CAAA,EAAAM,CAAA,EAAAJ,CAAA,OAAAqB,CAAA,OAAA1B,CAAA,iBAAAG,CAAA,IAAAT,CAAA,GAAAA,CAAA,CAAA6B,IAAA,CAAA5B,CAAA,GAAA+D,IAAA,QAAAjC,CAAA,QAAA7B,MAAA,CAAAF,CAAA,MAAAA,CAAA,UAAAgC,CAAA,uBAAAA,CAAA,IAAAjC,CAAA,GAAAU,CAAA,CAAAoB,IAAA,CAAA7B,CAAA,GAAAsD,IAAA,MAAA3C,CAAA,CAAA6D,IAAA,CAAAzE,CAAA,CAAAS,KAAA,GAAAG,CAAA,CAAAkE,MAAA,KAAA9C,CAAA,GAAAC,CAAA,iBAAA/B,CAAA,IAAAK,CAAA,OAAAF,CAAA,GAAAH,CAAA,yBAAA+B,CAAA,YAAAhC,CAAA,eAAAe,CAAA,GAAAf,CAAA,cAAAE,MAAA,CAAAa,CAAA,MAAAA,CAAA,2BAAAT,CAAA,QAAAF,CAAA,aAAAO,CAAA;AAAA,SAAAiG,gBAAA3G,CAAA,QAAAiH,KAAA,CAAAG,OAAA,CAAApH,CAAA,UAAAA,CAAA;AAaA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMqH,sBAAsB,GAAAC,OAAA,CAAAD,sBAAA,GAAG,SAAzBA,sBAAsBA,CAAIE,QAAwB,EAAK;EAClE,IAAAC,SAAA,GACE,IAAAC,eAAQ,EAA6B,CAAC;IAAAC,UAAA,GAAAhB,cAAA,CAAAc,SAAA;IADjCG,YAAY,GAAAD,UAAA;IAAEE,eAAe,GAAAF,UAAA;EAEpC,IAAAG,UAAA,GAAoC,IAAAJ,eAAQ,EAC1C,IAAIK,kBAAW,CAAC,EAAE,CACpB,CAAC;IAAAC,UAAA,GAAArB,cAAA,CAAAmB,UAAA;IAFMG,UAAU,GAAAD,UAAA;IAAEE,aAAa,GAAAF,UAAA;EAGhC,IAAAG,UAAA,GAA4C,IAAAT,eAAQ,EAElD,IAAIU,mCAAc,CAAC,CAAC,CAAC;IAAAC,UAAA,GAAA1B,cAAA,CAAAwB,UAAA;IAFhBG,cAAc,GAAAD,UAAA;IAAEE,iBAAiB,GAAAF,UAAA;EAGxC,IAAAG,UAAA,GAA8B,IAAAd,eAAQ,EACpC,IAAIe,uCAAgB,CAACjB,QAAQ,CAC/B,CAAC;IAAAkB,UAAA,GAAA/B,cAAA,CAAA6B,UAAA;IAFMG,OAAO,GAAAD,UAAA;IAAEE,UAAU,GAAAF,UAAA;EAG1B,IAAAG,UAAA,GAA8B,IAAAnB,eAAQ,EAAqB,CAAC;IAAAoB,WAAA,GAAAnC,cAAA,CAAAkC,UAAA;IAArDE,OAAO,GAAAD,WAAA;IAAEE,UAAU,GAAAF,WAAA;EAC1B,IAAAG,WAAA,GAA0C,IAAAvB,eAAQ,EAAW,EAAE,CAAC;IAAAwB,WAAA,GAAAvC,cAAA,CAAAsC,WAAA;IAAzDE,aAAa,GAAAD,WAAA;IAAEE,gBAAgB,GAAAF,WAAA;EACtC,IAAAG,WAAA,GAA8C,IAAA3B,eAAQ,EAAW,EAAE,CAAC;IAAA4B,WAAA,GAAA3C,cAAA,CAAA0C,WAAA;IAA7DE,eAAe,GAAAD,WAAA;IAAEE,kBAAkB,GAAAF,WAAA;EAC1C,IAAAG,WAAA,GAA0B,IAAA/B,eAAQ,EAA6B,CAAC;IAAAgC,WAAA,GAAA/C,cAAA,CAAA8C,WAAA;IAAzDE,KAAK,GAAAD,WAAA;IAAEE,QAAQ,GAAAF,WAAA;EACtB,IAAAG,WAAA,GAAoC,IAAAnC,eAAQ,EAA6B,CAAC;IAAAoC,WAAA,GAAAnD,cAAA,CAAAkD,WAAA;IAAnEE,UAAU,GAAAD,WAAA;IAAEE,aAAa,GAAAF,WAAA;EAChC,IAAAG,WAAA,GAA8B,IAAAvC,eAAQ,EAAC,KAAK,CAAC;IAAAwC,WAAA,GAAAvD,cAAA,CAAAsD,WAAA;IAAtCE,OAAO,GAAAD,WAAA;IAAEE,UAAU,GAAAF,WAAA;EAC1B,IAAAG,WAAA,GAAkC,IAAA3C,eAAQ,EAAC,KAAK,CAAC;IAAA4C,WAAA,GAAA3D,cAAA,CAAA0D,WAAA;IAA1CE,SAAS,GAAAD,WAAA;IAAEE,YAAY,GAAAF,WAAA;EAE9B,IAAMG,UAAU,GAAG,IAAAC,kBAAW,EAAC,YAAM;IACnC;IACAlD,QAAQ,CAACiD,UAAU,CAAC,CAAC;;IAErB;IACAvC,aAAa,CAAC,IAAIH,kBAAW,CAAC,EAAE,CAAC,CAAC;IAClCa,UAAU,CAAC,IAAIH,uCAAgB,CAACjB,QAAQ,CAAC,CAAC;IAC1Ce,iBAAiB,CAAC,IAAIH,mCAAc,CAAC,CAAC,CAAC;IACvCgB,gBAAgB,CAAC,EAAE,CAAC;IACpBI,kBAAkB,CAAC,EAAE,CAAC;IACtB3B,eAAe,CAAC8C,SAAS,CAAC;IAC1B3B,UAAU,CAAC2B,SAAS,CAAC;IACrBf,QAAQ,CAACe,SAAS,CAAC;IACnBX,aAAa,CAACW,SAAS,CAAC;IACxBP,UAAU,CAAC,KAAK,CAAC;EACnB,CAAC,EAAE,CAAC5C,QAAQ,CAAC,CAAC;EAEd,IAAMoD,UAAU,GAAG,IAAAF,kBAAW,gBAAApE,iBAAA,eAAAxG,mBAAA,GAAAoF,IAAA,CAAC,SAAA2F,QAAA;IAAA,IAAAC,SAAA,EAAAC,SAAA,EAAAC,aAAA;IAAA,OAAAlL,mBAAA,GAAAuB,IAAA,UAAA4J,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAvF,IAAA,GAAAuF,QAAA,CAAAlH,IAAA;QAAA;UAAA,MACzBwD,QAAQ,CAAC2D,SAAS,CAAC,CAAC,IAAI,CAAC3D,QAAQ,CAAC4D,mBAAmB,CAAC,CAAC;YAAAF,QAAA,CAAAlH,IAAA;YAAA;UAAA;UAAA,OAAAkH,QAAA,CAAArH,MAAA;QAAA;UAIrDiH,SAAS,GAAGtD,QAAQ,CAACI,YAAY;UAAA,IAClCkD,SAAS;YAAAI,QAAA,CAAAlH,IAAA;YAAA;UAAA;UACZyG,UAAU,CAAC,CAAC;UAAC,OAAAS,QAAA,CAAArH,MAAA;QAAA;UAAAqH,QAAA,CAAAlH,IAAA;UAAA,OAISwD,QAAQ,CAAC6D,IAAI,CAAC,CAAC;QAAA;UAAjCN,SAAS,GAAAG,QAAA,CAAAxH,IAAA;UAEfmE,eAAe,CAAC,UAACyD,UAAU;YAAA,OACzBR,SAAS,KAAKQ,UAAU,GAAGA,UAAU,GAAGR,SAAS;UAAA,CACnD,CAAC;UAEKE,aAAa,GAAGD,SAAS,CAACQ,UAAU,CAACC,GAAG,CAACC,mCAAc,CAACC,YAAY,CAAC;UAC3E,IAAIV,aAAa,EAAE;YACjB9C,aAAa,CAAC,UAACyD,WAAW;cAAA,OACxBA,WAAW,CAACC,MAAM,KAAKZ,aAAa,CAACY,MAAM,GACvCD,WAAW,GACXX,aAAa;YAAA,CACnB,CAAC;UACH;UAEApC,UAAU,CAAC,UAAC+C,WAAW;YAAA,OACrB,IAAAE,8BAAiB,EAACF,WAAW,EAAEZ,SAAS,CAACQ,UAAU,CAAC,GAChDI,WAAW,GACXZ,SAAS,CAACQ,UAAU;UAAA,CAC1B,CAAC;UAEDnC,gBAAgB,CAAC,UAAC0C,SAAS;YAAA,OACzBC,IAAI,CAACC,SAAS,CAACF,SAAS,CAAC,KAAKC,IAAI,CAACC,SAAS,CAACjB,SAAS,CAAC5B,aAAa,CAAC,GACjE2C,SAAS,GACTf,SAAS,CAAC5B,aAAa;UAAA,CAC7B,CAAC;UAEDK,kBAAkB,CAAC,UAACsC,SAAS;YAAA,OAC3BC,IAAI,CAACC,SAAS,CAACF,SAAS,CAAC,KAAKC,IAAI,CAACC,SAAS,CAACjB,SAAS,CAACxB,eAAe,CAAC,GACnEuC,SAAS,GACTf,SAAS,CAACxB,eAAe;UAAA,CAC/B,CAAC;UAEDP,UAAU,CAAC,UAAC8C,SAAS;YAAA,OACnBA,SAAS,KAAKf,SAAS,CAAChC,OAAO,GAAG+C,SAAS,GAAGf,SAAS,CAAChC,OAAO;UAAA,CACjE,CAAC;UAEDa,QAAQ,CAAC,UAACkC,SAAS,EAAK;YAAA,IAAAG,gBAAA;YACtB,IAAMC,YAAY,GAAGJ,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEK,GAAG,CAAC,UAAC3J,CAAC;cAAA,OAAKA,CAAC,CAAC4J,MAAM,CAAC,CAAC;YAAA,EAAC;YACtD,IAAMC,WAAW,IAAAJ,gBAAA,GAAGlB,SAAS,CAACpB,KAAK,cAAAsC,gBAAA,uBAAfA,gBAAA,CAAiBE,GAAG,CAAC,UAAC3J,CAAC;cAAA,OAAKA,CAAC,CAAC4J,MAAM,CAAC,CAAC;YAAA,EAAC;YAC3D,IAAIF,YAAY,KAAKG,WAAW,EAAE;cAChC,OAAOtB,SAAS,CAACpB,KAAK;YACxB;YAEA,OAAOmC,SAAS;UAClB,CAAC,CAAC;UAEF9B,aAAa,CAAC,UAAC8B,SAAS,EAAK;YAAA,IAAAQ,iBAAA;YAC3B,IAAMJ,YAAY,GAAGJ,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEK,GAAG,CAAC,UAAC3J,CAAC;cAAA,OAAKA,CAAC,CAAC4J,MAAM,CAAC,CAAC;YAAA,EAAC;YACtD,IAAMC,WAAW,IAAAC,iBAAA,GAAGvB,SAAS,CAACpB,KAAK,cAAA2C,iBAAA,uBAAfA,iBAAA,CAAiBH,GAAG,CAAC,UAAC3J,CAAC;cAAA,OAAKA,CAAC,CAAC4J,MAAM,CAAC,CAAC;YAAA,EAAC;YAC3D,IAAIF,YAAY,KAAKG,WAAW,EAAE;cAChC,OAAOtB,SAAS,CAACpB,KAAK;YACxB;YAEA,OAAOmC,SAAS;UAClB,CAAC,CAAC;UAEF1B,UAAU,CAACU,SAAS,CAACyB,QAAQ,CAAC,KAAK,CAAC,CAAC;QAAC;QAAA;UAAA,OAAArB,QAAA,CAAApF,IAAA;MAAA;IAAA,GAAA+E,OAAA;EAAA,CACvC,IAAE,CAACrD,QAAQ,EAAEiD,UAAU,CAAC,CAAC;EAE1B,IAAM+B,aAAa,GAAG,IAAA9B,kBAAW;IAAA,IAAA+B,KAAA,GAAAnG,iBAAA,eAAAxG,mBAAA,GAAAoF,IAAA,CAC/B,SAAAwH,SAAOC,MAAkC;MAAA,OAAA7M,mBAAA,GAAAuB,IAAA,UAAAuL,UAAAC,SAAA;QAAA,kBAAAA,SAAA,CAAAlH,IAAA,GAAAkH,SAAA,CAAA7I,IAAA;UAAA;YACvC,IAAIwD,QAAQ,CAAC4D,mBAAmB,CAAC,CAAC,IAAIuB,MAAM,KAAKnF,QAAQ,CAACI,YAAY,EAAE;cACtE4C,YAAY,CAAC,IAAI,CAAC;YACpB;YAACqC,SAAA,CAAA7I,IAAA;YAAA,OAEKwD,QAAQ,CAACgF,aAAa,CAACG,MAAM,CAAC,CAACxJ,IAAI,CAACyH,UAAU,CAAC;UAAA;YACrDJ,YAAY,CAAC,KAAK,CAAC;UAAC;UAAA;YAAA,OAAAqC,SAAA,CAAA/G,IAAA;QAAA;MAAA,GAAA4G,QAAA;IAAA,CACrB;IAAA,iBAAAI,EAAA;MAAA,OAAAL,KAAA,CAAAjG,KAAA,OAAAD,SAAA;IAAA;EAAA,KACD,CAACiB,QAAQ,EAAEgD,YAAY,CACzB,CAAC;EAED,OAAO;IACL5C,YAAY,EAAZA,YAAY;IACZC,eAAe,EAAfA,eAAe;IACfI,UAAU,EAAVA,UAAU;IACVC,aAAa,EAAbA,aAAa;IACbS,OAAO,EAAPA,OAAO;IACPC,UAAU,EAAVA,UAAU;IACVmE,OAAO,EAAEzE,cAAc;IACvB0E,UAAU,EAAEzE,iBAAiB;IAC7B4B,OAAO,EAAPA,OAAO;IACPC,UAAU,EAAVA,UAAU;IACVrB,OAAO,EAAPA,OAAO;IACPC,UAAU,EAAVA,UAAU;IACVO,eAAe,EAAfA,eAAe;IACfC,kBAAkB,EAAlBA,kBAAkB;IAClBL,aAAa,EAAbA,aAAa;IACbC,gBAAgB,EAAhBA,gBAAgB;IAChBO,KAAK,EAALA,KAAK;IACLC,QAAQ,EAARA,QAAQ;IACRG,UAAU,EAAVA,UAAU;IACVC,aAAa,EAAbA,aAAa;IACbY,UAAU,EAAVA,UAAU;IACVH,UAAU,EAAVA,UAAU;IACV+B,aAAa,EAAbA,aAAa;IACbjC,SAAS,EAATA,SAAS;IACTC,YAAY,EAAZA;EACF,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"useWalletObserverState.js","names":["_asset","require","_react","_WalletAssetMapClass","_WalletBalanceMapClass","_WalletObserverClass","_comparisons","_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","_catch","delegateYield","asyncGeneratorStep","_asyncToGenerator","arguments","apply","_next","_throw","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","_arrayLikeToArray","toString","Array","from","test","isArray","useWalletObserverState","exports","observer","_useState","useState","_useState2","activeWallet","setActiveWallet","_useState3","AssetAmount","_useState4","adaBalance","setAdaBalance","_useState5","WalletAssetMap","_useState6","handleMetadata","setHandleMetadata","_useState7","WalletBalanceMap","_useState8","balance","setBalance","_useState9","_useState10","network","setNetwork","_useState11","_useState12","usedAddresses","setUsedAddresses","_useState13","_useState14","unusedAddresses","setUnusedAddresses","_useState15","_useState16","utxos","setUtxos","_useState17","_useState18","collateral","setCollateral","_useState19","_useState20","isCip45","setIsCip45","_useState21","_useState22","switching","setSwitching","disconnect","useCallback","undefined","syncWallet","_callee","newWallet","freshData","newAdaBalance","_callee$","_context","isSyncing","hasActiveConnection","sync","prevWallet","balanceMap","get","WalletObserver","ADA_ASSET_ID","prevBalance","amount","areAssetMapsEqual","prevValue","JSON","stringify","_freshData$utxos","prevValueRep","map","toCbor","newValueRep","_freshData$utxos2","includes","connectWallet","_ref2","_callee2","wallet","_callee2$","_context2","_x","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);\n await 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":[]}