@sundaeswap/wallet-lite 0.0.82 → 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.
- package/dist/cjs/@types/events.js.map +1 -1
- package/dist/cjs/classes/WalletObserver.class.js +8 -2
- package/dist/cjs/classes/WalletObserver.class.js.map +1 -1
- package/dist/cjs/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.js +89 -28
- package/dist/cjs/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.js.map +1 -1
- package/dist/cjs/react-components/contexts/observer/types.js.map +1 -1
- package/dist/esm/@types/events.js.map +1 -1
- package/dist/esm/classes/WalletObserver.class.js +8 -2
- package/dist/esm/classes/WalletObserver.class.js.map +1 -1
- package/dist/esm/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.js +8 -8
- package/dist/esm/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.js.map +1 -1
- package/dist/esm/react-components/contexts/observer/types.js.map +1 -1
- package/dist/types/@types/events.d.ts +6 -2
- package/dist/types/@types/events.d.ts.map +1 -1
- package/dist/types/classes/WalletObserver.class.d.ts.map +1 -1
- package/dist/types/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.d.ts +2 -1
- package/dist/types/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.d.ts.map +1 -1
- package/dist/types/react-components/contexts/observer/types.d.ts +9 -5
- package/dist/types/react-components/contexts/observer/types.d.ts.map +1 -1
- package/dist/types/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/@types/events.ts +2 -2
- package/src/classes/WalletObserver.class.ts +8 -2
- package/src/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.ts +21 -9
- package/src/react-components/contexts/observer/types.ts +9 -5
|
@@ -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
|
|
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
|
-
|
|
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":[]}
|
package/dist/cjs/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
|
4
5
|
value: true
|
|
5
6
|
});
|
|
@@ -7,6 +8,9 @@ exports.useProviderWalletObserverRef = void 0;
|
|
|
7
8
|
var _react = require("react");
|
|
8
9
|
var _events = require("../../../@types/events.js");
|
|
9
10
|
var _WalletObserverClass = require("../../../classes/WalletObserver.class.js");
|
|
11
|
+
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; }
|
|
12
|
+
function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
|
|
13
|
+
function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
|
|
10
14
|
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
11
15
|
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."); }
|
|
12
16
|
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; } }
|
|
@@ -52,34 +56,91 @@ var useProviderWalletObserverRef = exports.useProviderWalletObserverRef = functi
|
|
|
52
56
|
if (!observerRef.current) {
|
|
53
57
|
return;
|
|
54
58
|
}
|
|
55
|
-
var setConnectingStart = function
|
|
56
|
-
var
|
|
57
|
-
|
|
58
|
-
return
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
};
|
|
76
|
-
var
|
|
77
|
-
var
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
59
|
+
var setConnectingStart = /*#__PURE__*/function () {
|
|
60
|
+
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
61
|
+
var _hooks$onConnectWalle;
|
|
62
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
63
|
+
while (1) switch (_context.prev = _context.next) {
|
|
64
|
+
case 0:
|
|
65
|
+
setConnecting(function () {
|
|
66
|
+
return true;
|
|
67
|
+
});
|
|
68
|
+
_context.next = 3;
|
|
69
|
+
return hooks === null || hooks === void 0 || (_hooks$onConnectWalle = hooks.onConnectWalletStart) === null || _hooks$onConnectWalle === void 0 ? void 0 : _hooks$onConnectWalle.call(hooks);
|
|
70
|
+
case 3:
|
|
71
|
+
case "end":
|
|
72
|
+
return _context.stop();
|
|
73
|
+
}
|
|
74
|
+
}, _callee);
|
|
75
|
+
}));
|
|
76
|
+
return function setConnectingStart() {
|
|
77
|
+
return _ref.apply(this, arguments);
|
|
78
|
+
};
|
|
79
|
+
}();
|
|
80
|
+
var setConnectingEnd = /*#__PURE__*/function () {
|
|
81
|
+
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(data) {
|
|
82
|
+
var _hooks$onConnectWalle2;
|
|
83
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
84
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
85
|
+
case 0:
|
|
86
|
+
setConnecting(function () {
|
|
87
|
+
return false;
|
|
88
|
+
});
|
|
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, data);
|
|
91
|
+
case 3:
|
|
92
|
+
case "end":
|
|
93
|
+
return _context2.stop();
|
|
94
|
+
}
|
|
95
|
+
}, _callee2);
|
|
96
|
+
}));
|
|
97
|
+
return function setConnectingEnd(_x) {
|
|
98
|
+
return _ref2.apply(this, arguments);
|
|
99
|
+
};
|
|
100
|
+
}();
|
|
101
|
+
var setSyncingStart = /*#__PURE__*/function () {
|
|
102
|
+
var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
|
|
103
|
+
var _hooks$onSyncWalletSt;
|
|
104
|
+
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
105
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
106
|
+
case 0:
|
|
107
|
+
setSyncing(function () {
|
|
108
|
+
return true;
|
|
109
|
+
});
|
|
110
|
+
_context3.next = 3;
|
|
111
|
+
return hooks === null || hooks === void 0 || (_hooks$onSyncWalletSt = hooks.onSyncWalletStart) === null || _hooks$onSyncWalletSt === void 0 ? void 0 : _hooks$onSyncWalletSt.call(hooks);
|
|
112
|
+
case 3:
|
|
113
|
+
case "end":
|
|
114
|
+
return _context3.stop();
|
|
115
|
+
}
|
|
116
|
+
}, _callee3);
|
|
117
|
+
}));
|
|
118
|
+
return function setSyncingStart() {
|
|
119
|
+
return _ref3.apply(this, arguments);
|
|
120
|
+
};
|
|
121
|
+
}();
|
|
122
|
+
var setSyncingEnd = /*#__PURE__*/function () {
|
|
123
|
+
var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(data) {
|
|
124
|
+
var _hooks$onSyncWalletEn;
|
|
125
|
+
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
126
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
127
|
+
case 0:
|
|
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, data);
|
|
130
|
+
case 2:
|
|
131
|
+
setSyncing(function () {
|
|
132
|
+
return false;
|
|
133
|
+
});
|
|
134
|
+
case 3:
|
|
135
|
+
case "end":
|
|
136
|
+
return _context4.stop();
|
|
137
|
+
}
|
|
138
|
+
}, _callee4);
|
|
139
|
+
}));
|
|
140
|
+
return function setSyncingEnd(_x2) {
|
|
141
|
+
return _ref4.apply(this, arguments);
|
|
142
|
+
};
|
|
143
|
+
}();
|
|
83
144
|
var onDisconnect = function onDisconnect() {
|
|
84
145
|
var _hooks$onDisconnectWa;
|
|
85
146
|
hooks === null || hooks === void 0 || (_hooks$onDisconnectWa = hooks.onDisconnectWallet) === null || _hooks$onDisconnectWa === void 0 || _hooks$onDisconnectWa.call(hooks);
|