@sundaeswap/wallet-lite 0.0.40 → 0.0.42

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 (115) hide show
  1. package/dist/cjs/@types/events.js.map +1 -1
  2. package/dist/cjs/@types/global.d.js.map +1 -1
  3. package/dist/cjs/@types/observer.js.map +1 -1
  4. package/dist/cjs/classes/WalletAssetMap.class.js.map +1 -1
  5. package/dist/cjs/classes/WalletBalanceMap.class.js +1 -1
  6. package/dist/cjs/classes/WalletBalanceMap.class.js.map +1 -1
  7. package/dist/cjs/classes/WalletObserver.class.js +1 -1
  8. package/dist/cjs/classes/WalletObserver.class.js.map +1 -1
  9. package/dist/cjs/classes/WalletObserverEvent.js +3 -2
  10. package/dist/cjs/classes/WalletObserverEvent.js.map +1 -1
  11. package/dist/cjs/classes/WalletObserverUtils.class.js +3 -0
  12. package/dist/cjs/classes/WalletObserverUtils.class.js.map +1 -1
  13. package/dist/cjs/react-components/RenderWallet.js.map +1 -1
  14. package/dist/cjs/react-components/RenderWalletHandles.js.map +1 -1
  15. package/dist/cjs/react-components/RenderWalletPeerConnect.js.map +1 -1
  16. package/dist/cjs/react-components/RenderWalletState.js.map +1 -1
  17. package/dist/cjs/react-components/WalletObserverProvider/WalletObserverProvider.js.map +1 -1
  18. package/dist/cjs/react-components/WalletObserverProvider/hooks/effects/useDerivedState.js.map +1 -1
  19. package/dist/cjs/react-components/WalletObserverProvider/hooks/effects/useProviderRefreshInterval.js.map +1 -1
  20. package/dist/cjs/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.js +6 -0
  21. package/dist/cjs/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.js.map +1 -1
  22. package/dist/cjs/react-components/WalletObserverProvider/hooks/useWalletObserverState.js +5 -3
  23. package/dist/cjs/react-components/WalletObserverProvider/hooks/useWalletObserverState.js.map +1 -1
  24. package/dist/cjs/react-components/contexts/observer/context.js.map +1 -1
  25. package/dist/cjs/react-components/contexts/observer/types.js.map +1 -1
  26. package/dist/cjs/react-components/hooks/useWalletHandles.js.map +1 -1
  27. package/dist/cjs/react-components/hooks/useWalletLoadingState.js.map +1 -1
  28. package/dist/cjs/react-components/hooks/useWalletObserver.js.map +1 -1
  29. package/dist/cjs/react-components/hooks/useWalletPeerConnect.js.map +1 -1
  30. package/dist/cjs/utils/comparisons.js.map +1 -1
  31. package/dist/cjs/utils/hashing.js.map +1 -1
  32. package/dist/esm/@types/events.js.map +1 -1
  33. package/dist/esm/@types/global.d.js.map +1 -1
  34. package/dist/esm/@types/observer.js.map +1 -1
  35. package/dist/esm/classes/WalletAssetMap.class.js.map +1 -1
  36. package/dist/esm/classes/WalletBalanceMap.class.js +1 -1
  37. package/dist/esm/classes/WalletBalanceMap.class.js.map +1 -1
  38. package/dist/esm/classes/WalletObserver.class.js +3 -3
  39. package/dist/esm/classes/WalletObserver.class.js.map +1 -1
  40. package/dist/esm/classes/WalletObserverEvent.js +3 -2
  41. package/dist/esm/classes/WalletObserverEvent.js.map +1 -1
  42. package/dist/esm/classes/WalletObserverUtils.class.js +5 -0
  43. package/dist/esm/classes/WalletObserverUtils.class.js.map +1 -1
  44. package/dist/esm/react-components/RenderWallet.js.map +1 -1
  45. package/dist/esm/react-components/RenderWalletHandles.js.map +1 -1
  46. package/dist/esm/react-components/RenderWalletPeerConnect.js.map +1 -1
  47. package/dist/esm/react-components/RenderWalletState.js.map +1 -1
  48. package/dist/esm/react-components/WalletObserverProvider/WalletObserverProvider.js.map +1 -1
  49. package/dist/esm/react-components/WalletObserverProvider/hooks/effects/useDerivedState.js.map +1 -1
  50. package/dist/esm/react-components/WalletObserverProvider/hooks/effects/useProviderRefreshInterval.js.map +1 -1
  51. package/dist/esm/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.js +5 -0
  52. package/dist/esm/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.js.map +1 -1
  53. package/dist/esm/react-components/WalletObserverProvider/hooks/useWalletObserverState.js +3 -2
  54. package/dist/esm/react-components/WalletObserverProvider/hooks/useWalletObserverState.js.map +1 -1
  55. package/dist/esm/react-components/contexts/observer/context.js.map +1 -1
  56. package/dist/esm/react-components/contexts/observer/types.js.map +1 -1
  57. package/dist/esm/react-components/hooks/useWalletHandles.js.map +1 -1
  58. package/dist/esm/react-components/hooks/useWalletLoadingState.js.map +1 -1
  59. package/dist/esm/react-components/hooks/useWalletObserver.js.map +1 -1
  60. package/dist/esm/react-components/hooks/useWalletPeerConnect.js.map +1 -1
  61. package/dist/esm/utils/comparisons.js.map +1 -1
  62. package/dist/esm/utils/hashing.js.map +1 -1
  63. package/dist/types/@types/events.d.ts +2 -2
  64. package/dist/types/classes/WalletBalanceMap.class.d.ts +1 -1
  65. package/dist/types/classes/WalletBalanceMap.class.d.ts.map +1 -1
  66. package/dist/types/classes/WalletObserver.class.d.ts +2 -2
  67. package/dist/types/classes/WalletObserver.class.d.ts.map +1 -1
  68. package/dist/types/classes/WalletObserverEvent.d.ts +7 -7
  69. package/dist/types/classes/WalletObserverEvent.d.ts.map +1 -1
  70. package/dist/types/classes/WalletObserverUtils.class.d.ts.map +1 -1
  71. package/dist/types/react-components/RenderWallet.d.ts +1 -1
  72. package/dist/types/react-components/RenderWallet.d.ts.map +1 -1
  73. package/dist/types/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.d.ts.map +1 -1
  74. package/dist/types/react-components/WalletObserverProvider/hooks/useWalletObserverState.d.ts.map +1 -1
  75. package/dist/types/react-components/contexts/observer/types.d.ts +1 -0
  76. package/dist/types/react-components/contexts/observer/types.d.ts.map +1 -1
  77. package/dist/types/tsconfig.build.tsbuildinfo +1 -1
  78. package/dist/types/utils/comparisons.d.ts.map +1 -1
  79. package/dist/types/utils/hashing.d.ts +3 -3
  80. package/package.json +1 -1
  81. package/src/@types/events.ts +4 -4
  82. package/src/@types/global.d.ts +1 -0
  83. package/src/@types/observer.ts +6 -6
  84. package/src/__data__/assets.ts +1 -1
  85. package/src/classes/WalletAssetMap.class.ts +1 -1
  86. package/src/classes/WalletBalanceMap.class.ts +6 -6
  87. package/src/classes/WalletObserver.class.ts +27 -25
  88. package/src/classes/WalletObserverEvent.ts +14 -13
  89. package/src/classes/WalletObserverUtils.class.ts +11 -5
  90. package/src/classes/__tests__/WalletObserver.test.ts +23 -30
  91. package/src/classes/__tests__/WalletObserverEvent.test.ts +8 -8
  92. package/src/classes/__tests__/WalletObserverUtils.test.ts +6 -6
  93. package/src/react-components/RenderWallet.tsx +4 -4
  94. package/src/react-components/RenderWalletHandles.tsx +2 -2
  95. package/src/react-components/RenderWalletPeerConnect.tsx +2 -2
  96. package/src/react-components/RenderWalletState.tsx +2 -2
  97. package/src/react-components/WalletObserverProvider/WalletObserverProvider.tsx +3 -3
  98. package/src/react-components/WalletObserverProvider/hooks/effects/useDerivedState.ts +2 -2
  99. package/src/react-components/WalletObserverProvider/hooks/effects/useProviderRefreshInterval.ts +1 -1
  100. package/src/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.ts +21 -10
  101. package/src/react-components/WalletObserverProvider/hooks/useWalletObserverState.ts +19 -27
  102. package/src/react-components/__tests__/RenderWallet.test.tsx +1 -1
  103. package/src/react-components/__tests__/RenderWalletHandles.test.tsx +8 -8
  104. package/src/react-components/__tests__/hooks/useAvailableExtensions.test.tsx +1 -0
  105. package/src/react-components/__tests__/hooks/useWalletObserverRef.test.tsx +1 -1
  106. package/src/react-components/contexts/observer/context.ts +3 -3
  107. package/src/react-components/contexts/observer/types.ts +6 -5
  108. package/src/react-components/hooks/useWalletHandles.ts +5 -5
  109. package/src/react-components/hooks/useWalletLoadingState.ts +2 -2
  110. package/src/react-components/hooks/useWalletObserver.ts +2 -2
  111. package/src/react-components/hooks/useWalletPeerConnect.tsx +1 -1
  112. package/src/utils/__tests__/comparisons.test.ts +3 -3
  113. package/src/utils/__tests__/hashing.test.ts +6 -8
  114. package/src/utils/comparisons.ts +3 -1
  115. package/src/utils/hashing.ts +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"WalletObserverEvent.js","names":["getEventKey","WalletObserverEvent","constructor","_defineProperty","Map","event","data","_eventTarget","dispatchEvent","CustomEvent","detail","callback","key","_handlers","has","func","get","handler","e","set","addEventListener","options","delete","removeEventListener","EventTarget","eventList"],"sources":["../../../src/classes/WalletObserverEvent.ts"],"sourcesContent":["import {\n EWalletObserverEventValues,\n TWalletObserverEventFunction,\n} from \"../@types/events.js\";\nimport { getEventKey } from \"../utils/hashing.js\";\n\n/**\n * The base class for the WalletObserver class. This handles\n * the event-based tracking for all internal hooks.\n */\nexport class WalletObserverEvent {\n private _eventTarget: EventTarget;\n private _handlers: Map<string, Function> = new Map();\n\n constructor() {\n this._eventTarget = new EventTarget();\n }\n\n /**\n * Dispatches an event.\n *\n * @template E - The event type.\n * @param {E} event - The event to dispatch.\n * @param {EWalletObserverEventValues[E]} [data] - The data to pass with the event.\n */\n dispatch = <E extends keyof EWalletObserverEventValues>(\n event: E,\n data?: EWalletObserverEventValues[E]\n ) => {\n this._eventTarget.dispatchEvent(\n new CustomEvent(event as string, { detail: data })\n );\n };\n\n /**\n * Adds an event listener.\n *\n * @template E - The event type.\n * @param {E} event - The event to listen for.\n * @param {TWalletObserverEventFunction<E>} callback - The callback function to execute when the event is triggered.\n * @returns {void}\n */\n addEventListener = <E extends keyof EWalletObserverEventValues>(\n event: E,\n callback: TWalletObserverEventFunction<E>\n ): void => {\n const key = getEventKey(event, callback);\n\n // Ensure no duplicate handlers.\n if (this._handlers.has(key)) {\n const func = this._handlers.get(key);\n if (func) {\n return;\n }\n }\n\n const handler = (e: Event) => {\n callback((e as CustomEvent)?.detail);\n };\n\n this._handlers.set(key, handler);\n this._eventTarget.addEventListener(event as string, handler);\n };\n\n /**\n * Removes an event listener.\n *\n * @template E - The event type.\n * @param {E} event - The event to remove the listener from.\n * @param {TWalletObserverEventFunction<E>} callback - The callback function to remove.\n * @param {boolean | EventListenerOptions} [options] - Additional options for removing the listener.\n */\n removeEventListener = <E extends keyof EWalletObserverEventValues>(\n event: E,\n callback: TWalletObserverEventFunction<E>,\n options?: boolean | EventListenerOptions\n ) => {\n const key = getEventKey(event, callback);\n const func = this._handlers.get(key);\n\n if (func) {\n this._handlers.delete(key);\n this._eventTarget.removeEventListener(\n event as string,\n func as unknown as EventListenerOrEventListenerObject,\n options\n );\n }\n };\n\n /**\n * Queries the currently registered events. This is useful\n * if you want to expose these and remove any.\n *\n * @returns {Map<string, Function>} - A map of registered event handlers.\n */\n eventList(): Map<string, Function> {\n return this._handlers;\n }\n}\n"],"mappings":";;;AAIA,SAASA,WAAW,QAAQ,qBAAqB;;AAEjD;AACA;AACA;AACA;AACA,OAAO,MAAMC,mBAAmB,CAAC;EAI/BC,WAAWA,CAAA,EAAG;IAAAC,eAAA;IAAAA,eAAA,oBAF6B,IAAIC,GAAG,CAAC,CAAC;IAMpD;AACF;AACA;AACA;AACA;AACA;AACA;IANED,eAAA,mBAOW,CACTE,KAAQ,EACRC,IAAoC,KACjC;MACH,IAAI,CAACC,YAAY,CAACC,aAAa,CAC7B,IAAIC,WAAW,CAACJ,KAAK,EAAY;QAAEK,MAAM,EAAEJ;MAAK,CAAC,CACnD,CAAC;IACH,CAAC;IAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;IAPEH,eAAA,2BAQmB,CACjBE,KAAQ,EACRM,QAAyC,KAChC;MACT,MAAMC,GAAG,GAAGZ,WAAW,CAACK,KAAK,EAAEM,QAAQ,CAAC;;MAExC;MACA,IAAI,IAAI,CAACE,SAAS,CAACC,GAAG,CAACF,GAAG,CAAC,EAAE;QAC3B,MAAMG,IAAI,GAAG,IAAI,CAACF,SAAS,CAACG,GAAG,CAACJ,GAAG,CAAC;QACpC,IAAIG,IAAI,EAAE;UACR;QACF;MACF;MAEA,MAAME,OAAO,GAAIC,CAAQ,IAAK;QAC5BP,QAAQ,CAAEO,CAAC,EAAkBR,MAAM,CAAC;MACtC,CAAC;MAED,IAAI,CAACG,SAAS,CAACM,GAAG,CAACP,GAAG,EAAEK,OAAO,CAAC;MAChC,IAAI,CAACV,YAAY,CAACa,gBAAgB,CAACf,KAAK,EAAYY,OAAO,CAAC;IAC9D,CAAC;IAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;IAPEd,eAAA,8BAQsB,CACpBE,KAAQ,EACRM,QAAyC,EACzCU,OAAwC,KACrC;MACH,MAAMT,GAAG,GAAGZ,WAAW,CAACK,KAAK,EAAEM,QAAQ,CAAC;MACxC,MAAMI,IAAI,GAAG,IAAI,CAACF,SAAS,CAACG,GAAG,CAACJ,GAAG,CAAC;MAEpC,IAAIG,IAAI,EAAE;QACR,IAAI,CAACF,SAAS,CAACS,MAAM,CAACV,GAAG,CAAC;QAC1B,IAAI,CAACL,YAAY,CAACgB,mBAAmB,CACnClB,KAAK,EACLU,IAAI,EACJM,OACF,CAAC;MACH;IACF,CAAC;IAzEC,IAAI,CAACd,YAAY,GAAG,IAAIiB,WAAW,CAAC,CAAC;EACvC;EA0EA;AACF;AACA;AACA;AACA;AACA;EACEC,SAASA,CAAA,EAA0B;IACjC,OAAO,IAAI,CAACZ,SAAS;EACvB;AACF","ignoreList":[]}
1
+ {"version":3,"file":"WalletObserverEvent.js","names":["getEventKey","WalletObserverEvent","constructor","_defineProperty","Map","event","data","_eventTarget","dispatchEvent","CustomEvent","detail","callback","key","_handlers","has","func","get","handler","e","set","addEventListener","options","delete","removeEventListener","EventTarget","eventList"],"sources":["../../../src/classes/WalletObserverEvent.ts"],"sourcesContent":["import {\n IWalletObserverEventValues,\n TWalletObserverEventFunction,\n} from \"../@types/events.js\";\nimport { getEventKey } from \"../utils/hashing.js\";\n\n/**\n * The base class for the WalletObserver class. This handles\n * the event-based tracking for all internal hooks.\n */\nexport class WalletObserverEvent {\n private _eventTarget: EventTarget;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _handlers: Map<string, (...params: any) => void> = new Map();\n\n constructor() {\n this._eventTarget = new EventTarget();\n }\n\n /**\n * Dispatches an event.\n *\n * @template E - The event type.\n * @param {E} event - The event to dispatch.\n * @param {IWalletObserverEventValues[E]} [data] - The data to pass with the event.\n */\n dispatch = <E extends keyof IWalletObserverEventValues>(\n event: E,\n data?: IWalletObserverEventValues[E],\n ) => {\n this._eventTarget.dispatchEvent(\n new CustomEvent(event as string, { detail: data }),\n );\n };\n\n /**\n * Adds an event listener.\n *\n * @template E - The event type.\n * @param {E} event - The event to listen for.\n * @param {TWalletObserverEventFunction<E>} callback - The callback function to execute when the event is triggered.\n * @returns {void}\n */\n addEventListener = <E extends keyof IWalletObserverEventValues>(\n event: E,\n callback: TWalletObserverEventFunction<E>,\n ): void => {\n const key = getEventKey(event, callback);\n\n // Ensure no duplicate handlers.\n if (this._handlers.has(key)) {\n const func = this._handlers.get(key);\n if (func) {\n return;\n }\n }\n\n const handler = (e: Event) => {\n callback((e as CustomEvent)?.detail);\n };\n\n this._handlers.set(key, handler);\n this._eventTarget.addEventListener(event as string, handler);\n };\n\n /**\n * Removes an event listener.\n *\n * @template E - The event type.\n * @param {E} event - The event to remove the listener from.\n * @param {TWalletObserverEventFunction<E>} callback - The callback function to remove.\n * @param {boolean | EventListenerOptions} [options] - Additional options for removing the listener.\n */\n removeEventListener = <E extends keyof IWalletObserverEventValues>(\n event: E,\n callback: TWalletObserverEventFunction<E>,\n options?: boolean | EventListenerOptions,\n ) => {\n const key = getEventKey(event, callback);\n const func = this._handlers.get(key);\n\n if (func) {\n this._handlers.delete(key);\n this._eventTarget.removeEventListener(\n event as string,\n func as unknown as EventListenerOrEventListenerObject,\n options,\n );\n }\n };\n\n /**\n * Queries the currently registered events. This is useful\n * if you want to expose these and remove any.\n *\n * @returns {Map<string, () => void>} - A map of registered event handlers.\n */\n eventList(): Map<string, () => void> {\n return this._handlers;\n }\n}\n"],"mappings":";;;AAIA,SAASA,WAAW,QAAQ,qBAAqB;;AAEjD;AACA;AACA;AACA;AACA,OAAO,MAAMC,mBAAmB,CAAC;EAK/BC,WAAWA,CAAA,EAAG;IAAAC,eAAA;IAHd;IAAAA,eAAA,oBAC2D,IAAIC,GAAG,CAAC,CAAC;IAMpE;AACF;AACA;AACA;AACA;AACA;AACA;IANED,eAAA,mBAOW,CACTE,KAAQ,EACRC,IAAoC,KACjC;MACH,IAAI,CAACC,YAAY,CAACC,aAAa,CAC7B,IAAIC,WAAW,CAACJ,KAAK,EAAY;QAAEK,MAAM,EAAEJ;MAAK,CAAC,CACnD,CAAC;IACH,CAAC;IAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;IAPEH,eAAA,2BAQmB,CACjBE,KAAQ,EACRM,QAAyC,KAChC;MACT,MAAMC,GAAG,GAAGZ,WAAW,CAACK,KAAK,EAAEM,QAAQ,CAAC;;MAExC;MACA,IAAI,IAAI,CAACE,SAAS,CAACC,GAAG,CAACF,GAAG,CAAC,EAAE;QAC3B,MAAMG,IAAI,GAAG,IAAI,CAACF,SAAS,CAACG,GAAG,CAACJ,GAAG,CAAC;QACpC,IAAIG,IAAI,EAAE;UACR;QACF;MACF;MAEA,MAAME,OAAO,GAAIC,CAAQ,IAAK;QAC5BP,QAAQ,CAAEO,CAAC,EAAkBR,MAAM,CAAC;MACtC,CAAC;MAED,IAAI,CAACG,SAAS,CAACM,GAAG,CAACP,GAAG,EAAEK,OAAO,CAAC;MAChC,IAAI,CAACV,YAAY,CAACa,gBAAgB,CAACf,KAAK,EAAYY,OAAO,CAAC;IAC9D,CAAC;IAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;IAPEd,eAAA,8BAQsB,CACpBE,KAAQ,EACRM,QAAyC,EACzCU,OAAwC,KACrC;MACH,MAAMT,GAAG,GAAGZ,WAAW,CAACK,KAAK,EAAEM,QAAQ,CAAC;MACxC,MAAMI,IAAI,GAAG,IAAI,CAACF,SAAS,CAACG,GAAG,CAACJ,GAAG,CAAC;MAEpC,IAAIG,IAAI,EAAE;QACR,IAAI,CAACF,SAAS,CAACS,MAAM,CAACV,GAAG,CAAC;QAC1B,IAAI,CAACL,YAAY,CAACgB,mBAAmB,CACnClB,KAAK,EACLU,IAAI,EACJM,OACF,CAAC;MACH;IACF,CAAC;IAzEC,IAAI,CAACd,YAAY,GAAG,IAAIiB,WAAW,CAAC,CAAC;EACvC;EA0EA;AACF;AACA;AACA;AACA;AACA;EACEC,SAASA,CAAA,EAA4B;IACnC,OAAO,IAAI,CAACZ,SAAS;EACvB;AACF","ignoreList":[]}
@@ -1,6 +1,11 @@
1
+ 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; }
2
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
3
+ 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); }
1
4
  import { getCardanoCore } from "../utils/getLibs.js";
2
5
  export class WalletObserverUtils {
3
6
  constructor(network, Cardano) {
7
+ _defineProperty(this, "network", void 0);
8
+ _defineProperty(this, "Cardano", void 0);
4
9
  this.network = network;
5
10
  this.Cardano = Cardano;
6
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"WalletObserverUtils.class.js","names":["getCardanoCore","WalletObserverUtils","constructor","network","Cardano","new","cardano","then","setNetwork","val","getAddressDetails","address","Address","isValidBech32","Error","BaseAddress","fromAddress","fromBech32","paymentCredential","getPaymentCredential","stakingCredential","getStakeCredential","getBech32StakingAddress","undefined","stakingAddress","RewardAddress","fromCredentials","toAddress","toBech32"],"sources":["../../../src/classes/WalletObserverUtils.class.ts"],"sourcesContent":["import { TAddressDetails } from \"../@types/utils.js\";\nimport { getCardanoCore } from \"../utils/getLibs.js\";\n\nexport class WalletObserverUtils {\n private constructor(\n public network: number,\n public Cardano: typeof import(\"@cardano-sdk/core\").Cardano\n ) {}\n\n static async new(network: number): Promise<WalletObserverUtils> {\n const cardano = await getCardanoCore().then(({ Cardano }) => Cardano);\n return new this(network, cardano);\n }\n\n setNetwork(val: number): WalletObserverUtils {\n this.network = val;\n return this;\n }\n\n getAddressDetails(address: string): TAddressDetails {\n if (!this.Cardano.Address.isValidBech32(address)) {\n throw new Error(\"Expected a Bech32 encoded address.\");\n }\n\n const Address = this.Cardano.BaseAddress.fromAddress(\n this.Cardano.Address.fromBech32(address)\n );\n\n return {\n paymentCredential: Address?.getPaymentCredential(),\n stakingCredential: Address?.getStakeCredential(),\n };\n }\n\n getBech32StakingAddress(address: string): string | undefined {\n const { stakingCredential } = this.getAddressDetails(address);\n if (!stakingCredential) {\n return undefined;\n }\n\n const stakingAddress = this.Cardano.RewardAddress.fromCredentials(\n this.network,\n stakingCredential\n );\n return stakingAddress.toAddress().toBech32();\n }\n}\n"],"mappings":"AACA,SAASA,cAAc,QAAQ,qBAAqB;AAEpD,OAAO,MAAMC,mBAAmB,CAAC;EACvBC,WAAWA,CACVC,OAAe,EACfC,OAAmD,EAC1D;IAAA,KAFOD,OAAe,GAAfA,OAAe;IAAA,KACfC,OAAmD,GAAnDA,OAAmD;EACzD;EAEH,aAAaC,GAAGA,CAACF,OAAe,EAAgC;IAC9D,MAAMG,OAAO,GAAG,MAAMN,cAAc,CAAC,CAAC,CAACO,IAAI,CAAC,CAAC;MAAEH;IAAQ,CAAC,KAAKA,OAAO,CAAC;IACrE,OAAO,IAAI,IAAI,CAACD,OAAO,EAAEG,OAAO,CAAC;EACnC;EAEAE,UAAUA,CAACC,GAAW,EAAuB;IAC3C,IAAI,CAACN,OAAO,GAAGM,GAAG;IAClB,OAAO,IAAI;EACb;EAEAC,iBAAiBA,CAACC,OAAe,EAAmB;IAClD,IAAI,CAAC,IAAI,CAACP,OAAO,CAACQ,OAAO,CAACC,aAAa,CAACF,OAAO,CAAC,EAAE;MAChD,MAAM,IAAIG,KAAK,CAAC,oCAAoC,CAAC;IACvD;IAEA,MAAMF,OAAO,GAAG,IAAI,CAACR,OAAO,CAACW,WAAW,CAACC,WAAW,CAClD,IAAI,CAACZ,OAAO,CAACQ,OAAO,CAACK,UAAU,CAACN,OAAO,CACzC,CAAC;IAED,OAAO;MACLO,iBAAiB,EAAEN,OAAO,EAAEO,oBAAoB,CAAC,CAAC;MAClDC,iBAAiB,EAAER,OAAO,EAAES,kBAAkB,CAAC;IACjD,CAAC;EACH;EAEAC,uBAAuBA,CAACX,OAAe,EAAsB;IAC3D,MAAM;MAAES;IAAkB,CAAC,GAAG,IAAI,CAACV,iBAAiB,CAACC,OAAO,CAAC;IAC7D,IAAI,CAACS,iBAAiB,EAAE;MACtB,OAAOG,SAAS;IAClB;IAEA,MAAMC,cAAc,GAAG,IAAI,CAACpB,OAAO,CAACqB,aAAa,CAACC,eAAe,CAC/D,IAAI,CAACvB,OAAO,EACZiB,iBACF,CAAC;IACD,OAAOI,cAAc,CAACG,SAAS,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EAC9C;AACF","ignoreList":[]}
1
+ {"version":3,"file":"WalletObserverUtils.class.js","names":["getCardanoCore","WalletObserverUtils","constructor","network","Cardano","_defineProperty","new","cardano","then","setNetwork","val","getAddressDetails","address","Address","isValidBech32","Error","BaseAddress","fromAddress","fromBech32","paymentCredential","getPaymentCredential","stakingCredential","getStakeCredential","getBech32StakingAddress","undefined","stakingAddress","RewardAddress","fromCredentials","toAddress","toBech32"],"sources":["../../../src/classes/WalletObserverUtils.class.ts"],"sourcesContent":["import { TAddressDetails } from \"../@types/utils.js\";\nimport { getCardanoCore } from \"../utils/getLibs.js\";\n\nexport class WalletObserverUtils {\n public network: number;\n public Cardano: typeof import(\"@cardano-sdk/core\").Cardano;\n\n private constructor(\n network: number,\n Cardano: typeof import(\"@cardano-sdk/core\").Cardano,\n ) {\n this.network = network;\n this.Cardano = Cardano;\n }\n\n static async new(network: number): Promise<WalletObserverUtils> {\n const cardano = await getCardanoCore().then(({ Cardano }) => Cardano);\n return new this(network, cardano);\n }\n\n setNetwork(val: number): WalletObserverUtils {\n this.network = val;\n return this;\n }\n\n getAddressDetails(address: string): TAddressDetails {\n if (!this.Cardano.Address.isValidBech32(address)) {\n throw new Error(\"Expected a Bech32 encoded address.\");\n }\n\n const Address = this.Cardano.BaseAddress.fromAddress(\n this.Cardano.Address.fromBech32(address),\n );\n\n return {\n paymentCredential: Address?.getPaymentCredential(),\n stakingCredential: Address?.getStakeCredential(),\n };\n }\n\n getBech32StakingAddress(address: string): string | undefined {\n const { stakingCredential } = this.getAddressDetails(address);\n if (!stakingCredential) {\n return undefined;\n }\n\n const stakingAddress = this.Cardano.RewardAddress.fromCredentials(\n this.network,\n stakingCredential,\n );\n return stakingAddress.toAddress().toBech32();\n }\n}\n"],"mappings":";;;AACA,SAASA,cAAc,QAAQ,qBAAqB;AAEpD,OAAO,MAAMC,mBAAmB,CAAC;EAIvBC,WAAWA,CACjBC,OAAe,EACfC,OAAmD,EACnD;IAAAC,eAAA;IAAAA,eAAA;IACA,IAAI,CAACF,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACC,OAAO,GAAGA,OAAO;EACxB;EAEA,aAAaE,GAAGA,CAACH,OAAe,EAAgC;IAC9D,MAAMI,OAAO,GAAG,MAAMP,cAAc,CAAC,CAAC,CAACQ,IAAI,CAAC,CAAC;MAAEJ;IAAQ,CAAC,KAAKA,OAAO,CAAC;IACrE,OAAO,IAAI,IAAI,CAACD,OAAO,EAAEI,OAAO,CAAC;EACnC;EAEAE,UAAUA,CAACC,GAAW,EAAuB;IAC3C,IAAI,CAACP,OAAO,GAAGO,GAAG;IAClB,OAAO,IAAI;EACb;EAEAC,iBAAiBA,CAACC,OAAe,EAAmB;IAClD,IAAI,CAAC,IAAI,CAACR,OAAO,CAACS,OAAO,CAACC,aAAa,CAACF,OAAO,CAAC,EAAE;MAChD,MAAM,IAAIG,KAAK,CAAC,oCAAoC,CAAC;IACvD;IAEA,MAAMF,OAAO,GAAG,IAAI,CAACT,OAAO,CAACY,WAAW,CAACC,WAAW,CAClD,IAAI,CAACb,OAAO,CAACS,OAAO,CAACK,UAAU,CAACN,OAAO,CACzC,CAAC;IAED,OAAO;MACLO,iBAAiB,EAAEN,OAAO,EAAEO,oBAAoB,CAAC,CAAC;MAClDC,iBAAiB,EAAER,OAAO,EAAES,kBAAkB,CAAC;IACjD,CAAC;EACH;EAEAC,uBAAuBA,CAACX,OAAe,EAAsB;IAC3D,MAAM;MAAES;IAAkB,CAAC,GAAG,IAAI,CAACV,iBAAiB,CAACC,OAAO,CAAC;IAC7D,IAAI,CAACS,iBAAiB,EAAE;MACtB,OAAOG,SAAS;IAClB;IAEA,MAAMC,cAAc,GAAG,IAAI,CAACrB,OAAO,CAACsB,aAAa,CAACC,eAAe,CAC/D,IAAI,CAACxB,OAAO,EACZkB,iBACF,CAAC;IACD,OAAOI,cAAc,CAACG,SAAS,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EAC9C;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"RenderWallet.js","names":["Suspense","ErrorBoundary","useWalletObserver","jsx","_jsx","RenderWallet","render","loader","fallback","state","children","onError","error","observer","getOptions","debug","console","log","message","stack"],"sources":["../../../src/react-components/RenderWallet.tsx"],"sourcesContent":["import { IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport { FC, ReactElement, ReactNode, Suspense } from \"react\";\n\nimport { ErrorBoundary } from \"react-error-boundary\";\nimport { useWalletObserver } from \"./hooks/useWalletObserver.js\";\n\nexport type TRenderWalletFunctionState<\n T extends IAssetAmountMetadata = IAssetAmountMetadata\n> = ReturnType<typeof useWalletObserver<T>>;\n\nexport type TRenderWalletFunction = (\n state: TRenderWalletFunctionState<any>\n) => JSX.Element | ReactNode;\n\nexport interface IRenderWalletProps {\n render: TRenderWalletFunction;\n loader?: ReactNode;\n fallback?: ReactElement;\n}\n\n/**\n * This component is responsible for rendering just the wallet state\n * that is returned from syncWallet. It is the basics. Other components\n * compose on this and include state for Handles, PeerConnect (CIP-45),\n * and syncing state (RenderWalletState).\n */\nexport const RenderWallet: FC<IRenderWalletProps> = ({\n render,\n loader,\n fallback,\n}) => {\n const state = useWalletObserver();\n\n return (\n <ErrorBoundary\n fallback={fallback || <p>Error.</p>}\n onError={(error) => {\n if (state.observer.getOptions().debug) {\n console.log(error.message, error.stack);\n }\n }}\n >\n <Suspense fallback={loader}>{render(state)}</Suspense>\n </ErrorBoundary>\n );\n};\n"],"mappings":"AACA,SAAsCA,QAAQ,QAAQ,OAAO;AAE7D,SAASC,aAAa,QAAQ,sBAAsB;AACpD,SAASC,iBAAiB,QAAQ,8BAA8B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAgBjE;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,YAAoC,GAAGA,CAAC;EACnDC,MAAM;EACNC,MAAM;EACNC;AACF,CAAC,KAAK;EACJ,MAAMC,KAAK,GAAGP,iBAAiB,CAAC,CAAC;EAEjC,oBACEE,IAAA,CAACH,aAAa;IACZO,QAAQ,EAAEA,QAAQ,iBAAIJ,IAAA;MAAAM,QAAA,EAAG;IAAM,CAAG,CAAE;IACpCC,OAAO,EAAGC,KAAK,IAAK;MAClB,IAAIH,KAAK,CAACI,QAAQ,CAACC,UAAU,CAAC,CAAC,CAACC,KAAK,EAAE;QACrCC,OAAO,CAACC,GAAG,CAACL,KAAK,CAACM,OAAO,EAAEN,KAAK,CAACO,KAAK,CAAC;MACzC;IACF,CAAE;IAAAT,QAAA,eAEFN,IAAA,CAACJ,QAAQ;MAACQ,QAAQ,EAAED,MAAO;MAAAG,QAAA,EAAEJ,MAAM,CAACG,KAAK;IAAC,CAAW;EAAC,CACzC,CAAC;AAEpB,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"RenderWallet.js","names":["Suspense","ErrorBoundary","useWalletObserver","jsx","_jsx","RenderWallet","render","loader","fallback","state","children","onError","error","observer","getOptions","debug","console","log","message","stack"],"sources":["../../../src/react-components/RenderWallet.tsx"],"sourcesContent":["import { IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport { FC, ReactElement, ReactNode, Suspense } from \"react\";\n\nimport { ErrorBoundary } from \"react-error-boundary\";\nimport { useWalletObserver } from \"./hooks/useWalletObserver.js\";\n\nexport type TRenderWalletFunctionState<\n T extends IAssetAmountMetadata = IAssetAmountMetadata,\n> = ReturnType<typeof useWalletObserver<T>>;\n\nexport type TRenderWalletFunction<\n T extends IAssetAmountMetadata = IAssetAmountMetadata,\n> = (state: TRenderWalletFunctionState<T>) => JSX.Element | ReactNode;\n\nexport interface IRenderWalletProps {\n render: TRenderWalletFunction;\n loader?: ReactNode;\n fallback?: ReactElement;\n}\n\n/**\n * This component is responsible for rendering just the wallet state\n * that is returned from syncWallet. It is the basics. Other components\n * compose on this and include state for Handles, PeerConnect (CIP-45),\n * and syncing state (RenderWalletState).\n */\nexport const RenderWallet: FC<IRenderWalletProps> = ({\n render,\n loader,\n fallback,\n}) => {\n const state = useWalletObserver();\n\n return (\n <ErrorBoundary\n fallback={fallback || <p>Error.</p>}\n onError={(error) => {\n if (state.observer.getOptions().debug) {\n console.log(error.message, error.stack);\n }\n }}\n >\n <Suspense fallback={loader}>{render(state)}</Suspense>\n </ErrorBoundary>\n );\n};\n"],"mappings":"AACA,SAAsCA,QAAQ,QAAQ,OAAO;AAE7D,SAASC,aAAa,QAAQ,sBAAsB;AACpD,SAASC,iBAAiB,QAAQ,8BAA8B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAgBjE;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,YAAoC,GAAGA,CAAC;EACnDC,MAAM;EACNC,MAAM;EACNC;AACF,CAAC,KAAK;EACJ,MAAMC,KAAK,GAAGP,iBAAiB,CAAC,CAAC;EAEjC,oBACEE,IAAA,CAACH,aAAa;IACZO,QAAQ,EAAEA,QAAQ,iBAAIJ,IAAA;MAAAM,QAAA,EAAG;IAAM,CAAG,CAAE;IACpCC,OAAO,EAAGC,KAAK,IAAK;MAClB,IAAIH,KAAK,CAACI,QAAQ,CAACC,UAAU,CAAC,CAAC,CAACC,KAAK,EAAE;QACrCC,OAAO,CAACC,GAAG,CAACL,KAAK,CAACM,OAAO,EAAEN,KAAK,CAACO,KAAK,CAAC;MACzC;IACF,CAAE;IAAAT,QAAA,eAEFN,IAAA,CAACJ,QAAQ;MAACQ,QAAQ,EAAED,MAAO;MAAAG,QAAA,EAAEJ,MAAM,CAACG,KAAK;IAAC,CAAW;EAAC,CACzC,CAAC;AAEpB,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"RenderWalletHandles.js","names":["Suspense","ErrorBoundary","useWalletHandles","useWalletObserver","jsx","_jsx","RenderWalletHandles","render","loader","fallback","state","handleData","children","onError","error","observer","getOptions","debug","console","log","message","stack"],"sources":["../../../src/react-components/RenderWalletHandles.tsx"],"sourcesContent":["import { IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport { FC, ReactElement, ReactNode, Suspense } from \"react\";\n\nimport { ErrorBoundary } from \"react-error-boundary\";\nimport { useWalletHandles } from \"./hooks/useWalletHandles.js\";\nimport { useWalletObserver } from \"./hooks/useWalletObserver.js\";\n\nexport type TRenderWalletHandlesFunctionState<\n T extends IAssetAmountMetadata = IAssetAmountMetadata\n> = ReturnType<typeof useWalletObserver<T>> &\n ReturnType<typeof useWalletHandles<T>>;\n\nexport type TRenderWalletHandlesFunction = (\n state: TRenderWalletHandlesFunctionState\n) => JSX.Element | ReactNode;\n\nexport interface IRenderWalletHandlesProps {\n render: TRenderWalletHandlesFunction;\n loader?: ReactNode;\n fallback?: ReactElement;\n}\n\n/**\n * This component is the same as RenderWallet, but supports\n * fetching and updating wallet Handles with their extra\n * metadata.\n */\nexport const RenderWalletHandles: FC<IRenderWalletHandlesProps> = ({\n render,\n loader,\n fallback,\n}) => {\n const state = useWalletObserver();\n const handleData = useWalletHandles();\n\n return (\n <ErrorBoundary\n fallback={fallback || <p>Error.</p>}\n onError={(error) => {\n if (state.observer.getOptions().debug) {\n console.log(error.message, error.stack);\n }\n }}\n >\n <Suspense fallback={loader}>\n {render({ ...state, ...handleData })}\n </Suspense>\n </ErrorBoundary>\n );\n};\n"],"mappings":"AACA,SAAsCA,QAAQ,QAAQ,OAAO;AAE7D,SAASC,aAAa,QAAQ,sBAAsB;AACpD,SAASC,gBAAgB,QAAQ,6BAA6B;AAC9D,SAASC,iBAAiB,QAAQ,8BAA8B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAiBjE;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,mBAAkD,GAAGA,CAAC;EACjEC,MAAM;EACNC,MAAM;EACNC;AACF,CAAC,KAAK;EACJ,MAAMC,KAAK,GAAGP,iBAAiB,CAAC,CAAC;EACjC,MAAMQ,UAAU,GAAGT,gBAAgB,CAAC,CAAC;EAErC,oBACEG,IAAA,CAACJ,aAAa;IACZQ,QAAQ,EAAEA,QAAQ,iBAAIJ,IAAA;MAAAO,QAAA,EAAG;IAAM,CAAG,CAAE;IACpCC,OAAO,EAAGC,KAAK,IAAK;MAClB,IAAIJ,KAAK,CAACK,QAAQ,CAACC,UAAU,CAAC,CAAC,CAACC,KAAK,EAAE;QACrCC,OAAO,CAACC,GAAG,CAACL,KAAK,CAACM,OAAO,EAAEN,KAAK,CAACO,KAAK,CAAC;MACzC;IACF,CAAE;IAAAT,QAAA,eAEFP,IAAA,CAACL,QAAQ;MAACS,QAAQ,EAAED,MAAO;MAAAI,QAAA,EACxBL,MAAM,CAAC;QAAE,GAAGG,KAAK;QAAE,GAAGC;MAAW,CAAC;IAAC,CAC5B;EAAC,CACE,CAAC;AAEpB,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"RenderWalletHandles.js","names":["Suspense","ErrorBoundary","useWalletHandles","useWalletObserver","jsx","_jsx","RenderWalletHandles","render","loader","fallback","state","handleData","children","onError","error","observer","getOptions","debug","console","log","message","stack"],"sources":["../../../src/react-components/RenderWalletHandles.tsx"],"sourcesContent":["import { IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport { FC, ReactElement, ReactNode, Suspense } from \"react\";\n\nimport { ErrorBoundary } from \"react-error-boundary\";\nimport { useWalletHandles } from \"./hooks/useWalletHandles.js\";\nimport { useWalletObserver } from \"./hooks/useWalletObserver.js\";\n\nexport type TRenderWalletHandlesFunctionState<\n T extends IAssetAmountMetadata = IAssetAmountMetadata,\n> = ReturnType<typeof useWalletObserver<T>> &\n ReturnType<typeof useWalletHandles<T>>;\n\nexport type TRenderWalletHandlesFunction = (\n state: TRenderWalletHandlesFunctionState,\n) => JSX.Element | ReactNode;\n\nexport interface IRenderWalletHandlesProps {\n render: TRenderWalletHandlesFunction;\n loader?: ReactNode;\n fallback?: ReactElement;\n}\n\n/**\n * This component is the same as RenderWallet, but supports\n * fetching and updating wallet Handles with their extra\n * metadata.\n */\nexport const RenderWalletHandles: FC<IRenderWalletHandlesProps> = ({\n render,\n loader,\n fallback,\n}) => {\n const state = useWalletObserver();\n const handleData = useWalletHandles();\n\n return (\n <ErrorBoundary\n fallback={fallback || <p>Error.</p>}\n onError={(error) => {\n if (state.observer.getOptions().debug) {\n console.log(error.message, error.stack);\n }\n }}\n >\n <Suspense fallback={loader}>\n {render({ ...state, ...handleData })}\n </Suspense>\n </ErrorBoundary>\n );\n};\n"],"mappings":"AACA,SAAsCA,QAAQ,QAAQ,OAAO;AAE7D,SAASC,aAAa,QAAQ,sBAAsB;AACpD,SAASC,gBAAgB,QAAQ,6BAA6B;AAC9D,SAASC,iBAAiB,QAAQ,8BAA8B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAiBjE;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,mBAAkD,GAAGA,CAAC;EACjEC,MAAM;EACNC,MAAM;EACNC;AACF,CAAC,KAAK;EACJ,MAAMC,KAAK,GAAGP,iBAAiB,CAAC,CAAC;EACjC,MAAMQ,UAAU,GAAGT,gBAAgB,CAAC,CAAC;EAErC,oBACEG,IAAA,CAACJ,aAAa;IACZQ,QAAQ,EAAEA,QAAQ,iBAAIJ,IAAA;MAAAO,QAAA,EAAG;IAAM,CAAG,CAAE;IACpCC,OAAO,EAAGC,KAAK,IAAK;MAClB,IAAIJ,KAAK,CAACK,QAAQ,CAACC,UAAU,CAAC,CAAC,CAACC,KAAK,EAAE;QACrCC,OAAO,CAACC,GAAG,CAACL,KAAK,CAACM,OAAO,EAAEN,KAAK,CAACO,KAAK,CAAC;MACzC;IACF,CAAE;IAAAT,QAAA,eAEFP,IAAA,CAACL,QAAQ;MAACS,QAAQ,EAAED,MAAO;MAAAI,QAAA,EACxBL,MAAM,CAAC;QAAE,GAAGG,KAAK;QAAE,GAAGC;MAAW,CAAC;IAAC,CAC5B;EAAC,CACE,CAAC;AAEpB,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"RenderWalletPeerConnect.js","names":["Suspense","ErrorBoundary","useWalletObserver","useWalletPeerConnect","jsx","_jsx","RenderWalletPeerConnect","render","loader","fallback","state","peerConnectState","peerConnect","children","error","onError","observer","getOptions","debug","console","log","message","stack"],"sources":["../../../src/react-components/RenderWalletPeerConnect.tsx"],"sourcesContent":["import { IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport { FC, ReactElement, ReactNode, Suspense } from \"react\";\nimport { ErrorBoundary } from \"react-error-boundary\";\n\nimport { useWalletObserver } from \"./hooks/useWalletObserver.js\";\nimport { useWalletPeerConnect } from \"./hooks/useWalletPeerConnect.js\";\n\nexport type TRenderWalletPeerConnectFunctionState<\n T extends IAssetAmountMetadata = IAssetAmountMetadata\n> = ReturnType<typeof useWalletObserver<T>> &\n ReturnType<typeof useWalletPeerConnect<T>>;\n\nexport type TRenderWalletPeerConnectFunction = (\n state: TRenderWalletPeerConnectFunctionState\n) => ReactNode;\n\nexport interface IRenderWalletPeerConnectProps {\n render: TRenderWalletPeerConnectFunction;\n loader?: ReactNode;\n fallback?: ReactElement;\n}\n\n/**\n * This component is responsible for generating CIP-45 utilities\n * and exposing them to the render function, including a QR Code\n * element that can be placed in the consuming app.\n */\nexport const RenderWalletPeerConnect: FC<IRenderWalletPeerConnectProps> = ({\n render,\n loader,\n fallback,\n}) => {\n const state = useWalletObserver();\n const peerConnectState = useWalletPeerConnect();\n\n if (!peerConnectState.peerConnect) {\n return null;\n }\n\n return (\n <ErrorBoundary\n fallback={fallback || <p>{peerConnectState.error}</p>}\n onError={(error) => {\n if (state.observer.getOptions().debug) {\n console.log(error.message, error.stack);\n }\n }}\n >\n <Suspense fallback={loader}>\n {render({ ...state, ...peerConnectState })}\n </Suspense>\n </ErrorBoundary>\n );\n};\n"],"mappings":"AACA,SAAsCA,QAAQ,QAAQ,OAAO;AAC7D,SAASC,aAAa,QAAQ,sBAAsB;AAEpD,SAASC,iBAAiB,QAAQ,8BAA8B;AAChE,SAASC,oBAAoB,QAAQ,iCAAiC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAiBvE;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,uBAA0D,GAAGA,CAAC;EACzEC,MAAM;EACNC,MAAM;EACNC;AACF,CAAC,KAAK;EACJ,MAAMC,KAAK,GAAGR,iBAAiB,CAAC,CAAC;EACjC,MAAMS,gBAAgB,GAAGR,oBAAoB,CAAC,CAAC;EAE/C,IAAI,CAACQ,gBAAgB,CAACC,WAAW,EAAE;IACjC,OAAO,IAAI;EACb;EAEA,oBACEP,IAAA,CAACJ,aAAa;IACZQ,QAAQ,EAAEA,QAAQ,iBAAIJ,IAAA;MAAAQ,QAAA,EAAIF,gBAAgB,CAACG;IAAK,CAAI,CAAE;IACtDC,OAAO,EAAGD,KAAK,IAAK;MAClB,IAAIJ,KAAK,CAACM,QAAQ,CAACC,UAAU,CAAC,CAAC,CAACC,KAAK,EAAE;QACrCC,OAAO,CAACC,GAAG,CAACN,KAAK,CAACO,OAAO,EAAEP,KAAK,CAACQ,KAAK,CAAC;MACzC;IACF,CAAE;IAAAT,QAAA,eAEFR,IAAA,CAACL,QAAQ;MAACS,QAAQ,EAAED,MAAO;MAAAK,QAAA,EACxBN,MAAM,CAAC;QAAE,GAAGG,KAAK;QAAE,GAAGC;MAAiB,CAAC;IAAC,CAClC;EAAC,CACE,CAAC;AAEpB,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"RenderWalletPeerConnect.js","names":["Suspense","ErrorBoundary","useWalletObserver","useWalletPeerConnect","jsx","_jsx","RenderWalletPeerConnect","render","loader","fallback","state","peerConnectState","peerConnect","children","error","onError","observer","getOptions","debug","console","log","message","stack"],"sources":["../../../src/react-components/RenderWalletPeerConnect.tsx"],"sourcesContent":["import { IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport { FC, ReactElement, ReactNode, Suspense } from \"react\";\nimport { ErrorBoundary } from \"react-error-boundary\";\n\nimport { useWalletObserver } from \"./hooks/useWalletObserver.js\";\nimport { useWalletPeerConnect } from \"./hooks/useWalletPeerConnect.js\";\n\nexport type TRenderWalletPeerConnectFunctionState<\n T extends IAssetAmountMetadata = IAssetAmountMetadata,\n> = ReturnType<typeof useWalletObserver<T>> &\n ReturnType<typeof useWalletPeerConnect<T>>;\n\nexport type TRenderWalletPeerConnectFunction = (\n state: TRenderWalletPeerConnectFunctionState,\n) => ReactNode;\n\nexport interface IRenderWalletPeerConnectProps {\n render: TRenderWalletPeerConnectFunction;\n loader?: ReactNode;\n fallback?: ReactElement;\n}\n\n/**\n * This component is responsible for generating CIP-45 utilities\n * and exposing them to the render function, including a QR Code\n * element that can be placed in the consuming app.\n */\nexport const RenderWalletPeerConnect: FC<IRenderWalletPeerConnectProps> = ({\n render,\n loader,\n fallback,\n}) => {\n const state = useWalletObserver();\n const peerConnectState = useWalletPeerConnect();\n\n if (!peerConnectState.peerConnect) {\n return null;\n }\n\n return (\n <ErrorBoundary\n fallback={fallback || <p>{peerConnectState.error}</p>}\n onError={(error) => {\n if (state.observer.getOptions().debug) {\n console.log(error.message, error.stack);\n }\n }}\n >\n <Suspense fallback={loader}>\n {render({ ...state, ...peerConnectState })}\n </Suspense>\n </ErrorBoundary>\n );\n};\n"],"mappings":"AACA,SAAsCA,QAAQ,QAAQ,OAAO;AAC7D,SAASC,aAAa,QAAQ,sBAAsB;AAEpD,SAASC,iBAAiB,QAAQ,8BAA8B;AAChE,SAASC,oBAAoB,QAAQ,iCAAiC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAiBvE;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,uBAA0D,GAAGA,CAAC;EACzEC,MAAM;EACNC,MAAM;EACNC;AACF,CAAC,KAAK;EACJ,MAAMC,KAAK,GAAGR,iBAAiB,CAAC,CAAC;EACjC,MAAMS,gBAAgB,GAAGR,oBAAoB,CAAC,CAAC;EAE/C,IAAI,CAACQ,gBAAgB,CAACC,WAAW,EAAE;IACjC,OAAO,IAAI;EACb;EAEA,oBACEP,IAAA,CAACJ,aAAa;IACZQ,QAAQ,EAAEA,QAAQ,iBAAIJ,IAAA;MAAAQ,QAAA,EAAIF,gBAAgB,CAACG;IAAK,CAAI,CAAE;IACtDC,OAAO,EAAGD,KAAK,IAAK;MAClB,IAAIJ,KAAK,CAACM,QAAQ,CAACC,UAAU,CAAC,CAAC,CAACC,KAAK,EAAE;QACrCC,OAAO,CAACC,GAAG,CAACN,KAAK,CAACO,OAAO,EAAEP,KAAK,CAACQ,KAAK,CAAC;MACzC;IACF,CAAE;IAAAT,QAAA,eAEFR,IAAA,CAACL,QAAQ;MAACS,QAAQ,EAAED,MAAO;MAAAK,QAAA,EACxBN,MAAM,CAAC;QAAE,GAAGG,KAAK;QAAE,GAAGC;MAAiB,CAAC;IAAC,CAClC;EAAC,CACE,CAAC;AAEpB,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"RenderWalletState.js","names":["Suspense","ErrorBoundary","useWalletLoadingState","useWalletObserver","jsx","_jsx","RenderWalletState","render","loader","fallback","state","loadingState","onError","error","observer","getOptions","debug","console","log","message","stack","children"],"sources":["../../../src/react-components/RenderWalletState.tsx"],"sourcesContent":["import { IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport { FC, ReactElement, ReactNode, Suspense } from \"react\";\n\nimport { ErrorBoundary } from \"react-error-boundary\";\nimport { useWalletLoadingState } from \"./hooks/useWalletLoadingState.js\";\nimport { useWalletObserver } from \"./hooks/useWalletObserver.js\";\n\nexport type TRenderWalletStateFunctionState<\n T extends IAssetAmountMetadata = IAssetAmountMetadata\n> = ReturnType<typeof useWalletObserver<T>> &\n ReturnType<typeof useWalletLoadingState<T>>;\n\nexport type TRenderWalletStateFunction = (\n state: TRenderWalletStateFunctionState\n) => JSX.Element | ReactNode;\n\nexport interface IRenderWalletStateProps {\n render: TRenderWalletStateFunction;\n loader?: ReactNode;\n fallback?: ReactElement;\n}\n\n/**\n * This component is the same as RenderWallet, but will\n * trigger a re-render every time the WalletObserver performs\n * a sync or connection operation. Useful for displaying\n * internal operation states of the wallet.\n */\nexport const RenderWalletState: FC<IRenderWalletStateProps> = ({\n render,\n loader,\n fallback = null,\n}) => {\n const state = useWalletObserver();\n const loadingState = useWalletLoadingState();\n\n return (\n <ErrorBoundary\n fallback={fallback}\n onError={(error) => {\n if (state.observer.getOptions().debug) {\n console.log(error.message, error.stack);\n }\n }}\n >\n <Suspense fallback={loader}>\n {render({\n ...state,\n ...loadingState,\n })}\n </Suspense>\n </ErrorBoundary>\n );\n};\n"],"mappings":"AACA,SAAsCA,QAAQ,QAAQ,OAAO;AAE7D,SAASC,aAAa,QAAQ,sBAAsB;AACpD,SAASC,qBAAqB,QAAQ,kCAAkC;AACxE,SAASC,iBAAiB,QAAQ,8BAA8B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAiBjE;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,iBAA8C,GAAGA,CAAC;EAC7DC,MAAM;EACNC,MAAM;EACNC,QAAQ,GAAG;AACb,CAAC,KAAK;EACJ,MAAMC,KAAK,GAAGP,iBAAiB,CAAC,CAAC;EACjC,MAAMQ,YAAY,GAAGT,qBAAqB,CAAC,CAAC;EAE5C,oBACEG,IAAA,CAACJ,aAAa;IACZQ,QAAQ,EAAEA,QAAS;IACnBG,OAAO,EAAGC,KAAK,IAAK;MAClB,IAAIH,KAAK,CAACI,QAAQ,CAACC,UAAU,CAAC,CAAC,CAACC,KAAK,EAAE;QACrCC,OAAO,CAACC,GAAG,CAACL,KAAK,CAACM,OAAO,EAAEN,KAAK,CAACO,KAAK,CAAC;MACzC;IACF,CAAE;IAAAC,QAAA,eAEFhB,IAAA,CAACL,QAAQ;MAACS,QAAQ,EAAED,MAAO;MAAAa,QAAA,EACxBd,MAAM,CAAC;QACN,GAAGG,KAAK;QACR,GAAGC;MACL,CAAC;IAAC,CACM;EAAC,CACE,CAAC;AAEpB,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"RenderWalletState.js","names":["Suspense","ErrorBoundary","useWalletLoadingState","useWalletObserver","jsx","_jsx","RenderWalletState","render","loader","fallback","state","loadingState","onError","error","observer","getOptions","debug","console","log","message","stack","children"],"sources":["../../../src/react-components/RenderWalletState.tsx"],"sourcesContent":["import { IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport { FC, ReactElement, ReactNode, Suspense } from \"react\";\n\nimport { ErrorBoundary } from \"react-error-boundary\";\nimport { useWalletLoadingState } from \"./hooks/useWalletLoadingState.js\";\nimport { useWalletObserver } from \"./hooks/useWalletObserver.js\";\n\nexport type TRenderWalletStateFunctionState<\n T extends IAssetAmountMetadata = IAssetAmountMetadata,\n> = ReturnType<typeof useWalletObserver<T>> &\n ReturnType<typeof useWalletLoadingState<T>>;\n\nexport type TRenderWalletStateFunction = (\n state: TRenderWalletStateFunctionState,\n) => JSX.Element | ReactNode;\n\nexport interface IRenderWalletStateProps {\n render: TRenderWalletStateFunction;\n loader?: ReactNode;\n fallback?: ReactElement;\n}\n\n/**\n * This component is the same as RenderWallet, but will\n * trigger a re-render every time the WalletObserver performs\n * a sync or connection operation. Useful for displaying\n * internal operation states of the wallet.\n */\nexport const RenderWalletState: FC<IRenderWalletStateProps> = ({\n render,\n loader,\n fallback = null,\n}) => {\n const state = useWalletObserver();\n const loadingState = useWalletLoadingState();\n\n return (\n <ErrorBoundary\n fallback={fallback}\n onError={(error) => {\n if (state.observer.getOptions().debug) {\n console.log(error.message, error.stack);\n }\n }}\n >\n <Suspense fallback={loader}>\n {render({\n ...state,\n ...loadingState,\n })}\n </Suspense>\n </ErrorBoundary>\n );\n};\n"],"mappings":"AACA,SAAsCA,QAAQ,QAAQ,OAAO;AAE7D,SAASC,aAAa,QAAQ,sBAAsB;AACpD,SAASC,qBAAqB,QAAQ,kCAAkC;AACxE,SAASC,iBAAiB,QAAQ,8BAA8B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAiBjE;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,iBAA8C,GAAGA,CAAC;EAC7DC,MAAM;EACNC,MAAM;EACNC,QAAQ,GAAG;AACb,CAAC,KAAK;EACJ,MAAMC,KAAK,GAAGP,iBAAiB,CAAC,CAAC;EACjC,MAAMQ,YAAY,GAAGT,qBAAqB,CAAC,CAAC;EAE5C,oBACEG,IAAA,CAACJ,aAAa;IACZQ,QAAQ,EAAEA,QAAS;IACnBG,OAAO,EAAGC,KAAK,IAAK;MAClB,IAAIH,KAAK,CAACI,QAAQ,CAACC,UAAU,CAAC,CAAC,CAACC,KAAK,EAAE;QACrCC,OAAO,CAACC,GAAG,CAACL,KAAK,CAACM,OAAO,EAAEN,KAAK,CAACO,KAAK,CAAC;MACzC;IACF,CAAE;IAAAC,QAAA,eAEFhB,IAAA,CAACL,QAAQ;MAACS,QAAQ,EAAED,MAAO;MAAAa,QAAA,EACxBd,MAAM,CAAC;QACN,GAAGG,KAAK;QACR,GAAGC;MACL,CAAC;IAAC,CACM;EAAC,CACE,CAAC;AAEpB,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"WalletObserverProvider.js","names":["useEffect","useMemo","WalletObserver","WalletObserverContext","useDerivedState","useProviderRefreshInterval","useProviderWalletObserverRef","useWalletObserverState","jsx","_jsx","WalletObserverProvider","children","options","observerRef","connectingWallet","syncingWallet","ready","eventListenersAttached","observerOptions","state","current","syncWallet","refreshInterval","derivedState","usedAddresses","contextValue","observer","wallet","window","localStorage","getItem","PERSISTENCE_CACHE_KEY","getOptions","persistence","connectWallet","JSON","parse","activeWallet","Provider","value"],"sources":["../../../../src/react-components/WalletObserverProvider/WalletObserverProvider.tsx"],"sourcesContent":["import { FC, PropsWithChildren, useEffect, useMemo } from \"react\";\n\nimport { TSupportedWalletExtensions } from \"../../@types/observer.js\";\nimport { WalletObserver } from \"../../classes/WalletObserver.class.js\";\nimport {\n IWalletObserverProviderProps,\n IWalletObserverState,\n WalletObserverContext,\n} from \"../contexts/observer/index.js\";\nimport { useDerivedState } from \"./hooks/effects/useDerivedState.js\";\nimport { useProviderRefreshInterval } from \"./hooks/effects/useProviderRefreshInterval.js\";\nimport { useProviderWalletObserverRef } from \"./hooks/useProviderWalletObserverRef.js\";\nimport { useWalletObserverState } from \"./hooks/useWalletObserverState.js\";\n\n/**\n * The main context provider component. This handles setting up all the initial\n * state, handlers, and side effects with a new WalletObserver class.\n *\n * @param {IWalletObserverProviderProps} [options]\n * @returns {FC<PropsWithChildren<IWalletObserverProviderProps>>}\n */\nconst WalletObserverProvider: FC<\n PropsWithChildren<IWalletObserverProviderProps>\n> = ({ children, options }) => {\n const {\n observerRef,\n connectingWallet,\n syncingWallet,\n ready,\n eventListenersAttached,\n } = useProviderWalletObserverRef(options?.observerOptions);\n const state = useWalletObserverState(observerRef.current);\n\n useProviderRefreshInterval(\n observerRef.current,\n state.syncWallet,\n options?.refreshInterval\n );\n\n const derivedState = useDerivedState(observerRef.current, {\n usedAddresses: state.usedAddresses,\n });\n\n // Memoize the context value\n const contextValue: IWalletObserverState = useMemo(\n () => ({\n observerRef: observerRef,\n refreshInterval: options?.refreshInterval || 30000,\n state: {\n ...state,\n ...derivedState,\n observer: observerRef.current,\n connectingWallet,\n syncingWallet,\n ready,\n },\n }),\n [\n options,\n state,\n derivedState,\n connectingWallet,\n syncingWallet,\n ready,\n observerRef.current,\n ]\n );\n\n useEffect(() => {\n if (!eventListenersAttached) {\n return;\n }\n\n const wallet: TSupportedWalletExtensions | null =\n window.localStorage.getItem(\n WalletObserver.PERSISTENCE_CACHE_KEY\n ) as TSupportedWalletExtensions;\n\n if (wallet && observerRef.current?.getOptions()?.persistence) {\n state.connectWallet(JSON.parse(wallet).activeWallet);\n }\n }, [eventListenersAttached]);\n\n return (\n <WalletObserverContext.Provider value={contextValue}>\n {children}\n </WalletObserverContext.Provider>\n );\n};\n\nexport default WalletObserverProvider;\n"],"mappings":"AAAA,SAAgCA,SAAS,EAAEC,OAAO,QAAQ,OAAO;AAGjE,SAASC,cAAc,QAAQ,uCAAuC;AACtE,SAGEC,qBAAqB,QAChB,+BAA+B;AACtC,SAASC,eAAe,QAAQ,oCAAoC;AACpE,SAASC,0BAA0B,QAAQ,+CAA+C;AAC1F,SAASC,4BAA4B,QAAQ,yCAAyC;AACtF,SAASC,sBAAsB,QAAQ,mCAAmC;;AAE1E;AACA;AACA;AACA;AACA;AACA;AACA;AANA,SAAAC,GAAA,IAAAC,IAAA;AAOA,MAAMC,sBAEL,GAAGA,CAAC;EAAEC,QAAQ;EAAEC;AAAQ,CAAC,KAAK;EAC7B,MAAM;IACJC,WAAW;IACXC,gBAAgB;IAChBC,aAAa;IACbC,KAAK;IACLC;EACF,CAAC,GAAGX,4BAA4B,CAACM,OAAO,EAAEM,eAAe,CAAC;EAC1D,MAAMC,KAAK,GAAGZ,sBAAsB,CAACM,WAAW,CAACO,OAAO,CAAC;EAEzDf,0BAA0B,CACxBQ,WAAW,CAACO,OAAO,EACnBD,KAAK,CAACE,UAAU,EAChBT,OAAO,EAAEU,eACX,CAAC;EAED,MAAMC,YAAY,GAAGnB,eAAe,CAACS,WAAW,CAACO,OAAO,EAAE;IACxDI,aAAa,EAAEL,KAAK,CAACK;EACvB,CAAC,CAAC;;EAEF;EACA,MAAMC,YAAkC,GAAGxB,OAAO,CAChD,OAAO;IACLY,WAAW,EAAEA,WAAW;IACxBS,eAAe,EAAEV,OAAO,EAAEU,eAAe,IAAI,KAAK;IAClDH,KAAK,EAAE;MACL,GAAGA,KAAK;MACR,GAAGI,YAAY;MACfG,QAAQ,EAAEb,WAAW,CAACO,OAAO;MAC7BN,gBAAgB;MAChBC,aAAa;MACbC;IACF;EACF,CAAC,CAAC,EACF,CACEJ,OAAO,EACPO,KAAK,EACLI,YAAY,EACZT,gBAAgB,EAChBC,aAAa,EACbC,KAAK,EACLH,WAAW,CAACO,OAAO,CAEvB,CAAC;EAEDpB,SAAS,CAAC,MAAM;IACd,IAAI,CAACiB,sBAAsB,EAAE;MAC3B;IACF;IAEA,MAAMU,MAAyC,GAC7CC,MAAM,CAACC,YAAY,CAACC,OAAO,CACzB5B,cAAc,CAAC6B,qBACjB,CAA+B;IAEjC,IAAIJ,MAAM,IAAId,WAAW,CAACO,OAAO,EAAEY,UAAU,CAAC,CAAC,EAAEC,WAAW,EAAE;MAC5Dd,KAAK,CAACe,aAAa,CAACC,IAAI,CAACC,KAAK,CAACT,MAAM,CAAC,CAACU,YAAY,CAAC;IACtD;EACF,CAAC,EAAE,CAACpB,sBAAsB,CAAC,CAAC;EAE5B,oBACER,IAAA,CAACN,qBAAqB,CAACmC,QAAQ;IAACC,KAAK,EAAEd,YAAa;IAAAd,QAAA,EACjDA;EAAQ,CACqB,CAAC;AAErC,CAAC;AAED,eAAeD,sBAAsB","ignoreList":[]}
1
+ {"version":3,"file":"WalletObserverProvider.js","names":["useEffect","useMemo","WalletObserver","WalletObserverContext","useDerivedState","useProviderRefreshInterval","useProviderWalletObserverRef","useWalletObserverState","jsx","_jsx","WalletObserverProvider","children","options","observerRef","connectingWallet","syncingWallet","ready","eventListenersAttached","observerOptions","state","current","syncWallet","refreshInterval","derivedState","usedAddresses","contextValue","observer","wallet","window","localStorage","getItem","PERSISTENCE_CACHE_KEY","getOptions","persistence","connectWallet","JSON","parse","activeWallet","Provider","value"],"sources":["../../../../src/react-components/WalletObserverProvider/WalletObserverProvider.tsx"],"sourcesContent":["import { FC, PropsWithChildren, useEffect, useMemo } from \"react\";\n\nimport { TSupportedWalletExtensions } from \"../../@types/observer.js\";\nimport { WalletObserver } from \"../../classes/WalletObserver.class.js\";\nimport {\n IWalletObserverProviderProps,\n IWalletObserverState,\n WalletObserverContext,\n} from \"../contexts/observer/index.js\";\nimport { useDerivedState } from \"./hooks/effects/useDerivedState.js\";\nimport { useProviderRefreshInterval } from \"./hooks/effects/useProviderRefreshInterval.js\";\nimport { useProviderWalletObserverRef } from \"./hooks/useProviderWalletObserverRef.js\";\nimport { useWalletObserverState } from \"./hooks/useWalletObserverState.js\";\n\n/**\n * The main context provider component. This handles setting up all the initial\n * state, handlers, and side effects with a new WalletObserver class.\n *\n * @param {IWalletObserverProviderProps} [options]\n * @returns {FC<PropsWithChildren<IWalletObserverProviderProps>>}\n */\nconst WalletObserverProvider: FC<\n PropsWithChildren<IWalletObserverProviderProps>\n> = ({ children, options }) => {\n const {\n observerRef,\n connectingWallet,\n syncingWallet,\n ready,\n eventListenersAttached,\n } = useProviderWalletObserverRef(options?.observerOptions);\n const state = useWalletObserverState(observerRef.current);\n\n useProviderRefreshInterval(\n observerRef.current,\n state.syncWallet,\n options?.refreshInterval,\n );\n\n const derivedState = useDerivedState(observerRef.current, {\n usedAddresses: state.usedAddresses,\n });\n\n // Memoize the context value\n const contextValue: IWalletObserverState = useMemo(\n () => ({\n observerRef: observerRef,\n refreshInterval: options?.refreshInterval || 30000,\n state: {\n ...state,\n ...derivedState,\n observer: observerRef.current,\n connectingWallet,\n syncingWallet,\n ready,\n },\n }),\n [\n options,\n state,\n derivedState,\n connectingWallet,\n syncingWallet,\n ready,\n observerRef.current,\n ],\n );\n\n useEffect(() => {\n if (!eventListenersAttached) {\n return;\n }\n\n const wallet: TSupportedWalletExtensions | null =\n window.localStorage.getItem(\n WalletObserver.PERSISTENCE_CACHE_KEY,\n ) as TSupportedWalletExtensions;\n\n if (wallet && observerRef.current?.getOptions()?.persistence) {\n state.connectWallet(JSON.parse(wallet).activeWallet);\n }\n }, [eventListenersAttached]);\n\n return (\n <WalletObserverContext.Provider value={contextValue}>\n {children}\n </WalletObserverContext.Provider>\n );\n};\n\nexport default WalletObserverProvider;\n"],"mappings":"AAAA,SAAgCA,SAAS,EAAEC,OAAO,QAAQ,OAAO;AAGjE,SAASC,cAAc,QAAQ,uCAAuC;AACtE,SAGEC,qBAAqB,QAChB,+BAA+B;AACtC,SAASC,eAAe,QAAQ,oCAAoC;AACpE,SAASC,0BAA0B,QAAQ,+CAA+C;AAC1F,SAASC,4BAA4B,QAAQ,yCAAyC;AACtF,SAASC,sBAAsB,QAAQ,mCAAmC;;AAE1E;AACA;AACA;AACA;AACA;AACA;AACA;AANA,SAAAC,GAAA,IAAAC,IAAA;AAOA,MAAMC,sBAEL,GAAGA,CAAC;EAAEC,QAAQ;EAAEC;AAAQ,CAAC,KAAK;EAC7B,MAAM;IACJC,WAAW;IACXC,gBAAgB;IAChBC,aAAa;IACbC,KAAK;IACLC;EACF,CAAC,GAAGX,4BAA4B,CAACM,OAAO,EAAEM,eAAe,CAAC;EAC1D,MAAMC,KAAK,GAAGZ,sBAAsB,CAACM,WAAW,CAACO,OAAO,CAAC;EAEzDf,0BAA0B,CACxBQ,WAAW,CAACO,OAAO,EACnBD,KAAK,CAACE,UAAU,EAChBT,OAAO,EAAEU,eACX,CAAC;EAED,MAAMC,YAAY,GAAGnB,eAAe,CAACS,WAAW,CAACO,OAAO,EAAE;IACxDI,aAAa,EAAEL,KAAK,CAACK;EACvB,CAAC,CAAC;;EAEF;EACA,MAAMC,YAAkC,GAAGxB,OAAO,CAChD,OAAO;IACLY,WAAW,EAAEA,WAAW;IACxBS,eAAe,EAAEV,OAAO,EAAEU,eAAe,IAAI,KAAK;IAClDH,KAAK,EAAE;MACL,GAAGA,KAAK;MACR,GAAGI,YAAY;MACfG,QAAQ,EAAEb,WAAW,CAACO,OAAO;MAC7BN,gBAAgB;MAChBC,aAAa;MACbC;IACF;EACF,CAAC,CAAC,EACF,CACEJ,OAAO,EACPO,KAAK,EACLI,YAAY,EACZT,gBAAgB,EAChBC,aAAa,EACbC,KAAK,EACLH,WAAW,CAACO,OAAO,CAEvB,CAAC;EAEDpB,SAAS,CAAC,MAAM;IACd,IAAI,CAACiB,sBAAsB,EAAE;MAC3B;IACF;IAEA,MAAMU,MAAyC,GAC7CC,MAAM,CAACC,YAAY,CAACC,OAAO,CACzB5B,cAAc,CAAC6B,qBACjB,CAA+B;IAEjC,IAAIJ,MAAM,IAAId,WAAW,CAACO,OAAO,EAAEY,UAAU,CAAC,CAAC,EAAEC,WAAW,EAAE;MAC5Dd,KAAK,CAACe,aAAa,CAACC,IAAI,CAACC,KAAK,CAACT,MAAM,CAAC,CAACU,YAAY,CAAC;IACtD;EACF,CAAC,EAAE,CAACpB,sBAAsB,CAAC,CAAC;EAE5B,oBACER,IAAA,CAACN,qBAAqB,CAACmC,QAAQ;IAACC,KAAK,EAAEd,YAAa;IAAAd,QAAA,EACjDA;EAAQ,CACqB,CAAC;AAErC,CAAC;AAED,eAAeD,sBAAsB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"useDerivedState.js","names":["useEffect","useMemo","useState","useDerivedState","observer","state","stakeAddress","setStakeAddress","usedAddresses","length","getUtils","then","utils","getBech32StakingAddress","memoizedDerivedState","mainAddress"],"sources":["../../../../../../src/react-components/WalletObserverProvider/hooks/effects/useDerivedState.ts"],"sourcesContent":["import { useEffect, useMemo, useState } from \"react\";\nimport { WalletObserver } from \"../../../../classes/WalletObserver.class.js\";\nimport { useWalletObserverState } from \"../useWalletObserverState.js\";\n\nexport const useDerivedState = (\n observer: WalletObserver,\n state: Pick<ReturnType<typeof useWalletObserverState>, \"usedAddresses\">\n) => {\n const [stakeAddress, setStakeAddress] = useState<string>();\n\n useEffect(() => {\n if (state.usedAddresses.length === 0) {\n return;\n }\n\n observer.getUtils().then((utils) => {\n setStakeAddress(utils.getBech32StakingAddress(state.usedAddresses[0]));\n });\n }, [observer, state.usedAddresses[0]]);\n\n const memoizedDerivedState = useMemo(\n () => ({\n stakeAddress,\n mainAddress: state.usedAddresses[0],\n }),\n [state.usedAddresses[0], stakeAddress]\n );\n\n return memoizedDerivedState;\n};\n"],"mappings":"AAAA,SAASA,SAAS,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,OAAO;AAIpD,OAAO,MAAMC,eAAe,GAAGA,CAC7BC,QAAwB,EACxBC,KAAuE,KACpE;EACH,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAGL,QAAQ,CAAS,CAAC;EAE1DF,SAAS,CAAC,MAAM;IACd,IAAIK,KAAK,CAACG,aAAa,CAACC,MAAM,KAAK,CAAC,EAAE;MACpC;IACF;IAEAL,QAAQ,CAACM,QAAQ,CAAC,CAAC,CAACC,IAAI,CAAEC,KAAK,IAAK;MAClCL,eAAe,CAACK,KAAK,CAACC,uBAAuB,CAACR,KAAK,CAACG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IACxE,CAAC,CAAC;EACJ,CAAC,EAAE,CAACJ,QAAQ,EAAEC,KAAK,CAACG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;EAEtC,MAAMM,oBAAoB,GAAGb,OAAO,CAClC,OAAO;IACLK,YAAY;IACZS,WAAW,EAAEV,KAAK,CAACG,aAAa,CAAC,CAAC;EACpC,CAAC,CAAC,EACF,CAACH,KAAK,CAACG,aAAa,CAAC,CAAC,CAAC,EAAEF,YAAY,CACvC,CAAC;EAED,OAAOQ,oBAAoB;AAC7B,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"useDerivedState.js","names":["useEffect","useMemo","useState","useDerivedState","observer","state","stakeAddress","setStakeAddress","usedAddresses","length","getUtils","then","utils","getBech32StakingAddress","memoizedDerivedState","mainAddress"],"sources":["../../../../../../src/react-components/WalletObserverProvider/hooks/effects/useDerivedState.ts"],"sourcesContent":["import { useEffect, useMemo, useState } from \"react\";\nimport { WalletObserver } from \"../../../../classes/WalletObserver.class.js\";\nimport { useWalletObserverState } from \"../useWalletObserverState.js\";\n\nexport const useDerivedState = (\n observer: WalletObserver,\n state: Pick<ReturnType<typeof useWalletObserverState>, \"usedAddresses\">,\n) => {\n const [stakeAddress, setStakeAddress] = useState<string>();\n\n useEffect(() => {\n if (state.usedAddresses.length === 0) {\n return;\n }\n\n observer.getUtils().then((utils) => {\n setStakeAddress(utils.getBech32StakingAddress(state.usedAddresses[0]));\n });\n }, [observer, state.usedAddresses[0]]);\n\n const memoizedDerivedState = useMemo(\n () => ({\n stakeAddress,\n mainAddress: state.usedAddresses[0],\n }),\n [state.usedAddresses[0], stakeAddress],\n );\n\n return memoizedDerivedState;\n};\n"],"mappings":"AAAA,SAASA,SAAS,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,OAAO;AAIpD,OAAO,MAAMC,eAAe,GAAGA,CAC7BC,QAAwB,EACxBC,KAAuE,KACpE;EACH,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAGL,QAAQ,CAAS,CAAC;EAE1DF,SAAS,CAAC,MAAM;IACd,IAAIK,KAAK,CAACG,aAAa,CAACC,MAAM,KAAK,CAAC,EAAE;MACpC;IACF;IAEAL,QAAQ,CAACM,QAAQ,CAAC,CAAC,CAACC,IAAI,CAAEC,KAAK,IAAK;MAClCL,eAAe,CAACK,KAAK,CAACC,uBAAuB,CAACR,KAAK,CAACG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IACxE,CAAC,CAAC;EACJ,CAAC,EAAE,CAACJ,QAAQ,EAAEC,KAAK,CAACG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;EAEtC,MAAMM,oBAAoB,GAAGb,OAAO,CAClC,OAAO;IACLK,YAAY;IACZS,WAAW,EAAEV,KAAK,CAACG,aAAa,CAAC,CAAC;EACpC,CAAC,CAAC,EACF,CAACH,KAAK,CAACG,aAAa,CAAC,CAAC,CAAC,EAAEF,YAAY,CACvC,CAAC;EAED,OAAOQ,oBAAoB;AAC7B,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"useProviderRefreshInterval.js","names":["useEffect","useProviderRefreshInterval","observer","syncWallet","refreshInterval","interval","setInterval","clearInterval"],"sources":["../../../../../../src/react-components/WalletObserverProvider/hooks/effects/useProviderRefreshInterval.ts"],"sourcesContent":["import { useEffect } from \"react\";\n\nimport { WalletObserver } from \"../../../../classes/WalletObserver.class.js\";\n\n/**\n * Internal use only. This hook is responsible for attaching\n * a refresh interval to the WalletObserver. If set to 0, then\n * the refresh interval is not attached.\n *\n * @param observer\n * @param refreshInterval\n * @param syncWallet\n */\nexport const useProviderRefreshInterval = (\n observer: WalletObserver,\n syncWallet: () => Promise<void>,\n refreshInterval?: number\n) => {\n useEffect(() => {\n if (!refreshInterval) {\n return;\n }\n\n const interval = setInterval(syncWallet, refreshInterval);\n\n return () => {\n clearInterval(interval);\n };\n }, [refreshInterval, syncWallet, observer]);\n};\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,OAAO;AAIjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,0BAA0B,GAAGA,CACxCC,QAAwB,EACxBC,UAA+B,EAC/BC,eAAwB,KACrB;EACHJ,SAAS,CAAC,MAAM;IACd,IAAI,CAACI,eAAe,EAAE;MACpB;IACF;IAEA,MAAMC,QAAQ,GAAGC,WAAW,CAACH,UAAU,EAAEC,eAAe,CAAC;IAEzD,OAAO,MAAM;MACXG,aAAa,CAACF,QAAQ,CAAC;IACzB,CAAC;EACH,CAAC,EAAE,CAACD,eAAe,EAAED,UAAU,EAAED,QAAQ,CAAC,CAAC;AAC7C,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"useProviderRefreshInterval.js","names":["useEffect","useProviderRefreshInterval","observer","syncWallet","refreshInterval","interval","setInterval","clearInterval"],"sources":["../../../../../../src/react-components/WalletObserverProvider/hooks/effects/useProviderRefreshInterval.ts"],"sourcesContent":["import { useEffect } from \"react\";\n\nimport { WalletObserver } from \"../../../../classes/WalletObserver.class.js\";\n\n/**\n * Internal use only. This hook is responsible for attaching\n * a refresh interval to the WalletObserver. If set to 0, then\n * the refresh interval is not attached.\n *\n * @param observer\n * @param refreshInterval\n * @param syncWallet\n */\nexport const useProviderRefreshInterval = (\n observer: WalletObserver,\n syncWallet: () => Promise<void>,\n refreshInterval?: number,\n) => {\n useEffect(() => {\n if (!refreshInterval) {\n return;\n }\n\n const interval = setInterval(syncWallet, refreshInterval);\n\n return () => {\n clearInterval(interval);\n };\n }, [refreshInterval, syncWallet, observer]);\n};\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,OAAO;AAIjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,0BAA0B,GAAGA,CACxCC,QAAwB,EACxBC,UAA+B,EAC/BC,eAAwB,KACrB;EACHJ,SAAS,CAAC,MAAM;IACd,IAAI,CAACI,eAAe,EAAE;MACpB;IACF;IAEA,MAAMC,QAAQ,GAAGC,WAAW,CAACH,UAAU,EAAEC,eAAe,CAAC;IAEzD,OAAO,MAAM;MACXG,aAAa,CAACF,QAAQ,CAAC;IACzB,CAAC;EACH,CAAC,EAAE,CAACD,eAAe,EAAED,UAAU,EAAED,QAAQ,CAAC,CAAC;AAC7C,CAAC","ignoreList":[]}
@@ -47,10 +47,14 @@ export const useProviderWalletObserverRef = (options, hooks) => {
47
47
  hooks?.onSyncWalletEnd?.();
48
48
  setSyncing(() => false);
49
49
  };
50
+ const onDisconnect = () => {
51
+ hooks?.onDisconnectWallet?.();
52
+ };
50
53
  observerRef.current.addEventListener(EWalletObserverEvents.CONNECT_WALLET_START, setConnectingStart);
51
54
  observerRef.current.addEventListener(EWalletObserverEvents.CONNECT_WALLET_END, setConnectingEnd);
52
55
  observerRef.current.addEventListener(EWalletObserverEvents.SYNCING_WALLET_START, setSyncingStart);
53
56
  observerRef.current.addEventListener(EWalletObserverEvents.SYNCING_WALLET_END, setSyncingEnd);
57
+ observerRef.current.addEventListener(EWalletObserverEvents.DISCONNECT, onDisconnect);
54
58
  setEventListenersAttached(() => true);
55
59
  return () => {
56
60
  if (!observerRef.current) {
@@ -60,6 +64,7 @@ export const useProviderWalletObserverRef = (options, hooks) => {
60
64
  observerRef.current.removeEventListener(EWalletObserverEvents.CONNECT_WALLET_END, setConnectingEnd);
61
65
  observerRef.current.removeEventListener(EWalletObserverEvents.SYNCING_WALLET_START, setSyncingStart);
62
66
  observerRef.current.removeEventListener(EWalletObserverEvents.SYNCING_WALLET_END, setSyncingEnd);
67
+ observerRef.current.removeEventListener(EWalletObserverEvents.DISCONNECT, onDisconnect);
63
68
  };
64
69
  }, [observerRef, hooks]);
65
70
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"useProviderWalletObserverRef.js","names":["useEffect","useMemo","useRef","useState","EWalletObserverEvents","WalletObserver","useProviderWalletObserverRef","options","hooks","observerRef","current","observer","connecting","setConnecting","syncing","setSyncing","eventListenersAttached","setEventListenersAttached","ready","Boolean","api","activeWallet","setConnectingStart","onConnectWalletStart","setConnectingEnd","onConnectWalletEnd","setSyncingStart","onSyncWalletStart","setSyncingEnd","onSyncWalletEnd","addEventListener","CONNECT_WALLET_START","CONNECT_WALLET_END","SYNCING_WALLET_START","SYNCING_WALLET_END","removeEventListener","connectingWallet","syncingWallet"],"sources":["../../../../../src/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.ts"],"sourcesContent":["import { MutableRefObject, useEffect, useMemo, useRef, useState } from \"react\";\n\nimport { EWalletObserverEvents } from \"../../../@types/events.js\";\nimport { TWalletObserverOptions } from \"../../../@types/observer.js\";\nimport { WalletObserver } from \"../../../classes/WalletObserver.class.js\";\nimport { TWalletProviderHooks } from \"../../contexts/observer/index.js\";\n\n/**\n * Internal use only. This hook is responsible for initiating the\n * WalletObserver instance once, and assigning it to a ref.\n *\n * @param {TWalletObserverOptions} [options]\n * @param {TWalletProviderHooks}\n */\nexport const useProviderWalletObserverRef = (\n options?: TWalletObserverOptions,\n hooks?: TWalletProviderHooks\n) => {\n // Use ref to store the observer instance, ensuring it's created only once\n const observerRef = useRef<WalletObserver | null>(null);\n\n // Initialize observer only once\n if (observerRef.current === null) {\n const observer = new WalletObserver(options);\n observerRef.current = observer;\n }\n\n const [connecting, setConnecting] = useState(false);\n const [syncing, setSyncing] = useState(false);\n const [eventListenersAttached, setEventListenersAttached] = useState(false);\n\n const ready = useMemo(() => {\n return Boolean(\n observerRef.current &&\n observerRef.current.api &&\n observerRef.current.activeWallet\n );\n }, [observerRef, observerRef.current.api, observerRef.current.activeWallet]);\n\n /**\n * Add user-defined hooks into the event stream.\n */\n useEffect(() => {\n if (!observerRef.current) {\n return;\n }\n\n const setConnectingStart = () => {\n setConnecting(() => true);\n hooks?.onConnectWalletStart?.();\n };\n const setConnectingEnd = () => {\n setConnecting(() => false);\n hooks?.onConnectWalletEnd?.();\n };\n const setSyncingStart = () => {\n setSyncing(() => true);\n hooks?.onSyncWalletStart?.();\n };\n const setSyncingEnd = () => {\n hooks?.onSyncWalletEnd?.();\n setSyncing(() => false);\n };\n\n observerRef.current.addEventListener(\n EWalletObserverEvents.CONNECT_WALLET_START,\n setConnectingStart\n );\n observerRef.current.addEventListener(\n EWalletObserverEvents.CONNECT_WALLET_END,\n setConnectingEnd\n );\n observerRef.current.addEventListener(\n EWalletObserverEvents.SYNCING_WALLET_START,\n setSyncingStart\n );\n observerRef.current.addEventListener(\n EWalletObserverEvents.SYNCING_WALLET_END,\n setSyncingEnd\n );\n\n setEventListenersAttached(() => true);\n\n return () => {\n if (!observerRef.current) {\n return;\n }\n\n observerRef.current.removeEventListener(\n EWalletObserverEvents.CONNECT_WALLET_START,\n setConnectingStart\n );\n observerRef.current.removeEventListener(\n EWalletObserverEvents.CONNECT_WALLET_END,\n setConnectingEnd\n );\n observerRef.current.removeEventListener(\n EWalletObserverEvents.SYNCING_WALLET_START,\n setSyncingStart\n );\n observerRef.current.removeEventListener(\n EWalletObserverEvents.SYNCING_WALLET_END,\n setSyncingEnd\n );\n };\n }, [observerRef, hooks]);\n\n return {\n observerRef: observerRef as MutableRefObject<WalletObserver>,\n connectingWallet: connecting,\n syncingWallet: syncing,\n ready,\n eventListenersAttached,\n };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"useProviderWalletObserverRef.js","names":["useEffect","useMemo","useRef","useState","EWalletObserverEvents","WalletObserver","useProviderWalletObserverRef","options","hooks","observerRef","current","observer","connecting","setConnecting","syncing","setSyncing","eventListenersAttached","setEventListenersAttached","ready","Boolean","api","activeWallet","setConnectingStart","onConnectWalletStart","setConnectingEnd","onConnectWalletEnd","setSyncingStart","onSyncWalletStart","setSyncingEnd","onSyncWalletEnd","onDisconnect","onDisconnectWallet","addEventListener","CONNECT_WALLET_START","CONNECT_WALLET_END","SYNCING_WALLET_START","SYNCING_WALLET_END","DISCONNECT","removeEventListener","connectingWallet","syncingWallet"],"sources":["../../../../../src/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.ts"],"sourcesContent":["import { MutableRefObject, useEffect, useMemo, useRef, useState } from \"react\";\n\nimport { EWalletObserverEvents } from \"../../../@types/events.js\";\nimport { TWalletObserverOptions } from \"../../../@types/observer.js\";\nimport { WalletObserver } from \"../../../classes/WalletObserver.class.js\";\nimport { TWalletProviderHooks } from \"../../contexts/observer/index.js\";\n\n/**\n * Internal use only. This hook is responsible for initiating the\n * WalletObserver instance once, and assigning it to a ref.\n *\n * @param {TWalletObserverOptions} [options]\n * @param {TWalletProviderHooks}\n */\nexport const useProviderWalletObserverRef = (\n options?: TWalletObserverOptions,\n hooks?: TWalletProviderHooks,\n) => {\n // Use ref to store the observer instance, ensuring it's created only once\n const observerRef = useRef<WalletObserver | null>(null);\n\n // Initialize observer only once\n if (observerRef.current === null) {\n const observer = new WalletObserver(options);\n observerRef.current = observer;\n }\n\n const [connecting, setConnecting] = useState(false);\n const [syncing, setSyncing] = useState(false);\n const [eventListenersAttached, setEventListenersAttached] = useState(false);\n\n const ready = useMemo(() => {\n return Boolean(\n observerRef.current &&\n observerRef.current.api &&\n observerRef.current.activeWallet,\n );\n }, [observerRef, observerRef.current.api, observerRef.current.activeWallet]);\n\n /**\n * Add user-defined hooks into the event stream.\n */\n useEffect(() => {\n if (!observerRef.current) {\n return;\n }\n\n const setConnectingStart = () => {\n setConnecting(() => true);\n hooks?.onConnectWalletStart?.();\n };\n const setConnectingEnd = () => {\n setConnecting(() => false);\n hooks?.onConnectWalletEnd?.();\n };\n const setSyncingStart = () => {\n setSyncing(() => true);\n hooks?.onSyncWalletStart?.();\n };\n const setSyncingEnd = () => {\n hooks?.onSyncWalletEnd?.();\n setSyncing(() => false);\n };\n const onDisconnect = () => {\n hooks?.onDisconnectWallet?.();\n };\n\n observerRef.current.addEventListener(\n EWalletObserverEvents.CONNECT_WALLET_START,\n setConnectingStart,\n );\n observerRef.current.addEventListener(\n EWalletObserverEvents.CONNECT_WALLET_END,\n setConnectingEnd,\n );\n observerRef.current.addEventListener(\n EWalletObserverEvents.SYNCING_WALLET_START,\n setSyncingStart,\n );\n observerRef.current.addEventListener(\n EWalletObserverEvents.SYNCING_WALLET_END,\n setSyncingEnd,\n );\n observerRef.current.addEventListener(\n EWalletObserverEvents.DISCONNECT,\n onDisconnect,\n );\n\n setEventListenersAttached(() => true);\n\n return () => {\n if (!observerRef.current) {\n return;\n }\n\n observerRef.current.removeEventListener(\n EWalletObserverEvents.CONNECT_WALLET_START,\n setConnectingStart,\n );\n observerRef.current.removeEventListener(\n EWalletObserverEvents.CONNECT_WALLET_END,\n setConnectingEnd,\n );\n observerRef.current.removeEventListener(\n EWalletObserverEvents.SYNCING_WALLET_START,\n setSyncingStart,\n );\n observerRef.current.removeEventListener(\n EWalletObserverEvents.SYNCING_WALLET_END,\n setSyncingEnd,\n );\n observerRef.current.removeEventListener(\n EWalletObserverEvents.DISCONNECT,\n onDisconnect,\n );\n };\n }, [observerRef, hooks]);\n\n return {\n observerRef: observerRef as MutableRefObject<WalletObserver>,\n connectingWallet: connecting,\n syncingWallet: syncing,\n ready,\n eventListenersAttached,\n };\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import { AssetAmount } from "@sundaeswap/asset";
2
- import { useCallback, useEffect, useMemo, useState, useTransition } from "react";
2
+ import { useCallback, useEffect, useState, useTransition } from "react";
3
3
  import { WalletAssetMap } from "../../../classes/WalletAssetMap.class.js";
4
4
  import { WalletBalanceMap } from "../../../classes/WalletBalanceMap.class.js";
5
5
  import { WalletObserver } from "../../../classes/WalletObserver.class.js";
@@ -23,7 +23,7 @@ export const useWalletObserverState = observer => {
23
23
  const [isCip45, setIsCip45] = useState(false);
24
24
  const [switching, setSwitching] = useState(false);
25
25
  const [isPending, startTransition] = useTransition();
26
- const willAutoConnect = useMemo(() => Boolean(window.localStorage.getItem(WalletObserver.PERSISTENCE_CACHE_KEY) && observer.getOptions().persistence), [observer]);
26
+ const [willAutoConnect, setWillAutoConnect] = useState(Boolean(window.localStorage.getItem(WalletObserver.PERSISTENCE_CACHE_KEY) && observer.getOptions().persistence));
27
27
  const disconnect = useCallback(() => {
28
28
  // Reset observer state.
29
29
  observer.disconnect();
@@ -39,6 +39,7 @@ export const useWalletObserverState = observer => {
39
39
  setUtxos(undefined);
40
40
  setCollateral(undefined);
41
41
  setIsCip45(false);
42
+ setWillAutoConnect(false);
42
43
  }, [observer]);
43
44
  const syncWallet = useCallback(async () => {
44
45
  if (observer.isSyncing() || !observer.hasActiveConnection()) {
@@ -1 +1 @@
1
- {"version":3,"file":"useWalletObserverState.js","names":["AssetAmount","useCallback","useEffect","useMemo","useState","useTransition","WalletAssetMap","WalletBalanceMap","WalletObserver","areAssetMapsEqual","useWalletObserverState","observer","activeWallet","setActiveWallet","adaBalance","setAdaBalance","handleMetadata","setHandleMetadata","balance","setBalance","network","setNetwork","usedAddresses","setUsedAddresses","unusedAddresses","setUnusedAddresses","utxos","setUtxos","collateral","setCollateral","isCip45","setIsCip45","switching","setSwitching","isPending","startTransition","willAutoConnect","Boolean","window","localStorage","getItem","PERSISTENCE_CACHE_KEY","getOptions","persistence","disconnect","undefined","syncWallet","isSyncing","hasActiveConnection","newWallet","freshData","sync","prevWallet","newAdaBalance","balanceMap","get","ADA_ASSET_ID","prevBalance","amount","prevValue","JSON","stringify","prevValueRep","map","v","toCbor","newValueRep","includes","connectWallet","wallet","api","addEventListener","handles","setHandles"],"sources":["../../../../../src/react-components/WalletObserverProvider/hooks/useWalletObserverState.ts"],"sourcesContent":["import type { TransactionUnspentOutput } from \"@cardano-sdk/core/dist/cjs/Serialization/index.js\";\nimport { AssetAmount, IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport {\n useCallback,\n useEffect,\n useMemo,\n useState,\n useTransition,\n} from \"react\";\n\nimport {\n TAssetAmountMap,\n TSupportedWalletExtensions,\n} from \"../../../@types/observer.js\";\nimport { WalletAssetMap } from \"../../../classes/WalletAssetMap.class.js\";\nimport { WalletBalanceMap } from \"../../../classes/WalletBalanceMap.class.js\";\nimport { WalletObserver } from \"../../../classes/WalletObserver.class.js\";\nimport { areAssetMapsEqual } from \"../../../utils/comparisons.js\";\nimport { THandleMetadata } from \"../../contexts/observer/index.js\";\n\n/**\n * Internal use only. The main action that sync WalletObserver api responses with\n * the React context of the WalletObserverProvider.\n *\n * @param {WalletObserver} observer\n */\nexport const useWalletObserverState = <\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata\n>(\n observer: WalletObserver<AssetMetadata>\n) => {\n const [activeWallet, setActiveWallet] =\n useState<TSupportedWalletExtensions>();\n const [adaBalance, setAdaBalance] = useState<AssetAmount<AssetMetadata>>(\n new AssetAmount<AssetMetadata>(0n)\n );\n const [handleMetadata, setHandleMetadata] = useState<\n TAssetAmountMap<THandleMetadata<AssetMetadata>>\n >(new WalletAssetMap<THandleMetadata<AssetMetadata>>());\n const [balance, setBalance] = useState<WalletBalanceMap<AssetMetadata>>(\n new WalletBalanceMap<AssetMetadata>(observer)\n );\n const [network, setNetwork] = useState<number | undefined>();\n const [usedAddresses, setUsedAddresses] = useState<string[]>([]);\n const [unusedAddresses, setUnusedAddresses] = useState<string[]>([]);\n const [utxos, setUtxos] = useState<TransactionUnspentOutput[]>();\n const [collateral, setCollateral] = useState<TransactionUnspentOutput[]>();\n const [isCip45, setIsCip45] = useState(false);\n const [switching, setSwitching] = useState(false);\n const [isPending, startTransition] = useTransition();\n\n const willAutoConnect = useMemo(\n () =>\n Boolean(\n window.localStorage.getItem(WalletObserver.PERSISTENCE_CACHE_KEY) &&\n observer.getOptions().persistence\n ),\n [observer]\n );\n\n const disconnect = useCallback(() => {\n // Reset observer state.\n observer.disconnect();\n\n // Reset state.\n setAdaBalance(new AssetAmount(0n));\n setBalance(new WalletBalanceMap(observer));\n setHandleMetadata(new WalletAssetMap());\n setUsedAddresses([]);\n setUnusedAddresses([]);\n setActiveWallet(undefined);\n setNetwork(undefined);\n setUtxos(undefined);\n setCollateral(undefined);\n setIsCip45(false);\n }, [observer]);\n\n const syncWallet = useCallback(async () => {\n if (observer.isSyncing() || !observer.hasActiveConnection()) {\n return;\n }\n\n const newWallet = observer.activeWallet;\n if (!newWallet) {\n disconnect();\n return;\n }\n\n const freshData = await observer.sync();\n\n startTransition(() => {\n setActiveWallet((prevWallet) =>\n newWallet === prevWallet ? prevWallet : newWallet\n );\n\n const newAdaBalance = freshData.balanceMap.get(\n WalletObserver.ADA_ASSET_ID\n );\n if (newAdaBalance) {\n setAdaBalance((prevBalance) =>\n prevBalance.amount === newAdaBalance.amount\n ? prevBalance\n : newAdaBalance\n );\n }\n\n setBalance((prevBalance) =>\n areAssetMapsEqual(prevBalance, freshData.balanceMap)\n ? prevBalance\n : freshData.balanceMap\n );\n\n setUsedAddresses((prevValue) =>\n JSON.stringify(prevValue) === JSON.stringify(freshData.usedAddresses)\n ? prevValue\n : freshData.usedAddresses\n );\n\n setUnusedAddresses((prevValue) =>\n JSON.stringify(prevValue) === JSON.stringify(freshData.unusedAddresses)\n ? prevValue\n : freshData.unusedAddresses\n );\n\n setNetwork((prevValue) =>\n prevValue === freshData.network ? prevValue : freshData.network\n );\n\n setUtxos((prevValue) => {\n const prevValueRep = prevValue?.map((v) => v.toCbor());\n const newValueRep = freshData.utxos?.map((v) => v.toCbor());\n if (prevValueRep !== newValueRep) {\n return freshData.utxos;\n }\n\n return prevValue;\n });\n\n setCollateral((prevValue) => {\n const prevValueRep = prevValue?.map((v) => v.toCbor());\n const newValueRep = freshData.utxos?.map((v) => v.toCbor());\n if (prevValueRep !== newValueRep) {\n return freshData.utxos;\n }\n\n return prevValue;\n });\n\n setIsCip45(newWallet.includes(\"p2p\"));\n });\n }, [observer, disconnect]);\n\n const connectWallet = useCallback(\n async (wallet: TSupportedWalletExtensions) => {\n if (observer.hasActiveConnection() && wallet !== observer.activeWallet) {\n setSwitching(() => true);\n }\n\n await observer.connectWallet(wallet);\n await syncWallet();\n setSwitching(() => false);\n return observer.api;\n },\n [observer, setSwitching]\n );\n\n /**\n * Ensure the wallet syncs on connect and disconnect.\n */\n useEffect(() => {\n window.addEventListener(\"focus\", syncWallet);\n\n return () => {\n window.addEventListener(\"focus\", syncWallet);\n };\n }, [syncWallet]);\n\n return {\n activeWallet,\n setActiveWallet,\n adaBalance,\n setAdaBalance,\n balance,\n setBalance,\n handles: handleMetadata,\n setHandles: setHandleMetadata,\n isCip45,\n setIsCip45,\n network,\n setNetwork,\n unusedAddresses,\n setUnusedAddresses,\n usedAddresses,\n setUsedAddresses,\n utxos,\n setUtxos,\n collateral,\n setCollateral,\n syncWallet,\n disconnect,\n connectWallet,\n switching,\n setSwitching,\n isPending,\n willAutoConnect,\n };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"useWalletObserverState.js","names":["AssetAmount","useCallback","useEffect","useState","useTransition","WalletAssetMap","WalletBalanceMap","WalletObserver","areAssetMapsEqual","useWalletObserverState","observer","activeWallet","setActiveWallet","adaBalance","setAdaBalance","handleMetadata","setHandleMetadata","balance","setBalance","network","setNetwork","usedAddresses","setUsedAddresses","unusedAddresses","setUnusedAddresses","utxos","setUtxos","collateral","setCollateral","isCip45","setIsCip45","switching","setSwitching","isPending","startTransition","willAutoConnect","setWillAutoConnect","Boolean","window","localStorage","getItem","PERSISTENCE_CACHE_KEY","getOptions","persistence","disconnect","undefined","syncWallet","isSyncing","hasActiveConnection","newWallet","freshData","sync","prevWallet","newAdaBalance","balanceMap","get","ADA_ASSET_ID","prevBalance","amount","prevValue","JSON","stringify","prevValueRep","map","v","toCbor","newValueRep","includes","connectWallet","wallet","api","addEventListener","handles","setHandles"],"sources":["../../../../../src/react-components/WalletObserverProvider/hooks/useWalletObserverState.ts"],"sourcesContent":["import type { TransactionUnspentOutput } from \"@cardano-sdk/core/dist/cjs/Serialization/index.js\";\nimport { AssetAmount, IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport { useCallback, useEffect, useState, useTransition } from \"react\";\n\nimport {\n TAssetAmountMap,\n TSupportedWalletExtensions,\n} from \"../../../@types/observer.js\";\nimport { WalletAssetMap } from \"../../../classes/WalletAssetMap.class.js\";\nimport { WalletBalanceMap } from \"../../../classes/WalletBalanceMap.class.js\";\nimport { WalletObserver } from \"../../../classes/WalletObserver.class.js\";\nimport { areAssetMapsEqual } from \"../../../utils/comparisons.js\";\nimport { THandleMetadata } from \"../../contexts/observer/index.js\";\n\n/**\n * Internal use only. The main action that sync WalletObserver api responses with\n * the React context of the WalletObserverProvider.\n *\n * @param {WalletObserver} observer\n */\nexport const useWalletObserverState = <\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata,\n>(\n observer: WalletObserver<AssetMetadata>,\n) => {\n const [activeWallet, setActiveWallet] =\n useState<TSupportedWalletExtensions>();\n const [adaBalance, setAdaBalance] = useState<AssetAmount<AssetMetadata>>(\n new AssetAmount<AssetMetadata>(0n),\n );\n const [handleMetadata, setHandleMetadata] = useState<\n TAssetAmountMap<THandleMetadata<AssetMetadata>>\n >(new WalletAssetMap<THandleMetadata<AssetMetadata>>());\n const [balance, setBalance] = useState<WalletBalanceMap<AssetMetadata>>(\n new WalletBalanceMap<AssetMetadata>(observer),\n );\n const [network, setNetwork] = useState<number | undefined>();\n const [usedAddresses, setUsedAddresses] = useState<string[]>([]);\n const [unusedAddresses, setUnusedAddresses] = useState<string[]>([]);\n const [utxos, setUtxos] = useState<TransactionUnspentOutput[]>();\n const [collateral, setCollateral] = useState<TransactionUnspentOutput[]>();\n const [isCip45, setIsCip45] = useState(false);\n const [switching, setSwitching] = useState(false);\n const [isPending, startTransition] = useTransition();\n const [willAutoConnect, setWillAutoConnect] = useState(\n Boolean(\n window.localStorage.getItem(WalletObserver.PERSISTENCE_CACHE_KEY) &&\n observer.getOptions().persistence,\n ),\n );\n\n const disconnect = useCallback(() => {\n // Reset observer state.\n observer.disconnect();\n\n // Reset state.\n setAdaBalance(new AssetAmount(0n));\n setBalance(new WalletBalanceMap(observer));\n setHandleMetadata(new WalletAssetMap());\n setUsedAddresses([]);\n setUnusedAddresses([]);\n setActiveWallet(undefined);\n setNetwork(undefined);\n setUtxos(undefined);\n setCollateral(undefined);\n setIsCip45(false);\n setWillAutoConnect(false);\n }, [observer]);\n\n const syncWallet = useCallback(async () => {\n if (observer.isSyncing() || !observer.hasActiveConnection()) {\n return;\n }\n\n const newWallet = observer.activeWallet;\n if (!newWallet) {\n disconnect();\n return;\n }\n\n const freshData = await observer.sync();\n\n startTransition(() => {\n setActiveWallet((prevWallet) =>\n newWallet === prevWallet ? prevWallet : newWallet,\n );\n\n const newAdaBalance = freshData.balanceMap.get(\n WalletObserver.ADA_ASSET_ID,\n );\n if (newAdaBalance) {\n setAdaBalance((prevBalance) =>\n prevBalance.amount === newAdaBalance.amount\n ? prevBalance\n : newAdaBalance,\n );\n }\n\n setBalance((prevBalance) =>\n areAssetMapsEqual(prevBalance, freshData.balanceMap)\n ? prevBalance\n : freshData.balanceMap,\n );\n\n setUsedAddresses((prevValue) =>\n JSON.stringify(prevValue) === JSON.stringify(freshData.usedAddresses)\n ? prevValue\n : freshData.usedAddresses,\n );\n\n setUnusedAddresses((prevValue) =>\n JSON.stringify(prevValue) === JSON.stringify(freshData.unusedAddresses)\n ? prevValue\n : freshData.unusedAddresses,\n );\n\n setNetwork((prevValue) =>\n prevValue === freshData.network ? prevValue : freshData.network,\n );\n\n setUtxos((prevValue) => {\n const prevValueRep = prevValue?.map((v) => v.toCbor());\n const newValueRep = freshData.utxos?.map((v) => v.toCbor());\n if (prevValueRep !== newValueRep) {\n return freshData.utxos;\n }\n\n return prevValue;\n });\n\n setCollateral((prevValue) => {\n const prevValueRep = prevValue?.map((v) => v.toCbor());\n const newValueRep = freshData.utxos?.map((v) => v.toCbor());\n if (prevValueRep !== newValueRep) {\n return freshData.utxos;\n }\n\n return prevValue;\n });\n\n setIsCip45(newWallet.includes(\"p2p\"));\n });\n }, [observer, disconnect]);\n\n const connectWallet = useCallback(\n async (wallet: TSupportedWalletExtensions) => {\n if (observer.hasActiveConnection() && wallet !== observer.activeWallet) {\n setSwitching(() => true);\n }\n\n await observer.connectWallet(wallet);\n await syncWallet();\n setSwitching(() => false);\n return observer.api;\n },\n [observer, setSwitching],\n );\n\n /**\n * Ensure the wallet syncs on connect and disconnect.\n */\n useEffect(() => {\n window.addEventListener(\"focus\", syncWallet);\n\n return () => {\n window.addEventListener(\"focus\", syncWallet);\n };\n }, [syncWallet]);\n\n return {\n activeWallet,\n setActiveWallet,\n adaBalance,\n setAdaBalance,\n balance,\n setBalance,\n handles: handleMetadata,\n setHandles: setHandleMetadata,\n isCip45,\n setIsCip45,\n network,\n setNetwork,\n unusedAddresses,\n setUnusedAddresses,\n usedAddresses,\n setUsedAddresses,\n utxos,\n setUtxos,\n collateral,\n setCollateral,\n syncWallet,\n disconnect,\n connectWallet,\n switching,\n setSwitching,\n isPending,\n willAutoConnect,\n };\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","names":["createContext","useContext","WalletObserverContext","undefined","useWalletObserverContext","context","Error"],"sources":["../../../../../src/react-components/contexts/observer/context.ts"],"sourcesContent":["import { IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport { createContext, useContext } from \"react\";\n\nimport { IWalletObserverState } from \"./types.js\";\n\n/**\n * Context instance.\n */\nexport const WalletObserverContext = createContext<\n IWalletObserverState | undefined\n>(undefined);\n\n/**\n * Usability function to avoid needing to do two imports.\n * @returns {IWalletObserverState<AssetMetadata>}\n */\nexport function useWalletObserverContext<\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata\n>(): IWalletObserverState<AssetMetadata> {\n const context = useContext(\n WalletObserverContext\n ) as unknown as IWalletObserverState<AssetMetadata>;\n\n if (!context) {\n throw new Error(\n \"useWalletObserverContext must be used within a WalletObserverProvider\"\n );\n }\n\n return context;\n}\n"],"mappings":"AACA,SAASA,aAAa,EAAEC,UAAU,QAAQ,OAAO;AAIjD;AACA;AACA;AACA,OAAO,MAAMC,qBAAqB,gBAAGF,aAAa,CAEhDG,SAAS,CAAC;;AAEZ;AACA;AACA;AACA;AACA,OAAO,SAASC,wBAAwBA,CAAA,EAEC;EACvC,MAAMC,OAAO,GAAGJ,UAAU,CACxBC,qBACF,CAAmD;EAEnD,IAAI,CAACG,OAAO,EAAE;IACZ,MAAM,IAAIC,KAAK,CACb,uEACF,CAAC;EACH;EAEA,OAAOD,OAAO;AAChB","ignoreList":[]}
1
+ {"version":3,"file":"context.js","names":["createContext","useContext","WalletObserverContext","undefined","useWalletObserverContext","context","Error"],"sources":["../../../../../src/react-components/contexts/observer/context.ts"],"sourcesContent":["import { IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport { createContext, useContext } from \"react\";\n\nimport { IWalletObserverState } from \"./types.js\";\n\n/**\n * Context instance.\n */\nexport const WalletObserverContext = createContext<\n IWalletObserverState | undefined\n>(undefined);\n\n/**\n * Usability function to avoid needing to do two imports.\n * @returns {IWalletObserverState<AssetMetadata>}\n */\nexport function useWalletObserverContext<\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata,\n>(): IWalletObserverState<AssetMetadata> {\n const context = useContext(\n WalletObserverContext,\n ) as unknown as IWalletObserverState<AssetMetadata>;\n\n if (!context) {\n throw new Error(\n \"useWalletObserverContext must be used within a WalletObserverProvider\",\n );\n }\n\n return context;\n}\n"],"mappings":"AACA,SAASA,aAAa,EAAEC,UAAU,QAAQ,OAAO;AAIjD;AACA;AACA;AACA,OAAO,MAAMC,qBAAqB,gBAAGF,aAAa,CAEhDG,SAAS,CAAC;;AAEZ;AACA;AACA;AACA;AACA,OAAO,SAASC,wBAAwBA,CAAA,EAEC;EACvC,MAAMC,OAAO,GAAGJ,UAAU,CACxBC,qBACF,CAAmD;EAEnD,IAAI,CAACG,OAAO,EAAE;IACZ,MAAM,IAAIC,KAAK,CACb,uEACF,CAAC;EACH;EAEA,OAAOD,OAAO;AAChB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../../../src/react-components/contexts/observer/types.ts"],"sourcesContent":["import type { IHandle } from \"@koralabs/adahandle-sdk\";\nimport type { IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport type { MutableRefObject } from \"react\";\n\nimport type { TWalletObserverOptions } from \"../../../@types/observer.js\";\nimport type { WalletObserver } from \"../../../classes/WalletObserver.class.js\";\nimport { useDerivedState } from \"../../WalletObserverProvider/hooks/effects/useDerivedState.js\";\nimport { useWalletObserverState } from \"../../WalletObserverProvider/hooks/useWalletObserverState.js\";\n\n/**\n * Available hooks to apply at various events.\n */\nexport type TWalletProviderHooks = {\n onSyncWalletStart?: () => void;\n onSyncWalletEnd?: () => void;\n onConnectWalletStart?: () => void;\n onConnectWalletEnd?: () => void;\n};\n\n/**\n * The resolved internal props of the WalletObserverProvider.\n */\nexport interface IWalletObserverProviderState<\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata\n> {\n observerOptions: TWalletObserverOptions<AssetMetadata>;\n hooks: TWalletProviderHooks;\n refreshInterval: number;\n}\n\n/**\n * The main WalletObserverProvider props.\n */\nexport interface IWalletObserverProviderProps<\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata\n> {\n options?: Partial<IWalletObserverProviderState<AssetMetadata>>;\n}\n\n/**\n * The WalletObserverProvider's internal state.\n */\nexport interface IWalletObserverState<\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata\n> {\n observerRef: MutableRefObject<WalletObserver<AssetMetadata>>;\n refreshInterval: number | false;\n state: ReturnType<typeof useWalletObserverState<AssetMetadata>> &\n ReturnType<typeof useDerivedState> & {\n isPending: boolean;\n observer: WalletObserver<AssetMetadata>;\n connectingWallet: boolean;\n syncingWallet: boolean;\n ready: boolean;\n };\n}\n\n/**\n * A generic to extend the default IHandle type that comes\n * back from the Kora Lab's API, and merged with the metadata\n * returned from the metadataResolver.\n */\nexport type THandleMetadata<\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata\n> = AssetMetadata & IHandle;\n\n/**\n * The exposed state of the WalletObserverProvider.\n */\nexport type TUseWalletObserverState<\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata\n> = Omit<\n IWalletObserverState<AssetMetadata>[\"state\"],\n | \"setActiveWallet\"\n | \"setAdaBalance\"\n | \"setHandles\"\n | \"setSwitching\"\n | \"setBalance\"\n | \"setNetwork\"\n | \"setUnusedAddresses\"\n | \"setUsedAddresses\"\n | \"setReady\"\n | \"setIsCip45\"\n | \"setUtxos\"\n | \"setCollateral\"\n>;\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../../../src/react-components/contexts/observer/types.ts"],"sourcesContent":["import type { IHandle } from \"@koralabs/adahandle-sdk\";\nimport type { IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport type { MutableRefObject } from \"react\";\n\nimport type { TWalletObserverOptions } from \"../../../@types/observer.js\";\nimport type { WalletObserver } from \"../../../classes/WalletObserver.class.js\";\nimport { useDerivedState } from \"../../WalletObserverProvider/hooks/effects/useDerivedState.js\";\nimport { useWalletObserverState } from \"../../WalletObserverProvider/hooks/useWalletObserverState.js\";\n\n/**\n * Available hooks to apply at various events.\n */\nexport type TWalletProviderHooks = {\n onSyncWalletStart?: () => void;\n onSyncWalletEnd?: () => void;\n onConnectWalletStart?: () => void;\n onConnectWalletEnd?: () => void;\n onDisconnectWallet?: () => void;\n};\n\n/**\n * The resolved internal props of the WalletObserverProvider.\n */\nexport interface IWalletObserverProviderState<\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata,\n> {\n observerOptions: TWalletObserverOptions<AssetMetadata>;\n hooks: TWalletProviderHooks;\n refreshInterval: number;\n}\n\n/**\n * The main WalletObserverProvider props.\n */\nexport interface IWalletObserverProviderProps<\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata,\n> {\n options?: Partial<IWalletObserverProviderState<AssetMetadata>>;\n}\n\n/**\n * The WalletObserverProvider's internal state.\n */\nexport interface IWalletObserverState<\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata,\n> {\n observerRef: MutableRefObject<WalletObserver<AssetMetadata>>;\n refreshInterval: number | false;\n state: ReturnType<typeof useWalletObserverState<AssetMetadata>> &\n ReturnType<typeof useDerivedState> & {\n isPending: boolean;\n observer: WalletObserver<AssetMetadata>;\n connectingWallet: boolean;\n syncingWallet: boolean;\n ready: boolean;\n };\n}\n\n/**\n * A generic to extend the default IHandle type that comes\n * back from the Kora Lab's API, and merged with the metadata\n * returned from the metadataResolver.\n */\nexport type THandleMetadata<\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata,\n> = AssetMetadata & IHandle;\n\n/**\n * The exposed state of the WalletObserverProvider.\n */\nexport type TUseWalletObserverState<\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata,\n> = Omit<\n IWalletObserverState<AssetMetadata>[\"state\"],\n | \"setActiveWallet\"\n | \"setAdaBalance\"\n | \"setHandles\"\n | \"setSwitching\"\n | \"setBalance\"\n | \"setNetwork\"\n | \"setUnusedAddresses\"\n | \"setUsedAddresses\"\n | \"setReady\"\n | \"setIsCip45\"\n | \"setUtxos\"\n | \"setCollateral\"\n>;\n"],"mappings":"","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"useWalletHandles.js","names":["useCallback","useEffect","useMemo","useState","useTransition","WalletAssetMap","normalizeAssetIdWithDot","useWalletObserver","useWalletHandles","state","isPending","startTransition","handles","setHandles","memoizedHandleDep","balance","getHandles","keys","syncHandles","walletHandles","size","default","HandleClient","HandleClientContext","KoraLabsProvider","context","network","MAINNET","PREVIEW","sdk","provider","walletHandlesWithDataArray","entries","walletHandleDataArray","getAllDataBatch","map","key","value","split","forEach","asset","matchingData","find","hex","set","withMetadata","metadata","assetId","decimals","withAmount","e","console","error","fetchHandles","newHandles","prevHandles","handleMetadataChanged","val","has","get","amount","loadingHandles"],"sources":["../../../../src/react-components/hooks/useWalletHandles.ts"],"sourcesContent":["import {\n useCallback,\n useEffect,\n useMemo,\n useState,\n useTransition,\n} from \"react\";\n\nimport { IHandle } from \"@koralabs/adahandle-sdk\";\nimport { IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport { TAssetAmountMap } from \"../../@types/observer.js\";\nimport { WalletAssetMap } from \"../../classes/WalletAssetMap.class.js\";\nimport { normalizeAssetIdWithDot } from \"../../utils/assets.js\";\nimport { THandleMetadata } from \"../contexts/observer/types.js\";\nimport { useWalletObserver } from \"./useWalletObserver.js\";\n\nexport const useWalletHandles = <\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata\n>() => {\n const state = useWalletObserver<THandleMetadata<AssetMetadata>>();\n const [isPending, startTransition] = useTransition();\n const [handles, setHandles] = useState<\n TAssetAmountMap<THandleMetadata<AssetMetadata>>\n >(new WalletAssetMap());\n\n const memoizedHandleDep = useMemo(\n () => [...state.balance.getHandles().keys()],\n [state.balance]\n );\n\n const syncHandles = useCallback<\n () => Promise<TAssetAmountMap<THandleMetadata<AssetMetadata>>>\n >(async () => {\n const walletHandles: TAssetAmountMap<THandleMetadata<AssetMetadata>> =\n new WalletAssetMap<THandleMetadata<AssetMetadata>>([\n ...state.balance.getHandles(),\n ]);\n\n if (walletHandles.size === 0) {\n return walletHandles;\n }\n\n try {\n const {\n default: HandleClient,\n HandleClientContext,\n KoraLabsProvider,\n } = await import(\"@koralabs/adahandle-sdk\");\n\n const context =\n state.network === 1\n ? HandleClientContext.MAINNET\n : HandleClientContext.PREVIEW;\n\n const sdk = new HandleClient({\n context,\n provider: new KoraLabsProvider(context),\n });\n\n const walletHandlesWithDataArray = [...walletHandles.entries()];\n const walletHandleDataArray: IHandle[] = await sdk\n .provider()\n .getAllDataBatch(\n walletHandlesWithDataArray.map(([key]) => ({\n value: key.split(\".\")[1],\n }))\n );\n\n walletHandlesWithDataArray.forEach(([key, asset]) => {\n const matchingData = walletHandleDataArray.find(\n ({ hex }) => hex === key.split(\".\")[1]\n ) as IHandle;\n\n walletHandles.set(\n normalizeAssetIdWithDot(key),\n asset\n .withMetadata({\n ...matchingData,\n ...asset.metadata,\n assetId: normalizeAssetIdWithDot(asset.metadata.assetId),\n decimals: 0,\n })\n .withAmount(1n)\n );\n });\n\n return walletHandles;\n } catch (e) {\n console.error(e);\n return walletHandles;\n }\n }, [state.balance, state.network]);\n\n useEffect(() => {\n const fetchHandles = async () => {\n const newHandles = await syncHandles();\n startTransition(() => {\n setHandles((prevHandles) => {\n let handleMetadataChanged = false;\n\n if (newHandles.size !== prevHandles?.size) {\n handleMetadataChanged = true;\n } else {\n for (const [key, val] of newHandles) {\n if (\n !prevHandles.has(key) ||\n prevHandles.get(key)?.amount !== val?.amount\n ) {\n handleMetadataChanged = true;\n }\n }\n }\n\n if (!handleMetadataChanged) {\n return prevHandles;\n }\n\n return newHandles;\n });\n });\n };\n\n fetchHandles();\n }, [memoizedHandleDep, syncHandles]);\n\n return {\n handles,\n loadingHandles: isPending,\n };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"useWalletHandles.js","names":["useCallback","useEffect","useMemo","useState","useTransition","WalletAssetMap","normalizeAssetIdWithDot","useWalletObserver","useWalletHandles","state","isPending","startTransition","handles","setHandles","memoizedHandleDep","balance","getHandles","keys","syncHandles","walletHandles","size","default","HandleClient","HandleClientContext","KoraLabsProvider","context","network","MAINNET","PREVIEW","sdk","provider","walletHandlesWithDataArray","entries","walletHandleDataArray","getAllDataBatch","map","key","value","split","forEach","asset","matchingData","find","hex","set","withMetadata","metadata","assetId","decimals","withAmount","e","console","error","fetchHandles","newHandles","prevHandles","handleMetadataChanged","val","has","get","amount","loadingHandles"],"sources":["../../../../src/react-components/hooks/useWalletHandles.ts"],"sourcesContent":["import {\n useCallback,\n useEffect,\n useMemo,\n useState,\n useTransition,\n} from \"react\";\n\nimport { IHandle } from \"@koralabs/adahandle-sdk\";\nimport { IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport { TAssetAmountMap } from \"../../@types/observer.js\";\nimport { WalletAssetMap } from \"../../classes/WalletAssetMap.class.js\";\nimport { normalizeAssetIdWithDot } from \"../../utils/assets.js\";\nimport { THandleMetadata } from \"../contexts/observer/types.js\";\nimport { useWalletObserver } from \"./useWalletObserver.js\";\n\nexport const useWalletHandles = <\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata,\n>() => {\n const state = useWalletObserver<THandleMetadata<AssetMetadata>>();\n const [isPending, startTransition] = useTransition();\n const [handles, setHandles] = useState<\n TAssetAmountMap<THandleMetadata<AssetMetadata>>\n >(new WalletAssetMap());\n\n const memoizedHandleDep = useMemo(\n () => [...state.balance.getHandles().keys()],\n [state.balance],\n );\n\n const syncHandles = useCallback<\n () => Promise<TAssetAmountMap<THandleMetadata<AssetMetadata>>>\n >(async () => {\n const walletHandles: TAssetAmountMap<THandleMetadata<AssetMetadata>> =\n new WalletAssetMap<THandleMetadata<AssetMetadata>>([\n ...state.balance.getHandles(),\n ]);\n\n if (walletHandles.size === 0) {\n return walletHandles;\n }\n\n try {\n const {\n default: HandleClient,\n HandleClientContext,\n KoraLabsProvider,\n } = await import(\"@koralabs/adahandle-sdk\");\n\n const context =\n state.network === 1\n ? HandleClientContext.MAINNET\n : HandleClientContext.PREVIEW;\n\n const sdk = new HandleClient({\n context,\n provider: new KoraLabsProvider(context),\n });\n\n const walletHandlesWithDataArray = [...walletHandles.entries()];\n const walletHandleDataArray: IHandle[] = await sdk\n .provider()\n .getAllDataBatch(\n walletHandlesWithDataArray.map(([key]) => ({\n value: key.split(\".\")[1],\n })),\n );\n\n walletHandlesWithDataArray.forEach(([key, asset]) => {\n const matchingData = walletHandleDataArray.find(\n ({ hex }) => hex === key.split(\".\")[1],\n ) as IHandle;\n\n walletHandles.set(\n normalizeAssetIdWithDot(key),\n asset\n .withMetadata({\n ...matchingData,\n ...asset.metadata,\n assetId: normalizeAssetIdWithDot(asset.metadata.assetId),\n decimals: 0,\n })\n .withAmount(1n),\n );\n });\n\n return walletHandles;\n } catch (e) {\n console.error(e);\n return walletHandles;\n }\n }, [state.balance, state.network]);\n\n useEffect(() => {\n const fetchHandles = async () => {\n const newHandles = await syncHandles();\n startTransition(() => {\n setHandles((prevHandles) => {\n let handleMetadataChanged = false;\n\n if (newHandles.size !== prevHandles?.size) {\n handleMetadataChanged = true;\n } else {\n for (const [key, val] of newHandles) {\n if (\n !prevHandles.has(key) ||\n prevHandles.get(key)?.amount !== val?.amount\n ) {\n handleMetadataChanged = true;\n }\n }\n }\n\n if (!handleMetadataChanged) {\n return prevHandles;\n }\n\n return newHandles;\n });\n });\n };\n\n fetchHandles();\n }, [memoizedHandleDep, syncHandles]);\n\n return {\n handles,\n loadingHandles: isPending,\n };\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"useWalletLoadingState.js","names":["useMemo","useWalletObserverContext","useWalletLoadingState","state","result","connectingWallet","syncingWallet","ready"],"sources":["../../../../src/react-components/hooks/useWalletLoadingState.ts"],"sourcesContent":["import { IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport { useMemo } from \"react\";\n\nimport { useWalletObserverContext } from \"../contexts/observer/context.js\";\n\nexport const useWalletLoadingState = <\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata\n>() => {\n const { state } = useWalletObserverContext<AssetMetadata>();\n\n const result = useMemo(\n () => ({\n connectingWallet: state.connectingWallet,\n syncingWallet: state.syncingWallet,\n ready: state.ready,\n }),\n [state.ready, state.syncingWallet, state.connectingWallet]\n );\n\n return result;\n};\n"],"mappings":"AACA,SAASA,OAAO,QAAQ,OAAO;AAE/B,SAASC,wBAAwB,QAAQ,iCAAiC;AAE1E,OAAO,MAAMC,qBAAqB,GAAGA,CAAA,KAE9B;EACL,MAAM;IAAEC;EAAM,CAAC,GAAGF,wBAAwB,CAAgB,CAAC;EAE3D,MAAMG,MAAM,GAAGJ,OAAO,CACpB,OAAO;IACLK,gBAAgB,EAAEF,KAAK,CAACE,gBAAgB;IACxCC,aAAa,EAAEH,KAAK,CAACG,aAAa;IAClCC,KAAK,EAAEJ,KAAK,CAACI;EACf,CAAC,CAAC,EACF,CAACJ,KAAK,CAACI,KAAK,EAAEJ,KAAK,CAACG,aAAa,EAAEH,KAAK,CAACE,gBAAgB,CAC3D,CAAC;EAED,OAAOD,MAAM;AACf,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"useWalletLoadingState.js","names":["useMemo","useWalletObserverContext","useWalletLoadingState","state","result","connectingWallet","syncingWallet","ready"],"sources":["../../../../src/react-components/hooks/useWalletLoadingState.ts"],"sourcesContent":["import { IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport { useMemo } from \"react\";\n\nimport { useWalletObserverContext } from \"../contexts/observer/context.js\";\n\nexport const useWalletLoadingState = <\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata,\n>() => {\n const { state } = useWalletObserverContext<AssetMetadata>();\n\n const result = useMemo(\n () => ({\n connectingWallet: state.connectingWallet,\n syncingWallet: state.syncingWallet,\n ready: state.ready,\n }),\n [state.ready, state.syncingWallet, state.connectingWallet],\n );\n\n return result;\n};\n"],"mappings":"AACA,SAASA,OAAO,QAAQ,OAAO;AAE/B,SAASC,wBAAwB,QAAQ,iCAAiC;AAE1E,OAAO,MAAMC,qBAAqB,GAAGA,CAAA,KAE9B;EACL,MAAM;IAAEC;EAAM,CAAC,GAAGF,wBAAwB,CAAgB,CAAC;EAE3D,MAAMG,MAAM,GAAGJ,OAAO,CACpB,OAAO;IACLK,gBAAgB,EAAEF,KAAK,CAACE,gBAAgB;IACxCC,aAAa,EAAEH,KAAK,CAACG,aAAa;IAClCC,KAAK,EAAEJ,KAAK,CAACI;EACf,CAAC,CAAC,EACF,CAACJ,KAAK,CAACI,KAAK,EAAEJ,KAAK,CAACG,aAAa,EAAEH,KAAK,CAACE,gBAAgB,CAC3D,CAAC;EAED,OAAOD,MAAM;AACf,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"useWalletObserver.js","names":["useMemo","useWalletObserverContext","useWalletObserver","state","result","isCip45","activeWallet","adaBalance","balance","mainAddress","stakeAddress","network","utxos","collateral","observer","unusedAddresses","usedAddresses","syncWallet","disconnect","connectWallet","switching","isPending","handles","willAutoConnect","amount","size"],"sources":["../../../../src/react-components/hooks/useWalletObserver.ts"],"sourcesContent":["import { IAssetAmountMetadata } from \"@sundaeswap/asset\";\n\nimport { useMemo } from \"react\";\nimport {\n TUseWalletObserverState,\n useWalletObserverContext,\n} from \"../contexts/observer/index.js\";\n\n/**\n * Exposes the WalletObserver state.\n *\n * @returns {Omit<TUseWalletObserverState<AssetMetadata>, \"ready\" | \"connectingWallet\" | \"syncingWallet\">}\n */\nexport const useWalletObserver = <\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata\n>(): Omit<\n TUseWalletObserverState<AssetMetadata>,\n \"ready\" | \"connectingWallet\" | \"syncingWallet\"\n> => {\n const { state } = useWalletObserverContext<AssetMetadata>();\n\n const result: Omit<\n TUseWalletObserverState<AssetMetadata>,\n \"ready\" | \"connectingWallet\" | \"syncingWallet\"\n > = useMemo(\n () => ({\n isCip45: state.isCip45,\n activeWallet: state.activeWallet,\n adaBalance: state.adaBalance,\n balance: state.balance,\n mainAddress: state.mainAddress,\n stakeAddress: state.stakeAddress,\n network: state.network,\n utxos: state.utxos,\n collateral: state.collateral,\n observer: state.observer,\n unusedAddresses: state.unusedAddresses,\n usedAddresses: state.usedAddresses,\n syncWallet: state.syncWallet,\n disconnect: state.disconnect,\n connectWallet: state.connectWallet,\n switching: state.switching,\n isPending: state.isPending,\n handles: state.handles,\n willAutoConnect: state.willAutoConnect,\n }),\n [\n state.isCip45,\n state.activeWallet,\n state.adaBalance.amount,\n state.balance.size,\n state.mainAddress,\n state.stakeAddress,\n state.network,\n state.utxos,\n state.collateral,\n state.observer,\n state.unusedAddresses,\n state.usedAddresses,\n state.syncWallet,\n state.disconnect,\n state.connectWallet,\n state.switching,\n state.isPending,\n state.handles,\n state.willAutoConnect,\n ]\n );\n\n return result;\n};\n"],"mappings":"AAEA,SAASA,OAAO,QAAQ,OAAO;AAC/B,SAEEC,wBAAwB,QACnB,+BAA+B;;AAEtC;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,iBAAiB,GAAGA,CAAA,KAK5B;EACH,MAAM;IAAEC;EAAM,CAAC,GAAGF,wBAAwB,CAAgB,CAAC;EAE3D,MAAMG,MAGL,GAAGJ,OAAO,CACT,OAAO;IACLK,OAAO,EAAEF,KAAK,CAACE,OAAO;IACtBC,YAAY,EAAEH,KAAK,CAACG,YAAY;IAChCC,UAAU,EAAEJ,KAAK,CAACI,UAAU;IAC5BC,OAAO,EAAEL,KAAK,CAACK,OAAO;IACtBC,WAAW,EAAEN,KAAK,CAACM,WAAW;IAC9BC,YAAY,EAAEP,KAAK,CAACO,YAAY;IAChCC,OAAO,EAAER,KAAK,CAACQ,OAAO;IACtBC,KAAK,EAAET,KAAK,CAACS,KAAK;IAClBC,UAAU,EAAEV,KAAK,CAACU,UAAU;IAC5BC,QAAQ,EAAEX,KAAK,CAACW,QAAQ;IACxBC,eAAe,EAAEZ,KAAK,CAACY,eAAe;IACtCC,aAAa,EAAEb,KAAK,CAACa,aAAa;IAClCC,UAAU,EAAEd,KAAK,CAACc,UAAU;IAC5BC,UAAU,EAAEf,KAAK,CAACe,UAAU;IAC5BC,aAAa,EAAEhB,KAAK,CAACgB,aAAa;IAClCC,SAAS,EAAEjB,KAAK,CAACiB,SAAS;IAC1BC,SAAS,EAAElB,KAAK,CAACkB,SAAS;IAC1BC,OAAO,EAAEnB,KAAK,CAACmB,OAAO;IACtBC,eAAe,EAAEpB,KAAK,CAACoB;EACzB,CAAC,CAAC,EACF,CACEpB,KAAK,CAACE,OAAO,EACbF,KAAK,CAACG,YAAY,EAClBH,KAAK,CAACI,UAAU,CAACiB,MAAM,EACvBrB,KAAK,CAACK,OAAO,CAACiB,IAAI,EAClBtB,KAAK,CAACM,WAAW,EACjBN,KAAK,CAACO,YAAY,EAClBP,KAAK,CAACQ,OAAO,EACbR,KAAK,CAACS,KAAK,EACXT,KAAK,CAACU,UAAU,EAChBV,KAAK,CAACW,QAAQ,EACdX,KAAK,CAACY,eAAe,EACrBZ,KAAK,CAACa,aAAa,EACnBb,KAAK,CAACc,UAAU,EAChBd,KAAK,CAACe,UAAU,EAChBf,KAAK,CAACgB,aAAa,EACnBhB,KAAK,CAACiB,SAAS,EACfjB,KAAK,CAACkB,SAAS,EACflB,KAAK,CAACmB,OAAO,EACbnB,KAAK,CAACoB,eAAe,CAEzB,CAAC;EAED,OAAOnB,MAAM;AACf,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"useWalletObserver.js","names":["useMemo","useWalletObserverContext","useWalletObserver","state","result","isCip45","activeWallet","adaBalance","balance","mainAddress","stakeAddress","network","utxos","collateral","observer","unusedAddresses","usedAddresses","syncWallet","disconnect","connectWallet","switching","isPending","handles","willAutoConnect","amount","size"],"sources":["../../../../src/react-components/hooks/useWalletObserver.ts"],"sourcesContent":["import { IAssetAmountMetadata } from \"@sundaeswap/asset\";\n\nimport { useMemo } from \"react\";\nimport {\n TUseWalletObserverState,\n useWalletObserverContext,\n} from \"../contexts/observer/index.js\";\n\n/**\n * Exposes the WalletObserver state.\n *\n * @returns {Omit<TUseWalletObserverState<AssetMetadata>, \"ready\" | \"connectingWallet\" | \"syncingWallet\">}\n */\nexport const useWalletObserver = <\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata,\n>(): Omit<\n TUseWalletObserverState<AssetMetadata>,\n \"ready\" | \"connectingWallet\" | \"syncingWallet\"\n> => {\n const { state } = useWalletObserverContext<AssetMetadata>();\n\n const result: Omit<\n TUseWalletObserverState<AssetMetadata>,\n \"ready\" | \"connectingWallet\" | \"syncingWallet\"\n > = useMemo(\n () => ({\n isCip45: state.isCip45,\n activeWallet: state.activeWallet,\n adaBalance: state.adaBalance,\n balance: state.balance,\n mainAddress: state.mainAddress,\n stakeAddress: state.stakeAddress,\n network: state.network,\n utxos: state.utxos,\n collateral: state.collateral,\n observer: state.observer,\n unusedAddresses: state.unusedAddresses,\n usedAddresses: state.usedAddresses,\n syncWallet: state.syncWallet,\n disconnect: state.disconnect,\n connectWallet: state.connectWallet,\n switching: state.switching,\n isPending: state.isPending,\n handles: state.handles,\n willAutoConnect: state.willAutoConnect,\n }),\n [\n state.isCip45,\n state.activeWallet,\n state.adaBalance.amount,\n state.balance.size,\n state.mainAddress,\n state.stakeAddress,\n state.network,\n state.utxos,\n state.collateral,\n state.observer,\n state.unusedAddresses,\n state.usedAddresses,\n state.syncWallet,\n state.disconnect,\n state.connectWallet,\n state.switching,\n state.isPending,\n state.handles,\n state.willAutoConnect,\n ],\n );\n\n return result;\n};\n"],"mappings":"AAEA,SAASA,OAAO,QAAQ,OAAO;AAC/B,SAEEC,wBAAwB,QACnB,+BAA+B;;AAEtC;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,iBAAiB,GAAGA,CAAA,KAK5B;EACH,MAAM;IAAEC;EAAM,CAAC,GAAGF,wBAAwB,CAAgB,CAAC;EAE3D,MAAMG,MAGL,GAAGJ,OAAO,CACT,OAAO;IACLK,OAAO,EAAEF,KAAK,CAACE,OAAO;IACtBC,YAAY,EAAEH,KAAK,CAACG,YAAY;IAChCC,UAAU,EAAEJ,KAAK,CAACI,UAAU;IAC5BC,OAAO,EAAEL,KAAK,CAACK,OAAO;IACtBC,WAAW,EAAEN,KAAK,CAACM,WAAW;IAC9BC,YAAY,EAAEP,KAAK,CAACO,YAAY;IAChCC,OAAO,EAAER,KAAK,CAACQ,OAAO;IACtBC,KAAK,EAAET,KAAK,CAACS,KAAK;IAClBC,UAAU,EAAEV,KAAK,CAACU,UAAU;IAC5BC,QAAQ,EAAEX,KAAK,CAACW,QAAQ;IACxBC,eAAe,EAAEZ,KAAK,CAACY,eAAe;IACtCC,aAAa,EAAEb,KAAK,CAACa,aAAa;IAClCC,UAAU,EAAEd,KAAK,CAACc,UAAU;IAC5BC,UAAU,EAAEf,KAAK,CAACe,UAAU;IAC5BC,aAAa,EAAEhB,KAAK,CAACgB,aAAa;IAClCC,SAAS,EAAEjB,KAAK,CAACiB,SAAS;IAC1BC,SAAS,EAAElB,KAAK,CAACkB,SAAS;IAC1BC,OAAO,EAAEnB,KAAK,CAACmB,OAAO;IACtBC,eAAe,EAAEpB,KAAK,CAACoB;EACzB,CAAC,CAAC,EACF,CACEpB,KAAK,CAACE,OAAO,EACbF,KAAK,CAACG,YAAY,EAClBH,KAAK,CAACI,UAAU,CAACiB,MAAM,EACvBrB,KAAK,CAACK,OAAO,CAACiB,IAAI,EAClBtB,KAAK,CAACM,WAAW,EACjBN,KAAK,CAACO,YAAY,EAClBP,KAAK,CAACQ,OAAO,EACbR,KAAK,CAACS,KAAK,EACXT,KAAK,CAACU,UAAU,EAChBV,KAAK,CAACW,QAAQ,EACdX,KAAK,CAACY,eAAe,EACrBZ,KAAK,CAACa,aAAa,EACnBb,KAAK,CAACc,UAAU,EAChBd,KAAK,CAACe,UAAU,EAChBf,KAAK,CAACgB,aAAa,EACnBhB,KAAK,CAACiB,SAAS,EACfjB,KAAK,CAACkB,SAAS,EACflB,KAAK,CAACmB,OAAO,EACbnB,KAAK,CAACoB,eAAe,CAEzB,CAAC;EAED,OAAOnB,MAAM;AACf,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"useWalletPeerConnect.js","names":["useEffect","useRef","useState","useTransition","useWalletObserver","jsx","_jsx","useWalletPeerConnect","state","isPending","startTransition","peerConnect","setPeerConnect","error","setError","qrCode","observer","getCip45Instance","then","res","e","message","current","instance","generateQRCode","QRCodeElement","ref","isLoading"],"sources":["../../../../src/react-components/hooks/useWalletPeerConnect.tsx"],"sourcesContent":["import { IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport {\n MutableRefObject,\n useEffect,\n useRef,\n useState,\n useTransition,\n} from \"react\";\n\nimport { TGetPeerConnectInstance } from \"../../@types/observer.js\";\nimport { useWalletObserver } from \"./useWalletObserver.js\";\n\nexport const useWalletPeerConnect = <\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata\n>() => {\n const state = useWalletObserver<AssetMetadata>();\n const [isPending, startTransition] = useTransition();\n const [peerConnect, setPeerConnect] =\n useState<ReturnType<TGetPeerConnectInstance>>();\n const [error, setError] = useState<string>();\n const qrCode = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (!state.observer) {\n return;\n }\n\n state.observer.getCip45Instance().then((res) => {\n startTransition(() => {\n try {\n setPeerConnect(res);\n } catch (e) {\n setError((e as Error).message);\n }\n });\n });\n }, [state.observer, setPeerConnect, setError]);\n\n useEffect(() => {\n if (peerConnect && qrCode.current) {\n peerConnect.instance.generateQRCode(qrCode.current);\n }\n }, [peerConnect, qrCode]);\n\n return {\n peerConnect,\n QRCodeElement: <div ref={qrCode as MutableRefObject<HTMLDivElement>} />,\n error,\n isLoading: isPending,\n };\n};\n"],"mappings":"AACA,SAEEA,SAAS,EACTC,MAAM,EACNC,QAAQ,EACRC,aAAa,QACR,OAAO;AAGd,SAASC,iBAAiB,QAAQ,wBAAwB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE3D,OAAO,MAAMC,oBAAoB,GAAGA,CAAA,KAE7B;EACL,MAAMC,KAAK,GAAGJ,iBAAiB,CAAgB,CAAC;EAChD,MAAM,CAACK,SAAS,EAAEC,eAAe,CAAC,GAAGP,aAAa,CAAC,CAAC;EACpD,MAAM,CAACQ,WAAW,EAAEC,cAAc,CAAC,GACjCV,QAAQ,CAAsC,CAAC;EACjD,MAAM,CAACW,KAAK,EAAEC,QAAQ,CAAC,GAAGZ,QAAQ,CAAS,CAAC;EAC5C,MAAMa,MAAM,GAAGd,MAAM,CAAiB,IAAI,CAAC;EAE3CD,SAAS,CAAC,MAAM;IACd,IAAI,CAACQ,KAAK,CAACQ,QAAQ,EAAE;MACnB;IACF;IAEAR,KAAK,CAACQ,QAAQ,CAACC,gBAAgB,CAAC,CAAC,CAACC,IAAI,CAAEC,GAAG,IAAK;MAC9CT,eAAe,CAAC,MAAM;QACpB,IAAI;UACFE,cAAc,CAACO,GAAG,CAAC;QACrB,CAAC,CAAC,OAAOC,CAAC,EAAE;UACVN,QAAQ,CAAEM,CAAC,CAAWC,OAAO,CAAC;QAChC;MACF,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ,CAAC,EAAE,CAACb,KAAK,CAACQ,QAAQ,EAAEJ,cAAc,EAAEE,QAAQ,CAAC,CAAC;EAE9Cd,SAAS,CAAC,MAAM;IACd,IAAIW,WAAW,IAAII,MAAM,CAACO,OAAO,EAAE;MACjCX,WAAW,CAACY,QAAQ,CAACC,cAAc,CAACT,MAAM,CAACO,OAAO,CAAC;IACrD;EACF,CAAC,EAAE,CAACX,WAAW,EAAEI,MAAM,CAAC,CAAC;EAEzB,OAAO;IACLJ,WAAW;IACXc,aAAa,eAAEnB,IAAA;MAAKoB,GAAG,EAAEX;IAA2C,CAAE,CAAC;IACvEF,KAAK;IACLc,SAAS,EAAElB;EACb,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"useWalletPeerConnect.js","names":["useEffect","useRef","useState","useTransition","useWalletObserver","jsx","_jsx","useWalletPeerConnect","state","isPending","startTransition","peerConnect","setPeerConnect","error","setError","qrCode","observer","getCip45Instance","then","res","e","message","current","instance","generateQRCode","QRCodeElement","ref","isLoading"],"sources":["../../../../src/react-components/hooks/useWalletPeerConnect.tsx"],"sourcesContent":["import { IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport {\n MutableRefObject,\n useEffect,\n useRef,\n useState,\n useTransition,\n} from \"react\";\n\nimport { TGetPeerConnectInstance } from \"../../@types/observer.js\";\nimport { useWalletObserver } from \"./useWalletObserver.js\";\n\nexport const useWalletPeerConnect = <\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata,\n>() => {\n const state = useWalletObserver<AssetMetadata>();\n const [isPending, startTransition] = useTransition();\n const [peerConnect, setPeerConnect] =\n useState<ReturnType<TGetPeerConnectInstance>>();\n const [error, setError] = useState<string>();\n const qrCode = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (!state.observer) {\n return;\n }\n\n state.observer.getCip45Instance().then((res) => {\n startTransition(() => {\n try {\n setPeerConnect(res);\n } catch (e) {\n setError((e as Error).message);\n }\n });\n });\n }, [state.observer, setPeerConnect, setError]);\n\n useEffect(() => {\n if (peerConnect && qrCode.current) {\n peerConnect.instance.generateQRCode(qrCode.current);\n }\n }, [peerConnect, qrCode]);\n\n return {\n peerConnect,\n QRCodeElement: <div ref={qrCode as MutableRefObject<HTMLDivElement>} />,\n error,\n isLoading: isPending,\n };\n};\n"],"mappings":"AACA,SAEEA,SAAS,EACTC,MAAM,EACNC,QAAQ,EACRC,aAAa,QACR,OAAO;AAGd,SAASC,iBAAiB,QAAQ,wBAAwB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE3D,OAAO,MAAMC,oBAAoB,GAAGA,CAAA,KAE7B;EACL,MAAMC,KAAK,GAAGJ,iBAAiB,CAAgB,CAAC;EAChD,MAAM,CAACK,SAAS,EAAEC,eAAe,CAAC,GAAGP,aAAa,CAAC,CAAC;EACpD,MAAM,CAACQ,WAAW,EAAEC,cAAc,CAAC,GACjCV,QAAQ,CAAsC,CAAC;EACjD,MAAM,CAACW,KAAK,EAAEC,QAAQ,CAAC,GAAGZ,QAAQ,CAAS,CAAC;EAC5C,MAAMa,MAAM,GAAGd,MAAM,CAAiB,IAAI,CAAC;EAE3CD,SAAS,CAAC,MAAM;IACd,IAAI,CAACQ,KAAK,CAACQ,QAAQ,EAAE;MACnB;IACF;IAEAR,KAAK,CAACQ,QAAQ,CAACC,gBAAgB,CAAC,CAAC,CAACC,IAAI,CAAEC,GAAG,IAAK;MAC9CT,eAAe,CAAC,MAAM;QACpB,IAAI;UACFE,cAAc,CAACO,GAAG,CAAC;QACrB,CAAC,CAAC,OAAOC,CAAC,EAAE;UACVN,QAAQ,CAAEM,CAAC,CAAWC,OAAO,CAAC;QAChC;MACF,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ,CAAC,EAAE,CAACb,KAAK,CAACQ,QAAQ,EAAEJ,cAAc,EAAEE,QAAQ,CAAC,CAAC;EAE9Cd,SAAS,CAAC,MAAM;IACd,IAAIW,WAAW,IAAII,MAAM,CAACO,OAAO,EAAE;MACjCX,WAAW,CAACY,QAAQ,CAACC,cAAc,CAACT,MAAM,CAACO,OAAO,CAAC;IACrD;EACF,CAAC,EAAE,CAACX,WAAW,EAAEI,MAAM,CAAC,CAAC;EAEzB,OAAO;IACLJ,WAAW;IACXc,aAAa,eAAEnB,IAAA;MAAKoB,GAAG,EAAEX;IAA2C,CAAE,CAAC;IACvEF,KAAK;IACLc,SAAS,EAAElB;EACb,CAAC;AACH,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"comparisons.js","names":["areAssetMapsEqual","map1","map2","size","key","val","has","get","amount","toString"],"sources":["../../../src/utils/comparisons.ts"],"sourcesContent":["import { WalletBalanceMap } from \"../classes/WalletBalanceMap.class.js\";\n\n/**\n * Compares two maps or wallet balance maps to determine if they are equal.\n *\n * @param {Map<string, any> | WalletBalanceMap} [map1] - The first map to compare.\n * @param {Map<string, any> | WalletBalanceMap} [map2] - The second map to compare.\n * @returns {boolean} - Returns true if the maps are equal, false otherwise.\n */\nexport const areAssetMapsEqual = (\n map1?: Map<string, any> | WalletBalanceMap,\n map2?: Map<string, any> | WalletBalanceMap\n): boolean => {\n if (map1?.size !== map2?.size) {\n return false;\n }\n\n if (map1 && map2) {\n for (const [key, val] of map1) {\n if (!map2.has(key)) {\n return false;\n }\n\n if (typeof map2.get(key) === \"object\") {\n if (map2.get(key)?.amount !== val?.amount) {\n return false;\n }\n }\n\n if (typeof map2.get(key) !== typeof val) {\n return false;\n }\n\n if (map2.get(key).toString() !== val.toString()) {\n return false;\n }\n }\n }\n\n return true;\n};\n"],"mappings":"AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,iBAAiB,GAAGA,CAC/BC,IAA0C,EAC1CC,IAA0C,KAC9B;EACZ,IAAID,IAAI,EAAEE,IAAI,KAAKD,IAAI,EAAEC,IAAI,EAAE;IAC7B,OAAO,KAAK;EACd;EAEA,IAAIF,IAAI,IAAIC,IAAI,EAAE;IAChB,KAAK,MAAM,CAACE,GAAG,EAAEC,GAAG,CAAC,IAAIJ,IAAI,EAAE;MAC7B,IAAI,CAACC,IAAI,CAACI,GAAG,CAACF,GAAG,CAAC,EAAE;QAClB,OAAO,KAAK;MACd;MAEA,IAAI,OAAOF,IAAI,CAACK,GAAG,CAACH,GAAG,CAAC,KAAK,QAAQ,EAAE;QACrC,IAAIF,IAAI,CAACK,GAAG,CAACH,GAAG,CAAC,EAAEI,MAAM,KAAKH,GAAG,EAAEG,MAAM,EAAE;UACzC,OAAO,KAAK;QACd;MACF;MAEA,IAAI,OAAON,IAAI,CAACK,GAAG,CAACH,GAAG,CAAC,KAAK,OAAOC,GAAG,EAAE;QACvC,OAAO,KAAK;MACd;MAEA,IAAIH,IAAI,CAACK,GAAG,CAACH,GAAG,CAAC,CAACK,QAAQ,CAAC,CAAC,KAAKJ,GAAG,CAACI,QAAQ,CAAC,CAAC,EAAE;QAC/C,OAAO,KAAK;MACd;IACF;EACF;EAEA,OAAO,IAAI;AACb,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"comparisons.js","names":["areAssetMapsEqual","map1","map2","size","key","val","has","get","amount","toString"],"sources":["../../../src/utils/comparisons.ts"],"sourcesContent":["import { WalletBalanceMap } from \"../classes/WalletBalanceMap.class.js\";\n\n/**\n * Compares two maps or wallet balance maps to determine if they are equal.\n *\n * @param {Map<string, any> | WalletBalanceMap} [map1] - The first map to compare.\n * @param {Map<string, any> | WalletBalanceMap} [map2] - The second map to compare.\n * @returns {boolean} - Returns true if the maps are equal, false otherwise.\n */\nexport const areAssetMapsEqual = (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n map1?: Map<string, any> | WalletBalanceMap,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n map2?: Map<string, any> | WalletBalanceMap,\n): boolean => {\n if (map1?.size !== map2?.size) {\n return false;\n }\n\n if (map1 && map2) {\n for (const [key, val] of map1) {\n if (!map2.has(key)) {\n return false;\n }\n\n if (typeof map2.get(key) === \"object\") {\n if (map2.get(key)?.amount !== val?.amount) {\n return false;\n }\n }\n\n if (typeof map2.get(key) !== typeof val) {\n return false;\n }\n\n if (map2.get(key).toString() !== val.toString()) {\n return false;\n }\n }\n }\n\n return true;\n};\n"],"mappings":"AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,iBAAiB,GAAGA,CAE/BC,IAA0C,EAE1CC,IAA0C,KAC9B;EACZ,IAAID,IAAI,EAAEE,IAAI,KAAKD,IAAI,EAAEC,IAAI,EAAE;IAC7B,OAAO,KAAK;EACd;EAEA,IAAIF,IAAI,IAAIC,IAAI,EAAE;IAChB,KAAK,MAAM,CAACE,GAAG,EAAEC,GAAG,CAAC,IAAIJ,IAAI,EAAE;MAC7B,IAAI,CAACC,IAAI,CAACI,GAAG,CAACF,GAAG,CAAC,EAAE;QAClB,OAAO,KAAK;MACd;MAEA,IAAI,OAAOF,IAAI,CAACK,GAAG,CAACH,GAAG,CAAC,KAAK,QAAQ,EAAE;QACrC,IAAIF,IAAI,CAACK,GAAG,CAACH,GAAG,CAAC,EAAEI,MAAM,KAAKH,GAAG,EAAEG,MAAM,EAAE;UACzC,OAAO,KAAK;QACd;MACF;MAEA,IAAI,OAAON,IAAI,CAACK,GAAG,CAACH,GAAG,CAAC,KAAK,OAAOC,GAAG,EAAE;QACvC,OAAO,KAAK;MACd;MAEA,IAAIH,IAAI,CAACK,GAAG,CAACH,GAAG,CAAC,CAACK,QAAQ,CAAC,CAAC,KAAKJ,GAAG,CAACI,QAAQ,CAAC,CAAC,EAAE;QAC/C,OAAO,KAAK;MACd;IACF;EACF;EAEA,OAAO,IAAI;AACb,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"hashing.js","names":["getEventKey","event","callback","getFunctionHash","str","name","toString","replace","hash","i","length","charCodeAt"],"sources":["../../../src/utils/hashing.ts"],"sourcesContent":["import {\n EWalletObserverEventValues,\n TWalletObserverEventFunction,\n} from \"../@types/events.js\";\n\n/**\n * Generates a unique key for the event and callback function.\n *\n * @template E - The event type.\n * @param {E} event - The event type.\n * @param {TWalletObserverEventFunction<E>} callback - The callback function.\n * @returns {string} - The unique key for the event and callback.\n */\nexport const getEventKey = <E extends keyof EWalletObserverEventValues>(\n event: E,\n callback: TWalletObserverEventFunction<E>\n): string => {\n return `${event}-${getFunctionHash(callback)}`;\n};\n\n/**\n * Generates a hash for the callback function.\n *\n * @template E - The event type.\n * @param {TWalletObserverEventFunction<E>} callback - The callback function.\n * @returns {number} - The hash of the callback function.\n */\nexport const getFunctionHash = <E extends keyof EWalletObserverEventValues>(\n callback: TWalletObserverEventFunction<E>\n): number => {\n const str = `${callback.name}${callback.toString()}`.replace(/\\s+/g, \"\");\n let hash = 5381;\n for (let i = 0; i < str.length; i++) {\n hash = (hash * 33) ^ str.charCodeAt(i);\n }\n\n return hash >>> 0; // Convert to unsigned 32-bit integer\n};\n"],"mappings":"AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,WAAW,GAAGA,CACzBC,KAAQ,EACRC,QAAyC,KAC9B;EACX,OAAO,GAAGD,KAAK,IAAIE,eAAe,CAACD,QAAQ,CAAC,EAAE;AAChD,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,eAAe,GAC1BD,QAAyC,IAC9B;EACX,MAAME,GAAG,GAAG,GAAGF,QAAQ,CAACG,IAAI,GAAGH,QAAQ,CAACI,QAAQ,CAAC,CAAC,EAAE,CAACC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;EACxE,IAAIC,IAAI,GAAG,IAAI;EACf,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGL,GAAG,CAACM,MAAM,EAAED,CAAC,EAAE,EAAE;IACnCD,IAAI,GAAIA,IAAI,GAAG,EAAE,GAAIJ,GAAG,CAACO,UAAU,CAACF,CAAC,CAAC;EACxC;EAEA,OAAOD,IAAI,KAAK,CAAC,CAAC,CAAC;AACrB,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"hashing.js","names":["getEventKey","event","callback","getFunctionHash","str","name","toString","replace","hash","i","length","charCodeAt"],"sources":["../../../src/utils/hashing.ts"],"sourcesContent":["import {\n IWalletObserverEventValues,\n TWalletObserverEventFunction,\n} from \"../@types/events.js\";\n\n/**\n * Generates a unique key for the event and callback function.\n *\n * @template E - The event type.\n * @param {E} event - The event type.\n * @param {TWalletObserverEventFunction<E>} callback - The callback function.\n * @returns {string} - The unique key for the event and callback.\n */\nexport const getEventKey = <E extends keyof IWalletObserverEventValues>(\n event: E,\n callback: TWalletObserverEventFunction<E>,\n): string => {\n return `${event}-${getFunctionHash(callback)}`;\n};\n\n/**\n * Generates a hash for the callback function.\n *\n * @template E - The event type.\n * @param {TWalletObserverEventFunction<E>} callback - The callback function.\n * @returns {number} - The hash of the callback function.\n */\nexport const getFunctionHash = <E extends keyof IWalletObserverEventValues>(\n callback: TWalletObserverEventFunction<E>,\n): number => {\n const str = `${callback.name}${callback.toString()}`.replace(/\\s+/g, \"\");\n let hash = 5381;\n for (let i = 0; i < str.length; i++) {\n hash = (hash * 33) ^ str.charCodeAt(i);\n }\n\n return hash >>> 0; // Convert to unsigned 32-bit integer\n};\n"],"mappings":"AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,WAAW,GAAGA,CACzBC,KAAQ,EACRC,QAAyC,KAC9B;EACX,OAAO,GAAGD,KAAK,IAAIE,eAAe,CAACD,QAAQ,CAAC,EAAE;AAChD,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,eAAe,GAC1BD,QAAyC,IAC9B;EACX,MAAME,GAAG,GAAG,GAAGF,QAAQ,CAACG,IAAI,GAAGH,QAAQ,CAACI,QAAQ,CAAC,CAAC,EAAE,CAACC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;EACxE,IAAIC,IAAI,GAAG,IAAI;EACf,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGL,GAAG,CAACM,MAAM,EAAED,CAAC,EAAE,EAAE;IACnCD,IAAI,GAAIA,IAAI,GAAG,EAAE,GAAIJ,GAAG,CAACO,UAAU,CAACF,CAAC,CAAC;EACxC;EAEA,OAAOD,IAAI,KAAK,CAAC,CAAC,CAAC;AACrB,CAAC","ignoreList":[]}
@@ -15,7 +15,7 @@ export declare enum EWalletObserverEvents {
15
15
  /**
16
16
  * A map of what each event passes to the event listener function.
17
17
  */
18
- export interface EWalletObserverEventValues<T extends IAssetAmountMetadata = IAssetAmountMetadata> {
18
+ export interface IWalletObserverEventValues<T extends IAssetAmountMetadata = IAssetAmountMetadata> {
19
19
  [EWalletObserverEvents.SYNCING_WALLET_START]: undefined;
20
20
  [EWalletObserverEvents.SYNCING_WALLET_END]: undefined | {
21
21
  balanceMap: WalletBalanceMap<T>;
@@ -35,5 +35,5 @@ export interface EWalletObserverEventValues<T extends IAssetAmountMetadata = IAs
35
35
  * The function declaration so that an even handler can get
36
36
  * type definitions for the arguments.
37
37
  */
38
- export type TWalletObserverEventFunction<E extends keyof EWalletObserverEventValues> = (data?: EWalletObserverEventValues[E]) => void;
38
+ export type TWalletObserverEventFunction<E extends keyof IWalletObserverEventValues> = (data?: IWalletObserverEventValues[E]) => void;
39
39
  //# sourceMappingURL=events.d.ts.map
@@ -8,7 +8,7 @@ import { WalletObserver } from "./WalletObserver.class.js";
8
8
  * for convenience when querying against the map.
9
9
  *
10
10
  * @template AssetMetadata - Type extending IAssetAmountMetadata.
11
- * @extends {Map<string, AssetAmount<AssetMetadata>>}
11
+ * @extends {WalletAssetMap<AssetMetadata>}
12
12
  */
13
13
  export declare class WalletBalanceMap<AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata> extends WalletAssetMap<AssetMetadata> {
14
14
  private _observer;
@@ -1 +1 @@
1
- {"version":3,"file":"WalletBalanceMap.class.d.ts","sourceRoot":"","sources":["../../../src/classes/WalletBalanceMap.class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEtE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D;;;;;;;GAOG;AACH,qBAAa,gBAAgB,CAC3B,aAAa,SAAS,oBAAoB,GAAG,oBAAoB,CACjE,SAAQ,cAAc,CAAC,aAAa,CAAC;IAiBzB,OAAO,CAAC,SAAS;IAhB7B;;;;;;OAMG;IACH,OAAO,CAAC,gBAAgB,CAGtB;IAEF;;;OAGG;gBACiB,SAAS,EAAE,cAAc;IAI7C;;;;;OAKG;IACH,iBAAiB,QAAO,gBAAgB,aAAa,CAAC,CASpD;IAEF;;;;;OAKG;IACH,UAAU,QAAO,gBAAgB,aAAa,CAAC,CAa7C;IAEF;;;;;;OAMG;IACH,oBAAoB,iBACJ,OAAO,KACpB,gBAAgB,aAAa,CAAC,CAkB/B;IAEF;;;;;OAKG;IACH,OAAO,iBAAkB,OAAO,KAAG,gBAAgB,aAAa,CAAC,CACxB;CAC1C"}
1
+ {"version":3,"file":"WalletBalanceMap.class.d.ts","sourceRoot":"","sources":["../../../src/classes/WalletBalanceMap.class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D;;;;;;;GAOG;AACH,qBAAa,gBAAgB,CAC3B,aAAa,SAAS,oBAAoB,GAAG,oBAAoB,CACjE,SAAQ,cAAc,CAAC,aAAa,CAAC;IAiBzB,OAAO,CAAC,SAAS;IAhB7B;;;;;;OAMG;IACH,OAAO,CAAC,gBAAgB,CAGtB;IAEF;;;OAGG;gBACiB,SAAS,EAAE,cAAc;IAI7C;;;;;OAKG;IACH,iBAAiB,QAAO,gBAAgB,aAAa,CAAC,CASpD;IAEF;;;;;OAKG;IACH,UAAU,QAAO,gBAAgB,aAAa,CAAC,CAa7C;IAEF;;;;;;OAMG;IACH,oBAAoB,iBACJ,OAAO,KACpB,gBAAgB,aAAa,CAAC,CAkB/B;IAEF;;;;;OAKG;IACH,OAAO,iBAAkB,OAAO,KAAG,gBAAgB,aAAa,CAAC,CACxB;CAC1C"}
@@ -69,9 +69,9 @@ export declare class WalletObserver<AssetMetadata extends IAssetAmountMetadata =
69
69
  * but the underlying intent has not.
70
70
  *
71
71
  * @param {TSupportedWalletExtensions} [activeWallet] - The wallet to sync with.
72
- * @returns {Promise<Cip30WalletApi>} - A promise that resolves to the API instance.
72
+ * @returns {Promise<Cip30WalletApi | undefined>} - A promise that resolves to the API instance.
73
73
  */
74
- syncApi: (activeWallet?: TSupportedWalletExtensions) => Promise<any>;
74
+ syncApi: (activeWallet?: TSupportedWalletExtensions) => Promise<Cip30WalletApi | undefined>;
75
75
  /**
76
76
  * Gets the options for the wallet observer.
77
77
  *
@@ -1 +1 @@
1
- {"version":3,"file":"WalletObserver.class.d.ts","sourceRoot":"","sources":["../../../src/classes/WalletObserver.class.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mDAAmD,CAAC;AAClG,OAAO,EAGL,KAAK,cAAc,EAEpB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAe,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAI3E,OAAO,KAAK,EAGV,mBAAmB,EACnB,qBAAqB,EACrB,0BAA0B,EAC1B,sBAAsB,EACvB,MAAM,uBAAuB,CAAC;AAO/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAErE;;;;;;;;;;;;;GAaG;AACH,qBAAa,cAAc,CACzB,aAAa,SAAS,oBAAoB,GAAG,oBAAoB,CACjE,SAAQ,mBAAmB;IAC3B,MAAM,CAAC,qBAAqB,SAAoB;IAChD,MAAM,CAAC,YAAY,SAAkB;IAC9B,OAAO,EAAE,MAAM,CAAK;IACpB,GAAG,CAAC,EAAE,cAAc,CAAC;IACrB,YAAY,CAAC,EAAE,0BAA0B,CAAC;IAC1C,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAC5B,mBAAmB,CAAC,EAAE,OAAO,qCAAqC,EAAE,eAAe,CAAC;IAE3F,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAgD;IAChE,OAAO,CAAC,oBAAoB,CAO1B;IAGF,OAAO,CAAC,eAAe,CAAyC;IAEhE;;;;OAIG;gBACS,OAAO,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC;IA0CpE;;;;;;;;;;;OAWG;IACH,IAAI,QAAa,QAAQ,oBAAoB,aAAa,CAAC,CAAC,CAkE1D;IAEF;;;;;;OAMG;IACH,SAAS,IAAI,OAAO;IAIpB;;;;OAIG;IACH,mBAAmB,IAAI,OAAO;IAI9B;;;;;;OAMG;IACH,OAAO,kBAAyB,0BAA0B,KAAG,QAAQ,GAAG,CAAC,CA6CvE;IAEF;;;;OAIG;IACH,UAAU,QAAO,sBAAsB,CAErC;IAEF;;;;;;;OAOG;IACH,aAAa,cACA,0BAA0B,KACpC,QAAQ,IAAI,CAAC,CA8Cd;IAEF,gBAAgB;;;;OAmBd;IAEF;;;;OAIG;IACH,sBAAsB,QAAO,IAAI,MAAM,EAAE,aAAa,CAAC,CAChC;IAEvB;;;;OAIG;IACH,sBAAsB,QAAO,0BAA0B,EAAE,CAEvD;IAEF;;;;OAIG;IACH,UAAU,QAAO,IAAI,CAKnB;IAEF;;;;OAIG;IACH,aAAa,QAAa,QAAQ,iBAAiB,aAAa,CAAC,CAAC,CA+ChE;IAEF;;;;OAIG;IACH,UAAU,QAAa,QAAQ,MAAM,CAAC,CAepC;IAEF;;;;OAIG;IACH,gBAAgB,QAAa,QAAQ,MAAM,EAAE,CAAC,CAwB5C;IAEF;;;;OAIG;IACH,kBAAkB,QAAa,QAAQ,MAAM,EAAE,CAAC,CAwB9C;IAEF;;;;OAIG;IACH,QAAQ,QAAa,QAAQ,wBAAwB,EAAE,GAAG,SAAS,CAAC,CA6BlE;IAEF;;;;OAIG;IACH,aAAa,QAAa,QAAQ,wBAAwB,EAAE,GAAG,SAAS,CAAC,CAsCvE;IAEF;;;;;;OAMG;IACH,OAAO,CAAC,2BAA2B,CAkDjC;IAEF;;;;OAIG;IACI,wBAAwB,EAAE,qBAAqB,CAAC,aAAa,CAAC,CAWjE;IAEJ;;;;OAIG;IACU,QAAQ,IAAI,OAAO,CAAC,mBAAmB,CAAC;CAOtD"}
1
+ {"version":3,"file":"WalletObserver.class.d.ts","sourceRoot":"","sources":["../../../src/classes/WalletObserver.class.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mDAAmD,CAAC;AAClG,OAAO,EAGL,KAAK,cAAc,EAEpB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAe,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAI3E,OAAO,KAAK,EAGV,mBAAmB,EACnB,qBAAqB,EACrB,0BAA0B,EAC1B,sBAAsB,EACvB,MAAM,uBAAuB,CAAC;AAO/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAErE;;;;;;;;;;;;;GAaG;AACH,qBAAa,cAAc,CACzB,aAAa,SAAS,oBAAoB,GAAG,oBAAoB,CACjE,SAAQ,mBAAmB;IAC3B,MAAM,CAAC,qBAAqB,SAAoB;IAChD,MAAM,CAAC,YAAY,SAAkB;IAC9B,OAAO,EAAE,MAAM,CAAK;IACpB,GAAG,CAAC,EAAE,cAAc,CAAC;IACrB,YAAY,CAAC,EAAE,0BAA0B,CAAC;IAC1C,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAC5B,mBAAmB,CAAC,EAAE,OAAO,qCAAqC,EAAE,eAAe,CAAC;IAE3F,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAgD;IAChE,OAAO,CAAC,oBAAoB,CAO1B;IAGF,OAAO,CAAC,eAAe,CAAyC;IAEhE;;;;OAIG;gBACS,OAAO,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC;IA0CpE;;;;;;;;;;;OAWG;IACH,IAAI,QAAa,QAAQ,oBAAoB,aAAa,CAAC,CAAC,CAkE1D;IAEF;;;;;;OAMG;IACH,SAAS,IAAI,OAAO;IAIpB;;;;OAIG;IACH,mBAAmB,IAAI,OAAO;IAI9B;;;;;;OAMG;IACH,OAAO,kBACU,0BAA0B,KACxC,QAAQ,cAAc,GAAG,SAAS,CAAC,CA6CpC;IAEF;;;;OAIG;IACH,UAAU,QAAO,sBAAsB,CAErC;IAEF;;;;;;;OAOG;IACH,aAAa,cACA,0BAA0B,KACpC,QAAQ,IAAI,CAAC,CA8Cd;IAEF,gBAAgB;;;;OAmBd;IAEF;;;;OAIG;IACH,sBAAsB,QAAO,IAAI,MAAM,EAAE,aAAa,CAAC,CAChC;IAEvB;;;;OAIG;IACH,sBAAsB,QAAO,0BAA0B,EAAE,CAEvD;IAEF;;;;OAIG;IACH,UAAU,QAAO,IAAI,CAKnB;IAEF;;;;OAIG;IACH,aAAa,QAAa,QAAQ,iBAAiB,aAAa,CAAC,CAAC,CA+ChE;IAEF;;;;OAIG;IACH,UAAU,QAAa,QAAQ,MAAM,CAAC,CAepC;IAEF;;;;OAIG;IACH,gBAAgB,QAAa,QAAQ,MAAM,EAAE,CAAC,CAwB5C;IAEF;;;;OAIG;IACH,kBAAkB,QAAa,QAAQ,MAAM,EAAE,CAAC,CAwB9C;IAEF;;;;OAIG;IACH,QAAQ,QAAa,QAAQ,wBAAwB,EAAE,GAAG,SAAS,CAAC,CA6BlE;IAEF;;;;OAIG;IACH,aAAa,QAAa,QAAQ,wBAAwB,EAAE,GAAG,SAAS,CAAC,CAsCvE;IAEF;;;;;;OAMG;IACH,OAAO,CAAC,2BAA2B,CAkDjC;IAEF;;;;OAIG;IACI,wBAAwB,EAAE,qBAAqB,CAAC,aAAa,CAAC,CAWjE;IAEJ;;;;OAIG;IACU,QAAQ,IAAI,OAAO,CAAC,mBAAmB,CAAC;CAOtD"}