@sundaeswap/wallet-lite 0.0.84 → 0.0.86

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 (35) hide show
  1. package/dist/cjs/classes/WalletObserver.class.js +31 -32
  2. package/dist/cjs/classes/WalletObserver.class.js.map +1 -1
  3. package/dist/cjs/react-components/WalletObserverProvider/WalletObserverProvider.js +1 -1
  4. package/dist/cjs/react-components/WalletObserverProvider/WalletObserverProvider.js.map +1 -1
  5. package/dist/cjs/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.js +28 -30
  6. package/dist/cjs/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.js.map +1 -1
  7. package/dist/cjs/react-components/WalletObserverProvider/hooks/useWalletObserverState.js +126 -109
  8. package/dist/cjs/react-components/WalletObserverProvider/hooks/useWalletObserverState.js.map +1 -1
  9. package/dist/cjs/react-components/hooks/useWalletData.js +16 -17
  10. package/dist/cjs/react-components/hooks/useWalletData.js.map +1 -1
  11. package/dist/esm/classes/WalletObserver.class.js +14 -14
  12. package/dist/esm/classes/WalletObserver.class.js.map +1 -1
  13. package/dist/esm/react-components/WalletObserverProvider/WalletObserverProvider.js +1 -1
  14. package/dist/esm/react-components/WalletObserverProvider/WalletObserverProvider.js.map +1 -1
  15. package/dist/esm/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.js +23 -13
  16. package/dist/esm/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.js.map +1 -1
  17. package/dist/esm/react-components/WalletObserverProvider/hooks/useWalletObserverState.js +7 -6
  18. package/dist/esm/react-components/WalletObserverProvider/hooks/useWalletObserverState.js.map +1 -1
  19. package/dist/esm/react-components/hooks/useWalletData.js +2 -5
  20. package/dist/esm/react-components/hooks/useWalletData.js.map +1 -1
  21. package/dist/types/classes/WalletObserver.class.d.ts +2 -2
  22. package/dist/types/classes/WalletObserver.class.d.ts.map +1 -1
  23. package/dist/types/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.d.ts.map +1 -1
  24. package/dist/types/react-components/WalletObserverProvider/hooks/useWalletObserverState.d.ts +2 -1
  25. package/dist/types/react-components/WalletObserverProvider/hooks/useWalletObserverState.d.ts.map +1 -1
  26. package/dist/types/react-components/hooks/useWalletData.d.ts +1 -1
  27. package/dist/types/react-components/hooks/useWalletData.d.ts.map +1 -1
  28. package/dist/types/tsconfig.build.tsbuildinfo +1 -1
  29. package/package.json +1 -1
  30. package/src/classes/WalletObserver.class.ts +19 -16
  31. package/src/classes/__tests__/WalletObserver.test.ts +4 -0
  32. package/src/react-components/WalletObserverProvider/WalletObserverProvider.tsx +1 -1
  33. package/src/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.ts +23 -13
  34. package/src/react-components/WalletObserverProvider/hooks/useWalletObserverState.ts +107 -102
  35. package/src/react-components/hooks/useWalletData.ts +5 -7
@@ -56,8 +56,8 @@ var useProviderWalletObserverRef = exports.useProviderWalletObserverRef = functi
56
56
  if (!observerRef.current) {
57
57
  return;
58
58
  }
59
- var setConnectingStart = /*#__PURE__*/function () {
60
- var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
59
+ var setConnectingStart = function setConnectingStart() {
60
+ _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
61
61
  var _hooks$onConnectWalle;
62
62
  return _regeneratorRuntime().wrap(function _callee$(_context) {
63
63
  while (1) switch (_context.prev = _context.next) {
@@ -72,13 +72,10 @@ var useProviderWalletObserverRef = exports.useProviderWalletObserverRef = functi
72
72
  return _context.stop();
73
73
  }
74
74
  }, _callee);
75
- }));
76
- return function setConnectingStart() {
77
- return _ref.apply(this, arguments);
78
- };
79
- }();
80
- var setConnectingEnd = /*#__PURE__*/function () {
81
- var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(data) {
75
+ }))()["catch"](console.error);
76
+ };
77
+ var setConnectingEnd = function setConnectingEnd(data) {
78
+ _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
82
79
  var _hooks$onConnectWalle2;
83
80
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
84
81
  while (1) switch (_context2.prev = _context2.next) {
@@ -93,13 +90,10 @@ var useProviderWalletObserverRef = exports.useProviderWalletObserverRef = functi
93
90
  return _context2.stop();
94
91
  }
95
92
  }, _callee2);
96
- }));
97
- return function setConnectingEnd(_x) {
98
- return _ref2.apply(this, arguments);
99
- };
100
- }();
101
- var setSyncingStart = /*#__PURE__*/function () {
102
- var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
93
+ }))()["catch"](console.error);
94
+ };
95
+ var setSyncingStart = function setSyncingStart() {
96
+ _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
103
97
  var _hooks$onSyncWalletSt;
104
98
  return _regeneratorRuntime().wrap(function _callee3$(_context3) {
105
99
  while (1) switch (_context3.prev = _context3.next) {
@@ -114,13 +108,10 @@ var useProviderWalletObserverRef = exports.useProviderWalletObserverRef = functi
114
108
  return _context3.stop();
115
109
  }
116
110
  }, _callee3);
117
- }));
118
- return function setSyncingStart() {
119
- return _ref3.apply(this, arguments);
120
- };
121
- }();
122
- var setSyncingEnd = /*#__PURE__*/function () {
123
- var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(data) {
111
+ }))()["catch"](console.error);
112
+ };
113
+ var setSyncingEnd = function setSyncingEnd(data) {
114
+ _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
124
115
  var _hooks$onSyncWalletEn;
125
116
  return _regeneratorRuntime().wrap(function _callee4$(_context4) {
126
117
  while (1) switch (_context4.prev = _context4.next) {
@@ -136,14 +127,21 @@ var useProviderWalletObserverRef = exports.useProviderWalletObserverRef = functi
136
127
  return _context4.stop();
137
128
  }
138
129
  }, _callee4);
139
- }));
140
- return function setSyncingEnd(_x2) {
141
- return _ref4.apply(this, arguments);
142
- };
143
- }();
130
+ }))()["catch"](console.error);
131
+ };
144
132
  var onDisconnect = function onDisconnect() {
145
- var _hooks$onDisconnectWa;
146
- hooks === null || hooks === void 0 || (_hooks$onDisconnectWa = hooks.onDisconnectWallet) === null || _hooks$onDisconnectWa === void 0 || _hooks$onDisconnectWa.call(hooks);
133
+ _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5() {
134
+ var _hooks$onDisconnectWa;
135
+ return _regeneratorRuntime().wrap(function _callee5$(_context5) {
136
+ while (1) switch (_context5.prev = _context5.next) {
137
+ case 0:
138
+ hooks === null || hooks === void 0 || (_hooks$onDisconnectWa = hooks.onDisconnectWallet) === null || _hooks$onDisconnectWa === void 0 || _hooks$onDisconnectWa.call(hooks);
139
+ case 1:
140
+ case "end":
141
+ return _context5.stop();
142
+ }
143
+ }, _callee5);
144
+ }))()["catch"](console.error);
147
145
  };
148
146
  observerRef.current.addEventListener(_events.EWalletObserverEvents.CONNECT_WALLET_START, setConnectingStart);
149
147
  observerRef.current.addEventListener(_events.EWalletObserverEvents.CONNECT_WALLET_END, setConnectingEnd);
@@ -1 +1 @@
1
- {"version":3,"file":"useProviderWalletObserverRef.js","names":["_react","require","_events","_WalletObserverClass","_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","_catch","delegateYield","asyncGeneratorStep","_asyncToGenerator","arguments","apply","_next","_throw","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","_arrayLikeToArray","toString","Array","from","test","isArray","useProviderWalletObserverRef","exports","options","hooks","observerRef","useRef","current","observer","WalletObserver","_useState","useState","_useState2","connecting","setConnecting","_useState3","_useState4","syncing","setSyncing","_useState5","_useState6","eventListenersAttached","setEventListenersAttached","ready","useMemo","Boolean","api","activeWallet","useEffect","setConnectingStart","_ref","_callee","_hooks$onConnectWalle","_callee$","_context","onConnectWalletStart","setConnectingEnd","_ref2","_callee2","data","_hooks$onConnectWalle2","_callee2$","_context2","onConnectWalletEnd","_x","setSyncingStart","_ref3","_callee3","_hooks$onSyncWalletSt","_callee3$","_context3","onSyncWalletStart","setSyncingEnd","_ref4","_callee4","_hooks$onSyncWalletEn","_callee4$","_context4","onSyncWalletEnd","_x2","onDisconnect","_hooks$onDisconnectWa","onDisconnectWallet","addEventListener","EWalletObserverEvents","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 { IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport { EWalletObserverEvents } from \"../../../@types/events.js\";\nimport {\n IWalletObserverSync,\n TWalletObserverOptions,\n} 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 = async () => {\n setConnecting(() => true);\n await hooks?.onConnectWalletStart?.();\n };\n const setConnectingEnd = async (\n data?: IWalletObserverSync<IAssetAmountMetadata> & {\n activeWallet: string;\n },\n ) => {\n setConnecting(() => false);\n await hooks?.onConnectWalletEnd?.(data);\n };\n const setSyncingStart = async () => {\n setSyncing(() => true);\n await hooks?.onSyncWalletStart?.();\n };\n const setSyncingEnd = async (\n data?: IWalletObserverSync<IAssetAmountMetadata> & {\n activeWallet: string;\n },\n ) => {\n await hooks?.onSyncWalletEnd?.(data);\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
+ {"version":3,"file":"useProviderWalletObserverRef.js","names":["_react","require","_events","_WalletObserverClass","_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","_catch","delegateYield","asyncGeneratorStep","_asyncToGenerator","arguments","apply","_next","_throw","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","_arrayLikeToArray","toString","Array","from","test","isArray","useProviderWalletObserverRef","exports","options","hooks","observerRef","useRef","current","observer","WalletObserver","_useState","useState","_useState2","connecting","setConnecting","_useState3","_useState4","syncing","setSyncing","_useState5","_useState6","eventListenersAttached","setEventListenersAttached","ready","useMemo","Boolean","api","activeWallet","useEffect","setConnectingStart","_callee","_hooks$onConnectWalle","_callee$","_context","onConnectWalletStart","console","error","setConnectingEnd","data","_callee2","_hooks$onConnectWalle2","_callee2$","_context2","onConnectWalletEnd","setSyncingStart","_callee3","_hooks$onSyncWalletSt","_callee3$","_context3","onSyncWalletStart","setSyncingEnd","_callee4","_hooks$onSyncWalletEn","_callee4$","_context4","onSyncWalletEnd","onDisconnect","_callee5","_hooks$onDisconnectWa","_callee5$","_context5","onDisconnectWallet","addEventListener","EWalletObserverEvents","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 { IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport { EWalletObserverEvents } from \"../../../@types/events.js\";\nimport {\n IWalletObserverSync,\n TWalletObserverOptions,\n} 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 (async () => {\n setConnecting(() => true);\n await hooks?.onConnectWalletStart?.();\n })().catch(console.error);\n };\n const setConnectingEnd = (\n data?: IWalletObserverSync<IAssetAmountMetadata> & {\n activeWallet: string;\n },\n ) => {\n (async () => {\n setConnecting(() => false);\n await hooks?.onConnectWalletEnd?.(data);\n })().catch(console.error);\n };\n const setSyncingStart = () => {\n (async () => {\n setSyncing(() => true);\n await hooks?.onSyncWalletStart?.();\n })().catch(console.error);\n };\n const setSyncingEnd = (\n data?: IWalletObserverSync<IAssetAmountMetadata> & {\n activeWallet: string;\n },\n ) => {\n (async () => {\n await hooks?.onSyncWalletEnd?.(data);\n setSyncing(() => false);\n })().catch(console.error);\n };\n const onDisconnect = () => {\n (async () => {\n hooks?.onDisconnectWallet?.();\n })().catch(console.error);\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":[]}
@@ -102,6 +102,7 @@ var useWalletObserverState = exports.useWalletObserverState = function useWallet
102
102
  }, [observer]);
103
103
  var connectWallet = (0, _react.useCallback)( /*#__PURE__*/function () {
104
104
  var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(wallet) {
105
+ var data;
105
106
  return _regeneratorRuntime().wrap(function _callee$(_context) {
106
107
  while (1) switch (_context.prev = _context.next) {
107
108
  case 0:
@@ -113,14 +114,15 @@ var useWalletObserverState = exports.useWalletObserverState = function useWallet
113
114
  _context.next = 3;
114
115
  return observer.connectWallet(wallet);
115
116
  case 3:
116
- _context.next = 5;
117
- return syncWallet();
118
- case 5:
117
+ data = _context.sent;
118
+ _context.next = 6;
119
+ return syncWallet(data instanceof Error ? undefined : data);
120
+ case 6:
119
121
  setSwitching(function () {
120
122
  return false;
121
123
  });
122
124
  return _context.abrupt("return", observer.api);
123
- case 7:
125
+ case 8:
124
126
  case "end":
125
127
  return _context.stop();
126
128
  }
@@ -130,124 +132,139 @@ var useWalletObserverState = exports.useWalletObserverState = function useWallet
130
132
  return _ref.apply(this, arguments);
131
133
  };
132
134
  }(), [observer, setSwitching]);
133
- var syncWallet = (0, _react.useCallback)( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
134
- var newWallet, freshData;
135
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
136
- while (1) switch (_context2.prev = _context2.next) {
137
- case 0:
138
- if (!(observer.isSyncing() || !observer.hasActiveConnection())) {
139
- _context2.next = 2;
140
- break;
141
- }
142
- return _context2.abrupt("return");
143
- case 2:
144
- newWallet = observer.activeWallet;
145
- if (newWallet) {
146
- _context2.next = 6;
147
- break;
148
- }
149
- disconnect();
150
- return _context2.abrupt("return");
151
- case 6:
152
- setIsCip45(newWallet.includes("p2p"));
153
- setActiveWallet(function (prevWallet) {
154
- return newWallet === prevWallet ? prevWallet : newWallet;
155
- });
156
- _context2.prev = 8;
157
- _context2.next = 11;
158
- return observer.sync();
159
- case 11:
160
- freshData = _context2.sent;
161
- startTransition(function () {
162
- var newBalanceMap = freshData.balanceMap;
163
- if (newBalanceMap instanceof _WalletBalanceMapClass.WalletBalanceMap) {
164
- var newAdaBalance = newBalanceMap.get(_constants.ADA_ASSET_ID);
165
- if (newAdaBalance) {
166
- setAdaBalance(function (prevBalance) {
167
- return prevBalance.amount === newAdaBalance.amount ? prevBalance : newAdaBalance;
168
- });
169
- setBalance(function (prevBalance) {
170
- return (0, _comparisons.areAssetMapsEqual)(prevBalance, newBalanceMap) ? prevBalance : newBalanceMap;
171
- });
172
- }
173
- }
174
- var newUsedAddresses = freshData.usedAddresses;
175
- if (newUsedAddresses instanceof Array) {
176
- setUsedAddresses(function (prevValue) {
177
- return JSON.stringify(prevValue) === JSON.stringify(newUsedAddresses) ? prevValue : newUsedAddresses;
178
- });
135
+ var syncWallet = (0, _react.useCallback)( /*#__PURE__*/function () {
136
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(importedData) {
137
+ var newWallet, freshData;
138
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
139
+ while (1) switch (_context2.prev = _context2.next) {
140
+ case 0:
141
+ if (!(observer.isSyncing() || !observer.hasActiveConnection())) {
142
+ _context2.next = 2;
143
+ break;
179
144
  }
180
- var newUnusedAddresses = freshData.unusedAddresses;
181
- if (newUnusedAddresses instanceof Array) {
182
- setUnusedAddresses(function (prevValue) {
183
- return JSON.stringify(prevValue) === JSON.stringify(newUnusedAddresses) ? prevValue : newUnusedAddresses;
184
- });
145
+ return _context2.abrupt("return");
146
+ case 2:
147
+ newWallet = observer.activeWallet;
148
+ if (newWallet) {
149
+ _context2.next = 6;
150
+ break;
185
151
  }
186
- var newNetwork = freshData.network;
187
- if (typeof newNetwork === "number") {
188
- setNetwork(function (prevValue) {
189
- return prevValue === newNetwork ? prevValue : newNetwork;
190
- });
152
+ disconnect();
153
+ return _context2.abrupt("return");
154
+ case 6:
155
+ setIsCip45(newWallet.includes("p2p"));
156
+ setActiveWallet(function (prevWallet) {
157
+ return newWallet === prevWallet ? prevWallet : newWallet;
158
+ });
159
+ _context2.prev = 8;
160
+ _context2.t0 = importedData;
161
+ if (_context2.t0) {
162
+ _context2.next = 14;
163
+ break;
191
164
  }
192
- var newUtxos = freshData.utxos;
193
- if (newUtxos instanceof Array) {
194
- setUtxos(function (prevValue) {
195
- var prevValueRep = prevValue === null || prevValue === void 0 ? void 0 : prevValue.map(function (v) {
196
- return v.toCbor();
165
+ _context2.next = 13;
166
+ return observer.sync();
167
+ case 13:
168
+ _context2.t0 = _context2.sent;
169
+ case 14:
170
+ freshData = _context2.t0;
171
+ startTransition(function () {
172
+ var newBalanceMap = freshData.balanceMap;
173
+ if (newBalanceMap instanceof _WalletBalanceMapClass.WalletBalanceMap) {
174
+ var newAdaBalance = newBalanceMap.get(_constants.ADA_ASSET_ID);
175
+ if (newAdaBalance) {
176
+ setAdaBalance(function (prevBalance) {
177
+ return prevBalance.amount === newAdaBalance.amount ? prevBalance : newAdaBalance;
178
+ });
179
+ setBalance(function (prevBalance) {
180
+ return (0, _comparisons.areAssetMapsEqual)(prevBalance, newBalanceMap) ? prevBalance : newBalanceMap;
181
+ });
182
+ }
183
+ }
184
+ var newUsedAddresses = freshData.usedAddresses;
185
+ if (newUsedAddresses instanceof Array) {
186
+ setUsedAddresses(function (prevValue) {
187
+ return JSON.stringify(prevValue) === JSON.stringify(newUsedAddresses) ? prevValue : newUsedAddresses;
197
188
  });
198
- var newValueRep = newUtxos === null || newUtxos === void 0 ? void 0 : newUtxos.map(function (v) {
199
- return v.toCbor();
189
+ }
190
+ var newUnusedAddresses = freshData.unusedAddresses;
191
+ if (newUnusedAddresses instanceof Array) {
192
+ setUnusedAddresses(function (prevValue) {
193
+ return JSON.stringify(prevValue) === JSON.stringify(newUnusedAddresses) ? prevValue : newUnusedAddresses;
200
194
  });
201
- if (prevValueRep !== newValueRep) {
202
- return newUtxos;
203
- }
204
- return prevValue;
205
- });
206
- }
207
- var newCollateral = freshData.collateral;
208
- if (newCollateral instanceof Array) {
209
- setCollateral(function (prevValue) {
210
- var prevValueRep = prevValue === null || prevValue === void 0 ? void 0 : prevValue.map(function (v) {
211
- return v.toCbor();
195
+ }
196
+ var newNetwork = freshData.network;
197
+ if (typeof newNetwork === "number") {
198
+ setNetwork(function (prevValue) {
199
+ return prevValue === newNetwork ? prevValue : newNetwork;
212
200
  });
213
- var newValueRep = newCollateral === null || newCollateral === void 0 ? void 0 : newCollateral.map(function (v) {
214
- return v.toCbor();
201
+ }
202
+ var newUtxos = freshData.utxos;
203
+ if (newUtxos instanceof Array) {
204
+ setUtxos(function (prevValue) {
205
+ var prevValueRep = prevValue === null || prevValue === void 0 ? void 0 : prevValue.map(function (v) {
206
+ return v.toCbor();
207
+ });
208
+ var newValueRep = newUtxos === null || newUtxos === void 0 ? void 0 : newUtxos.map(function (v) {
209
+ return v.toCbor();
210
+ });
211
+ if (prevValueRep !== newValueRep) {
212
+ return newUtxos;
213
+ }
214
+ return prevValue;
215
215
  });
216
- if (prevValueRep !== newValueRep) {
217
- return newCollateral;
218
- }
219
- return prevValue;
220
- });
221
- }
222
- var newFeeAddress = freshData.feeAddress;
223
- if (typeof newFeeAddress === "string") {
224
- setFeeAddress(function (prevValue) {
225
- return prevValue === newFeeAddress ? prevValue : newFeeAddress;
226
- });
227
- }
228
- });
229
- _context2.next = 20;
230
- break;
231
- case 15:
232
- _context2.prev = 15;
233
- _context2.t0 = _context2["catch"](8);
234
- setErrorSyncing(true);
235
- _context2.t0.cause = "The wallet threw an error while the app was trying to sync with it. Please try again or contact your wallet provider.";
236
- throw _context2.t0;
237
- case 20:
238
- case "end":
239
- return _context2.stop();
240
- }
241
- }, _callee2, null, [[8, 15]]);
242
- })), [observer, disconnect]);
216
+ }
217
+ var newCollateral = freshData.collateral;
218
+ if (newCollateral instanceof Array) {
219
+ setCollateral(function (prevValue) {
220
+ var prevValueRep = prevValue === null || prevValue === void 0 ? void 0 : prevValue.map(function (v) {
221
+ return v.toCbor();
222
+ });
223
+ var newValueRep = newCollateral === null || newCollateral === void 0 ? void 0 : newCollateral.map(function (v) {
224
+ return v.toCbor();
225
+ });
226
+ if (prevValueRep !== newValueRep) {
227
+ return newCollateral;
228
+ }
229
+ return prevValue;
230
+ });
231
+ }
232
+ var newFeeAddress = freshData.feeAddress;
233
+ if (typeof newFeeAddress === "string") {
234
+ setFeeAddress(function (prevValue) {
235
+ return prevValue === newFeeAddress ? prevValue : newFeeAddress;
236
+ });
237
+ }
238
+ });
239
+ _context2.next = 23;
240
+ break;
241
+ case 18:
242
+ _context2.prev = 18;
243
+ _context2.t1 = _context2["catch"](8);
244
+ setErrorSyncing(true);
245
+ _context2.t1.cause = "The wallet threw an error while the app was trying to sync with it. Please try again or contact your wallet provider.";
246
+ throw _context2.t1;
247
+ case 23:
248
+ case "end":
249
+ return _context2.stop();
250
+ }
251
+ }, _callee2, null, [[8, 18]]);
252
+ }));
253
+ return function (_x2) {
254
+ return _ref2.apply(this, arguments);
255
+ };
256
+ }(), [observer, disconnect]);
243
257
 
244
258
  /**
245
259
  * Ensure the wallet syncs on connect and disconnect.
246
260
  */
247
261
  (0, _react.useEffect)(function () {
248
- window.addEventListener("focus", syncWallet);
262
+ var func = function func() {
263
+ return syncWallet();
264
+ };
265
+ window.addEventListener("focus", func);
249
266
  return function () {
250
- window.addEventListener("focus", syncWallet);
267
+ window.addEventListener("focus", func);
251
268
  };
252
269
  }, [syncWallet]);
253
270
  return {