@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.
- package/dist/cjs/classes/WalletObserver.class.js +31 -32
- package/dist/cjs/classes/WalletObserver.class.js.map +1 -1
- package/dist/cjs/react-components/WalletObserverProvider/WalletObserverProvider.js +1 -1
- package/dist/cjs/react-components/WalletObserverProvider/WalletObserverProvider.js.map +1 -1
- package/dist/cjs/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.js +28 -30
- package/dist/cjs/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.js.map +1 -1
- package/dist/cjs/react-components/WalletObserverProvider/hooks/useWalletObserverState.js +126 -109
- package/dist/cjs/react-components/WalletObserverProvider/hooks/useWalletObserverState.js.map +1 -1
- package/dist/cjs/react-components/hooks/useWalletData.js +16 -17
- package/dist/cjs/react-components/hooks/useWalletData.js.map +1 -1
- package/dist/esm/classes/WalletObserver.class.js +14 -14
- package/dist/esm/classes/WalletObserver.class.js.map +1 -1
- package/dist/esm/react-components/WalletObserverProvider/WalletObserverProvider.js +1 -1
- package/dist/esm/react-components/WalletObserverProvider/WalletObserverProvider.js.map +1 -1
- package/dist/esm/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.js +23 -13
- package/dist/esm/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.js.map +1 -1
- package/dist/esm/react-components/WalletObserverProvider/hooks/useWalletObserverState.js +7 -6
- package/dist/esm/react-components/WalletObserverProvider/hooks/useWalletObserverState.js.map +1 -1
- package/dist/esm/react-components/hooks/useWalletData.js +2 -5
- package/dist/esm/react-components/hooks/useWalletData.js.map +1 -1
- package/dist/types/classes/WalletObserver.class.d.ts +2 -2
- package/dist/types/classes/WalletObserver.class.d.ts.map +1 -1
- package/dist/types/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.d.ts.map +1 -1
- package/dist/types/react-components/WalletObserverProvider/hooks/useWalletObserverState.d.ts +2 -1
- package/dist/types/react-components/WalletObserverProvider/hooks/useWalletObserverState.d.ts.map +1 -1
- package/dist/types/react-components/hooks/useWalletData.d.ts +1 -1
- package/dist/types/react-components/hooks/useWalletData.d.ts.map +1 -1
- package/dist/types/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/classes/WalletObserver.class.ts +19 -16
- package/src/classes/__tests__/WalletObserver.test.ts +4 -0
- package/src/react-components/WalletObserverProvider/WalletObserverProvider.tsx +1 -1
- package/src/react-components/WalletObserverProvider/hooks/useProviderWalletObserverRef.ts +23 -13
- package/src/react-components/WalletObserverProvider/hooks/useWalletObserverState.ts +107 -102
- package/src/react-components/hooks/useWalletData.ts +5 -7
package/dist/cjs/react-components/WalletObserverProvider/hooks/useWalletObserverState.js.map
CHANGED
|
@@ -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","_callee$","_context","hasActiveConnection","syncWallet","api","_x","_callee2","newWallet","freshData","_callee2$","_context2","isSyncing","includes","prevWallet","sync","newBalanceMap","balanceMap","newAdaBalance","get","ADA_ASSET_ID","prevBalance","amount","areAssetMapsEqual","newUsedAddresses","prevValue","JSON","stringify","newUnusedAddresses","newNetwork","newUtxos","prevValueRep","map","toCbor","newValueRep","newCollateral","newFeeAddress","t0","cause","useEffect","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 { 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 await observer.connectWallet(wallet);\n await syncWallet();\n setSwitching(() => false);\n return observer.api;\n },\n [observer, setSwitching],\n );\n\n const syncWallet = useCallback(async () => {\n if (observer.isSyncing() || !observer.hasActiveConnection()) {\n return;\n }\n\n const newWallet = observer.activeWallet;\n if (!newWallet) {\n disconnect();\n return;\n }\n\n setIsCip45(newWallet.includes(\"p2p\"));\n setActiveWallet((prevWallet) =>\n newWallet === prevWallet ? prevWallet : newWallet,\n );\n\n try {\n const freshData = 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 }, [observer, disconnect]);\n\n /**\n * Ensure the wallet syncs on connect and disconnect.\n */\n useEffect(() => {\n window.addEventListener(\"focus\", syncWallet);\n\n return () => {\n window.addEventListener(\"focus\", syncWallet);\n };\n }, [syncWallet]);\n\n return {\n activeWallet,\n 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","_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":[]}
|
|
@@ -33,19 +33,18 @@ var useWalletData = exports.useWalletData = function useWalletData() {
|
|
|
33
33
|
error = _useState6[0],
|
|
34
34
|
setError = _useState6[1];
|
|
35
35
|
var signData = (0, _react.useCallback)( /*#__PURE__*/function () {
|
|
36
|
-
var
|
|
37
|
-
var
|
|
36
|
+
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(params) {
|
|
37
|
+
var _yield$Promise$all, _yield$Promise$all2, Cardano, Ed25519Signature, _yield$Promise$all2$, COSESign1, COSEKey, Int, BigNum, Label, _keySign$header, response, coseSign1, keySign, labelInt, data;
|
|
38
38
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
39
39
|
while (1) switch (_context.prev = _context.next) {
|
|
40
40
|
case 0:
|
|
41
|
-
signingAddress = _ref.signingAddress, payload = _ref.payload;
|
|
42
41
|
if (state.observer.api) {
|
|
43
|
-
_context.next =
|
|
42
|
+
_context.next = 2;
|
|
44
43
|
break;
|
|
45
44
|
}
|
|
46
45
|
return _context.abrupt("return");
|
|
47
|
-
case
|
|
48
|
-
_context.next =
|
|
46
|
+
case 2:
|
|
47
|
+
_context.next = 4;
|
|
49
48
|
return Promise.all([Promise.resolve().then(function () {
|
|
50
49
|
return _interopRequireWildcard(require("@cardano-sdk/core"));
|
|
51
50
|
}), Promise.resolve().then(function () {
|
|
@@ -53,7 +52,7 @@ var useWalletData = exports.useWalletData = function useWalletData() {
|
|
|
53
52
|
}), Promise.resolve().then(function () {
|
|
54
53
|
return _interopRequireWildcard(require("@emurgo/cardano-message-signing-nodejs"));
|
|
55
54
|
})]);
|
|
56
|
-
case
|
|
55
|
+
case 4:
|
|
57
56
|
_yield$Promise$all = _context.sent;
|
|
58
57
|
_yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 3);
|
|
59
58
|
Cardano = _yield$Promise$all2[0].Cardano;
|
|
@@ -65,10 +64,10 @@ var useWalletData = exports.useWalletData = function useWalletData() {
|
|
|
65
64
|
BigNum = _yield$Promise$all2$.BigNum;
|
|
66
65
|
Label = _yield$Promise$all2$.Label;
|
|
67
66
|
setIsSigningData(true);
|
|
68
|
-
_context.prev =
|
|
69
|
-
_context.next =
|
|
70
|
-
return state.observer.api.signData(
|
|
71
|
-
case
|
|
67
|
+
_context.prev = 15;
|
|
68
|
+
_context.next = 18;
|
|
69
|
+
return state.observer.api.signData(Cardano.Address.fromBech32(params.signingAddress).toBytes(), Buffer.from(typeof params.payload === "string" ? params.payload : JSON.stringify(params.payload, null, 0), "utf-8").toString("hex"));
|
|
70
|
+
case 18:
|
|
72
71
|
response = _context.sent;
|
|
73
72
|
coseSign1 = COSESign1.from_bytes(new Uint8Array(Buffer.from(response.signature, "hex")));
|
|
74
73
|
keySign = COSEKey.from_bytes(new Uint8Array(Buffer.from(response.key, "hex")));
|
|
@@ -85,19 +84,19 @@ var useWalletData = exports.useWalletData = function useWalletData() {
|
|
|
85
84
|
setSignedData(data);
|
|
86
85
|
setIsSigningData(false);
|
|
87
86
|
return _context.abrupt("return", data);
|
|
88
|
-
case
|
|
89
|
-
_context.prev =
|
|
90
|
-
_context.t0 = _context["catch"](
|
|
87
|
+
case 28:
|
|
88
|
+
_context.prev = 28;
|
|
89
|
+
_context.t0 = _context["catch"](15);
|
|
91
90
|
setIsSigningData(false);
|
|
92
91
|
setError(_context.t0);
|
|
93
|
-
case
|
|
92
|
+
case 32:
|
|
94
93
|
case "end":
|
|
95
94
|
return _context.stop();
|
|
96
95
|
}
|
|
97
|
-
}, _callee, null, [[
|
|
96
|
+
}, _callee, null, [[15, 28]]);
|
|
98
97
|
}));
|
|
99
98
|
return function (_x) {
|
|
100
|
-
return
|
|
99
|
+
return _ref.apply(this, arguments);
|
|
101
100
|
};
|
|
102
101
|
}(), [state.observer.api]);
|
|
103
102
|
return (0, _react.useMemo)(function () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useWalletData.js","names":["_react","require","_useWalletObserver","_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","_getRequireWildcardCache","WeakMap","_interopRequireWildcard","__esModule","has","get","getOwnPropertyDescriptor","set","asyncGeneratorStep","_asyncToGenerator","arguments","apply","_next","_throw","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","_arrayLikeToArray","toString","Array","from","test","isArray","useWalletData","exports","state","useWalletObserver","_useState","useState","_useState2","signedData","setSignedData","_useState3","_useState4","isSigningData","setIsSigningData","_useState5","_useState6","error","setError","signData","useCallback","_ref2","_callee","_ref","signingAddress","payload","_yield$Promise$all","_yield$Promise$all2","Cardano","Ed25519Signature","_yield$Promise$all2$","COSESign1","COSEKey","Int","BigNum","Label","_keySign$header","response","coseSign1","keySign","labelInt","data","_callee$","_context","observer","api","all","Buffer","Address","fromBech32","toBytes","JSON","stringify","from_bytes","Uint8Array","signature","key","new_negative","from_str","signed_data","to_bytes","fromBytes","hex","header","new_int","as_bytes","rawData","cborKey","cborSignature","t0","_x","useMemo"],"sources":["../../../../src/react-components/hooks/useWalletData.ts"],"sourcesContent":["import { IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport { useCallback, useMemo, useState } from \"react\";\n\nimport { DataSignError } from \"@cardano-sdk/dapp-connector\";\nimport { useWalletObserver } from \"./useWalletObserver\";\n\nexport interface ISignedData {\n payload: string;\n signature: string;\n key: string;\n rawData: {\n cborKey: string;\n cborSignature: string;\n };\n}\n\nexport interface ISignDataParams<T = object | string> {\n payload: T;\n signingAddress: string;\n}\n\nexport const useWalletData = <\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata,\n>() => {\n const state = useWalletObserver<AssetMetadata>();\n const [signedData, setSignedData] = useState<ISignedData>();\n const [isSigningData, setIsSigningData] = useState(false);\n const [error, setError] = useState<DataSignError>();\n\n const signData = useCallback(\n async ({ signingAddress, payload }: ISignDataParams) => {\n if (!state.observer.api) {\n return;\n }\n\n const [\n { Cardano },\n { Ed25519Signature },\n { COSESign1, COSEKey, Int, BigNum, Label },\n ] = await Promise.all([\n import(\"@cardano-sdk/core\"),\n import(\"@cardano-sdk/crypto\"),\n import(\"@emurgo/cardano-message-signing-nodejs\"),\n ]);\n\n setIsSigningData(true);\n\n try {\n const response = await state.observer.api.signData(\n Buffer.from(\n Cardano.Address.fromBech32(signingAddress).toBytes(),\n ).toString(\"hex\"),\n Buffer.from(\n typeof payload === \"string\"\n ? payload\n : JSON.stringify(payload, null, 0),\n \"utf-8\",\n ).toString(\"hex\"),\n );\n\n const coseSign1 = COSESign1.from_bytes(\n new Uint8Array(Buffer.from(response.signature, \"hex\")),\n );\n const keySign = COSEKey.from_bytes(\n new Uint8Array(Buffer.from(response.key, \"hex\")),\n );\n const labelInt = Int.new_negative(BigNum.from_str(\"2\"));\n\n const data: ISignedData = {\n payload: Buffer.from(coseSign1.signed_data().to_bytes()).toString(\n \"hex\",\n ),\n signature: Ed25519Signature.fromBytes(coseSign1.signature()).hex(),\n key: Buffer.from(\n keySign.header(Label.new_int(labelInt))?.as_bytes() || [],\n ).toString(\"hex\"),\n rawData: { cborKey: response.key, cborSignature: response.signature },\n };\n\n setSignedData(data);\n setIsSigningData(false);\n return data;\n } catch (e) {\n setIsSigningData(false);\n setError(e as DataSignError);\n }\n },\n [state.observer.api],\n );\n\n return useMemo(\n () => ({\n signData,\n signedData,\n isSigningData,\n error,\n }),\n [signData, signedData, isSigningData, error],\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"useWalletData.js","names":["_react","require","_useWalletObserver","_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","_getRequireWildcardCache","WeakMap","_interopRequireWildcard","__esModule","has","get","getOwnPropertyDescriptor","set","asyncGeneratorStep","_asyncToGenerator","arguments","apply","_next","_throw","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","_arrayLikeToArray","toString","Array","from","test","isArray","useWalletData","exports","state","useWalletObserver","_useState","useState","_useState2","signedData","setSignedData","_useState3","_useState4","isSigningData","setIsSigningData","_useState5","_useState6","error","setError","signData","useCallback","_ref","_callee","params","_yield$Promise$all","_yield$Promise$all2","Cardano","Ed25519Signature","_yield$Promise$all2$","COSESign1","COSEKey","Int","BigNum","Label","_keySign$header","response","coseSign1","keySign","labelInt","data","_callee$","_context","observer","api","all","Address","fromBech32","signingAddress","toBytes","Buffer","payload","JSON","stringify","from_bytes","Uint8Array","signature","key","new_negative","from_str","signed_data","to_bytes","fromBytes","hex","header","new_int","as_bytes","rawData","cborKey","cborSignature","t0","_x","useMemo"],"sources":["../../../../src/react-components/hooks/useWalletData.ts"],"sourcesContent":["import { IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport { useCallback, useMemo, useState } from \"react\";\n\nimport { DataSignError } from \"@cardano-sdk/dapp-connector\";\nimport { useWalletObserver } from \"./useWalletObserver\";\n\nexport interface ISignedData {\n payload: string;\n signature: string;\n key: string;\n rawData: {\n cborKey: string;\n cborSignature: string;\n };\n}\n\nexport interface ISignDataParams<T = object | string> {\n payload: T;\n signingAddress: string;\n}\n\nexport const useWalletData = <\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata,\n>() => {\n const state = useWalletObserver<AssetMetadata>();\n const [signedData, setSignedData] = useState<ISignedData>();\n const [isSigningData, setIsSigningData] = useState(false);\n const [error, setError] = useState<DataSignError>();\n\n const signData = useCallback(\n async (params: ISignDataParams) => {\n if (!state.observer.api) {\n return;\n }\n\n const [\n { Cardano },\n { Ed25519Signature },\n { COSESign1, COSEKey, Int, BigNum, Label },\n ] = await Promise.all([\n import(\"@cardano-sdk/core\"),\n import(\"@cardano-sdk/crypto\"),\n import(\"@emurgo/cardano-message-signing-nodejs\"),\n ]);\n\n setIsSigningData(true);\n\n try {\n const response = await state.observer.api.signData(\n Cardano.Address.fromBech32(params.signingAddress).toBytes(),\n Buffer.from(\n typeof params.payload === \"string\"\n ? params.payload\n : JSON.stringify(params.payload, null, 0),\n \"utf-8\",\n ).toString(\"hex\"),\n );\n\n const coseSign1 = COSESign1.from_bytes(\n new Uint8Array(Buffer.from(response.signature, \"hex\")),\n );\n const keySign = COSEKey.from_bytes(\n new Uint8Array(Buffer.from(response.key, \"hex\")),\n );\n const labelInt = Int.new_negative(BigNum.from_str(\"2\"));\n\n const data: ISignedData = {\n payload: Buffer.from(coseSign1.signed_data().to_bytes()).toString(\n \"hex\",\n ),\n signature: Ed25519Signature.fromBytes(coseSign1.signature()).hex(),\n key: Buffer.from(\n keySign.header(Label.new_int(labelInt))?.as_bytes() || [],\n ).toString(\"hex\"),\n rawData: { cborKey: response.key, cborSignature: response.signature },\n };\n\n setSignedData(data);\n setIsSigningData(false);\n return data;\n } catch (e) {\n setIsSigningData(false);\n setError(e as DataSignError);\n }\n },\n [state.observer.api],\n );\n\n return useMemo(\n () => ({\n signData,\n signedData,\n isSigningData,\n error,\n }),\n [signData, signedData, isSigningData, error],\n );\n};\n"],"mappings":";;;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AAGA,IAAAC,kBAAA,GAAAD,OAAA;AAAwD,SAAAE,oBAAA,kBAHxD,qJAAAA,mBAAA,YAAAA,oBAAA,WAAAC,CAAA,SAAAC,CAAA,EAAAD,CAAA,OAAAE,CAAA,GAAAC,MAAA,CAAAC,SAAA,EAAAC,CAAA,GAAAH,CAAA,CAAAI,cAAA,EAAAC,CAAA,GAAAJ,MAAA,CAAAK,cAAA,cAAAP,CAAA,EAAAD,CAAA,EAAAE,CAAA,IAAAD,CAAA,CAAAD,CAAA,IAAAE,CAAA,CAAAO,KAAA,KAAAC,CAAA,wBAAAC,MAAA,GAAAA,MAAA,OAAAC,CAAA,GAAAF,CAAA,CAAAG,QAAA,kBAAAC,CAAA,GAAAJ,CAAA,CAAAK,aAAA,uBAAAC,CAAA,GAAAN,CAAA,CAAAO,WAAA,8BAAAC,OAAAjB,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAC,MAAA,CAAAK,cAAA,CAAAP,CAAA,EAAAD,CAAA,IAAAS,KAAA,EAAAP,CAAA,EAAAiB,UAAA,MAAAC,YAAA,MAAAC,QAAA,SAAApB,CAAA,CAAAD,CAAA,WAAAkB,MAAA,mBAAAjB,CAAA,IAAAiB,MAAA,YAAAA,OAAAjB,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAD,CAAA,CAAAD,CAAA,IAAAE,CAAA,gBAAAoB,KAAArB,CAAA,EAAAD,CAAA,EAAAE,CAAA,EAAAG,CAAA,QAAAK,CAAA,GAAAV,CAAA,IAAAA,CAAA,CAAAI,SAAA,YAAAmB,SAAA,GAAAvB,CAAA,GAAAuB,SAAA,EAAAX,CAAA,GAAAT,MAAA,CAAAqB,MAAA,CAAAd,CAAA,CAAAN,SAAA,GAAAU,CAAA,OAAAW,OAAA,CAAApB,CAAA,gBAAAE,CAAA,CAAAK,CAAA,eAAAH,KAAA,EAAAiB,gBAAA,CAAAzB,CAAA,EAAAC,CAAA,EAAAY,CAAA,MAAAF,CAAA,aAAAe,SAAA1B,CAAA,EAAAD,CAAA,EAAAE,CAAA,mBAAA0B,IAAA,YAAAC,GAAA,EAAA5B,CAAA,CAAA6B,IAAA,CAAA9B,CAAA,EAAAE,CAAA,cAAAD,CAAA,aAAA2B,IAAA,WAAAC,GAAA,EAAA5B,CAAA,QAAAD,CAAA,CAAAsB,IAAA,GAAAA,IAAA,MAAAS,CAAA,qBAAAC,CAAA,qBAAAC,CAAA,gBAAAC,CAAA,gBAAAC,CAAA,gBAAAZ,UAAA,cAAAa,kBAAA,cAAAC,2BAAA,SAAAC,CAAA,OAAApB,MAAA,CAAAoB,CAAA,EAAA1B,CAAA,qCAAA2B,CAAA,GAAApC,MAAA,CAAAqC,cAAA,EAAAC,CAAA,GAAAF,CAAA,IAAAA,CAAA,CAAAA,CAAA,CAAAG,MAAA,QAAAD,CAAA,IAAAA,CAAA,KAAAvC,CAAA,IAAAG,CAAA,CAAAyB,IAAA,CAAAW,CAAA,EAAA7B,CAAA,MAAA0B,CAAA,GAAAG,CAAA,OAAAE,CAAA,GAAAN,0BAAA,CAAAjC,SAAA,GAAAmB,SAAA,CAAAnB,SAAA,GAAAD,MAAA,CAAAqB,MAAA,CAAAc,CAAA,YAAAM,sBAAA3C,CAAA,gCAAA4C,OAAA,WAAA7C,CAAA,IAAAkB,MAAA,CAAAjB,CAAA,EAAAD,CAAA,YAAAC,CAAA,gBAAA6C,OAAA,CAAA9C,CAAA,EAAAC,CAAA,sBAAA8C,cAAA9C,CAAA,EAAAD,CAAA,aAAAgD,OAAA9C,CAAA,EAAAK,CAAA,EAAAG,CAAA,EAAAE,CAAA,QAAAE,CAAA,GAAAa,QAAA,CAAA1B,CAAA,CAAAC,CAAA,GAAAD,CAAA,EAAAM,CAAA,mBAAAO,CAAA,CAAAc,IAAA,QAAAZ,CAAA,GAAAF,CAAA,CAAAe,GAAA,EAAAE,CAAA,GAAAf,CAAA,CAAAP,KAAA,SAAAsB,CAAA,gBAAAkB,OAAA,CAAAlB,CAAA,KAAA1B,CAAA,CAAAyB,IAAA,CAAAC,CAAA,eAAA/B,CAAA,CAAAkD,OAAA,CAAAnB,CAAA,CAAAoB,OAAA,EAAAC,IAAA,WAAAnD,CAAA,IAAA+C,MAAA,SAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,gBAAAX,CAAA,IAAA+C,MAAA,UAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,QAAAZ,CAAA,CAAAkD,OAAA,CAAAnB,CAAA,EAAAqB,IAAA,WAAAnD,CAAA,IAAAe,CAAA,CAAAP,KAAA,GAAAR,CAAA,EAAAS,CAAA,CAAAM,CAAA,gBAAAf,CAAA,WAAA+C,MAAA,UAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,SAAAA,CAAA,CAAAE,CAAA,CAAAe,GAAA,SAAA3B,CAAA,EAAAK,CAAA,oBAAAE,KAAA,WAAAA,MAAAR,CAAA,EAAAI,CAAA,aAAAgD,2BAAA,eAAArD,CAAA,WAAAA,CAAA,EAAAE,CAAA,IAAA8C,MAAA,CAAA/C,CAAA,EAAAI,CAAA,EAAAL,CAAA,EAAAE,CAAA,gBAAAA,CAAA,GAAAA,CAAA,GAAAA,CAAA,CAAAkD,IAAA,CAAAC,0BAAA,EAAAA,0BAAA,IAAAA,0BAAA,qBAAA3B,iBAAA1B,CAAA,EAAAE,CAAA,EAAAG,CAAA,QAAAE,CAAA,GAAAwB,CAAA,mBAAArB,CAAA,EAAAE,CAAA,QAAAL,CAAA,KAAA0B,CAAA,QAAAqB,KAAA,sCAAA/C,CAAA,KAAA2B,CAAA,oBAAAxB,CAAA,QAAAE,CAAA,WAAAH,KAAA,EAAAR,CAAA,EAAAsD,IAAA,eAAAlD,CAAA,CAAAmD,MAAA,GAAA9C,CAAA,EAAAL,CAAA,CAAAwB,GAAA,GAAAjB,CAAA,UAAAE,CAAA,GAAAT,CAAA,CAAAoD,QAAA,MAAA3C,CAAA,QAAAE,CAAA,GAAA0C,mBAAA,CAAA5C,CAAA,EAAAT,CAAA,OAAAW,CAAA,QAAAA,CAAA,KAAAmB,CAAA,mBAAAnB,CAAA,qBAAAX,CAAA,CAAAmD,MAAA,EAAAnD,CAAA,CAAAsD,IAAA,GAAAtD,CAAA,CAAAuD,KAAA,GAAAvD,CAAA,CAAAwB,GAAA,sBAAAxB,CAAA,CAAAmD,MAAA,QAAAjD,CAAA,KAAAwB,CAAA,QAAAxB,CAAA,GAAA2B,CAAA,EAAA7B,CAAA,CAAAwB,GAAA,EAAAxB,CAAA,CAAAwD,iBAAA,CAAAxD,CAAA,CAAAwB,GAAA,uBAAAxB,CAAA,CAAAmD,MAAA,IAAAnD,CAAA,CAAAyD,MAAA,WAAAzD,CAAA,CAAAwB,GAAA,GAAAtB,CAAA,GAAA0B,CAAA,MAAAK,CAAA,GAAAX,QAAA,CAAA3B,CAAA,EAAAE,CAAA,EAAAG,CAAA,oBAAAiC,CAAA,CAAAV,IAAA,QAAArB,CAAA,GAAAF,CAAA,CAAAkD,IAAA,GAAArB,CAAA,GAAAF,CAAA,EAAAM,CAAA,CAAAT,GAAA,KAAAM,CAAA,qBAAA1B,KAAA,EAAA6B,CAAA,CAAAT,GAAA,EAAA0B,IAAA,EAAAlD,CAAA,CAAAkD,IAAA,kBAAAjB,CAAA,CAAAV,IAAA,KAAArB,CAAA,GAAA2B,CAAA,EAAA7B,CAAA,CAAAmD,MAAA,YAAAnD,CAAA,CAAAwB,GAAA,GAAAS,CAAA,CAAAT,GAAA,mBAAA6B,oBAAA1D,CAAA,EAAAE,CAAA,QAAAG,CAAA,GAAAH,CAAA,CAAAsD,MAAA,EAAAjD,CAAA,GAAAP,CAAA,CAAAa,QAAA,CAAAR,CAAA,OAAAE,CAAA,KAAAN,CAAA,SAAAC,CAAA,CAAAuD,QAAA,qBAAApD,CAAA,IAAAL,CAAA,CAAAa,QAAA,eAAAX,CAAA,CAAAsD,MAAA,aAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,EAAAyD,mBAAA,CAAA1D,CAAA,EAAAE,CAAA,eAAAA,CAAA,CAAAsD,MAAA,kBAAAnD,CAAA,KAAAH,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,OAAAkC,SAAA,uCAAA1D,CAAA,iBAAA8B,CAAA,MAAAzB,CAAA,GAAAiB,QAAA,CAAApB,CAAA,EAAAP,CAAA,CAAAa,QAAA,EAAAX,CAAA,CAAA2B,GAAA,mBAAAnB,CAAA,CAAAkB,IAAA,SAAA1B,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,GAAAnB,CAAA,CAAAmB,GAAA,EAAA3B,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,MAAAvB,CAAA,GAAAF,CAAA,CAAAmB,GAAA,SAAAjB,CAAA,GAAAA,CAAA,CAAA2C,IAAA,IAAArD,CAAA,CAAAF,CAAA,CAAAgE,UAAA,IAAApD,CAAA,CAAAH,KAAA,EAAAP,CAAA,CAAA+D,IAAA,GAAAjE,CAAA,CAAAkE,OAAA,eAAAhE,CAAA,CAAAsD,MAAA,KAAAtD,CAAA,CAAAsD,MAAA,WAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,GAAAC,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,IAAAvB,CAAA,IAAAV,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,OAAAkC,SAAA,sCAAA7D,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,cAAAgC,aAAAlE,CAAA,QAAAD,CAAA,KAAAoE,MAAA,EAAAnE,CAAA,YAAAA,CAAA,KAAAD,CAAA,CAAAqE,QAAA,GAAApE,CAAA,WAAAA,CAAA,KAAAD,CAAA,CAAAsE,UAAA,GAAArE,CAAA,KAAAD,CAAA,CAAAuE,QAAA,GAAAtE,CAAA,WAAAuE,UAAA,CAAAC,IAAA,CAAAzE,CAAA,cAAA0E,cAAAzE,CAAA,QAAAD,CAAA,GAAAC,CAAA,CAAA0E,UAAA,QAAA3E,CAAA,CAAA4B,IAAA,oBAAA5B,CAAA,CAAA6B,GAAA,EAAA5B,CAAA,CAAA0E,UAAA,GAAA3E,CAAA,aAAAyB,QAAAxB,CAAA,SAAAuE,UAAA,MAAAJ,MAAA,aAAAnE,CAAA,CAAA4C,OAAA,CAAAsB,YAAA,cAAAS,KAAA,iBAAAlC,OAAA1C,CAAA,QAAAA,CAAA,WAAAA,CAAA,QAAAE,CAAA,GAAAF,CAAA,CAAAY,CAAA,OAAAV,CAAA,SAAAA,CAAA,CAAA4B,IAAA,CAAA9B,CAAA,4BAAAA,CAAA,CAAAiE,IAAA,SAAAjE,CAAA,OAAA6E,KAAA,CAAA7E,CAAA,CAAA8E,MAAA,SAAAvE,CAAA,OAAAG,CAAA,YAAAuD,KAAA,aAAA1D,CAAA,GAAAP,CAAA,CAAA8E,MAAA,OAAAzE,CAAA,CAAAyB,IAAA,CAAA9B,CAAA,EAAAO,CAAA,UAAA0D,IAAA,CAAAxD,KAAA,GAAAT,CAAA,CAAAO,CAAA,GAAA0D,IAAA,CAAAV,IAAA,OAAAU,IAAA,SAAAA,IAAA,CAAAxD,KAAA,GAAAR,CAAA,EAAAgE,IAAA,CAAAV,IAAA,OAAAU,IAAA,YAAAvD,CAAA,CAAAuD,IAAA,GAAAvD,CAAA,gBAAAqD,SAAA,CAAAd,OAAA,CAAAjD,CAAA,kCAAAoC,iBAAA,CAAAhC,SAAA,GAAAiC,0BAAA,EAAA9B,CAAA,CAAAoC,CAAA,mBAAAlC,KAAA,EAAA4B,0BAAA,EAAAjB,YAAA,SAAAb,CAAA,CAAA8B,0BAAA,mBAAA5B,KAAA,EAAA2B,iBAAA,EAAAhB,YAAA,SAAAgB,iBAAA,CAAA2C,WAAA,GAAA7D,MAAA,CAAAmB,0BAAA,EAAArB,CAAA,wBAAAhB,CAAA,CAAAgF,mBAAA,aAAA/E,CAAA,QAAAD,CAAA,wBAAAC,CAAA,IAAAA,CAAA,CAAAgF,WAAA,WAAAjF,CAAA,KAAAA,CAAA,KAAAoC,iBAAA,6BAAApC,CAAA,CAAA+E,WAAA,IAAA/E,CAAA,CAAAkF,IAAA,OAAAlF,CAAA,CAAAmF,IAAA,aAAAlF,CAAA,WAAAE,MAAA,CAAAiF,cAAA,GAAAjF,MAAA,CAAAiF,cAAA,CAAAnF,CAAA,EAAAoC,0BAAA,KAAApC,CAAA,CAAAoF,SAAA,GAAAhD,0BAAA,EAAAnB,MAAA,CAAAjB,CAAA,EAAAe,CAAA,yBAAAf,CAAA,CAAAG,SAAA,GAAAD,MAAA,CAAAqB,MAAA,CAAAmB,CAAA,GAAA1C,CAAA,KAAAD,CAAA,CAAAsF,KAAA,aAAArF,CAAA,aAAAkD,OAAA,EAAAlD,CAAA,OAAA2C,qBAAA,CAAAG,aAAA,CAAA3C,SAAA,GAAAc,MAAA,CAAA6B,aAAA,CAAA3C,SAAA,EAAAU,CAAA,iCAAAd,CAAA,CAAA+C,aAAA,GAAAA,aAAA,EAAA/C,CAAA,CAAAuF,KAAA,aAAAtF,CAAA,EAAAC,CAAA,EAAAG,CAAA,EAAAE,CAAA,EAAAG,CAAA,eAAAA,CAAA,KAAAA,CAAA,GAAA8E,OAAA,OAAA5E,CAAA,OAAAmC,aAAA,CAAAzB,IAAA,CAAArB,CAAA,EAAAC,CAAA,EAAAG,CAAA,EAAAE,CAAA,GAAAG,CAAA,UAAAV,CAAA,CAAAgF,mBAAA,CAAA9E,CAAA,IAAAU,CAAA,GAAAA,CAAA,CAAAqD,IAAA,GAAAb,IAAA,WAAAnD,CAAA,WAAAA,CAAA,CAAAsD,IAAA,GAAAtD,CAAA,CAAAQ,KAAA,GAAAG,CAAA,CAAAqD,IAAA,WAAArB,qBAAA,CAAAD,CAAA,GAAAzB,MAAA,CAAAyB,CAAA,EAAA3B,CAAA,gBAAAE,MAAA,CAAAyB,CAAA,EAAA/B,CAAA,iCAAAM,MAAA,CAAAyB,CAAA,6DAAA3C,CAAA,CAAAyF,IAAA,aAAAxF,CAAA,QAAAD,CAAA,GAAAG,MAAA,CAAAF,CAAA,GAAAC,CAAA,gBAAAG,CAAA,IAAAL,CAAA,EAAAE,CAAA,CAAAuE,IAAA,CAAApE,CAAA,UAAAH,CAAA,CAAAwF,OAAA,aAAAzB,KAAA,WAAA/D,CAAA,CAAA4E,MAAA,SAAA7E,CAAA,GAAAC,CAAA,CAAAyF,GAAA,QAAA1F,CAAA,IAAAD,CAAA,SAAAiE,IAAA,CAAAxD,KAAA,GAAAR,CAAA,EAAAgE,IAAA,CAAAV,IAAA,OAAAU,IAAA,WAAAA,IAAA,CAAAV,IAAA,OAAAU,IAAA,QAAAjE,CAAA,CAAA0C,MAAA,GAAAA,MAAA,EAAAjB,OAAA,CAAArB,SAAA,KAAA6E,WAAA,EAAAxD,OAAA,EAAAmD,KAAA,WAAAA,MAAA5E,CAAA,aAAA4F,IAAA,WAAA3B,IAAA,WAAAN,IAAA,QAAAC,KAAA,GAAA3D,CAAA,OAAAsD,IAAA,YAAAE,QAAA,cAAAD,MAAA,gBAAA3B,GAAA,GAAA5B,CAAA,OAAAuE,UAAA,CAAA3B,OAAA,CAAA6B,aAAA,IAAA1E,CAAA,WAAAE,CAAA,kBAAAA,CAAA,CAAA2F,MAAA,OAAAxF,CAAA,CAAAyB,IAAA,OAAA5B,CAAA,MAAA2E,KAAA,EAAA3E,CAAA,CAAA4F,KAAA,cAAA5F,CAAA,IAAAD,CAAA,MAAA8F,IAAA,WAAAA,KAAA,SAAAxC,IAAA,WAAAtD,CAAA,QAAAuE,UAAA,IAAAG,UAAA,kBAAA1E,CAAA,CAAA2B,IAAA,QAAA3B,CAAA,CAAA4B,GAAA,cAAAmE,IAAA,KAAAnC,iBAAA,WAAAA,kBAAA7D,CAAA,aAAAuD,IAAA,QAAAvD,CAAA,MAAAE,CAAA,kBAAA+F,OAAA5F,CAAA,EAAAE,CAAA,WAAAK,CAAA,CAAAgB,IAAA,YAAAhB,CAAA,CAAAiB,GAAA,GAAA7B,CAAA,EAAAE,CAAA,CAAA+D,IAAA,GAAA5D,CAAA,EAAAE,CAAA,KAAAL,CAAA,CAAAsD,MAAA,WAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,KAAAM,CAAA,aAAAA,CAAA,QAAAiE,UAAA,CAAAM,MAAA,MAAAvE,CAAA,SAAAA,CAAA,QAAAG,CAAA,QAAA8D,UAAA,CAAAjE,CAAA,GAAAK,CAAA,GAAAF,CAAA,CAAAiE,UAAA,iBAAAjE,CAAA,CAAA0D,MAAA,SAAA6B,MAAA,aAAAvF,CAAA,CAAA0D,MAAA,SAAAwB,IAAA,QAAA9E,CAAA,GAAAT,CAAA,CAAAyB,IAAA,CAAApB,CAAA,eAAAM,CAAA,GAAAX,CAAA,CAAAyB,IAAA,CAAApB,CAAA,qBAAAI,CAAA,IAAAE,CAAA,aAAA4E,IAAA,GAAAlF,CAAA,CAAA2D,QAAA,SAAA4B,MAAA,CAAAvF,CAAA,CAAA2D,QAAA,gBAAAuB,IAAA,GAAAlF,CAAA,CAAA4D,UAAA,SAAA2B,MAAA,CAAAvF,CAAA,CAAA4D,UAAA,cAAAxD,CAAA,aAAA8E,IAAA,GAAAlF,CAAA,CAAA2D,QAAA,SAAA4B,MAAA,CAAAvF,CAAA,CAAA2D,QAAA,qBAAArD,CAAA,QAAAsC,KAAA,qDAAAsC,IAAA,GAAAlF,CAAA,CAAA4D,UAAA,SAAA2B,MAAA,CAAAvF,CAAA,CAAA4D,UAAA,YAAAR,MAAA,WAAAA,OAAA7D,CAAA,EAAAD,CAAA,aAAAE,CAAA,QAAAsE,UAAA,CAAAM,MAAA,MAAA5E,CAAA,SAAAA,CAAA,QAAAK,CAAA,QAAAiE,UAAA,CAAAtE,CAAA,OAAAK,CAAA,CAAA6D,MAAA,SAAAwB,IAAA,IAAAvF,CAAA,CAAAyB,IAAA,CAAAvB,CAAA,wBAAAqF,IAAA,GAAArF,CAAA,CAAA+D,UAAA,QAAA5D,CAAA,GAAAH,CAAA,aAAAG,CAAA,iBAAAT,CAAA,mBAAAA,CAAA,KAAAS,CAAA,CAAA0D,MAAA,IAAApE,CAAA,IAAAA,CAAA,IAAAU,CAAA,CAAA4D,UAAA,KAAA5D,CAAA,cAAAE,CAAA,GAAAF,CAAA,GAAAA,CAAA,CAAAiE,UAAA,cAAA/D,CAAA,CAAAgB,IAAA,GAAA3B,CAAA,EAAAW,CAAA,CAAAiB,GAAA,GAAA7B,CAAA,EAAAU,CAAA,SAAA8C,MAAA,gBAAAS,IAAA,GAAAvD,CAAA,CAAA4D,UAAA,EAAAnC,CAAA,SAAA+D,QAAA,CAAAtF,CAAA,MAAAsF,QAAA,WAAAA,SAAAjG,CAAA,EAAAD,CAAA,oBAAAC,CAAA,CAAA2B,IAAA,QAAA3B,CAAA,CAAA4B,GAAA,qBAAA5B,CAAA,CAAA2B,IAAA,mBAAA3B,CAAA,CAAA2B,IAAA,QAAAqC,IAAA,GAAAhE,CAAA,CAAA4B,GAAA,gBAAA5B,CAAA,CAAA2B,IAAA,SAAAoE,IAAA,QAAAnE,GAAA,GAAA5B,CAAA,CAAA4B,GAAA,OAAA2B,MAAA,kBAAAS,IAAA,yBAAAhE,CAAA,CAAA2B,IAAA,IAAA5B,CAAA,UAAAiE,IAAA,GAAAjE,CAAA,GAAAmC,CAAA,KAAAgE,MAAA,WAAAA,OAAAlG,CAAA,aAAAD,CAAA,QAAAwE,UAAA,CAAAM,MAAA,MAAA9E,CAAA,SAAAA,CAAA,QAAAE,CAAA,QAAAsE,UAAA,CAAAxE,CAAA,OAAAE,CAAA,CAAAoE,UAAA,KAAArE,CAAA,cAAAiG,QAAA,CAAAhG,CAAA,CAAAyE,UAAA,EAAAzE,CAAA,CAAAqE,QAAA,GAAAG,aAAA,CAAAxE,CAAA,GAAAiC,CAAA,yBAAAiE,OAAAnG,CAAA,aAAAD,CAAA,QAAAwE,UAAA,CAAAM,MAAA,MAAA9E,CAAA,SAAAA,CAAA,QAAAE,CAAA,QAAAsE,UAAA,CAAAxE,CAAA,OAAAE,CAAA,CAAAkE,MAAA,KAAAnE,CAAA,QAAAI,CAAA,GAAAH,CAAA,CAAAyE,UAAA,kBAAAtE,CAAA,CAAAuB,IAAA,QAAArB,CAAA,GAAAF,CAAA,CAAAwB,GAAA,EAAA6C,aAAA,CAAAxE,CAAA,YAAAK,CAAA,YAAA+C,KAAA,8BAAA+C,aAAA,WAAAA,cAAArG,CAAA,EAAAE,CAAA,EAAAG,CAAA,gBAAAoD,QAAA,KAAA5C,QAAA,EAAA6B,MAAA,CAAA1C,CAAA,GAAAgE,UAAA,EAAA9D,CAAA,EAAAgE,OAAA,EAAA7D,CAAA,oBAAAmD,MAAA,UAAA3B,GAAA,GAAA5B,CAAA,GAAAkC,CAAA,OAAAnC,CAAA;AAAA,SAAAsG,yBAAAtG,CAAA,6BAAAuG,OAAA,mBAAArG,CAAA,OAAAqG,OAAA,IAAAtG,CAAA,OAAAsG,OAAA,YAAAD,wBAAA,YAAAA,yBAAAtG,CAAA,WAAAA,CAAA,GAAAC,CAAA,GAAAC,CAAA,KAAAF,CAAA;AAAA,SAAAwG,wBAAAxG,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAyG,UAAA,SAAAzG,CAAA,eAAAA,CAAA,gBAAAiD,OAAA,CAAAjD,CAAA,0BAAAA,CAAA,sBAAAA,CAAA,QAAAC,CAAA,GAAAqG,wBAAA,CAAApG,CAAA,OAAAD,CAAA,IAAAA,CAAA,CAAAyG,GAAA,CAAA1G,CAAA,UAAAC,CAAA,CAAA0G,GAAA,CAAA3G,CAAA,OAAAK,CAAA,KAAAgF,SAAA,UAAAzE,CAAA,GAAAT,MAAA,CAAAK,cAAA,IAAAL,MAAA,CAAAyG,wBAAA,WAAA5F,CAAA,IAAAhB,CAAA,oBAAAgB,CAAA,OAAAV,cAAA,CAAAwB,IAAA,CAAA9B,CAAA,EAAAgB,CAAA,SAAAN,CAAA,GAAAE,CAAA,GAAAT,MAAA,CAAAyG,wBAAA,CAAA5G,CAAA,EAAAgB,CAAA,UAAAN,CAAA,KAAAA,CAAA,CAAAiG,GAAA,IAAAjG,CAAA,CAAAmG,GAAA,IAAA1G,MAAA,CAAAK,cAAA,CAAAH,CAAA,EAAAW,CAAA,EAAAN,CAAA,IAAAL,CAAA,CAAAW,CAAA,IAAAhB,CAAA,CAAAgB,CAAA,YAAAX,CAAA,cAAAL,CAAA,EAAAC,CAAA,IAAAA,CAAA,CAAA4G,GAAA,CAAA7G,CAAA,EAAAK,CAAA,GAAAA,CAAA;AAAA,SAAAyG,mBAAAzG,CAAA,EAAAJ,CAAA,EAAAD,CAAA,EAAAE,CAAA,EAAAK,CAAA,EAAAK,CAAA,EAAAE,CAAA,cAAAJ,CAAA,GAAAL,CAAA,CAAAO,CAAA,EAAAE,CAAA,GAAAE,CAAA,GAAAN,CAAA,CAAAD,KAAA,WAAAJ,CAAA,gBAAAL,CAAA,CAAAK,CAAA,KAAAK,CAAA,CAAA6C,IAAA,GAAAtD,CAAA,CAAAe,CAAA,IAAAwE,OAAA,CAAAtC,OAAA,CAAAlC,CAAA,EAAAoC,IAAA,CAAAlD,CAAA,EAAAK,CAAA;AAAA,SAAAwG,kBAAA1G,CAAA,6BAAAJ,CAAA,SAAAD,CAAA,GAAAgH,SAAA,aAAAxB,OAAA,WAAAtF,CAAA,EAAAK,CAAA,QAAAK,CAAA,GAAAP,CAAA,CAAA4G,KAAA,CAAAhH,CAAA,EAAAD,CAAA,YAAAkH,MAAA7G,CAAA,IAAAyG,kBAAA,CAAAlG,CAAA,EAAAV,CAAA,EAAAK,CAAA,EAAA2G,KAAA,EAAAC,MAAA,UAAA9G,CAAA,cAAA8G,OAAA9G,CAAA,IAAAyG,kBAAA,CAAAlG,CAAA,EAAAV,CAAA,EAAAK,CAAA,EAAA2G,KAAA,EAAAC,MAAA,WAAA9G,CAAA,KAAA6G,KAAA;AAAA,SAAAE,eAAAlH,CAAA,EAAAF,CAAA,WAAAqH,eAAA,CAAAnH,CAAA,KAAAoH,qBAAA,CAAApH,CAAA,EAAAF,CAAA,KAAAuH,2BAAA,CAAArH,CAAA,EAAAF,CAAA,KAAAwH,gBAAA;AAAA,SAAAA,iBAAA,cAAAzD,SAAA;AAAA,SAAAwD,4BAAArH,CAAA,EAAAU,CAAA,QAAAV,CAAA,2BAAAA,CAAA,SAAAuH,iBAAA,CAAAvH,CAAA,EAAAU,CAAA,OAAAX,CAAA,MAAAyH,QAAA,CAAA5F,IAAA,CAAA5B,CAAA,EAAA4F,KAAA,6BAAA7F,CAAA,IAAAC,CAAA,CAAA+E,WAAA,KAAAhF,CAAA,GAAAC,CAAA,CAAA+E,WAAA,CAAAC,IAAA,aAAAjF,CAAA,cAAAA,CAAA,GAAA0H,KAAA,CAAAC,IAAA,CAAA1H,CAAA,oBAAAD,CAAA,+CAAA4H,IAAA,CAAA5H,CAAA,IAAAwH,iBAAA,CAAAvH,CAAA,EAAAU,CAAA;AAAA,SAAA6G,kBAAAvH,CAAA,EAAAU,CAAA,aAAAA,CAAA,IAAAA,CAAA,GAAAV,CAAA,CAAA4E,MAAA,MAAAlE,CAAA,GAAAV,CAAA,CAAA4E,MAAA,YAAA9E,CAAA,MAAAK,CAAA,GAAAsH,KAAA,CAAA/G,CAAA,GAAAZ,CAAA,GAAAY,CAAA,EAAAZ,CAAA,IAAAK,CAAA,CAAAL,CAAA,IAAAE,CAAA,CAAAF,CAAA,UAAAK,CAAA;AAAA,SAAAiH,sBAAApH,CAAA,EAAA8B,CAAA,QAAA/B,CAAA,WAAAC,CAAA,gCAAAS,MAAA,IAAAT,CAAA,CAAAS,MAAA,CAAAE,QAAA,KAAAX,CAAA,4BAAAD,CAAA,QAAAD,CAAA,EAAAK,CAAA,EAAAK,CAAA,EAAAM,CAAA,EAAAJ,CAAA,OAAAqB,CAAA,OAAA1B,CAAA,iBAAAG,CAAA,IAAAT,CAAA,GAAAA,CAAA,CAAA6B,IAAA,CAAA5B,CAAA,GAAA+D,IAAA,QAAAjC,CAAA,QAAA7B,MAAA,CAAAF,CAAA,MAAAA,CAAA,UAAAgC,CAAA,uBAAAA,CAAA,IAAAjC,CAAA,GAAAU,CAAA,CAAAoB,IAAA,CAAA7B,CAAA,GAAAsD,IAAA,MAAA3C,CAAA,CAAA6D,IAAA,CAAAzE,CAAA,CAAAS,KAAA,GAAAG,CAAA,CAAAkE,MAAA,KAAA9C,CAAA,GAAAC,CAAA,iBAAA/B,CAAA,IAAAK,CAAA,OAAAF,CAAA,GAAAH,CAAA,yBAAA+B,CAAA,YAAAhC,CAAA,eAAAe,CAAA,GAAAf,CAAA,cAAAE,MAAA,CAAAa,CAAA,MAAAA,CAAA,2BAAAT,CAAA,QAAAF,CAAA,aAAAO,CAAA;AAAA,SAAAyG,gBAAAnH,CAAA,QAAAyH,KAAA,CAAAG,OAAA,CAAA5H,CAAA,UAAAA,CAAA;AAoBO,IAAM6H,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG,SAAhBA,aAAaA,CAAA,EAEnB;EACL,IAAME,KAAK,GAAG,IAAAC,oCAAiB,EAAgB,CAAC;EAChD,IAAAC,SAAA,GAAoC,IAAAC,eAAQ,EAAc,CAAC;IAAAC,UAAA,GAAAjB,cAAA,CAAAe,SAAA;IAApDG,UAAU,GAAAD,UAAA;IAAEE,aAAa,GAAAF,UAAA;EAChC,IAAAG,UAAA,GAA0C,IAAAJ,eAAQ,EAAC,KAAK,CAAC;IAAAK,UAAA,GAAArB,cAAA,CAAAoB,UAAA;IAAlDE,aAAa,GAAAD,UAAA;IAAEE,gBAAgB,GAAAF,UAAA;EACtC,IAAAG,UAAA,GAA0B,IAAAR,eAAQ,EAAgB,CAAC;IAAAS,UAAA,GAAAzB,cAAA,CAAAwB,UAAA;IAA5CE,KAAK,GAAAD,UAAA;IAAEE,QAAQ,GAAAF,UAAA;EAEtB,IAAMG,QAAQ,GAAG,IAAAC,kBAAW;IAAA,IAAAC,IAAA,GAAAnC,iBAAA,eAAAhH,mBAAA,GAAAoF,IAAA,CAC1B,SAAAgE,QAAOC,MAAuB;MAAA,IAAAC,kBAAA,EAAAC,mBAAA,EAAAC,OAAA,EAAAC,gBAAA,EAAAC,oBAAA,EAAAC,SAAA,EAAAC,OAAA,EAAAC,GAAA,EAAAC,MAAA,EAAAC,KAAA,EAAAC,eAAA,EAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,EAAAC,QAAA,EAAAC,IAAA;MAAA,OAAArK,mBAAA,GAAAuB,IAAA,UAAA+I,SAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAA1E,IAAA,GAAA0E,QAAA,CAAArG,IAAA;UAAA;YAAA,IACvBgE,KAAK,CAACsC,QAAQ,CAACC,GAAG;cAAAF,QAAA,CAAArG,IAAA;cAAA;YAAA;YAAA,OAAAqG,QAAA,CAAAxG,MAAA;UAAA;YAAAwG,QAAA,CAAArG,IAAA;YAAA,OAQbuB,OAAO,CAACiF,GAAG,CAAC,CAAAjF,OAAA,CAAAtC,OAAA,GAAAE,IAAA;cAAA,OAAAoD,uBAAA,CAAA3G,OAAA,CACb,mBAAmB;YAAA,IAAA2F,OAAA,CAAAtC,OAAA,GAAAE,IAAA;cAAA,OAAAoD,uBAAA,CAAA3G,OAAA,CACnB,qBAAqB;YAAA,IAAA2F,OAAA,CAAAtC,OAAA,GAAAE,IAAA;cAAA,OAAAoD,uBAAA,CAAA3G,OAAA,CACrB,wCAAwC;YAAA,GAChD,CAAC;UAAA;YAAAwJ,kBAAA,GAAAiB,QAAA,CAAA3G,IAAA;YAAA2F,mBAAA,GAAAlC,cAAA,CAAAiC,kBAAA;YAPEE,OAAO,GAAAD,mBAAA,IAAPC,OAAO;YACPC,gBAAgB,GAAAF,mBAAA,IAAhBE,gBAAgB;YAAAC,oBAAA,GAAAH,mBAAA;YAChBI,SAAS,GAAAD,oBAAA,CAATC,SAAS;YAAEC,OAAO,GAAAF,oBAAA,CAAPE,OAAO;YAAEC,GAAG,GAAAH,oBAAA,CAAHG,GAAG;YAAEC,MAAM,GAAAJ,oBAAA,CAANI,MAAM;YAAEC,KAAK,GAAAL,oBAAA,CAALK,KAAK;YAO1CnB,gBAAgB,CAAC,IAAI,CAAC;YAAC2B,QAAA,CAAA1E,IAAA;YAAA0E,QAAA,CAAArG,IAAA;YAAA,OAGEgE,KAAK,CAACsC,QAAQ,CAACC,GAAG,CAACxB,QAAQ,CAChDO,OAAO,CAACmB,OAAO,CAACC,UAAU,CAACvB,MAAM,CAACwB,cAAc,CAAC,CAACC,OAAO,CAAC,CAAC,EAC3DC,MAAM,CAAClD,IAAI,CACT,OAAOwB,MAAM,CAAC2B,OAAO,KAAK,QAAQ,GAC9B3B,MAAM,CAAC2B,OAAO,GACdC,IAAI,CAACC,SAAS,CAAC7B,MAAM,CAAC2B,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAC3C,OACF,CAAC,CAACrD,QAAQ,CAAC,KAAK,CAClB,CAAC;UAAA;YARKsC,QAAQ,GAAAM,QAAA,CAAA3G,IAAA;YAURsG,SAAS,GAAGP,SAAS,CAACwB,UAAU,CACpC,IAAIC,UAAU,CAACL,MAAM,CAAClD,IAAI,CAACoC,QAAQ,CAACoB,SAAS,EAAE,KAAK,CAAC,CACvD,CAAC;YACKlB,OAAO,GAAGP,OAAO,CAACuB,UAAU,CAChC,IAAIC,UAAU,CAACL,MAAM,CAAClD,IAAI,CAACoC,QAAQ,CAACqB,GAAG,EAAE,KAAK,CAAC,CACjD,CAAC;YACKlB,QAAQ,GAAGP,GAAG,CAAC0B,YAAY,CAACzB,MAAM,CAAC0B,QAAQ,CAAC,GAAG,CAAC,CAAC;YAEjDnB,IAAiB,GAAG;cACxBW,OAAO,EAAED,MAAM,CAAClD,IAAI,CAACqC,SAAS,CAACuB,WAAW,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC,CAAC,CAAC/D,QAAQ,CAC/D,KACF,CAAC;cACD0D,SAAS,EAAE5B,gBAAgB,CAACkC,SAAS,CAACzB,SAAS,CAACmB,SAAS,CAAC,CAAC,CAAC,CAACO,GAAG,CAAC,CAAC;cAClEN,GAAG,EAAEP,MAAM,CAAClD,IAAI,CACd,EAAAmC,eAAA,GAAAG,OAAO,CAAC0B,MAAM,CAAC9B,KAAK,CAAC+B,OAAO,CAAC1B,QAAQ,CAAC,CAAC,cAAAJ,eAAA,uBAAvCA,eAAA,CAAyC+B,QAAQ,CAAC,CAAC,KAAI,EACzD,CAAC,CAACpE,QAAQ,CAAC,KAAK,CAAC;cACjBqE,OAAO,EAAE;gBAAEC,OAAO,EAAEhC,QAAQ,CAACqB,GAAG;gBAAEY,aAAa,EAAEjC,QAAQ,CAACoB;cAAU;YACtE,CAAC;YAED7C,aAAa,CAAC6B,IAAI,CAAC;YACnBzB,gBAAgB,CAAC,KAAK,CAAC;YAAC,OAAA2B,QAAA,CAAAxG,MAAA,WACjBsG,IAAI;UAAA;YAAAE,QAAA,CAAA1E,IAAA;YAAA0E,QAAA,CAAA4B,EAAA,GAAA5B,QAAA;YAEX3B,gBAAgB,CAAC,KAAK,CAAC;YACvBI,QAAQ,CAAAuB,QAAA,CAAA4B,EAAmB,CAAC;UAAC;UAAA;YAAA,OAAA5B,QAAA,CAAAvE,IAAA;QAAA;MAAA,GAAAoD,OAAA;IAAA,CAEhC;IAAA,iBAAAgD,EAAA;MAAA,OAAAjD,IAAA,CAAAjC,KAAA,OAAAD,SAAA;IAAA;EAAA,KACD,CAACiB,KAAK,CAACsC,QAAQ,CAACC,GAAG,CACrB,CAAC;EAED,OAAO,IAAA4B,cAAO,EACZ;IAAA,OAAO;MACLpD,QAAQ,EAARA,QAAQ;MACRV,UAAU,EAAVA,UAAU;MACVI,aAAa,EAAbA,aAAa;MACbI,KAAK,EAALA;IACF,CAAC;EAAA,CAAC,EACF,CAACE,QAAQ,EAAEV,UAAU,EAAEI,aAAa,EAAEI,KAAK,CAC7C,CAAC;AACH,CAAC","ignoreList":[]}
|
|
@@ -71,7 +71,6 @@ export class WalletObserver extends WalletObserverEvent {
|
|
|
71
71
|
newNetwork = await this.getNetwork();
|
|
72
72
|
if (newNetwork instanceof Error) {
|
|
73
73
|
this.dispatch(EWalletObserverEvents.SYNCING_WALLET_END);
|
|
74
|
-
this.dispatch(EWalletObserverEvents.CONNECT_WALLET_END);
|
|
75
74
|
this._performingSync = false;
|
|
76
75
|
throw newNetwork;
|
|
77
76
|
}
|
|
@@ -94,16 +93,11 @@ export class WalletObserver extends WalletObserverEvent {
|
|
|
94
93
|
...result,
|
|
95
94
|
activeWallet: this.activeWallet
|
|
96
95
|
});
|
|
97
|
-
this.dispatch(EWalletObserverEvents.CONNECT_WALLET_END, {
|
|
98
|
-
...result,
|
|
99
|
-
activeWallet: this.activeWallet
|
|
100
|
-
});
|
|
101
96
|
this._performingSync = false;
|
|
102
97
|
return result;
|
|
103
98
|
} catch (e) {
|
|
104
99
|
this._performingSync = false;
|
|
105
100
|
this.dispatch(EWalletObserverEvents.SYNCING_WALLET_END);
|
|
106
|
-
this.dispatch(EWalletObserverEvents.CONNECT_WALLET_END);
|
|
107
101
|
throw e;
|
|
108
102
|
}
|
|
109
103
|
});
|
|
@@ -159,7 +153,7 @@ export class WalletObserver extends WalletObserverEvent {
|
|
|
159
153
|
* 10 seconds before throw an error.
|
|
160
154
|
*
|
|
161
155
|
* @param {string} extension The name of the extension to enable.
|
|
162
|
-
* @return {Promise<
|
|
156
|
+
* @return {Promise<IWalletObserverSync<AssetMetadata> | Error>}
|
|
163
157
|
*/
|
|
164
158
|
_defineProperty(this, "connectWallet", async extension => {
|
|
165
159
|
const start = performance.now();
|
|
@@ -180,26 +174,32 @@ export class WalletObserver extends WalletObserverEvent {
|
|
|
180
174
|
attempts++;
|
|
181
175
|
}
|
|
182
176
|
if (!extensionObject) {
|
|
177
|
+
this.dispatch(EWalletObserverEvents.CONNECT_WALLET_END);
|
|
183
178
|
throw new Error("Wallet extension not found in the global context.");
|
|
184
179
|
}
|
|
185
|
-
const api = await this.syncApi(extension);
|
|
186
180
|
this.activeWallet = extension;
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
181
|
+
await this.syncApi(extension);
|
|
182
|
+
const data = await this.sync();
|
|
183
|
+
if (this._options.persistence) {
|
|
184
|
+
if (data.usedAddresses instanceof Error) {
|
|
185
|
+
data.usedAddresses.cause = "Could not get a list of used addresses from the wallet when trying to save the connection.";
|
|
186
|
+
throw data.usedAddresses;
|
|
192
187
|
}
|
|
193
188
|
const seed = {
|
|
194
189
|
activeWallet: extension,
|
|
195
|
-
mainAddress:
|
|
190
|
+
mainAddress: data.usedAddresses[0]
|
|
196
191
|
};
|
|
197
192
|
window.localStorage.setItem(WalletObserver.PERSISTENCE_CACHE_KEY, JSON.stringify(seed));
|
|
198
193
|
}
|
|
194
|
+
this.dispatch(EWalletObserverEvents.CONNECT_WALLET_END, {
|
|
195
|
+
...data,
|
|
196
|
+
activeWallet: extension
|
|
197
|
+
});
|
|
199
198
|
const end = performance.now();
|
|
200
199
|
if (this._options.debug) {
|
|
201
200
|
console.log(`connectWallet: ${end - start}ms`);
|
|
202
201
|
}
|
|
202
|
+
return data;
|
|
203
203
|
});
|
|
204
204
|
_defineProperty(this, "getCip45Instance", async () => {
|
|
205
205
|
const start = performance.now();
|