@sundaeswap/wallet-lite 0.0.55 → 0.0.57

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 (46) hide show
  1. package/dist/cjs/@types/observer.js.map +1 -1
  2. package/dist/cjs/classes/WalletObserver.class.js +27 -35
  3. package/dist/cjs/classes/WalletObserver.class.js.map +1 -1
  4. package/dist/cjs/react-components/WalletObserverProvider/WalletObserverProvider.js.map +1 -1
  5. package/dist/cjs/react-components/WalletObserverProvider/hooks/useWalletObserverState.js.map +1 -1
  6. package/dist/cjs/react-components/hooks/useAvailableExtensions.js +51 -59
  7. package/dist/cjs/react-components/hooks/useAvailableExtensions.js.map +1 -1
  8. package/dist/cjs/react-components/hooks/useWalletHandles.js +7 -10
  9. package/dist/cjs/react-components/hooks/useWalletHandles.js.map +1 -1
  10. package/dist/cjs/utils/getLibs.js +26 -1
  11. package/dist/cjs/utils/getLibs.js.map +1 -1
  12. package/dist/esm/@types/observer.js.map +1 -1
  13. package/dist/esm/classes/WalletObserver.class.js +4 -12
  14. package/dist/esm/classes/WalletObserver.class.js.map +1 -1
  15. package/dist/esm/react-components/WalletObserverProvider/WalletObserverProvider.js.map +1 -1
  16. package/dist/esm/react-components/WalletObserverProvider/hooks/useWalletObserverState.js.map +1 -1
  17. package/dist/esm/react-components/hooks/useAvailableExtensions.js +39 -35
  18. package/dist/esm/react-components/hooks/useAvailableExtensions.js.map +1 -1
  19. package/dist/esm/react-components/hooks/useWalletHandles.js +3 -2
  20. package/dist/esm/react-components/hooks/useWalletHandles.js.map +1 -1
  21. package/dist/esm/utils/getLibs.js +10 -0
  22. package/dist/esm/utils/getLibs.js.map +1 -1
  23. package/dist/types/@types/observer.d.ts +3 -7
  24. package/dist/types/@types/observer.d.ts.map +1 -1
  25. package/dist/types/classes/WalletObserver.class.d.ts +5 -12
  26. package/dist/types/classes/WalletObserver.class.d.ts.map +1 -1
  27. package/dist/types/react-components/WalletObserverProvider/WalletObserverProvider.d.ts.map +1 -1
  28. package/dist/types/react-components/WalletObserverProvider/hooks/useWalletObserverState.d.ts +3 -4
  29. package/dist/types/react-components/WalletObserverProvider/hooks/useWalletObserverState.d.ts.map +1 -1
  30. package/dist/types/react-components/hooks/useAvailableExtensions.d.ts +3 -3
  31. package/dist/types/react-components/hooks/useAvailableExtensions.d.ts.map +1 -1
  32. package/dist/types/react-components/hooks/useWalletHandles.d.ts.map +1 -1
  33. package/dist/types/tsconfig.build.tsbuildinfo +1 -1
  34. package/dist/types/utils/getLibs.d.ts +5 -0
  35. package/dist/types/utils/getLibs.d.ts.map +1 -1
  36. package/package.json +1 -1
  37. package/src/@types/observer.ts +4 -21
  38. package/src/classes/WalletObserver.class.ts +12 -29
  39. package/src/classes/__tests__/WalletObserver.test.ts +9 -22
  40. package/src/react-components/WalletObserverProvider/WalletObserverProvider.tsx +3 -5
  41. package/src/react-components/WalletObserverProvider/hooks/useWalletObserverState.ts +2 -4
  42. package/src/react-components/__tests__/__snapshots__/RenderWalletHandles.test.tsx.snap +0 -2
  43. package/src/react-components/__tests__/hooks/useAvailableExtensions.test.tsx +8 -6
  44. package/src/react-components/hooks/useAvailableExtensions.ts +52 -42
  45. package/src/react-components/hooks/useWalletHandles.ts +4 -6
  46. package/src/utils/getLibs.ts +11 -0
@@ -1 +1 @@
1
- {"version":3,"file":"observer.js","names":[],"sources":["../../../src/@types/observer.ts"],"sourcesContent":["import type { TransactionUnspentOutput } from \"@cardano-sdk/core/dist/cjs/Serialization/index.js\";\nimport type { Cip30WalletApi } from \"@cardano-sdk/dapp-connector\";\nimport type { DAppPeerConnect } from \"@fabianbormann/cardano-peer-connect\";\nimport type { DAppPeerConnectParameters } from \"@fabianbormann/cardano-peer-connect/dist/src/types.js\";\nimport type { IAssetAmountMetadata } from \"@sundaeswap/asset\";\n\nimport { WalletAssetMap } from \"../classes/WalletAssetMap.class.js\";\nimport { WalletBalanceMap } from \"../classes/WalletBalanceMap.class.js\";\nimport { isAdaAsset, normalizeAssetIdWithDot } from \"../utils/assets.js\";\n\n/**\n * A list of support CIP-30 wallet extensions in the browser.\n */\nexport type TSupportedWalletExtensions =\n | \"nami\"\n | \"eternl\"\n | \"typhoncip30\"\n | \"ccvault\"\n | \"typhon\"\n | \"yoroi\"\n | \"flint\"\n | \"gerowallet\"\n | \"cardwallet\"\n | \"nufi\"\n | \"begin\"\n | \"lace\"\n | \"sorbet\";\n\n/**\n * Interface to describe window extension.\n */\nexport interface IWindowCip30Extension {\n apiVersion: string;\n enable: () => Promise<Cip30WalletApi>;\n icon: string;\n isEnabled: () => Promise<boolean>;\n name: TSupportedWalletExtensions;\n}\n\n/**\n * Interface to describe our expected window configuration.\n */\nexport type TWindowCardano = {\n [K in TSupportedWalletExtensions]?: IWindowCip30Extension;\n};\n\n/**\n * Describes the function arguments for the metadata resolver.\n */\nexport interface IMetadataResolverFuncArgs {\n assetIds: string[];\n normalizeAssetId: typeof normalizeAssetIdWithDot;\n isAdaAsset: typeof isAdaAsset;\n}\n\n/**\n * The metadata resolver should return a map composed of\n * the asset ID as the key, and the metadata as the value.\n */\nexport type TMetadataResolverFunc<\n T extends IAssetAmountMetadata = IAssetAmountMetadata,\n> = (args: IMetadataResolverFuncArgs) => Promise<Map<string, T>>;\n\n/**\n * Options that are passed to the WalletObserver instance.\n */\nexport interface IResolvedWalletObserverOptions<\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata,\n> {\n metadataResolver: TMetadataResolverFunc<AssetMetadata>;\n persistence: boolean;\n peerConnectArgs: DAppPeerConnectParameters;\n connectTimeout: number;\n debug: boolean;\n}\n\n/**\n * Options that are passed to the WalletObserver instance.\n */\nexport type TWalletObserverOptions<\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata,\n> = Partial<IResolvedWalletObserverOptions<AssetMetadata>>;\n\n/**\n * Interface describing the Map type of an asset.\n */\nexport type TAssetAmountMap<\n T extends IAssetAmountMetadata = IAssetAmountMetadata,\n> = WalletAssetMap<T>;\n\n/**\n * Interface describing the structure of the persistent\n * data located in local storage.\n */\nexport interface IWalletObserverSeed {\n activeWallet: TSupportedWalletExtensions;\n mainAddress: string;\n}\n\n/**\n * The return type for the WalletObserver.getCip45Instance\n * method.\n */\nexport type TGetPeerConnectInstance = () => {\n name: string;\n icon: string | null;\n instance: DAppPeerConnect;\n};\n\nexport interface IWalletObserverSync<\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata,\n> {\n balanceMap: WalletBalanceMap<AssetMetadata>;\n usedAddresses: string[];\n unusedAddresses: string[];\n utxos?: TransactionUnspentOutput[];\n network: number;\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"observer.js","names":[],"sources":["../../../src/@types/observer.ts"],"sourcesContent":["import type { TransactionUnspentOutput } from \"@cardano-sdk/core/dist/cjs/Serialization/index.js\";\nimport type { Cip30WalletApi } from \"@cardano-sdk/dapp-connector\";\nimport type { DAppPeerConnect } from \"@fabianbormann/cardano-peer-connect\";\nimport type { DAppPeerConnectParameters } from \"@fabianbormann/cardano-peer-connect/dist/src/types.js\";\nimport type { IAssetAmountMetadata } from \"@sundaeswap/asset\";\n\nimport { WalletAssetMap } from \"../classes/WalletAssetMap.class.js\";\nimport { WalletBalanceMap } from \"../classes/WalletBalanceMap.class.js\";\nimport { isAdaAsset, normalizeAssetIdWithDot } from \"../utils/assets.js\";\n\n/**\n * Interface to describe window extension.\n */\nexport interface IWindowCip30Extension {\n apiVersion: string;\n enable: () => Promise<Cip30WalletApi>;\n icon: string;\n isEnabled: () => Promise<boolean>;\n name: string;\n}\n\n/**\n * Interface to describe our expected window configuration.\n */\nexport type TWindowCardano = {\n // eslint-disable-next-line\n [key: string]: any;\n};\n\n/**\n * Describes the function arguments for the metadata resolver.\n */\nexport interface IMetadataResolverFuncArgs {\n assetIds: string[];\n normalizeAssetId: typeof normalizeAssetIdWithDot;\n isAdaAsset: typeof isAdaAsset;\n}\n\n/**\n * The metadata resolver should return a map composed of\n * the asset ID as the key, and the metadata as the value.\n */\nexport type TMetadataResolverFunc<\n T extends IAssetAmountMetadata = IAssetAmountMetadata,\n> = (args: IMetadataResolverFuncArgs) => Promise<Map<string, T>>;\n\n/**\n * Options that are passed to the WalletObserver instance.\n */\nexport interface IResolvedWalletObserverOptions<\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata,\n> {\n metadataResolver: TMetadataResolverFunc<AssetMetadata>;\n persistence: boolean;\n peerConnectArgs: DAppPeerConnectParameters;\n connectTimeout: number;\n debug: boolean;\n}\n\n/**\n * Options that are passed to the WalletObserver instance.\n */\nexport type TWalletObserverOptions<\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata,\n> = Partial<IResolvedWalletObserverOptions<AssetMetadata>>;\n\n/**\n * Interface describing the Map type of an asset.\n */\nexport type TAssetAmountMap<\n T extends IAssetAmountMetadata = IAssetAmountMetadata,\n> = WalletAssetMap<T>;\n\n/**\n * Interface describing the structure of the persistent\n * data located in local storage.\n */\nexport interface IWalletObserverSeed {\n activeWallet: string;\n mainAddress: string;\n}\n\n/**\n * The return type for the WalletObserver.getCip45Instance\n * method.\n */\nexport type TGetPeerConnectInstance = () => {\n name: string;\n icon: string | null;\n instance: DAppPeerConnect;\n};\n\nexport interface IWalletObserverSync<\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata,\n> {\n balanceMap: WalletBalanceMap<AssetMetadata>;\n usedAddresses: string[];\n unusedAddresses: string[];\n utxos?: TransactionUnspentOutput[];\n network: number;\n}\n"],"mappings":"","ignoreList":[]}
@@ -75,7 +75,6 @@ var WalletObserver = exports.WalletObserver = /*#__PURE__*/function (_WalletObse
75
75
  _defineProperty(_this, "peerConnectInstance", void 0);
76
76
  _defineProperty(_this, "_performingSync", false);
77
77
  _defineProperty(_this, "_options", void 0);
78
- _defineProperty(_this, "_supportedExtensions", ["eternl", "lace", "typhon", "sorbet", "flint", "nami"]);
79
78
  // Caching
80
79
  _defineProperty(_this, "_cachedMetadata", new Map());
81
80
  /**
@@ -176,12 +175,12 @@ var WalletObserver = exports.WalletObserver = /*#__PURE__*/function (_WalletObse
176
175
  * Synchronizes the API with the wallet. This is useful if the account has changed,
177
176
  * but the underlying intent has not.
178
177
  *
179
- * @param {TSupportedWalletExtensions} [activeWallet] - The wallet to sync with.
178
+ * @param {string} [activeWallet] - The wallet to sync with.
180
179
  * @returns {Promise<Cip30WalletApi | undefined>} - A promise that resolves to the API instance.
181
180
  */
182
181
  _defineProperty(_this, "syncApi", /*#__PURE__*/function () {
183
182
  var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(activeWallet) {
184
- var selectedWallet, attempts, shouldContinue, _window$cardano, api;
183
+ var selectedWallet, attempts, shouldContinue, _window, _window2, _cardano$selectedWall, cardano, api;
185
184
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
186
185
  while (1) switch (_context2.prev = _context2.next) {
187
186
  case 0:
@@ -196,7 +195,7 @@ var WalletObserver = exports.WalletObserver = /*#__PURE__*/function (_WalletObse
196
195
  shouldContinue = true;
197
196
  case 5:
198
197
  if (!shouldContinue) {
199
- _context2.next = 31;
198
+ _context2.next = 32;
200
199
  break;
201
200
  }
202
201
  if (!(attempts === 10)) {
@@ -206,50 +205,51 @@ var WalletObserver = exports.WalletObserver = /*#__PURE__*/function (_WalletObse
206
205
  throw new Error("Could not reconnect to the selected wallet. Please check your extension.");
207
206
  case 8:
208
207
  _context2.prev = 8;
209
- _context2.next = 11;
210
- return (_window$cardano = window.cardano) === null || _window$cardano === void 0 || (_window$cardano = _window$cardano[selectedWallet]) === null || _window$cardano === void 0 ? void 0 : _window$cardano.enable();
211
- case 11:
208
+ 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);
209
+ _context2.next = 12;
210
+ return cardano === null || cardano === void 0 || (_cardano$selectedWall = cardano[selectedWallet]) === null || _cardano$selectedWall === void 0 ? void 0 : _cardano$selectedWall.enable();
211
+ case 12:
212
212
  api = _context2.sent;
213
213
  if (api) {
214
- _context2.next = 14;
214
+ _context2.next = 15;
215
215
  break;
216
216
  }
217
217
  throw Error;
218
- case 14:
218
+ case 15:
219
219
  _this.api = api;
220
- _context2.next = 17;
220
+ _context2.next = 18;
221
221
  return api.getNetworkId();
222
- case 17:
222
+ case 18:
223
223
  _this.network = _context2.sent;
224
224
  shouldContinue = false;
225
- _context2.next = 29;
225
+ _context2.next = 30;
226
226
  break;
227
- case 21:
228
- _context2.prev = 21;
227
+ case 22:
228
+ _context2.prev = 22;
229
229
  _context2.t0 = _context2["catch"](8);
230
- if (!((_context2.t0 === null || _context2.t0 === void 0 ? void 0 : _context2.t0.message) === "user canceled connection" || (_context2.t0 === null || _context2.t0 === void 0 ? void 0 : _context2.t0.code) === _dappConnector.APIErrorCode.Refused)) {
231
- _context2.next = 26;
230
+ 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)) {
231
+ _context2.next = 27;
232
232
  break;
233
233
  }
234
234
  shouldContinue = false;
235
235
  return _context2.abrupt("return", undefined);
236
- case 26:
237
- _context2.next = 28;
236
+ case 27:
237
+ _context2.next = 29;
238
238
  return new Promise(function (res) {
239
239
  return setTimeout(res, 200);
240
240
  });
241
- case 28:
242
- attempts++;
243
241
  case 29:
242
+ attempts++;
243
+ case 30:
244
244
  _context2.next = 5;
245
245
  break;
246
- case 31:
247
- return _context2.abrupt("return", _this.api);
248
246
  case 32:
247
+ return _context2.abrupt("return", _this.api);
248
+ case 33:
249
249
  case "end":
250
250
  return _context2.stop();
251
251
  }
252
- }, _callee2, null, [[8, 21]]);
252
+ }, _callee2, null, [[8, 22]]);
253
253
  }));
254
254
  return function (_x) {
255
255
  return _ref2.apply(this, arguments);
@@ -273,15 +273,15 @@ var WalletObserver = exports.WalletObserver = /*#__PURE__*/function (_WalletObse
273
273
  */
274
274
  _defineProperty(_this, "connectWallet", /*#__PURE__*/function () {
275
275
  var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(extension) {
276
- var _window$cardano2;
277
- var start, attempts, extensionObject, _this$peerConnectInst, _window$cardano3, api, seed, end;
276
+ var _window$cardano;
277
+ var start, attempts, extensionObject, _this$peerConnectInst, _window$cardano2, api, seed, end;
278
278
  return _regeneratorRuntime().wrap(function _callee3$(_context3) {
279
279
  while (1) switch (_context3.prev = _context3.next) {
280
280
  case 0:
281
281
  start = performance.now();
282
282
  _this.dispatch(_events.EWalletObserverEvents.CONNECT_WALLET_START);
283
283
  attempts = 0;
284
- extensionObject = (_window$cardano2 = window.cardano) === null || _window$cardano2 === void 0 ? void 0 : _window$cardano2[extension]; // Disconnect any CIP45 connections.
284
+ extensionObject = (_window$cardano = window.cardano) === null || _window$cardano === void 0 ? void 0 : _window$cardano[extension]; // Disconnect any CIP45 connections.
285
285
  if (!(extension !== null && extension !== void 0 && extension.includes("p2p"))) {
286
286
  (_this$peerConnectInst = _this.peerConnectInstance) === null || _this$peerConnectInst === void 0 || _this$peerConnectInst.shutdownServer();
287
287
  }
@@ -301,7 +301,7 @@ var WalletObserver = exports.WalletObserver = /*#__PURE__*/function (_WalletObse
301
301
  return setTimeout(res, _this._options.connectTimeout / 40);
302
302
  });
303
303
  case 10:
304
- extensionObject = (_window$cardano3 = window.cardano) === null || _window$cardano3 === void 0 ? void 0 : _window$cardano3[extension];
304
+ extensionObject = (_window$cardano2 = window.cardano) === null || _window$cardano2 === void 0 ? void 0 : _window$cardano2[extension];
305
305
  attempts++;
306
306
  _context3.next = 5;
307
307
  break;
@@ -385,14 +385,6 @@ var WalletObserver = exports.WalletObserver = /*#__PURE__*/function (_WalletObse
385
385
  _defineProperty(_this, "getCachedAssetMetadata", function () {
386
386
  return _this._cachedMetadata;
387
387
  });
388
- /**
389
- * Helper function to retrieve a list of supported wallet extensions.
390
- *
391
- * @returns {keyof TSupportedWalletExtensions[] | undefined}
392
- */
393
- _defineProperty(_this, "getSupportedExtensions", function () {
394
- return _this._supportedExtensions;
395
- });
396
388
  /**
397
389
  * Helper function to restore the class instance to its initial state.
398
390
  *
@@ -1 +1 @@
1
- {"version":3,"file":"WalletObserver.class.js","names":["_dappConnector","require","_asset","_merge","_interopRequireDefault","_events","_assets","_getLibs","_WalletBalanceMapClass","_WalletObserverEvent2","_WalletObserverUtilsClass","e","__esModule","_typeof","o","Symbol","iterator","constructor","prototype","_createForOfIteratorHelper","r","t","Array","isArray","_unsupportedIterableToArray","length","_n","F","s","n","done","value","f","TypeError","a","u","call","next","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","from","_arrayLikeToArray","_regeneratorRuntime","Object","hasOwnProperty","defineProperty","i","c","asyncIterator","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","h","l","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","resolve","__await","then","callInvokeWithMethodAndArg","Error","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","resultName","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","displayName","isGeneratorFunction","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","_catch","delegateYield","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","toString","test","asyncGeneratorStep","_asyncToGenerator","arguments","apply","_next","_throw","_classCallCheck","_defineProperties","_toPropertyKey","key","_createClass","_callSuper","_getPrototypeOf","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","_assertThisInitialized","ReferenceError","Boolean","valueOf","bind","_inherits","_setPrototypeOf","_defineProperty","_toPrimitive","toPrimitive","String","Number","WalletObserver","exports","_WalletObserverEvent","options","_this","Map","_callee","start","newNetwork","_yield$Promise$all","_yield$Promise$all2","newBalanceMap","newUsedAddresses","newUnusedAddresses","newOutputs","newCollateral","result","end","_callee$","_context","api","performance","now","_performingSync","dispatch","EWalletObserverEvents","SYNCING_WALLET_START","getNetwork","t0","syncApi","t1","SYNCING_WALLET_END","CONNECT_WALLET_END","all","getBalanceMap","getUsedAddresses","getUnusedAddresses","getUtxos","getCollateral","balanceMap","usedAddresses","unusedAddresses","utxos","collateral","network","_options","debug","console","log","concat","t2","_ref2","_callee2","activeWallet","selectedWallet","attempts","shouldContinue","_window$cardano","_callee2$","_context2","window","cardano","enable","getNetworkId","message","code","APIErrorCode","Refused","undefined","res","setTimeout","_x","_ref3","_callee3","extension","_window$cardano2","extensionObject","_this$peerConnectInst","_window$cardano3","seed","_callee3$","_context3","CONNECT_WALLET_START","includes","peerConnectInstance","shutdownServer","connectTimeout","persistence","mainAddress","localStorage","setItem","PERSISTENCE_CACHE_KEY","JSON","stringify","_x2","_callee4","DAppPeerConnect","_callee4$","_context4","getPeerConnect","peerConnectArgs","dAppInfo","icon","getIdenticon","instance","_cachedMetadata","_supportedExtensions","removeItem","DISCONNECT","_callee5","_data$multiasset$keys","_data$multiasset","_data$multiasset$entr","_data$multiasset2","_yield$Promise$all3","_yield$Promise$all4","cbor","Serialization","typedHex","data","multiassetKeys","metadata","multiassetEntries","_iterator","_step","_step$value","id","amount","_callee5$","_context5","GET_BALANCE_MAP_START","getBalance","getCardanoCore","getCardanoUtil","Value","fromCbor","multiasset","__metadataResolverWithCache","ADA_ASSET_ID","WalletBalanceMap","set","AssetAmount","coin","get","entries","normalizeAssetIdWithDot","err","GET_BALANCE_MAP_END","_callee6","val","_callee6$","_context6","_callee7","_yield$Promise$all5","_yield$Promise$all6","Cardano","_callee7$","_context7","map","Address","fromBytes","toBech32","_callee8","_yield$Promise$all7","_yield$Promise$all8","_callee8$","_context8","_callee9","_yield$Promise$all9","_yield$Promise$all10","_callee9$","_context9","txOutput","TransactionUnspentOutput","input","output","_callee11","_yield$Promise$all11","_yield$Promise$all12","_callee11$","_context11","_callee10","_this$api","_this$api2","funcCall","_callee10$","_context10","experimental","_ref12","_callee12","assetIds","cachedKeys","inputKeys","_end","newMetadata","_callee12$","_context12","Set","size","every","has","metadataResolver","normalizeAssetId","isAdaAsset","fallbackMetadataResolver","_x3","_ref14","_callee13","_ref13","_callee13$","_context13","assetId","decimals","_x4","merge","url","location","hostname","onApiEject","address","_options$peerConnectA","_options$peerConnectA2","disconnect","onApiInject","_options$peerConnectA3","_options$peerConnectA4","connectWallet","verifyConnection","walletInfo","callback","_walletInfo$requestAu","requestAutoconnect","useWalletDiscovery","announce","isSyncing","hasActiveConnection","_getUtils","_callee14","_callee14$","_context14","utils","WalletObserverUtils","getUtils","WalletObserverEvent"],"sources":["../../../src/classes/WalletObserver.class.ts"],"sourcesContent":["import type { TransactionUnspentOutput } from \"@cardano-sdk/core/dist/cjs/Serialization/index.js\";\nimport {\n APIErrorCode,\n type ApiError,\n type Cip30WalletApi,\n type GetCollateral,\n} from \"@cardano-sdk/dapp-connector\";\nimport { AssetAmount, type IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport merge from \"lodash/merge.js\";\n\nimport { EWalletObserverEvents } from \"../@types/events.js\";\nimport type {\n IResolvedWalletObserverOptions,\n IWalletObserverSeed,\n IWalletObserverSync,\n TMetadataResolverFunc,\n TSupportedWalletExtensions,\n TWalletObserverOptions,\n} from \"../@types/observer.js\";\nimport { isAdaAsset, normalizeAssetIdWithDot } from \"../utils/assets.js\";\nimport {\n getCardanoCore,\n getCardanoUtil,\n getPeerConnect,\n} from \"../utils/getLibs.js\";\nimport { WalletBalanceMap } from \"./WalletBalanceMap.class.js\";\nimport { WalletObserverEvent } from \"./WalletObserverEvent.js\";\nimport { WalletObserverUtils } from \"./WalletObserverUtils.class.js\";\n\n/**\n * Class representing the Wallet Observer. This is the main interface\n * for interacting with a wallet extension that is available in the\n * browser window. It handles all the deserialization required when\n * querying raw data from a CIP-30 API, and converts it to readable and\n * usable interfaces.\n *\n * Notably, it extends the WalletObserverEvent class which\n * acts as an internal event handler to hook into actions, such as connecting,\n * syncing, and disconnecting.\n *\n * @template AssetMetadata - Type extending IAssetAmountMetadata.\n * @extends {WalletObserverEvent}\n */\nexport class WalletObserver<\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata,\n> extends WalletObserverEvent {\n static PERSISTENCE_CACHE_KEY = \"walletObserver\";\n static ADA_ASSET_ID = \"ada.lovelace\";\n public network: number = 0;\n public api?: Cip30WalletApi;\n public activeWallet?: TSupportedWalletExtensions;\n public utils?: WalletObserverUtils;\n public peerConnectInstance?: import(\"@fabianbormann/cardano-peer-connect\").DAppPeerConnect;\n\n private _performingSync: boolean = false;\n private _options: IResolvedWalletObserverOptions<AssetMetadata>;\n private _supportedExtensions: TSupportedWalletExtensions[] = [\n \"eternl\",\n \"lace\",\n \"typhon\",\n \"sorbet\",\n \"flint\",\n \"nami\",\n ];\n\n // Caching\n private _cachedMetadata: Map<string, AssetMetadata> = new Map();\n\n /**\n * Creates an instance of WalletObserver.\n *\n * @param {Partial<TWalletObserverOptions<AssetMetadata>>} [options] - Options for the wallet observer.\n */\n constructor(options?: Partial<TWalletObserverOptions<AssetMetadata>>) {\n super();\n\n // Set options.\n this._options = merge<IResolvedWalletObserverOptions, typeof options>(\n {\n metadataResolver: this.fallbackMetadataResolver,\n persistence: false,\n connectTimeout: 10000,\n debug: false,\n peerConnectArgs: {\n dAppInfo: {\n name: \"Placeholder dApp Connecter Name\",\n url: window.location.hostname,\n },\n onApiEject: (name, address) => {\n options?.peerConnectArgs?.onApiEject?.(name, address);\n this.disconnect();\n },\n onApiInject: (name, address) => {\n options?.peerConnectArgs?.onApiInject?.(name, address);\n this.connectWallet(name as TSupportedWalletExtensions);\n },\n verifyConnection(walletInfo, callback) {\n return callback(true, walletInfo.requestAutoconnect ?? true);\n },\n useWalletDiscovery: true,\n announce: [\n \"wss://tracker.de-5.eternl.art\",\n \"wss://tracker.de-6.eternl.art\",\n \"wss://tracker.us-5.eternl.art\",\n ],\n },\n },\n options,\n );\n\n if (!this._options.persistence) {\n return;\n }\n }\n\n /**\n * Synchronizes the wallet. This method handles syncing the class\n * against the currently selected active wallet. If the wallet has\n * changed networks, or if the account within the wallet has changed,\n * this method will automatically attempt to reconcile this error before\n * eventually throwing.\n *\n * In the event that a promise will not resolve due to external issues,\n * after 7 seconds, a timeout function will fire that resets the API and tries again.\n *\n * @returns {Promise<IWalletObserverSync<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 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.dispatch(EWalletObserverEvents.CONNECT_WALLET_END);\n this._performingSync = false;\n throw e;\n }\n }\n\n const [\n newBalanceMap,\n newUsedAddresses,\n newUnusedAddresses,\n newOutputs,\n newCollateral,\n ] = await Promise.all([\n this.getBalanceMap(),\n this.getUsedAddresses(),\n this.getUnusedAddresses(),\n this.getUtxos(),\n this.getCollateral(),\n ]);\n\n const result = {\n balanceMap: newBalanceMap,\n usedAddresses: newUsedAddresses,\n unusedAddresses: newUnusedAddresses,\n utxos: newOutputs,\n collateral: newCollateral,\n network: newNetwork,\n };\n\n const end = performance.now();\n if (this._options.debug) {\n console.log(`sync: ${end - start}ms`);\n }\n\n this.dispatch(EWalletObserverEvents.SYNCING_WALLET_END, result);\n this.dispatch(EWalletObserverEvents.CONNECT_WALLET_END);\n this._performingSync = false;\n return result;\n } catch (e) {\n this._performingSync = false;\n this.dispatch(EWalletObserverEvents.SYNCING_WALLET_END);\n this.dispatch(EWalletObserverEvents.CONNECT_WALLET_END);\n throw e;\n }\n };\n\n /**\n * Helper method to check if the class is currently performing a sync\n * operation. This is useful to avoid duplicate calls, but does not\n * prevent it within the class.\n *\n * @returns {boolean}\n */\n isSyncing(): boolean {\n return this._performingSync;\n }\n\n /**\n * Helper method to check if the instance has an active connection.\n *\n * @returns {boolean}\n */\n hasActiveConnection(): boolean {\n return Boolean(this.activeWallet && this.api);\n }\n\n /**\n * Synchronizes the API with the wallet. This is useful if the account has changed,\n * but the underlying intent has not.\n *\n * @param {TSupportedWalletExtensions} [activeWallet] - The wallet to sync with.\n * @returns {Promise<Cip30WalletApi | undefined>} - A promise that resolves to the API instance.\n */\n syncApi = async (\n activeWallet?: TSupportedWalletExtensions,\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 =\n activeWallet || (this.activeWallet as TSupportedWalletExtensions);\n\n let attempts = 0;\n let shouldContinue = true;\n\n while (shouldContinue) {\n if (attempts === 10) {\n throw new Error(\n \"Could not reconnect to the selected wallet. Please check your extension.\",\n );\n }\n\n try {\n const api = await window.cardano?.[selectedWallet]?.enable();\n\n if (!api) {\n throw Error;\n }\n\n this.api = api;\n this.network = await api.getNetworkId();\n shouldContinue = false;\n } catch (e) {\n if (\n (e as Error)?.message === \"user canceled connection\" ||\n (e as ApiError)?.code === APIErrorCode.Refused\n ) {\n shouldContinue = false;\n return undefined;\n }\n\n await new Promise((res) => setTimeout(res, 200));\n attempts++;\n }\n }\n\n return this.api;\n };\n\n /**\n * Gets the options for the wallet observer.\n *\n * @returns {TWalletObserverOptions} - The wallet observer options.\n */\n getOptions = (): TWalletObserverOptions => {\n return this._options;\n };\n\n /**\n * Attempts to connect a wallet using the global window\n * reference. If no reference is found, it will retry for\n * 10 seconds before throw an error.\n *\n * @param {string} extension The name of the extension to enable.\n * @return {Promise<void>}\n */\n connectWallet = async (\n extension: TSupportedWalletExtensions,\n ): Promise<void> => {\n const start = performance.now();\n this.dispatch(EWalletObserverEvents.CONNECT_WALLET_START);\n\n let attempts = 0;\n let extensionObject = window.cardano?.[extension];\n\n // Disconnect any CIP45 connections.\n if (!extension?.includes(\"p2p\")) {\n this.peerConnectInstance?.shutdownServer();\n }\n\n while (typeof extensionObject === \"undefined\") {\n if (attempts === 40) {\n break;\n }\n\n await new Promise((res) =>\n setTimeout(res, (this._options.connectTimeout as number) / 40),\n );\n extensionObject = window.cardano?.[extension];\n attempts++;\n }\n\n if (!extensionObject) {\n throw new Error(\"Wallet extension not found in the global context.\");\n }\n\n const api = await this.syncApi(extension);\n\n this.activeWallet = extension;\n if (this._options.persistence && api) {\n const seed: IWalletObserverSeed = {\n activeWallet: extension,\n mainAddress: (await this.getUsedAddresses())[0],\n };\n\n window.localStorage.setItem(\n WalletObserver.PERSISTENCE_CACHE_KEY,\n JSON.stringify(seed),\n );\n }\n\n const end = performance.now();\n if (this._options.debug) {\n console.log(`connectWallet: ${end - start}ms`);\n }\n };\n\n getCip45Instance = async () => {\n const start = performance.now();\n if (!this.peerConnectInstance) {\n const DAppPeerConnect = await getPeerConnect();\n this.peerConnectInstance = new DAppPeerConnect(\n this._options.peerConnectArgs,\n );\n }\n\n const end = performance.now();\n if (this._options.debug) {\n console.log(`getCip45Instance: ${end - start}ms`);\n }\n\n return {\n name: this._options.peerConnectArgs.dAppInfo.name,\n icon: this.peerConnectInstance.getIdenticon(),\n instance: this.peerConnectInstance,\n };\n };\n\n /**\n * Helper function to retrieve the currently cached metadata.\n *\n * @returns {Map<string, AssetMetadata>}\n */\n getCachedAssetMetadata = (): Map<string, AssetMetadata> =>\n this._cachedMetadata;\n\n /**\n * Helper function to retrieve a list of supported wallet extensions.\n *\n * @returns {keyof TSupportedWalletExtensions[] | undefined}\n */\n getSupportedExtensions = (): TSupportedWalletExtensions[] => {\n return this._supportedExtensions;\n };\n\n /**\n * Helper function to restore the class instance to its initial state.\n *\n * @returns {void}\n */\n disconnect = (): void => {\n this.activeWallet = undefined;\n this.api = undefined;\n window.localStorage.removeItem(WalletObserver.PERSISTENCE_CACHE_KEY);\n this.dispatch(EWalletObserverEvents.DISCONNECT);\n };\n\n /**\n * Retrieves the balance of the wallet, including metadata for each asset.\n *\n * @returns {Promise<WalletBalanceMap<AssetMetadata>>} - A promise that resolves to a map of asset amounts keyed by asset IDs.\n */\n getBalanceMap = async (): Promise<WalletBalanceMap<AssetMetadata>> => {\n if (!this.api) {\n throw new Error(\"Attempted to query balance without an API instance.\");\n }\n\n const start = performance.now();\n\n this.dispatch(EWalletObserverEvents.GET_BALANCE_MAP_START);\n const [cbor, { Serialization }, typedHex] = await Promise.all([\n this.api.getBalance(),\n getCardanoCore(),\n getCardanoUtil(),\n ]);\n\n const data = Serialization.Value.fromCbor(typedHex(cbor));\n const multiassetKeys = data.multiasset()?.keys() ?? [];\n\n const metadata = await this.__metadataResolverWithCache([\n WalletObserver.ADA_ASSET_ID,\n ...multiassetKeys,\n ]);\n\n const balanceMap = new WalletBalanceMap<AssetMetadata>(this);\n balanceMap.set(\n WalletObserver.ADA_ASSET_ID,\n new AssetAmount(data.coin(), metadata.get(WalletObserver.ADA_ASSET_ID)),\n );\n\n const multiassetEntries = data.multiasset()?.entries() ?? [];\n if (multiassetEntries) {\n for (const [id, amount] of multiassetEntries) {\n balanceMap.set(\n id,\n new AssetAmount(amount, metadata.get(normalizeAssetIdWithDot(id))),\n );\n }\n }\n\n this.dispatch(EWalletObserverEvents.GET_BALANCE_MAP_END, {\n balanceMap,\n });\n\n const end = performance.now();\n if (this._options.debug) {\n console.log(`getBalanceMap: ${end - start}ms`);\n }\n return balanceMap;\n };\n\n /**\n * Gets the current network connection.\n *\n * @returns {Promise<number>} The network ID.\n */\n getNetwork = async (): Promise<number> => {\n if (!this.api) {\n throw new Error(\"Attempted to query network without an API instance.\");\n }\n\n const start = performance.now();\n\n const val = await this.api.getNetworkId();\n this.network = val;\n\n const end = performance.now();\n if (this._options.debug) {\n console.log(`getNetwork: ${end - start}ms`);\n }\n return val;\n };\n\n /**\n * Gets a list of used addresses, encoded as Bech32.\n *\n * @returns {Promise<string[]>} The list of addresses.\n */\n getUsedAddresses = async (): Promise<string[]> => {\n if (!this.api) {\n throw new Error(\n \"Attempted to query used addresses without an API instance.\",\n );\n }\n\n const start = performance.now();\n\n const [cbor, { Cardano }, typedHex] = await Promise.all([\n this.api.getUsedAddresses(),\n getCardanoCore(),\n getCardanoUtil(),\n ]);\n\n const data = cbor.map((val) =>\n Cardano.Address.fromBytes(typedHex(val)).toBech32(),\n );\n\n const end = performance.now();\n if (this._options.debug) {\n console.log(`getUsedAddresses: ${end - start}ms`);\n }\n return data;\n };\n\n /**\n * Gets a list of unused addresses, encoded as Bech32.\n *\n * @returns {Promise<string[]>} The list of addresses.\n */\n getUnusedAddresses = async (): Promise<string[]> => {\n if (!this.api) {\n throw new Error(\n \"Attempted to query unused addresses without an API instance.\",\n );\n }\n\n const start = performance.now();\n\n const [cbor, { Cardano }, typedHex] = await Promise.all([\n this.api.getUnusedAddresses(),\n getCardanoCore(),\n getCardanoUtil(),\n ]);\n\n const data = cbor.map((val) =>\n Cardano.Address.fromBytes(typedHex(val)).toBech32(),\n );\n\n const end = performance.now();\n if (this._options.debug) {\n console.log(`getUnusedAddresses: ${end - start}ms`);\n }\n return data;\n };\n\n /**\n * Gets a list of wallet UTXOs.\n *\n * @returns {Promise<TransactionUnspentOutput[]>} The list of TransactionUnspentOutputs.\n */\n getUtxos = async (): Promise<TransactionUnspentOutput[] | undefined> => {\n if (!this.api) {\n throw new Error(\"Attempted to query UTXOs without an API instance.\");\n }\n\n const start = performance.now();\n\n const [cbor, { Serialization }, typedHex] = await Promise.all([\n this.api.getUtxos(),\n getCardanoCore(),\n getCardanoUtil(),\n ]);\n\n const data = cbor?.map((val) => {\n 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 a list of wallet UTXOs suitable for collateral.\n *\n * @returns {Promise<TransactionUnspentOutput[]>} The list of TransactionUnspentOutputs.\n */\n getCollateral = async (): Promise<TransactionUnspentOutput[] | undefined> => {\n if (!this.api) {\n throw new Error(\"Attempted to query UTXOs without an API instance.\");\n }\n\n const start = performance.now();\n\n const [cbor, { Serialization }, typedHex] = await Promise.all([\n (async () => {\n const funcCall =\n this.api?.getCollateral ||\n (this.api?.experimental.getCollateral as GetCollateral);\n if (typeof funcCall !== \"function\") {\n return [];\n }\n\n return await funcCall();\n })(),\n getCardanoCore(),\n getCardanoUtil(),\n ]);\n\n const data = cbor?.map((val) => {\n 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","_assets","_getLibs","_WalletBalanceMapClass","_WalletObserverEvent2","_WalletObserverUtilsClass","e","__esModule","_typeof","o","Symbol","iterator","constructor","prototype","_createForOfIteratorHelper","r","t","Array","isArray","_unsupportedIterableToArray","length","_n","F","s","n","done","value","f","TypeError","a","u","call","next","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","from","_arrayLikeToArray","_regeneratorRuntime","Object","hasOwnProperty","defineProperty","i","c","asyncIterator","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","h","l","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","resolve","__await","then","callInvokeWithMethodAndArg","Error","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","resultName","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","displayName","isGeneratorFunction","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","_catch","delegateYield","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","toString","test","asyncGeneratorStep","_asyncToGenerator","arguments","apply","_next","_throw","_classCallCheck","_defineProperties","_toPropertyKey","key","_createClass","_callSuper","_getPrototypeOf","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","_assertThisInitialized","ReferenceError","Boolean","valueOf","bind","_inherits","_setPrototypeOf","_defineProperty","_toPrimitive","toPrimitive","String","Number","WalletObserver","exports","_WalletObserverEvent","options","_this","Map","_callee","start","newNetwork","_yield$Promise$all","_yield$Promise$all2","newBalanceMap","newUsedAddresses","newUnusedAddresses","newOutputs","newCollateral","result","end","_callee$","_context","api","performance","now","_performingSync","dispatch","EWalletObserverEvents","SYNCING_WALLET_START","getNetwork","t0","syncApi","t1","SYNCING_WALLET_END","CONNECT_WALLET_END","all","getBalanceMap","getUsedAddresses","getUnusedAddresses","getUtxos","getCollateral","balanceMap","usedAddresses","unusedAddresses","utxos","collateral","network","_options","debug","console","log","concat","t2","_ref2","_callee2","activeWallet","selectedWallet","attempts","shouldContinue","_window","_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","seed","_callee3$","_context3","CONNECT_WALLET_START","peerConnectInstance","shutdownServer","connectTimeout","persistence","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","cbor","Serialization","typedHex","data","multiassetKeys","metadata","multiassetEntries","_iterator","_step","_step$value","id","amount","_callee5$","_context5","GET_BALANCE_MAP_START","getBalance","getCardanoCore","getCardanoUtil","Value","fromCbor","multiasset","__metadataResolverWithCache","ADA_ASSET_ID","WalletBalanceMap","set","AssetAmount","coin","get","entries","normalizeAssetIdWithDot","err","GET_BALANCE_MAP_END","_callee6","val","_callee6$","_context6","_callee7","_yield$Promise$all5","_yield$Promise$all6","Cardano","_callee7$","_context7","map","Address","fromBytes","toBech32","_callee8","_yield$Promise$all7","_yield$Promise$all8","_callee8$","_context8","_callee9","_yield$Promise$all9","_yield$Promise$all10","_callee9$","_context9","txOutput","TransactionUnspentOutput","input","output","_callee11","_yield$Promise$all11","_yield$Promise$all12","_callee11$","_context11","_callee10","_this$api","_this$api2","funcCall","_callee10$","_context10","experimental","_ref12","_callee12","assetIds","cachedKeys","inputKeys","_end","newMetadata","_callee12$","_context12","Set","size","every","has","metadataResolver","normalizeAssetId","isAdaAsset","fallbackMetadataResolver","_x3","_ref14","_callee13","_ref13","_callee13$","_context13","assetId","decimals","_x4","merge","url","location","hostname","onApiEject","address","_options$peerConnectA","_options$peerConnectA2","disconnect","onApiInject","_options$peerConnectA3","_options$peerConnectA4","connectWallet","verifyConnection","walletInfo","callback","_walletInfo$requestAu","requestAutoconnect","useWalletDiscovery","announce","isSyncing","hasActiveConnection","_getUtils","_callee14","_callee14$","_context14","utils","WalletObserverUtils","getUtils","WalletObserverEvent"],"sources":["../../../src/classes/WalletObserver.class.ts"],"sourcesContent":["import type { TransactionUnspentOutput } from \"@cardano-sdk/core/dist/cjs/Serialization/index.js\";\nimport {\n APIErrorCode,\n type ApiError,\n type Cip30WalletApi,\n type GetCollateral,\n} from \"@cardano-sdk/dapp-connector\";\nimport { AssetAmount, type IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport merge from \"lodash/merge.js\";\n\nimport { EWalletObserverEvents } from \"../@types/events.js\";\nimport type {\n IResolvedWalletObserverOptions,\n IWalletObserverSeed,\n IWalletObserverSync,\n TMetadataResolverFunc,\n TWalletObserverOptions,\n} from \"../@types/observer.js\";\nimport { isAdaAsset, normalizeAssetIdWithDot } from \"../utils/assets.js\";\nimport {\n getCardanoCore,\n getCardanoUtil,\n getPeerConnect,\n} from \"../utils/getLibs.js\";\nimport { WalletBalanceMap } from \"./WalletBalanceMap.class.js\";\nimport { WalletObserverEvent } from \"./WalletObserverEvent.js\";\nimport { WalletObserverUtils } from \"./WalletObserverUtils.class.js\";\n\n/**\n * Class representing the Wallet Observer. This is the main interface\n * for interacting with a wallet extension that is available in the\n * browser window. It handles all the deserialization required when\n * querying raw data from a CIP-30 API, and converts it to readable and\n * usable interfaces.\n *\n * Notably, it extends the WalletObserverEvent class which\n * acts as an internal event handler to hook into actions, such as connecting,\n * syncing, and disconnecting.\n *\n * @template AssetMetadata - Type extending IAssetAmountMetadata.\n * @extends {WalletObserverEvent}\n */\nexport class WalletObserver<\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata,\n> extends WalletObserverEvent {\n static PERSISTENCE_CACHE_KEY = \"walletObserver\";\n static ADA_ASSET_ID = \"ada.lovelace\";\n public network: number = 0;\n public api?: Cip30WalletApi;\n public activeWallet?: 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 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.dispatch(EWalletObserverEvents.CONNECT_WALLET_END);\n this._performingSync = false;\n throw e;\n }\n }\n\n const [\n newBalanceMap,\n newUsedAddresses,\n newUnusedAddresses,\n newOutputs,\n newCollateral,\n ] = await Promise.all([\n this.getBalanceMap(),\n this.getUsedAddresses(),\n this.getUnusedAddresses(),\n this.getUtxos(),\n this.getCollateral(),\n ]);\n\n const result = {\n balanceMap: newBalanceMap,\n usedAddresses: newUsedAddresses,\n unusedAddresses: newUnusedAddresses,\n utxos: newOutputs,\n collateral: newCollateral,\n network: newNetwork,\n };\n\n const end = performance.now();\n if (this._options.debug) {\n console.log(`sync: ${end - start}ms`);\n }\n\n this.dispatch(EWalletObserverEvents.SYNCING_WALLET_END, result);\n this.dispatch(EWalletObserverEvents.CONNECT_WALLET_END);\n this._performingSync = false;\n return result;\n } catch (e) {\n this._performingSync = false;\n this.dispatch(EWalletObserverEvents.SYNCING_WALLET_END);\n this.dispatch(EWalletObserverEvents.CONNECT_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<void>}\n */\n connectWallet = async (extension: string): Promise<void> => {\n const start = performance.now();\n this.dispatch(EWalletObserverEvents.CONNECT_WALLET_START);\n\n let attempts = 0;\n let extensionObject = window.cardano?.[extension];\n\n // Disconnect any CIP45 connections.\n if (!extension?.includes(\"p2p\")) {\n this.peerConnectInstance?.shutdownServer();\n }\n\n while (typeof extensionObject === \"undefined\") {\n if (attempts === 40) {\n break;\n }\n\n await new Promise((res) =>\n setTimeout(res, (this._options.connectTimeout as number) / 40),\n );\n extensionObject = window.cardano?.[extension];\n attempts++;\n }\n\n if (!extensionObject) {\n throw new Error(\"Wallet extension not found in the global context.\");\n }\n\n const api = await this.syncApi(extension);\n\n this.activeWallet = extension;\n if (this._options.persistence && api) {\n const seed: IWalletObserverSeed = {\n activeWallet: extension,\n mainAddress: (await this.getUsedAddresses())[0],\n };\n\n window.localStorage.setItem(\n WalletObserver.PERSISTENCE_CACHE_KEY,\n JSON.stringify(seed),\n );\n }\n\n const end = performance.now();\n if (this._options.debug) {\n console.log(`connectWallet: ${end - start}ms`);\n }\n };\n\n getCip45Instance = async () => {\n const start = performance.now();\n if (!this.peerConnectInstance) {\n const DAppPeerConnect = await getPeerConnect();\n this.peerConnectInstance = new DAppPeerConnect(\n this._options.peerConnectArgs,\n );\n }\n\n const end = performance.now();\n if (this._options.debug) {\n console.log(`getCip45Instance: ${end - start}ms`);\n }\n\n return {\n name: this._options.peerConnectArgs.dAppInfo.name,\n icon: this.peerConnectInstance.getIdenticon(),\n instance: this.peerConnectInstance,\n };\n };\n\n /**\n * Helper function to retrieve the currently cached metadata.\n *\n * @returns {Map<string, AssetMetadata>}\n */\n getCachedAssetMetadata = (): Map<string, AssetMetadata> =>\n this._cachedMetadata;\n\n /**\n * Helper function to restore the class instance to its initial state.\n *\n * @returns {void}\n */\n disconnect = (): void => {\n this.activeWallet = undefined;\n this.api = undefined;\n window.localStorage.removeItem(WalletObserver.PERSISTENCE_CACHE_KEY);\n this.dispatch(EWalletObserverEvents.DISCONNECT);\n };\n\n /**\n * Retrieves the balance of the wallet, including metadata for each asset.\n *\n * @returns {Promise<WalletBalanceMap<AssetMetadata>>} - A promise that resolves to a map of asset amounts keyed by asset IDs.\n */\n getBalanceMap = async (): Promise<WalletBalanceMap<AssetMetadata>> => {\n if (!this.api) {\n throw new Error(\"Attempted to query balance without an API instance.\");\n }\n\n const start = performance.now();\n\n this.dispatch(EWalletObserverEvents.GET_BALANCE_MAP_START);\n const [cbor, { Serialization }, typedHex] = await Promise.all([\n this.api.getBalance(),\n getCardanoCore(),\n getCardanoUtil(),\n ]);\n\n const data = Serialization.Value.fromCbor(typedHex(cbor));\n const multiassetKeys = data.multiasset()?.keys() ?? [];\n\n const metadata = await this.__metadataResolverWithCache([\n WalletObserver.ADA_ASSET_ID,\n ...multiassetKeys,\n ]);\n\n const balanceMap = new WalletBalanceMap<AssetMetadata>(this);\n balanceMap.set(\n WalletObserver.ADA_ASSET_ID,\n new AssetAmount(data.coin(), metadata.get(WalletObserver.ADA_ASSET_ID)),\n );\n\n const multiassetEntries = data.multiasset()?.entries() ?? [];\n if (multiassetEntries) {\n for (const [id, amount] of multiassetEntries) {\n balanceMap.set(\n id,\n new AssetAmount(amount, metadata.get(normalizeAssetIdWithDot(id))),\n );\n }\n }\n\n this.dispatch(EWalletObserverEvents.GET_BALANCE_MAP_END, {\n balanceMap,\n });\n\n const end = performance.now();\n if (this._options.debug) {\n console.log(`getBalanceMap: ${end - start}ms`);\n }\n return balanceMap;\n };\n\n /**\n * Gets the current network connection.\n *\n * @returns {Promise<number>} The network ID.\n */\n getNetwork = async (): Promise<number> => {\n if (!this.api) {\n throw new Error(\"Attempted to query network without an API instance.\");\n }\n\n const start = performance.now();\n\n const val = await this.api.getNetworkId();\n this.network = val;\n\n const end = performance.now();\n if (this._options.debug) {\n console.log(`getNetwork: ${end - start}ms`);\n }\n return val;\n };\n\n /**\n * Gets a list of used addresses, encoded as Bech32.\n *\n * @returns {Promise<string[]>} The list of addresses.\n */\n getUsedAddresses = async (): Promise<string[]> => {\n if (!this.api) {\n throw new Error(\n \"Attempted to query used addresses without an API instance.\",\n );\n }\n\n const start = performance.now();\n\n const [cbor, { Cardano }, typedHex] = await Promise.all([\n this.api.getUsedAddresses(),\n getCardanoCore(),\n getCardanoUtil(),\n ]);\n\n const data = cbor.map((val) =>\n Cardano.Address.fromBytes(typedHex(val)).toBech32(),\n );\n\n const end = performance.now();\n if (this._options.debug) {\n console.log(`getUsedAddresses: ${end - start}ms`);\n }\n return data;\n };\n\n /**\n * Gets a list of unused addresses, encoded as Bech32.\n *\n * @returns {Promise<string[]>} The list of addresses.\n */\n getUnusedAddresses = async (): Promise<string[]> => {\n if (!this.api) {\n throw new Error(\n \"Attempted to query unused addresses without an API instance.\",\n );\n }\n\n const start = performance.now();\n\n const [cbor, { Cardano }, typedHex] = await Promise.all([\n this.api.getUnusedAddresses(),\n getCardanoCore(),\n getCardanoUtil(),\n ]);\n\n const data = cbor.map((val) =>\n Cardano.Address.fromBytes(typedHex(val)).toBech32(),\n );\n\n const end = performance.now();\n if (this._options.debug) {\n console.log(`getUnusedAddresses: ${end - start}ms`);\n }\n return data;\n };\n\n /**\n * Gets a list of wallet UTXOs.\n *\n * @returns {Promise<TransactionUnspentOutput[]>} The list of TransactionUnspentOutputs.\n */\n getUtxos = async (): Promise<TransactionUnspentOutput[] | undefined> => {\n if (!this.api) {\n throw new Error(\"Attempted to query UTXOs without an API instance.\");\n }\n\n const start = performance.now();\n\n const [cbor, { Serialization }, typedHex] = await Promise.all([\n this.api.getUtxos(),\n getCardanoCore(),\n getCardanoUtil(),\n ]);\n\n const data = cbor?.map((val) => {\n 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 a list of wallet UTXOs suitable for collateral.\n *\n * @returns {Promise<TransactionUnspentOutput[]>} The list of TransactionUnspentOutputs.\n */\n getCollateral = async (): Promise<TransactionUnspentOutput[] | undefined> => {\n if (!this.api) {\n throw new Error(\"Attempted to query UTXOs without an API instance.\");\n }\n\n const start = performance.now();\n\n const [cbor, { Serialization }, typedHex] = await Promise.all([\n (async () => {\n const funcCall =\n this.api?.getCollateral ||\n (this.api?.experimental.getCollateral as GetCollateral);\n if (typeof funcCall !== \"function\") {\n return [];\n }\n\n return await funcCall();\n })(),\n getCardanoCore(),\n getCardanoUtil(),\n ]);\n\n const data = cbor?.map((val) => {\n 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 +1 @@
1
- {"version":3,"file":"WalletObserverProvider.js","names":["_react","require","_WalletObserverClass","_index","_useDerivedState","_useProviderRefreshInterval","_useProviderWalletObserverRef","_useWalletObserverState","_jsxRuntime","_typeof","o","Symbol","iterator","constructor","prototype","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","toPrimitive","call","TypeError","String","Number","WalletObserverProvider","_ref","children","options","_useProviderWalletObs","useProviderWalletObserverRef","observerOptions","observerRef","connectingWallet","syncingWallet","ready","eventListenersAttached","state","useWalletObserverState","current","useProviderRefreshInterval","syncWallet","refreshInterval","derivedState","useDerivedState","usedAddresses","contextValue","useMemo","observer","useEffect","_observerRef$current","wallet","window","localStorage","getItem","WalletObserver","PERSISTENCE_CACHE_KEY","getOptions","persistence","connectWallet","JSON","parse","activeWallet","jsx","WalletObserverContext","Provider","_default","exports"],"sources":["../../../../src/react-components/WalletObserverProvider/WalletObserverProvider.tsx"],"sourcesContent":["import { FC, PropsWithChildren, useEffect, useMemo } from \"react\";\n\nimport { TSupportedWalletExtensions } from \"../../@types/observer.js\";\nimport { WalletObserver } from \"../../classes/WalletObserver.class.js\";\nimport {\n IWalletObserverProviderProps,\n IWalletObserverState,\n WalletObserverContext,\n} from \"../contexts/observer/index.js\";\nimport { useDerivedState } from \"./hooks/effects/useDerivedState.js\";\nimport { useProviderRefreshInterval } from \"./hooks/effects/useProviderRefreshInterval.js\";\nimport { useProviderWalletObserverRef } from \"./hooks/useProviderWalletObserverRef.js\";\nimport { useWalletObserverState } from \"./hooks/useWalletObserverState.js\";\n\n/**\n * The main context provider component. This handles setting up all the initial\n * state, handlers, and side effects with a new WalletObserver class.\n *\n * @param {IWalletObserverProviderProps} [options]\n * @returns {FC<PropsWithChildren<IWalletObserverProviderProps>>}\n */\nconst WalletObserverProvider: FC<\n PropsWithChildren<IWalletObserverProviderProps>\n> = ({ children, options }) => {\n const {\n observerRef,\n connectingWallet,\n syncingWallet,\n ready,\n eventListenersAttached,\n } = useProviderWalletObserverRef(options?.observerOptions);\n const state = useWalletObserverState(observerRef.current);\n\n useProviderRefreshInterval(\n observerRef.current,\n state.syncWallet,\n options?.refreshInterval,\n );\n\n const derivedState = useDerivedState(observerRef.current, {\n usedAddresses: state.usedAddresses,\n });\n\n // Memoize the context value\n const contextValue: IWalletObserverState = useMemo(\n () => ({\n observerRef: observerRef,\n refreshInterval: options?.refreshInterval || 30000,\n state: {\n ...state,\n ...derivedState,\n observer: observerRef.current,\n connectingWallet,\n syncingWallet,\n ready,\n },\n }),\n [\n options,\n state,\n derivedState,\n connectingWallet,\n syncingWallet,\n ready,\n observerRef.current,\n ],\n );\n\n useEffect(() => {\n if (!eventListenersAttached) {\n return;\n }\n\n const wallet: TSupportedWalletExtensions | null =\n window.localStorage.getItem(\n WalletObserver.PERSISTENCE_CACHE_KEY,\n ) as TSupportedWalletExtensions;\n\n if (wallet && observerRef.current?.getOptions()?.persistence) {\n state.connectWallet(JSON.parse(wallet).activeWallet);\n }\n }, [eventListenersAttached]);\n\n return (\n <WalletObserverContext.Provider value={contextValue}>\n {children}\n </WalletObserverContext.Provider>\n );\n};\n\nexport default WalletObserverProvider;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGA,IAAAC,oBAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAKA,IAAAG,gBAAA,GAAAH,OAAA;AACA,IAAAI,2BAAA,GAAAJ,OAAA;AACA,IAAAK,6BAAA,GAAAL,OAAA;AACA,IAAAM,uBAAA,GAAAN,OAAA;AAA2E,IAAAO,WAAA,GAAAP,OAAA;AAAA,SAAAQ,QAAAC,CAAA,sCAAAD,OAAA,wBAAAE,MAAA,uBAAAA,MAAA,CAAAC,QAAA,aAAAF,CAAA,kBAAAA,CAAA,gBAAAA,CAAA,WAAAA,CAAA,yBAAAC,MAAA,IAAAD,CAAA,CAAAG,WAAA,KAAAF,MAAA,IAAAD,CAAA,KAAAC,MAAA,CAAAG,SAAA,qBAAAJ,CAAA,KAAAD,OAAA,CAAAC,CAAA;AAAA,SAAAK,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAC,MAAA,CAAAC,IAAA,CAAAJ,CAAA,OAAAG,MAAA,CAAAE,qBAAA,QAAAX,CAAA,GAAAS,MAAA,CAAAE,qBAAA,CAAAL,CAAA,GAAAC,CAAA,KAAAP,CAAA,GAAAA,CAAA,CAAAY,MAAA,WAAAL,CAAA,WAAAE,MAAA,CAAAI,wBAAA,CAAAP,CAAA,EAAAC,CAAA,EAAAO,UAAA,OAAAN,CAAA,CAAAO,IAAA,CAAAC,KAAA,CAAAR,CAAA,EAAAR,CAAA,YAAAQ,CAAA;AAAA,SAAAS,cAAAX,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAW,SAAA,CAAAC,MAAA,EAAAZ,CAAA,UAAAC,CAAA,WAAAU,SAAA,CAAAX,CAAA,IAAAW,SAAA,CAAAX,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAI,MAAA,CAAAD,CAAA,OAAAY,OAAA,WAAAb,CAAA,IAAAc,eAAA,CAAAf,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAE,MAAA,CAAAa,yBAAA,GAAAb,MAAA,CAAAc,gBAAA,CAAAjB,CAAA,EAAAG,MAAA,CAAAa,yBAAA,CAAAd,CAAA,KAAAH,OAAA,CAAAI,MAAA,CAAAD,CAAA,GAAAY,OAAA,WAAAb,CAAA,IAAAE,MAAA,CAAAe,cAAA,CAAAlB,CAAA,EAAAC,CAAA,EAAAE,MAAA,CAAAI,wBAAA,CAAAL,CAAA,EAAAD,CAAA,iBAAAD,CAAA;AAAA,SAAAe,gBAAAf,CAAA,EAAAC,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAkB,cAAA,CAAAlB,CAAA,MAAAD,CAAA,GAAAG,MAAA,CAAAe,cAAA,CAAAlB,CAAA,EAAAC,CAAA,IAAAmB,KAAA,EAAAlB,CAAA,EAAAM,UAAA,MAAAa,YAAA,MAAAC,QAAA,UAAAtB,CAAA,CAAAC,CAAA,IAAAC,CAAA,EAAAF,CAAA;AAAA,SAAAmB,eAAAjB,CAAA,QAAAqB,CAAA,GAAAC,YAAA,CAAAtB,CAAA,gCAAAT,OAAA,CAAA8B,CAAA,IAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAtB,CAAA,EAAAD,CAAA,oBAAAR,OAAA,CAAAS,CAAA,MAAAA,CAAA,SAAAA,CAAA,MAAAF,CAAA,GAAAE,CAAA,CAAAP,MAAA,CAAA8B,WAAA,kBAAAzB,CAAA,QAAAuB,CAAA,GAAAvB,CAAA,CAAA0B,IAAA,CAAAxB,CAAA,EAAAD,CAAA,gCAAAR,OAAA,CAAA8B,CAAA,UAAAA,CAAA,YAAAI,SAAA,yEAAA1B,CAAA,GAAA2B,MAAA,GAAAC,MAAA,EAAA3B,CAAA,KAE3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAM4B,sBAEL,GAAG,SAFEA,sBAELA,CAAAC,IAAA,EAA8B;EAAA,IAAxBC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAAEC,OAAO,GAAAF,IAAA,CAAPE,OAAO;EACtB,IAAAC,qBAAA,GAMI,IAAAC,0DAA4B,EAACF,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEG,eAAe,CAAC;IALxDC,WAAW,GAAAH,qBAAA,CAAXG,WAAW;IACXC,gBAAgB,GAAAJ,qBAAA,CAAhBI,gBAAgB;IAChBC,aAAa,GAAAL,qBAAA,CAAbK,aAAa;IACbC,KAAK,GAAAN,qBAAA,CAALM,KAAK;IACLC,sBAAsB,GAAAP,qBAAA,CAAtBO,sBAAsB;EAExB,IAAMC,KAAK,GAAG,IAAAC,8CAAsB,EAACN,WAAW,CAACO,OAAO,CAAC;EAEzD,IAAAC,sDAA0B,EACxBR,WAAW,CAACO,OAAO,EACnBF,KAAK,CAACI,UAAU,EAChBb,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEc,eACX,CAAC;EAED,IAAMC,YAAY,GAAG,IAAAC,gCAAe,EAACZ,WAAW,CAACO,OAAO,EAAE;IACxDM,aAAa,EAAER,KAAK,CAACQ;EACvB,CAAC,CAAC;;EAEF;EACA,IAAMC,YAAkC,GAAG,IAAAC,cAAO,EAChD;IAAA,OAAO;MACLf,WAAW,EAAEA,WAAW;MACxBU,eAAe,EAAE,CAAAd,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEc,eAAe,KAAI,KAAK;MAClDL,KAAK,EAAA/B,aAAA,CAAAA,aAAA,CAAAA,aAAA,KACA+B,KAAK,GACLM,YAAY;QACfK,QAAQ,EAAEhB,WAAW,CAACO,OAAO;QAC7BN,gBAAgB,EAAhBA,gBAAgB;QAChBC,aAAa,EAAbA,aAAa;QACbC,KAAK,EAALA;MAAK;IAET,CAAC;EAAA,CAAC,EACF,CACEP,OAAO,EACPS,KAAK,EACLM,YAAY,EACZV,gBAAgB,EAChBC,aAAa,EACbC,KAAK,EACLH,WAAW,CAACO,OAAO,CAEvB,CAAC;EAED,IAAAU,gBAAS,EAAC,YAAM;IAAA,IAAAC,oBAAA;IACd,IAAI,CAACd,sBAAsB,EAAE;MAC3B;IACF;IAEA,IAAMe,MAAyC,GAC7CC,MAAM,CAACC,YAAY,CAACC,OAAO,CACzBC,mCAAc,CAACC,qBACjB,CAA+B;IAEjC,IAAIL,MAAM,KAAAD,oBAAA,GAAIlB,WAAW,CAACO,OAAO,cAAAW,oBAAA,gBAAAA,oBAAA,GAAnBA,oBAAA,CAAqBO,UAAU,CAAC,CAAC,cAAAP,oBAAA,eAAjCA,oBAAA,CAAmCQ,WAAW,EAAE;MAC5DrB,KAAK,CAACsB,aAAa,CAACC,IAAI,CAACC,KAAK,CAACV,MAAM,CAAC,CAACW,YAAY,CAAC;IACtD;EACF,CAAC,EAAE,CAAC1B,sBAAsB,CAAC,CAAC;EAE5B,oBACE,IAAAjD,WAAA,CAAA4E,GAAA,EAACjF,MAAA,CAAAkF,qBAAqB,CAACC,QAAQ;IAAClD,KAAK,EAAE+B,YAAa;IAAAnB,QAAA,EACjDA;EAAQ,CACqB,CAAC;AAErC,CAAC;AAAC,IAAAuC,QAAA,GAAAC,OAAA,cAEa1C,sBAAsB","ignoreList":[]}
1
+ {"version":3,"file":"WalletObserverProvider.js","names":["_react","require","_WalletObserverClass","_index","_useDerivedState","_useProviderRefreshInterval","_useProviderWalletObserverRef","_useWalletObserverState","_jsxRuntime","_typeof","o","Symbol","iterator","constructor","prototype","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","toPrimitive","call","TypeError","String","Number","WalletObserverProvider","_ref","children","options","_useProviderWalletObs","useProviderWalletObserverRef","observerOptions","observerRef","connectingWallet","syncingWallet","ready","eventListenersAttached","state","useWalletObserverState","current","useProviderRefreshInterval","syncWallet","refreshInterval","derivedState","useDerivedState","usedAddresses","contextValue","useMemo","observer","useEffect","_observerRef$current","wallet","window","localStorage","getItem","WalletObserver","PERSISTENCE_CACHE_KEY","getOptions","persistence","connectWallet","JSON","parse","activeWallet","jsx","WalletObserverContext","Provider","_default","exports"],"sources":["../../../../src/react-components/WalletObserverProvider/WalletObserverProvider.tsx"],"sourcesContent":["import { FC, PropsWithChildren, useEffect, useMemo } from \"react\";\n\nimport { WalletObserver } from \"../../classes/WalletObserver.class.js\";\nimport {\n IWalletObserverProviderProps,\n IWalletObserverState,\n WalletObserverContext,\n} from \"../contexts/observer/index.js\";\nimport { useDerivedState } from \"./hooks/effects/useDerivedState.js\";\nimport { useProviderRefreshInterval } from \"./hooks/effects/useProviderRefreshInterval.js\";\nimport { useProviderWalletObserverRef } from \"./hooks/useProviderWalletObserverRef.js\";\nimport { useWalletObserverState } from \"./hooks/useWalletObserverState.js\";\n\n/**\n * The main context provider component. This handles setting up all the initial\n * state, handlers, and side effects with a new WalletObserver class.\n *\n * @param {IWalletObserverProviderProps} [options]\n * @returns {FC<PropsWithChildren<IWalletObserverProviderProps>>}\n */\nconst WalletObserverProvider: FC<\n PropsWithChildren<IWalletObserverProviderProps>\n> = ({ children, options }) => {\n const {\n observerRef,\n connectingWallet,\n syncingWallet,\n ready,\n eventListenersAttached,\n } = useProviderWalletObserverRef(options?.observerOptions);\n const state = useWalletObserverState(observerRef.current);\n\n useProviderRefreshInterval(\n observerRef.current,\n state.syncWallet,\n options?.refreshInterval,\n );\n\n const derivedState = useDerivedState(observerRef.current, {\n usedAddresses: state.usedAddresses,\n });\n\n // Memoize the context value\n const contextValue: IWalletObserverState = useMemo(\n () => ({\n observerRef: observerRef,\n refreshInterval: options?.refreshInterval || 30000,\n state: {\n ...state,\n ...derivedState,\n observer: observerRef.current,\n connectingWallet,\n syncingWallet,\n ready,\n },\n }),\n [\n options,\n state,\n derivedState,\n connectingWallet,\n syncingWallet,\n ready,\n observerRef.current,\n ],\n );\n\n useEffect(() => {\n if (!eventListenersAttached) {\n return;\n }\n\n const wallet = window.localStorage.getItem(\n WalletObserver.PERSISTENCE_CACHE_KEY,\n );\n\n if (wallet && observerRef.current?.getOptions()?.persistence) {\n state.connectWallet(JSON.parse(wallet).activeWallet);\n }\n }, [eventListenersAttached]);\n\n return (\n <WalletObserverContext.Provider value={contextValue}>\n {children}\n </WalletObserverContext.Provider>\n );\n};\n\nexport default WalletObserverProvider;\n"],"mappings":"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","ignoreList":[]}