@sundaeswap/wallet-lite 0.0.19 → 0.0.21

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.
@@ -100,38 +100,39 @@ var WalletObserver = exports.WalletObserver = /*#__PURE__*/function (_WalletObse
100
100
  }
101
101
  throw new Error("Attempted to perform a sync operation without a connected wallet.");
102
102
  case 2:
103
+ _context.prev = 2;
103
104
  _this._performingSync = true;
104
105
  _this.dispatch(_events.EWalletObserverEvents.SYNCING_WALLET_START);
105
- _context.prev = 4;
106
- _context.next = 7;
106
+ _context.prev = 5;
107
+ _context.next = 8;
107
108
  return _this.getNetwork();
108
- case 7:
109
+ case 8:
109
110
  newNetwork = _context.sent;
110
- _context.next = 25;
111
+ _context.next = 26;
111
112
  break;
112
- case 10:
113
- _context.prev = 10;
114
- _context.t0 = _context["catch"](4);
115
- _context.prev = 12;
116
- _context.next = 15;
113
+ case 11:
114
+ _context.prev = 11;
115
+ _context.t0 = _context["catch"](5);
116
+ _context.prev = 13;
117
+ _context.next = 16;
117
118
  return _this.syncApi();
118
- case 15:
119
- _context.next = 17;
119
+ case 16:
120
+ _context.next = 18;
120
121
  return _this.getNetwork();
121
- case 17:
122
+ case 18:
122
123
  newNetwork = _context.sent;
123
- _context.next = 25;
124
+ _context.next = 26;
124
125
  break;
125
- case 20:
126
- _context.prev = 20;
127
- _context.t1 = _context["catch"](12);
126
+ case 21:
127
+ _context.prev = 21;
128
+ _context.t1 = _context["catch"](13);
128
129
  _this.dispatch(_events.EWalletObserverEvents.SYNCING_WALLET_END);
129
130
  _this._performingSync = false;
130
131
  throw _context.t1;
131
- case 25:
132
- _context.next = 27;
132
+ case 26:
133
+ _context.next = 28;
133
134
  return Promise.all([_this.getBalanceMap(), _this.getUsedAddresses(), _this.getUnusedAddresses(), _this.getUtxos(), _this.getCollateral()]);
134
- case 27:
135
+ case 28:
135
136
  _yield$Promise$all = _context.sent;
136
137
  _yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 5);
137
138
  newBalanceMap = _yield$Promise$all2[0];
@@ -150,11 +151,16 @@ var WalletObserver = exports.WalletObserver = /*#__PURE__*/function (_WalletObse
150
151
  _this.dispatch(_events.EWalletObserverEvents.SYNCING_WALLET_END, result);
151
152
  _this._performingSync = false;
152
153
  return _context.abrupt("return", result);
153
- case 38:
154
+ case 41:
155
+ _context.prev = 41;
156
+ _context.t2 = _context["catch"](2);
157
+ _this._performingSync = false;
158
+ throw _context.t2;
159
+ case 45:
154
160
  case "end":
155
161
  return _context.stop();
156
162
  }
157
- }, _callee, null, [[4, 10], [12, 20]]);
163
+ }, _callee, null, [[2, 41], [5, 11], [13, 21]]);
158
164
  })));
159
165
  /**
160
166
  * Synchronizes the API with the wallet. This is useful if the account has changed,
@@ -1 +1 @@
1
- {"version":3,"file":"WalletObserver.class.js","names":["_asset","require","_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","newNetwork","_yield$Promise$all","_yield$Promise$all2","newBalanceMap","newUsedAddresses","newUnusedAddresses","newOutputs","newCollateral","result","_callee$","_context","api","_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","_ref2","_callee2","activeWallet","attempts","selectedWallet","_window$cardano","_callee2$","_context2","undefined","_activeWallet","window","cardano","enable","getNetworkId","res","setTimeout","_x","_options","_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","concat","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","_callee10","_yield$Promise$all11","_yield$Promise$all12","_callee10$","_context10","_ref11","_callee11","assetIds","cachedKeys","inputKeys","newMetadata","_callee11$","_context11","Set","size","every","has","metadataResolver","isAdaAsset","_x3","_ref12","_callee12","_callee12$","_context12","assetId","decimals","_x4","merge","fallbackMetadataResolver","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","_getUtils","_callee13","_callee13$","_context13","utils","WalletObserverUtils","getUtils","WalletObserverEvent"],"sources":["../../../src/classes/WalletObserver.class.ts"],"sourcesContent":["import type { TransactionUnspentOutput } from \"@cardano-sdk/core/dist/cjs/Serialization/index.js\";\nimport type { Cip30WalletApi } from \"@cardano-sdk/dapp-connector\";\nimport { AssetAmount, type IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport merge from \"lodash/merge.js\";\n\nimport { EWalletObserverEvents } from \"../@types/events.js\";\nimport type {\n IResolvedWalletObserverOptions,\n IWalletObserverSeed,\n IWalletObserverSync,\n TMetadataResolverFunc,\n TSupportedWalletExtensions,\n TWalletObserverOptions,\n} from \"../@types/observer.js\";\nimport { isAdaAsset, normalizeAssetIdWithDot } from \"../utils/assets.js\";\nimport {\n getCardanoCore,\n getCardanoUtil,\n getPeerConnect,\n} from \"../utils/getLibs.js\";\nimport { WalletBalanceMap } from \"./WalletBalanceMap.class.js\";\nimport { WalletObserverEvent } from \"./WalletObserverEvent.js\";\nimport { WalletObserverUtils } from \"./WalletObserverUtils.class.js\";\n\n/**\n * Class representing the Wallet Observer. This is the main interface\n * for interacting with a wallet extension that is available in the\n * browser window. It handles all the deserialization required when\n * querying raw data from a CIP-30 API, and converts it to readable and\n * usable interfaces.\n *\n * Notably, it extends the WalletObserverEvent class which\n * acts as an internal event handler to hook into actions, such as connecting,\n * syncing, and disconnecting.\n *\n * @template AssetMetadata - Type extending IAssetAmountMetadata.\n * @extends {WalletObserverEvent}\n */\nexport class WalletObserver<\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata\n> extends WalletObserverEvent {\n static PERSISTENCE_CACHE_KEY = \"walletObserver\";\n static ADA_ASSET_ID = \"ada.lovelace\";\n public network: number = 0;\n public api?: Cip30WalletApi;\n public utils?: WalletObserverUtils;\n public peerConnectInstance?: import(\"@fabianbormann/cardano-peer-connect\").DAppPeerConnect;\n\n private _performingSync: boolean = false;\n private _activeWallet?: TSupportedWalletExtensions;\n private _options: IResolvedWalletObserverOptions<AssetMetadata>;\n private _supportedExtensions: TSupportedWalletExtensions[] = [\n \"eternl\",\n \"lace\",\n \"typhon\",\n \"sorbet\",\n \"flint\",\n \"nami\",\n ];\n\n // Caching\n private _cachedMetadata: Map<string, AssetMetadata> = new Map();\n\n /**\n * Creates an instance of WalletObserver.\n *\n * @param {Partial<TWalletObserverOptions<AssetMetadata>>} [options] - Options for the wallet observer.\n */\n constructor(options?: Partial<TWalletObserverOptions<AssetMetadata>>) {\n super();\n\n // Set options.\n this._options = merge<IResolvedWalletObserverOptions, typeof options>(\n {\n metadataResolver: this.fallbackMetadataResolver,\n persistence: false,\n connectTimeout: 10000,\n 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 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 return result;\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 * Synchronizes the API with the wallet. This is useful if the account has changed,\n * but the underlying intent has not.\n *\n * @param {TSupportedWalletExtensions} [activeWallet] - The wallet to sync with.\n * @returns {Promise<Cip30WalletApi>} - A promise that resolves to the API instance.\n */\n syncApi = async (activeWallet?: TSupportedWalletExtensions): Promise<any> => {\n let attempts = 0;\n this.api = undefined;\n if (!activeWallet && !this._activeWallet) {\n throw new Error(\n \"A wallet is required to be passed as a parameter, or to be defined in the class.\"\n );\n }\n\n const selectedWallet =\n activeWallet || (this._activeWallet as TSupportedWalletExtensions);\n\n while (!this.api) {\n if (attempts === 10) {\n throw new Error(\n \"Could not reconnect to the selected wallet. Please check your extension.\"\n );\n }\n\n try {\n const api = await window.cardano?.[selectedWallet]?.enable();\n\n if (!api) {\n throw Error;\n }\n\n this.api = api;\n this.network = await api.getNetworkId();\n } catch (e) {\n 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 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\n getCip45Instance = async () => {\n if (!this.peerConnectInstance) {\n const { DAppPeerConnect } = await getPeerConnect();\n this.peerConnectInstance = new DAppPeerConnect(\n this._options.peerConnectArgs\n );\n }\n\n return {\n name: this._options.peerConnectArgs.dAppInfo.name,\n icon: this.peerConnectInstance.getIdenticon(),\n instance: this.peerConnectInstance,\n };\n };\n\n /**\n * Helper function to retrieve currently active wallet connection, if present.\n *\n * @returns {TSupportedWalletExtensions | undefined}\n */\n getActiveWallet = (): TSupportedWalletExtensions | undefined => {\n return this._activeWallet;\n };\n\n /**\n * Helper function to retrieve the currently cached metadata.\n *\n * @returns {Map<string, AssetMetadata>}\n */\n getCachedAssetMetadata = (): Map<string, AssetMetadata> =>\n this._cachedMetadata;\n\n /**\n * Helper function to retrieve a list of supported wallet extensions.\n *\n * @returns {keyof TSupportedWalletExtensions[] | undefined}\n */\n getSupportedExtensions = (): TSupportedWalletExtensions[] => {\n return this._supportedExtensions;\n };\n\n /**\n * Helper function to restore the class instance to its initial state.\n *\n * @returns {void}\n */\n disconnect = (): void => {\n this._activeWallet = undefined;\n this.api = undefined;\n this._cachedMetadata = new Map();\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 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 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 val = await this.api.getNetworkId();\n this.network = val;\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 [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 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 [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 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 [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 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 [cbor, { Serialization }, { typedHex }] = await Promise.all([\n this.api.getCollateral(),\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 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 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 return this._cachedMetadata;\n }\n }\n\n const newMetadata = await this._options.metadataResolver(\n assetIds.map(normalizeAssetIdWithDot),\n normalizeAssetIdWithDot,\n isAdaAsset\n );\n this._cachedMetadata = newMetadata;\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":["_asset","require","_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","newNetwork","_yield$Promise$all","_yield$Promise$all2","newBalanceMap","newUsedAddresses","newUnusedAddresses","newOutputs","newCollateral","result","_callee$","_context","api","_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","t2","_ref2","_callee2","activeWallet","attempts","selectedWallet","_window$cardano","_callee2$","_context2","undefined","_activeWallet","window","cardano","enable","getNetworkId","res","setTimeout","_x","_options","_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","concat","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","_callee10","_yield$Promise$all11","_yield$Promise$all12","_callee10$","_context10","_ref11","_callee11","assetIds","cachedKeys","inputKeys","newMetadata","_callee11$","_context11","Set","size","every","has","metadataResolver","isAdaAsset","_x3","_ref12","_callee12","_callee12$","_context12","assetId","decimals","_x4","merge","fallbackMetadataResolver","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","_getUtils","_callee13","_callee13$","_context13","utils","WalletObserverUtils","getUtils","WalletObserverEvent"],"sources":["../../../src/classes/WalletObserver.class.ts"],"sourcesContent":["import type { TransactionUnspentOutput } from \"@cardano-sdk/core/dist/cjs/Serialization/index.js\";\nimport type { Cip30WalletApi } from \"@cardano-sdk/dapp-connector\";\nimport { AssetAmount, type IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport merge from \"lodash/merge.js\";\n\nimport { EWalletObserverEvents } from \"../@types/events.js\";\nimport type {\n IResolvedWalletObserverOptions,\n IWalletObserverSeed,\n IWalletObserverSync,\n TMetadataResolverFunc,\n TSupportedWalletExtensions,\n TWalletObserverOptions,\n} from \"../@types/observer.js\";\nimport { isAdaAsset, normalizeAssetIdWithDot } from \"../utils/assets.js\";\nimport {\n getCardanoCore,\n getCardanoUtil,\n getPeerConnect,\n} from \"../utils/getLibs.js\";\nimport { WalletBalanceMap } from \"./WalletBalanceMap.class.js\";\nimport { WalletObserverEvent } from \"./WalletObserverEvent.js\";\nimport { WalletObserverUtils } from \"./WalletObserverUtils.class.js\";\n\n/**\n * Class representing the Wallet Observer. This is the main interface\n * for interacting with a wallet extension that is available in the\n * browser window. It handles all the deserialization required when\n * querying raw data from a CIP-30 API, and converts it to readable and\n * usable interfaces.\n *\n * Notably, it extends the WalletObserverEvent class which\n * acts as an internal event handler to hook into actions, such as connecting,\n * syncing, and disconnecting.\n *\n * @template AssetMetadata - Type extending IAssetAmountMetadata.\n * @extends {WalletObserverEvent}\n */\nexport class WalletObserver<\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata\n> extends WalletObserverEvent {\n static PERSISTENCE_CACHE_KEY = \"walletObserver\";\n static ADA_ASSET_ID = \"ada.lovelace\";\n public network: number = 0;\n public api?: Cip30WalletApi;\n public utils?: WalletObserverUtils;\n public peerConnectInstance?: import(\"@fabianbormann/cardano-peer-connect\").DAppPeerConnect;\n\n private _performingSync: boolean = false;\n private _activeWallet?: TSupportedWalletExtensions;\n private _options: IResolvedWalletObserverOptions<AssetMetadata>;\n private _supportedExtensions: TSupportedWalletExtensions[] = [\n \"eternl\",\n \"lace\",\n \"typhon\",\n \"sorbet\",\n \"flint\",\n \"nami\",\n ];\n\n // Caching\n private _cachedMetadata: Map<string, AssetMetadata> = new Map();\n\n /**\n * Creates an instance of WalletObserver.\n *\n * @param {Partial<TWalletObserverOptions<AssetMetadata>>} [options] - Options for the wallet observer.\n */\n constructor(options?: Partial<TWalletObserverOptions<AssetMetadata>>) {\n super();\n\n // Set options.\n this._options = merge<IResolvedWalletObserverOptions, typeof options>(\n {\n metadataResolver: this.fallbackMetadataResolver,\n persistence: false,\n connectTimeout: 10000,\n 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 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 return result;\n } catch (e) {\n this._performingSync = false;\n throw e;\n }\n };\n\n /**\n * Helper method to check if the class is currently performing a sync\n * operation. This is useful to avoid duplicate calls, but does not\n * prevent it within the class.\n *\n * @returns {boolean}\n */\n isSyncing(): boolean {\n return this._performingSync;\n }\n\n /**\n * Synchronizes the API with the wallet. This is useful if the account has changed,\n * but the underlying intent has not.\n *\n * @param {TSupportedWalletExtensions} [activeWallet] - The wallet to sync with.\n * @returns {Promise<Cip30WalletApi>} - A promise that resolves to the API instance.\n */\n syncApi = async (activeWallet?: TSupportedWalletExtensions): Promise<any> => {\n let attempts = 0;\n this.api = undefined;\n if (!activeWallet && !this._activeWallet) {\n throw new Error(\n \"A wallet is required to be passed as a parameter, or to be defined in the class.\"\n );\n }\n\n const selectedWallet =\n activeWallet || (this._activeWallet as TSupportedWalletExtensions);\n\n while (!this.api) {\n if (attempts === 10) {\n throw new Error(\n \"Could not reconnect to the selected wallet. Please check your extension.\"\n );\n }\n\n try {\n const api = await window.cardano?.[selectedWallet]?.enable();\n\n if (!api) {\n throw Error;\n }\n\n this.api = api;\n this.network = await api.getNetworkId();\n } catch (e) {\n 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 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\n getCip45Instance = async () => {\n if (!this.peerConnectInstance) {\n const { DAppPeerConnect } = await getPeerConnect();\n this.peerConnectInstance = new DAppPeerConnect(\n this._options.peerConnectArgs\n );\n }\n\n return {\n name: this._options.peerConnectArgs.dAppInfo.name,\n icon: this.peerConnectInstance.getIdenticon(),\n instance: this.peerConnectInstance,\n };\n };\n\n /**\n * Helper function to retrieve currently active wallet connection, if present.\n *\n * @returns {TSupportedWalletExtensions | undefined}\n */\n getActiveWallet = (): TSupportedWalletExtensions | undefined => {\n return this._activeWallet;\n };\n\n /**\n * Helper function to retrieve the currently cached metadata.\n *\n * @returns {Map<string, AssetMetadata>}\n */\n getCachedAssetMetadata = (): Map<string, AssetMetadata> =>\n this._cachedMetadata;\n\n /**\n * Helper function to retrieve a list of supported wallet extensions.\n *\n * @returns {keyof TSupportedWalletExtensions[] | undefined}\n */\n getSupportedExtensions = (): TSupportedWalletExtensions[] => {\n return this._supportedExtensions;\n };\n\n /**\n * Helper function to restore the class instance to its initial state.\n *\n * @returns {void}\n */\n disconnect = (): void => {\n this._activeWallet = undefined;\n this.api = undefined;\n this._cachedMetadata = new Map();\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 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 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 val = await this.api.getNetworkId();\n this.network = val;\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 [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 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 [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 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 [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 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 [cbor, { Serialization }, { typedHex }] = await Promise.all([\n this.api.getCollateral(),\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 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 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 return this._cachedMetadata;\n }\n }\n\n const newMetadata = await this._options.metadataResolver(\n assetIds.map(normalizeAssetIdWithDot),\n normalizeAssetIdWithDot,\n isAdaAsset\n );\n this._cachedMetadata = newMetadata;\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":[]}
@@ -44,7 +44,7 @@ var useWalletHandles = exports.useWalletHandles = function useWalletHandles() {
44
44
  return _toConsumableArray(state.balance.getHandles().keys());
45
45
  }, [state.balance]);
46
46
  var syncHandles = (0, _react.useCallback)( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
47
- var walletHandles, _yield$import, HandleClient, HandleClientContext, KoraLabsProvider, context, sdk, walletHandlesWithDataArray, walletHandleDataArray;
47
+ var walletHandles, HandleClient, context, sdk, walletHandlesWithDataArray, walletHandleDataArray;
48
48
  return _regeneratorRuntime().wrap(function _callee$(_context) {
49
49
  while (1) switch (_context.prev = _context.next) {
50
50
  case 0:
@@ -62,17 +62,14 @@ var useWalletHandles = exports.useWalletHandles = function useWalletHandles() {
62
62
  return _interopRequireWildcard(require("@koralabs/adahandle-sdk"));
63
63
  });
64
64
  case 6:
65
- _yield$import = _context.sent;
66
- HandleClient = _yield$import["default"];
67
- HandleClientContext = _yield$import.HandleClientContext;
68
- KoraLabsProvider = _yield$import.KoraLabsProvider;
69
- context = state.network === 1 ? HandleClientContext.MAINNET : HandleClientContext.PREVIEW; // @ts-ignore Type isn't exported from default.
65
+ HandleClient = _context.sent;
66
+ context = state.network === 1 ? HandleClient.HandleClientContext.MAINNET : HandleClient.HandleClientContext.PREVIEW; // @ts-ignore Type isn't exported from default.
70
67
  sdk = new HandleClient({
71
68
  context: context,
72
- provider: new KoraLabsProvider(context)
69
+ provider: new HandleClient.KoraLabsProvider(context)
73
70
  }); // Restore once SDK updated
74
71
  walletHandlesWithDataArray = _toConsumableArray(walletHandles.entries());
75
- _context.next = 15;
72
+ _context.next = 12;
76
73
  return sdk.provider().getAllDataBatch(walletHandlesWithDataArray.map(function (_ref2) {
77
74
  var _ref3 = _slicedToArray(_ref2, 1),
78
75
  key = _ref3[0];
@@ -80,7 +77,7 @@ var useWalletHandles = exports.useWalletHandles = function useWalletHandles() {
80
77
  value: key.split(".")[1]
81
78
  };
82
79
  }));
83
- case 15:
80
+ case 12:
84
81
  walletHandleDataArray = _context.sent;
85
82
  walletHandlesWithDataArray.forEach(function (_ref4) {
86
83
  var _ref5 = _slicedToArray(_ref4, 2),
@@ -96,16 +93,16 @@ var useWalletHandles = exports.useWalletHandles = function useWalletHandles() {
96
93
  })).withAmount(1n));
97
94
  });
98
95
  return _context.abrupt("return", walletHandles);
99
- case 20:
100
- _context.prev = 20;
96
+ case 17:
97
+ _context.prev = 17;
101
98
  _context.t0 = _context["catch"](3);
102
99
  console.log(_context.t0);
103
100
  return _context.abrupt("return", walletHandles);
104
- case 24:
101
+ case 21:
105
102
  case "end":
106
103
  return _context.stop();
107
104
  }
108
- }, _callee, null, [[3, 20]]);
105
+ }, _callee, null, [[3, 17]]);
109
106
  })), [state.balance, setLoadingHandles]);
110
107
  (0, _react.useEffect)(function () {
111
108
  syncHandles().then(function (newHandles) {
@@ -149,7 +146,6 @@ var useWalletHandles = exports.useWalletHandles = function useWalletHandles() {
149
146
  loadingHandles: loadingHandles
150
147
  };
151
148
  }, [handles, loadingHandles]);
152
- console.log(handles, loadingHandles);
153
149
  return data;
154
150
  };
155
151
  //# sourceMappingURL=useWalletHandles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useWalletHandles.js","names":["_react","require","_WalletAssetMapClass","_assets","_useWalletObserver","_createForOfIteratorHelper","r","e","t","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","_n","F","s","n","done","value","f","TypeError","o","a","u","call","next","_regeneratorRuntime","Object","prototype","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","_typeof","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","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","_catch","delegateYield","ownKeys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","apply","_objectSpread","arguments","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","_toPrimitive","toPrimitive","String","Number","_getRequireWildcardCache","WeakMap","_interopRequireWildcard","__esModule","has","get","set","asyncGeneratorStep","_asyncToGenerator","_next","_throw","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","from","_arrayLikeToArray","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","toString","test","useWalletHandles","exports","state","useWalletObserver","_useState","useState","_useState2","loadingHandles","setLoadingHandles","_useState3","WalletAssetMap","_useState4","handles","setHandles","memoizedHandleDep","useMemo","balance","getHandles","syncHandles","useCallback","_callee","walletHandles","_yield$import","HandleClient","HandleClientContext","KoraLabsProvider","context","sdk","walletHandlesWithDataArray","walletHandleDataArray","_callee$","_context","size","network","MAINNET","PREVIEW","provider","entries","getAllDataBatch","map","_ref2","_ref3","key","split","_ref4","_ref5","asset","matchingData","find","_ref6","hex","normalizeAssetIdWithDot","withMetadata","metadata","assetId","decimals","withAmount","t0","console","log","useEffect","newHandles","prevHandles","handleMetadataChanged","_iterator","_step","_prevHandles$get","_step$value","val","amount","err","prevValue","data"],"sources":["../../../../src/react-components/hooks/useWalletHandles.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useState } from \"react\";\n\nimport { IHandle } from \"@koralabs/adahandle-sdk\";\nimport { IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport { TAssetAmountMap } from \"../../@types/observer.js\";\nimport { WalletAssetMap } from \"../../classes/WalletAssetMap.class.js\";\nimport { normalizeAssetIdWithDot } from \"../../utils/assets.js\";\nimport { THandleMetadata } from \"../contexts/observer/types.js\";\nimport { useWalletObserver } from \"./useWalletObserver.js\";\n\nexport const useWalletHandles = <\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata\n>() => {\n const state = useWalletObserver<THandleMetadata<AssetMetadata>>();\n const [loadingHandles, setLoadingHandles] = useState(true);\n const [handles, setHandles] = useState<\n TAssetAmountMap<THandleMetadata<AssetMetadata>>\n >(new WalletAssetMap());\n const memoizedHandleDep = useMemo(\n () => [...state.balance.getHandles().keys()],\n [state.balance]\n );\n\n const syncHandles = useCallback<\n () => Promise<TAssetAmountMap<THandleMetadata<AssetMetadata>>>\n >(async () => {\n // Make a copy of our wallet map.\n const walletHandles: TAssetAmountMap<THandleMetadata<AssetMetadata>> =\n new WalletAssetMap([...state.balance.getHandles()]);\n\n if (walletHandles.size === 0) {\n return walletHandles;\n }\n\n try {\n const {\n default: HandleClient,\n HandleClientContext,\n KoraLabsProvider,\n } = await import(\"@koralabs/adahandle-sdk\");\n const context =\n state.network === 1\n ? HandleClientContext.MAINNET\n : HandleClientContext.PREVIEW;\n\n // @ts-ignore Type isn't exported from default.\n const sdk = new HandleClient({\n context,\n provider: new KoraLabsProvider(context),\n });\n\n // Restore once SDK updated\n const walletHandlesWithDataArray = [...walletHandles.entries()];\n const walletHandleDataArray: IHandle[] = await sdk\n .provider()\n .getAllDataBatch(\n walletHandlesWithDataArray.map(([key]) => ({\n value: key.split(\".\")[1],\n }))\n );\n\n walletHandlesWithDataArray.forEach(([key, asset]) => {\n const matchingData = walletHandleDataArray.find(\n ({ hex }) => hex === key.split(\".\")[1]\n ) as IHandle;\n\n walletHandles.set(\n normalizeAssetIdWithDot(key),\n asset\n .withMetadata({\n ...matchingData,\n ...asset.metadata,\n assetId: normalizeAssetIdWithDot(asset.metadata.assetId),\n decimals: 0,\n })\n .withAmount(1n)\n );\n });\n\n return walletHandles;\n } catch (e) {\n console.log(e);\n return walletHandles;\n }\n // We only want to update the callback if the Handle keys change.\n }, [state.balance, setLoadingHandles]);\n\n useEffect(() => {\n syncHandles()\n .then((newHandles) => {\n setHandles((prevHandles) => {\n let handleMetadataChanged = false;\n\n if (newHandles.size !== prevHandles?.size) {\n handleMetadataChanged = true;\n } else {\n for (const [key, val] of newHandles) {\n if (\n !prevHandles.has(key) ||\n prevHandles.get(key)?.amount !== val?.amount\n ) {\n handleMetadataChanged = true;\n }\n }\n }\n\n if (!handleMetadataChanged) {\n return prevHandles;\n }\n\n return newHandles;\n });\n })\n .then(() => setLoadingHandles((prevValue) => !prevValue));\n }, [memoizedHandleDep, syncHandles, setHandles, setLoadingHandles]);\n\n const data = useMemo(\n () => ({\n handles,\n loadingHandles,\n }),\n [handles, loadingHandles]\n );\n\n console.log(handles, loadingHandles);\n\n return data;\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"useWalletHandles.js","names":["_react","require","_WalletAssetMapClass","_assets","_useWalletObserver","_createForOfIteratorHelper","r","e","t","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","_n","F","s","n","done","value","f","TypeError","o","a","u","call","next","_regeneratorRuntime","Object","prototype","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","_typeof","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","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","_catch","delegateYield","ownKeys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","apply","_objectSpread","arguments","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","_toPrimitive","toPrimitive","String","Number","_getRequireWildcardCache","WeakMap","_interopRequireWildcard","__esModule","has","get","set","asyncGeneratorStep","_asyncToGenerator","_next","_throw","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","from","_arrayLikeToArray","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","toString","test","useWalletHandles","exports","state","useWalletObserver","_useState","useState","_useState2","loadingHandles","setLoadingHandles","_useState3","WalletAssetMap","_useState4","handles","setHandles","memoizedHandleDep","useMemo","balance","getHandles","syncHandles","useCallback","_callee","walletHandles","HandleClient","context","sdk","walletHandlesWithDataArray","walletHandleDataArray","_callee$","_context","size","network","HandleClientContext","MAINNET","PREVIEW","provider","KoraLabsProvider","entries","getAllDataBatch","map","_ref2","_ref3","key","split","_ref4","_ref5","asset","matchingData","find","_ref6","hex","normalizeAssetIdWithDot","withMetadata","metadata","assetId","decimals","withAmount","t0","console","log","useEffect","newHandles","prevHandles","handleMetadataChanged","_iterator","_step","_prevHandles$get","_step$value","val","amount","err","prevValue","data"],"sources":["../../../../src/react-components/hooks/useWalletHandles.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useState } from \"react\";\n\nimport { IHandle } from \"@koralabs/adahandle-sdk\";\nimport { IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport { TAssetAmountMap } from \"../../@types/observer.js\";\nimport { WalletAssetMap } from \"../../classes/WalletAssetMap.class.js\";\nimport { normalizeAssetIdWithDot } from \"../../utils/assets.js\";\nimport { THandleMetadata } from \"../contexts/observer/types.js\";\nimport { useWalletObserver } from \"./useWalletObserver.js\";\n\nexport const useWalletHandles = <\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata\n>() => {\n const state = useWalletObserver<THandleMetadata<AssetMetadata>>();\n const [loadingHandles, setLoadingHandles] = useState(true);\n const [handles, setHandles] = useState<\n TAssetAmountMap<THandleMetadata<AssetMetadata>>\n >(new WalletAssetMap());\n const memoizedHandleDep = useMemo(\n () => [...state.balance.getHandles().keys()],\n [state.balance]\n );\n\n const syncHandles = useCallback<\n () => Promise<TAssetAmountMap<THandleMetadata<AssetMetadata>>>\n >(async () => {\n // Make a copy of our wallet map.\n const walletHandles: TAssetAmountMap<THandleMetadata<AssetMetadata>> =\n new WalletAssetMap([...state.balance.getHandles()]);\n\n if (walletHandles.size === 0) {\n return walletHandles;\n }\n\n try {\n const HandleClient = await import(\"@koralabs/adahandle-sdk\");\n const context =\n state.network === 1\n ? HandleClient.HandleClientContext.MAINNET\n : HandleClient.HandleClientContext.PREVIEW;\n\n // @ts-ignore Type isn't exported from default.\n const sdk = new HandleClient({\n context,\n provider: new HandleClient.KoraLabsProvider(context),\n });\n\n // Restore once SDK updated\n const walletHandlesWithDataArray = [...walletHandles.entries()];\n const walletHandleDataArray: IHandle[] = await sdk\n .provider()\n .getAllDataBatch(\n walletHandlesWithDataArray.map(([key]) => ({\n value: key.split(\".\")[1],\n }))\n );\n\n walletHandlesWithDataArray.forEach(([key, asset]) => {\n const matchingData = walletHandleDataArray.find(\n ({ hex }) => hex === key.split(\".\")[1]\n ) as IHandle;\n\n walletHandles.set(\n normalizeAssetIdWithDot(key),\n asset\n .withMetadata({\n ...matchingData,\n ...asset.metadata,\n assetId: normalizeAssetIdWithDot(asset.metadata.assetId),\n decimals: 0,\n })\n .withAmount(1n)\n );\n });\n\n return walletHandles;\n } catch (e) {\n console.log(e);\n return walletHandles;\n }\n // We only want to update the callback if the Handle keys change.\n }, [state.balance, setLoadingHandles]);\n\n useEffect(() => {\n syncHandles()\n .then((newHandles) => {\n setHandles((prevHandles) => {\n let handleMetadataChanged = false;\n\n if (newHandles.size !== prevHandles?.size) {\n handleMetadataChanged = true;\n } else {\n for (const [key, val] of newHandles) {\n if (\n !prevHandles.has(key) ||\n prevHandles.get(key)?.amount !== val?.amount\n ) {\n handleMetadataChanged = true;\n }\n }\n }\n\n if (!handleMetadataChanged) {\n return prevHandles;\n }\n\n return newHandles;\n });\n })\n .then(() => setLoadingHandles((prevValue) => !prevValue));\n }, [memoizedHandleDep, syncHandles, setHandles, setLoadingHandles]);\n\n const data = useMemo(\n () => ({\n handles,\n loadingHandles,\n }),\n [handles, loadingHandles]\n );\n\n return data;\n};\n"],"mappings":"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","ignoreList":[]}