@sundaeswap/wallet-lite 0.0.3 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (143) hide show
  1. package/dist/cjs/@types/events.js +27 -0
  2. package/dist/cjs/@types/events.js.map +1 -0
  3. package/dist/cjs/@types/index.js +28 -0
  4. package/dist/cjs/@types/index.js.map +1 -0
  5. package/dist/cjs/@types/observer.js +6 -0
  6. package/dist/cjs/@types/observer.js.map +1 -0
  7. package/dist/cjs/classes/WalletBalanceMap.class.js +140 -0
  8. package/dist/cjs/classes/WalletBalanceMap.class.js.map +1 -0
  9. package/dist/cjs/classes/WalletObserver.class.js +719 -0
  10. package/dist/cjs/classes/WalletObserver.class.js.map +1 -0
  11. package/dist/cjs/classes/WalletObserverEvent.js +93 -0
  12. package/dist/cjs/classes/WalletObserverEvent.js.map +1 -0
  13. package/dist/cjs/index.js +119 -0
  14. package/dist/cjs/index.js.map +1 -0
  15. package/dist/cjs/react-components/RenderWallet.js +22 -0
  16. package/dist/cjs/react-components/RenderWallet.js.map +1 -0
  17. package/dist/cjs/react-components/RenderWalletHandles.js +145 -0
  18. package/dist/cjs/react-components/RenderWalletHandles.js.map +1 -0
  19. package/dist/cjs/react-components/RenderWalletPeerConnect.js +73 -0
  20. package/dist/cjs/react-components/RenderWalletPeerConnect.js.map +1 -0
  21. package/dist/cjs/react-components/RenderWalletState.js +74 -0
  22. package/dist/cjs/react-components/RenderWalletState.js.map +1 -0
  23. package/dist/cjs/react-components/WalletObserverProvider/WalletObserverProvider.js +59 -0
  24. package/dist/cjs/react-components/WalletObserverProvider/WalletObserverProvider.js.map +1 -0
  25. package/dist/cjs/react-components/WalletObserverProvider/hooks/effects/useProviderEventListeners.js +70 -0
  26. package/dist/cjs/react-components/WalletObserverProvider/hooks/effects/useProviderEventListeners.js.map +1 -0
  27. package/dist/cjs/react-components/WalletObserverProvider/hooks/effects/useProviderRefreshInterval.js +33 -0
  28. package/dist/cjs/react-components/WalletObserverProvider/hooks/effects/useProviderRefreshInterval.js.map +1 -0
  29. package/dist/cjs/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.js +27 -0
  30. package/dist/cjs/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.js.map +1 -0
  31. package/dist/cjs/react-components/WalletObserverProvider/hooks/useSyncWalletFunction.js +146 -0
  32. package/dist/cjs/react-components/WalletObserverProvider/hooks/useSyncWalletFunction.js.map +1 -0
  33. package/dist/cjs/react-components/WalletObserverProvider/index.js +14 -0
  34. package/dist/cjs/react-components/WalletObserverProvider/index.js.map +1 -0
  35. package/dist/cjs/react-components/contexts/observer/context.js +25 -0
  36. package/dist/cjs/react-components/contexts/observer/context.js.map +1 -0
  37. package/dist/cjs/react-components/contexts/observer/index.js +28 -0
  38. package/dist/cjs/react-components/contexts/observer/index.js.map +1 -0
  39. package/dist/cjs/react-components/contexts/observer/types.js +6 -0
  40. package/dist/cjs/react-components/contexts/observer/types.js.map +1 -0
  41. package/dist/cjs/react-components/hooks/useAvailableExtensions.js +94 -0
  42. package/dist/cjs/react-components/hooks/useAvailableExtensions.js.map +1 -0
  43. package/dist/cjs/react-components/hooks/useWalletObserver.js +35 -0
  44. package/dist/cjs/react-components/hooks/useWalletObserver.js.map +1 -0
  45. package/dist/cjs/utils/comparisons.js +58 -0
  46. package/dist/cjs/utils/comparisons.js.map +1 -0
  47. package/dist/cjs/utils/hashing.js +34 -0
  48. package/dist/cjs/utils/hashing.js.map +1 -0
  49. package/dist/esm/@types/events.js +23 -0
  50. package/dist/esm/@types/events.js.map +1 -0
  51. package/dist/esm/@types/index.js +3 -0
  52. package/dist/esm/@types/index.js.map +1 -0
  53. package/dist/esm/@types/observer.js +2 -0
  54. package/dist/esm/@types/observer.js.map +1 -0
  55. package/dist/esm/classes/WalletBalanceMap.class.js +90 -0
  56. package/dist/esm/classes/WalletBalanceMap.class.js.map +1 -0
  57. package/dist/esm/classes/WalletObserver.class.js +380 -0
  58. package/dist/esm/classes/WalletObserver.class.js.map +1 -0
  59. package/dist/esm/classes/WalletObserverEvent.js +78 -0
  60. package/dist/esm/classes/WalletObserverEvent.js.map +1 -0
  61. package/dist/esm/index.js +24 -0
  62. package/dist/esm/index.js.map +1 -0
  63. package/dist/esm/react-components/RenderWallet.js +17 -0
  64. package/dist/esm/react-components/RenderWallet.js.map +1 -0
  65. package/dist/esm/react-components/RenderWalletHandles.js +80 -0
  66. package/dist/esm/react-components/RenderWalletHandles.js.map +1 -0
  67. package/dist/esm/react-components/RenderWalletPeerConnect.js +45 -0
  68. package/dist/esm/react-components/RenderWalletPeerConnect.js.map +1 -0
  69. package/dist/esm/react-components/RenderWalletState.js +52 -0
  70. package/dist/esm/react-components/RenderWalletState.js.map +1 -0
  71. package/dist/esm/react-components/WalletObserverProvider/WalletObserverProvider.js +45 -0
  72. package/dist/esm/react-components/WalletObserverProvider/WalletObserverProvider.js.map +1 -0
  73. package/dist/esm/react-components/WalletObserverProvider/hooks/effects/useProviderEventListeners.js +60 -0
  74. package/dist/esm/react-components/WalletObserverProvider/hooks/effects/useProviderEventListeners.js.map +1 -0
  75. package/dist/esm/react-components/WalletObserverProvider/hooks/effects/useProviderRefreshInterval.js +27 -0
  76. package/dist/esm/react-components/WalletObserverProvider/hooks/effects/useProviderRefreshInterval.js.map +1 -0
  77. package/dist/esm/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.js +22 -0
  78. package/dist/esm/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.js.map +1 -0
  79. package/dist/esm/react-components/WalletObserverProvider/hooks/useSyncWalletFunction.js +73 -0
  80. package/dist/esm/react-components/WalletObserverProvider/hooks/useSyncWalletFunction.js.map +1 -0
  81. package/dist/esm/react-components/WalletObserverProvider/index.js +2 -0
  82. package/dist/esm/react-components/WalletObserverProvider/index.js.map +1 -0
  83. package/dist/esm/react-components/contexts/observer/context.js +18 -0
  84. package/dist/esm/react-components/contexts/observer/context.js.map +1 -0
  85. package/dist/esm/react-components/contexts/observer/index.js +3 -0
  86. package/dist/esm/react-components/contexts/observer/index.js.map +1 -0
  87. package/dist/esm/react-components/contexts/observer/types.js +2 -0
  88. package/dist/esm/react-components/contexts/observer/types.js.map +1 -0
  89. package/dist/esm/react-components/hooks/useAvailableExtensions.js +55 -0
  90. package/dist/esm/react-components/hooks/useAvailableExtensions.js.map +1 -0
  91. package/dist/esm/react-components/hooks/useWalletObserver.js +31 -0
  92. package/dist/esm/react-components/hooks/useWalletObserver.js.map +1 -0
  93. package/dist/esm/utils/comparisons.js +32 -0
  94. package/dist/esm/utils/comparisons.js.map +1 -0
  95. package/dist/esm/utils/hashing.js +28 -0
  96. package/dist/esm/utils/hashing.js.map +1 -0
  97. package/dist/types/@types/events.d.ts +42 -0
  98. package/dist/types/@types/events.d.ts.map +1 -0
  99. package/dist/types/@types/observer.d.ts +71 -0
  100. package/dist/types/@types/observer.d.ts.map +1 -0
  101. package/dist/types/classes/WalletBalanceMap.class.d.ts +57 -0
  102. package/dist/types/classes/WalletBalanceMap.class.d.ts.map +1 -0
  103. package/dist/types/classes/WalletObserver.class.d.ts +149 -0
  104. package/dist/types/classes/WalletObserver.class.d.ts.map +1 -0
  105. package/dist/types/classes/WalletObserverEvent.d.ts +44 -0
  106. package/dist/types/classes/WalletObserverEvent.d.ts.map +1 -0
  107. package/dist/types/index.d.ts +22 -0
  108. package/dist/types/index.d.ts.map +1 -0
  109. package/dist/types/react-components/RenderWallet.d.ts +16 -0
  110. package/dist/types/react-components/RenderWallet.d.ts.map +1 -0
  111. package/dist/types/react-components/RenderWalletHandles.d.ts +21 -0
  112. package/dist/types/react-components/RenderWalletHandles.d.ts.map +1 -0
  113. package/dist/types/react-components/RenderWalletPeerConnect.d.ts +19 -0
  114. package/dist/types/react-components/RenderWalletPeerConnect.d.ts.map +1 -0
  115. package/dist/types/react-components/RenderWalletState.d.ts +19 -0
  116. package/dist/types/react-components/RenderWalletState.d.ts.map +1 -0
  117. package/dist/types/react-components/WalletObserverProvider/WalletObserverProvider.d.ts +12 -0
  118. package/dist/types/react-components/WalletObserverProvider/WalletObserverProvider.d.ts.map +1 -0
  119. package/dist/types/react-components/WalletObserverProvider/hooks/effects/useProviderEventListeners.d.ts +13 -0
  120. package/dist/types/react-components/WalletObserverProvider/hooks/effects/useProviderEventListeners.d.ts.map +1 -0
  121. package/dist/types/react-components/WalletObserverProvider/hooks/effects/useProviderRefreshInterval.d.ts +12 -0
  122. package/dist/types/react-components/WalletObserverProvider/hooks/effects/useProviderRefreshInterval.d.ts.map +1 -0
  123. package/dist/types/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.d.ts +12 -0
  124. package/dist/types/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.d.ts.map +1 -0
  125. package/dist/types/react-components/WalletObserverProvider/hooks/useSyncWalletFunction.d.ts +34 -0
  126. package/dist/types/react-components/WalletObserverProvider/hooks/useSyncWalletFunction.d.ts.map +1 -0
  127. package/dist/types/react-components/WalletObserverProvider/index.d.ts +2 -0
  128. package/dist/types/react-components/WalletObserverProvider/index.d.ts.map +1 -0
  129. package/dist/types/react-components/contexts/observer/context.d.ts +13 -0
  130. package/dist/types/react-components/contexts/observer/context.d.ts.map +1 -0
  131. package/dist/types/react-components/contexts/observer/index.d.ts +3 -0
  132. package/dist/types/react-components/contexts/observer/index.d.ts.map +1 -0
  133. package/dist/types/react-components/contexts/observer/types.d.ts +67 -0
  134. package/dist/types/react-components/contexts/observer/types.d.ts.map +1 -0
  135. package/dist/types/react-components/hooks/useAvailableExtensions.d.ts +17 -0
  136. package/dist/types/react-components/hooks/useAvailableExtensions.d.ts.map +1 -0
  137. package/dist/types/react-components/hooks/useWalletObserver.d.ts +9 -0
  138. package/dist/types/react-components/hooks/useWalletObserver.d.ts.map +1 -0
  139. package/dist/types/utils/comparisons.d.ts +10 -0
  140. package/dist/types/utils/comparisons.d.ts.map +1 -0
  141. package/dist/types/utils/hashing.d.ts +19 -0
  142. package/dist/types/utils/hashing.d.ts.map +1 -0
  143. package/package.json +1 -1
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.EWalletObserverEvents = void 0;
7
+ /**
8
+ * A list of observer events that a client can hook into.
9
+ */
10
+ var EWalletObserverEvents = exports.EWalletObserverEvents = /*#__PURE__*/function (EWalletObserverEvents) {
11
+ EWalletObserverEvents["CONNECT_WALLET_START"] = "connectWalletStart";
12
+ EWalletObserverEvents["CONNECT_WALLET_END"] = "connectWalletEnd";
13
+ EWalletObserverEvents["SYNCING_WALLET_START"] = "syncingWalletStart";
14
+ EWalletObserverEvents["SYNCING_WALLET_END"] = "syncingWalletEnd";
15
+ EWalletObserverEvents["GET_BALANCE_MAP_START"] = "getBalanceMapStart";
16
+ EWalletObserverEvents["GET_BALANCE_MAP_END"] = "getBalanceMapEnd";
17
+ EWalletObserverEvents["DISCONNECT"] = "disconnect";
18
+ return EWalletObserverEvents;
19
+ }({});
20
+ /**
21
+ * A map of what each event passes to the event listener function.
22
+ */
23
+ /**
24
+ * The function declaration so that an even handler can get
25
+ * type definitions for the arguments.
26
+ */
27
+ //# sourceMappingURL=events.js.map
@@ -0,0 +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 { TSupportedWalletExtensions } 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 EWalletObserverEventValues<\n T extends IAssetAmountMetadata = IAssetAmountMetadata\n> {\n [EWalletObserverEvents.SYNCING_WALLET_START]: undefined;\n [EWalletObserverEvents.SYNCING_WALLET_END]:\n | undefined\n | {\n balanceMap: WalletBalanceMap<T>;\n network: number;\n usedAddresses: string[];\n unusedAddresses: string[];\n };\n [EWalletObserverEvents.CONNECT_WALLET_START]: undefined;\n [EWalletObserverEvents.CONNECT_WALLET_END]: {\n extension: TSupportedWalletExtensions;\n };\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 EWalletObserverEventValues\n> = (data?: EWalletObserverEventValues[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;AAwBA;AACA;AACA;AACA","ignoreList":[]}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _events = require("./events.js");
7
+ Object.keys(_events).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _events[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function get() {
13
+ return _events[key];
14
+ }
15
+ });
16
+ });
17
+ var _observer = require("./observer.js");
18
+ Object.keys(_observer).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _observer[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function get() {
24
+ return _observer[key];
25
+ }
26
+ });
27
+ });
28
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_events","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_observer"],"sources":["../../../src/@types/index.ts"],"sourcesContent":["export * from \"./events.js\";\nexport * from \"./observer.js\";\n"],"mappings":";;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,OAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,OAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAT,OAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,SAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,SAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,SAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAC,SAAA,CAAAL,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=observer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observer.js","names":[],"sources":["../../../src/@types/observer.ts"],"sourcesContent":["import 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 { AssetAmount, IAssetAmountMetadata } from \"@sundaeswap/asset\";\n\nimport { WalletBalanceMap } from \"../classes/WalletBalanceMap.class.js\";\n\n/**\n * Interface to describe window extension.\n */\nexport interface IWindowCip30Extension {\n apiVersion: string;\n enable: () => Promise<Cip30WalletApi>;\n icon: string;\n isEnabled: () => Promise<boolean>;\n name: TSupportedWalletExtensions;\n}\n\ndeclare global {\n interface Window {\n cardano?: {\n [k in TSupportedWalletExtensions]?: IWindowCip30Extension;\n };\n }\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> = (assetIds: string[]) => 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 * A list of support CIP-30 wallet extensions in the browser.\n */\nexport type TSupportedWalletExtensions =\n | \"eternl\"\n | \"lace\"\n | \"typhon\"\n | \"sorbet\"\n | \"flint\"\n | \"nami\";\n\n/**\n * Interface describing the Map type of an asset.\n */\nexport type TAssetAmountMap<\n T extends IAssetAmountMetadata = IAssetAmountMetadata\n> = Map<string, AssetAmount<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 network: number;\n}\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.WalletBalanceMap = void 0;
7
+ 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
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
9
+ 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."); }
10
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
11
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
12
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
13
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
14
+ 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; } }
15
+ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
16
+ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
17
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
18
+ 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); } }
19
+ function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
20
+ function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
21
+ function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
22
+ 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
+ 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
+ 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
+ function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }
31
+ 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
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
33
+ 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); }
34
+ /**
35
+ * A custom Map instance that describes a list of assets and their metadata,
36
+ * including the asset's wallet balance. It also includes associated helper methods
37
+ * for convenience when querying against the map.
38
+ *
39
+ * @template AssetMetadata - Type extending IAssetAmountMetadata.
40
+ * @extends {Map<string, AssetAmount<AssetMetadata>>}
41
+ */
42
+ var WalletBalanceMap = exports.WalletBalanceMap = /*#__PURE__*/function (_Map) {
43
+ /**
44
+ * Creates an instance of WalletBalanceMap.
45
+ * @param {WalletObserver} _observer - An instance of the associated WalletObserver.
46
+ */
47
+ function WalletBalanceMap(_observer) {
48
+ var _this;
49
+ _classCallCheck(this, WalletBalanceMap);
50
+ _this = _callSuper(this, WalletBalanceMap);
51
+ _this._observer = _observer;
52
+ /**
53
+ * @private
54
+ * @type {Record<number, string[]>}
55
+ * @description Handle policy IDs mapped by network number. We use this
56
+ * manually since the SDK includes the necessity of an instance and we
57
+ * don't really need all the extra stuff yet.
58
+ */
59
+ _defineProperty(_this, "_handlePolicyIds", {
60
+ 0: ["8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3"],
61
+ 1: ["f0ff48bbb7bbe9d59a40f1ce90e9e9d0ff5002ec48f232b49ca0fb9a"]
62
+ });
63
+ /**
64
+ * Get only fungible assets from the wallet balance map
65
+ * and return them as a subset Map.
66
+ *
67
+ * @returns {TAssetAmountMap<AssetMetadata>} A map of fungible tokens.
68
+ */
69
+ _defineProperty(_this, "getFungibleTokens", function () {
70
+ var map = new Map();
71
+ _toConsumableArray(_this.entries()).forEach(function (_ref) {
72
+ var _ref2 = _slicedToArray(_ref, 2),
73
+ key = _ref2[0],
74
+ asset = _ref2[1];
75
+ if (asset.metadata.decimals > 0) {
76
+ map.set(key, asset);
77
+ }
78
+ });
79
+ return map;
80
+ });
81
+ /**
82
+ * Get only Handle NFTs from the wallet balance map
83
+ * and return them as a subset Map.
84
+ *
85
+ * @returns {TAssetAmountMap<AssetMetadata>} A map of handle assets.
86
+ */
87
+ _defineProperty(_this, "getHandles", function () {
88
+ var map = new Map();
89
+ _toConsumableArray(_this.entries()).forEach(function (_ref3) {
90
+ var _ref4 = _slicedToArray(_ref3, 2),
91
+ key = _ref4[0],
92
+ asset = _ref4[1];
93
+ var isHandle = _this._handlePolicyIds[_this._observer.network].some(function (policyId) {
94
+ return asset.metadata.assetId.includes(policyId);
95
+ });
96
+ if (isHandle) {
97
+ map.set(key, asset);
98
+ }
99
+ });
100
+ return map;
101
+ });
102
+ /**
103
+ * Get only non-fungible tokens (NFTs) from the wallet balance map
104
+ * and return them as a subset.
105
+ *
106
+ * @param {boolean} [withHandles] - Optional parameter to include Handles. Defaults to false.
107
+ * @returns {TAssetAmountMap<AssetMetadata>} A map of non-fungible tokens.
108
+ */
109
+ _defineProperty(_this, "getNonFungibleTokens", function (withHandles) {
110
+ var map = new Map();
111
+ _toConsumableArray(_this.entries()).forEach(function (_ref5) {
112
+ var _ref6 = _slicedToArray(_ref5, 2),
113
+ key = _ref6[0],
114
+ asset = _ref6[1];
115
+ if (!withHandles && _this._handlePolicyIds[_this._observer.network].some(function (policyId) {
116
+ return asset.metadata.assetId.includes(policyId);
117
+ })) {
118
+ return;
119
+ }
120
+ if (asset.metadata.decimals === 0 && asset.amount === 1n) {
121
+ map.set(key, asset);
122
+ }
123
+ });
124
+ return map;
125
+ });
126
+ /**
127
+ * Alias for getNonFungibleTokens.
128
+ *
129
+ * @param {boolean} [withHandles] - Optional parameter to include Handles. Defaults to false.
130
+ * @returns {TAssetAmountMap<AssetMetadata>} A map of non-fungible tokens.
131
+ */
132
+ _defineProperty(_this, "getNFTs", function (withHandles) {
133
+ return _this.getNonFungibleTokens(withHandles);
134
+ });
135
+ return _this;
136
+ }
137
+ _inherits(WalletBalanceMap, _Map);
138
+ return _createClass(WalletBalanceMap);
139
+ }( /*#__PURE__*/_wrapNativeSuper(Map));
140
+ //# sourceMappingURL=WalletBalanceMap.class.js.map
@@ -0,0 +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":[]}