@talken/talkenkit 2.4.23 → 2.4.24

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 (228) hide show
  1. package/dist/AbcCredentialManager-E723A55X.js +7 -0
  2. package/dist/AbcCredentialManager-GUV5JQ2V.js +7 -0
  3. package/dist/AbcCredentialManager-Z7GDJHYR.js +7 -0
  4. package/dist/abcWallet-3PWHJXWR.js +181 -0
  5. package/dist/abcWallet-3XPV7ATY.js +185 -0
  6. package/dist/abcWallet-3XSSUDLJ.js +155 -0
  7. package/dist/abcWallet-53HAU4MH.js +155 -0
  8. package/dist/abcWallet-5B2YHZGY.js +155 -0
  9. package/dist/abcWallet-664AHBNM.js +183 -0
  10. package/dist/abcWallet-BV7HK3OX.js +181 -0
  11. package/dist/abcWallet-CRKQ3O6J.js +155 -0
  12. package/dist/abcWallet-H4JOSC4N.js +155 -0
  13. package/dist/abcWallet-HM7KZIMP.js +155 -0
  14. package/dist/abcWallet-I5DVALAS.js +155 -0
  15. package/dist/abcWallet-IF3EOKHC.js +183 -0
  16. package/dist/abcWallet-IUG22ZE3.js +155 -0
  17. package/dist/abcWallet-IYC3CKEO.js +155 -0
  18. package/dist/abcWallet-JE6UR4QF.js +181 -0
  19. package/dist/abcWallet-KPKVEGNP.js +185 -0
  20. package/dist/abcWallet-MZAL5NXP.js +181 -0
  21. package/dist/abcWallet-N2UADRNR.js +155 -0
  22. package/dist/abcWallet-OGHORNUW.js +181 -0
  23. package/dist/abcWallet-QSK6VJFU.js +181 -0
  24. package/dist/abcWallet-RKT3W3FX.js +155 -0
  25. package/dist/abcWallet-VHXTAARP.js +155 -0
  26. package/dist/abcWallet-YFYTW2JH.js +155 -0
  27. package/dist/abcWallet-ZPVQY4XE.js +155 -0
  28. package/dist/chunk-3VPMUBCL.js +5196 -0
  29. package/dist/chunk-5SDWPKKX.js +5322 -0
  30. package/dist/chunk-6RBGFYAF.js +5076 -0
  31. package/dist/chunk-7L2ANWBB.js +5139 -0
  32. package/dist/chunk-7VIEAJAM.js +5172 -0
  33. package/dist/chunk-BY6GTSWI.js +5059 -0
  34. package/dist/chunk-DWE3CZEL.js +5171 -0
  35. package/dist/chunk-J6P2IT7Z.js +5465 -0
  36. package/dist/chunk-JIRBQUIB.js +5348 -0
  37. package/dist/chunk-K6CLOFGV.js +5129 -0
  38. package/dist/chunk-KYTIQ23P.js +5390 -0
  39. package/dist/chunk-MARFD3QV.js +5164 -0
  40. package/dist/chunk-MRRWKS2W.js +348 -0
  41. package/dist/chunk-PILL2YTG.js +5075 -0
  42. package/dist/chunk-QW7D53VM.js +5129 -0
  43. package/dist/chunk-RAWLCGOW.js +5058 -0
  44. package/dist/chunk-SHUPSYR2.js +5004 -0
  45. package/dist/chunk-UIGQOSRS.js +5174 -0
  46. package/dist/chunk-UINIIZCG.js +5098 -0
  47. package/dist/chunk-VOQSYTG3.js +5419 -0
  48. package/dist/chunk-VT5Q2XKZ.js +5193 -0
  49. package/dist/chunk-VXQYKPGQ.js +5476 -0
  50. package/dist/chunk-VYLJNEKY.js +5129 -0
  51. package/dist/chunk-X24B5DJR.js +323 -0
  52. package/dist/chunk-X3C73JWU.js +5370 -0
  53. package/dist/chunk-XIDK5P36.js +288 -0
  54. package/dist/chunk-ZHRI7SGC.js +5359 -0
  55. package/dist/components/ConnectOptions/AbcWaasAuth/AbcWaasAuthFlow.d.ts +1 -2
  56. package/dist/components/RainbowKitProvider/InternalPinProvider.d.ts +1 -1
  57. package/dist/contexts/MultiChainContext.d.ts +2 -2
  58. package/dist/hooks/internal/abcEmbeddedWallet.d.ts +26 -0
  59. package/dist/hooks/useSolanaWallet.d.ts +4 -0
  60. package/dist/index.d.ts +1 -1
  61. package/dist/index.js +10379 -10417
  62. package/dist/providers/AbcAuthProvider.d.ts +3 -1
  63. package/dist/utils/encryption.d.ts +0 -4
  64. package/dist/wallets/walletConnectors/abcWallet/AbcCredentialManager.d.ts +49 -0
  65. package/dist/wallets/walletConnectors/abcWallet/AbcCredentialManager.js +8 -0
  66. package/dist/wallets/walletConnectors/abcWallet/AbcEvmAutoConnector.d.ts +4 -0
  67. package/dist/wallets/walletConnectors/abcWallet/AbcEvmAutoConnector.js +12 -15
  68. package/dist/wallets/walletConnectors/abcWallet/abcBitcoinConnector.js +3 -3
  69. package/dist/wallets/walletConnectors/abcWallet/abcBitcoinProvider.d.ts +2 -0
  70. package/dist/wallets/walletConnectors/abcWallet/abcBitcoinProvider.js +3 -1
  71. package/dist/wallets/walletConnectors/abcWallet/abcConnector.js +6 -5
  72. package/dist/wallets/walletConnectors/abcWallet/abcProvider.d.ts +25 -1
  73. package/dist/wallets/walletConnectors/abcWallet/abcProvider.js +4 -3
  74. package/dist/wallets/walletConnectors/abcWallet/abcSolanaProvider.js +3 -1
  75. package/dist/wallets/walletConnectors/abcWallet/abcSolanaWalletAdapter.js +12 -7
  76. package/dist/wallets/walletConnectors/abcWallet/abcTronProvider.d.ts +3 -2
  77. package/dist/wallets/walletConnectors/abcWallet/abcTronProvider.js +3 -1
  78. package/dist/wallets/walletConnectors/abcWallet/abcWallet.js +7 -6
  79. package/dist/wallets/walletConnectors/abcWallet/api/TalkenApiClient.d.ts +1 -0
  80. package/dist/wallets/walletConnectors/abcWallet/api/TalkenApiClient.js +3 -2
  81. package/dist/wallets/walletConnectors/abcWallet/api/index.js +6 -5
  82. package/dist/wallets/walletConnectors/abcWallet/backfillMissingWallets.d.ts +3 -0
  83. package/dist/wallets/walletConnectors/abcWallet/backfillMissingWallets.js +16 -0
  84. package/dist/wallets/walletConnectors/abcWallet/index.d.ts +2 -1
  85. package/dist/wallets/walletConnectors/abcWallet/index.js +22 -48
  86. package/dist/wallets/walletConnectors/abcWallet/sessionUtils.js +2 -1
  87. package/dist/wallets/walletConnectors/abcWallet/types.d.ts +6 -9
  88. package/dist/wallets/walletConnectors/abcWallet/types.js +1 -1
  89. package/dist/wallets/walletConnectors/abcWallet/utils.d.ts +0 -83
  90. package/dist/wallets/walletConnectors/abcWallet/utils.js +2 -40
  91. package/dist/wallets/walletConnectors/abcWallet/walletGeneration.d.ts +9 -3
  92. package/dist/wallets/walletConnectors/abcWallet/walletGeneration.js +5 -2
  93. package/dist/wallets/walletConnectors/berasigWallet/berasigWallet.js +2 -2
  94. package/dist/wallets/walletConnectors/bifrostWallet/bifrostWallet.js +2 -2
  95. package/dist/wallets/walletConnectors/binanceWallet/binanceWallet.js +2 -2
  96. package/dist/wallets/walletConnectors/bitgetWallet/bitgetWallet.js +2 -2
  97. package/dist/wallets/walletConnectors/bybitWallet/bybitWallet.js +2 -2
  98. package/dist/wallets/walletConnectors/chunk-2XX4LJSQ.js +1387 -0
  99. package/dist/wallets/walletConnectors/chunk-3BUGPUMD.js +151 -0
  100. package/dist/wallets/walletConnectors/chunk-3H7YKUJZ.js +1407 -0
  101. package/dist/wallets/walletConnectors/chunk-3OWQ6MEU.js +54 -0
  102. package/dist/wallets/walletConnectors/chunk-3VDYWOS4.js +300 -0
  103. package/dist/wallets/walletConnectors/chunk-3XOXT4AM.js +314 -0
  104. package/dist/wallets/walletConnectors/chunk-42D2UPKR.js +439 -0
  105. package/dist/wallets/walletConnectors/chunk-42MF6LUP.js +563 -0
  106. package/dist/wallets/walletConnectors/chunk-4LIJB776.js +273 -0
  107. package/dist/wallets/walletConnectors/chunk-4P3SPC44.js +51 -0
  108. package/dist/wallets/walletConnectors/chunk-4RZVAQQ4.js +574 -0
  109. package/dist/wallets/walletConnectors/chunk-53UTBIKF.js +209 -0
  110. package/dist/wallets/walletConnectors/chunk-54KVT46V.js +1477 -0
  111. package/dist/wallets/walletConnectors/chunk-5UBUX5BT.js +440 -0
  112. package/dist/wallets/walletConnectors/chunk-5ZBV5WE2.js +94 -0
  113. package/dist/wallets/walletConnectors/chunk-6EUOVOQK.js +151 -0
  114. package/dist/wallets/walletConnectors/chunk-6YUJPIJ5.js +351 -0
  115. package/dist/wallets/walletConnectors/chunk-77YYMCMD.js +273 -0
  116. package/dist/wallets/walletConnectors/chunk-7EQNUYV2.js +482 -0
  117. package/dist/wallets/walletConnectors/chunk-7K77YGQN.js +54 -0
  118. package/dist/wallets/walletConnectors/chunk-7MMVOEZF.js +393 -0
  119. package/dist/wallets/walletConnectors/chunk-7RDMH4SD.js +54 -0
  120. package/dist/wallets/walletConnectors/chunk-7S4N4DRT.js +306 -0
  121. package/dist/wallets/walletConnectors/chunk-7SWRH3EI.js +96 -0
  122. package/dist/wallets/walletConnectors/chunk-A3OJZTDV.js +54 -0
  123. package/dist/wallets/walletConnectors/chunk-AJBRO3VA.js +300 -0
  124. package/dist/wallets/walletConnectors/chunk-BKVGLYLI.js +194 -0
  125. package/dist/wallets/walletConnectors/chunk-C3FPON5L.js +213 -0
  126. package/dist/wallets/walletConnectors/chunk-CBIDNYV4.js +1407 -0
  127. package/dist/wallets/walletConnectors/chunk-DD6KK4BR.js +54 -0
  128. package/dist/wallets/walletConnectors/chunk-DSNVWCPD.js +131 -0
  129. package/dist/wallets/walletConnectors/chunk-DULGAYBU.js +785 -0
  130. package/dist/wallets/walletConnectors/chunk-DZUXOGSA.js +54 -0
  131. package/dist/wallets/walletConnectors/chunk-EVJIFLSY.js +93 -0
  132. package/dist/wallets/walletConnectors/chunk-EVW3ZB3Q.js +386 -0
  133. package/dist/wallets/walletConnectors/chunk-F2UWSAMX.js +54 -0
  134. package/dist/wallets/walletConnectors/chunk-FBVPR472.js +314 -0
  135. package/dist/wallets/walletConnectors/chunk-FKS2YLVW.js +273 -0
  136. package/dist/wallets/walletConnectors/chunk-FOGNJZPY.js +54 -0
  137. package/dist/wallets/walletConnectors/chunk-FSSV6JY3.js +54 -0
  138. package/dist/wallets/walletConnectors/chunk-GFLJ2MAG.js +54 -0
  139. package/dist/wallets/walletConnectors/chunk-GGPJJ6KS.js +1407 -0
  140. package/dist/wallets/walletConnectors/chunk-GMAYKJEI.js +508 -0
  141. package/dist/wallets/walletConnectors/chunk-H3OWNM73.js +300 -0
  142. package/dist/wallets/walletConnectors/chunk-INT6LGH7.js +180 -0
  143. package/dist/wallets/walletConnectors/chunk-ITZ42A33.js +273 -0
  144. package/dist/wallets/walletConnectors/chunk-J4IF6BFF.js +300 -0
  145. package/dist/wallets/walletConnectors/chunk-JAMJLNYQ.js +54 -0
  146. package/dist/wallets/walletConnectors/chunk-JDJUIRGF.js +439 -0
  147. package/dist/wallets/walletConnectors/chunk-JEWCPQJZ.js +300 -0
  148. package/dist/wallets/walletConnectors/chunk-JK7LJ4B6.js +1407 -0
  149. package/dist/wallets/walletConnectors/chunk-JPOSJU2D.js +594 -0
  150. package/dist/wallets/walletConnectors/chunk-JUFEPIO4.js +1479 -0
  151. package/dist/wallets/walletConnectors/chunk-JV4IC5Z7.js +54 -0
  152. package/dist/wallets/walletConnectors/chunk-MP3WVXPS.js +273 -0
  153. package/dist/wallets/walletConnectors/chunk-MTC2HJPF.js +96 -0
  154. package/dist/wallets/walletConnectors/chunk-MTJF3SVB.js +1487 -0
  155. package/dist/wallets/walletConnectors/chunk-NBVPVTJZ.js +192 -0
  156. package/dist/wallets/walletConnectors/chunk-NISMGNEE.js +223 -0
  157. package/dist/wallets/walletConnectors/chunk-NY5O2OBG.js +1477 -0
  158. package/dist/wallets/walletConnectors/chunk-OYF6AQOW.js +194 -0
  159. package/dist/wallets/walletConnectors/chunk-PBOCVGUC.js +782 -0
  160. package/dist/wallets/walletConnectors/chunk-PJSN4YRI.js +1387 -0
  161. package/dist/wallets/walletConnectors/chunk-PVIO7FM7.js +314 -0
  162. package/dist/wallets/walletConnectors/chunk-PWJOXYDF.js +54 -0
  163. package/dist/wallets/walletConnectors/chunk-PYBSONED.js +771 -0
  164. package/dist/wallets/walletConnectors/chunk-PYKECUZ3.js +54 -0
  165. package/dist/wallets/walletConnectors/chunk-Q42NO7WB.js +46 -0
  166. package/dist/wallets/walletConnectors/chunk-Q7XBI5F6.js +300 -0
  167. package/dist/wallets/walletConnectors/chunk-QHUBLT7N.js +156 -0
  168. package/dist/wallets/walletConnectors/chunk-RMV23JXO.js +300 -0
  169. package/dist/wallets/walletConnectors/chunk-S3L2SA4J.js +300 -0
  170. package/dist/wallets/walletConnectors/chunk-S466OQOC.js +393 -0
  171. package/dist/wallets/walletConnectors/chunk-SA7IXAFG.js +54 -0
  172. package/dist/wallets/walletConnectors/chunk-SDB6BBHX.js +585 -0
  173. package/dist/wallets/walletConnectors/chunk-SFGVPX2G.js +351 -0
  174. package/dist/wallets/walletConnectors/chunk-SFQKJ6X6.js +314 -0
  175. package/dist/wallets/walletConnectors/chunk-SKLRJRER.js +1464 -0
  176. package/dist/wallets/walletConnectors/chunk-SQVWIBWR.js +351 -0
  177. package/dist/wallets/walletConnectors/chunk-SSLHXCOX.js +439 -0
  178. package/dist/wallets/walletConnectors/chunk-SU6LV3EO.js +314 -0
  179. package/dist/wallets/walletConnectors/chunk-SU7IEZE2.js +300 -0
  180. package/dist/wallets/walletConnectors/chunk-TMRB5SCL.js +167 -0
  181. package/dist/wallets/walletConnectors/chunk-TMUPUOQR.js +54 -0
  182. package/dist/wallets/walletConnectors/chunk-TNZ7QKXH.js +771 -0
  183. package/dist/wallets/walletConnectors/chunk-TT2NLKIU.js +1465 -0
  184. package/dist/wallets/walletConnectors/chunk-U3WGMWTH.js +585 -0
  185. package/dist/wallets/walletConnectors/chunk-UAV4SI4Y.js +408 -0
  186. package/dist/wallets/walletConnectors/chunk-UAWWPNS7.js +54 -0
  187. package/dist/wallets/walletConnectors/chunk-UXRJASPW.js +785 -0
  188. package/dist/wallets/walletConnectors/chunk-UY5TAYLM.js +54 -0
  189. package/dist/wallets/walletConnectors/chunk-VB5IZDY7.js +300 -0
  190. package/dist/wallets/walletConnectors/chunk-VIKJNKJZ.js +219 -0
  191. package/dist/wallets/walletConnectors/chunk-VVEXF6KG.js +273 -0
  192. package/dist/wallets/walletConnectors/chunk-W2YIRNMB.js +300 -0
  193. package/dist/wallets/walletConnectors/chunk-W7L2SBIG.js +138 -0
  194. package/dist/wallets/walletConnectors/chunk-WS5FG53X.js +54 -0
  195. package/dist/wallets/walletConnectors/chunk-WVRGC2YL.js +300 -0
  196. package/dist/wallets/walletConnectors/chunk-X33WL7R7.js +300 -0
  197. package/dist/wallets/walletConnectors/chunk-XG2R64B7.js +785 -0
  198. package/dist/wallets/walletConnectors/chunk-Y2BWF42Z.js +54 -0
  199. package/dist/wallets/walletConnectors/chunk-Y446VZWI.js +585 -0
  200. package/dist/wallets/walletConnectors/chunk-YROAFC7Z.js +54 -0
  201. package/dist/wallets/walletConnectors/chunk-Z4WVT3G2.js +1416 -0
  202. package/dist/wallets/walletConnectors/chunk-ZK3PZIAH.js +300 -0
  203. package/dist/wallets/walletConnectors/chunk-ZPJLV3E7.js +151 -0
  204. package/dist/wallets/walletConnectors/chunk-ZQ3LCYGH.js +408 -0
  205. package/dist/wallets/walletConnectors/chunk-ZX6HMX7N.js +1468 -0
  206. package/dist/wallets/walletConnectors/chunk-ZXN465CA.js +209 -0
  207. package/dist/wallets/walletConnectors/clvWallet/clvWallet.js +2 -2
  208. package/dist/wallets/walletConnectors/coin98Wallet/coin98Wallet.js +2 -2
  209. package/dist/wallets/walletConnectors/coreWallet/coreWallet.js +2 -2
  210. package/dist/wallets/walletConnectors/foxWallet/foxWallet.js +2 -2
  211. package/dist/wallets/walletConnectors/frontierWallet/frontierWallet.js +2 -2
  212. package/dist/wallets/walletConnectors/gateWallet/gateWallet.js +2 -2
  213. package/dist/wallets/walletConnectors/index.js +89 -88
  214. package/dist/wallets/walletConnectors/iopayWallet/iopayWallet.js +2 -2
  215. package/dist/wallets/walletConnectors/kaiaWallet/kaiaWallet.js +2 -2
  216. package/dist/wallets/walletConnectors/kaikasWallet/kaikasWallet.js +2 -2
  217. package/dist/wallets/walletConnectors/metaMaskWallet/metaMaskWallet.js +2 -2
  218. package/dist/wallets/walletConnectors/okxWallet/okxWallet.js +2 -2
  219. package/dist/wallets/walletConnectors/rainbowWallet/rainbowWallet.js +2 -2
  220. package/dist/wallets/walletConnectors/roninWallet/roninWallet.js +2 -2
  221. package/dist/wallets/walletConnectors/safepalWallet/safepalWallet.js +2 -2
  222. package/dist/wallets/walletConnectors/subWallet/subWallet.js +2 -2
  223. package/dist/wallets/walletConnectors/tokenPocketWallet/tokenPocketWallet.js +2 -2
  224. package/dist/wallets/walletConnectors/trustWallet/trustWallet.js +2 -2
  225. package/dist/wallets/walletConnectors/zealWallet/zealWallet.js +2 -2
  226. package/dist/wallets/walletConnectors/zerionWallet/zerionWallet.js +2 -2
  227. package/package.json +12 -11
  228. package/LICENSE +0 -9
@@ -0,0 +1,209 @@
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 pickAddress(source, keys) {
33
+ if (!source) {
34
+ return null;
35
+ }
36
+ for (const key of keys) {
37
+ const value = source[key];
38
+ if (typeof value === "string" && value.trim()) {
39
+ return value;
40
+ }
41
+ }
42
+ return null;
43
+ }
44
+ function hasMissingBackfillableWallets(authState) {
45
+ if (!authState?.wallet?.address) {
46
+ return false;
47
+ }
48
+ return !authState.solanaWallet || !authState.bitcoinWallet || !authState.tronWallet;
49
+ }
50
+ async function backfillMissingWallets(authState) {
51
+ if (!hasMissingBackfillableWallets(authState)) {
52
+ writeBackfillDebug({
53
+ status: "skipped",
54
+ reason: "nothing-missing"
55
+ });
56
+ return authState;
57
+ }
58
+ const hashedPin = localStorage.getItem(`${STORAGE_PREFIX}pin_hash`);
59
+ const email = authState.user?.email || authState.wallet?.email || localStorage.getItem(`${STORAGE_PREFIX}saved_email`);
60
+ writeBackfillDebug({
61
+ status: "started",
62
+ hasHashedPin: !!hashedPin,
63
+ hasEmail: !!email,
64
+ hasWallet: !!authState.wallet?.address,
65
+ hasSolanaWallet: !!authState.solanaWallet,
66
+ hasBitcoinWallet: !!authState.bitcoinWallet,
67
+ hasTronWallet: !!authState.tronWallet
68
+ });
69
+ if (!hashedPin || !email) {
70
+ writeBackfillDebug({
71
+ status: "blocked",
72
+ reason: !hashedPin ? "missing-pin-hash" : "missing-email",
73
+ hasHashedPin: !!hashedPin,
74
+ hasEmail: !!email
75
+ });
76
+ return null;
77
+ }
78
+ const api = getTalkenApiClient();
79
+ if (!api) {
80
+ writeBackfillDebug({
81
+ status: "blocked",
82
+ reason: "missing-api-client",
83
+ hasHashedPin: true,
84
+ hasEmail: true
85
+ });
86
+ return null;
87
+ }
88
+ try {
89
+ api.setTokens(
90
+ authState.accessToken || "",
91
+ authState.refreshToken || "",
92
+ authState.expiresAt || 0
93
+ );
94
+ const genResponse = await api.wallet.generate(hashedPin, email);
95
+ const infoResponse = await api.wallet.getInfo();
96
+ const addressResponse = await api.wallet.getAddresses().catch(() => null);
97
+ const uid = authState.user?.uid || genResponse.uid;
98
+ const accounts = infoResponse?.accounts || [];
99
+ const evmAccount = accounts[0] || infoResponse || {};
100
+ const pubkey = authState.wallet?.pubkey || evmAccount.pubkey || genResponse.pubkey || pickAddress(addressResponse, ["pubkey", "publicKey"]) || "";
101
+ const sid = authState.wallet?.sid || evmAccount.sid || authState.wallet?.address;
102
+ const generatedSolAddress = genResponse.solAddress || pickAddress(addressResponse, ["sol", "solana", "solAddress"]);
103
+ const generatedBtcAddress = genResponse.btcAddress || pickAddress(addressResponse, ["btc", "bitcoin", "btcAddress", "bitcoinAddress"]);
104
+ const generatedTrxAddress = genResponse.trxAddress || pickAddress(addressResponse, ["trx", "tron", "trxAddress", "tronAddress"]);
105
+ const nextAuthState = {
106
+ ...authState,
107
+ isAuthenticated: true,
108
+ user: authState.user || {
109
+ uid,
110
+ email,
111
+ provider: "email"
112
+ },
113
+ wallet: authState.wallet || {
114
+ address: sid,
115
+ chainId: getEvmNetwork(),
116
+ uid,
117
+ sid,
118
+ type: "evm",
119
+ email,
120
+ encryptedShare: "",
121
+ keyId: "0",
122
+ sessionId: sid
123
+ },
124
+ solanaWallet: authState.solanaWallet || (generatedSolAddress ? {
125
+ uid,
126
+ sessionId: genResponse.solana?.keyId || "",
127
+ shareId: genResponse.solana?.keyId || "",
128
+ publicKey: genResponse.solana?.publicKey || "",
129
+ address: generatedSolAddress,
130
+ keyId: genResponse.solana?.keyId || "",
131
+ encryptedShare: genResponse.solana?.encryptedShare || "",
132
+ secretStore: genResponse.solana?.secretStore || "",
133
+ network: getSolanaNetwork()
134
+ } : null),
135
+ bitcoinWallet: authState.bitcoinWallet || (generatedBtcAddress ? {
136
+ uid,
137
+ sessionId: "",
138
+ shareId: "",
139
+ publicKey: pubkey,
140
+ address: generatedBtcAddress,
141
+ keyId: "",
142
+ encryptedShare: "",
143
+ addressType: "bech32",
144
+ network: getBitcoinNetwork()
145
+ } : null),
146
+ tronWallet: authState.tronWallet || (generatedTrxAddress ? {
147
+ uid,
148
+ sessionId: "",
149
+ shareId: "",
150
+ publicKey: pubkey,
151
+ address: generatedTrxAddress,
152
+ keyId: "",
153
+ encryptedShare: "",
154
+ network: getTronNetwork()
155
+ } : null)
156
+ };
157
+ saveAuthState(nextAuthState);
158
+ const saltHex = localStorage.getItem(`${STORAGE_PREFIX}enc_salt`);
159
+ const salt = saltHex ? new Uint8Array(
160
+ saltHex.match(/.{1,2}/g)?.map((byte) => Number.parseInt(byte, 16)) || []
161
+ ) : crypto.getRandomValues(new Uint8Array(16));
162
+ const encryptedSensitiveData = await encryptWithPin(
163
+ JSON.stringify({
164
+ accessToken: nextAuthState.accessToken,
165
+ refreshToken: nextAuthState.refreshToken,
166
+ expiresAt: nextAuthState.expiresAt,
167
+ solanaWallet: nextAuthState.solanaWallet,
168
+ bitcoinWallet: nextAuthState.bitcoinWallet,
169
+ tronWallet: nextAuthState.tronWallet
170
+ }),
171
+ hashedPin,
172
+ salt
173
+ );
174
+ localStorage.setItem(
175
+ `${STORAGE_PREFIX}enc_salt`,
176
+ Array.from(salt).map((byte) => byte.toString(16).padStart(2, "0")).join("")
177
+ );
178
+ localStorage.setItem(`${STORAGE_PREFIX}enc_tokens`, encryptedSensitiveData);
179
+ localStorage.setItem(`${STORAGE_PREFIX}saved_email`, email);
180
+ window.dispatchEvent(
181
+ new CustomEvent("talkenkit:token_updated", {
182
+ detail: { expiresAt: nextAuthState.expiresAt }
183
+ })
184
+ );
185
+ window.dispatchEvent(new Event("talkenkit_storage_update"));
186
+ writeBackfillDebug({
187
+ status: "completed",
188
+ hasSolanaWallet: !!nextAuthState.solanaWallet,
189
+ hasBitcoinWallet: !!nextAuthState.bitcoinWallet,
190
+ hasTronWallet: !!nextAuthState.tronWallet,
191
+ generatedSolAddress: generatedSolAddress || null,
192
+ generatedBtcAddress: generatedBtcAddress || null,
193
+ generatedTrxAddress: generatedTrxAddress || null,
194
+ addressResponseKeys: addressResponse && typeof addressResponse === "object" ? Object.keys(addressResponse) : []
195
+ });
196
+ return nextAuthState;
197
+ } catch (error) {
198
+ writeBackfillDebug({
199
+ status: "failed",
200
+ reason: error instanceof Error ? error.message : "unknown-error"
201
+ });
202
+ throw error;
203
+ }
204
+ }
205
+
206
+ export {
207
+ hasMissingBackfillableWallets,
208
+ backfillMissingWallets
209
+ };