@sundaeswap/wallet-lite 0.0.102 → 0.0.104

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 (22) hide show
  1. package/dist/cjs/classes/WalletObserver.class.js +236 -172
  2. package/dist/cjs/classes/WalletObserver.class.js.map +1 -1
  3. package/dist/cjs/react-components/WalletObserverProvider/hooks/useWalletObserverState.js +35 -22
  4. package/dist/cjs/react-components/WalletObserverProvider/hooks/useWalletObserverState.js.map +1 -1
  5. package/dist/cjs/react-components/hooks/useWalletObserver.js +2 -1
  6. package/dist/cjs/react-components/hooks/useWalletObserver.js.map +1 -1
  7. package/dist/esm/classes/WalletObserver.class.js +49 -0
  8. package/dist/esm/classes/WalletObserver.class.js.map +1 -1
  9. package/dist/esm/react-components/WalletObserverProvider/hooks/useWalletObserverState.js +4 -0
  10. package/dist/esm/react-components/WalletObserverProvider/hooks/useWalletObserverState.js.map +1 -1
  11. package/dist/esm/react-components/hooks/useWalletObserver.js +2 -1
  12. package/dist/esm/react-components/hooks/useWalletObserver.js.map +1 -1
  13. package/dist/types/classes/WalletObserver.class.d.ts +11 -0
  14. package/dist/types/classes/WalletObserver.class.d.ts.map +1 -1
  15. package/dist/types/react-components/WalletObserverProvider/hooks/useWalletObserverState.d.ts +1 -0
  16. package/dist/types/react-components/WalletObserverProvider/hooks/useWalletObserverState.d.ts.map +1 -1
  17. package/dist/types/react-components/hooks/useWalletObserver.d.ts.map +1 -1
  18. package/dist/types/tsconfig.build.tsbuildinfo +1 -1
  19. package/package.json +1 -1
  20. package/src/classes/WalletObserver.class.ts +54 -0
  21. package/src/react-components/WalletObserverProvider/hooks/useWalletObserverState.ts +5 -0
  22. package/src/react-components/hooks/useWalletObserver.ts +2 -0
@@ -1 +1 @@
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","changeAddress","setChangeAddress","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","newChangeAddress","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 [changeAddress, setChangeAddress] = useState<string | undefined>();\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 setChangeAddress(undefined);\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 const newChangeAddress = freshData.changeAddress;\n if (!(newChangeAddress instanceof Error)) {\n setChangeAddress((prevValue) =>\n prevValue === newChangeAddress ? prevValue : newChangeAddress,\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 changeAddress,\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 setChangeAddress,\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","changeAddress","setChangeAddress","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","resyncMetadata","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","newChangeAddress","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 [changeAddress, setChangeAddress] = useState<string | undefined>();\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 setChangeAddress(undefined);\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 resyncMetadata = useCallback(async () => {\n await observer.resyncMetadata();\n }, [observer]);\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 const newChangeAddress = freshData.changeAddress;\n if (!(newChangeAddress instanceof Error)) {\n setChangeAddress((prevValue) =>\n prevValue === newChangeAddress ? prevValue : newChangeAddress,\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 changeAddress,\n resyncMetadata,\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 setChangeAddress,\n switching,\n syncWallet,\n unusedAddresses,\n usedAddresses,\n utxos,\n willAutoConnect,\n };\n};\n"],"mappings":"AACA,SAASA,WAAW,QAA8B,mBAAmB;AACrE,SAASC,WAAW,EAAEC,SAAS,EAAEC,QAAQ,EAAEC,aAAa,QAAQ,OAAO;AAGvE,SAASC,WAAW,QAAQ,uCAAuC;AACnE,SAASC,gBAAgB,QAAQ,4CAA4C;AAC7E,SAASC,cAAc,QAAQ,0CAA0C;AACzE,SAASC,YAAY,QAAQ,uBAAuB;AACpD,SAASC,iBAAiB,QAAQ,+BAA+B;;AAEjE;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,sBAAsB,GAGjCC,QAAuC,IACpC;EACH,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAGV,QAAQ,CAAS,CAAC;EAC1D,MAAM,CAACW,UAAU,EAAEC,aAAa,CAAC,GAAGZ,QAAQ,CAC1C,IAAIH,WAAW,CAAgB,EAAE,CACnC,CAAC;EACD,MAAM,CAACgB,OAAO,EAAEC,UAAU,CAAC,GAAGd,QAAQ,CACpC,IAAIG,gBAAgB,CAAgBK,QAAQ,CAC9C,CAAC;EACD,MAAM,CAACO,cAAc,EAAEC,iBAAiB,CAAC,GAAGhB,QAAQ,CAAU,KAAK,CAAC;EACpE,MAAM,CAACiB,OAAO,EAAEC,UAAU,CAAC,GAAGlB,QAAQ,CAAqB,CAAC;EAC5D,MAAM,CAACmB,aAAa,EAAEC,gBAAgB,CAAC,GAAGpB,QAAQ,CAAW,EAAE,CAAC;EAChE,MAAM,CAACqB,eAAe,EAAEC,kBAAkB,CAAC,GAAGtB,QAAQ,CAAW,EAAE,CAAC;EACpE,MAAM,CAACuB,aAAa,EAAEC,gBAAgB,CAAC,GAAGxB,QAAQ,CAAqB,CAAC;EACxE,MAAM,CAACyB,UAAU,EAAEC,aAAa,CAAC,GAAG1B,QAAQ,CAAqB,CAAC;EAClE,MAAM,CAAC2B,KAAK,EAAEC,QAAQ,CAAC,GAAG5B,QAAQ,CAA6B,CAAC;EAChE,MAAM,CAAC6B,UAAU,EAAEC,aAAa,CAAC,GAAG9B,QAAQ,CAA6B,CAAC;EAC1E,MAAM,CAAC+B,OAAO,EAAEC,UAAU,CAAC,GAAGhC,QAAQ,CAAC,KAAK,CAAC;EAC7C,MAAM,CAACiC,SAAS,EAAEC,YAAY,CAAC,GAAGlC,QAAQ,CAAC,KAAK,CAAC;EACjD,MAAM,CAACmC,YAAY,EAAEC,eAAe,CAAC,GAAGpC,QAAQ,CAAC,KAAK,CAAC;EACvD,MAAM,CAACqC,SAAS,EAAEC,eAAe,CAAC,GAAGrC,aAAa,CAAC,CAAC;EACpD,MAAM,CAACsC,eAAe,EAAEC,kBAAkB,CAAC,GAAGxC,QAAQ,CACpDyC,OAAO,CACLC,MAAM,CAACC,YAAY,CAACC,OAAO,CAACxC,cAAc,CAACyC,qBAAqB,CAAC,IAC/DrC,QAAQ,CAACsC,UAAU,CAAC,CAAC,CAACC,WAC1B,CACF,CAAC;EAED,MAAMC,UAAU,GAAGlD,WAAW,CAAC,MAAM;IACnC;IACAU,QAAQ,CAACwC,UAAU,CAAC,CAAC;;IAErB;IACApC,aAAa,CAAC,IAAIf,WAAW,CAAC,EAAE,CAAC,CAAC;IAClCiB,UAAU,CAAC,IAAIX,gBAAgB,CAACK,QAAQ,CAAC,CAAC;IAC1CY,gBAAgB,CAAC,EAAE,CAAC;IACpBE,kBAAkB,CAAC,EAAE,CAAC;IACtBE,gBAAgB,CAACyB,SAAS,CAAC;IAC3BvC,eAAe,CAACuC,SAAS,CAAC;IAC1B/B,UAAU,CAAC+B,SAAS,CAAC;IACrBrB,QAAQ,CAACqB,SAAS,CAAC;IACnBnB,aAAa,CAACmB,SAAS,CAAC;IACxBvB,aAAa,CAACuB,SAAS,CAAC;IACxBjB,UAAU,CAAC,KAAK,CAAC;IACjBQ,kBAAkB,CAAC,KAAK,CAAC;EAC3B,CAAC,EAAE,CAAChC,QAAQ,CAAC,CAAC;EAEd,MAAM0C,aAAa,GAAGpD,WAAW,CAC/B,MAAOqD,MAAc,IAAK;IACxB,IAAI3C,QAAQ,CAAC4C,mBAAmB,CAAC,CAAC,IAAID,MAAM,KAAK3C,QAAQ,CAACC,YAAY,EAAE;MACtEyB,YAAY,CAAC,MAAM,IAAI,CAAC;IAC1B;IAEA,MAAMmB,IAAI,GAAG,MAAM7C,QAAQ,CAAC0C,aAAa,CAACC,MAAM,CAAC;IACjDnC,iBAAiB,CAACR,QAAQ,CAAC8C,GAAG,YAAYpD,WAAW,CAAC;IACtD,MAAMqD,UAAU,CAACF,IAAI,YAAYG,KAAK,GAAGP,SAAS,GAAGI,IAAI,CAAC;IAC1DnB,YAAY,CAAC,MAAM,KAAK,CAAC;IACzB,OAAO1B,QAAQ,CAAC8C,GAAG;EACrB,CAAC,EACD,CAAC9C,QAAQ,EAAE0B,YAAY,EAAElB,iBAAiB,CAC5C,CAAC;EAED,MAAMyC,cAAc,GAAG3D,WAAW,CAAC,YAAY;IAC7C,MAAMU,QAAQ,CAACiD,cAAc,CAAC,CAAC;EACjC,CAAC,EAAE,CAACjD,QAAQ,CAAC,CAAC;EAEd,MAAM+C,UAAU,GAAGzD,WAAW,CAC5B,MAAO4D,YAA6D,IAAK;IACvE,IAAIlD,QAAQ,CAACmD,SAAS,CAAC,CAAC,IAAI,CAACnD,QAAQ,CAAC4C,mBAAmB,CAAC,CAAC,EAAE;MAC3D;IACF;IAEA,MAAMQ,SAAS,GAAGpD,QAAQ,CAACC,YAAY;IACvC,IAAI,CAACmD,SAAS,EAAE;MACdZ,UAAU,CAAC,CAAC;MACZ;IACF;IAEAhB,UAAU,CAAC4B,SAAS,CAACC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACrCnD,eAAe,CAAEoD,UAAU,IACzBF,SAAS,KAAKE,UAAU,GAAGA,UAAU,GAAGF,SAC1C,CAAC;IACD5C,iBAAiB,CAACR,QAAQ,CAAC8C,GAAG,YAAYpD,WAAW,CAAC;IAEtD,IAAI;MACF,MAAM6D,SAAS,GAAGL,YAAY,KAAK,MAAMlD,QAAQ,CAACwD,IAAI,CAAC,CAAC,CAAC;MAEzD1B,eAAe,CAAC,MAAM;QACpB,MAAM2B,aAAa,GAAGF,SAAS,CAACG,UAAU;QAC1C,IAAID,aAAa,YAAY9D,gBAAgB,EAAE;UAC7C,MAAMgE,aAAa,GAAGF,aAAa,CAACG,GAAG,CAAC/D,YAAY,CAAC;UACrD,IAAI8D,aAAa,EAAE;YACjBvD,aAAa,CAAEyD,WAAW,IACxBA,WAAW,CAACC,MAAM,KAAKH,aAAa,CAACG,MAAM,GACvCD,WAAW,GACXF,aACN,CAAC;YAEDrD,UAAU,CAAEuD,WAAW,IACrB/D,iBAAiB,CAAC+D,WAAW,EAAEJ,aAAa,CAAC,GACzCI,WAAW,GACXJ,aACN,CAAC;UACH;QACF;QAEA,MAAMM,gBAAgB,GAAGR,SAAS,CAAC5C,aAAa;QAChD,IAAIoD,gBAAgB,YAAYC,KAAK,EAAE;UACrCpD,gBAAgB,CAAEqD,SAAS,IAAK;YAC9B,OAAOC,IAAI,CAACC,SAAS,CAACF,SAAS,CAAC,KAC9BC,IAAI,CAACC,SAAS,CAACJ,gBAAgB,CAAC,GAC9BE,SAAS,GACTF,gBAAgB;UACtB,CAAC,CAAC;QACJ;QAEA,MAAMK,kBAAkB,GAAGb,SAAS,CAAC1C,eAAe;QACpD,IAAIuD,kBAAkB,YAAYJ,KAAK,EAAE;UACvClD,kBAAkB,CAAEmD,SAAS,IAC3BC,IAAI,CAACC,SAAS,CAACF,SAAS,CAAC,KAAKC,IAAI,CAACC,SAAS,CAACC,kBAAkB,CAAC,GAC5DH,SAAS,GACTG,kBACN,CAAC;QACH;QAEA,MAAMC,UAAU,GAAGd,SAAS,CAAC9C,OAAO;QACpC,IAAI,OAAO4D,UAAU,KAAK,QAAQ,EAAE;UAClC3D,UAAU,CAAEuD,SAAS,IACnBA,SAAS,KAAKI,UAAU,GAAGJ,SAAS,GAAGI,UACzC,CAAC;QACH;QAEA,MAAMC,QAAQ,GAAGf,SAAS,CAACpC,KAAK;QAChC,IAAImD,QAAQ,YAAYN,KAAK,EAAE;UAC7B5C,QAAQ,CAAE6C,SAAS,IAAK;YACtB,MAAMM,YAAY,GAAGN,SAAS,EAAEO,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACC,MAAM,CAAC,CAAC,CAAC;YACtD,MAAMC,WAAW,GAAGL,QAAQ,EAAEE,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACC,MAAM,CAAC,CAAC,CAAC;YACpD,IAAIH,YAAY,KAAKI,WAAW,EAAE;cAChC,OAAOL,QAAQ;YACjB;YAEA,OAAOL,SAAS;UAClB,CAAC,CAAC;QACJ;QAEA,MAAMW,aAAa,GAAGrB,SAAS,CAAClC,UAAU;QAC1C,IAAIuD,aAAa,YAAYZ,KAAK,EAAE;UAClC1C,aAAa,CAAE2C,SAAS,IAAK;YAC3B,MAAMM,YAAY,GAAGN,SAAS,EAAEO,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACC,MAAM,CAAC,CAAC,CAAC;YACtD,MAAMC,WAAW,GAAGC,aAAa,EAAEJ,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACC,MAAM,CAAC,CAAC,CAAC;YACzD,IAAIH,YAAY,KAAKI,WAAW,EAAE;cAChC,OAAOC,aAAa;YACtB;YAEA,OAAOX,SAAS;UAClB,CAAC,CAAC;QACJ;QAEA,MAAMY,aAAa,GAAGtB,SAAS,CAACtC,UAAU;QAC1C,IAAI,OAAO4D,aAAa,KAAK,QAAQ,EAAE;UACrC3D,aAAa,CAAE+C,SAAS,IACtBA,SAAS,KAAKY,aAAa,GAAGZ,SAAS,GAAGY,aAC5C,CAAC;QACH;QAEA,MAAMC,gBAAgB,GAAGvB,SAAS,CAACxC,aAAa;QAChD,IAAI,EAAE+D,gBAAgB,YAAY9B,KAAK,CAAC,EAAE;UACxChC,gBAAgB,CAAEiD,SAAS,IACzBA,SAAS,KAAKa,gBAAgB,GAAGb,SAAS,GAAGa,gBAC/C,CAAC;QACH;MACF,CAAC,CAAC;IACJ,CAAC,CAAC,OAAOC,CAAC,EAAE;MACVnD,eAAe,CAAC,IAAI,CAAC;MACpBmD,CAAC,CAAWC,KAAK,GAChB,uHAAuH;MACzH,MAAMD,CAAC;IACT;EACF,CAAC,EACD,CAAC/E,QAAQ,EAAEwC,UAAU,CACvB,CAAC;;EAED;AACF;AACA;EACEjD,SAAS,CAAC,MAAM;IACd,MAAM0F,IAAI,GAAGA,CAAA,KAAMlC,UAAU,CAAC,CAAC;IAC/Bb,MAAM,CAACgD,gBAAgB,CAAC,OAAO,EAAED,IAAI,CAAC;IAEtC,OAAO,MAAM;MACX/C,MAAM,CAACgD,gBAAgB,CAAC,OAAO,EAAED,IAAI,CAAC;IACxC,CAAC;EACH,CAAC,EAAE,CAAClC,UAAU,CAAC,CAAC;EAEhB,OAAO;IACL9C,YAAY;IACZE,UAAU;IACVE,OAAO;IACPgB,UAAU;IACVqB,aAAa;IACbF,UAAU;IACVb,YAAY;IACZV,UAAU;IACVM,OAAO;IACPM,SAAS;IACTtB,cAAc;IACdE,OAAO;IACPM,aAAa;IACbkC,cAAc;IACd/C,eAAe;IACfE,aAAa;IACbE,UAAU;IACVgB,aAAa;IACbJ,aAAa;IACbM,UAAU;IACVhB,iBAAiB;IACjBE,UAAU;IACVgB,YAAY;IACZZ,kBAAkB;IAClBF,gBAAgB;IAChBQ,QAAQ;IACRJ,gBAAgB;IAChBS,SAAS;IACTsB,UAAU;IACVlC,eAAe;IACfF,aAAa;IACbQ,KAAK;IACLY;EACF,CAAC;AACH,CAAC","ignoreList":[]}
@@ -26,6 +26,7 @@ export const useWalletObserver = () => {
26
26
  changeAddress: state.changeAddress,
27
27
  network: state.network,
28
28
  observer: state.observer,
29
+ resyncMetadata: state.resyncMetadata,
29
30
  stakeAddress: state.stakeAddress,
30
31
  switching: state.switching,
31
32
  syncWallet: state.syncWallet,
@@ -33,7 +34,7 @@ export const useWalletObserver = () => {
33
34
  usedAddresses: state.usedAddresses,
34
35
  utxos: state.utxos,
35
36
  willAutoConnect: state.willAutoConnect
36
- }), [state.changeAddress, 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]);
37
+ }), [state.changeAddress, 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.resyncMetadata, state.stakeAddress, state.switching, state.syncWallet, state.unusedAddresses, state.usedAddresses, state.utxos, state.willAutoConnect]);
37
38
  return result;
38
39
  };
39
40
  //# 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","isReadOnlyMode","mainAddress","changeAddress","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 changeAddress: state.changeAddress,\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.changeAddress,\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,aAAa,EAAEd,KAAK,CAACc,aAAa;IAClCC,OAAO,EAAEf,KAAK,CAACe,OAAO;IACtBC,QAAQ,EAAEhB,KAAK,CAACgB,QAAQ;IACxBC,YAAY,EAAEjB,KAAK,CAACiB,YAAY;IAChCC,SAAS,EAAElB,KAAK,CAACkB,SAAS;IAC1BC,UAAU,EAAEnB,KAAK,CAACmB,UAAU;IAC5BC,eAAe,EAAEpB,KAAK,CAACoB,eAAe;IACtCC,aAAa,EAAErB,KAAK,CAACqB,aAAa;IAClCC,KAAK,EAAEtB,KAAK,CAACsB,KAAK;IAClBC,eAAe,EAAEvB,KAAK,CAACuB;EACzB,CAAC,CAAC,EACF,CACEvB,KAAK,CAACc,aAAa,EACnBd,KAAK,CAACE,YAAY,EAClBF,KAAK,CAACG,UAAU,CAACqB,MAAM,EACvBxB,KAAK,CAACI,OAAO,CAACqB,IAAI,EAClBzB,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,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
+ {"version":3,"file":"useWalletObserver.js","names":["useMemo","useWalletObserverContext","useWalletObserver","state","result","activeWallet","adaBalance","balance","collateral","connectWallet","disconnect","errorSyncing","feeAddress","isCip45","isPending","isReadOnlyMode","mainAddress","changeAddress","network","observer","resyncMetadata","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 changeAddress: state.changeAddress,\n network: state.network,\n observer: state.observer,\n resyncMetadata: state.resyncMetadata,\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.changeAddress,\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.resyncMetadata,\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,aAAa,EAAEd,KAAK,CAACc,aAAa;IAClCC,OAAO,EAAEf,KAAK,CAACe,OAAO;IACtBC,QAAQ,EAAEhB,KAAK,CAACgB,QAAQ;IACxBC,cAAc,EAAEjB,KAAK,CAACiB,cAAc;IACpCC,YAAY,EAAElB,KAAK,CAACkB,YAAY;IAChCC,SAAS,EAAEnB,KAAK,CAACmB,SAAS;IAC1BC,UAAU,EAAEpB,KAAK,CAACoB,UAAU;IAC5BC,eAAe,EAAErB,KAAK,CAACqB,eAAe;IACtCC,aAAa,EAAEtB,KAAK,CAACsB,aAAa;IAClCC,KAAK,EAAEvB,KAAK,CAACuB,KAAK;IAClBC,eAAe,EAAExB,KAAK,CAACwB;EACzB,CAAC,CAAC,EACF,CACExB,KAAK,CAACc,aAAa,EACnBd,KAAK,CAACE,YAAY,EAClBF,KAAK,CAACG,UAAU,CAACsB,MAAM,EACvBzB,KAAK,CAACI,OAAO,CAACsB,IAAI,EAClB1B,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,CAACe,OAAO,EACbf,KAAK,CAACgB,QAAQ,EACdhB,KAAK,CAACiB,cAAc,EACpBjB,KAAK,CAACkB,YAAY,EAClBlB,KAAK,CAACmB,SAAS,EACfnB,KAAK,CAACoB,UAAU,EAChBpB,KAAK,CAACqB,eAAe,EACrBrB,KAAK,CAACsB,aAAa,EACnBtB,KAAK,CAACuB,KAAK,EACXvB,KAAK,CAACwB,eAAe,CAEzB,CAAC;EAED,OAAOvB,MAAM;AACf,CAAC","ignoreList":[]}
@@ -29,6 +29,7 @@ export declare class WalletObserver<AssetMetadata extends IAssetAmountMetadata =
29
29
  private _performingSync;
30
30
  private _options;
31
31
  private _cachedMetadata;
32
+ private _metadataAbortController;
32
33
  /**
33
34
  * Creates an instance of WalletObserver.
34
35
  *
@@ -78,6 +79,8 @@ export declare class WalletObserver<AssetMetadata extends IAssetAmountMetadata =
78
79
  getOptions: () => TWalletObserverOptions;
79
80
  /**
80
81
  * Updates the wallet observer options. Merges the new options with the existing ones.
82
+ * If metadataResolver changes, cancels any in-flight metadata fetch, clears the cache,
83
+ * and triggers a new sync if there is an active connection.
81
84
  *
82
85
  * @param {Partial<TWalletObserverOptions<AssetMetadata>>} options - The new options to merge.
83
86
  */
@@ -102,6 +105,13 @@ export declare class WalletObserver<AssetMetadata extends IAssetAmountMetadata =
102
105
  * @returns {Map<string, AssetMetadata>}
103
106
  */
104
107
  getCachedAssetMetadata: () => Map<string, AssetMetadata>;
108
+ /**
109
+ * Clears the cached metadata and triggers a fresh sync to re-fetch metadata.
110
+ * Useful when the client wants to manually refresh metadata without changing the resolver.
111
+ *
112
+ * @returns {Promise<void>}
113
+ */
114
+ resyncMetadata: () => Promise<void>;
105
115
  /**
106
116
  * Helper function to restore the class instance to its initial state.
107
117
  *
@@ -158,6 +168,7 @@ export declare class WalletObserver<AssetMetadata extends IAssetAmountMetadata =
158
168
  getCollateral: () => Promise<TransactionUnspentOutput[] | Error | undefined>;
159
169
  /**
160
170
  * Resolves metadata for the given asset IDs, using a cached version if available.
171
+ * Aborts any in-flight fetch when called, ensuring only the latest request completes.
161
172
  *
162
173
  * @private
163
174
  * @param {string[]} assetIds - The IDs of the assets to resolve metadata for.
@@ -1 +1 @@
1
- {"version":3,"file":"WalletObserver.class.d.ts","sourceRoot":"","sources":["../../../src/classes/WalletObserver.class.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WalletObserver.class.d.ts","sourceRoot":"","sources":["../../../src/classes/WalletObserver.class.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,7 @@ export declare const useWalletObserverState: <AssetMetadata extends IAssetAmount
24
24
  isReadOnlyMode: boolean;
25
25
  network: number | undefined;
26
26
  changeAddress: string | undefined;
27
+ resyncMetadata: () => Promise<void>;
27
28
  setActiveWallet: import("react").Dispatch<import("react").SetStateAction<string | undefined>>;
28
29
  setAdaBalance: import("react").Dispatch<import("react").SetStateAction<AssetAmount<AssetMetadata>>>;
29
30
  setBalance: import("react").Dispatch<import("react").SetStateAction<WalletBalanceMap<AssetMetadata>>>;
@@ -1 +1 @@
1
- {"version":3,"file":"useWalletObserverState.d.ts","sourceRoot":"","sources":["../../../../../src/react-components/WalletObserverProvider/hooks/useWalletObserverState.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sEAAsE,CAAC;AACrH,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAGtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAI1E;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,gFAGvB,eAAe,aAAa,CAAC;;;;;4BAgDtB,MAAM;;;;;;;;;;;;;;;;;;;;;;;gCAeC,oBAAoB,aAAa,CAAC,GAAG,SAAS;;;;;CAiKvE,CAAC"}
1
+ {"version":3,"file":"useWalletObserverState.d.ts","sourceRoot":"","sources":["../../../../../src/react-components/WalletObserverProvider/hooks/useWalletObserverState.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sEAAsE,CAAC;AACrH,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAGtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAI1E;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,gFAGvB,eAAe,aAAa,CAAC;;;;;4BAgDtB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;gCAmBC,oBAAoB,aAAa,CAAC,GAAG,SAAS;;;;;CAkKvE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useWalletObserver.d.ts","sourceRoot":"","sources":["../../../../src/react-components/hooks/useWalletObserver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAGzD,OAAO,EACL,uBAAuB,EAExB,MAAM,+BAA+B,CAAC;AAEvC;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,2EAEzB,KACH,wBAAwB,aAAa,CAAC,EACtC,OAAO,GAAG,kBAAkB,GAAG,eAAe,CA2D/C,CAAC"}
1
+ {"version":3,"file":"useWalletObserver.d.ts","sourceRoot":"","sources":["../../../../src/react-components/hooks/useWalletObserver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAGzD,OAAO,EACL,uBAAuB,EAExB,MAAM,+BAA+B,CAAC;AAEvC;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,2EAEzB,KACH,wBAAwB,aAAa,CAAC,EACtC,OAAO,GAAG,kBAAkB,GAAG,eAAe,CA6D/C,CAAC"}