@talken/talkenkit 2.4.23 → 2.4.25
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/AbcCredentialManager-DDHLW2IH.js +7 -0
- package/dist/AbcCredentialManager-E723A55X.js +7 -0
- package/dist/AbcCredentialManager-GUV5JQ2V.js +7 -0
- package/dist/AbcCredentialManager-Z7GDJHYR.js +7 -0
- package/dist/abcWallet-3PWHJXWR.js +181 -0
- package/dist/abcWallet-3XPV7ATY.js +185 -0
- package/dist/abcWallet-3XSSUDLJ.js +155 -0
- package/dist/abcWallet-53HAU4MH.js +155 -0
- package/dist/abcWallet-5B2YHZGY.js +155 -0
- package/dist/abcWallet-664AHBNM.js +183 -0
- package/dist/abcWallet-BV7HK3OX.js +181 -0
- package/dist/abcWallet-CRKQ3O6J.js +155 -0
- package/dist/abcWallet-H4JOSC4N.js +155 -0
- package/dist/abcWallet-HM7KZIMP.js +155 -0
- package/dist/abcWallet-I5DVALAS.js +155 -0
- package/dist/abcWallet-IF3EOKHC.js +183 -0
- package/dist/abcWallet-IUG22ZE3.js +155 -0
- package/dist/abcWallet-IYC3CKEO.js +155 -0
- package/dist/abcWallet-JE6UR4QF.js +181 -0
- package/dist/abcWallet-KPKVEGNP.js +185 -0
- package/dist/abcWallet-MWUFO3JQ.js +161 -0
- package/dist/abcWallet-MZAL5NXP.js +181 -0
- package/dist/abcWallet-N2UADRNR.js +155 -0
- package/dist/abcWallet-OGHORNUW.js +181 -0
- package/dist/abcWallet-OL47MLVO.js +161 -0
- package/dist/abcWallet-QSK6VJFU.js +181 -0
- package/dist/abcWallet-RKT3W3FX.js +155 -0
- package/dist/abcWallet-VHXTAARP.js +155 -0
- package/dist/abcWallet-VYU3TEGJ.js +161 -0
- package/dist/abcWallet-WZGXGXUA.js +161 -0
- package/dist/abcWallet-YFYTW2JH.js +155 -0
- package/dist/abcWallet-ZPVQY4XE.js +155 -0
- package/dist/chunk-2OHX4KTB.js +5382 -0
- package/dist/chunk-3VPMUBCL.js +5196 -0
- package/dist/chunk-5SDWPKKX.js +5322 -0
- package/dist/chunk-6RBGFYAF.js +5076 -0
- package/dist/chunk-7L2ANWBB.js +5139 -0
- package/dist/chunk-7VIEAJAM.js +5172 -0
- package/dist/chunk-ALBABQ53.js +354 -0
- package/dist/chunk-BY6GTSWI.js +5059 -0
- package/dist/chunk-DWE3CZEL.js +5171 -0
- package/dist/chunk-J6P2IT7Z.js +5465 -0
- package/dist/chunk-JIRBQUIB.js +5348 -0
- package/dist/chunk-K6CLOFGV.js +5129 -0
- package/dist/chunk-KYTIQ23P.js +5390 -0
- package/dist/chunk-MARFD3QV.js +5164 -0
- package/dist/chunk-MRRWKS2W.js +348 -0
- package/dist/chunk-NQCUKFAV.js +5381 -0
- package/dist/chunk-PILL2YTG.js +5075 -0
- package/dist/chunk-QW7D53VM.js +5129 -0
- package/dist/chunk-RAWLCGOW.js +5058 -0
- package/dist/chunk-RIEG3EJO.js +5385 -0
- package/dist/chunk-SHUPSYR2.js +5004 -0
- package/dist/chunk-UIGQOSRS.js +5174 -0
- package/dist/chunk-UINIIZCG.js +5098 -0
- package/dist/chunk-UKIPSWEV.js +5386 -0
- package/dist/chunk-VOQSYTG3.js +5419 -0
- package/dist/chunk-VT5Q2XKZ.js +5193 -0
- package/dist/chunk-VXQYKPGQ.js +5476 -0
- package/dist/chunk-VYLJNEKY.js +5129 -0
- package/dist/chunk-X24B5DJR.js +323 -0
- package/dist/chunk-X3C73JWU.js +5370 -0
- package/dist/chunk-XIDK5P36.js +288 -0
- package/dist/chunk-ZHRI7SGC.js +5359 -0
- package/dist/components/ConnectOptions/AbcWaasAuth/AbcWaasAuthFlow.d.ts +1 -2
- package/dist/components/RainbowKitProvider/InternalPinProvider.d.ts +1 -1
- package/dist/contexts/MultiChainContext.d.ts +2 -2
- package/dist/hooks/internal/abcEmbeddedWallet.d.ts +26 -0
- package/dist/hooks/useProfile.d.ts +13 -6
- package/dist/hooks/useSolanaWallet.d.ts +13 -8
- package/dist/index.d.ts +3 -3
- package/dist/index.js +1211 -1158
- package/dist/providers/AbcAuthProvider.d.ts +3 -1
- package/dist/providers/SignConfirmationProvider/useApiClient.d.ts +3 -0
- package/dist/solana/ConfiguredWalletProvider.d.ts +10 -0
- package/dist/solana/LegacySolflareWalletAdapter.d.ts +32 -0
- package/dist/solana/connectExternalWallet.d.ts +9 -0
- package/dist/solana/isWalletReady.d.ts +2 -0
- package/dist/transactions/transactionStore.d.ts +2 -5
- package/dist/utils/apiClientFactory.d.ts +16 -1
- package/dist/utils/encryption.d.ts +0 -4
- package/dist/wallets/walletConnectors/abcWallet/AbcCredentialManager.d.ts +49 -0
- package/dist/wallets/walletConnectors/abcWallet/AbcCredentialManager.js +8 -0
- package/dist/wallets/walletConnectors/abcWallet/AbcEvmAutoConnector.d.ts +4 -0
- package/dist/wallets/walletConnectors/abcWallet/AbcEvmAutoConnector.js +12 -15
- package/dist/wallets/walletConnectors/abcWallet/abcBitcoinConnector.js +4 -4
- package/dist/wallets/walletConnectors/abcWallet/abcBitcoinProvider.d.ts +2 -0
- package/dist/wallets/walletConnectors/abcWallet/abcBitcoinProvider.js +3 -1
- package/dist/wallets/walletConnectors/abcWallet/abcConnector.js +7 -6
- package/dist/wallets/walletConnectors/abcWallet/abcProvider.d.ts +25 -1
- package/dist/wallets/walletConnectors/abcWallet/abcProvider.js +5 -4
- package/dist/wallets/walletConnectors/abcWallet/abcSolanaProvider.d.ts +0 -4
- package/dist/wallets/walletConnectors/abcWallet/abcSolanaProvider.js +11 -1
- package/dist/wallets/walletConnectors/abcWallet/abcSolanaWalletAdapter.js +14 -9
- package/dist/wallets/walletConnectors/abcWallet/abcTronProvider.d.ts +3 -2
- package/dist/wallets/walletConnectors/abcWallet/abcTronProvider.js +3 -1
- package/dist/wallets/walletConnectors/abcWallet/abcWallet.js +8 -7
- package/dist/wallets/walletConnectors/abcWallet/api/ConfigApi.d.ts +21 -0
- package/dist/wallets/walletConnectors/abcWallet/api/ConfigApi.js +8 -0
- package/dist/wallets/walletConnectors/abcWallet/api/SolanaApi.d.ts +28 -115
- package/dist/wallets/walletConnectors/abcWallet/api/SolanaApi.js +1 -6
- package/dist/wallets/walletConnectors/abcWallet/api/TalkenApiClient.d.ts +24 -1
- package/dist/wallets/walletConnectors/abcWallet/api/TalkenApiClient.js +4 -3
- package/dist/wallets/walletConnectors/abcWallet/api/TokenApi.d.ts +14 -0
- package/dist/wallets/walletConnectors/abcWallet/api/TokenApi.js +8 -0
- package/dist/wallets/walletConnectors/abcWallet/api/WalletscanApi.d.ts +20 -0
- package/dist/wallets/walletConnectors/abcWallet/api/WalletscanApi.js +1 -1
- package/dist/wallets/walletConnectors/abcWallet/api/index.d.ts +3 -0
- package/dist/wallets/walletConnectors/abcWallet/api/index.js +19 -6
- package/dist/wallets/walletConnectors/abcWallet/backfillMissingWallets.d.ts +3 -0
- package/dist/wallets/walletConnectors/abcWallet/backfillMissingWallets.js +16 -0
- package/dist/wallets/walletConnectors/abcWallet/constants.d.ts +4 -0
- package/dist/wallets/walletConnectors/abcWallet/constants.js +1 -1
- package/dist/wallets/walletConnectors/abcWallet/index.d.ts +3 -2
- package/dist/wallets/walletConnectors/abcWallet/index.js +39 -53
- package/dist/wallets/walletConnectors/abcWallet/sessionUtils.js +2 -1
- package/dist/wallets/walletConnectors/abcWallet/types.d.ts +10 -9
- package/dist/wallets/walletConnectors/abcWallet/types.js +1 -1
- package/dist/wallets/walletConnectors/abcWallet/utils.d.ts +0 -83
- package/dist/wallets/walletConnectors/abcWallet/utils.js +3 -41
- package/dist/wallets/walletConnectors/abcWallet/walletGeneration.d.ts +9 -3
- package/dist/wallets/walletConnectors/abcWallet/walletGeneration.js +5 -2
- package/dist/wallets/walletConnectors/chunk-2XX4LJSQ.js +1387 -0
- package/dist/wallets/walletConnectors/chunk-3BUGPUMD.js +151 -0
- package/dist/wallets/walletConnectors/chunk-3H7YKUJZ.js +1407 -0
- package/dist/wallets/walletConnectors/chunk-3OWQ6MEU.js +54 -0
- package/dist/wallets/walletConnectors/chunk-3VDYWOS4.js +300 -0
- package/dist/wallets/walletConnectors/chunk-3XOXT4AM.js +314 -0
- package/dist/wallets/walletConnectors/chunk-42D2UPKR.js +439 -0
- package/dist/wallets/walletConnectors/chunk-42MF6LUP.js +563 -0
- package/dist/wallets/walletConnectors/chunk-4LIJB776.js +273 -0
- package/dist/wallets/walletConnectors/chunk-4P3SPC44.js +51 -0
- package/dist/wallets/walletConnectors/chunk-4RZVAQQ4.js +574 -0
- package/dist/wallets/walletConnectors/chunk-53UTBIKF.js +209 -0
- package/dist/wallets/walletConnectors/chunk-54KVT46V.js +1477 -0
- package/dist/wallets/walletConnectors/chunk-5UBUX5BT.js +440 -0
- package/dist/wallets/walletConnectors/chunk-5ZBV5WE2.js +94 -0
- package/dist/wallets/walletConnectors/chunk-6EUOVOQK.js +151 -0
- package/dist/wallets/walletConnectors/chunk-6WF4SXLB.js +156 -0
- package/dist/wallets/walletConnectors/chunk-6YUJPIJ5.js +351 -0
- package/dist/wallets/walletConnectors/chunk-77YYMCMD.js +273 -0
- package/dist/wallets/walletConnectors/chunk-7DM6H5BJ.js +54 -0
- package/dist/wallets/walletConnectors/chunk-7EQNUYV2.js +482 -0
- package/dist/wallets/walletConnectors/chunk-7K77YGQN.js +54 -0
- package/dist/wallets/walletConnectors/chunk-7MMVOEZF.js +393 -0
- package/dist/wallets/walletConnectors/chunk-7ORDZ6EQ.js +1479 -0
- package/dist/wallets/walletConnectors/chunk-7RDMH4SD.js +54 -0
- package/dist/wallets/walletConnectors/chunk-7S4N4DRT.js +306 -0
- package/dist/wallets/walletConnectors/chunk-7SWRH3EI.js +96 -0
- package/dist/wallets/walletConnectors/chunk-A3OJZTDV.js +54 -0
- package/dist/wallets/walletConnectors/chunk-A66MTFML.js +223 -0
- package/dist/wallets/walletConnectors/chunk-ACLPF2UW.js +96 -0
- package/dist/wallets/walletConnectors/chunk-AJBRO3VA.js +300 -0
- package/dist/wallets/walletConnectors/chunk-BKVGLYLI.js +194 -0
- package/dist/wallets/walletConnectors/chunk-BXH3GDX5.js +273 -0
- package/dist/wallets/walletConnectors/chunk-C3FPON5L.js +213 -0
- package/dist/wallets/walletConnectors/chunk-CABLJOMU.js +194 -0
- package/dist/wallets/walletConnectors/chunk-CBIDNYV4.js +1407 -0
- package/dist/wallets/walletConnectors/chunk-CE37VZAR.js +300 -0
- package/dist/wallets/walletConnectors/chunk-DD6KK4BR.js +54 -0
- package/dist/wallets/walletConnectors/chunk-DPTDOCWL.js +205 -0
- package/dist/wallets/walletConnectors/chunk-DSNVWCPD.js +131 -0
- package/dist/wallets/walletConnectors/chunk-DULGAYBU.js +785 -0
- package/dist/wallets/walletConnectors/chunk-DZUXOGSA.js +54 -0
- package/dist/wallets/walletConnectors/chunk-E7TDM6P6.js +205 -0
- package/dist/wallets/walletConnectors/chunk-EVJIFLSY.js +93 -0
- package/dist/wallets/walletConnectors/chunk-EVW3ZB3Q.js +386 -0
- package/dist/wallets/walletConnectors/chunk-F2UWSAMX.js +54 -0
- package/dist/wallets/walletConnectors/chunk-FBVPR472.js +314 -0
- package/dist/wallets/walletConnectors/chunk-FKS2YLVW.js +273 -0
- package/dist/wallets/walletConnectors/chunk-FOGNJZPY.js +54 -0
- package/dist/wallets/walletConnectors/chunk-FSSV6JY3.js +54 -0
- package/dist/wallets/walletConnectors/chunk-GBMOX5JN.js +54 -0
- package/dist/wallets/walletConnectors/chunk-GFLJ2MAG.js +54 -0
- package/dist/wallets/walletConnectors/chunk-GGPJJ6KS.js +1407 -0
- package/dist/wallets/walletConnectors/chunk-GMAYKJEI.js +508 -0
- package/dist/wallets/walletConnectors/chunk-GWYZ2IPP.js +1479 -0
- package/dist/wallets/walletConnectors/chunk-H3OWNM73.js +300 -0
- package/dist/wallets/walletConnectors/chunk-HF6GFAE5.js +54 -0
- package/dist/wallets/walletConnectors/chunk-IM7DEERX.js +585 -0
- package/dist/wallets/walletConnectors/chunk-INFMRNND.js +300 -0
- package/dist/wallets/walletConnectors/chunk-INT6LGH7.js +180 -0
- package/dist/wallets/walletConnectors/chunk-ITZ42A33.js +273 -0
- package/dist/wallets/walletConnectors/chunk-J4IF6BFF.js +300 -0
- package/dist/wallets/walletConnectors/chunk-JADQLTFW.js +194 -0
- package/dist/wallets/walletConnectors/chunk-JAMJLNYQ.js +54 -0
- package/dist/wallets/walletConnectors/chunk-JDJUIRGF.js +439 -0
- package/dist/wallets/walletConnectors/chunk-JEWCPQJZ.js +300 -0
- package/dist/wallets/walletConnectors/chunk-JGXJY3SB.js +1 -0
- package/dist/wallets/walletConnectors/chunk-JK7LJ4B6.js +1407 -0
- package/dist/wallets/walletConnectors/chunk-JPOSJU2D.js +594 -0
- package/dist/wallets/walletConnectors/chunk-JUFEPIO4.js +1479 -0
- package/dist/wallets/walletConnectors/chunk-JV4IC5Z7.js +54 -0
- package/dist/wallets/walletConnectors/chunk-K3VHBOXQ.js +32 -0
- package/dist/wallets/walletConnectors/chunk-KZS2C73S.js +814 -0
- package/dist/wallets/walletConnectors/chunk-LJNUFDGO.js +205 -0
- package/dist/wallets/walletConnectors/chunk-MO2AXXLI.js +30 -0
- package/dist/wallets/walletConnectors/chunk-MP3WVXPS.js +273 -0
- package/dist/wallets/walletConnectors/chunk-MTC2HJPF.js +96 -0
- package/dist/wallets/walletConnectors/chunk-MTJF3SVB.js +1487 -0
- package/dist/wallets/walletConnectors/chunk-NBVPVTJZ.js +192 -0
- package/dist/wallets/walletConnectors/chunk-NISMGNEE.js +223 -0
- package/dist/wallets/walletConnectors/chunk-NY5O2OBG.js +1477 -0
- package/dist/wallets/walletConnectors/chunk-NYDDRNUI.js +445 -0
- package/dist/wallets/walletConnectors/chunk-O4DNG6JJ.js +54 -0
- package/dist/wallets/walletConnectors/chunk-OTLZVWY7.js +39 -0
- package/dist/wallets/walletConnectors/chunk-OYF6AQOW.js +194 -0
- package/dist/wallets/walletConnectors/chunk-PBOCVGUC.js +782 -0
- package/dist/wallets/walletConnectors/chunk-PDXO6AOG.js +300 -0
- package/dist/wallets/walletConnectors/chunk-PJSN4YRI.js +1387 -0
- package/dist/wallets/walletConnectors/chunk-PVIO7FM7.js +314 -0
- package/dist/wallets/walletConnectors/chunk-PWJOXYDF.js +54 -0
- package/dist/wallets/walletConnectors/chunk-PYBSONED.js +771 -0
- package/dist/wallets/walletConnectors/chunk-PYKECUZ3.js +54 -0
- package/dist/wallets/walletConnectors/chunk-Q42NO7WB.js +46 -0
- package/dist/wallets/walletConnectors/chunk-Q7XBI5F6.js +300 -0
- package/dist/wallets/walletConnectors/chunk-QHUBLT7N.js +156 -0
- package/dist/wallets/walletConnectors/chunk-RMV23JXO.js +300 -0
- package/dist/wallets/walletConnectors/chunk-S3L2SA4J.js +300 -0
- package/dist/wallets/walletConnectors/chunk-S466OQOC.js +393 -0
- package/dist/wallets/walletConnectors/chunk-SA7IXAFG.js +54 -0
- package/dist/wallets/walletConnectors/chunk-SDB6BBHX.js +585 -0
- package/dist/wallets/walletConnectors/chunk-SFGVPX2G.js +351 -0
- package/dist/wallets/walletConnectors/chunk-SFQKJ6X6.js +314 -0
- package/dist/wallets/walletConnectors/chunk-SKLRJRER.js +1464 -0
- package/dist/wallets/walletConnectors/chunk-SQVWIBWR.js +351 -0
- package/dist/wallets/walletConnectors/chunk-SSLHXCOX.js +439 -0
- package/dist/wallets/walletConnectors/chunk-SU6LV3EO.js +314 -0
- package/dist/wallets/walletConnectors/chunk-SU7IEZE2.js +300 -0
- package/dist/wallets/walletConnectors/chunk-TMRB5SCL.js +167 -0
- package/dist/wallets/walletConnectors/chunk-TMUPUOQR.js +54 -0
- package/dist/wallets/walletConnectors/chunk-TNZ7QKXH.js +771 -0
- package/dist/wallets/walletConnectors/chunk-TT2NLKIU.js +1465 -0
- package/dist/wallets/walletConnectors/chunk-U3WGMWTH.js +585 -0
- package/dist/wallets/walletConnectors/chunk-UAV4SI4Y.js +408 -0
- package/dist/wallets/walletConnectors/chunk-UAWWPNS7.js +54 -0
- package/dist/wallets/walletConnectors/chunk-UXRJASPW.js +785 -0
- package/dist/wallets/walletConnectors/chunk-UY5TAYLM.js +54 -0
- package/dist/wallets/walletConnectors/chunk-VB5IZDY7.js +300 -0
- package/dist/wallets/walletConnectors/chunk-VDWJ3NQ5.js +52 -0
- package/dist/wallets/walletConnectors/chunk-VIKJNKJZ.js +219 -0
- package/dist/wallets/walletConnectors/chunk-VKOPUEQG.js +445 -0
- package/dist/wallets/walletConnectors/chunk-VTOD7PXP.js +817 -0
- package/dist/wallets/walletConnectors/chunk-VVEXF6KG.js +273 -0
- package/dist/wallets/walletConnectors/chunk-W2YIRNMB.js +300 -0
- package/dist/wallets/walletConnectors/chunk-W7L2SBIG.js +138 -0
- package/dist/wallets/walletConnectors/chunk-WC7BGU5Z.js +814 -0
- package/dist/wallets/walletConnectors/chunk-WS5FG53X.js +54 -0
- package/dist/wallets/walletConnectors/chunk-WVRGC2YL.js +300 -0
- package/dist/wallets/walletConnectors/chunk-X33WL7R7.js +300 -0
- package/dist/wallets/walletConnectors/chunk-XG2R64B7.js +785 -0
- package/dist/wallets/walletConnectors/chunk-Y2BWF42Z.js +54 -0
- package/dist/wallets/walletConnectors/chunk-Y446VZWI.js +585 -0
- package/dist/wallets/walletConnectors/chunk-YDSBY7NO.js +54 -0
- package/dist/wallets/walletConnectors/chunk-YROAFC7Z.js +54 -0
- package/dist/wallets/walletConnectors/chunk-YV6IZWGE.js +393 -0
- package/dist/wallets/walletConnectors/chunk-Z4WVT3G2.js +1416 -0
- package/dist/wallets/walletConnectors/chunk-Z5SBGIWT.js +300 -0
- package/dist/wallets/walletConnectors/chunk-ZK3PZIAH.js +300 -0
- package/dist/wallets/walletConnectors/chunk-ZKCUYHBK.js +300 -0
- package/dist/wallets/walletConnectors/chunk-ZPJLV3E7.js +151 -0
- package/dist/wallets/walletConnectors/chunk-ZQ3LCYGH.js +408 -0
- package/dist/wallets/walletConnectors/chunk-ZX6HMX7N.js +1468 -0
- package/dist/wallets/walletConnectors/chunk-ZXN465CA.js +209 -0
- package/dist/wallets/walletConnectors/index.js +73 -72
- package/package.json +12 -11
- package/LICENSE +0 -9
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import {
|
|
3
|
+
encryptWithPin
|
|
4
|
+
} from "./chunk-Q42NO7WB.js";
|
|
5
|
+
import {
|
|
6
|
+
getTalkenApiClient
|
|
7
|
+
} from "./chunk-R6ZE7JAZ.js";
|
|
8
|
+
import {
|
|
9
|
+
getBitcoinNetwork,
|
|
10
|
+
getEvmNetwork,
|
|
11
|
+
getSolanaNetwork,
|
|
12
|
+
getTronNetwork
|
|
13
|
+
} from "./chunk-O4AU63LK.js";
|
|
14
|
+
import {
|
|
15
|
+
saveAuthState
|
|
16
|
+
} from "./chunk-7EQNUYV2.js";
|
|
17
|
+
|
|
18
|
+
// src/wallets/walletConnectors/abcWallet/backfillMissingWallets.ts
|
|
19
|
+
var STORAGE_PREFIX = "talkenkit_abc_";
|
|
20
|
+
function writeBackfillDebug(payload) {
|
|
21
|
+
try {
|
|
22
|
+
localStorage.setItem(
|
|
23
|
+
`${STORAGE_PREFIX}backfill_debug`,
|
|
24
|
+
JSON.stringify({
|
|
25
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
26
|
+
...payload
|
|
27
|
+
})
|
|
28
|
+
);
|
|
29
|
+
} catch {
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
function hasMissingBackfillableWallets(authState) {
|
|
33
|
+
if (!authState?.wallet?.address) {
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
return !authState.solanaWallet || !authState.bitcoinWallet || !authState.tronWallet;
|
|
37
|
+
}
|
|
38
|
+
async function backfillMissingWallets(authState) {
|
|
39
|
+
if (!hasMissingBackfillableWallets(authState)) {
|
|
40
|
+
writeBackfillDebug({
|
|
41
|
+
status: "skipped",
|
|
42
|
+
reason: "nothing-missing"
|
|
43
|
+
});
|
|
44
|
+
return authState;
|
|
45
|
+
}
|
|
46
|
+
const hashedPin = localStorage.getItem(`${STORAGE_PREFIX}pin_hash`);
|
|
47
|
+
const email = authState.user?.email || authState.wallet?.email || localStorage.getItem(`${STORAGE_PREFIX}saved_email`);
|
|
48
|
+
writeBackfillDebug({
|
|
49
|
+
status: "started",
|
|
50
|
+
hasHashedPin: !!hashedPin,
|
|
51
|
+
hasEmail: !!email,
|
|
52
|
+
hasWallet: !!authState.wallet?.address,
|
|
53
|
+
hasSolanaWallet: !!authState.solanaWallet,
|
|
54
|
+
hasBitcoinWallet: !!authState.bitcoinWallet,
|
|
55
|
+
hasTronWallet: !!authState.tronWallet
|
|
56
|
+
});
|
|
57
|
+
if (!hashedPin || !email) {
|
|
58
|
+
writeBackfillDebug({
|
|
59
|
+
status: "blocked",
|
|
60
|
+
reason: !hashedPin ? "missing-pin-hash" : "missing-email",
|
|
61
|
+
hasHashedPin: !!hashedPin,
|
|
62
|
+
hasEmail: !!email
|
|
63
|
+
});
|
|
64
|
+
return null;
|
|
65
|
+
}
|
|
66
|
+
const api = getTalkenApiClient();
|
|
67
|
+
if (!api) {
|
|
68
|
+
writeBackfillDebug({
|
|
69
|
+
status: "blocked",
|
|
70
|
+
reason: "missing-api-client",
|
|
71
|
+
hasHashedPin: true,
|
|
72
|
+
hasEmail: true
|
|
73
|
+
});
|
|
74
|
+
return null;
|
|
75
|
+
}
|
|
76
|
+
try {
|
|
77
|
+
api.setTokens(
|
|
78
|
+
authState.accessToken || "",
|
|
79
|
+
authState.refreshToken || "",
|
|
80
|
+
authState.expiresAt || 0
|
|
81
|
+
);
|
|
82
|
+
const genResponse = await api.wallet.generate(hashedPin, email);
|
|
83
|
+
const infoResponse = await api.wallet.getInfo();
|
|
84
|
+
const uid = authState.user?.uid || genResponse.uid;
|
|
85
|
+
const accounts = infoResponse?.accounts || [];
|
|
86
|
+
const evmAccount = accounts[0] || infoResponse || {};
|
|
87
|
+
const pubkey = authState.wallet?.pubkey || evmAccount.pubkey || genResponse.pubkey || "";
|
|
88
|
+
const sid = authState.wallet?.sid || evmAccount.sid || authState.wallet?.address;
|
|
89
|
+
const nextAuthState = {
|
|
90
|
+
...authState,
|
|
91
|
+
isAuthenticated: true,
|
|
92
|
+
user: authState.user || {
|
|
93
|
+
uid,
|
|
94
|
+
email,
|
|
95
|
+
provider: "email"
|
|
96
|
+
},
|
|
97
|
+
wallet: authState.wallet || {
|
|
98
|
+
address: sid,
|
|
99
|
+
chainId: getEvmNetwork(),
|
|
100
|
+
uid,
|
|
101
|
+
sid,
|
|
102
|
+
type: "evm",
|
|
103
|
+
email,
|
|
104
|
+
encryptedShare: "",
|
|
105
|
+
keyId: "0",
|
|
106
|
+
sessionId: sid
|
|
107
|
+
},
|
|
108
|
+
solanaWallet: authState.solanaWallet || (genResponse.solAddress ? {
|
|
109
|
+
uid,
|
|
110
|
+
sessionId: genResponse.solana?.keyId || "",
|
|
111
|
+
shareId: genResponse.solana?.keyId || "",
|
|
112
|
+
publicKey: genResponse.solana?.publicKey || "",
|
|
113
|
+
address: genResponse.solAddress,
|
|
114
|
+
keyId: genResponse.solana?.keyId || "",
|
|
115
|
+
encryptedShare: genResponse.solana?.encryptedShare || "",
|
|
116
|
+
secretStore: genResponse.solana?.secretStore || "",
|
|
117
|
+
network: getSolanaNetwork()
|
|
118
|
+
} : null),
|
|
119
|
+
bitcoinWallet: authState.bitcoinWallet || (genResponse.btcAddress ? {
|
|
120
|
+
uid,
|
|
121
|
+
sessionId: "",
|
|
122
|
+
shareId: "",
|
|
123
|
+
publicKey: pubkey,
|
|
124
|
+
address: genResponse.btcAddress,
|
|
125
|
+
keyId: "",
|
|
126
|
+
encryptedShare: "",
|
|
127
|
+
addressType: "bech32",
|
|
128
|
+
network: getBitcoinNetwork()
|
|
129
|
+
} : null),
|
|
130
|
+
tronWallet: authState.tronWallet || (genResponse.trxAddress ? {
|
|
131
|
+
uid,
|
|
132
|
+
sessionId: "",
|
|
133
|
+
shareId: "",
|
|
134
|
+
publicKey: pubkey,
|
|
135
|
+
address: genResponse.trxAddress,
|
|
136
|
+
keyId: "",
|
|
137
|
+
encryptedShare: "",
|
|
138
|
+
network: getTronNetwork()
|
|
139
|
+
} : null)
|
|
140
|
+
};
|
|
141
|
+
saveAuthState(nextAuthState);
|
|
142
|
+
const saltHex = localStorage.getItem(`${STORAGE_PREFIX}enc_salt`);
|
|
143
|
+
const salt = saltHex ? new Uint8Array(
|
|
144
|
+
saltHex.match(/.{1,2}/g)?.map((byte) => Number.parseInt(byte, 16)) || []
|
|
145
|
+
) : crypto.getRandomValues(new Uint8Array(16));
|
|
146
|
+
const encryptedSensitiveData = await encryptWithPin(
|
|
147
|
+
JSON.stringify({
|
|
148
|
+
accessToken: nextAuthState.accessToken,
|
|
149
|
+
refreshToken: nextAuthState.refreshToken,
|
|
150
|
+
expiresAt: nextAuthState.expiresAt,
|
|
151
|
+
solanaWallet: nextAuthState.solanaWallet,
|
|
152
|
+
bitcoinWallet: nextAuthState.bitcoinWallet,
|
|
153
|
+
tronWallet: nextAuthState.tronWallet
|
|
154
|
+
}),
|
|
155
|
+
hashedPin,
|
|
156
|
+
salt
|
|
157
|
+
);
|
|
158
|
+
localStorage.setItem(
|
|
159
|
+
`${STORAGE_PREFIX}enc_salt`,
|
|
160
|
+
Array.from(salt).map((byte) => byte.toString(16).padStart(2, "0")).join("")
|
|
161
|
+
);
|
|
162
|
+
localStorage.setItem(`${STORAGE_PREFIX}enc_tokens`, encryptedSensitiveData);
|
|
163
|
+
localStorage.setItem(`${STORAGE_PREFIX}saved_email`, email);
|
|
164
|
+
window.dispatchEvent(
|
|
165
|
+
new CustomEvent("talkenkit:token_updated", {
|
|
166
|
+
detail: { expiresAt: nextAuthState.expiresAt }
|
|
167
|
+
})
|
|
168
|
+
);
|
|
169
|
+
window.dispatchEvent(new Event("talkenkit_storage_update"));
|
|
170
|
+
writeBackfillDebug({
|
|
171
|
+
status: "completed",
|
|
172
|
+
hasSolanaWallet: !!nextAuthState.solanaWallet,
|
|
173
|
+
hasBitcoinWallet: !!nextAuthState.bitcoinWallet,
|
|
174
|
+
hasTronWallet: !!nextAuthState.tronWallet,
|
|
175
|
+
generatedSolAddress: genResponse.solAddress || null,
|
|
176
|
+
generatedBtcAddress: genResponse.btcAddress || null,
|
|
177
|
+
generatedTrxAddress: genResponse.trxAddress || null
|
|
178
|
+
});
|
|
179
|
+
return nextAuthState;
|
|
180
|
+
} catch (error) {
|
|
181
|
+
writeBackfillDebug({
|
|
182
|
+
status: "failed",
|
|
183
|
+
reason: error instanceof Error ? error.message : "unknown-error"
|
|
184
|
+
});
|
|
185
|
+
throw error;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
export {
|
|
190
|
+
hasMissingBackfillableWallets,
|
|
191
|
+
backfillMissingWallets
|
|
192
|
+
};
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import {
|
|
3
|
+
AbcError
|
|
4
|
+
} from "./chunk-4P3SPC44.js";
|
|
5
|
+
import {
|
|
6
|
+
PIN_CONFIG,
|
|
7
|
+
STORAGE_PREFIX,
|
|
8
|
+
TOKEN_EXPIRY
|
|
9
|
+
} from "./chunk-TQXCRSMS.js";
|
|
10
|
+
|
|
11
|
+
// src/wallets/walletConnectors/abcWallet/utils.ts
|
|
12
|
+
async function hashPin(pin) {
|
|
13
|
+
if (typeof window === "undefined" || !window.crypto?.subtle) {
|
|
14
|
+
return btoa(pin);
|
|
15
|
+
}
|
|
16
|
+
const encoder = new TextEncoder();
|
|
17
|
+
const data = encoder.encode(pin);
|
|
18
|
+
const hashBuffer = await window.crypto.subtle.digest("SHA-256", data);
|
|
19
|
+
const hashArray = Array.from(new Uint8Array(hashBuffer));
|
|
20
|
+
const hashHex = hashArray.map((b) => b.toString(16).padStart(2, "0")).join("");
|
|
21
|
+
return hashHex;
|
|
22
|
+
}
|
|
23
|
+
function validatePin(pin) {
|
|
24
|
+
if (!pin || typeof pin !== "string") {
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
const pinLength = pin.length;
|
|
28
|
+
if (pinLength < PIN_CONFIG.MIN_LENGTH || pinLength > PIN_CONFIG.MAX_LENGTH) {
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
return /^\d+$/.test(pin);
|
|
32
|
+
}
|
|
33
|
+
function validateEmail(email) {
|
|
34
|
+
if (!email || typeof email !== "string") {
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
|
|
38
|
+
return emailRegex.test(email);
|
|
39
|
+
}
|
|
40
|
+
function getStorageKey(key) {
|
|
41
|
+
return `${STORAGE_PREFIX}${key}`;
|
|
42
|
+
}
|
|
43
|
+
function saveToStorage(key, value) {
|
|
44
|
+
if (typeof window === "undefined")
|
|
45
|
+
return;
|
|
46
|
+
try {
|
|
47
|
+
const storageKey = getStorageKey(key);
|
|
48
|
+
const serialized = JSON.stringify(value);
|
|
49
|
+
localStorage.setItem(storageKey, serialized);
|
|
50
|
+
} catch (error) {
|
|
51
|
+
console.error("Failed to save to storage:", error);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
function loadFromStorage(key) {
|
|
55
|
+
if (typeof window === "undefined")
|
|
56
|
+
return null;
|
|
57
|
+
try {
|
|
58
|
+
const storageKey = getStorageKey(key);
|
|
59
|
+
const serialized = localStorage.getItem(storageKey);
|
|
60
|
+
if (!serialized)
|
|
61
|
+
return null;
|
|
62
|
+
try {
|
|
63
|
+
return JSON.parse(serialized);
|
|
64
|
+
} catch {
|
|
65
|
+
return serialized;
|
|
66
|
+
}
|
|
67
|
+
} catch (error) {
|
|
68
|
+
console.error("Failed to load from storage:", error);
|
|
69
|
+
return null;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
function removeFromStorage(key) {
|
|
73
|
+
if (typeof window === "undefined")
|
|
74
|
+
return;
|
|
75
|
+
try {
|
|
76
|
+
const storageKey = getStorageKey(key);
|
|
77
|
+
localStorage.removeItem(storageKey);
|
|
78
|
+
} catch (error) {
|
|
79
|
+
console.error("Failed to remove from storage:", error);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
function clearStorage() {
|
|
83
|
+
if (typeof window === "undefined")
|
|
84
|
+
return;
|
|
85
|
+
const keysToRemove = [];
|
|
86
|
+
for (let i = 0; i < localStorage.length; i++) {
|
|
87
|
+
const key = localStorage.key(i);
|
|
88
|
+
if (key?.startsWith(STORAGE_PREFIX)) {
|
|
89
|
+
keysToRemove.push(key);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
for (const key of keysToRemove) {
|
|
93
|
+
localStorage.removeItem(key);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
function isTokenExpired(expiresAt) {
|
|
97
|
+
if (!expiresAt)
|
|
98
|
+
return true;
|
|
99
|
+
return Date.now() >= expiresAt - TOKEN_EXPIRY.REFRESH_BUFFER;
|
|
100
|
+
}
|
|
101
|
+
function calculateExpiryTimestamp(expiresIn) {
|
|
102
|
+
return Date.now() + expiresIn * 1e3;
|
|
103
|
+
}
|
|
104
|
+
function saveAuthState(state) {
|
|
105
|
+
saveToStorage("auth_state" /* AUTH_STATE */, state);
|
|
106
|
+
if (state.user) {
|
|
107
|
+
saveToStorage("user" /* USER */, state.user);
|
|
108
|
+
}
|
|
109
|
+
if (state.wallet) {
|
|
110
|
+
saveToStorage("wallet" /* WALLET */, state.wallet);
|
|
111
|
+
}
|
|
112
|
+
if (state.solanaWallet) {
|
|
113
|
+
saveToStorage("solana_wallet" /* SOLANA_WALLET */, state.solanaWallet);
|
|
114
|
+
}
|
|
115
|
+
if (state.bitcoinWallet) {
|
|
116
|
+
saveToStorage("bitcoin_wallet" /* BITCOIN_WALLET */, state.bitcoinWallet);
|
|
117
|
+
}
|
|
118
|
+
if (state.tronWallet) {
|
|
119
|
+
saveToStorage("tron_wallet" /* TRON_WALLET */, state.tronWallet);
|
|
120
|
+
}
|
|
121
|
+
if (state.accessToken) {
|
|
122
|
+
saveToStorage("access_token" /* ACCESS_TOKEN */, state.accessToken);
|
|
123
|
+
}
|
|
124
|
+
if (state.refreshToken) {
|
|
125
|
+
saveToStorage("refresh_token" /* REFRESH_TOKEN */, state.refreshToken);
|
|
126
|
+
}
|
|
127
|
+
if (state.expiresAt) {
|
|
128
|
+
saveToStorage("expires_at" /* EXPIRES_AT */, state.expiresAt);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
function hydrateAuthStateFromIndividualStorage(state) {
|
|
132
|
+
const user = loadFromStorage("user" /* USER */);
|
|
133
|
+
const wallet = loadFromStorage("wallet" /* WALLET */);
|
|
134
|
+
const solanaWallet = loadFromStorage(
|
|
135
|
+
"solana_wallet" /* SOLANA_WALLET */
|
|
136
|
+
);
|
|
137
|
+
const bitcoinWallet = loadFromStorage(
|
|
138
|
+
"bitcoin_wallet" /* BITCOIN_WALLET */
|
|
139
|
+
);
|
|
140
|
+
const tronWallet = loadFromStorage("tron_wallet" /* TRON_WALLET */);
|
|
141
|
+
const accessToken = loadFromStorage("access_token" /* ACCESS_TOKEN */);
|
|
142
|
+
const refreshToken = loadFromStorage("refresh_token" /* REFRESH_TOKEN */);
|
|
143
|
+
const expiresAt = loadFromStorage("expires_at" /* EXPIRES_AT */);
|
|
144
|
+
const nextState = {
|
|
145
|
+
...state,
|
|
146
|
+
user: state.user || user || null,
|
|
147
|
+
wallet: state.wallet || wallet || null,
|
|
148
|
+
solanaWallet: state.solanaWallet || solanaWallet || null,
|
|
149
|
+
bitcoinWallet: state.bitcoinWallet || bitcoinWallet || null,
|
|
150
|
+
tronWallet: state.tronWallet || tronWallet || null,
|
|
151
|
+
accessToken: state.accessToken || accessToken || null,
|
|
152
|
+
refreshToken: state.refreshToken || refreshToken || null,
|
|
153
|
+
expiresAt: state.expiresAt || expiresAt || null
|
|
154
|
+
};
|
|
155
|
+
const wasHydrated = nextState.user !== state.user || nextState.wallet !== state.wallet || nextState.solanaWallet !== state.solanaWallet || nextState.bitcoinWallet !== state.bitcoinWallet || nextState.tronWallet !== state.tronWallet || nextState.accessToken !== state.accessToken || nextState.refreshToken !== state.refreshToken || nextState.expiresAt !== state.expiresAt;
|
|
156
|
+
if (wasHydrated) {
|
|
157
|
+
saveToStorage("auth_state" /* AUTH_STATE */, nextState);
|
|
158
|
+
}
|
|
159
|
+
return nextState;
|
|
160
|
+
}
|
|
161
|
+
function loadAuthState() {
|
|
162
|
+
const state = loadFromStorage("auth_state" /* AUTH_STATE */);
|
|
163
|
+
if (state) {
|
|
164
|
+
if (state.accessToken && isTokenExpired(state.expiresAt)) {
|
|
165
|
+
clearStorage();
|
|
166
|
+
return null;
|
|
167
|
+
}
|
|
168
|
+
return hydrateAuthStateFromIndividualStorage(state);
|
|
169
|
+
}
|
|
170
|
+
const user = loadFromStorage("user" /* USER */);
|
|
171
|
+
const wallet = loadFromStorage("wallet" /* WALLET */);
|
|
172
|
+
const solanaWallet = loadFromStorage("solana_wallet" /* SOLANA_WALLET */);
|
|
173
|
+
const accessToken = loadFromStorage("access_token" /* ACCESS_TOKEN */);
|
|
174
|
+
const refreshToken = loadFromStorage("refresh_token" /* REFRESH_TOKEN */);
|
|
175
|
+
const expiresAt = loadFromStorage("expires_at" /* EXPIRES_AT */);
|
|
176
|
+
if (!user || !accessToken) {
|
|
177
|
+
return null;
|
|
178
|
+
}
|
|
179
|
+
const bitcoinWallet = loadFromStorage("bitcoin_wallet" /* BITCOIN_WALLET */);
|
|
180
|
+
const tronWallet = loadFromStorage("tron_wallet" /* TRON_WALLET */);
|
|
181
|
+
return {
|
|
182
|
+
isAuthenticated: true,
|
|
183
|
+
user,
|
|
184
|
+
wallet,
|
|
185
|
+
solanaWallet,
|
|
186
|
+
bitcoinWallet,
|
|
187
|
+
tronWallet,
|
|
188
|
+
accessToken,
|
|
189
|
+
refreshToken,
|
|
190
|
+
expiresAt
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
function clearAuthState() {
|
|
194
|
+
clearStorage();
|
|
195
|
+
}
|
|
196
|
+
function createAbcError(code, message, details, statusCode) {
|
|
197
|
+
return new AbcError(code, message, details, statusCode);
|
|
198
|
+
}
|
|
199
|
+
function hexToNumber(hex) {
|
|
200
|
+
return Number.parseInt(hex, 16);
|
|
201
|
+
}
|
|
202
|
+
function numberToHex(num) {
|
|
203
|
+
return `0x${num.toString(16)}`;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
export {
|
|
207
|
+
hashPin,
|
|
208
|
+
validatePin,
|
|
209
|
+
validateEmail,
|
|
210
|
+
getStorageKey,
|
|
211
|
+
saveToStorage,
|
|
212
|
+
loadFromStorage,
|
|
213
|
+
removeFromStorage,
|
|
214
|
+
clearStorage,
|
|
215
|
+
isTokenExpired,
|
|
216
|
+
calculateExpiryTimestamp,
|
|
217
|
+
saveAuthState,
|
|
218
|
+
loadAuthState,
|
|
219
|
+
clearAuthState,
|
|
220
|
+
createAbcError,
|
|
221
|
+
hexToNumber,
|
|
222
|
+
numberToHex
|
|
223
|
+
};
|