@sundaeswap/wallet-lite 0.0.16 → 0.0.18
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/observer.js.map +1 -1
- package/dist/cjs/classes/WalletAssetMap.class.js +74 -0
- package/dist/cjs/classes/WalletAssetMap.class.js.map +1 -0
- package/dist/cjs/classes/WalletBalanceMap.class.js +9 -11
- package/dist/cjs/classes/WalletBalanceMap.class.js.map +1 -1
- package/dist/cjs/classes/WalletObserver.class.js +78 -36
- package/dist/cjs/classes/WalletObserver.class.js.map +1 -1
- package/dist/cjs/index.js +24 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/react-components/WalletObserverProvider/hooks/useWalletObserverState.js +32 -11
- package/dist/cjs/react-components/WalletObserverProvider/hooks/useWalletObserverState.js.map +1 -1
- package/dist/cjs/react-components/contexts/observer/types.js.map +1 -1
- package/dist/cjs/react-components/hooks/useWalletHandles.js +26 -21
- package/dist/cjs/react-components/hooks/useWalletHandles.js.map +1 -1
- package/dist/cjs/react-components/hooks/useWalletObserver.js +2 -1
- package/dist/cjs/react-components/hooks/useWalletObserver.js.map +1 -1
- package/dist/cjs/utils/assets.js +35 -0
- package/dist/cjs/utils/assets.js.map +1 -0
- package/dist/esm/@types/observer.js.map +1 -1
- package/dist/esm/classes/WalletAssetMap.class.js +38 -0
- package/dist/esm/classes/WalletAssetMap.class.js.map +1 -0
- package/dist/esm/classes/WalletBalanceMap.class.js +5 -4
- package/dist/esm/classes/WalletBalanceMap.class.js.map +1 -1
- package/dist/esm/classes/WalletObserver.class.js +31 -5
- package/dist/esm/classes/WalletObserver.class.js.map +1 -1
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/react-components/WalletObserverProvider/hooks/useWalletObserverState.js +14 -1
- package/dist/esm/react-components/WalletObserverProvider/hooks/useWalletObserverState.js.map +1 -1
- package/dist/esm/react-components/contexts/observer/types.js.map +1 -1
- package/dist/esm/react-components/hooks/useWalletHandles.js +11 -10
- package/dist/esm/react-components/hooks/useWalletHandles.js.map +1 -1
- package/dist/esm/react-components/hooks/useWalletObserver.js +2 -1
- package/dist/esm/react-components/hooks/useWalletObserver.js.map +1 -1
- package/dist/esm/utils/assets.js +28 -0
- package/dist/esm/utils/assets.js.map +1 -0
- package/dist/types/@types/observer.d.ts +5 -3
- package/dist/types/@types/observer.d.ts.map +1 -1
- package/dist/types/classes/WalletAssetMap.class.d.ts +29 -0
- package/dist/types/classes/WalletAssetMap.class.d.ts.map +1 -0
- package/dist/types/classes/WalletBalanceMap.class.d.ts +3 -2
- package/dist/types/classes/WalletBalanceMap.class.d.ts.map +1 -1
- package/dist/types/classes/WalletObserver.class.d.ts +6 -0
- package/dist/types/classes/WalletObserver.class.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/react-components/WalletObserverProvider/hooks/useWalletObserverState.d.ts +2 -0
- package/dist/types/react-components/WalletObserverProvider/hooks/useWalletObserverState.d.ts.map +1 -1
- package/dist/types/react-components/contexts/observer/types.d.ts +3 -1
- package/dist/types/react-components/contexts/observer/types.d.ts.map +1 -1
- package/dist/types/react-components/hooks/useWalletHandles.d.ts.map +1 -1
- package/dist/types/react-components/hooks/useWalletObserver.d.ts.map +1 -1
- package/dist/types/tsconfig.build.tsbuildinfo +1 -1
- package/dist/types/utils/assets.d.ts +15 -0
- package/dist/types/utils/assets.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/@types/observer.ts +9 -3
- package/src/__data__/assets.ts +3 -2
- package/src/classes/WalletAssetMap.class.ts +40 -0
- package/src/classes/WalletBalanceMap.class.ts +5 -4
- package/src/classes/WalletObserver.class.ts +56 -11
- package/src/classes/__tests__/WalletBalanceMap.test.ts +2 -1
- package/src/classes/__tests__/WalletObserver.test.ts +10 -3
- package/src/index.ts +2 -0
- package/src/react-components/WalletObserverProvider/hooks/useWalletObserverState.ts +16 -1
- package/src/react-components/__tests__/__snapshots__/RenderWalletHandles.test.tsx.snap +2 -2
- package/src/react-components/contexts/observer/types.ts +5 -0
- package/src/react-components/hooks/useWalletHandles.ts +35 -29
- package/src/react-components/hooks/useWalletObserver.ts +2 -0
- package/src/utils/assets.ts +31 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observer.js","names":[],"sources":["../../../src/@types/observer.ts"],"sourcesContent":["import type { TransactionUnspentOutput } from \"@cardano-sdk/core/dist/cjs/Serialization/index.js\";\nimport type { Cip30WalletApi } from \"@cardano-sdk/dapp-connector\";\nimport type { DAppPeerConnect } from \"@fabianbormann/cardano-peer-connect\";\nimport type { DAppPeerConnectParameters } from \"@fabianbormann/cardano-peer-connect/dist/src/types.js\";\nimport type {
|
|
1
|
+
{"version":3,"file":"observer.js","names":[],"sources":["../../../src/@types/observer.ts"],"sourcesContent":["import type { TransactionUnspentOutput } from \"@cardano-sdk/core/dist/cjs/Serialization/index.js\";\nimport type { Cip30WalletApi } from \"@cardano-sdk/dapp-connector\";\nimport type { DAppPeerConnect } from \"@fabianbormann/cardano-peer-connect\";\nimport type { DAppPeerConnectParameters } from \"@fabianbormann/cardano-peer-connect/dist/src/types.js\";\nimport type { IAssetAmountMetadata } from \"@sundaeswap/asset\";\n\nimport { WalletAssetMap } from \"../classes/WalletAssetMap.class.js\";\nimport { WalletBalanceMap } from \"../classes/WalletBalanceMap.class.js\";\nimport { isAdaAsset, normalizeAssetIdWithDot } from \"../utils/assets.js\";\n\n/**\n * A list of support CIP-30 wallet extensions in the browser.\n */\nexport type TSupportedWalletExtensions =\n | \"nami\"\n | \"eternl\"\n | \"typhoncip30\"\n | \"ccvault\"\n | \"typhon\"\n | \"yoroi\"\n | \"flint\"\n | \"gerowallet\"\n | \"cardwallet\"\n | \"nufi\"\n | \"begin\"\n | \"lace\"\n | \"sorbet\";\n\n/**\n * Interface to describe window extension.\n */\nexport interface IWindowCip30Extension {\n apiVersion: string;\n enable: () => Promise<Cip30WalletApi>;\n icon: string;\n isEnabled: () => Promise<boolean>;\n name: TSupportedWalletExtensions;\n}\n\n/**\n * Interface to describe our expected window configuration.\n */\nexport type TWindowCardano = {\n [K in TSupportedWalletExtensions]?: IWindowCip30Extension;\n};\n\n/**\n * The metadata resolver should return a map composed of\n * the asset ID as the key, and the metadata as the value.\n */\nexport type TMetadataResolverFunc<\n T extends IAssetAmountMetadata = IAssetAmountMetadata\n> = (\n assetIds: string[],\n normalizeAssetIdFunc: typeof normalizeAssetIdWithDot,\n isAdaAssetFunc: typeof isAdaAsset\n) => Promise<Map<string, T>>;\n\n/**\n * Options that are passed to the WalletObserver instance.\n */\nexport interface IResolvedWalletObserverOptions<\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata\n> {\n metadataResolver: TMetadataResolverFunc<AssetMetadata>;\n persistence: boolean;\n peerConnectArgs: DAppPeerConnectParameters;\n connectTimeout: number;\n}\n\n/**\n * Options that are passed to the WalletObserver instance.\n */\nexport type TWalletObserverOptions<\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata\n> = Partial<IResolvedWalletObserverOptions<AssetMetadata>>;\n\n/**\n * Interface describing the Map type of an asset.\n */\nexport type TAssetAmountMap<\n T extends IAssetAmountMetadata = IAssetAmountMetadata\n> = WalletAssetMap<T>;\n\n/**\n * Interface describing the structure of the persistent\n * data located in local storage.\n */\nexport interface IWalletObserverSeed {\n activeWallet: TSupportedWalletExtensions;\n}\n\n/**\n * The return type for the WalletObserver.getCip45Instance\n * method.\n */\nexport type TGetPeerConnectInstance = () => {\n name: string;\n icon: string | null;\n instance: DAppPeerConnect;\n};\n\nexport interface IWalletObserverSync<\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata\n> {\n balanceMap: WalletBalanceMap<AssetMetadata>;\n usedAddresses: string[];\n unusedAddresses: string[];\n utxos?: TransactionUnspentOutput[];\n network: number;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
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); }
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.WalletAssetMap = void 0;
|
|
8
|
+
var _assets = require("../utils/assets");
|
|
9
|
+
function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
|
|
10
|
+
function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
|
|
11
|
+
function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
|
|
12
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
13
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
14
|
+
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
15
|
+
function _possibleConstructorReturn(t, e) { if (e && ("object" == _typeof(e) || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return _assertThisInitialized(t); }
|
|
16
|
+
function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; }
|
|
17
|
+
function _get() { return _get = "undefined" != typeof Reflect && Reflect.get ? Reflect.get.bind() : function (e, t, r) { var p = _superPropBase(e, t); if (p) { var n = Object.getOwnPropertyDescriptor(p, t); return n.get ? n.get.call(arguments.length < 3 ? e : r) : n.value; } }, _get.apply(null, arguments); }
|
|
18
|
+
function _superPropBase(t, o) { for (; !{}.hasOwnProperty.call(t, o) && null !== (t = _getPrototypeOf(t));); return t; }
|
|
19
|
+
function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e); }
|
|
20
|
+
function _wrapNativeSuper(t) { var r = "function" == typeof Map ? new Map() : void 0; return _wrapNativeSuper = function _wrapNativeSuper(t) { if (null === t || !_isNativeFunction(t)) return t; if ("function" != typeof t) throw new TypeError("Super expression must either be null or a function"); if (void 0 !== r) { if (r.has(t)) return r.get(t); r.set(t, Wrapper); } function Wrapper() { return _construct(t, arguments, _getPrototypeOf(this).constructor); } return Wrapper.prototype = Object.create(t.prototype, { constructor: { value: Wrapper, enumerable: !1, writable: !0, configurable: !0 } }), _setPrototypeOf(Wrapper, t); }, _wrapNativeSuper(t); }
|
|
21
|
+
function _construct(t, e, r) { if (_isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments); var o = [null]; o.push.apply(o, e); var p = new (t.bind.apply(t, o))(); return r && _setPrototypeOf(p, r.prototype), p; }
|
|
22
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
23
|
+
function _isNativeFunction(t) { try { return -1 !== Function.toString.call(t).indexOf("[native code]"); } catch (n) { return "function" == typeof t; } }
|
|
24
|
+
function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
|
|
25
|
+
function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }
|
|
26
|
+
/**
|
|
27
|
+
* Map wrapper to enforce asset id normalization when setting and getting assets.
|
|
28
|
+
*/
|
|
29
|
+
var WalletAssetMap = exports.WalletAssetMap = /*#__PURE__*/function (_Map) {
|
|
30
|
+
function WalletAssetMap() {
|
|
31
|
+
_classCallCheck(this, WalletAssetMap);
|
|
32
|
+
return _callSuper(this, WalletAssetMap, arguments);
|
|
33
|
+
}
|
|
34
|
+
_inherits(WalletAssetMap, _Map);
|
|
35
|
+
return _createClass(WalletAssetMap, [{
|
|
36
|
+
key: "get",
|
|
37
|
+
value:
|
|
38
|
+
/**
|
|
39
|
+
* Overlay to enforce asset ID normalization.
|
|
40
|
+
*
|
|
41
|
+
* @param {string} key Retrieve the asset ID as a HEX string (either with dot or without).
|
|
42
|
+
* @returns {AssetAmount<AssetMetadata> | undefined}
|
|
43
|
+
*/
|
|
44
|
+
function get(key) {
|
|
45
|
+
return _get(_getPrototypeOf(WalletAssetMap.prototype), "get", this).call(this, (0, _assets.normalizeAssetIdWithDot)(key));
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Overlay to enforce asset ID normalization.
|
|
50
|
+
*
|
|
51
|
+
* @param {string} key Retrieve the asset ID as a HEX string (either with dot or without).
|
|
52
|
+
* @param {AssetAmount<AssetMetadata>} key Retrieve the asset ID as a HEX string (either with dot or without).
|
|
53
|
+
* @returns {this}
|
|
54
|
+
*/
|
|
55
|
+
}, {
|
|
56
|
+
key: "set",
|
|
57
|
+
value: function set(key, value) {
|
|
58
|
+
return _get(_getPrototypeOf(WalletAssetMap.prototype), "set", this).call(this, (0, _assets.normalizeAssetIdWithDot)(key), value);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Overlay to enforce asset ID normalization.
|
|
63
|
+
*
|
|
64
|
+
* @param {string} key Retrieve the asset ID as a HEX string (either with dot or without).
|
|
65
|
+
* @returns {AssetAmount<AssetMetadata> | undefined}
|
|
66
|
+
*/
|
|
67
|
+
}, {
|
|
68
|
+
key: "has",
|
|
69
|
+
value: function has(key) {
|
|
70
|
+
return _get(_getPrototypeOf(WalletAssetMap.prototype), "has", this).call(this, (0, _assets.normalizeAssetIdWithDot)(key));
|
|
71
|
+
}
|
|
72
|
+
}]);
|
|
73
|
+
}( /*#__PURE__*/_wrapNativeSuper(Map));
|
|
74
|
+
//# sourceMappingURL=WalletAssetMap.class.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WalletAssetMap.class.js","names":["_assets","require","_classCallCheck","a","n","TypeError","_defineProperties","e","r","t","length","o","enumerable","configurable","writable","Object","defineProperty","_toPropertyKey","key","_createClass","prototype","i","_toPrimitive","_typeof","Symbol","toPrimitive","call","String","Number","_callSuper","_getPrototypeOf","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","constructor","apply","_assertThisInitialized","ReferenceError","_get","get","bind","p","_superPropBase","getOwnPropertyDescriptor","arguments","value","hasOwnProperty","_inherits","create","_setPrototypeOf","_wrapNativeSuper","Map","_isNativeFunction","has","set","Wrapper","_construct","push","Boolean","valueOf","Function","toString","indexOf","setPrototypeOf","__proto__","getPrototypeOf","WalletAssetMap","exports","_Map","normalizeAssetIdWithDot"],"sources":["../../../src/classes/WalletAssetMap.class.ts"],"sourcesContent":["import { AssetAmount, IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport { normalizeAssetIdWithDot } from \"../utils/assets\";\n\n/**\n * Map wrapper to enforce asset id normalization when setting and getting assets.\n */\nexport class WalletAssetMap<\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata\n> extends Map<string, AssetAmount<AssetMetadata>> {\n /**\n * Overlay to enforce asset ID normalization.\n *\n * @param {string} key Retrieve the asset ID as a HEX string (either with dot or without).\n * @returns {AssetAmount<AssetMetadata> | undefined}\n */\n get(key: string): AssetAmount<AssetMetadata> | undefined {\n return super.get(normalizeAssetIdWithDot(key));\n }\n\n /**\n * Overlay to enforce asset ID normalization.\n *\n * @param {string} key Retrieve the asset ID as a HEX string (either with dot or without).\n * @param {AssetAmount<AssetMetadata>} key Retrieve the asset ID as a HEX string (either with dot or without).\n * @returns {this}\n */\n set(key: string, value: AssetAmount<AssetMetadata>): this {\n return super.set(normalizeAssetIdWithDot(key), value);\n }\n\n /**\n * Overlay to enforce asset ID normalization.\n *\n * @param {string} key Retrieve the asset ID as a HEX string (either with dot or without).\n * @returns {AssetAmount<AssetMetadata> | undefined}\n */\n has(key: string): boolean {\n return super.has(normalizeAssetIdWithDot(key));\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.WalletBalanceMap = void 0;
|
|
7
|
+
var _WalletAssetMapClass = require("./WalletAssetMap.class.js");
|
|
7
8
|
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); }
|
|
8
9
|
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
9
10
|
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."); }
|
|
@@ -21,13 +22,10 @@ function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Can
|
|
|
21
22
|
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
22
23
|
function _possibleConstructorReturn(t, e) { if (e && ("object" == _typeof(e) || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return _assertThisInitialized(t); }
|
|
23
24
|
function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; }
|
|
24
|
-
function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e); }
|
|
25
|
-
function _wrapNativeSuper(t) { var r = "function" == typeof Map ? new Map() : void 0; return _wrapNativeSuper = function _wrapNativeSuper(t) { if (null === t || !_isNativeFunction(t)) return t; if ("function" != typeof t) throw new TypeError("Super expression must either be null or a function"); if (void 0 !== r) { if (r.has(t)) return r.get(t); r.set(t, Wrapper); } function Wrapper() { return _construct(t, arguments, _getPrototypeOf(this).constructor); } return Wrapper.prototype = Object.create(t.prototype, { constructor: { value: Wrapper, enumerable: !1, writable: !0, configurable: !0 } }), _setPrototypeOf(Wrapper, t); }, _wrapNativeSuper(t); }
|
|
26
|
-
function _construct(t, e, r) { if (_isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments); var o = [null]; o.push.apply(o, e); var p = new (t.bind.apply(t, o))(); return r && _setPrototypeOf(p, r.prototype), p; }
|
|
27
25
|
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
28
|
-
function _isNativeFunction(t) { try { return -1 !== Function.toString.call(t).indexOf("[native code]"); } catch (n) { return "function" == typeof t; } }
|
|
29
|
-
function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
|
|
30
26
|
function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }
|
|
27
|
+
function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e); }
|
|
28
|
+
function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
|
|
31
29
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
32
30
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
33
31
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
@@ -39,7 +37,7 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
|
|
|
39
37
|
* @template AssetMetadata - Type extending IAssetAmountMetadata.
|
|
40
38
|
* @extends {Map<string, AssetAmount<AssetMetadata>>}
|
|
41
39
|
*/
|
|
42
|
-
var WalletBalanceMap = exports.WalletBalanceMap = /*#__PURE__*/function (
|
|
40
|
+
var WalletBalanceMap = exports.WalletBalanceMap = /*#__PURE__*/function (_WalletAssetMap) {
|
|
43
41
|
/**
|
|
44
42
|
* Creates an instance of WalletBalanceMap.
|
|
45
43
|
* @param {WalletObserver} _observer - An instance of the associated WalletObserver.
|
|
@@ -67,7 +65,7 @@ var WalletBalanceMap = exports.WalletBalanceMap = /*#__PURE__*/function (_Map) {
|
|
|
67
65
|
* @returns {TAssetAmountMap<AssetMetadata>} A map of fungible tokens.
|
|
68
66
|
*/
|
|
69
67
|
_defineProperty(_this, "getFungibleTokens", function () {
|
|
70
|
-
var map = new
|
|
68
|
+
var map = new _WalletAssetMapClass.WalletAssetMap();
|
|
71
69
|
_toConsumableArray(_this.entries()).forEach(function (_ref) {
|
|
72
70
|
var _ref2 = _slicedToArray(_ref, 2),
|
|
73
71
|
key = _ref2[0],
|
|
@@ -85,7 +83,7 @@ var WalletBalanceMap = exports.WalletBalanceMap = /*#__PURE__*/function (_Map) {
|
|
|
85
83
|
* @returns {TAssetAmountMap<AssetMetadata>} A map of handle assets.
|
|
86
84
|
*/
|
|
87
85
|
_defineProperty(_this, "getHandles", function () {
|
|
88
|
-
var map = new
|
|
86
|
+
var map = new _WalletAssetMapClass.WalletAssetMap();
|
|
89
87
|
_toConsumableArray(_this.entries()).forEach(function (_ref3) {
|
|
90
88
|
var _ref4 = _slicedToArray(_ref3, 2),
|
|
91
89
|
key = _ref4[0],
|
|
@@ -107,7 +105,7 @@ var WalletBalanceMap = exports.WalletBalanceMap = /*#__PURE__*/function (_Map) {
|
|
|
107
105
|
* @returns {TAssetAmountMap<AssetMetadata>} A map of non-fungible tokens.
|
|
108
106
|
*/
|
|
109
107
|
_defineProperty(_this, "getNonFungibleTokens", function (withHandles) {
|
|
110
|
-
var map = new
|
|
108
|
+
var map = new _WalletAssetMapClass.WalletAssetMap();
|
|
111
109
|
_toConsumableArray(_this.entries()).forEach(function (_ref5) {
|
|
112
110
|
var _ref6 = _slicedToArray(_ref5, 2),
|
|
113
111
|
key = _ref6[0],
|
|
@@ -134,7 +132,7 @@ var WalletBalanceMap = exports.WalletBalanceMap = /*#__PURE__*/function (_Map) {
|
|
|
134
132
|
});
|
|
135
133
|
return _this;
|
|
136
134
|
}
|
|
137
|
-
_inherits(WalletBalanceMap,
|
|
135
|
+
_inherits(WalletBalanceMap, _WalletAssetMap);
|
|
138
136
|
return _createClass(WalletBalanceMap);
|
|
139
|
-
}(
|
|
137
|
+
}(_WalletAssetMapClass.WalletAssetMap);
|
|
140
138
|
//# sourceMappingURL=WalletBalanceMap.class.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WalletBalanceMap.class.js","names":["WalletBalanceMap","exports","_Map","_observer","_this","_classCallCheck","_callSuper","_defineProperty","map","Map","_toConsumableArray","entries","forEach","_ref","_ref2","_slicedToArray","key","asset","metadata","decimals","set","_ref3","_ref4","isHandle","_handlePolicyIds","network","some","policyId","assetId","includes","withHandles","_ref5","_ref6","amount","getNonFungibleTokens","_inherits","_createClass","_wrapNativeSuper"],"sources":["../../../src/classes/WalletBalanceMap.class.ts"],"sourcesContent":["import { AssetAmount, IAssetAmountMetadata } from \"@sundaeswap/asset\";\n\nimport { TAssetAmountMap } from \"../@types/observer.js\";\nimport { WalletObserver } from \"./WalletObserver.class.js\";\n\n/**\n * A custom Map instance that describes a list of assets and their metadata,\n * including the asset's wallet balance. It also includes associated helper methods\n * for convenience when querying against the map.\n *\n * @template AssetMetadata - Type extending IAssetAmountMetadata.\n * @extends {Map<string, AssetAmount<AssetMetadata>>}\n */\nexport class WalletBalanceMap<\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata\n> extends Map<string, AssetAmount<AssetMetadata>> {\n /**\n * @private\n * @type {Record<number, string[]>}\n * @description Handle policy IDs mapped by network number. We use this\n * manually since the SDK includes the necessity of an instance and we\n * don't really need all the extra stuff yet.\n */\n private _handlePolicyIds: Record<number, string[]> = {\n 0: [\"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3\"],\n 1: [\"f0ff48bbb7bbe9d59a40f1ce90e9e9d0ff5002ec48f232b49ca0fb9a\"],\n };\n\n /**\n * Creates an instance of WalletBalanceMap.\n * @param {WalletObserver} _observer - An instance of the associated WalletObserver.\n */\n constructor(private _observer: WalletObserver) {\n super();\n }\n\n /**\n * Get only fungible assets from the wallet balance map\n * and return them as a subset Map.\n *\n * @returns {TAssetAmountMap<AssetMetadata>} A map of fungible tokens.\n */\n getFungibleTokens = (): TAssetAmountMap<AssetMetadata> => {\n const map: TAssetAmountMap<AssetMetadata> = new Map();\n [...this.entries()].forEach(([key, asset]) => {\n if (asset.metadata.decimals > 0) {\n map.set(key, asset);\n }\n });\n\n return map;\n };\n\n /**\n * Get only Handle NFTs from the wallet balance map\n * and return them as a subset Map.\n *\n * @returns {TAssetAmountMap<AssetMetadata>} A map of handle assets.\n */\n getHandles = (): TAssetAmountMap<AssetMetadata> => {\n const map: TAssetAmountMap<AssetMetadata> = new Map();\n [...this.entries()].forEach(([key, asset]) => {\n const isHandle = this._handlePolicyIds[this._observer.network].some(\n (policyId) => asset.metadata.assetId.includes(policyId)\n );\n\n if (isHandle) {\n map.set(key, asset);\n }\n });\n\n return map;\n };\n\n /**\n * Get only non-fungible tokens (NFTs) from the wallet balance map\n * and return them as a subset.\n *\n * @param {boolean} [withHandles] - Optional parameter to include Handles. Defaults to false.\n * @returns {TAssetAmountMap<AssetMetadata>} A map of non-fungible tokens.\n */\n getNonFungibleTokens = (\n withHandles?: boolean\n ): TAssetAmountMap<AssetMetadata> => {\n const map: TAssetAmountMap<AssetMetadata> = new Map();\n [...this.entries()].forEach(([key, asset]) => {\n if (\n !withHandles &&\n this._handlePolicyIds[this._observer.network].some((policyId) =>\n asset.metadata.assetId.includes(policyId)\n )\n ) {\n return;\n }\n\n if (asset.metadata.decimals === 0 && asset.amount === 1n) {\n map.set(key, asset);\n }\n });\n\n return map;\n };\n\n /**\n * Alias for getNonFungibleTokens.\n *\n * @param {boolean} [withHandles] - Optional parameter to include Handles. Defaults to false.\n * @returns {TAssetAmountMap<AssetMetadata>} A map of non-fungible tokens.\n */\n getNFTs = (withHandles?: boolean): TAssetAmountMap<AssetMetadata> =>\n this.getNonFungibleTokens(withHandles);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"WalletBalanceMap.class.js","names":["_WalletAssetMapClass","require","_typeof","o","Symbol","iterator","constructor","prototype","_slicedToArray","r","e","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","l","t","n","i","u","a","f","call","next","Object","done","push","value","length","Array","isArray","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","_arrayLikeToArray","toString","slice","name","from","test","_defineProperties","enumerable","configurable","writable","defineProperty","_toPropertyKey","key","_createClass","_classCallCheck","_callSuper","_getPrototypeOf","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","apply","_assertThisInitialized","ReferenceError","Boolean","valueOf","setPrototypeOf","getPrototypeOf","bind","__proto__","_inherits","create","_setPrototypeOf","_defineProperty","_toPrimitive","toPrimitive","String","Number","WalletBalanceMap","exports","_WalletAssetMap","_observer","_this","map","WalletAssetMap","entries","forEach","_ref","_ref2","asset","metadata","decimals","set","_ref3","_ref4","isHandle","_handlePolicyIds","network","some","policyId","assetId","includes","withHandles","_ref5","_ref6","amount","getNonFungibleTokens"],"sources":["../../../src/classes/WalletBalanceMap.class.ts"],"sourcesContent":["import { AssetAmount, IAssetAmountMetadata } from \"@sundaeswap/asset\";\n\nimport { TAssetAmountMap } from \"../@types/observer.js\";\nimport { WalletAssetMap } from \"./WalletAssetMap.class.js\";\nimport { WalletObserver } from \"./WalletObserver.class.js\";\n\n/**\n * A custom Map instance that describes a list of assets and their metadata,\n * including the asset's wallet balance. It also includes associated helper methods\n * for convenience when querying against the map.\n *\n * @template AssetMetadata - Type extending IAssetAmountMetadata.\n * @extends {Map<string, AssetAmount<AssetMetadata>>}\n */\nexport class WalletBalanceMap<\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata\n> extends WalletAssetMap<AssetMetadata> {\n /**\n * @private\n * @type {Record<number, string[]>}\n * @description Handle policy IDs mapped by network number. We use this\n * manually since the SDK includes the necessity of an instance and we\n * don't really need all the extra stuff yet.\n */\n private _handlePolicyIds: Record<number, string[]> = {\n 0: [\"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3\"],\n 1: [\"f0ff48bbb7bbe9d59a40f1ce90e9e9d0ff5002ec48f232b49ca0fb9a\"],\n };\n\n /**\n * Creates an instance of WalletBalanceMap.\n * @param {WalletObserver} _observer - An instance of the associated WalletObserver.\n */\n constructor(private _observer: WalletObserver) {\n super();\n }\n\n /**\n * Get only fungible assets from the wallet balance map\n * and return them as a subset Map.\n *\n * @returns {TAssetAmountMap<AssetMetadata>} A map of fungible tokens.\n */\n getFungibleTokens = (): TAssetAmountMap<AssetMetadata> => {\n const map: TAssetAmountMap<AssetMetadata> = new WalletAssetMap();\n [...this.entries()].forEach(([key, asset]) => {\n if (asset.metadata.decimals > 0) {\n map.set(key, asset);\n }\n });\n\n return map;\n };\n\n /**\n * Get only Handle NFTs from the wallet balance map\n * and return them as a subset Map.\n *\n * @returns {TAssetAmountMap<AssetMetadata>} A map of handle assets.\n */\n getHandles = (): TAssetAmountMap<AssetMetadata> => {\n const map: TAssetAmountMap<AssetMetadata> = new WalletAssetMap();\n [...this.entries()].forEach(([key, asset]) => {\n const isHandle = this._handlePolicyIds[this._observer.network].some(\n (policyId) => asset.metadata.assetId.includes(policyId)\n );\n\n if (isHandle) {\n map.set(key, asset);\n }\n });\n\n return map;\n };\n\n /**\n * Get only non-fungible tokens (NFTs) from the wallet balance map\n * and return them as a subset.\n *\n * @param {boolean} [withHandles] - Optional parameter to include Handles. Defaults to false.\n * @returns {TAssetAmountMap<AssetMetadata>} A map of non-fungible tokens.\n */\n getNonFungibleTokens = (\n withHandles?: boolean\n ): TAssetAmountMap<AssetMetadata> => {\n const map: TAssetAmountMap<AssetMetadata> = new WalletAssetMap();\n [...this.entries()].forEach(([key, asset]) => {\n if (\n !withHandles &&\n this._handlePolicyIds[this._observer.network].some((policyId) =>\n asset.metadata.assetId.includes(policyId)\n )\n ) {\n return;\n }\n\n if (asset.metadata.decimals === 0 && asset.amount === 1n) {\n map.set(key, asset);\n }\n });\n\n return map;\n };\n\n /**\n * Alias for getNonFungibleTokens.\n *\n * @param {boolean} [withHandles] - Optional parameter to include Handles. Defaults to false.\n * @returns {TAssetAmountMap<AssetMetadata>} A map of non-fungible tokens.\n */\n getNFTs = (withHandles?: boolean): TAssetAmountMap<AssetMetadata> =>\n this.getNonFungibleTokens(withHandles);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,6 +7,7 @@ exports.WalletObserver = void 0;
|
|
|
7
7
|
var _asset = require("@sundaeswap/asset");
|
|
8
8
|
var _merge = _interopRequireDefault(require("lodash/merge.js"));
|
|
9
9
|
var _events = require("../@types/events.js");
|
|
10
|
+
var _assets = require("../utils/assets.js");
|
|
10
11
|
var _getLibs = require("../utils/getLibs.js");
|
|
11
12
|
var _WalletBalanceMapClass = require("./WalletBalanceMap.class.js");
|
|
12
13
|
var _WalletObserverEvent2 = require("./WalletObserverEvent.js");
|
|
@@ -89,7 +90,7 @@ var WalletObserver = exports.WalletObserver = /*#__PURE__*/function (_WalletObse
|
|
|
89
90
|
* @returns {Promise<IWalletObserverSync>} - A promise that resolves to the wallet sync data.
|
|
90
91
|
*/
|
|
91
92
|
_defineProperty(_this, "sync", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
92
|
-
var newNetwork, _yield$Promise$all, _yield$Promise$all2, newBalanceMap, newUsedAddresses, newUnusedAddresses, newOutputs, result;
|
|
93
|
+
var newNetwork, _yield$Promise$all, _yield$Promise$all2, newBalanceMap, newUsedAddresses, newUnusedAddresses, newOutputs, newCollateral, result;
|
|
93
94
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
94
95
|
while (1) switch (_context.prev = _context.next) {
|
|
95
96
|
case 0:
|
|
@@ -129,25 +130,27 @@ var WalletObserver = exports.WalletObserver = /*#__PURE__*/function (_WalletObse
|
|
|
129
130
|
throw _context.t1;
|
|
130
131
|
case 25:
|
|
131
132
|
_context.next = 27;
|
|
132
|
-
return Promise.all([_this.getBalanceMap(), _this.getUsedAddresses(), _this.getUnusedAddresses(), _this.getUtxos()]);
|
|
133
|
+
return Promise.all([_this.getBalanceMap(), _this.getUsedAddresses(), _this.getUnusedAddresses(), _this.getUtxos(), _this.getCollateral()]);
|
|
133
134
|
case 27:
|
|
134
135
|
_yield$Promise$all = _context.sent;
|
|
135
|
-
_yield$Promise$all2 = _slicedToArray(_yield$Promise$all,
|
|
136
|
+
_yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 5);
|
|
136
137
|
newBalanceMap = _yield$Promise$all2[0];
|
|
137
138
|
newUsedAddresses = _yield$Promise$all2[1];
|
|
138
139
|
newUnusedAddresses = _yield$Promise$all2[2];
|
|
139
140
|
newOutputs = _yield$Promise$all2[3];
|
|
141
|
+
newCollateral = _yield$Promise$all2[4];
|
|
140
142
|
result = {
|
|
141
143
|
balanceMap: newBalanceMap,
|
|
142
144
|
usedAddresses: newUsedAddresses,
|
|
143
145
|
unusedAddresses: newUnusedAddresses,
|
|
144
146
|
utxos: newOutputs,
|
|
147
|
+
collateral: newCollateral,
|
|
145
148
|
network: newNetwork
|
|
146
149
|
};
|
|
147
150
|
_this.dispatch(_events.EWalletObserverEvents.SYNCING_WALLET_END, result);
|
|
148
151
|
_this._performingSync = false;
|
|
149
152
|
return _context.abrupt("return", result);
|
|
150
|
-
case
|
|
153
|
+
case 38:
|
|
151
154
|
case "end":
|
|
152
155
|
return _context.stop();
|
|
153
156
|
}
|
|
@@ -410,7 +413,7 @@ var WalletObserver = exports.WalletObserver = /*#__PURE__*/function (_WalletObse
|
|
|
410
413
|
try {
|
|
411
414
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
412
415
|
_step$value = _slicedToArray(_step.value, 2), id = _step$value[0], amount = _step$value[1];
|
|
413
|
-
balanceMap.set(id, new _asset.AssetAmount(amount, metadata.get(id)));
|
|
416
|
+
balanceMap.set(id, new _asset.AssetAmount(amount, metadata.get((0, _assets.normalizeAssetIdWithDot)(id))));
|
|
414
417
|
}
|
|
415
418
|
} catch (err) {
|
|
416
419
|
_iterator.e(err);
|
|
@@ -563,6 +566,45 @@ var WalletObserver = exports.WalletObserver = /*#__PURE__*/function (_WalletObse
|
|
|
563
566
|
}
|
|
564
567
|
}, _callee9);
|
|
565
568
|
})));
|
|
569
|
+
/**
|
|
570
|
+
* Gets a list of wallet UTXOs suitable for collateral.
|
|
571
|
+
*
|
|
572
|
+
* @returns {Promise<TransactionUnspentOutput[]>} The list of TransactionUnspentOutputs.
|
|
573
|
+
*/
|
|
574
|
+
_defineProperty(_this, "getCollateral", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee10() {
|
|
575
|
+
var _yield$Promise$all11, _yield$Promise$all12, cbor, Serialization, typedHex, data;
|
|
576
|
+
return _regeneratorRuntime().wrap(function _callee10$(_context10) {
|
|
577
|
+
while (1) switch (_context10.prev = _context10.next) {
|
|
578
|
+
case 0:
|
|
579
|
+
if (_this.api) {
|
|
580
|
+
_context10.next = 2;
|
|
581
|
+
break;
|
|
582
|
+
}
|
|
583
|
+
throw new Error("Attempted to query UTXOs without an API instance.");
|
|
584
|
+
case 2:
|
|
585
|
+
_context10.next = 4;
|
|
586
|
+
return Promise.all([_this.api.getCollateral(), (0, _getLibs.getCardanoCore)(), (0, _getLibs.getCardanoUtil)()]);
|
|
587
|
+
case 4:
|
|
588
|
+
_yield$Promise$all11 = _context10.sent;
|
|
589
|
+
_yield$Promise$all12 = _slicedToArray(_yield$Promise$all11, 3);
|
|
590
|
+
cbor = _yield$Promise$all12[0];
|
|
591
|
+
Serialization = _yield$Promise$all12[1].Serialization;
|
|
592
|
+
typedHex = _yield$Promise$all12[2].typedHex;
|
|
593
|
+
data = cbor === null || cbor === void 0 ? void 0 : cbor.map(function (val) {
|
|
594
|
+
var txOutput = Serialization.TransactionUnspentOutput.fromCbor(typedHex(val));
|
|
595
|
+
|
|
596
|
+
// These methods must be bound to their initial creation instance.
|
|
597
|
+
txOutput.input = txOutput.input.bind(txOutput);
|
|
598
|
+
txOutput.output = txOutput.output.bind(txOutput);
|
|
599
|
+
return txOutput;
|
|
600
|
+
});
|
|
601
|
+
return _context10.abrupt("return", data);
|
|
602
|
+
case 11:
|
|
603
|
+
case "end":
|
|
604
|
+
return _context10.stop();
|
|
605
|
+
}
|
|
606
|
+
}, _callee10);
|
|
607
|
+
})));
|
|
566
608
|
/**
|
|
567
609
|
* Resolves metadata for the given asset IDs, using a cached version if available.
|
|
568
610
|
*
|
|
@@ -571,13 +613,13 @@ var WalletObserver = exports.WalletObserver = /*#__PURE__*/function (_WalletObse
|
|
|
571
613
|
* @returns {Promise<Map<string, AssetMetadata>>} - A promise that resolves to a map of asset metadata.
|
|
572
614
|
*/
|
|
573
615
|
_defineProperty(_this, "__metadataResolverWithCache", /*#__PURE__*/function () {
|
|
574
|
-
var
|
|
616
|
+
var _ref11 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee11(assetIds) {
|
|
575
617
|
var cachedKeys, inputKeys, newMetadata;
|
|
576
|
-
return _regeneratorRuntime().wrap(function
|
|
577
|
-
while (1) switch (
|
|
618
|
+
return _regeneratorRuntime().wrap(function _callee11$(_context11) {
|
|
619
|
+
while (1) switch (_context11.prev = _context11.next) {
|
|
578
620
|
case 0:
|
|
579
621
|
if (!_this._cachedMetadata) {
|
|
580
|
-
|
|
622
|
+
_context11.next = 5;
|
|
581
623
|
break;
|
|
582
624
|
}
|
|
583
625
|
cachedKeys = new Set(_this._cachedMetadata.keys());
|
|
@@ -585,25 +627,25 @@ var WalletObserver = exports.WalletObserver = /*#__PURE__*/function (_WalletObse
|
|
|
585
627
|
if (!(cachedKeys.size === inputKeys.size && _toConsumableArray(cachedKeys).every(function (key) {
|
|
586
628
|
return inputKeys.has(key);
|
|
587
629
|
}))) {
|
|
588
|
-
|
|
630
|
+
_context11.next = 5;
|
|
589
631
|
break;
|
|
590
632
|
}
|
|
591
|
-
return
|
|
633
|
+
return _context11.abrupt("return", _this._cachedMetadata);
|
|
592
634
|
case 5:
|
|
593
|
-
|
|
594
|
-
return _this._options.metadataResolver(assetIds);
|
|
635
|
+
_context11.next = 7;
|
|
636
|
+
return _this._options.metadataResolver(assetIds.map(_assets.normalizeAssetIdWithDot), _assets.normalizeAssetIdWithDot, _assets.isAdaAsset);
|
|
595
637
|
case 7:
|
|
596
|
-
newMetadata =
|
|
638
|
+
newMetadata = _context11.sent;
|
|
597
639
|
_this._cachedMetadata = newMetadata;
|
|
598
|
-
return
|
|
640
|
+
return _context11.abrupt("return", newMetadata);
|
|
599
641
|
case 10:
|
|
600
642
|
case "end":
|
|
601
|
-
return
|
|
643
|
+
return _context11.stop();
|
|
602
644
|
}
|
|
603
|
-
},
|
|
645
|
+
}, _callee11);
|
|
604
646
|
}));
|
|
605
647
|
return function (_x3) {
|
|
606
|
-
return
|
|
648
|
+
return _ref11.apply(this, arguments);
|
|
607
649
|
};
|
|
608
650
|
}());
|
|
609
651
|
/**
|
|
@@ -612,27 +654,27 @@ var WalletObserver = exports.WalletObserver = /*#__PURE__*/function (_WalletObse
|
|
|
612
654
|
* @type {TMetadataResolverFunc<AssetMetadata>}
|
|
613
655
|
*/
|
|
614
656
|
_defineProperty(_this, "fallbackMetadataResolver", /*#__PURE__*/function () {
|
|
615
|
-
var
|
|
657
|
+
var _ref12 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee12(assetIds) {
|
|
616
658
|
var map;
|
|
617
|
-
return _regeneratorRuntime().wrap(function
|
|
618
|
-
while (1) switch (
|
|
659
|
+
return _regeneratorRuntime().wrap(function _callee12$(_context12) {
|
|
660
|
+
while (1) switch (_context12.prev = _context12.next) {
|
|
619
661
|
case 0:
|
|
620
662
|
map = new Map();
|
|
621
663
|
assetIds.forEach(function (id) {
|
|
622
|
-
return map.set(id, {
|
|
623
|
-
assetId: id,
|
|
664
|
+
return map.set((0, _assets.normalizeAssetIdWithDot)(id), {
|
|
665
|
+
assetId: (0, _assets.normalizeAssetIdWithDot)(id),
|
|
624
666
|
decimals: 6
|
|
625
667
|
});
|
|
626
668
|
});
|
|
627
|
-
return
|
|
669
|
+
return _context12.abrupt("return", map);
|
|
628
670
|
case 3:
|
|
629
671
|
case "end":
|
|
630
|
-
return
|
|
672
|
+
return _context12.stop();
|
|
631
673
|
}
|
|
632
|
-
},
|
|
674
|
+
}, _callee12);
|
|
633
675
|
}));
|
|
634
676
|
return function (_x4) {
|
|
635
|
-
return
|
|
677
|
+
return _ref12.apply(this, arguments);
|
|
636
678
|
};
|
|
637
679
|
}());
|
|
638
680
|
_this._options = (0, _merge["default"])({
|
|
@@ -698,25 +740,25 @@ var WalletObserver = exports.WalletObserver = /*#__PURE__*/function (_WalletObse
|
|
|
698
740
|
* @returns {Promise<WalletObserverUtils>} Resolves to a WalletObserverUtils class.
|
|
699
741
|
*/
|
|
700
742
|
function () {
|
|
701
|
-
var _getUtils = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function
|
|
702
|
-
return _regeneratorRuntime().wrap(function
|
|
703
|
-
while (1) switch (
|
|
743
|
+
var _getUtils = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee13() {
|
|
744
|
+
return _regeneratorRuntime().wrap(function _callee13$(_context13) {
|
|
745
|
+
while (1) switch (_context13.prev = _context13.next) {
|
|
704
746
|
case 0:
|
|
705
747
|
if (this.utils) {
|
|
706
|
-
|
|
748
|
+
_context13.next = 4;
|
|
707
749
|
break;
|
|
708
750
|
}
|
|
709
|
-
|
|
751
|
+
_context13.next = 3;
|
|
710
752
|
return _WalletObserverUtilsClass.WalletObserverUtils["new"](this.network);
|
|
711
753
|
case 3:
|
|
712
|
-
this.utils =
|
|
754
|
+
this.utils = _context13.sent;
|
|
713
755
|
case 4:
|
|
714
|
-
return
|
|
756
|
+
return _context13.abrupt("return", this.utils);
|
|
715
757
|
case 5:
|
|
716
758
|
case "end":
|
|
717
|
-
return
|
|
759
|
+
return _context13.stop();
|
|
718
760
|
}
|
|
719
|
-
},
|
|
761
|
+
}, _callee13, this);
|
|
720
762
|
}));
|
|
721
763
|
function getUtils() {
|
|
722
764
|
return _getUtils.apply(this, arguments);
|