@sundaeswap/wallet-lite 0.0.97 → 0.0.99

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 (26) hide show
  1. package/dist/cjs/react-components/WalletObserverProvider/WalletObserverProvider.js +4 -2
  2. package/dist/cjs/react-components/WalletObserverProvider/WalletObserverProvider.js.map +1 -1
  3. package/dist/cjs/react-components/WalletObserverProvider/hooks/effects/useSyncWalletWithInterval.js +28 -0
  4. package/dist/cjs/react-components/WalletObserverProvider/hooks/effects/useSyncWalletWithInterval.js.map +1 -0
  5. package/dist/esm/react-components/WalletObserverProvider/WalletObserverProvider.js +4 -2
  6. package/dist/esm/react-components/WalletObserverProvider/WalletObserverProvider.js.map +1 -1
  7. package/dist/esm/react-components/WalletObserverProvider/hooks/effects/useSyncWalletWithInterval.js +21 -0
  8. package/dist/esm/react-components/WalletObserverProvider/hooks/effects/useSyncWalletWithInterval.js.map +1 -0
  9. package/dist/types/react-components/WalletObserverProvider/WalletObserverProvider.d.ts.map +1 -1
  10. package/dist/types/react-components/WalletObserverProvider/hooks/effects/useSyncWalletWithInterval.d.ts +10 -0
  11. package/dist/types/react-components/WalletObserverProvider/hooks/effects/useSyncWalletWithInterval.d.ts.map +1 -0
  12. package/dist/types/tsconfig.build.tsbuildinfo +1 -1
  13. package/package.json +1 -1
  14. package/src/react-components/WalletObserverProvider/WalletObserverProvider.tsx +3 -6
  15. package/src/react-components/WalletObserverProvider/hooks/effects/useSyncWalletWithInterval.ts +23 -0
  16. package/src/react-components/__tests__/RenderWallet.test.tsx +13 -2
  17. package/src/react-components/__tests__/hooks/useAvailableExtensions.test.tsx +12 -1
  18. package/src/react-components/__tests__/hooks/useWalletObserver.test.tsx +20 -11
  19. package/src/react-components/__tests__/hooks/useWalletObserverRef.test.tsx +19 -10
  20. package/dist/cjs/react-components/WalletObserverProvider/hooks/effects/useProviderRefreshInterval.js +0 -28
  21. package/dist/cjs/react-components/WalletObserverProvider/hooks/effects/useProviderRefreshInterval.js.map +0 -1
  22. package/dist/esm/react-components/WalletObserverProvider/hooks/effects/useProviderRefreshInterval.js +0 -22
  23. package/dist/esm/react-components/WalletObserverProvider/hooks/effects/useProviderRefreshInterval.js.map +0 -1
  24. package/dist/types/react-components/WalletObserverProvider/hooks/effects/useProviderRefreshInterval.d.ts +0 -12
  25. package/dist/types/react-components/WalletObserverProvider/hooks/effects/useProviderRefreshInterval.d.ts.map +0 -1
  26. package/src/react-components/WalletObserverProvider/hooks/effects/useProviderRefreshInterval.ts +0 -30
@@ -8,7 +8,7 @@ var _react = require("react");
8
8
  var _WalletObserverClass = require("../../classes/WalletObserver.class.js");
9
9
  var _index = require("../contexts/observer/index.js");
10
10
  var _useDerivedState = require("./hooks/effects/useDerivedState.js");
11
- var _useProviderRefreshInterval = require("./hooks/effects/useProviderRefreshInterval.js");
11
+ var _useSyncWalletWithInterval = require("./hooks/effects/useSyncWalletWithInterval.js");
12
12
  var _useProviderWalletObserverRef = require("./hooks/useProviderWalletObserverRef.js");
13
13
  var _useWalletObserverState = require("./hooks/useWalletObserverState.js");
14
14
  var _jsxRuntime = require("react/jsx-runtime");
@@ -34,7 +34,9 @@ var WalletObserverProvider = function WalletObserverProvider(_ref) {
34
34
  ready = _useProviderWalletObs.ready,
35
35
  eventListenersAttached = _useProviderWalletObs.eventListenersAttached;
36
36
  var state = (0, _useWalletObserverState.useWalletObserverState)(observerRef.current);
37
- (0, _useProviderRefreshInterval.useProviderRefreshInterval)(observerRef.current, state.syncWallet, options === null || options === void 0 ? void 0 : options.refreshInterval);
37
+
38
+ // Enable syncing.
39
+ (0, _useSyncWalletWithInterval.useSyncWalletWithInterval)(state.syncWallet, options === null || options === void 0 ? void 0 : options.refreshInterval);
38
40
  var derivedState = (0, _useDerivedState.useDerivedState)(observerRef.current, {
39
41
  usedAddresses: state.usedAddresses,
40
42
  unusedAddresses: state.unusedAddresses,
@@ -1 +1 @@
1
- {"version":3,"file":"WalletObserverProvider.js","names":["_react","require","_WalletObserverClass","_index","_useDerivedState","_useProviderRefreshInterval","_useProviderWalletObserverRef","_useWalletObserverState","_jsxRuntime","_typeof","o","Symbol","iterator","constructor","prototype","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","toPrimitive","call","TypeError","String","Number","WalletObserverProvider","_ref","children","options","_useProviderWalletObs","useProviderWalletObserverRef","observerOptions","hooks","observerRef","connectingWallet","syncingWallet","ready","eventListenersAttached","state","useWalletObserverState","current","useProviderRefreshInterval","syncWallet","refreshInterval","derivedState","useDerivedState","usedAddresses","unusedAddresses","changeAddress","contextValue","useMemo","observer","useEffect","_observerRef$current","wallet","window","localStorage","getItem","WalletObserver","PERSISTENCE_CACHE_KEY","getOptions","persistence","connectWallet","JSON","parse","activeWallet","jsx","WalletObserverContext","Provider","_default","exports"],"sources":["../../../../src/react-components/WalletObserverProvider/WalletObserverProvider.tsx"],"sourcesContent":["import { FC, PropsWithChildren, useEffect, useMemo } from \"react\";\n\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, options?.hooks);\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 unusedAddresses: state.unusedAddresses,\n changeAddress: state.changeAddress,\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 = window.localStorage.getItem(\n WalletObserver.PERSISTENCE_CACHE_KEY,\n );\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":"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","ignoreList":[]}
1
+ {"version":3,"file":"WalletObserverProvider.js","names":["_react","require","_WalletObserverClass","_index","_useDerivedState","_useSyncWalletWithInterval","_useProviderWalletObserverRef","_useWalletObserverState","_jsxRuntime","_typeof","o","Symbol","iterator","constructor","prototype","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","toPrimitive","call","TypeError","String","Number","WalletObserverProvider","_ref","children","options","_useProviderWalletObs","useProviderWalletObserverRef","observerOptions","hooks","observerRef","connectingWallet","syncingWallet","ready","eventListenersAttached","state","useWalletObserverState","current","useSyncWalletWithInterval","syncWallet","refreshInterval","derivedState","useDerivedState","usedAddresses","unusedAddresses","changeAddress","contextValue","useMemo","observer","useEffect","_observerRef$current","wallet","window","localStorage","getItem","WalletObserver","PERSISTENCE_CACHE_KEY","getOptions","persistence","connectWallet","JSON","parse","activeWallet","jsx","WalletObserverContext","Provider","_default","exports"],"sources":["../../../../src/react-components/WalletObserverProvider/WalletObserverProvider.tsx"],"sourcesContent":["import { FC, PropsWithChildren, useEffect, useMemo } from \"react\";\n\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 { useSyncWalletWithInterval } from \"./hooks/effects/useSyncWalletWithInterval.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, options?.hooks);\n const state = useWalletObserverState(observerRef.current);\n\n // Enable syncing.\n useSyncWalletWithInterval(state.syncWallet, options?.refreshInterval);\n\n const derivedState = useDerivedState(observerRef.current, {\n usedAddresses: state.usedAddresses,\n unusedAddresses: state.unusedAddresses,\n changeAddress: state.changeAddress,\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 = window.localStorage.getItem(\n WalletObserver.PERSISTENCE_CACHE_KEY,\n );\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":"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","ignoreList":[]}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useSyncWalletWithInterval = void 0;
7
+ var _reactQuery = require("@tanstack/react-query");
8
+ /**
9
+ * This hook is responsible for attaching
10
+ * calling the sync function on an interval.
11
+ * If set to 0, then the refresh interval is not attached.
12
+ *
13
+ * @param syncWalletFn
14
+ * @param refreshInterval
15
+ */
16
+ var useSyncWalletWithInterval = exports.useSyncWalletWithInterval = function useSyncWalletWithInterval(syncWalletFn, refreshInterval) {
17
+ (0, _reactQuery.useQuery)({
18
+ queryKey: [refreshInterval, syncWalletFn],
19
+ queryFn: function queryFn() {
20
+ return syncWalletFn();
21
+ },
22
+ refetchInterval: refreshInterval,
23
+ enabled: refreshInterval ? refreshInterval > 0 : false,
24
+ refetchOnWindowFocus: true,
25
+ refetchOnReconnect: true
26
+ });
27
+ };
28
+ //# sourceMappingURL=useSyncWalletWithInterval.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSyncWalletWithInterval.js","names":["_reactQuery","require","useSyncWalletWithInterval","exports","syncWalletFn","refreshInterval","useQuery","queryKey","queryFn","refetchInterval","enabled","refetchOnWindowFocus","refetchOnReconnect"],"sources":["../../../../../../src/react-components/WalletObserverProvider/hooks/effects/useSyncWalletWithInterval.ts"],"sourcesContent":["import { useQuery } from \"@tanstack/react-query\";\n\n/**\n * This hook is responsible for attaching\n * calling the sync function on an interval.\n * If set to 0, then the refresh interval is not attached.\n *\n * @param syncWalletFn\n * @param refreshInterval\n */\nexport const useSyncWalletWithInterval = (\n syncWalletFn: () => Promise<void>,\n refreshInterval?: number,\n) => {\n useQuery({\n queryKey: [refreshInterval, syncWalletFn],\n queryFn: () => syncWalletFn(),\n refetchInterval: refreshInterval,\n enabled: refreshInterval ? refreshInterval > 0 : false,\n refetchOnWindowFocus: true,\n refetchOnReconnect: true,\n });\n};\n"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMC,yBAAyB,GAAAC,OAAA,CAAAD,yBAAA,GAAG,SAA5BA,yBAAyBA,CACpCE,YAAiC,EACjCC,eAAwB,EACrB;EACH,IAAAC,oBAAQ,EAAC;IACPC,QAAQ,EAAE,CAACF,eAAe,EAAED,YAAY,CAAC;IACzCI,OAAO,EAAE,SAAAA,QAAA;MAAA,OAAMJ,YAAY,CAAC,CAAC;IAAA;IAC7BK,eAAe,EAAEJ,eAAe;IAChCK,OAAO,EAAEL,eAAe,GAAGA,eAAe,GAAG,CAAC,GAAG,KAAK;IACtDM,oBAAoB,EAAE,IAAI;IAC1BC,kBAAkB,EAAE;EACtB,CAAC,CAAC;AACJ,CAAC","ignoreList":[]}
@@ -2,7 +2,7 @@ import { useEffect, useMemo } from "react";
2
2
  import { WalletObserver } from "../../classes/WalletObserver.class.js";
3
3
  import { WalletObserverContext } from "../contexts/observer/index.js";
4
4
  import { useDerivedState } from "./hooks/effects/useDerivedState.js";
5
- import { useProviderRefreshInterval } from "./hooks/effects/useProviderRefreshInterval.js";
5
+ import { useSyncWalletWithInterval } from "./hooks/effects/useSyncWalletWithInterval.js";
6
6
  import { useProviderWalletObserverRef } from "./hooks/useProviderWalletObserverRef.js";
7
7
  import { useWalletObserverState } from "./hooks/useWalletObserverState.js";
8
8
 
@@ -26,7 +26,9 @@ const WalletObserverProvider = ({
26
26
  eventListenersAttached
27
27
  } = useProviderWalletObserverRef(options?.observerOptions, options?.hooks);
28
28
  const state = useWalletObserverState(observerRef.current);
29
- useProviderRefreshInterval(observerRef.current, state.syncWallet, options?.refreshInterval);
29
+
30
+ // Enable syncing.
31
+ useSyncWalletWithInterval(state.syncWallet, options?.refreshInterval);
30
32
  const derivedState = useDerivedState(observerRef.current, {
31
33
  usedAddresses: state.usedAddresses,
32
34
  unusedAddresses: state.unusedAddresses,
@@ -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","hooks","state","current","syncWallet","refreshInterval","derivedState","usedAddresses","unusedAddresses","changeAddress","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 { 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, options?.hooks);\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 unusedAddresses: state.unusedAddresses,\n changeAddress: state.changeAddress,\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 = window.localStorage.getItem(\n WalletObserver.PERSISTENCE_CACHE_KEY,\n );\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;AAEjE,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,EAAEN,OAAO,EAAEO,KAAK,CAAC;EAC1E,MAAMC,KAAK,GAAGb,sBAAsB,CAACM,WAAW,CAACQ,OAAO,CAAC;EAEzDhB,0BAA0B,CACxBQ,WAAW,CAACQ,OAAO,EACnBD,KAAK,CAACE,UAAU,EAChBV,OAAO,EAAEW,eACX,CAAC;EAED,MAAMC,YAAY,GAAGpB,eAAe,CAACS,WAAW,CAACQ,OAAO,EAAE;IACxDI,aAAa,EAAEL,KAAK,CAACK,aAAa;IAClCC,eAAe,EAAEN,KAAK,CAACM,eAAe;IACtCC,aAAa,EAAEP,KAAK,CAACO;EACvB,CAAC,CAAC;;EAEF;EACA,MAAMC,YAAkC,GAAG3B,OAAO,CAChD,OAAO;IACLY,WAAW,EAAEA,WAAW;IACxBU,eAAe,EAAEX,OAAO,EAAEW,eAAe,IAAI,KAAK;IAClDH,KAAK,EAAE;MACL,GAAGA,KAAK;MACR,GAAGI,YAAY;MACfK,QAAQ,EAAEhB,WAAW,CAACQ,OAAO;MAC7BP,gBAAgB;MAChBC,aAAa;MACbC;IACF;EACF,CAAC,CAAC,EACF,CACEJ,OAAO,EACPQ,KAAK,EACLI,YAAY,EACZV,gBAAgB,EAChBC,aAAa,EACbC,KAAK,EACLH,WAAW,CAACQ,OAAO,CAEvB,CAAC;EAEDrB,SAAS,CAAC,MAAM;IACd,IAAI,CAACiB,sBAAsB,EAAE;MAC3B;IACF;IAEA,MAAMa,MAAM,GAAGC,MAAM,CAACC,YAAY,CAACC,OAAO,CACxC/B,cAAc,CAACgC,qBACjB,CAAC;IAED,IAAIJ,MAAM,IAAIjB,WAAW,CAACQ,OAAO,EAAEc,UAAU,CAAC,CAAC,EAAEC,WAAW,EAAE;MAC5DhB,KAAK,CAACiB,aAAa,CAACC,IAAI,CAACC,KAAK,CAACT,MAAM,CAAC,CAACU,YAAY,CAAC;IACtD;EACF,CAAC,EAAE,CAACvB,sBAAsB,CAAC,CAAC;EAE5B,oBACER,IAAA,CAACN,qBAAqB,CAACsC,QAAQ;IAACC,KAAK,EAAEd,YAAa;IAAAjB,QAAA,EACjDA;EAAQ,CACqB,CAAC;AAErC,CAAC;AAED,eAAeD,sBAAsB","ignoreList":[]}
1
+ {"version":3,"file":"WalletObserverProvider.js","names":["useEffect","useMemo","WalletObserver","WalletObserverContext","useDerivedState","useSyncWalletWithInterval","useProviderWalletObserverRef","useWalletObserverState","jsx","_jsx","WalletObserverProvider","children","options","observerRef","connectingWallet","syncingWallet","ready","eventListenersAttached","observerOptions","hooks","state","current","syncWallet","refreshInterval","derivedState","usedAddresses","unusedAddresses","changeAddress","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 { 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 { useSyncWalletWithInterval } from \"./hooks/effects/useSyncWalletWithInterval.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, options?.hooks);\n const state = useWalletObserverState(observerRef.current);\n\n // Enable syncing.\n useSyncWalletWithInterval(state.syncWallet, options?.refreshInterval);\n\n const derivedState = useDerivedState(observerRef.current, {\n usedAddresses: state.usedAddresses,\n unusedAddresses: state.unusedAddresses,\n changeAddress: state.changeAddress,\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 = window.localStorage.getItem(\n WalletObserver.PERSISTENCE_CACHE_KEY,\n );\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;AAEjE,SAASC,cAAc,QAAQ,uCAAuC;AACtE,SAGEC,qBAAqB,QAChB,+BAA+B;AACtC,SAASC,eAAe,QAAQ,oCAAoC;AACpE,SAASC,yBAAyB,QAAQ,8CAA8C;AACxF,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,EAAEN,OAAO,EAAEO,KAAK,CAAC;EAC1E,MAAMC,KAAK,GAAGb,sBAAsB,CAACM,WAAW,CAACQ,OAAO,CAAC;;EAEzD;EACAhB,yBAAyB,CAACe,KAAK,CAACE,UAAU,EAAEV,OAAO,EAAEW,eAAe,CAAC;EAErE,MAAMC,YAAY,GAAGpB,eAAe,CAACS,WAAW,CAACQ,OAAO,EAAE;IACxDI,aAAa,EAAEL,KAAK,CAACK,aAAa;IAClCC,eAAe,EAAEN,KAAK,CAACM,eAAe;IACtCC,aAAa,EAAEP,KAAK,CAACO;EACvB,CAAC,CAAC;;EAEF;EACA,MAAMC,YAAkC,GAAG3B,OAAO,CAChD,OAAO;IACLY,WAAW,EAAEA,WAAW;IACxBU,eAAe,EAAEX,OAAO,EAAEW,eAAe,IAAI,KAAK;IAClDH,KAAK,EAAE;MACL,GAAGA,KAAK;MACR,GAAGI,YAAY;MACfK,QAAQ,EAAEhB,WAAW,CAACQ,OAAO;MAC7BP,gBAAgB;MAChBC,aAAa;MACbC;IACF;EACF,CAAC,CAAC,EACF,CACEJ,OAAO,EACPQ,KAAK,EACLI,YAAY,EACZV,gBAAgB,EAChBC,aAAa,EACbC,KAAK,EACLH,WAAW,CAACQ,OAAO,CAEvB,CAAC;EAEDrB,SAAS,CAAC,MAAM;IACd,IAAI,CAACiB,sBAAsB,EAAE;MAC3B;IACF;IAEA,MAAMa,MAAM,GAAGC,MAAM,CAACC,YAAY,CAACC,OAAO,CACxC/B,cAAc,CAACgC,qBACjB,CAAC;IAED,IAAIJ,MAAM,IAAIjB,WAAW,CAACQ,OAAO,EAAEc,UAAU,CAAC,CAAC,EAAEC,WAAW,EAAE;MAC5DhB,KAAK,CAACiB,aAAa,CAACC,IAAI,CAACC,KAAK,CAACT,MAAM,CAAC,CAACU,YAAY,CAAC;IACtD;EACF,CAAC,EAAE,CAACvB,sBAAsB,CAAC,CAAC;EAE5B,oBACER,IAAA,CAACN,qBAAqB,CAACsC,QAAQ;IAACC,KAAK,EAAEd,YAAa;IAAAjB,QAAA,EACjDA;EAAQ,CACqB,CAAC;AAErC,CAAC;AAED,eAAeD,sBAAsB","ignoreList":[]}
@@ -0,0 +1,21 @@
1
+ import { useQuery } from "@tanstack/react-query";
2
+
3
+ /**
4
+ * This hook is responsible for attaching
5
+ * calling the sync function on an interval.
6
+ * If set to 0, then the refresh interval is not attached.
7
+ *
8
+ * @param syncWalletFn
9
+ * @param refreshInterval
10
+ */
11
+ export const useSyncWalletWithInterval = (syncWalletFn, refreshInterval) => {
12
+ useQuery({
13
+ queryKey: [refreshInterval, syncWalletFn],
14
+ queryFn: () => syncWalletFn(),
15
+ refetchInterval: refreshInterval,
16
+ enabled: refreshInterval ? refreshInterval > 0 : false,
17
+ refetchOnWindowFocus: true,
18
+ refetchOnReconnect: true
19
+ });
20
+ };
21
+ //# sourceMappingURL=useSyncWalletWithInterval.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSyncWalletWithInterval.js","names":["useQuery","useSyncWalletWithInterval","syncWalletFn","refreshInterval","queryKey","queryFn","refetchInterval","enabled","refetchOnWindowFocus","refetchOnReconnect"],"sources":["../../../../../../src/react-components/WalletObserverProvider/hooks/effects/useSyncWalletWithInterval.ts"],"sourcesContent":["import { useQuery } from \"@tanstack/react-query\";\n\n/**\n * This hook is responsible for attaching\n * calling the sync function on an interval.\n * If set to 0, then the refresh interval is not attached.\n *\n * @param syncWalletFn\n * @param refreshInterval\n */\nexport const useSyncWalletWithInterval = (\n syncWalletFn: () => Promise<void>,\n refreshInterval?: number,\n) => {\n useQuery({\n queryKey: [refreshInterval, syncWalletFn],\n queryFn: () => syncWalletFn(),\n refetchInterval: refreshInterval,\n enabled: refreshInterval ? refreshInterval > 0 : false,\n refetchOnWindowFocus: true,\n refetchOnReconnect: true,\n });\n};\n"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,uBAAuB;;AAEhD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,yBAAyB,GAAGA,CACvCC,YAAiC,EACjCC,eAAwB,KACrB;EACHH,QAAQ,CAAC;IACPI,QAAQ,EAAE,CAACD,eAAe,EAAED,YAAY,CAAC;IACzCG,OAAO,EAAEA,CAAA,KAAMH,YAAY,CAAC,CAAC;IAC7BI,eAAe,EAAEH,eAAe;IAChCI,OAAO,EAAEJ,eAAe,GAAGA,eAAe,GAAG,CAAC,GAAG,KAAK;IACtDK,oBAAoB,EAAE,IAAI;IAC1BC,kBAAkB,EAAE;EACtB,CAAC,CAAC;AACJ,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"WalletObserverProvider.d.ts","sourceRoot":"","sources":["../../../../src/react-components/WalletObserverProvider/WalletObserverProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,iBAAiB,EAAsB,MAAM,OAAO,CAAC;AAGlE,OAAO,EACL,4BAA4B,EAG7B,MAAM,+BAA+B,CAAC;AAMvC;;;;;;GAMG;AACH,QAAA,MAAM,sBAAsB,EAAE,EAAE,CAC9B,iBAAiB,CAAC,4BAA4B,CAAC,CAmEhD,CAAC;AAEF,eAAe,sBAAsB,CAAC"}
1
+ {"version":3,"file":"WalletObserverProvider.d.ts","sourceRoot":"","sources":["../../../../src/react-components/WalletObserverProvider/WalletObserverProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,iBAAiB,EAAsB,MAAM,OAAO,CAAC;AAGlE,OAAO,EACL,4BAA4B,EAG7B,MAAM,+BAA+B,CAAC;AAMvC;;;;;;GAMG;AACH,QAAA,MAAM,sBAAsB,EAAE,EAAE,CAC9B,iBAAiB,CAAC,4BAA4B,CAAC,CAgEhD,CAAC;AAEF,eAAe,sBAAsB,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * This hook is responsible for attaching
3
+ * calling the sync function on an interval.
4
+ * If set to 0, then the refresh interval is not attached.
5
+ *
6
+ * @param syncWalletFn
7
+ * @param refreshInterval
8
+ */
9
+ export declare const useSyncWalletWithInterval: (syncWalletFn: () => Promise<void>, refreshInterval?: number) => void;
10
+ //# sourceMappingURL=useSyncWalletWithInterval.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSyncWalletWithInterval.d.ts","sourceRoot":"","sources":["../../../../../../src/react-components/WalletObserverProvider/hooks/effects/useSyncWalletWithInterval.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,eAAO,MAAM,yBAAyB,iBACtB,MAAM,QAAQ,IAAI,CAAC,oBACf,MAAM,SAUzB,CAAC"}