@sundaeswap/wallet-lite 0.0.87 → 0.0.88-dev.0

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 (23) hide show
  1. package/dist/cjs/classes/WalletObserver.class.js +64 -56
  2. package/dist/cjs/classes/WalletObserver.class.js.map +1 -1
  3. package/dist/cjs/react-components/WalletObserverProvider/hooks/useWalletObserverState.js +47 -39
  4. package/dist/cjs/react-components/WalletObserverProvider/hooks/useWalletObserverState.js.map +1 -1
  5. package/dist/cjs/react-components/hooks/useWalletObserver.js +2 -1
  6. package/dist/cjs/react-components/hooks/useWalletObserver.js.map +1 -1
  7. package/dist/esm/classes/WalletObserver.class.js +51 -44
  8. package/dist/esm/classes/WalletObserver.class.js.map +1 -1
  9. package/dist/esm/react-components/WalletObserverProvider/hooks/useWalletObserverState.js +9 -3
  10. package/dist/esm/react-components/WalletObserverProvider/hooks/useWalletObserverState.js.map +1 -1
  11. package/dist/esm/react-components/hooks/useWalletObserver.js +2 -1
  12. package/dist/esm/react-components/hooks/useWalletObserver.js.map +1 -1
  13. package/dist/types/classes/WalletObserver.class.d.ts +2 -2
  14. package/dist/types/classes/WalletObserver.class.d.ts.map +1 -1
  15. package/dist/types/react-components/WalletObserverProvider/hooks/useWalletObserverState.d.ts +1 -0
  16. package/dist/types/react-components/WalletObserverProvider/hooks/useWalletObserverState.d.ts.map +1 -1
  17. package/dist/types/react-components/hooks/useWalletObserver.d.ts.map +1 -1
  18. package/dist/types/tsconfig.build.tsbuildinfo +1 -1
  19. package/package.json +4 -3
  20. package/src/classes/WalletObserver.class.ts +60 -50
  21. package/src/classes/__tests__/WalletObserver.test.ts +15 -4
  22. package/src/react-components/WalletObserverProvider/hooks/useWalletObserverState.ts +10 -3
  23. package/src/react-components/hooks/useWalletObserver.ts +2 -0
@@ -181,7 +181,7 @@ var WalletObserver = exports.WalletObserver = /*#__PURE__*/function (_WalletObse
181
181
  * @returns {Promise<Cip30WalletApi | undefined>} - A promise that resolves to the API instance.
182
182
  */
183
183
  _defineProperty(_this, "syncApi", /*#__PURE__*/function () {
184
- var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(activeWallet) {
184
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(activeWallet, abortSignal) {
185
185
  var selectedWallet, attempts, shouldContinue, _window, _window2, _cardano$selectedWall, cardano, api;
186
186
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
187
187
  while (1) switch (_context2.prev = _context2.next) {
@@ -195,65 +195,62 @@ var WalletObserver = exports.WalletObserver = /*#__PURE__*/function (_WalletObse
195
195
  selectedWallet = activeWallet || _this.activeWallet;
196
196
  attempts = 0;
197
197
  shouldContinue = true;
198
- case 5:
198
+ abortSignal === null || abortSignal === void 0 || abortSignal.addEventListener("abort", function () {
199
+ shouldContinue = false;
200
+ });
201
+ case 6:
199
202
  if (!shouldContinue) {
200
- _context2.next = 32;
203
+ _context2.next = 31;
201
204
  break;
202
205
  }
203
206
  if (!(attempts === 10)) {
204
- _context2.next = 8;
207
+ _context2.next = 9;
205
208
  break;
206
209
  }
207
210
  throw new Error("Could not reconnect to the selected wallet. Please check your extension.");
208
- case 8:
209
- _context2.prev = 8;
211
+ case 9:
212
+ _context2.prev = 9;
210
213
  cardano = ((_window = window) === null || _window === void 0 ? void 0 : _window.cardano) || ((_window2 = window) === null || _window2 === void 0 || (_window2 = _window2.parent) === null || _window2 === void 0 ? void 0 : _window2.cardano);
211
- _context2.next = 12;
214
+ _context2.next = 13;
212
215
  return cardano === null || cardano === void 0 || (_cardano$selectedWall = cardano[selectedWallet]) === null || _cardano$selectedWall === void 0 ? void 0 : _cardano$selectedWall.enable();
213
- case 12:
216
+ case 13:
214
217
  api = _context2.sent;
215
- if (api) {
216
- _context2.next = 15;
217
- break;
218
- }
219
- throw Error;
220
- case 15:
221
218
  _this.api = api;
222
- _context2.next = 18;
219
+ _context2.next = 17;
223
220
  return api.getNetworkId();
224
- case 18:
221
+ case 17:
225
222
  _this.network = _context2.sent;
226
223
  shouldContinue = false;
227
- _context2.next = 30;
224
+ _context2.next = 29;
228
225
  break;
229
- case 22:
230
- _context2.prev = 22;
231
- _context2.t0 = _context2["catch"](8);
232
- if (!(["user canceled connection", "User declined to sign the data."].includes(_context2.t0 === null || _context2.t0 === void 0 ? void 0 : _context2.t0.message) || (_context2.t0 === null || _context2.t0 === void 0 ? void 0 : _context2.t0.code) === _dappConnector.APIErrorCode.Refused)) {
233
- _context2.next = 27;
226
+ case 21:
227
+ _context2.prev = 21;
228
+ _context2.t0 = _context2["catch"](9);
229
+ if (!(["user canceled connection", "User declined to sign the data.", "Attempt to connect timed out after 10 seconds"].includes(_context2.t0 === null || _context2.t0 === void 0 ? void 0 : _context2.t0.message) || (_context2.t0 === null || _context2.t0 === void 0 ? void 0 : _context2.t0.code) === _dappConnector.APIErrorCode.Refused)) {
230
+ _context2.next = 26;
234
231
  break;
235
232
  }
236
233
  shouldContinue = false;
237
234
  return _context2.abrupt("return", undefined);
238
- case 27:
239
- _context2.next = 29;
235
+ case 26:
236
+ _context2.next = 28;
240
237
  return new Promise(function (res) {
241
238
  return setTimeout(res, 200);
242
239
  });
243
- case 29:
240
+ case 28:
244
241
  attempts++;
245
- case 30:
246
- _context2.next = 5;
242
+ case 29:
243
+ _context2.next = 6;
247
244
  break;
248
- case 32:
245
+ case 31:
249
246
  return _context2.abrupt("return", _this.api);
250
- case 33:
247
+ case 32:
251
248
  case "end":
252
249
  return _context2.stop();
253
250
  }
254
- }, _callee2, null, [[8, 22]]);
251
+ }, _callee2, null, [[9, 21]]);
255
252
  }));
256
- return function (_x) {
253
+ return function (_x, _x2) {
257
254
  return _ref2.apply(this, arguments);
258
255
  };
259
256
  }());
@@ -274,72 +271,78 @@ var WalletObserver = exports.WalletObserver = /*#__PURE__*/function (_WalletObse
274
271
  * @return {Promise<IWalletObserverSync<AssetMetadata> | Error>}
275
272
  */
276
273
  _defineProperty(_this, "connectWallet", /*#__PURE__*/function () {
277
- var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(extension) {
278
- var _window$cardano;
279
- var start, attempts, extensionObject, _this$peerConnectInst, _window$cardano2, data, seed, end;
274
+ var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(extension, abortSignal) {
275
+ var start, _window$cardano, attempts, extensionObject, _this$peerConnectInst, _window$cardano2, api, data, seed, end;
280
276
  return _regeneratorRuntime().wrap(function _callee3$(_context3) {
281
277
  while (1) switch (_context3.prev = _context3.next) {
282
278
  case 0:
283
279
  start = performance.now();
284
280
  _this.dispatch(_events.EWalletObserverEvents.CONNECT_WALLET_START);
281
+ _context3.prev = 2;
285
282
  attempts = 0;
286
283
  extensionObject = (_window$cardano = window.cardano) === null || _window$cardano === void 0 ? void 0 : _window$cardano[extension]; // Disconnect any CIP45 connections.
287
284
  if (!(extension !== null && extension !== void 0 && extension.includes("p2p"))) {
288
285
  (_this$peerConnectInst = _this.peerConnectInstance) === null || _this$peerConnectInst === void 0 || _this$peerConnectInst.shutdownServer();
289
286
  }
290
- case 5:
287
+ case 6:
291
288
  if (!(typeof extensionObject === "undefined")) {
292
- _context3.next = 14;
289
+ _context3.next = 15;
293
290
  break;
294
291
  }
295
292
  if (!(attempts === 40)) {
296
- _context3.next = 8;
293
+ _context3.next = 9;
297
294
  break;
298
295
  }
299
- return _context3.abrupt("break", 14);
300
- case 8:
301
- _context3.next = 10;
296
+ return _context3.abrupt("break", 15);
297
+ case 9:
298
+ _context3.next = 11;
302
299
  return new Promise(function (res) {
303
300
  return setTimeout(res, _this._options.connectTimeout / 40);
304
301
  });
305
- case 10:
302
+ case 11:
306
303
  extensionObject = (_window$cardano2 = window.cardano) === null || _window$cardano2 === void 0 ? void 0 : _window$cardano2[extension];
307
304
  attempts++;
308
- _context3.next = 5;
305
+ _context3.next = 6;
309
306
  break;
310
- case 14:
307
+ case 15:
311
308
  if (extensionObject) {
312
309
  _context3.next = 17;
313
310
  break;
314
311
  }
315
- _this.dispatch(_events.EWalletObserverEvents.CONNECT_WALLET_END);
316
312
  throw new Error("Wallet extension not found in the global context.");
317
313
  case 17:
318
314
  _this.activeWallet = extension;
319
315
  _context3.next = 20;
320
- return _this.syncApi(extension);
316
+ return _this.syncApi(extension, abortSignal);
321
317
  case 20:
322
- _context3.next = 22;
318
+ api = _context3.sent;
319
+ if (api) {
320
+ _context3.next = 23;
321
+ break;
322
+ }
323
+ throw new Error("API could not be found.");
324
+ case 23:
325
+ _context3.next = 25;
323
326
  return _this.sync();
324
- case 22:
327
+ case 25:
325
328
  data = _context3.sent;
326
329
  if (!_this._options.persistence) {
327
- _context3.next = 29;
330
+ _context3.next = 32;
328
331
  break;
329
332
  }
330
333
  if (!(data.usedAddresses instanceof Error)) {
331
- _context3.next = 27;
334
+ _context3.next = 30;
332
335
  break;
333
336
  }
334
337
  data.usedAddresses.cause = "Could not get a list of used addresses from the wallet when trying to save the connection.";
335
338
  throw data.usedAddresses;
336
- case 27:
339
+ case 30:
337
340
  seed = {
338
341
  activeWallet: extension,
339
342
  mainAddress: data.usedAddresses[0]
340
343
  };
341
344
  window.localStorage.setItem(WalletObserver.PERSISTENCE_CACHE_KEY, JSON.stringify(seed));
342
- case 29:
345
+ case 32:
343
346
  _this.dispatch(_events.EWalletObserverEvents.CONNECT_WALLET_END, _objectSpread(_objectSpread({}, data), {}, {
344
347
  activeWallet: extension
345
348
  }));
@@ -348,13 +351,18 @@ var WalletObserver = exports.WalletObserver = /*#__PURE__*/function (_WalletObse
348
351
  console.log("connectWallet: ".concat(end - start, "ms"));
349
352
  }
350
353
  return _context3.abrupt("return", data);
351
- case 33:
354
+ case 38:
355
+ _context3.prev = 38;
356
+ _context3.t0 = _context3["catch"](2);
357
+ _this.dispatch(_events.EWalletObserverEvents.CONNECT_WALLET_END);
358
+ throw _context3.t0;
359
+ case 42:
352
360
  case "end":
353
361
  return _context3.stop();
354
362
  }
355
- }, _callee3);
363
+ }, _callee3, null, [[2, 38]]);
356
364
  }));
357
- return function (_x2) {
365
+ return function (_x3, _x4) {
358
366
  return _ref3.apply(this, arguments);
359
367
  };
360
368
  }());
@@ -861,7 +869,7 @@ var WalletObserver = exports.WalletObserver = /*#__PURE__*/function (_WalletObse
861
869
  }
862
870
  }, _callee12, null, [[10, 16]]);
863
871
  }));
864
- return function (_x3) {
872
+ return function (_x5) {
865
873
  return _ref12.apply(this, arguments);
866
874
  };
867
875
  }());
@@ -891,7 +899,7 @@ var WalletObserver = exports.WalletObserver = /*#__PURE__*/function (_WalletObse
891
899
  }
892
900
  }, _callee13);
893
901
  }));
894
- return function (_x4) {
902
+ return function (_x6) {
895
903
  return _ref14.apply(this, arguments);
896
904
  };
897
905
  }());
@@ -1 +1 @@
1
- {"version":3,"file":"WalletObserver.class.js","names":["_dappConnector","require","_asset","_merge","_interopRequireDefault","_events","_constants","_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","ownKeys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","apply","_objectSpread","arguments","_defineProperty","getOwnPropertyDescriptors","defineProperties","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","toString","test","asyncGeneratorStep","_asyncToGenerator","_next","_throw","_classCallCheck","_defineProperties","_toPropertyKey","key","_createClass","_callSuper","_getPrototypeOf","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","_assertThisInitialized","ReferenceError","Boolean","valueOf","bind","_inherits","_setPrototypeOf","_toPrimitive","toPrimitive","String","Number","WalletObserver","exports","_WalletObserverEvent","options","_this","Map","_callee","start","newBalanceMap","_yield$Promise$all","_yield$Promise$all2","newNetwork","newUsedAddresses","newUnusedAddresses","newOutputs","newCollateral","newFeeAddress","result","end","_callee$","_context","api","performance","now","_performingSync","dispatch","EWalletObserverEvents","SYNCING_WALLET_START","getBalanceMap","syncApi","SYNCING_WALLET_END","all","getNetwork","getUsedAddresses","getUnusedAddresses","getUtxos","getCollateral","getFeeAddress","balanceMap","usedAddresses","unusedAddresses","utxos","collateral","network","feeAddress","_options","debug","console","log","concat","activeWallet","t0","_ref2","_callee2","selectedWallet","attempts","shouldContinue","_window","_window2","_cardano$selectedWall","cardano","_callee2$","_context2","window","parent","enable","getNetworkId","includes","message","code","APIErrorCode","Refused","undefined","res","setTimeout","_x","_ref3","_callee3","extension","_window$cardano","extensionObject","_this$peerConnectInst","_window$cardano2","data","seed","_callee3$","_context3","CONNECT_WALLET_START","peerConnectInstance","shutdownServer","connectTimeout","CONNECT_WALLET_END","sync","persistence","cause","mainAddress","localStorage","setItem","PERSISTENCE_CACHE_KEY","JSON","stringify","_x2","_callee4","DAppPeerConnect","_callee4$","_context4","getPeerConnect","peerConnectArgs","dAppInfo","icon","getIdenticon","instance","_cachedMetadata","removeItem","DISCONNECT","_callee5","_data$multiasset$keys","_data$multiasset","_data$multiasset$entr","_data$multiasset2","_yield$Promise$all3","_yield$Promise$all4","Serialization","typedHex","cbor","multiassetKeys","metadata","multiassetEntries","_iterator","_step","_step$value","id","amount","_callee5$","_context5","GET_BALANCE_MAP_START","getCardanoCore","getCardanoUtil","getBalance","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","_cbor","_yield$Promise$all9","_yield$Promise$all10","_callee9$","_context9","txOutput","TransactionUnspentOutput","input","output","_callee10","_this$api$experimenta","address","_callee10$","_context10","experimental","_callee11","_cbor2","_yield$Promise$all11","_yield$Promise$all12","_this$api","_this$api2","funcCall","_callee11$","_context11","_ref12","_callee12","assetIds","cachedKeys","inputKeys","_end","newMetadata","_callee12$","_context12","Set","size","every","has","metadataResolver","normalizeAssetId","isAdaAsset","fallbackMetadataResolver","_x3","_ref14","_callee13","_ref13","_callee13$","_context13","assetId","decimals","_x4","merge","url","location","hostname","onApiEject","_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 TWalletObserverOptions,\n} from \"../@types/observer.js\";\nimport { ADA_ASSET_ID } from \"../constants.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 public network: number = 0;\n public api?: Cip30WalletApi;\n public activeWallet?: string;\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\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);\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<AssetMetadata>>} - A promise that resolves to the wallet sync data.\n */\n sync = async (): Promise<IWalletObserverSync<AssetMetadata>> => {\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 // Check if account has changed.\n let newBalanceMap = await this.getBalanceMap();\n if (newBalanceMap instanceof Error) {\n await this.syncApi();\n newBalanceMap = await this.getBalanceMap();\n\n if (newBalanceMap instanceof Error) {\n this.dispatch(EWalletObserverEvents.SYNCING_WALLET_END);\n this._performingSync = false;\n throw newBalanceMap;\n }\n }\n\n const [\n newNetwork,\n newUsedAddresses,\n newUnusedAddresses,\n newOutputs,\n newCollateral,\n newFeeAddress,\n ] = await Promise.all([\n this.getNetwork(),\n this.getUsedAddresses(),\n this.getUnusedAddresses(),\n this.getUtxos(),\n this.getCollateral(),\n this.getFeeAddress(),\n ]);\n\n const result: IWalletObserverSync<AssetMetadata> = {\n balanceMap: newBalanceMap,\n usedAddresses: newUsedAddresses,\n unusedAddresses: newUnusedAddresses,\n utxos: newOutputs,\n collateral: newCollateral,\n network: newNetwork,\n feeAddress: newFeeAddress,\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, {\n ...result,\n activeWallet: this.activeWallet!,\n });\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 {string} [activeWallet] - The wallet to sync with.\n * @returns {Promise<Cip30WalletApi | undefined>} - A promise that resolves to the API instance.\n */\n syncApi = async (\n activeWallet?: string,\n ): Promise<Cip30WalletApi | 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 = (activeWallet || this.activeWallet) as string;\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 cardano = window?.cardano || window?.parent?.cardano;\n const api = await 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 [\n \"user canceled connection\",\n \"User declined to sign the data.\",\n ].includes((e as Error)?.message) ||\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<IWalletObserverSync<AssetMetadata> | Error>}\n */\n connectWallet = async (\n extension: string,\n ): Promise<IWalletObserverSync<AssetMetadata> | Error> => {\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 this.dispatch(EWalletObserverEvents.CONNECT_WALLET_END);\n throw new Error(\"Wallet extension not found in the global context.\");\n }\n\n this.activeWallet = extension;\n await this.syncApi(extension);\n const data = await this.sync();\n\n if (this._options.persistence) {\n if (data.usedAddresses instanceof Error) {\n data.usedAddresses.cause =\n \"Could not get a list of used addresses from the wallet when trying to save the connection.\";\n throw data.usedAddresses;\n }\n\n const seed: IWalletObserverSeed = {\n activeWallet: extension,\n mainAddress: data.usedAddresses[0],\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 ...data,\n activeWallet: extension,\n });\n const end = performance.now();\n if (this._options.debug) {\n console.log(`connectWallet: ${end - start}ms`);\n }\n\n return data;\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 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<\n WalletBalanceMap<AssetMetadata> | Error\n > => {\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 [{ Serialization }, typedHex] = await Promise.all([\n getCardanoCore(),\n getCardanoUtil(),\n ]);\n\n let cbor: string;\n try {\n cbor = await this.api.getBalance();\n } catch (e) {\n return e as Error;\n }\n const data = Serialization.Value.fromCbor(typedHex(cbor));\n const multiassetKeys = data.multiasset()?.keys() ?? [];\n\n const metadata = await this.__metadataResolverWithCache([\n ADA_ASSET_ID,\n ...multiassetKeys,\n ]);\n\n const balanceMap = new WalletBalanceMap<AssetMetadata>(this);\n balanceMap.set(\n ADA_ASSET_ID,\n new AssetAmount(data.coin(), metadata.get(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 normalizeAssetIdWithDot(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\n return balanceMap;\n };\n\n /**\n * Gets the current network connection.\n *\n * @returns {Promise<number | Error>} The network ID or an Error from the wallet.\n */\n getNetwork = async (): Promise<number | Error> => {\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 let val: number;\n try {\n val = await this.api.getNetworkId();\n } catch (e) {\n return e as Error;\n }\n\n this.network = val;\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[] | Error> => {\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 [{ Cardano }, typedHex] = await Promise.all([\n getCardanoCore(),\n getCardanoUtil(),\n ]);\n\n let cbor: string[];\n try {\n cbor = await this.api.getUsedAddresses();\n } catch (e) {\n return e as Error;\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[] | Error>} The list of addresses or an Error returned by the wallet.\n */\n getUnusedAddresses = async (): Promise<string[] | Error> => {\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 [{ Cardano }, typedHex] = await Promise.all([\n getCardanoCore(),\n getCardanoUtil(),\n ]);\n\n let cbor: string[];\n try {\n cbor = await this.api.getUnusedAddresses();\n } catch (e) {\n return e as Error;\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<\n TransactionUnspentOutput[] | Error | undefined\n > => {\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 [{ Serialization }, typedHex] = await Promise.all([\n getCardanoCore(),\n getCardanoUtil(),\n ]);\n\n let cbor: string[] | null;\n try {\n cbor = await this.api.getUtxos();\n } catch (e) {\n return e as Error;\n }\n\n const data = cbor?.map((val) => {\n const 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 the fee address set by the wallet, if available.\n *\n * @returns {Promise<string | Error | undefined>} The fee address or an Error.\n */\n getFeeAddress = async (): Promise<string | Error | undefined> => {\n if (!this.api) {\n throw new Error(\n \"Attempted to query fee address without an API instance.\",\n );\n }\n\n const start = performance.now();\n try {\n const address = this.api.experimental?.feeAddress;\n const end = performance.now();\n\n if (this._options.debug) {\n console.log(`getFeeAddress: ${end - start}ms`);\n }\n\n return address;\n } catch (e) {\n return e as Error;\n }\n };\n\n /**\n * Gets a list of wallet UTXOs suitable for collateral.\n *\n * @returns {Promise<TransactionUnspentOutput[] | Error | undefined>} The list of TransactionUnspentOutputs, if there are any, or an Error.\n */\n getCollateral = async (): Promise<\n TransactionUnspentOutput[] | Error | undefined\n > => {\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 [{ Serialization }, typedHex] = await Promise.all([\n getCardanoCore(),\n getCardanoUtil(),\n ]);\n\n let cbor: string[] | null;\n try {\n const funcCall =\n this.api?.getCollateral ||\n (this.api?.experimental.getCollateral as GetCollateral);\n if (typeof funcCall !== \"function\") {\n cbor = [];\n } else {\n cbor = await funcCall();\n }\n } catch (e) {\n return e as Error;\n }\n\n const data = cbor?.map((val) => {\n const 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: assetIds.map(normalizeAssetIdWithDot),\n normalizeAssetId: normalizeAssetIdWithDot,\n isAdaAsset,\n });\n } catch (e) {\n attempts++;\n }\n }\n\n if (!newMetadata) {\n newMetadata = await this.fallbackMetadataResolver({\n assetIds: assetIds.map(normalizeAssetIdWithDot),\n normalizeAssetId: 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","_constants","_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","ownKeys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","apply","_objectSpread","arguments","_defineProperty","getOwnPropertyDescriptors","defineProperties","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","toString","test","asyncGeneratorStep","_asyncToGenerator","_next","_throw","_classCallCheck","_defineProperties","_toPropertyKey","key","_createClass","_callSuper","_getPrototypeOf","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","_assertThisInitialized","ReferenceError","Boolean","valueOf","bind","_inherits","_setPrototypeOf","_toPrimitive","toPrimitive","String","Number","WalletObserver","exports","_WalletObserverEvent","options","_this","Map","_callee","start","newBalanceMap","_yield$Promise$all","_yield$Promise$all2","newNetwork","newUsedAddresses","newUnusedAddresses","newOutputs","newCollateral","newFeeAddress","result","end","_callee$","_context","api","performance","now","_performingSync","dispatch","EWalletObserverEvents","SYNCING_WALLET_START","getBalanceMap","syncApi","SYNCING_WALLET_END","all","getNetwork","getUsedAddresses","getUnusedAddresses","getUtxos","getCollateral","getFeeAddress","balanceMap","usedAddresses","unusedAddresses","utxos","collateral","network","feeAddress","_options","debug","console","log","concat","activeWallet","t0","_ref2","_callee2","abortSignal","selectedWallet","attempts","shouldContinue","_window","_window2","_cardano$selectedWall","cardano","_callee2$","_context2","addEventListener","window","parent","enable","getNetworkId","includes","message","code","APIErrorCode","Refused","undefined","res","setTimeout","_x","_x2","_ref3","_callee3","extension","_window$cardano","extensionObject","_this$peerConnectInst","_window$cardano2","data","seed","_callee3$","_context3","CONNECT_WALLET_START","peerConnectInstance","shutdownServer","connectTimeout","sync","persistence","cause","mainAddress","localStorage","setItem","PERSISTENCE_CACHE_KEY","JSON","stringify","CONNECT_WALLET_END","_x3","_x4","_callee4","DAppPeerConnect","_callee4$","_context4","getPeerConnect","peerConnectArgs","dAppInfo","icon","getIdenticon","instance","_cachedMetadata","removeItem","DISCONNECT","_callee5","_data$multiasset$keys","_data$multiasset","_data$multiasset$entr","_data$multiasset2","_yield$Promise$all3","_yield$Promise$all4","Serialization","typedHex","cbor","multiassetKeys","metadata","multiassetEntries","_iterator","_step","_step$value","id","amount","_callee5$","_context5","GET_BALANCE_MAP_START","getCardanoCore","getCardanoUtil","getBalance","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","_cbor","_yield$Promise$all9","_yield$Promise$all10","_callee9$","_context9","txOutput","TransactionUnspentOutput","input","output","_callee10","_this$api$experimenta","address","_callee10$","_context10","experimental","_callee11","_cbor2","_yield$Promise$all11","_yield$Promise$all12","_this$api","_this$api2","funcCall","_callee11$","_context11","_ref12","_callee12","assetIds","cachedKeys","inputKeys","_end","newMetadata","_callee12$","_context12","Set","size","every","has","metadataResolver","normalizeAssetId","isAdaAsset","fallbackMetadataResolver","_x5","_ref14","_callee13","_ref13","_callee13$","_context13","assetId","decimals","_x6","merge","url","location","hostname","onApiEject","_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 TWalletObserverOptions,\n} from \"../@types/observer.js\";\nimport { ADA_ASSET_ID } from \"../constants.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 public network: number = 0;\n public api?: Cip30WalletApi;\n public activeWallet?: string;\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\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);\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<AssetMetadata>>} - A promise that resolves to the wallet sync data.\n */\n sync = async (): Promise<IWalletObserverSync<AssetMetadata>> => {\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 // Check if account has changed.\n let newBalanceMap = await this.getBalanceMap();\n if (newBalanceMap instanceof Error) {\n await this.syncApi();\n newBalanceMap = await this.getBalanceMap();\n\n if (newBalanceMap instanceof Error) {\n this.dispatch(EWalletObserverEvents.SYNCING_WALLET_END);\n this._performingSync = false;\n throw newBalanceMap;\n }\n }\n\n const [\n newNetwork,\n newUsedAddresses,\n newUnusedAddresses,\n newOutputs,\n newCollateral,\n newFeeAddress,\n ] = await Promise.all([\n this.getNetwork(),\n this.getUsedAddresses(),\n this.getUnusedAddresses(),\n this.getUtxos(),\n this.getCollateral(),\n this.getFeeAddress(),\n ]);\n\n const result: IWalletObserverSync<AssetMetadata> = {\n balanceMap: newBalanceMap,\n usedAddresses: newUsedAddresses,\n unusedAddresses: newUnusedAddresses,\n utxos: newOutputs,\n collateral: newCollateral,\n network: newNetwork,\n feeAddress: newFeeAddress,\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, {\n ...result,\n activeWallet: this.activeWallet!,\n });\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 {string} [activeWallet] - The wallet to sync with.\n * @returns {Promise<Cip30WalletApi | undefined>} - A promise that resolves to the API instance.\n */\n syncApi = async (\n activeWallet?: string,\n abortSignal?: AbortSignal,\n ): Promise<Cip30WalletApi | 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 = (activeWallet || this.activeWallet) as string;\n\n let attempts = 0;\n let shouldContinue = true;\n\n abortSignal?.addEventListener(\"abort\", () => {\n shouldContinue = false;\n });\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 cardano = window?.cardano || window?.parent?.cardano;\n const api = await cardano?.[selectedWallet]?.enable();\n this.api = api;\n this.network = await api.getNetworkId();\n shouldContinue = false;\n } catch (e) {\n if (\n [\n \"user canceled connection\",\n \"User declined to sign the data.\",\n \"Attempt to connect timed out after 10 seconds\",\n ].includes((e as Error)?.message) ||\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<IWalletObserverSync<AssetMetadata> | Error>}\n */\n connectWallet = async (\n extension: string,\n abortSignal?: AbortSignal,\n ): Promise<IWalletObserverSync<AssetMetadata> | Error> => {\n const start = performance.now();\n this.dispatch(EWalletObserverEvents.CONNECT_WALLET_START);\n\n try {\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 this.activeWallet = extension;\n const api = await this.syncApi(extension, abortSignal);\n if (!api) {\n throw new Error(\"API could not be found.\");\n }\n\n const data = await this.sync();\n\n if (this._options.persistence) {\n if (data.usedAddresses instanceof Error) {\n data.usedAddresses.cause =\n \"Could not get a list of used addresses from the wallet when trying to save the connection.\";\n throw data.usedAddresses;\n }\n\n const seed: IWalletObserverSeed = {\n activeWallet: extension,\n mainAddress: data.usedAddresses[0],\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 ...data,\n activeWallet: extension,\n });\n const end = performance.now();\n if (this._options.debug) {\n console.log(`connectWallet: ${end - start}ms`);\n }\n\n return data;\n } catch (e) {\n this.dispatch(EWalletObserverEvents.CONNECT_WALLET_END);\n throw e;\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 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<\n WalletBalanceMap<AssetMetadata> | Error\n > => {\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 [{ Serialization }, typedHex] = await Promise.all([\n getCardanoCore(),\n getCardanoUtil(),\n ]);\n\n let cbor: string;\n try {\n cbor = await this.api.getBalance();\n } catch (e) {\n return e as Error;\n }\n const data = Serialization.Value.fromCbor(typedHex(cbor));\n const multiassetKeys = data.multiasset()?.keys() ?? [];\n\n const metadata = await this.__metadataResolverWithCache([\n ADA_ASSET_ID,\n ...multiassetKeys,\n ]);\n\n const balanceMap = new WalletBalanceMap<AssetMetadata>(this);\n balanceMap.set(\n ADA_ASSET_ID,\n new AssetAmount(data.coin(), metadata.get(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 normalizeAssetIdWithDot(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\n return balanceMap;\n };\n\n /**\n * Gets the current network connection.\n *\n * @returns {Promise<number | Error>} The network ID or an Error from the wallet.\n */\n getNetwork = async (): Promise<number | Error> => {\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 let val: number;\n try {\n val = await this.api.getNetworkId();\n } catch (e) {\n return e as Error;\n }\n\n this.network = val;\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[] | Error> => {\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 [{ Cardano }, typedHex] = await Promise.all([\n getCardanoCore(),\n getCardanoUtil(),\n ]);\n\n let cbor: string[];\n try {\n cbor = await this.api.getUsedAddresses();\n } catch (e) {\n return e as Error;\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[] | Error>} The list of addresses or an Error returned by the wallet.\n */\n getUnusedAddresses = async (): Promise<string[] | Error> => {\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 [{ Cardano }, typedHex] = await Promise.all([\n getCardanoCore(),\n getCardanoUtil(),\n ]);\n\n let cbor: string[];\n try {\n cbor = await this.api.getUnusedAddresses();\n } catch (e) {\n return e as Error;\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<\n TransactionUnspentOutput[] | Error | undefined\n > => {\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 [{ Serialization }, typedHex] = await Promise.all([\n getCardanoCore(),\n getCardanoUtil(),\n ]);\n\n let cbor: string[] | null;\n try {\n cbor = await this.api.getUtxos();\n } catch (e) {\n return e as Error;\n }\n\n const data = cbor?.map((val) => {\n const 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 the fee address set by the wallet, if available.\n *\n * @returns {Promise<string | Error | undefined>} The fee address or an Error.\n */\n getFeeAddress = async (): Promise<string | Error | undefined> => {\n if (!this.api) {\n throw new Error(\n \"Attempted to query fee address without an API instance.\",\n );\n }\n\n const start = performance.now();\n try {\n const address = this.api.experimental?.feeAddress;\n const end = performance.now();\n\n if (this._options.debug) {\n console.log(`getFeeAddress: ${end - start}ms`);\n }\n\n return address;\n } catch (e) {\n return e as Error;\n }\n };\n\n /**\n * Gets a list of wallet UTXOs suitable for collateral.\n *\n * @returns {Promise<TransactionUnspentOutput[] | Error | undefined>} The list of TransactionUnspentOutputs, if there are any, or an Error.\n */\n getCollateral = async (): Promise<\n TransactionUnspentOutput[] | Error | undefined\n > => {\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 [{ Serialization }, typedHex] = await Promise.all([\n getCardanoCore(),\n getCardanoUtil(),\n ]);\n\n let cbor: string[] | null;\n try {\n const funcCall =\n this.api?.getCollateral ||\n (this.api?.experimental.getCollateral as GetCollateral);\n if (typeof funcCall !== \"function\") {\n cbor = [];\n } else {\n cbor = await funcCall();\n }\n } catch (e) {\n return e as Error;\n }\n\n const data = cbor?.map((val) => {\n const 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: assetIds.map(normalizeAssetIdWithDot),\n normalizeAssetId: normalizeAssetIdWithDot,\n isAdaAsset,\n });\n } catch (e) {\n attempts++;\n }\n }\n\n if (!newMetadata) {\n newMetadata = await this.fallbackMetadataResolver({\n assetIds: assetIds.map(normalizeAssetIdWithDot),\n normalizeAssetId: 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":[]}