@sundaeswap/wallet-lite 0.0.83 → 0.0.84

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (25) hide show
  1. package/dist/cjs/@types/events.js.map +1 -1
  2. package/dist/cjs/classes/WalletObserver.class.js +8 -2
  3. package/dist/cjs/classes/WalletObserver.class.js.map +1 -1
  4. package/dist/cjs/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.js +6 -6
  5. package/dist/cjs/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.js.map +1 -1
  6. package/dist/cjs/react-components/contexts/observer/types.js.map +1 -1
  7. package/dist/esm/@types/events.js.map +1 -1
  8. package/dist/esm/classes/WalletObserver.class.js +8 -2
  9. package/dist/esm/classes/WalletObserver.class.js.map +1 -1
  10. package/dist/esm/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.js +4 -4
  11. package/dist/esm/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.js.map +1 -1
  12. package/dist/esm/react-components/contexts/observer/types.js.map +1 -1
  13. package/dist/types/@types/events.d.ts +6 -2
  14. package/dist/types/@types/events.d.ts.map +1 -1
  15. package/dist/types/classes/WalletObserver.class.d.ts.map +1 -1
  16. package/dist/types/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.d.ts +2 -1
  17. package/dist/types/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.d.ts.map +1 -1
  18. package/dist/types/react-components/contexts/observer/types.d.ts +6 -2
  19. package/dist/types/react-components/contexts/observer/types.d.ts.map +1 -1
  20. package/dist/types/tsconfig.build.tsbuildinfo +1 -1
  21. package/package.json +1 -1
  22. package/src/@types/events.ts +2 -2
  23. package/src/classes/WalletObserver.class.ts +8 -2
  24. package/src/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.ts +17 -5
  25. package/src/react-components/contexts/observer/types.ts +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","names":["EWalletObserverEvents","exports"],"sources":["../../../src/@types/events.ts"],"sourcesContent":["import { IAssetAmountMetadata } from \"@sundaeswap/asset\";\n\nimport { WalletBalanceMap } from \"../classes/WalletBalanceMap.class.js\";\nimport { IWalletObserverSync } from \"./observer.js\";\n\n/**\n * A list of observer events that a client can hook into.\n */\nexport enum EWalletObserverEvents {\n CONNECT_WALLET_START = \"connectWalletStart\",\n CONNECT_WALLET_END = \"connectWalletEnd\",\n SYNCING_WALLET_START = \"syncingWalletStart\",\n SYNCING_WALLET_END = \"syncingWalletEnd\",\n GET_BALANCE_MAP_START = \"getBalanceMapStart\",\n GET_BALANCE_MAP_END = \"getBalanceMapEnd\",\n DISCONNECT = \"disconnect\",\n}\n\n/**\n * A map of what each event passes to the event listener function.\n */\nexport interface IWalletObserverEventValues<\n T extends IAssetAmountMetadata = IAssetAmountMetadata,\n> {\n [EWalletObserverEvents.SYNCING_WALLET_START]: undefined;\n [EWalletObserverEvents.SYNCING_WALLET_END]:\n | undefined\n | IWalletObserverSync<T>;\n [EWalletObserverEvents.CONNECT_WALLET_START]: undefined;\n [EWalletObserverEvents.CONNECT_WALLET_END]:\n | undefined\n | IWalletObserverSync<T>;\n [EWalletObserverEvents.GET_BALANCE_MAP_START]: undefined;\n [EWalletObserverEvents.GET_BALANCE_MAP_END]: {\n balanceMap: WalletBalanceMap<T>;\n };\n [EWalletObserverEvents.DISCONNECT]: undefined;\n}\n\n/**\n * The function declaration so that an even handler can get\n * type definitions for the arguments.\n */\nexport type TWalletObserverEventFunction<\n E extends keyof IWalletObserverEventValues,\n> = (data?: IWalletObserverEventValues[E]) => void;\n"],"mappings":";;;;;;AAKA;AACA;AACA;AAFA,IAGYA,qBAAqB,GAAAC,OAAA,CAAAD,qBAAA,0BAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAAA,OAArBA,qBAAqB;AAAA;AAUjC;AACA;AACA;AAmBA;AACA;AACA;AACA","ignoreList":[]}
1
+ {"version":3,"file":"events.js","names":["EWalletObserverEvents","exports"],"sources":["../../../src/@types/events.ts"],"sourcesContent":["import { IAssetAmountMetadata } from \"@sundaeswap/asset\";\n\nimport { WalletBalanceMap } from \"../classes/WalletBalanceMap.class.js\";\nimport { IWalletObserverSync } from \"./observer.js\";\n\n/**\n * A list of observer events that a client can hook into.\n */\nexport enum EWalletObserverEvents {\n CONNECT_WALLET_START = \"connectWalletStart\",\n CONNECT_WALLET_END = \"connectWalletEnd\",\n SYNCING_WALLET_START = \"syncingWalletStart\",\n SYNCING_WALLET_END = \"syncingWalletEnd\",\n GET_BALANCE_MAP_START = \"getBalanceMapStart\",\n GET_BALANCE_MAP_END = \"getBalanceMapEnd\",\n DISCONNECT = \"disconnect\",\n}\n\n/**\n * A map of what each event passes to the event listener function.\n */\nexport interface IWalletObserverEventValues<\n T extends IAssetAmountMetadata = IAssetAmountMetadata,\n> {\n [EWalletObserverEvents.SYNCING_WALLET_START]: undefined;\n [EWalletObserverEvents.SYNCING_WALLET_END]:\n | undefined\n | (IWalletObserverSync<T> & { activeWallet: string });\n [EWalletObserverEvents.CONNECT_WALLET_START]: undefined;\n [EWalletObserverEvents.CONNECT_WALLET_END]:\n | undefined\n | (IWalletObserverSync<T> & { activeWallet: string });\n [EWalletObserverEvents.GET_BALANCE_MAP_START]: undefined;\n [EWalletObserverEvents.GET_BALANCE_MAP_END]: {\n balanceMap: WalletBalanceMap<T>;\n };\n [EWalletObserverEvents.DISCONNECT]: undefined;\n}\n\n/**\n * The function declaration so that an even handler can get\n * type definitions for the arguments.\n */\nexport type TWalletObserverEventFunction<\n E extends keyof IWalletObserverEventValues,\n> = (data?: IWalletObserverEventValues[E]) => void;\n"],"mappings":";;;;;;AAKA;AACA;AACA;AAFA,IAGYA,qBAAqB,GAAAC,OAAA,CAAAD,qBAAA,0BAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAAA,OAArBA,qBAAqB;AAAA;AAUjC;AACA;AACA;AAmBA;AACA;AACA;AACA","ignoreList":[]}
@@ -22,6 +22,8 @@ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread n
22
22
  function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
23
23
  function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
24
24
  function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, "catch": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
25
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
26
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
25
27
  function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
26
28
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
27
29
  function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
@@ -153,8 +155,12 @@ var WalletObserver = exports.WalletObserver = /*#__PURE__*/function (_WalletObse
153
155
  if (_this._options.debug) {
154
156
  console.log("sync: ".concat(end - start, "ms"));
155
157
  }
156
- _this.dispatch(_events.EWalletObserverEvents.SYNCING_WALLET_END, result);
157
- _this.dispatch(_events.EWalletObserverEvents.CONNECT_WALLET_END, result);
158
+ _this.dispatch(_events.EWalletObserverEvents.SYNCING_WALLET_END, _objectSpread(_objectSpread({}, result), {}, {
159
+ activeWallet: _this.activeWallet
160
+ }));
161
+ _this.dispatch(_events.EWalletObserverEvents.CONNECT_WALLET_END, _objectSpread(_objectSpread({}, result), {}, {
162
+ activeWallet: _this.activeWallet
163
+ }));
158
164
  _this._performingSync = false;
159
165
  return _context.abrupt("return", result);
160
166
  case 39:
@@ -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","_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","newFeeAddress","result","end","_callee$","_context","api","performance","now","_performingSync","dispatch","EWalletObserverEvents","SYNCING_WALLET_START","getNetwork","syncApi","SYNCING_WALLET_END","CONNECT_WALLET_END","all","getBalanceMap","getUsedAddresses","getUnusedAddresses","getUtxos","getCollateral","getFeeAddress","balanceMap","usedAddresses","unusedAddresses","utxos","collateral","network","feeAddress","_options","debug","console","log","concat","t0","_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","addresses","seed","_callee3$","_context3","CONNECT_WALLET_START","peerConnectInstance","shutdownServer","connectTimeout","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","data","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 let newNetwork = await this.getNetwork();\n if (newNetwork instanceof Error) {\n await this.syncApi();\n newNetwork = await this.getNetwork();\n\n if (newNetwork instanceof Error) {\n this.dispatch(EWalletObserverEvents.SYNCING_WALLET_END);\n this.dispatch(EWalletObserverEvents.CONNECT_WALLET_END);\n this._performingSync = false;\n throw newNetwork;\n }\n }\n\n const [\n newBalanceMap,\n newUsedAddresses,\n newUnusedAddresses,\n newOutputs,\n newCollateral,\n newFeeAddress,\n ] = await Promise.all([\n this.getBalanceMap(),\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, result);\n this.dispatch(EWalletObserverEvents.CONNECT_WALLET_END, result);\n this._performingSync = false;\n return result;\n } catch (e) {\n this._performingSync = false;\n this.dispatch(EWalletObserverEvents.SYNCING_WALLET_END);\n 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 addresses = await this.getUsedAddresses();\n if (addresses instanceof Error) {\n addresses.cause =\n \"Could not get a list of used addresses from the wallet when trying to save the connection.\";\n throw addresses;\n }\n\n const seed: IWalletObserverSeed = {\n activeWallet: extension,\n mainAddress: addresses[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<\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","newNetwork","_yield$Promise$all","_yield$Promise$all2","newBalanceMap","newUsedAddresses","newUnusedAddresses","newOutputs","newCollateral","newFeeAddress","result","end","_callee$","_context","api","performance","now","_performingSync","dispatch","EWalletObserverEvents","SYNCING_WALLET_START","getNetwork","syncApi","SYNCING_WALLET_END","CONNECT_WALLET_END","all","getBalanceMap","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","addresses","seed","_callee3$","_context3","CONNECT_WALLET_START","peerConnectInstance","shutdownServer","connectTimeout","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","data","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 let newNetwork = await this.getNetwork();\n if (newNetwork instanceof Error) {\n await this.syncApi();\n newNetwork = await this.getNetwork();\n\n if (newNetwork instanceof Error) {\n this.dispatch(EWalletObserverEvents.SYNCING_WALLET_END);\n this.dispatch(EWalletObserverEvents.CONNECT_WALLET_END);\n this._performingSync = false;\n throw newNetwork;\n }\n }\n\n const [\n newBalanceMap,\n newUsedAddresses,\n newUnusedAddresses,\n newOutputs,\n newCollateral,\n newFeeAddress,\n ] = await Promise.all([\n this.getBalanceMap(),\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.dispatch(EWalletObserverEvents.CONNECT_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 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 addresses = await this.getUsedAddresses();\n if (addresses instanceof Error) {\n addresses.cause =\n \"Could not get a list of used addresses from the wallet when trying to save the connection.\";\n throw addresses;\n }\n\n const seed: IWalletObserverSeed = {\n activeWallet: extension,\n mainAddress: addresses[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<\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":[]}
@@ -78,7 +78,7 @@ var useProviderWalletObserverRef = exports.useProviderWalletObserverRef = functi
78
78
  };
79
79
  }();
80
80
  var setConnectingEnd = /*#__PURE__*/function () {
81
- var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
81
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(data) {
82
82
  var _hooks$onConnectWalle2;
83
83
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
84
84
  while (1) switch (_context2.prev = _context2.next) {
@@ -87,14 +87,14 @@ var useProviderWalletObserverRef = exports.useProviderWalletObserverRef = functi
87
87
  return false;
88
88
  });
89
89
  _context2.next = 3;
90
- return hooks === null || hooks === void 0 || (_hooks$onConnectWalle2 = hooks.onConnectWalletEnd) === null || _hooks$onConnectWalle2 === void 0 ? void 0 : _hooks$onConnectWalle2.call(hooks);
90
+ return hooks === null || hooks === void 0 || (_hooks$onConnectWalle2 = hooks.onConnectWalletEnd) === null || _hooks$onConnectWalle2 === void 0 ? void 0 : _hooks$onConnectWalle2.call(hooks, data);
91
91
  case 3:
92
92
  case "end":
93
93
  return _context2.stop();
94
94
  }
95
95
  }, _callee2);
96
96
  }));
97
- return function setConnectingEnd() {
97
+ return function setConnectingEnd(_x) {
98
98
  return _ref2.apply(this, arguments);
99
99
  };
100
100
  }();
@@ -120,13 +120,13 @@ var useProviderWalletObserverRef = exports.useProviderWalletObserverRef = functi
120
120
  };
121
121
  }();
122
122
  var setSyncingEnd = /*#__PURE__*/function () {
123
- var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
123
+ var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(data) {
124
124
  var _hooks$onSyncWalletEn;
125
125
  return _regeneratorRuntime().wrap(function _callee4$(_context4) {
126
126
  while (1) switch (_context4.prev = _context4.next) {
127
127
  case 0:
128
128
  _context4.next = 2;
129
- return hooks === null || hooks === void 0 || (_hooks$onSyncWalletEn = hooks.onSyncWalletEnd) === null || _hooks$onSyncWalletEn === void 0 ? void 0 : _hooks$onSyncWalletEn.call(hooks);
129
+ return hooks === null || hooks === void 0 || (_hooks$onSyncWalletEn = hooks.onSyncWalletEnd) === null || _hooks$onSyncWalletEn === void 0 ? void 0 : _hooks$onSyncWalletEn.call(hooks, data);
130
130
  case 2:
131
131
  setSyncing(function () {
132
132
  return false;
@@ -137,7 +137,7 @@ var useProviderWalletObserverRef = exports.useProviderWalletObserverRef = functi
137
137
  }
138
138
  }, _callee4);
139
139
  }));
140
- return function setSyncingEnd() {
140
+ return function setSyncingEnd(_x2) {
141
141
  return _ref4.apply(this, arguments);
142
142
  };
143
143
  }();
@@ -1 +1 @@
1
- {"version":3,"file":"useProviderWalletObserverRef.js","names":["_react","require","_events","_WalletObserverClass","_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","_catch","delegateYield","asyncGeneratorStep","_asyncToGenerator","arguments","apply","_next","_throw","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","_arrayLikeToArray","toString","Array","from","test","isArray","useProviderWalletObserverRef","exports","options","hooks","observerRef","useRef","current","observer","WalletObserver","_useState","useState","_useState2","connecting","setConnecting","_useState3","_useState4","syncing","setSyncing","_useState5","_useState6","eventListenersAttached","setEventListenersAttached","ready","useMemo","Boolean","api","activeWallet","useEffect","setConnectingStart","_ref","_callee","_hooks$onConnectWalle","_callee$","_context","onConnectWalletStart","setConnectingEnd","_ref2","_callee2","_hooks$onConnectWalle2","_callee2$","_context2","onConnectWalletEnd","setSyncingStart","_ref3","_callee3","_hooks$onSyncWalletSt","_callee3$","_context3","onSyncWalletStart","setSyncingEnd","_ref4","_callee4","_hooks$onSyncWalletEn","_callee4$","_context4","onSyncWalletEnd","onDisconnect","_hooks$onDisconnectWa","onDisconnectWallet","addEventListener","EWalletObserverEvents","CONNECT_WALLET_START","CONNECT_WALLET_END","SYNCING_WALLET_START","SYNCING_WALLET_END","DISCONNECT","removeEventListener","connectingWallet","syncingWallet"],"sources":["../../../../../src/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.ts"],"sourcesContent":["import { MutableRefObject, useEffect, useMemo, useRef, useState } from \"react\";\n\nimport { EWalletObserverEvents } from \"../../../@types/events.js\";\nimport { TWalletObserverOptions } from \"../../../@types/observer.js\";\nimport { WalletObserver } from \"../../../classes/WalletObserver.class.js\";\nimport { TWalletProviderHooks } from \"../../contexts/observer/index.js\";\n\n/**\n * Internal use only. This hook is responsible for initiating the\n * WalletObserver instance once, and assigning it to a ref.\n *\n * @param {TWalletObserverOptions} [options]\n * @param {TWalletProviderHooks}\n */\nexport const useProviderWalletObserverRef = (\n options?: TWalletObserverOptions,\n hooks?: TWalletProviderHooks,\n) => {\n // Use ref to store the observer instance, ensuring it's created only once\n const observerRef = useRef<WalletObserver | null>(null);\n\n // Initialize observer only once\n if (observerRef.current === null) {\n const observer = new WalletObserver(options);\n observerRef.current = observer;\n }\n\n const [connecting, setConnecting] = useState(false);\n const [syncing, setSyncing] = useState(false);\n const [eventListenersAttached, setEventListenersAttached] = useState(false);\n\n const ready = useMemo(() => {\n return Boolean(\n observerRef.current &&\n observerRef.current.api &&\n observerRef.current.activeWallet,\n );\n }, [observerRef, observerRef.current.api, observerRef.current.activeWallet]);\n\n /**\n * Add user-defined hooks into the event stream.\n */\n useEffect(() => {\n if (!observerRef.current) {\n return;\n }\n\n const setConnectingStart = async () => {\n setConnecting(() => true);\n await hooks?.onConnectWalletStart?.();\n };\n const setConnectingEnd = async () => {\n setConnecting(() => false);\n await hooks?.onConnectWalletEnd?.();\n };\n const setSyncingStart = async () => {\n setSyncing(() => true);\n await hooks?.onSyncWalletStart?.();\n };\n const setSyncingEnd = async () => {\n await hooks?.onSyncWalletEnd?.();\n setSyncing(() => false);\n };\n const onDisconnect = () => {\n hooks?.onDisconnectWallet?.();\n };\n\n observerRef.current.addEventListener(\n EWalletObserverEvents.CONNECT_WALLET_START,\n setConnectingStart,\n );\n observerRef.current.addEventListener(\n EWalletObserverEvents.CONNECT_WALLET_END,\n setConnectingEnd,\n );\n observerRef.current.addEventListener(\n EWalletObserverEvents.SYNCING_WALLET_START,\n setSyncingStart,\n );\n observerRef.current.addEventListener(\n EWalletObserverEvents.SYNCING_WALLET_END,\n setSyncingEnd,\n );\n observerRef.current.addEventListener(\n EWalletObserverEvents.DISCONNECT,\n onDisconnect,\n );\n\n setEventListenersAttached(() => true);\n\n return () => {\n if (!observerRef.current) {\n return;\n }\n\n observerRef.current.removeEventListener(\n EWalletObserverEvents.CONNECT_WALLET_START,\n setConnectingStart,\n );\n observerRef.current.removeEventListener(\n EWalletObserverEvents.CONNECT_WALLET_END,\n setConnectingEnd,\n );\n observerRef.current.removeEventListener(\n EWalletObserverEvents.SYNCING_WALLET_START,\n setSyncingStart,\n );\n observerRef.current.removeEventListener(\n EWalletObserverEvents.SYNCING_WALLET_END,\n setSyncingEnd,\n );\n observerRef.current.removeEventListener(\n EWalletObserverEvents.DISCONNECT,\n onDisconnect,\n );\n };\n }, [observerRef, hooks]);\n\n return {\n observerRef: observerRef as MutableRefObject<WalletObserver>,\n connectingWallet: connecting,\n syncingWallet: syncing,\n ready,\n eventListenersAttached,\n };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"useProviderWalletObserverRef.js","names":["_react","require","_events","_WalletObserverClass","_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","_catch","delegateYield","asyncGeneratorStep","_asyncToGenerator","arguments","apply","_next","_throw","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","_arrayLikeToArray","toString","Array","from","test","isArray","useProviderWalletObserverRef","exports","options","hooks","observerRef","useRef","current","observer","WalletObserver","_useState","useState","_useState2","connecting","setConnecting","_useState3","_useState4","syncing","setSyncing","_useState5","_useState6","eventListenersAttached","setEventListenersAttached","ready","useMemo","Boolean","api","activeWallet","useEffect","setConnectingStart","_ref","_callee","_hooks$onConnectWalle","_callee$","_context","onConnectWalletStart","setConnectingEnd","_ref2","_callee2","data","_hooks$onConnectWalle2","_callee2$","_context2","onConnectWalletEnd","_x","setSyncingStart","_ref3","_callee3","_hooks$onSyncWalletSt","_callee3$","_context3","onSyncWalletStart","setSyncingEnd","_ref4","_callee4","_hooks$onSyncWalletEn","_callee4$","_context4","onSyncWalletEnd","_x2","onDisconnect","_hooks$onDisconnectWa","onDisconnectWallet","addEventListener","EWalletObserverEvents","CONNECT_WALLET_START","CONNECT_WALLET_END","SYNCING_WALLET_START","SYNCING_WALLET_END","DISCONNECT","removeEventListener","connectingWallet","syncingWallet"],"sources":["../../../../../src/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.ts"],"sourcesContent":["import { MutableRefObject, useEffect, useMemo, useRef, useState } from \"react\";\n\nimport { IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport { EWalletObserverEvents } from \"../../../@types/events.js\";\nimport {\n IWalletObserverSync,\n TWalletObserverOptions,\n} from \"../../../@types/observer.js\";\nimport { WalletObserver } from \"../../../classes/WalletObserver.class.js\";\nimport { TWalletProviderHooks } from \"../../contexts/observer/index.js\";\n\n/**\n * Internal use only. This hook is responsible for initiating the\n * WalletObserver instance once, and assigning it to a ref.\n *\n * @param {TWalletObserverOptions} [options]\n * @param {TWalletProviderHooks}\n */\nexport const useProviderWalletObserverRef = (\n options?: TWalletObserverOptions,\n hooks?: TWalletProviderHooks,\n) => {\n // Use ref to store the observer instance, ensuring it's created only once\n const observerRef = useRef<WalletObserver | null>(null);\n\n // Initialize observer only once\n if (observerRef.current === null) {\n const observer = new WalletObserver(options);\n observerRef.current = observer;\n }\n\n const [connecting, setConnecting] = useState(false);\n const [syncing, setSyncing] = useState(false);\n const [eventListenersAttached, setEventListenersAttached] = useState(false);\n\n const ready = useMemo(() => {\n return Boolean(\n observerRef.current &&\n observerRef.current.api &&\n observerRef.current.activeWallet,\n );\n }, [observerRef, observerRef.current.api, observerRef.current.activeWallet]);\n\n /**\n * Add user-defined hooks into the event stream.\n */\n useEffect(() => {\n if (!observerRef.current) {\n return;\n }\n\n const setConnectingStart = async () => {\n setConnecting(() => true);\n await hooks?.onConnectWalletStart?.();\n };\n const setConnectingEnd = async (\n data?: IWalletObserverSync<IAssetAmountMetadata> & {\n activeWallet: string;\n },\n ) => {\n setConnecting(() => false);\n await hooks?.onConnectWalletEnd?.(data);\n };\n const setSyncingStart = async () => {\n setSyncing(() => true);\n await hooks?.onSyncWalletStart?.();\n };\n const setSyncingEnd = async (\n data?: IWalletObserverSync<IAssetAmountMetadata> & {\n activeWallet: string;\n },\n ) => {\n await hooks?.onSyncWalletEnd?.(data);\n setSyncing(() => false);\n };\n const onDisconnect = () => {\n hooks?.onDisconnectWallet?.();\n };\n\n observerRef.current.addEventListener(\n EWalletObserverEvents.CONNECT_WALLET_START,\n setConnectingStart,\n );\n observerRef.current.addEventListener(\n EWalletObserverEvents.CONNECT_WALLET_END,\n setConnectingEnd,\n );\n observerRef.current.addEventListener(\n EWalletObserverEvents.SYNCING_WALLET_START,\n setSyncingStart,\n );\n observerRef.current.addEventListener(\n EWalletObserverEvents.SYNCING_WALLET_END,\n setSyncingEnd,\n );\n observerRef.current.addEventListener(\n EWalletObserverEvents.DISCONNECT,\n onDisconnect,\n );\n\n setEventListenersAttached(() => true);\n\n return () => {\n if (!observerRef.current) {\n return;\n }\n\n observerRef.current.removeEventListener(\n EWalletObserverEvents.CONNECT_WALLET_START,\n setConnectingStart,\n );\n observerRef.current.removeEventListener(\n EWalletObserverEvents.CONNECT_WALLET_END,\n setConnectingEnd,\n );\n observerRef.current.removeEventListener(\n EWalletObserverEvents.SYNCING_WALLET_START,\n setSyncingStart,\n );\n observerRef.current.removeEventListener(\n EWalletObserverEvents.SYNCING_WALLET_END,\n setSyncingEnd,\n );\n observerRef.current.removeEventListener(\n EWalletObserverEvents.DISCONNECT,\n onDisconnect,\n );\n };\n }, [observerRef, hooks]);\n\n return {\n observerRef: observerRef as MutableRefObject<WalletObserver>,\n connectingWallet: connecting,\n syncingWallet: syncing,\n ready,\n eventListenersAttached,\n };\n};\n"],"mappings":"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","ignoreList":[]}