@sundaeswap/wallet-lite 0.0.92 → 0.0.94

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 (20) hide show
  1. package/dist/cjs/react-components/WalletObserverProvider/hooks/useWalletObserverState.js +50 -41
  2. package/dist/cjs/react-components/WalletObserverProvider/hooks/useWalletObserverState.js.map +1 -1
  3. package/dist/cjs/react-components/contexts/observer/types.js.map +1 -1
  4. package/dist/cjs/react-components/hooks/useWalletObserver.js +2 -1
  5. package/dist/cjs/react-components/hooks/useWalletObserver.js.map +1 -1
  6. package/dist/esm/react-components/WalletObserverProvider/hooks/useWalletObserverState.js +7 -1
  7. package/dist/esm/react-components/WalletObserverProvider/hooks/useWalletObserverState.js.map +1 -1
  8. package/dist/esm/react-components/contexts/observer/types.js.map +1 -1
  9. package/dist/esm/react-components/hooks/useWalletObserver.js +2 -1
  10. package/dist/esm/react-components/hooks/useWalletObserver.js.map +1 -1
  11. package/dist/types/react-components/WalletObserverProvider/hooks/useWalletObserverState.d.ts +3 -1
  12. package/dist/types/react-components/WalletObserverProvider/hooks/useWalletObserverState.d.ts.map +1 -1
  13. package/dist/types/react-components/contexts/observer/types.d.ts +1 -1
  14. package/dist/types/react-components/contexts/observer/types.d.ts.map +1 -1
  15. package/dist/types/react-components/hooks/useWalletObserver.d.ts.map +1 -1
  16. package/dist/types/tsconfig.build.tsbuildinfo +1 -1
  17. package/package.json +1 -1
  18. package/src/react-components/WalletObserverProvider/hooks/useWalletObserverState.ts +8 -2
  19. package/src/react-components/contexts/observer/types.ts +1 -0
  20. package/src/react-components/hooks/useWalletObserver.ts +2 -0
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.useWalletObserverState = void 0;
8
8
  var _asset = require("@sundaeswap/asset");
9
9
  var _react = require("react");
10
+ var _ReadOnlyApiClass = require("../../../classes/ReadOnlyApi.class.js");
10
11
  var _WalletBalanceMapClass = require("../../../classes/WalletBalanceMap.class.js");
11
12
  var _WalletObserverClass = require("../../../classes/WalletObserver.class.js");
12
13
  var _constants = require("../../../constants.js");
@@ -39,50 +40,54 @@ var useWalletObserverState = exports.useWalletObserverState = function useWallet
39
40
  _useState6 = _slicedToArray(_useState5, 2),
40
41
  balance = _useState6[0],
41
42
  setBalance = _useState6[1];
42
- var _useState7 = (0, _react.useState)(),
43
+ var _useState7 = (0, _react.useState)(false),
43
44
  _useState8 = _slicedToArray(_useState7, 2),
44
- network = _useState8[0],
45
- setNetwork = _useState8[1];
46
- var _useState9 = (0, _react.useState)([]),
45
+ isReadOnlyMode = _useState8[0],
46
+ setIsReadOnlyMode = _useState8[1];
47
+ var _useState9 = (0, _react.useState)(),
47
48
  _useState10 = _slicedToArray(_useState9, 2),
48
- usedAddresses = _useState10[0],
49
- setUsedAddresses = _useState10[1];
49
+ network = _useState10[0],
50
+ setNetwork = _useState10[1];
50
51
  var _useState11 = (0, _react.useState)([]),
51
52
  _useState12 = _slicedToArray(_useState11, 2),
52
- unusedAddresses = _useState12[0],
53
- setUnusedAddresses = _useState12[1];
54
- var _useState13 = (0, _react.useState)(),
53
+ usedAddresses = _useState12[0],
54
+ setUsedAddresses = _useState12[1];
55
+ var _useState13 = (0, _react.useState)([]),
55
56
  _useState14 = _slicedToArray(_useState13, 2),
56
- feeAddress = _useState14[0],
57
- setFeeAddress = _useState14[1];
57
+ unusedAddresses = _useState14[0],
58
+ setUnusedAddresses = _useState14[1];
58
59
  var _useState15 = (0, _react.useState)(),
59
60
  _useState16 = _slicedToArray(_useState15, 2),
60
- utxos = _useState16[0],
61
- setUtxos = _useState16[1];
61
+ feeAddress = _useState16[0],
62
+ setFeeAddress = _useState16[1];
62
63
  var _useState17 = (0, _react.useState)(),
63
64
  _useState18 = _slicedToArray(_useState17, 2),
64
- collateral = _useState18[0],
65
- setCollateral = _useState18[1];
66
- var _useState19 = (0, _react.useState)(false),
65
+ utxos = _useState18[0],
66
+ setUtxos = _useState18[1];
67
+ var _useState19 = (0, _react.useState)(),
67
68
  _useState20 = _slicedToArray(_useState19, 2),
68
- isCip45 = _useState20[0],
69
- setIsCip45 = _useState20[1];
69
+ collateral = _useState20[0],
70
+ setCollateral = _useState20[1];
70
71
  var _useState21 = (0, _react.useState)(false),
71
72
  _useState22 = _slicedToArray(_useState21, 2),
72
- switching = _useState22[0],
73
- setSwitching = _useState22[1];
73
+ isCip45 = _useState22[0],
74
+ setIsCip45 = _useState22[1];
74
75
  var _useState23 = (0, _react.useState)(false),
75
76
  _useState24 = _slicedToArray(_useState23, 2),
76
- errorSyncing = _useState24[0],
77
- setErrorSyncing = _useState24[1];
77
+ switching = _useState24[0],
78
+ setSwitching = _useState24[1];
79
+ var _useState25 = (0, _react.useState)(false),
80
+ _useState26 = _slicedToArray(_useState25, 2),
81
+ errorSyncing = _useState26[0],
82
+ setErrorSyncing = _useState26[1];
78
83
  var _useTransition = (0, _react.useTransition)(),
79
84
  _useTransition2 = _slicedToArray(_useTransition, 2),
80
85
  isPending = _useTransition2[0],
81
86
  startTransition = _useTransition2[1];
82
- var _useState25 = (0, _react.useState)(Boolean(window.localStorage.getItem(_WalletObserverClass.WalletObserver.PERSISTENCE_CACHE_KEY) && observer.getOptions().persistence)),
83
- _useState26 = _slicedToArray(_useState25, 2),
84
- willAutoConnect = _useState26[0],
85
- setWillAutoConnect = _useState26[1];
87
+ var _useState27 = (0, _react.useState)(Boolean(window.localStorage.getItem(_WalletObserverClass.WalletObserver.PERSISTENCE_CACHE_KEY) && observer.getOptions().persistence)),
88
+ _useState28 = _slicedToArray(_useState27, 2),
89
+ willAutoConnect = _useState28[0],
90
+ setWillAutoConnect = _useState28[1];
86
91
  var disconnect = (0, _react.useCallback)(function () {
87
92
  // Reset observer state.
88
93
  observer.disconnect();
@@ -115,14 +120,15 @@ var useWalletObserverState = exports.useWalletObserverState = function useWallet
115
120
  return observer.connectWallet(wallet);
116
121
  case 3:
117
122
  data = _context.sent;
118
- _context.next = 6;
123
+ setIsReadOnlyMode(observer.api instanceof _ReadOnlyApiClass.ReadOnlyApi);
124
+ _context.next = 7;
119
125
  return syncWallet(data instanceof Error ? undefined : data);
120
- case 6:
126
+ case 7:
121
127
  setSwitching(function () {
122
128
  return false;
123
129
  });
124
130
  return _context.abrupt("return", observer.api);
125
- case 8:
131
+ case 9:
126
132
  case "end":
127
133
  return _context.stop();
128
134
  }
@@ -131,7 +137,7 @@ var useWalletObserverState = exports.useWalletObserverState = function useWallet
131
137
  return function (_x) {
132
138
  return _ref.apply(this, arguments);
133
139
  };
134
- }(), [observer, setSwitching]);
140
+ }(), [observer, setSwitching, setIsReadOnlyMode]);
135
141
  var syncWallet = (0, _react.useCallback)( /*#__PURE__*/function () {
136
142
  var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(importedData) {
137
143
  var newWallet, freshData;
@@ -156,17 +162,18 @@ var useWalletObserverState = exports.useWalletObserverState = function useWallet
156
162
  setActiveWallet(function (prevWallet) {
157
163
  return newWallet === prevWallet ? prevWallet : newWallet;
158
164
  });
159
- _context2.prev = 8;
165
+ setIsReadOnlyMode(observer.api instanceof _ReadOnlyApiClass.ReadOnlyApi);
166
+ _context2.prev = 9;
160
167
  _context2.t0 = importedData;
161
168
  if (_context2.t0) {
162
- _context2.next = 14;
169
+ _context2.next = 15;
163
170
  break;
164
171
  }
165
- _context2.next = 13;
172
+ _context2.next = 14;
166
173
  return observer.sync();
167
- case 13:
168
- _context2.t0 = _context2.sent;
169
174
  case 14:
175
+ _context2.t0 = _context2.sent;
176
+ case 15:
170
177
  freshData = _context2.t0;
171
178
  startTransition(function () {
172
179
  var newBalanceMap = freshData.balanceMap;
@@ -236,19 +243,19 @@ var useWalletObserverState = exports.useWalletObserverState = function useWallet
236
243
  });
237
244
  }
238
245
  });
239
- _context2.next = 23;
246
+ _context2.next = 24;
240
247
  break;
241
- case 18:
242
- _context2.prev = 18;
243
- _context2.t1 = _context2["catch"](8);
248
+ case 19:
249
+ _context2.prev = 19;
250
+ _context2.t1 = _context2["catch"](9);
244
251
  setErrorSyncing(true);
245
252
  _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
253
  throw _context2.t1;
247
- case 23:
254
+ case 24:
248
255
  case "end":
249
256
  return _context2.stop();
250
257
  }
251
- }, _callee2, null, [[8, 18]]);
258
+ }, _callee2, null, [[9, 19]]);
252
259
  }));
253
260
  return function (_x2) {
254
261
  return _ref2.apply(this, arguments);
@@ -278,6 +285,7 @@ var useWalletObserverState = exports.useWalletObserverState = function useWallet
278
285
  feeAddress: feeAddress,
279
286
  isCip45: isCip45,
280
287
  isPending: isPending,
288
+ isReadOnlyMode: isReadOnlyMode,
281
289
  network: network,
282
290
  setActiveWallet: setActiveWallet,
283
291
  setAdaBalance: setAdaBalance,
@@ -285,6 +293,7 @@ var useWalletObserverState = exports.useWalletObserverState = function useWallet
285
293
  setCollateral: setCollateral,
286
294
  setFeeAddress: setFeeAddress,
287
295
  setIsCip45: setIsCip45,
296
+ setIsReadOnlyMode: setIsReadOnlyMode,
288
297
  setNetwork: setNetwork,
289
298
  setSwitching: setSwitching,
290
299
  setUnusedAddresses: setUnusedAddresses,
@@ -1 +1 @@
1
- {"version":3,"file":"useWalletObserverState.js","names":["_asset","require","_react","_WalletBalanceMapClass","_WalletObserverClass","_constants","_comparisons","_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","useWalletObserverState","exports","observer","_useState","useState","_useState2","activeWallet","setActiveWallet","_useState3","AssetAmount","_useState4","adaBalance","setAdaBalance","_useState5","WalletBalanceMap","_useState6","balance","setBalance","_useState7","_useState8","network","setNetwork","_useState9","_useState10","usedAddresses","setUsedAddresses","_useState11","_useState12","unusedAddresses","setUnusedAddresses","_useState13","_useState14","feeAddress","setFeeAddress","_useState15","_useState16","utxos","setUtxos","_useState17","_useState18","collateral","setCollateral","_useState19","_useState20","isCip45","setIsCip45","_useState21","_useState22","switching","setSwitching","_useState23","_useState24","errorSyncing","setErrorSyncing","_useTransition","useTransition","_useTransition2","isPending","startTransition","_useState25","Boolean","window","localStorage","getItem","WalletObserver","PERSISTENCE_CACHE_KEY","getOptions","persistence","_useState26","willAutoConnect","setWillAutoConnect","disconnect","useCallback","undefined","connectWallet","_ref","_callee","wallet","data","_callee$","_context","hasActiveConnection","syncWallet","api","_x","_ref2","_callee2","importedData","newWallet","freshData","_callee2$","_context2","isSyncing","includes","prevWallet","t0","sync","newBalanceMap","balanceMap","newAdaBalance","get","ADA_ASSET_ID","prevBalance","amount","areAssetMapsEqual","newUsedAddresses","prevValue","JSON","stringify","newUnusedAddresses","newNetwork","newUtxos","prevValueRep","map","toCbor","newValueRep","newCollateral","newFeeAddress","t1","cause","_x2","useEffect","func","addEventListener"],"sources":["../../../../../src/react-components/WalletObserverProvider/hooks/useWalletObserverState.ts"],"sourcesContent":["import type { TransactionUnspentOutput } from \"@cardano-sdk/core/dist/cjs/Serialization/TransactionUnspentOutput.js\";\nimport { AssetAmount, IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport { useCallback, useEffect, useState, useTransition } from \"react\";\n\nimport { IWalletObserverSync } from \"src/@types/observer.js\";\nimport { WalletBalanceMap } from \"../../../classes/WalletBalanceMap.class.js\";\nimport { WalletObserver } from \"../../../classes/WalletObserver.class.js\";\nimport { ADA_ASSET_ID } from \"../../../constants.js\";\nimport { areAssetMapsEqual } from \"../../../utils/comparisons.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] = useState<string>();\n const [adaBalance, setAdaBalance] = useState<AssetAmount<AssetMetadata>>(\n new AssetAmount<AssetMetadata>(0n),\n );\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 [feeAddress, setFeeAddress] = useState<string | undefined>();\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 [errorSyncing, setErrorSyncing] = 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 setUsedAddresses([]);\n setUnusedAddresses([]);\n setActiveWallet(undefined);\n setNetwork(undefined);\n setUtxos(undefined);\n setCollateral(undefined);\n setFeeAddress(undefined);\n setIsCip45(false);\n setWillAutoConnect(false);\n }, [observer]);\n\n const connectWallet = useCallback(\n async (wallet: string) => {\n if (observer.hasActiveConnection() && wallet !== observer.activeWallet) {\n setSwitching(() => true);\n }\n\n const data = await observer.connectWallet(wallet);\n await syncWallet(data instanceof Error ? undefined : data);\n setSwitching(() => false);\n return observer.api;\n },\n [observer, setSwitching],\n );\n\n const syncWallet = useCallback(\n async (importedData?: IWalletObserverSync<AssetMetadata> | undefined) => {\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 setIsCip45(newWallet.includes(\"p2p\"));\n setActiveWallet((prevWallet) =>\n newWallet === prevWallet ? prevWallet : newWallet,\n );\n\n try {\n const freshData = importedData || (await observer.sync());\n\n startTransition(() => {\n const newBalanceMap = freshData.balanceMap;\n if (newBalanceMap instanceof WalletBalanceMap) {\n const newAdaBalance = newBalanceMap.get(ADA_ASSET_ID);\n if (newAdaBalance) {\n setAdaBalance((prevBalance) =>\n prevBalance.amount === newAdaBalance.amount\n ? prevBalance\n : newAdaBalance,\n );\n\n setBalance((prevBalance) =>\n areAssetMapsEqual(prevBalance, newBalanceMap)\n ? prevBalance\n : newBalanceMap,\n );\n }\n }\n\n const newUsedAddresses = freshData.usedAddresses;\n if (newUsedAddresses instanceof Array) {\n setUsedAddresses((prevValue) => {\n return JSON.stringify(prevValue) ===\n JSON.stringify(newUsedAddresses)\n ? prevValue\n : newUsedAddresses;\n });\n }\n\n const newUnusedAddresses = freshData.unusedAddresses;\n if (newUnusedAddresses instanceof Array) {\n setUnusedAddresses((prevValue) =>\n JSON.stringify(prevValue) === JSON.stringify(newUnusedAddresses)\n ? prevValue\n : newUnusedAddresses,\n );\n }\n\n const newNetwork = freshData.network;\n if (typeof newNetwork === \"number\") {\n setNetwork((prevValue) =>\n prevValue === newNetwork ? prevValue : newNetwork,\n );\n }\n\n const newUtxos = freshData.utxos;\n if (newUtxos instanceof Array) {\n setUtxos((prevValue) => {\n const prevValueRep = prevValue?.map((v) => v.toCbor());\n const newValueRep = newUtxos?.map((v) => v.toCbor());\n if (prevValueRep !== newValueRep) {\n return newUtxos;\n }\n\n return prevValue;\n });\n }\n\n const newCollateral = freshData.collateral;\n if (newCollateral instanceof Array) {\n setCollateral((prevValue) => {\n const prevValueRep = prevValue?.map((v) => v.toCbor());\n const newValueRep = newCollateral?.map((v) => v.toCbor());\n if (prevValueRep !== newValueRep) {\n return newCollateral;\n }\n\n return prevValue;\n });\n }\n\n const newFeeAddress = freshData.feeAddress;\n if (typeof newFeeAddress === \"string\") {\n setFeeAddress((prevValue) =>\n prevValue === newFeeAddress ? prevValue : newFeeAddress,\n );\n }\n });\n } catch (e) {\n setErrorSyncing(true);\n (e as Error).cause =\n \"The wallet threw an error while the app was trying to sync with it. Please try again or contact your wallet provider.\";\n throw e;\n }\n },\n [observer, disconnect],\n );\n\n /**\n * Ensure the wallet syncs on connect and disconnect.\n */\n useEffect(() => {\n const func = () => syncWallet();\n window.addEventListener(\"focus\", func);\n\n return () => {\n window.addEventListener(\"focus\", func);\n };\n }, [syncWallet]);\n\n return {\n activeWallet,\n adaBalance,\n balance,\n collateral,\n connectWallet,\n disconnect,\n errorSyncing,\n feeAddress,\n isCip45,\n isPending,\n network,\n setActiveWallet,\n setAdaBalance,\n setBalance,\n setCollateral,\n setFeeAddress,\n setIsCip45,\n setNetwork,\n setSwitching,\n setUnusedAddresses,\n setUsedAddresses,\n setUtxos,\n switching,\n syncWallet,\n unusedAddresses,\n usedAddresses,\n utxos,\n willAutoConnect,\n };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"useWalletObserverState.js","names":["_asset","require","_react","_ReadOnlyApiClass","_WalletBalanceMapClass","_WalletObserverClass","_constants","_comparisons","_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","useWalletObserverState","exports","observer","_useState","useState","_useState2","activeWallet","setActiveWallet","_useState3","AssetAmount","_useState4","adaBalance","setAdaBalance","_useState5","WalletBalanceMap","_useState6","balance","setBalance","_useState7","_useState8","isReadOnlyMode","setIsReadOnlyMode","_useState9","_useState10","network","setNetwork","_useState11","_useState12","usedAddresses","setUsedAddresses","_useState13","_useState14","unusedAddresses","setUnusedAddresses","_useState15","_useState16","feeAddress","setFeeAddress","_useState17","_useState18","utxos","setUtxos","_useState19","_useState20","collateral","setCollateral","_useState21","_useState22","isCip45","setIsCip45","_useState23","_useState24","switching","setSwitching","_useState25","_useState26","errorSyncing","setErrorSyncing","_useTransition","useTransition","_useTransition2","isPending","startTransition","_useState27","Boolean","window","localStorage","getItem","WalletObserver","PERSISTENCE_CACHE_KEY","getOptions","persistence","_useState28","willAutoConnect","setWillAutoConnect","disconnect","useCallback","undefined","connectWallet","_ref","_callee","wallet","data","_callee$","_context","hasActiveConnection","api","ReadOnlyApi","syncWallet","_x","_ref2","_callee2","importedData","newWallet","freshData","_callee2$","_context2","isSyncing","includes","prevWallet","t0","sync","newBalanceMap","balanceMap","newAdaBalance","get","ADA_ASSET_ID","prevBalance","amount","areAssetMapsEqual","newUsedAddresses","prevValue","JSON","stringify","newUnusedAddresses","newNetwork","newUtxos","prevValueRep","map","toCbor","newValueRep","newCollateral","newFeeAddress","t1","cause","_x2","useEffect","func","addEventListener"],"sources":["../../../../../src/react-components/WalletObserverProvider/hooks/useWalletObserverState.ts"],"sourcesContent":["import type { TransactionUnspentOutput } from \"@cardano-sdk/core/dist/cjs/Serialization/TransactionUnspentOutput.js\";\nimport { AssetAmount, IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport { useCallback, useEffect, useState, useTransition } from \"react\";\n\nimport { IWalletObserverSync } from \"../../../@types/observer.js\";\nimport { ReadOnlyApi } from \"../../../classes/ReadOnlyApi.class.js\";\nimport { WalletBalanceMap } from \"../../../classes/WalletBalanceMap.class.js\";\nimport { WalletObserver } from \"../../../classes/WalletObserver.class.js\";\nimport { ADA_ASSET_ID } from \"../../../constants.js\";\nimport { areAssetMapsEqual } from \"../../../utils/comparisons.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] = useState<string>();\n const [adaBalance, setAdaBalance] = useState<AssetAmount<AssetMetadata>>(\n new AssetAmount<AssetMetadata>(0n),\n );\n const [balance, setBalance] = useState<WalletBalanceMap<AssetMetadata>>(\n new WalletBalanceMap<AssetMetadata>(observer),\n );\n const [isReadOnlyMode, setIsReadOnlyMode] = useState<boolean>(false);\n const [network, setNetwork] = useState<number | undefined>();\n const [usedAddresses, setUsedAddresses] = useState<string[]>([]);\n const [unusedAddresses, setUnusedAddresses] = useState<string[]>([]);\n const [feeAddress, setFeeAddress] = useState<string | undefined>();\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 [errorSyncing, setErrorSyncing] = 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 setUsedAddresses([]);\n setUnusedAddresses([]);\n setActiveWallet(undefined);\n setNetwork(undefined);\n setUtxos(undefined);\n setCollateral(undefined);\n setFeeAddress(undefined);\n setIsCip45(false);\n setWillAutoConnect(false);\n }, [observer]);\n\n const connectWallet = useCallback(\n async (wallet: string) => {\n if (observer.hasActiveConnection() && wallet !== observer.activeWallet) {\n setSwitching(() => true);\n }\n\n const data = await observer.connectWallet(wallet);\n setIsReadOnlyMode(observer.api instanceof ReadOnlyApi);\n await syncWallet(data instanceof Error ? undefined : data);\n setSwitching(() => false);\n return observer.api;\n },\n [observer, setSwitching, setIsReadOnlyMode],\n );\n\n const syncWallet = useCallback(\n async (importedData?: IWalletObserverSync<AssetMetadata> | undefined) => {\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 setIsCip45(newWallet.includes(\"p2p\"));\n setActiveWallet((prevWallet) =>\n newWallet === prevWallet ? prevWallet : newWallet,\n );\n setIsReadOnlyMode(observer.api instanceof ReadOnlyApi);\n\n try {\n const freshData = importedData || (await observer.sync());\n\n startTransition(() => {\n const newBalanceMap = freshData.balanceMap;\n if (newBalanceMap instanceof WalletBalanceMap) {\n const newAdaBalance = newBalanceMap.get(ADA_ASSET_ID);\n if (newAdaBalance) {\n setAdaBalance((prevBalance) =>\n prevBalance.amount === newAdaBalance.amount\n ? prevBalance\n : newAdaBalance,\n );\n\n setBalance((prevBalance) =>\n areAssetMapsEqual(prevBalance, newBalanceMap)\n ? prevBalance\n : newBalanceMap,\n );\n }\n }\n\n const newUsedAddresses = freshData.usedAddresses;\n if (newUsedAddresses instanceof Array) {\n setUsedAddresses((prevValue) => {\n return JSON.stringify(prevValue) ===\n JSON.stringify(newUsedAddresses)\n ? prevValue\n : newUsedAddresses;\n });\n }\n\n const newUnusedAddresses = freshData.unusedAddresses;\n if (newUnusedAddresses instanceof Array) {\n setUnusedAddresses((prevValue) =>\n JSON.stringify(prevValue) === JSON.stringify(newUnusedAddresses)\n ? prevValue\n : newUnusedAddresses,\n );\n }\n\n const newNetwork = freshData.network;\n if (typeof newNetwork === \"number\") {\n setNetwork((prevValue) =>\n prevValue === newNetwork ? prevValue : newNetwork,\n );\n }\n\n const newUtxos = freshData.utxos;\n if (newUtxos instanceof Array) {\n setUtxos((prevValue) => {\n const prevValueRep = prevValue?.map((v) => v.toCbor());\n const newValueRep = newUtxos?.map((v) => v.toCbor());\n if (prevValueRep !== newValueRep) {\n return newUtxos;\n }\n\n return prevValue;\n });\n }\n\n const newCollateral = freshData.collateral;\n if (newCollateral instanceof Array) {\n setCollateral((prevValue) => {\n const prevValueRep = prevValue?.map((v) => v.toCbor());\n const newValueRep = newCollateral?.map((v) => v.toCbor());\n if (prevValueRep !== newValueRep) {\n return newCollateral;\n }\n\n return prevValue;\n });\n }\n\n const newFeeAddress = freshData.feeAddress;\n if (typeof newFeeAddress === \"string\") {\n setFeeAddress((prevValue) =>\n prevValue === newFeeAddress ? prevValue : newFeeAddress,\n );\n }\n });\n } catch (e) {\n setErrorSyncing(true);\n (e as Error).cause =\n \"The wallet threw an error while the app was trying to sync with it. Please try again or contact your wallet provider.\";\n throw e;\n }\n },\n [observer, disconnect],\n );\n\n /**\n * Ensure the wallet syncs on connect and disconnect.\n */\n useEffect(() => {\n const func = () => syncWallet();\n window.addEventListener(\"focus\", func);\n\n return () => {\n window.addEventListener(\"focus\", func);\n };\n }, [syncWallet]);\n\n return {\n activeWallet,\n adaBalance,\n balance,\n collateral,\n connectWallet,\n disconnect,\n errorSyncing,\n feeAddress,\n isCip45,\n isPending,\n isReadOnlyMode,\n network,\n setActiveWallet,\n setAdaBalance,\n setBalance,\n setCollateral,\n setFeeAddress,\n setIsCip45,\n setIsReadOnlyMode,\n setNetwork,\n setSwitching,\n setUnusedAddresses,\n setUsedAddresses,\n setUtxos,\n switching,\n syncWallet,\n unusedAddresses,\n usedAddresses,\n utxos,\n willAutoConnect,\n };\n};\n"],"mappings":"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","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 {\n IWalletObserverSync,\n TWalletObserverOptions,\n} 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 AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata,\n> = {\n onSyncWalletStart?: () => Promise<void>;\n onSyncWalletEnd?: (\n data?: IWalletObserverSync<AssetMetadata> & { activeWallet: string },\n ) => Promise<void>;\n onConnectWalletStart?: () => Promise<void>;\n onConnectWalletEnd?: (\n data?: IWalletObserverSync<AssetMetadata> & { activeWallet: string },\n ) => Promise<void>;\n onDisconnectWallet?: () => Promise<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<AssetMetadata>;\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 | \"setFeeAddress\"\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 {\n IWalletObserverSync,\n TWalletObserverOptions,\n} 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 AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata,\n> = {\n onSyncWalletStart?: () => Promise<void>;\n onSyncWalletEnd?: (\n data?: IWalletObserverSync<AssetMetadata> & { activeWallet: string },\n ) => Promise<void>;\n onConnectWalletStart?: () => Promise<void>;\n onConnectWalletEnd?: (\n data?: IWalletObserverSync<AssetMetadata> & { activeWallet: string },\n ) => Promise<void>;\n onDisconnectWallet?: () => Promise<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<AssetMetadata>;\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 | \"setFeeAddress\"\n | \"setIsReadOnlyMode\"\n>;\n"],"mappings":"","ignoreList":[]}
@@ -26,6 +26,7 @@ var useWalletObserver = exports.useWalletObserver = function useWalletObserver()
26
26
  feeAddress: state.feeAddress,
27
27
  isCip45: state.isCip45,
28
28
  isPending: state.isPending,
29
+ isReadOnlyMode: state.isReadOnlyMode,
29
30
  mainAddress: state.mainAddress,
30
31
  network: state.network,
31
32
  observer: state.observer,
@@ -37,7 +38,7 @@ var useWalletObserver = exports.useWalletObserver = function useWalletObserver()
37
38
  utxos: state.utxos,
38
39
  willAutoConnect: state.willAutoConnect
39
40
  };
40
- }, [state.activeWallet, state.adaBalance.amount, state.balance.size, state.collateral, state.connectWallet, state.disconnect, state.errorSyncing, state.feeAddress, state.isCip45, state.isPending, state.mainAddress, state.network, state.observer, state.stakeAddress, state.switching, state.syncWallet, state.unusedAddresses, state.usedAddresses, state.utxos, state.willAutoConnect]);
41
+ }, [state.activeWallet, state.adaBalance.amount, state.balance.size, state.collateral, state.connectWallet, state.disconnect, state.errorSyncing, state.feeAddress, state.isCip45, state.isPending, state.isReadOnlyMode, state.mainAddress, state.network, state.observer, state.stakeAddress, state.switching, state.syncWallet, state.unusedAddresses, state.usedAddresses, state.utxos, state.willAutoConnect]);
41
42
  return result;
42
43
  };
43
44
  //# sourceMappingURL=useWalletObserver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useWalletObserver.js","names":["_react","require","_index","useWalletObserver","exports","_useWalletObserverCon","useWalletObserverContext","state","result","useMemo","activeWallet","adaBalance","balance","collateral","connectWallet","disconnect","errorSyncing","feeAddress","isCip45","isPending","mainAddress","network","observer","stakeAddress","switching","syncWallet","unusedAddresses","usedAddresses","utxos","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 activeWallet: state.activeWallet,\n adaBalance: state.adaBalance,\n balance: state.balance,\n collateral: state.collateral,\n connectWallet: state.connectWallet,\n disconnect: state.disconnect,\n errorSyncing: state.errorSyncing,\n feeAddress: state.feeAddress,\n isCip45: state.isCip45,\n isPending: state.isPending,\n mainAddress: state.mainAddress,\n network: state.network,\n observer: state.observer,\n stakeAddress: state.stakeAddress,\n switching: state.switching,\n syncWallet: state.syncWallet,\n unusedAddresses: state.unusedAddresses,\n usedAddresses: state.usedAddresses,\n utxos: state.utxos,\n willAutoConnect: state.willAutoConnect,\n }),\n [\n state.activeWallet,\n state.adaBalance.amount,\n state.balance.size,\n state.collateral,\n state.connectWallet,\n state.disconnect,\n state.errorSyncing,\n state.feeAddress,\n state.isCip45,\n state.isPending,\n state.mainAddress,\n state.network,\n state.observer,\n state.stakeAddress,\n state.switching,\n state.syncWallet,\n state.unusedAddresses,\n state.usedAddresses,\n state.utxos,\n state.willAutoConnect,\n ],\n );\n\n return result;\n};\n"],"mappings":";;;;;;AAEA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAKA;AACA;AACA;AACA;AACA;AACO,IAAME,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,GAAG,SAApBA,iBAAiBA,CAAA,EAKzB;EACH,IAAAE,qBAAA,GAAkB,IAAAC,+BAAwB,EAAgB,CAAC;IAAnDC,KAAK,GAAAF,qBAAA,CAALE,KAAK;EAEb,IAAMC,MAGL,GAAG,IAAAC,cAAO,EACT;IAAA,OAAO;MACLC,YAAY,EAAEH,KAAK,CAACG,YAAY;MAChCC,UAAU,EAAEJ,KAAK,CAACI,UAAU;MAC5BC,OAAO,EAAEL,KAAK,CAACK,OAAO;MACtBC,UAAU,EAAEN,KAAK,CAACM,UAAU;MAC5BC,aAAa,EAAEP,KAAK,CAACO,aAAa;MAClCC,UAAU,EAAER,KAAK,CAACQ,UAAU;MAC5BC,YAAY,EAAET,KAAK,CAACS,YAAY;MAChCC,UAAU,EAAEV,KAAK,CAACU,UAAU;MAC5BC,OAAO,EAAEX,KAAK,CAACW,OAAO;MACtBC,SAAS,EAAEZ,KAAK,CAACY,SAAS;MAC1BC,WAAW,EAAEb,KAAK,CAACa,WAAW;MAC9BC,OAAO,EAAEd,KAAK,CAACc,OAAO;MACtBC,QAAQ,EAAEf,KAAK,CAACe,QAAQ;MACxBC,YAAY,EAAEhB,KAAK,CAACgB,YAAY;MAChCC,SAAS,EAAEjB,KAAK,CAACiB,SAAS;MAC1BC,UAAU,EAAElB,KAAK,CAACkB,UAAU;MAC5BC,eAAe,EAAEnB,KAAK,CAACmB,eAAe;MACtCC,aAAa,EAAEpB,KAAK,CAACoB,aAAa;MAClCC,KAAK,EAAErB,KAAK,CAACqB,KAAK;MAClBC,eAAe,EAAEtB,KAAK,CAACsB;IACzB,CAAC;EAAA,CAAC,EACF,CACEtB,KAAK,CAACG,YAAY,EAClBH,KAAK,CAACI,UAAU,CAACmB,MAAM,EACvBvB,KAAK,CAACK,OAAO,CAACmB,IAAI,EAClBxB,KAAK,CAACM,UAAU,EAChBN,KAAK,CAACO,aAAa,EACnBP,KAAK,CAACQ,UAAU,EAChBR,KAAK,CAACS,YAAY,EAClBT,KAAK,CAACU,UAAU,EAChBV,KAAK,CAACW,OAAO,EACbX,KAAK,CAACY,SAAS,EACfZ,KAAK,CAACa,WAAW,EACjBb,KAAK,CAACc,OAAO,EACbd,KAAK,CAACe,QAAQ,EACdf,KAAK,CAACgB,YAAY,EAClBhB,KAAK,CAACiB,SAAS,EACfjB,KAAK,CAACkB,UAAU,EAChBlB,KAAK,CAACmB,eAAe,EACrBnB,KAAK,CAACoB,aAAa,EACnBpB,KAAK,CAACqB,KAAK,EACXrB,KAAK,CAACsB,eAAe,CAEzB,CAAC;EAED,OAAOrB,MAAM;AACf,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"useWalletObserver.js","names":["_react","require","_index","useWalletObserver","exports","_useWalletObserverCon","useWalletObserverContext","state","result","useMemo","activeWallet","adaBalance","balance","collateral","connectWallet","disconnect","errorSyncing","feeAddress","isCip45","isPending","isReadOnlyMode","mainAddress","network","observer","stakeAddress","switching","syncWallet","unusedAddresses","usedAddresses","utxos","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 activeWallet: state.activeWallet,\n adaBalance: state.adaBalance,\n balance: state.balance,\n collateral: state.collateral,\n connectWallet: state.connectWallet,\n disconnect: state.disconnect,\n errorSyncing: state.errorSyncing,\n feeAddress: state.feeAddress,\n isCip45: state.isCip45,\n isPending: state.isPending,\n isReadOnlyMode: state.isReadOnlyMode,\n mainAddress: state.mainAddress,\n network: state.network,\n observer: state.observer,\n stakeAddress: state.stakeAddress,\n switching: state.switching,\n syncWallet: state.syncWallet,\n unusedAddresses: state.unusedAddresses,\n usedAddresses: state.usedAddresses,\n utxos: state.utxos,\n willAutoConnect: state.willAutoConnect,\n }),\n [\n state.activeWallet,\n state.adaBalance.amount,\n state.balance.size,\n state.collateral,\n state.connectWallet,\n state.disconnect,\n state.errorSyncing,\n state.feeAddress,\n state.isCip45,\n state.isPending,\n state.isReadOnlyMode,\n state.mainAddress,\n state.network,\n state.observer,\n state.stakeAddress,\n state.switching,\n state.syncWallet,\n state.unusedAddresses,\n state.usedAddresses,\n state.utxos,\n state.willAutoConnect,\n ],\n );\n\n return result;\n};\n"],"mappings":";;;;;;AAEA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAKA;AACA;AACA;AACA;AACA;AACO,IAAME,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,GAAG,SAApBA,iBAAiBA,CAAA,EAKzB;EACH,IAAAE,qBAAA,GAAkB,IAAAC,+BAAwB,EAAgB,CAAC;IAAnDC,KAAK,GAAAF,qBAAA,CAALE,KAAK;EAEb,IAAMC,MAGL,GAAG,IAAAC,cAAO,EACT;IAAA,OAAO;MACLC,YAAY,EAAEH,KAAK,CAACG,YAAY;MAChCC,UAAU,EAAEJ,KAAK,CAACI,UAAU;MAC5BC,OAAO,EAAEL,KAAK,CAACK,OAAO;MACtBC,UAAU,EAAEN,KAAK,CAACM,UAAU;MAC5BC,aAAa,EAAEP,KAAK,CAACO,aAAa;MAClCC,UAAU,EAAER,KAAK,CAACQ,UAAU;MAC5BC,YAAY,EAAET,KAAK,CAACS,YAAY;MAChCC,UAAU,EAAEV,KAAK,CAACU,UAAU;MAC5BC,OAAO,EAAEX,KAAK,CAACW,OAAO;MACtBC,SAAS,EAAEZ,KAAK,CAACY,SAAS;MAC1BC,cAAc,EAAEb,KAAK,CAACa,cAAc;MACpCC,WAAW,EAAEd,KAAK,CAACc,WAAW;MAC9BC,OAAO,EAAEf,KAAK,CAACe,OAAO;MACtBC,QAAQ,EAAEhB,KAAK,CAACgB,QAAQ;MACxBC,YAAY,EAAEjB,KAAK,CAACiB,YAAY;MAChCC,SAAS,EAAElB,KAAK,CAACkB,SAAS;MAC1BC,UAAU,EAAEnB,KAAK,CAACmB,UAAU;MAC5BC,eAAe,EAAEpB,KAAK,CAACoB,eAAe;MACtCC,aAAa,EAAErB,KAAK,CAACqB,aAAa;MAClCC,KAAK,EAAEtB,KAAK,CAACsB,KAAK;MAClBC,eAAe,EAAEvB,KAAK,CAACuB;IACzB,CAAC;EAAA,CAAC,EACF,CACEvB,KAAK,CAACG,YAAY,EAClBH,KAAK,CAACI,UAAU,CAACoB,MAAM,EACvBxB,KAAK,CAACK,OAAO,CAACoB,IAAI,EAClBzB,KAAK,CAACM,UAAU,EAChBN,KAAK,CAACO,aAAa,EACnBP,KAAK,CAACQ,UAAU,EAChBR,KAAK,CAACS,YAAY,EAClBT,KAAK,CAACU,UAAU,EAChBV,KAAK,CAACW,OAAO,EACbX,KAAK,CAACY,SAAS,EACfZ,KAAK,CAACa,cAAc,EACpBb,KAAK,CAACc,WAAW,EACjBd,KAAK,CAACe,OAAO,EACbf,KAAK,CAACgB,QAAQ,EACdhB,KAAK,CAACiB,YAAY,EAClBjB,KAAK,CAACkB,SAAS,EACflB,KAAK,CAACmB,UAAU,EAChBnB,KAAK,CAACoB,eAAe,EACrBpB,KAAK,CAACqB,aAAa,EACnBrB,KAAK,CAACsB,KAAK,EACXtB,KAAK,CAACuB,eAAe,CAEzB,CAAC;EAED,OAAOtB,MAAM;AACf,CAAC","ignoreList":[]}
@@ -1,5 +1,6 @@
1
1
  import { AssetAmount } from "@sundaeswap/asset";
2
2
  import { useCallback, useEffect, useState, useTransition } from "react";
3
+ import { ReadOnlyApi } from "../../../classes/ReadOnlyApi.class.js";
3
4
  import { WalletBalanceMap } from "../../../classes/WalletBalanceMap.class.js";
4
5
  import { WalletObserver } from "../../../classes/WalletObserver.class.js";
5
6
  import { ADA_ASSET_ID } from "../../../constants.js";
@@ -15,6 +16,7 @@ export const useWalletObserverState = observer => {
15
16
  const [activeWallet, setActiveWallet] = useState();
16
17
  const [adaBalance, setAdaBalance] = useState(new AssetAmount(0n));
17
18
  const [balance, setBalance] = useState(new WalletBalanceMap(observer));
19
+ const [isReadOnlyMode, setIsReadOnlyMode] = useState(false);
18
20
  const [network, setNetwork] = useState();
19
21
  const [usedAddresses, setUsedAddresses] = useState([]);
20
22
  const [unusedAddresses, setUnusedAddresses] = useState([]);
@@ -48,10 +50,11 @@ export const useWalletObserverState = observer => {
48
50
  setSwitching(() => true);
49
51
  }
50
52
  const data = await observer.connectWallet(wallet);
53
+ setIsReadOnlyMode(observer.api instanceof ReadOnlyApi);
51
54
  await syncWallet(data instanceof Error ? undefined : data);
52
55
  setSwitching(() => false);
53
56
  return observer.api;
54
- }, [observer, setSwitching]);
57
+ }, [observer, setSwitching, setIsReadOnlyMode]);
55
58
  const syncWallet = useCallback(async importedData => {
56
59
  if (observer.isSyncing() || !observer.hasActiveConnection()) {
57
60
  return;
@@ -63,6 +66,7 @@ export const useWalletObserverState = observer => {
63
66
  }
64
67
  setIsCip45(newWallet.includes("p2p"));
65
68
  setActiveWallet(prevWallet => newWallet === prevWallet ? prevWallet : newWallet);
69
+ setIsReadOnlyMode(observer.api instanceof ReadOnlyApi);
66
70
  try {
67
71
  const freshData = importedData || (await observer.sync());
68
72
  startTransition(() => {
@@ -143,6 +147,7 @@ export const useWalletObserverState = observer => {
143
147
  feeAddress,
144
148
  isCip45,
145
149
  isPending,
150
+ isReadOnlyMode,
146
151
  network,
147
152
  setActiveWallet,
148
153
  setAdaBalance,
@@ -150,6 +155,7 @@ export const useWalletObserverState = observer => {
150
155
  setCollateral,
151
156
  setFeeAddress,
152
157
  setIsCip45,
158
+ setIsReadOnlyMode,
153
159
  setNetwork,
154
160
  setSwitching,
155
161
  setUnusedAddresses,
@@ -1 +1 @@
1
- {"version":3,"file":"useWalletObserverState.js","names":["AssetAmount","useCallback","useEffect","useState","useTransition","WalletBalanceMap","WalletObserver","ADA_ASSET_ID","areAssetMapsEqual","useWalletObserverState","observer","activeWallet","setActiveWallet","adaBalance","setAdaBalance","balance","setBalance","network","setNetwork","usedAddresses","setUsedAddresses","unusedAddresses","setUnusedAddresses","feeAddress","setFeeAddress","utxos","setUtxos","collateral","setCollateral","isCip45","setIsCip45","switching","setSwitching","errorSyncing","setErrorSyncing","isPending","startTransition","willAutoConnect","setWillAutoConnect","Boolean","window","localStorage","getItem","PERSISTENCE_CACHE_KEY","getOptions","persistence","disconnect","undefined","connectWallet","wallet","hasActiveConnection","data","syncWallet","Error","api","importedData","isSyncing","newWallet","includes","prevWallet","freshData","sync","newBalanceMap","balanceMap","newAdaBalance","get","prevBalance","amount","newUsedAddresses","Array","prevValue","JSON","stringify","newUnusedAddresses","newNetwork","newUtxos","prevValueRep","map","v","toCbor","newValueRep","newCollateral","newFeeAddress","e","cause","func","addEventListener"],"sources":["../../../../../src/react-components/WalletObserverProvider/hooks/useWalletObserverState.ts"],"sourcesContent":["import type { TransactionUnspentOutput } from \"@cardano-sdk/core/dist/cjs/Serialization/TransactionUnspentOutput.js\";\nimport { AssetAmount, IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport { useCallback, useEffect, useState, useTransition } from \"react\";\n\nimport { IWalletObserverSync } from \"src/@types/observer.js\";\nimport { WalletBalanceMap } from \"../../../classes/WalletBalanceMap.class.js\";\nimport { WalletObserver } from \"../../../classes/WalletObserver.class.js\";\nimport { ADA_ASSET_ID } from \"../../../constants.js\";\nimport { areAssetMapsEqual } from \"../../../utils/comparisons.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] = useState<string>();\n const [adaBalance, setAdaBalance] = useState<AssetAmount<AssetMetadata>>(\n new AssetAmount<AssetMetadata>(0n),\n );\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 [feeAddress, setFeeAddress] = useState<string | undefined>();\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 [errorSyncing, setErrorSyncing] = 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 setUsedAddresses([]);\n setUnusedAddresses([]);\n setActiveWallet(undefined);\n setNetwork(undefined);\n setUtxos(undefined);\n setCollateral(undefined);\n setFeeAddress(undefined);\n setIsCip45(false);\n setWillAutoConnect(false);\n }, [observer]);\n\n const connectWallet = useCallback(\n async (wallet: string) => {\n if (observer.hasActiveConnection() && wallet !== observer.activeWallet) {\n setSwitching(() => true);\n }\n\n const data = await observer.connectWallet(wallet);\n await syncWallet(data instanceof Error ? undefined : data);\n setSwitching(() => false);\n return observer.api;\n },\n [observer, setSwitching],\n );\n\n const syncWallet = useCallback(\n async (importedData?: IWalletObserverSync<AssetMetadata> | undefined) => {\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 setIsCip45(newWallet.includes(\"p2p\"));\n setActiveWallet((prevWallet) =>\n newWallet === prevWallet ? prevWallet : newWallet,\n );\n\n try {\n const freshData = importedData || (await observer.sync());\n\n startTransition(() => {\n const newBalanceMap = freshData.balanceMap;\n if (newBalanceMap instanceof WalletBalanceMap) {\n const newAdaBalance = newBalanceMap.get(ADA_ASSET_ID);\n if (newAdaBalance) {\n setAdaBalance((prevBalance) =>\n prevBalance.amount === newAdaBalance.amount\n ? prevBalance\n : newAdaBalance,\n );\n\n setBalance((prevBalance) =>\n areAssetMapsEqual(prevBalance, newBalanceMap)\n ? prevBalance\n : newBalanceMap,\n );\n }\n }\n\n const newUsedAddresses = freshData.usedAddresses;\n if (newUsedAddresses instanceof Array) {\n setUsedAddresses((prevValue) => {\n return JSON.stringify(prevValue) ===\n JSON.stringify(newUsedAddresses)\n ? prevValue\n : newUsedAddresses;\n });\n }\n\n const newUnusedAddresses = freshData.unusedAddresses;\n if (newUnusedAddresses instanceof Array) {\n setUnusedAddresses((prevValue) =>\n JSON.stringify(prevValue) === JSON.stringify(newUnusedAddresses)\n ? prevValue\n : newUnusedAddresses,\n );\n }\n\n const newNetwork = freshData.network;\n if (typeof newNetwork === \"number\") {\n setNetwork((prevValue) =>\n prevValue === newNetwork ? prevValue : newNetwork,\n );\n }\n\n const newUtxos = freshData.utxos;\n if (newUtxos instanceof Array) {\n setUtxos((prevValue) => {\n const prevValueRep = prevValue?.map((v) => v.toCbor());\n const newValueRep = newUtxos?.map((v) => v.toCbor());\n if (prevValueRep !== newValueRep) {\n return newUtxos;\n }\n\n return prevValue;\n });\n }\n\n const newCollateral = freshData.collateral;\n if (newCollateral instanceof Array) {\n setCollateral((prevValue) => {\n const prevValueRep = prevValue?.map((v) => v.toCbor());\n const newValueRep = newCollateral?.map((v) => v.toCbor());\n if (prevValueRep !== newValueRep) {\n return newCollateral;\n }\n\n return prevValue;\n });\n }\n\n const newFeeAddress = freshData.feeAddress;\n if (typeof newFeeAddress === \"string\") {\n setFeeAddress((prevValue) =>\n prevValue === newFeeAddress ? prevValue : newFeeAddress,\n );\n }\n });\n } catch (e) {\n setErrorSyncing(true);\n (e as Error).cause =\n \"The wallet threw an error while the app was trying to sync with it. Please try again or contact your wallet provider.\";\n throw e;\n }\n },\n [observer, disconnect],\n );\n\n /**\n * Ensure the wallet syncs on connect and disconnect.\n */\n useEffect(() => {\n const func = () => syncWallet();\n window.addEventListener(\"focus\", func);\n\n return () => {\n window.addEventListener(\"focus\", func);\n };\n }, [syncWallet]);\n\n return {\n activeWallet,\n adaBalance,\n balance,\n collateral,\n connectWallet,\n disconnect,\n errorSyncing,\n feeAddress,\n isCip45,\n isPending,\n network,\n setActiveWallet,\n setAdaBalance,\n setBalance,\n setCollateral,\n setFeeAddress,\n setIsCip45,\n setNetwork,\n setSwitching,\n setUnusedAddresses,\n setUsedAddresses,\n setUtxos,\n switching,\n syncWallet,\n unusedAddresses,\n usedAddresses,\n utxos,\n willAutoConnect,\n };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"useWalletObserverState.js","names":["AssetAmount","useCallback","useEffect","useState","useTransition","ReadOnlyApi","WalletBalanceMap","WalletObserver","ADA_ASSET_ID","areAssetMapsEqual","useWalletObserverState","observer","activeWallet","setActiveWallet","adaBalance","setAdaBalance","balance","setBalance","isReadOnlyMode","setIsReadOnlyMode","network","setNetwork","usedAddresses","setUsedAddresses","unusedAddresses","setUnusedAddresses","feeAddress","setFeeAddress","utxos","setUtxos","collateral","setCollateral","isCip45","setIsCip45","switching","setSwitching","errorSyncing","setErrorSyncing","isPending","startTransition","willAutoConnect","setWillAutoConnect","Boolean","window","localStorage","getItem","PERSISTENCE_CACHE_KEY","getOptions","persistence","disconnect","undefined","connectWallet","wallet","hasActiveConnection","data","api","syncWallet","Error","importedData","isSyncing","newWallet","includes","prevWallet","freshData","sync","newBalanceMap","balanceMap","newAdaBalance","get","prevBalance","amount","newUsedAddresses","Array","prevValue","JSON","stringify","newUnusedAddresses","newNetwork","newUtxos","prevValueRep","map","v","toCbor","newValueRep","newCollateral","newFeeAddress","e","cause","func","addEventListener"],"sources":["../../../../../src/react-components/WalletObserverProvider/hooks/useWalletObserverState.ts"],"sourcesContent":["import type { TransactionUnspentOutput } from \"@cardano-sdk/core/dist/cjs/Serialization/TransactionUnspentOutput.js\";\nimport { AssetAmount, IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport { useCallback, useEffect, useState, useTransition } from \"react\";\n\nimport { IWalletObserverSync } from \"../../../@types/observer.js\";\nimport { ReadOnlyApi } from \"../../../classes/ReadOnlyApi.class.js\";\nimport { WalletBalanceMap } from \"../../../classes/WalletBalanceMap.class.js\";\nimport { WalletObserver } from \"../../../classes/WalletObserver.class.js\";\nimport { ADA_ASSET_ID } from \"../../../constants.js\";\nimport { areAssetMapsEqual } from \"../../../utils/comparisons.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] = useState<string>();\n const [adaBalance, setAdaBalance] = useState<AssetAmount<AssetMetadata>>(\n new AssetAmount<AssetMetadata>(0n),\n );\n const [balance, setBalance] = useState<WalletBalanceMap<AssetMetadata>>(\n new WalletBalanceMap<AssetMetadata>(observer),\n );\n const [isReadOnlyMode, setIsReadOnlyMode] = useState<boolean>(false);\n const [network, setNetwork] = useState<number | undefined>();\n const [usedAddresses, setUsedAddresses] = useState<string[]>([]);\n const [unusedAddresses, setUnusedAddresses] = useState<string[]>([]);\n const [feeAddress, setFeeAddress] = useState<string | undefined>();\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 [errorSyncing, setErrorSyncing] = 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 setUsedAddresses([]);\n setUnusedAddresses([]);\n setActiveWallet(undefined);\n setNetwork(undefined);\n setUtxos(undefined);\n setCollateral(undefined);\n setFeeAddress(undefined);\n setIsCip45(false);\n setWillAutoConnect(false);\n }, [observer]);\n\n const connectWallet = useCallback(\n async (wallet: string) => {\n if (observer.hasActiveConnection() && wallet !== observer.activeWallet) {\n setSwitching(() => true);\n }\n\n const data = await observer.connectWallet(wallet);\n setIsReadOnlyMode(observer.api instanceof ReadOnlyApi);\n await syncWallet(data instanceof Error ? undefined : data);\n setSwitching(() => false);\n return observer.api;\n },\n [observer, setSwitching, setIsReadOnlyMode],\n );\n\n const syncWallet = useCallback(\n async (importedData?: IWalletObserverSync<AssetMetadata> | undefined) => {\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 setIsCip45(newWallet.includes(\"p2p\"));\n setActiveWallet((prevWallet) =>\n newWallet === prevWallet ? prevWallet : newWallet,\n );\n setIsReadOnlyMode(observer.api instanceof ReadOnlyApi);\n\n try {\n const freshData = importedData || (await observer.sync());\n\n startTransition(() => {\n const newBalanceMap = freshData.balanceMap;\n if (newBalanceMap instanceof WalletBalanceMap) {\n const newAdaBalance = newBalanceMap.get(ADA_ASSET_ID);\n if (newAdaBalance) {\n setAdaBalance((prevBalance) =>\n prevBalance.amount === newAdaBalance.amount\n ? prevBalance\n : newAdaBalance,\n );\n\n setBalance((prevBalance) =>\n areAssetMapsEqual(prevBalance, newBalanceMap)\n ? prevBalance\n : newBalanceMap,\n );\n }\n }\n\n const newUsedAddresses = freshData.usedAddresses;\n if (newUsedAddresses instanceof Array) {\n setUsedAddresses((prevValue) => {\n return JSON.stringify(prevValue) ===\n JSON.stringify(newUsedAddresses)\n ? prevValue\n : newUsedAddresses;\n });\n }\n\n const newUnusedAddresses = freshData.unusedAddresses;\n if (newUnusedAddresses instanceof Array) {\n setUnusedAddresses((prevValue) =>\n JSON.stringify(prevValue) === JSON.stringify(newUnusedAddresses)\n ? prevValue\n : newUnusedAddresses,\n );\n }\n\n const newNetwork = freshData.network;\n if (typeof newNetwork === \"number\") {\n setNetwork((prevValue) =>\n prevValue === newNetwork ? prevValue : newNetwork,\n );\n }\n\n const newUtxos = freshData.utxos;\n if (newUtxos instanceof Array) {\n setUtxos((prevValue) => {\n const prevValueRep = prevValue?.map((v) => v.toCbor());\n const newValueRep = newUtxos?.map((v) => v.toCbor());\n if (prevValueRep !== newValueRep) {\n return newUtxos;\n }\n\n return prevValue;\n });\n }\n\n const newCollateral = freshData.collateral;\n if (newCollateral instanceof Array) {\n setCollateral((prevValue) => {\n const prevValueRep = prevValue?.map((v) => v.toCbor());\n const newValueRep = newCollateral?.map((v) => v.toCbor());\n if (prevValueRep !== newValueRep) {\n return newCollateral;\n }\n\n return prevValue;\n });\n }\n\n const newFeeAddress = freshData.feeAddress;\n if (typeof newFeeAddress === \"string\") {\n setFeeAddress((prevValue) =>\n prevValue === newFeeAddress ? prevValue : newFeeAddress,\n );\n }\n });\n } catch (e) {\n setErrorSyncing(true);\n (e as Error).cause =\n \"The wallet threw an error while the app was trying to sync with it. Please try again or contact your wallet provider.\";\n throw e;\n }\n },\n [observer, disconnect],\n );\n\n /**\n * Ensure the wallet syncs on connect and disconnect.\n */\n useEffect(() => {\n const func = () => syncWallet();\n window.addEventListener(\"focus\", func);\n\n return () => {\n window.addEventListener(\"focus\", func);\n };\n }, [syncWallet]);\n\n return {\n activeWallet,\n adaBalance,\n balance,\n collateral,\n connectWallet,\n disconnect,\n errorSyncing,\n feeAddress,\n isCip45,\n isPending,\n isReadOnlyMode,\n network,\n setActiveWallet,\n setAdaBalance,\n setBalance,\n setCollateral,\n setFeeAddress,\n setIsCip45,\n setIsReadOnlyMode,\n setNetwork,\n setSwitching,\n setUnusedAddresses,\n setUsedAddresses,\n setUtxos,\n switching,\n syncWallet,\n unusedAddresses,\n usedAddresses,\n utxos,\n willAutoConnect,\n };\n};\n"],"mappings":"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","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 {\n IWalletObserverSync,\n TWalletObserverOptions,\n} 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 AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata,\n> = {\n onSyncWalletStart?: () => Promise<void>;\n onSyncWalletEnd?: (\n data?: IWalletObserverSync<AssetMetadata> & { activeWallet: string },\n ) => Promise<void>;\n onConnectWalletStart?: () => Promise<void>;\n onConnectWalletEnd?: (\n data?: IWalletObserverSync<AssetMetadata> & { activeWallet: string },\n ) => Promise<void>;\n onDisconnectWallet?: () => Promise<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<AssetMetadata>;\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 | \"setFeeAddress\"\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 {\n IWalletObserverSync,\n TWalletObserverOptions,\n} 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 AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata,\n> = {\n onSyncWalletStart?: () => Promise<void>;\n onSyncWalletEnd?: (\n data?: IWalletObserverSync<AssetMetadata> & { activeWallet: string },\n ) => Promise<void>;\n onConnectWalletStart?: () => Promise<void>;\n onConnectWalletEnd?: (\n data?: IWalletObserverSync<AssetMetadata> & { activeWallet: string },\n ) => Promise<void>;\n onDisconnectWallet?: () => Promise<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<AssetMetadata>;\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 | \"setFeeAddress\"\n | \"setIsReadOnlyMode\"\n>;\n"],"mappings":"","ignoreList":[]}
@@ -21,6 +21,7 @@ export const useWalletObserver = () => {
21
21
  feeAddress: state.feeAddress,
22
22
  isCip45: state.isCip45,
23
23
  isPending: state.isPending,
24
+ isReadOnlyMode: state.isReadOnlyMode,
24
25
  mainAddress: state.mainAddress,
25
26
  network: state.network,
26
27
  observer: state.observer,
@@ -31,7 +32,7 @@ export const useWalletObserver = () => {
31
32
  usedAddresses: state.usedAddresses,
32
33
  utxos: state.utxos,
33
34
  willAutoConnect: state.willAutoConnect
34
- }), [state.activeWallet, state.adaBalance.amount, state.balance.size, state.collateral, state.connectWallet, state.disconnect, state.errorSyncing, state.feeAddress, state.isCip45, state.isPending, state.mainAddress, state.network, state.observer, state.stakeAddress, state.switching, state.syncWallet, state.unusedAddresses, state.usedAddresses, state.utxos, state.willAutoConnect]);
35
+ }), [state.activeWallet, state.adaBalance.amount, state.balance.size, state.collateral, state.connectWallet, state.disconnect, state.errorSyncing, state.feeAddress, state.isCip45, state.isPending, state.isReadOnlyMode, state.mainAddress, state.network, state.observer, state.stakeAddress, state.switching, state.syncWallet, state.unusedAddresses, state.usedAddresses, state.utxos, state.willAutoConnect]);
35
36
  return result;
36
37
  };
37
38
  //# sourceMappingURL=useWalletObserver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useWalletObserver.js","names":["useMemo","useWalletObserverContext","useWalletObserver","state","result","activeWallet","adaBalance","balance","collateral","connectWallet","disconnect","errorSyncing","feeAddress","isCip45","isPending","mainAddress","network","observer","stakeAddress","switching","syncWallet","unusedAddresses","usedAddresses","utxos","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 activeWallet: state.activeWallet,\n adaBalance: state.adaBalance,\n balance: state.balance,\n collateral: state.collateral,\n connectWallet: state.connectWallet,\n disconnect: state.disconnect,\n errorSyncing: state.errorSyncing,\n feeAddress: state.feeAddress,\n isCip45: state.isCip45,\n isPending: state.isPending,\n mainAddress: state.mainAddress,\n network: state.network,\n observer: state.observer,\n stakeAddress: state.stakeAddress,\n switching: state.switching,\n syncWallet: state.syncWallet,\n unusedAddresses: state.unusedAddresses,\n usedAddresses: state.usedAddresses,\n utxos: state.utxos,\n willAutoConnect: state.willAutoConnect,\n }),\n [\n state.activeWallet,\n state.adaBalance.amount,\n state.balance.size,\n state.collateral,\n state.connectWallet,\n state.disconnect,\n state.errorSyncing,\n state.feeAddress,\n state.isCip45,\n state.isPending,\n state.mainAddress,\n state.network,\n state.observer,\n state.stakeAddress,\n state.switching,\n state.syncWallet,\n state.unusedAddresses,\n state.usedAddresses,\n state.utxos,\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,YAAY,EAAEF,KAAK,CAACE,YAAY;IAChCC,UAAU,EAAEH,KAAK,CAACG,UAAU;IAC5BC,OAAO,EAAEJ,KAAK,CAACI,OAAO;IACtBC,UAAU,EAAEL,KAAK,CAACK,UAAU;IAC5BC,aAAa,EAAEN,KAAK,CAACM,aAAa;IAClCC,UAAU,EAAEP,KAAK,CAACO,UAAU;IAC5BC,YAAY,EAAER,KAAK,CAACQ,YAAY;IAChCC,UAAU,EAAET,KAAK,CAACS,UAAU;IAC5BC,OAAO,EAAEV,KAAK,CAACU,OAAO;IACtBC,SAAS,EAAEX,KAAK,CAACW,SAAS;IAC1BC,WAAW,EAAEZ,KAAK,CAACY,WAAW;IAC9BC,OAAO,EAAEb,KAAK,CAACa,OAAO;IACtBC,QAAQ,EAAEd,KAAK,CAACc,QAAQ;IACxBC,YAAY,EAAEf,KAAK,CAACe,YAAY;IAChCC,SAAS,EAAEhB,KAAK,CAACgB,SAAS;IAC1BC,UAAU,EAAEjB,KAAK,CAACiB,UAAU;IAC5BC,eAAe,EAAElB,KAAK,CAACkB,eAAe;IACtCC,aAAa,EAAEnB,KAAK,CAACmB,aAAa;IAClCC,KAAK,EAAEpB,KAAK,CAACoB,KAAK;IAClBC,eAAe,EAAErB,KAAK,CAACqB;EACzB,CAAC,CAAC,EACF,CACErB,KAAK,CAACE,YAAY,EAClBF,KAAK,CAACG,UAAU,CAACmB,MAAM,EACvBtB,KAAK,CAACI,OAAO,CAACmB,IAAI,EAClBvB,KAAK,CAACK,UAAU,EAChBL,KAAK,CAACM,aAAa,EACnBN,KAAK,CAACO,UAAU,EAChBP,KAAK,CAACQ,YAAY,EAClBR,KAAK,CAACS,UAAU,EAChBT,KAAK,CAACU,OAAO,EACbV,KAAK,CAACW,SAAS,EACfX,KAAK,CAACY,WAAW,EACjBZ,KAAK,CAACa,OAAO,EACbb,KAAK,CAACc,QAAQ,EACdd,KAAK,CAACe,YAAY,EAClBf,KAAK,CAACgB,SAAS,EACfhB,KAAK,CAACiB,UAAU,EAChBjB,KAAK,CAACkB,eAAe,EACrBlB,KAAK,CAACmB,aAAa,EACnBnB,KAAK,CAACoB,KAAK,EACXpB,KAAK,CAACqB,eAAe,CAEzB,CAAC;EAED,OAAOpB,MAAM;AACf,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"useWalletObserver.js","names":["useMemo","useWalletObserverContext","useWalletObserver","state","result","activeWallet","adaBalance","balance","collateral","connectWallet","disconnect","errorSyncing","feeAddress","isCip45","isPending","isReadOnlyMode","mainAddress","network","observer","stakeAddress","switching","syncWallet","unusedAddresses","usedAddresses","utxos","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 activeWallet: state.activeWallet,\n adaBalance: state.adaBalance,\n balance: state.balance,\n collateral: state.collateral,\n connectWallet: state.connectWallet,\n disconnect: state.disconnect,\n errorSyncing: state.errorSyncing,\n feeAddress: state.feeAddress,\n isCip45: state.isCip45,\n isPending: state.isPending,\n isReadOnlyMode: state.isReadOnlyMode,\n mainAddress: state.mainAddress,\n network: state.network,\n observer: state.observer,\n stakeAddress: state.stakeAddress,\n switching: state.switching,\n syncWallet: state.syncWallet,\n unusedAddresses: state.unusedAddresses,\n usedAddresses: state.usedAddresses,\n utxos: state.utxos,\n willAutoConnect: state.willAutoConnect,\n }),\n [\n state.activeWallet,\n state.adaBalance.amount,\n state.balance.size,\n state.collateral,\n state.connectWallet,\n state.disconnect,\n state.errorSyncing,\n state.feeAddress,\n state.isCip45,\n state.isPending,\n state.isReadOnlyMode,\n state.mainAddress,\n state.network,\n state.observer,\n state.stakeAddress,\n state.switching,\n state.syncWallet,\n state.unusedAddresses,\n state.usedAddresses,\n state.utxos,\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,YAAY,EAAEF,KAAK,CAACE,YAAY;IAChCC,UAAU,EAAEH,KAAK,CAACG,UAAU;IAC5BC,OAAO,EAAEJ,KAAK,CAACI,OAAO;IACtBC,UAAU,EAAEL,KAAK,CAACK,UAAU;IAC5BC,aAAa,EAAEN,KAAK,CAACM,aAAa;IAClCC,UAAU,EAAEP,KAAK,CAACO,UAAU;IAC5BC,YAAY,EAAER,KAAK,CAACQ,YAAY;IAChCC,UAAU,EAAET,KAAK,CAACS,UAAU;IAC5BC,OAAO,EAAEV,KAAK,CAACU,OAAO;IACtBC,SAAS,EAAEX,KAAK,CAACW,SAAS;IAC1BC,cAAc,EAAEZ,KAAK,CAACY,cAAc;IACpCC,WAAW,EAAEb,KAAK,CAACa,WAAW;IAC9BC,OAAO,EAAEd,KAAK,CAACc,OAAO;IACtBC,QAAQ,EAAEf,KAAK,CAACe,QAAQ;IACxBC,YAAY,EAAEhB,KAAK,CAACgB,YAAY;IAChCC,SAAS,EAAEjB,KAAK,CAACiB,SAAS;IAC1BC,UAAU,EAAElB,KAAK,CAACkB,UAAU;IAC5BC,eAAe,EAAEnB,KAAK,CAACmB,eAAe;IACtCC,aAAa,EAAEpB,KAAK,CAACoB,aAAa;IAClCC,KAAK,EAAErB,KAAK,CAACqB,KAAK;IAClBC,eAAe,EAAEtB,KAAK,CAACsB;EACzB,CAAC,CAAC,EACF,CACEtB,KAAK,CAACE,YAAY,EAClBF,KAAK,CAACG,UAAU,CAACoB,MAAM,EACvBvB,KAAK,CAACI,OAAO,CAACoB,IAAI,EAClBxB,KAAK,CAACK,UAAU,EAChBL,KAAK,CAACM,aAAa,EACnBN,KAAK,CAACO,UAAU,EAChBP,KAAK,CAACQ,YAAY,EAClBR,KAAK,CAACS,UAAU,EAChBT,KAAK,CAACU,OAAO,EACbV,KAAK,CAACW,SAAS,EACfX,KAAK,CAACY,cAAc,EACpBZ,KAAK,CAACa,WAAW,EACjBb,KAAK,CAACc,OAAO,EACbd,KAAK,CAACe,QAAQ,EACdf,KAAK,CAACgB,YAAY,EAClBhB,KAAK,CAACiB,SAAS,EACfjB,KAAK,CAACkB,UAAU,EAChBlB,KAAK,CAACmB,eAAe,EACrBnB,KAAK,CAACoB,aAAa,EACnBpB,KAAK,CAACqB,KAAK,EACXrB,KAAK,CAACsB,eAAe,CAEzB,CAAC;EAED,OAAOrB,MAAM;AACf,CAAC","ignoreList":[]}