@talken/talkenkit 2.3.15 → 2.4.5

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 (195) hide show
  1. package/dist/{chunk-UWHLB4MJ.js → chunk-RQ637EP3.js} +0 -2
  2. package/dist/components/ConnectOptions/ExternalWallets/EthereumWallet/EthereumWalletList.d.ts +4 -4
  3. package/dist/index.d.ts +6 -5
  4. package/dist/index.js +6783 -6571
  5. package/dist/{secure-SSSSQ4NA.js → secure-X6ZSGFOB.js} +1 -1
  6. package/dist/services/AbcAuthService.d.ts +1 -1
  7. package/dist/solana/AbcSolanaAutoConnector.d.ts +7 -0
  8. package/dist/solana/SolanaWalletProvider.d.ts +18 -2
  9. package/dist/solana/config.d.ts +26 -0
  10. package/dist/wallets/walletConnectors/abcWallet/AbcEvmAutoConnector.d.ts +7 -0
  11. package/dist/wallets/walletConnectors/abcWallet/AbcEvmAutoConnector.js +37 -0
  12. package/dist/wallets/walletConnectors/abcWallet/abcApi.js +4 -4
  13. package/dist/wallets/walletConnectors/abcWallet/abcBitcoinConnector.js +3 -3
  14. package/dist/wallets/walletConnectors/abcWallet/abcBitcoinProvider.js +1 -1
  15. package/dist/wallets/walletConnectors/abcWallet/abcConnector.js +6 -6
  16. package/dist/wallets/walletConnectors/abcWallet/abcProvider.js +3 -3
  17. package/dist/wallets/walletConnectors/abcWallet/abcSolanaWalletAdapter.d.ts +166 -0
  18. package/dist/wallets/walletConnectors/abcWallet/abcSolanaWalletAdapter.js +725 -0
  19. package/dist/wallets/walletConnectors/abcWallet/abcWallet.js +7 -7
  20. package/dist/wallets/walletConnectors/abcWallet/api/AuthApi.js +5 -5
  21. package/dist/wallets/walletConnectors/abcWallet/api/BaseApiClient.d.ts +5 -0
  22. package/dist/wallets/walletConnectors/abcWallet/api/BaseApiClient.js +4 -4
  23. package/dist/wallets/walletConnectors/abcWallet/api/BitcoinApi.js +5 -5
  24. package/dist/wallets/walletConnectors/abcWallet/api/SigningApi.js +5 -5
  25. package/dist/wallets/walletConnectors/abcWallet/api/SolanaApi.d.ts +16 -5
  26. package/dist/wallets/walletConnectors/abcWallet/api/SolanaApi.js +5 -5
  27. package/dist/wallets/walletConnectors/abcWallet/api/TransactionApi.js +5 -5
  28. package/dist/wallets/walletConnectors/abcWallet/api/WalletApi.js +5 -5
  29. package/dist/wallets/walletConnectors/abcWallet/api/index.js +13 -13
  30. package/dist/wallets/walletConnectors/abcWallet/googleAuth.d.ts +1 -1
  31. package/dist/wallets/walletConnectors/abcWallet/googleAuth.js +5 -7
  32. package/dist/wallets/walletConnectors/abcWallet/index.d.ts +3 -7
  33. package/dist/wallets/walletConnectors/abcWallet/index.js +36 -46
  34. package/dist/wallets/walletConnectors/abcWallet/secure.js +1 -1
  35. package/dist/wallets/walletConnectors/abcWallet/sessionUtils.d.ts +38 -0
  36. package/dist/wallets/walletConnectors/abcWallet/sessionUtils.js +15 -0
  37. package/dist/wallets/walletConnectors/abcWallet/types.d.ts +34 -1
  38. package/dist/wallets/walletConnectors/abcWallet/types.js +1 -1
  39. package/dist/wallets/walletConnectors/abcWallet/utils.d.ts +1 -1
  40. package/dist/wallets/walletConnectors/abcWallet/utils.js +2 -2
  41. package/dist/wallets/walletConnectors/abcWallet/walletGeneration.js +2 -2
  42. package/dist/wallets/walletConnectors/berasigWallet/berasigWallet.js +2 -2
  43. package/dist/wallets/walletConnectors/bifrostWallet/bifrostWallet.js +2 -2
  44. package/dist/wallets/walletConnectors/binanceWallet/binanceWallet.js +2 -2
  45. package/dist/wallets/walletConnectors/bitgetWallet/bitgetWallet.js +2 -2
  46. package/dist/wallets/walletConnectors/bybitWallet/bybitWallet.js +2 -2
  47. package/dist/wallets/walletConnectors/chunk-2GNL2GNB.js +154 -0
  48. package/dist/wallets/walletConnectors/{chunk-5DDAV4BZ.js → chunk-2NAY6X3G.js} +1 -1
  49. package/dist/wallets/walletConnectors/{chunk-ZIYAL44B.js → chunk-2NVHWZUE.js} +1 -1
  50. package/dist/wallets/walletConnectors/{chunk-LENPUTNQ.js → chunk-36J4NGMW.js} +12 -20
  51. package/dist/wallets/walletConnectors/{chunk-4MF5RSML.js → chunk-3CTIR723.js} +1 -1
  52. package/dist/wallets/walletConnectors/{chunk-AVPBPELO.js → chunk-3WLUH24A.js} +10 -10
  53. package/dist/wallets/walletConnectors/{chunk-YEHCPL4R.js → chunk-53LPTQ6J.js} +2 -2
  54. package/dist/wallets/walletConnectors/{chunk-GXGRTWJM.js → chunk-5CZGFT24.js} +10 -10
  55. package/dist/wallets/walletConnectors/{chunk-BJHGC546.js → chunk-5JIPWC5W.js} +12 -24
  56. package/dist/wallets/walletConnectors/{chunk-4N6JD6LY.js → chunk-5LPD35BU.js} +9 -9
  57. package/dist/wallets/walletConnectors/{chunk-UV5HHESJ.js → chunk-5RSS3SRV.js} +29 -12
  58. package/dist/wallets/walletConnectors/{chunk-3ZE57J3R.js → chunk-64TRAZ6V.js} +1 -1
  59. package/dist/wallets/walletConnectors/{chunk-KKPINUPY.js → chunk-6BAXMYSN.js} +2 -2
  60. package/dist/wallets/walletConnectors/{chunk-PPIFAF7N.js → chunk-7MOCKWA7.js} +65 -19
  61. package/dist/wallets/walletConnectors/{chunk-75RN2RLT.js → chunk-7TYZCXIR.js} +12 -12
  62. package/dist/wallets/walletConnectors/{chunk-HVPQO6ZG.js → chunk-7UIXGYOT.js} +5 -20
  63. package/dist/wallets/walletConnectors/{chunk-BL57XWJY.js → chunk-7UQQKSV7.js} +1 -1
  64. package/dist/wallets/walletConnectors/{chunk-FGBDWBWQ.js → chunk-AIKTQX6B.js} +2 -2
  65. package/dist/wallets/walletConnectors/chunk-AO24PU7X.js +104 -0
  66. package/dist/wallets/walletConnectors/{chunk-4YJWX7I3.js → chunk-APLOMU6R.js} +1 -1
  67. package/dist/wallets/walletConnectors/chunk-AZAV5URB.js +267 -0
  68. package/dist/wallets/walletConnectors/chunk-BO6OI7XU.js +63 -0
  69. package/dist/wallets/walletConnectors/{chunk-P2GV6NQG.js → chunk-BV3DCJXA.js} +12 -20
  70. package/dist/wallets/walletConnectors/{chunk-KJHOGJ3A.js → chunk-CNRPEVLV.js} +16 -4
  71. package/dist/wallets/walletConnectors/{chunk-OC2O4BHA.js → chunk-COPAK5YT.js} +2 -2
  72. package/dist/wallets/walletConnectors/chunk-CZVBS7QE.js +436 -0
  73. package/dist/wallets/walletConnectors/{chunk-QKUFFUM5.js → chunk-DA5J6GHZ.js} +14 -4
  74. package/dist/wallets/walletConnectors/chunk-FMDSZ2CE.js +63 -0
  75. package/dist/wallets/walletConnectors/{chunk-5CCU7PNU.js → chunk-FQTLYAWT.js} +2 -2
  76. package/dist/wallets/walletConnectors/chunk-FUOQBONI.js +47 -0
  77. package/dist/wallets/walletConnectors/chunk-FWCS4HBL.js +1695 -0
  78. package/dist/wallets/walletConnectors/chunk-FY7UDC3W.js +63 -0
  79. package/dist/wallets/walletConnectors/chunk-GZUP3M2X.js +63 -0
  80. package/dist/wallets/walletConnectors/chunk-H52W4ZFE.js +272 -0
  81. package/dist/wallets/walletConnectors/chunk-HEQZLRTH.js +309 -0
  82. package/dist/wallets/walletConnectors/{chunk-ISAMATTH.js → chunk-HFC4AK72.js} +2 -2
  83. package/dist/wallets/walletConnectors/chunk-HKIV22NT.js +63 -0
  84. package/dist/wallets/walletConnectors/chunk-HLC24OGS.js +63 -0
  85. package/dist/wallets/walletConnectors/{chunk-5TDZSXJ4.js → chunk-HTD7IRKM.js} +2 -2
  86. package/dist/wallets/walletConnectors/chunk-IQJWD4IN.js +269 -0
  87. package/dist/wallets/walletConnectors/chunk-IZUAJRJ4.js +311 -0
  88. package/dist/wallets/walletConnectors/{chunk-NX5MQHSQ.js → chunk-J6VUIOSE.js} +23 -2
  89. package/dist/wallets/walletConnectors/chunk-JH2SJPEY.js +63 -0
  90. package/dist/wallets/walletConnectors/chunk-JQ57SCY6.js +313 -0
  91. package/dist/wallets/walletConnectors/{chunk-F5P2INHS.js → chunk-KB7OGAUC.js} +14 -4
  92. package/dist/wallets/walletConnectors/chunk-KXEAFXAA.js +226 -0
  93. package/dist/wallets/walletConnectors/{chunk-JR2C4XXX.js → chunk-LLWI2QWC.js} +74 -18
  94. package/dist/wallets/walletConnectors/{chunk-H2MX4NAL.js → chunk-LQ2U33WM.js} +29 -16
  95. package/dist/wallets/walletConnectors/{chunk-BNSBK5PQ.js → chunk-M7KXDTM6.js} +14 -4
  96. package/dist/wallets/walletConnectors/{chunk-CYYBGUSO.js → chunk-MKAXMNZM.js} +4 -4
  97. package/dist/wallets/walletConnectors/chunk-MNRRJSFM.js +272 -0
  98. package/dist/wallets/walletConnectors/chunk-MPFE6GP2.js +306 -0
  99. package/dist/wallets/walletConnectors/{chunk-EEY5CXKO.js → chunk-MPNSYA4E.js} +2 -2
  100. package/dist/wallets/walletConnectors/chunk-NDLQSZ2F.js +63 -0
  101. package/dist/wallets/walletConnectors/{chunk-G2LI5MVX.js → chunk-NDYGTKP5.js} +0 -2
  102. package/dist/wallets/walletConnectors/chunk-NLBRSN6Q.js +63 -0
  103. package/dist/wallets/walletConnectors/{chunk-BSBRWKNG.js → chunk-NPF7NOA7.js} +69 -23
  104. package/dist/wallets/walletConnectors/{chunk-7DEZCGNV.js → chunk-NUJ6VD2U.js} +82 -16
  105. package/dist/wallets/walletConnectors/chunk-PSRATZTN.js +47 -0
  106. package/dist/wallets/walletConnectors/{chunk-MZOFZ2NQ.js → chunk-QCIIXMAZ.js} +2 -2
  107. package/dist/wallets/walletConnectors/{chunk-GHLLVM7O.js → chunk-RCI7QYCZ.js} +82 -18
  108. package/dist/wallets/walletConnectors/{chunk-QI2VB7LL.js → chunk-RHQXGWIW.js} +82 -16
  109. package/dist/wallets/walletConnectors/chunk-RPOLRZ4N.js +276 -0
  110. package/dist/wallets/walletConnectors/{chunk-5UEBEMEE.js → chunk-RQIUWXDF.js} +2 -1
  111. package/dist/wallets/walletConnectors/{chunk-RLR4Y5WO.js → chunk-SCD35IRD.js} +4 -0
  112. package/dist/wallets/walletConnectors/{chunk-EGOIRXTV.js → chunk-SOCVQ5N3.js} +2 -2
  113. package/dist/wallets/walletConnectors/chunk-TTRSCIGA.js +194 -0
  114. package/dist/wallets/walletConnectors/chunk-TYUEB4VT.js +477 -0
  115. package/dist/wallets/walletConnectors/{chunk-WTYSUOKN.js → chunk-UZXTNCDO.js} +17 -5
  116. package/dist/wallets/walletConnectors/chunk-V33I7JGZ.js +156 -0
  117. package/dist/wallets/walletConnectors/chunk-V4Q3GNBX.js +484 -0
  118. package/dist/wallets/walletConnectors/chunk-VCCTIYUJ.js +63 -0
  119. package/dist/wallets/walletConnectors/chunk-VGOISIH3.js +223 -0
  120. package/dist/wallets/walletConnectors/chunk-XFGVJOQL.js +223 -0
  121. package/dist/wallets/walletConnectors/chunk-XIOPKI2F.js +47 -0
  122. package/dist/wallets/walletConnectors/{chunk-O6EAIC4G.js → chunk-XJ4SP35I.js} +4 -1
  123. package/dist/wallets/walletConnectors/chunk-XKGUE56S.js +226 -0
  124. package/dist/wallets/walletConnectors/chunk-XQEAXENJ.js +63 -0
  125. package/dist/wallets/walletConnectors/{chunk-RY4RAB3D.js → chunk-YCZ4CZQ6.js} +106 -66
  126. package/dist/wallets/walletConnectors/chunk-Z2DC2J7S.js +345 -0
  127. package/dist/wallets/walletConnectors/chunk-Z2K3RHWK.js +47 -0
  128. package/dist/wallets/walletConnectors/chunk-ZASMSEC3.js +63 -0
  129. package/dist/wallets/walletConnectors/{chunk-G7PEFBL6.js → chunk-ZNBWRE3K.js} +2 -2
  130. package/dist/wallets/walletConnectors/chunk-ZNVFM2J2.js +156 -0
  131. package/dist/wallets/walletConnectors/chunk-ZQLQELFC.js +309 -0
  132. package/dist/wallets/walletConnectors/chunk-ZR7CEF64.js +63 -0
  133. package/dist/wallets/walletConnectors/chunk-ZSGFDK77.js +63 -0
  134. package/dist/wallets/walletConnectors/chunk-ZUIY2TRJ.js +1695 -0
  135. package/dist/wallets/walletConnectors/clvWallet/clvWallet.js +2 -2
  136. package/dist/wallets/walletConnectors/coin98Wallet/coin98Wallet.js +2 -2
  137. package/dist/wallets/walletConnectors/coreWallet/coreWallet.js +2 -2
  138. package/dist/wallets/walletConnectors/foxWallet/foxWallet.js +2 -2
  139. package/dist/wallets/walletConnectors/frontierWallet/frontierWallet.js +2 -2
  140. package/dist/wallets/walletConnectors/gateWallet/gateWallet.js +2 -2
  141. package/dist/wallets/walletConnectors/index.js +55 -55
  142. package/dist/wallets/walletConnectors/iopayWallet/iopayWallet.js +2 -2
  143. package/dist/wallets/walletConnectors/kaiaWallet/kaiaWallet.js +2 -2
  144. package/dist/wallets/walletConnectors/kaikasWallet/kaikasWallet.js +2 -2
  145. package/dist/wallets/walletConnectors/metaMaskWallet/metaMaskWallet.js +2 -2
  146. package/dist/wallets/walletConnectors/okxWallet/okxWallet.js +2 -2
  147. package/dist/wallets/walletConnectors/rainbowWallet/rainbowWallet.js +2 -2
  148. package/dist/wallets/walletConnectors/roninWallet/roninWallet.js +2 -2
  149. package/dist/wallets/walletConnectors/safepalWallet/safepalWallet.js +2 -2
  150. package/dist/wallets/walletConnectors/subWallet/subWallet.js +2 -2
  151. package/dist/wallets/walletConnectors/tokenPocketWallet/tokenPocketWallet.js +2 -2
  152. package/dist/wallets/walletConnectors/trustWallet/trustWallet.js +2 -2
  153. package/dist/wallets/walletConnectors/zealWallet/zealWallet.js +2 -2
  154. package/dist/wallets/walletConnectors/zerionWallet/zerionWallet.js +2 -2
  155. package/package.json +12 -11
  156. package/LICENSE +0 -9
  157. package/dist/solana/hooks/index.d.ts +0 -12
  158. package/dist/solana/hooks/useSolanaAccount.d.ts +0 -98
  159. package/dist/solana/hooks/useSolanaConnection.d.ts +0 -72
  160. package/dist/solana/hooks/useSolanaSendTransaction.d.ts +0 -98
  161. package/dist/solana/hooks/useSolanaSignMessage.d.ts +0 -82
  162. package/dist/wallets/walletConnectors/abcWallet/abcSolProvider.d.ts +0 -45
  163. package/dist/wallets/walletConnectors/abcWallet/abcSolProvider.js +0 -10
  164. package/dist/wallets/walletConnectors/abcWallet/abcSolanaConnector.d.ts +0 -115
  165. package/dist/wallets/walletConnectors/abcWallet/abcSolanaConnector.js +0 -12
  166. package/dist/wallets/walletConnectors/abcWallet/abcSolanaProvider.d.ts +0 -143
  167. package/dist/wallets/walletConnectors/abcWallet/abcSolanaProvider.js +0 -13
  168. package/dist/wallets/walletConnectors/abcWallet/abcSolanaWallet.d.ts +0 -18
  169. package/dist/wallets/walletConnectors/abcWallet/abcSolanaWallet.js +0 -15
  170. package/dist/wallets/walletConnectors/chunk-2XZBPMQJ.js +0 -39
  171. package/dist/wallets/walletConnectors/chunk-3SVPZCA6.js +0 -71
  172. package/dist/wallets/walletConnectors/chunk-3ZZXE7EL.js +0 -39
  173. package/dist/wallets/walletConnectors/chunk-5QEUEPNY.js +0 -94
  174. package/dist/wallets/walletConnectors/chunk-75W4VLFA.js +0 -482
  175. package/dist/wallets/walletConnectors/chunk-B6JLYR3I.js +0 -66
  176. package/dist/wallets/walletConnectors/chunk-FROV5VDF.js +0 -346
  177. package/dist/wallets/walletConnectors/chunk-HKWBR5B7.js +0 -102
  178. package/dist/wallets/walletConnectors/chunk-K4APJ4PE.js +0 -96
  179. package/dist/wallets/walletConnectors/chunk-LJ2B47VF.js +0 -108
  180. package/dist/wallets/walletConnectors/chunk-LXINMUQC.js +0 -186
  181. package/dist/wallets/walletConnectors/chunk-MORUEOYX.js +0 -76
  182. package/dist/wallets/walletConnectors/chunk-MQTXA63X.js +0 -27
  183. package/dist/wallets/walletConnectors/chunk-N4FOYXQD.js +0 -63
  184. package/dist/wallets/walletConnectors/chunk-NEXFU6BZ.js +0 -39
  185. package/dist/wallets/walletConnectors/chunk-PMZJGS7X.js +0 -73
  186. package/dist/wallets/walletConnectors/chunk-QEHZXKRF.js +0 -39
  187. package/dist/wallets/walletConnectors/chunk-T6KJZAPR.js +0 -47
  188. package/dist/wallets/walletConnectors/chunk-UBCMBPX3.js +0 -58
  189. package/dist/wallets/walletConnectors/chunk-UGQXI3RN.js +0 -284
  190. package/dist/wallets/walletConnectors/chunk-WZZVA3LW.js +0 -101
  191. package/dist/wallets/walletConnectors/chunk-X4WUD7PF.js +0 -63
  192. package/dist/wallets/walletConnectors/chunk-XOQNQKZE.js +0 -98
  193. package/dist/wallets/walletConnectors/chunk-XPSCFUX6.js +0 -372
  194. package/dist/wallets/walletConnectors/chunk-Y3LWEDF6.js +0 -63
  195. package/dist/wallets/walletConnectors/chunk-ZJ6OFFD5.js +0 -95
@@ -0,0 +1,725 @@
1
+ "use client";
2
+ import {
3
+ SolanaApi
4
+ } from "../chunk-XKGUE56S.js";
5
+ import "../chunk-LQ2U33WM.js";
6
+ import {
7
+ createAbcWaasClient
8
+ } from "../chunk-ZUIY2TRJ.js";
9
+ import "../chunk-NDYGTKP5.js";
10
+ import "../chunk-A7FIBI6X.js";
11
+ import "../chunk-TYUEB4VT.js";
12
+ import "../chunk-VETRBBA2.js";
13
+ import "../chunk-RQIUWXDF.js";
14
+
15
+ // src/wallets/walletConnectors/abcWallet/abcSolanaWalletAdapter.ts
16
+ import {
17
+ BaseMessageSignerWalletAdapter,
18
+ WalletConnectionError,
19
+ WalletNotReadyError,
20
+ WalletReadyState,
21
+ WalletSendTransactionError,
22
+ WalletSignMessageError,
23
+ WalletSignTransactionError,
24
+ isVersionedTransaction
25
+ } from "@solana/wallet-adapter-base";
26
+ import {
27
+ PublicKey
28
+ } from "@solana/web3.js";
29
+
30
+ // src/utils/encryption.ts
31
+ async function hashPin(pin) {
32
+ const encoder = new TextEncoder();
33
+ const data = encoder.encode(pin);
34
+ const hash = await crypto.subtle.digest("SHA-256", data);
35
+ return Array.from(new Uint8Array(hash)).map((b) => b.toString(16).padStart(2, "0")).join("");
36
+ }
37
+
38
+ // src/wallets/walletConnectors/abcWallet/abcSolanaWalletAdapter.ts
39
+ var AbcWalletName = "ABC Wallet";
40
+ var MODAL_STYLES = `
41
+ .abc-wallet-modal-overlay {
42
+ position: fixed;
43
+ top: 0;
44
+ left: 0;
45
+ right: 0;
46
+ bottom: 0;
47
+ background: rgba(0, 0, 0, 0.5);
48
+ display: flex;
49
+ align-items: center;
50
+ justify-content: center;
51
+ z-index: 10000;
52
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
53
+ }
54
+
55
+ .abc-wallet-modal {
56
+ background: white;
57
+ border-radius: 16px;
58
+ padding: 24px;
59
+ min-width: 320px;
60
+ max-width: 400px;
61
+ box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
62
+ animation: abc-wallet-modal-enter 0.3s ease-out;
63
+ }
64
+
65
+ @keyframes abc-wallet-modal-enter {
66
+ from {
67
+ opacity: 0;
68
+ transform: translateY(-20px);
69
+ }
70
+ to {
71
+ opacity: 1;
72
+ transform: translateY(0);
73
+ }
74
+ }
75
+
76
+ .abc-wallet-modal-header {
77
+ display: flex;
78
+ align-items: center;
79
+ margin-bottom: 20px;
80
+ }
81
+
82
+ .abc-wallet-modal-logo {
83
+ width: 48px;
84
+ height: 48px;
85
+ margin-right: 12px;
86
+ background: #007AFF;
87
+ border-radius: 8px;
88
+ display: flex;
89
+ align-items: center;
90
+ justify-content: center;
91
+ color: white;
92
+ font-weight: bold;
93
+ font-size: 20px;
94
+ }
95
+
96
+ .abc-wallet-modal-title {
97
+ font-size: 20px;
98
+ font-weight: 600;
99
+ color: #333;
100
+ }
101
+
102
+ .abc-wallet-modal-subtitle {
103
+ font-size: 14px;
104
+ color: #666;
105
+ margin-bottom: 20px;
106
+ }
107
+
108
+ .abc-wallet-modal-input {
109
+ width: 100%;
110
+ padding: 12px;
111
+ border: 1px solid #ddd;
112
+ border-radius: 8px;
113
+ font-size: 16px;
114
+ margin-bottom: 12px;
115
+ box-sizing: border-box;
116
+ }
117
+
118
+ .abc-wallet-modal-input:focus {
119
+ outline: none;
120
+ border-color: #007AFF;
121
+ }
122
+
123
+ .abc-wallet-modal-button {
124
+ width: 100%;
125
+ padding: 12px;
126
+ background: #007AFF;
127
+ color: white;
128
+ border: none;
129
+ border-radius: 8px;
130
+ font-size: 16px;
131
+ font-weight: 600;
132
+ cursor: pointer;
133
+ transition: background 0.2s;
134
+ }
135
+
136
+ .abc-wallet-modal-button:hover {
137
+ background: #0056b3;
138
+ }
139
+
140
+ .abc-wallet-modal-button:disabled {
141
+ background: #ccc;
142
+ cursor: not-allowed;
143
+ }
144
+
145
+ .abc-wallet-modal-error {
146
+ color: #ff3333;
147
+ font-size: 14px;
148
+ margin-top: 8px;
149
+ text-align: center;
150
+ }
151
+
152
+ .abc-wallet-modal-pin-dots {
153
+ display: flex;
154
+ justify-content: center;
155
+ gap: 12px;
156
+ margin: 20px 0;
157
+ }
158
+
159
+ .abc-wallet-modal-pin-dot {
160
+ width: 16px;
161
+ height: 16px;
162
+ border: 2px solid #007AFF;
163
+ border-radius: 50%;
164
+ transition: background 0.2s;
165
+ }
166
+
167
+ .abc-wallet-modal-pin-dot.filled {
168
+ background: #007AFF;
169
+ }
170
+ `;
171
+ var AbcSolanaWalletAdapter = class extends BaseMessageSignerWalletAdapter {
172
+ /**
173
+ * Creates a new ABC Solana Wallet Adapter instance
174
+ * @param config - Optional configuration
175
+ */
176
+ constructor(config = {}) {
177
+ super();
178
+ /**
179
+ * Wallet display name
180
+ */
181
+ this.name = AbcWalletName;
182
+ /**
183
+ * Wallet website URL
184
+ */
185
+ this.url = "https://myabcwallet.com";
186
+ /**
187
+ * Wallet icon (ABC logo)
188
+ */
189
+ this.icon = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIiByeD0iOCIgZmlsbD0iIzAwN0FGRiIvPgo8cGF0aCBkPSJNMTYgOEwxMCAxNkgxM1YyNEwxOSAxNkgxNlY4WiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+";
190
+ /**
191
+ * Supported transaction versions
192
+ */
193
+ this.supportedTransactionVersions = /* @__PURE__ */ new Set(["legacy", 0]);
194
+ this._styleInjected = false;
195
+ this._requestPinCallback = null;
196
+ this._connecting = false;
197
+ this._wallet = null;
198
+ this._publicKey = null;
199
+ this._config = {
200
+ waasUrl: config.waasUrl || "https://api.waas.myabcwallet.com",
201
+ environment: config.environment || "production",
202
+ network: config.network || "solana",
203
+ // ABC WaaS format (mainnet)
204
+ onRequestAuth: config.onRequestAuth,
205
+ onRequestPin: config.onRequestPin,
206
+ disableBuiltInAuth: config.disableBuiltInAuth ?? true
207
+ // Default: true (TalkenKit integration mode)
208
+ };
209
+ const plain = Array.from(crypto.getRandomValues(new Uint8Array(32))).map((b) => b.toString(16).padStart(2, "0")).join("");
210
+ const walletConfig = {
211
+ waasUrl: this._config.waasUrl,
212
+ plain,
213
+ environment: this._config.environment
214
+ };
215
+ this._client = createAbcWaasClient(walletConfig);
216
+ this._solanaApi = new SolanaApi(walletConfig);
217
+ this._injectStyles();
218
+ if (typeof window !== "undefined") {
219
+ this._handleStorageUpdate = this._handleStorageUpdate.bind(this);
220
+ window.addEventListener(
221
+ "talkenkit_storage_update",
222
+ this._handleStorageUpdate
223
+ );
224
+ document.addEventListener("visibilitychange", this._handleStorageUpdate);
225
+ setTimeout(() => this._handleStorageUpdate(), 100);
226
+ }
227
+ }
228
+ /**
229
+ * Public key of the connected wallet
230
+ */
231
+ get publicKey() {
232
+ return this._publicKey;
233
+ }
234
+ /**
235
+ * Whether the wallet is currently connecting
236
+ */
237
+ get connecting() {
238
+ return this._connecting;
239
+ }
240
+ /**
241
+ * Whether the wallet is connected
242
+ */
243
+ get connected() {
244
+ return !!this._wallet && !!this._publicKey;
245
+ }
246
+ /**
247
+ * Wallet ready state - always ready for embedded wallet
248
+ */
249
+ get readyState() {
250
+ return WalletReadyState.Installed;
251
+ }
252
+ /**
253
+ * Set PIN request callback (for InternalPinProvider integration)
254
+ */
255
+ setRequestPinCallback(callback) {
256
+ this._requestPinCallback = callback;
257
+ }
258
+ /**
259
+ * Connect to ABC Wallet
260
+ */
261
+ async connect() {
262
+ try {
263
+ if (this.connected || this.connecting)
264
+ return;
265
+ this._connecting = true;
266
+ const authState = localStorage.getItem("talkenkit_abc_auth_state");
267
+ if (authState) {
268
+ try {
269
+ const authData = JSON.parse(authState);
270
+ if (authData.accessToken && authData.refreshToken && authData.solanaWallet && authData.expiresAt) {
271
+ if (authData.expiresAt > Date.now()) {
272
+ const wallet = authData.solanaWallet;
273
+ const keyId = wallet.keyId || wallet.key_id;
274
+ const encryptedShare = wallet.encryptedShare || wallet.encrypted_share;
275
+ const secretStore = wallet.secretStore || wallet.secret_store;
276
+ if (!keyId || !encryptedShare) {
277
+ this._connecting = false;
278
+ return;
279
+ }
280
+ const normalizedWallet = {
281
+ ...wallet,
282
+ keyId,
283
+ encryptedShare,
284
+ secretStore: secretStore || ""
285
+ };
286
+ this._client.setTokens(
287
+ authData.accessToken,
288
+ authData.refreshToken,
289
+ authData.expiresAt
290
+ );
291
+ this._solanaApi.setTokens(
292
+ authData.accessToken,
293
+ authData.refreshToken,
294
+ authData.expiresAt
295
+ );
296
+ this._wallet = normalizedWallet;
297
+ const addressOrPubkey = normalizedWallet.address || normalizedWallet.publicKey;
298
+ try {
299
+ this._publicKey = new PublicKey(addressOrPubkey);
300
+ } catch (_error) {
301
+ const hexKey = addressOrPubkey.startsWith("0x") ? addressOrPubkey.slice(2) : addressOrPubkey;
302
+ const bytes = new Uint8Array(Buffer.from(hexKey, "hex"));
303
+ this._publicKey = new PublicKey(bytes);
304
+ }
305
+ this._connecting = false;
306
+ const displayAddress2 = this._publicKey.toBase58();
307
+ console.log(
308
+ `[AbcSolanaWalletAdapter] \u2705 Wallet connected: ${displayAddress2.slice(0, 6)}...${displayAddress2.slice(-6)}`
309
+ );
310
+ this.emit("connect", this._publicKey);
311
+ return;
312
+ }
313
+ console.log(
314
+ "[AbcSolanaWalletAdapter] Token expired, clearing session"
315
+ );
316
+ localStorage.removeItem("talkenkit_abc_auth_state");
317
+ }
318
+ } catch (error) {
319
+ console.error(
320
+ "[AbcSolanaWalletAdapter] Failed to restore session:",
321
+ error
322
+ );
323
+ }
324
+ }
325
+ if (this._config.disableBuiltInAuth && !this._config.onRequestAuth) {
326
+ this._connecting = false;
327
+ throw new WalletConnectionError(
328
+ "ABC Wallet requires authentication. Please connect via TalkenKit Connect button."
329
+ );
330
+ }
331
+ const authHandler = this._config.onRequestAuth || this._showAuthModal.bind(this);
332
+ const authResult = await authHandler();
333
+ const loginResponse = await this._client.snsLogin({
334
+ email: authResult.email,
335
+ token: "demo-token",
336
+ // Simplified authentication for standalone adapter
337
+ service: "google",
338
+ // Default to Google for now
339
+ audience: "abc_wallet"
340
+ });
341
+ const expiresAt = Date.now() + 3600 * 1e3;
342
+ this._client.setTokens(
343
+ loginResponse.access_token,
344
+ loginResponse.refresh_token,
345
+ expiresAt
346
+ );
347
+ this._solanaApi.setTokens(
348
+ loginResponse.access_token,
349
+ loginResponse.refresh_token,
350
+ expiresAt
351
+ );
352
+ const pinHandler = this._requestPinCallback || this._config.onRequestPin || this._showPinModal.bind(this);
353
+ const pin = await pinHandler();
354
+ const pinHash = await hashPin(pin);
355
+ let walletResult;
356
+ try {
357
+ walletResult = await this._solanaApi.generateSolanaWallet(pinHash);
358
+ } catch (error) {
359
+ if (error.response?.status === 409 || error.message?.includes("already exists")) {
360
+ walletResult = await this._solanaApi.recoverSolanaWallet(pinHash);
361
+ } else {
362
+ throw error;
363
+ }
364
+ }
365
+ this._wallet = walletResult;
366
+ try {
367
+ this._publicKey = new PublicKey(walletResult.address);
368
+ } catch {
369
+ const hexKey = walletResult.address.startsWith("0x") ? walletResult.address.slice(2) : walletResult.address;
370
+ const bytes = new Uint8Array(Buffer.from(hexKey, "hex"));
371
+ this._publicKey = new PublicKey(bytes);
372
+ }
373
+ this._connecting = false;
374
+ const displayAddress = this._publicKey.toBase58();
375
+ console.log(
376
+ `[AbcSolanaWalletAdapter] \u2705 Wallet connected: ${displayAddress.slice(0, 6)}...${displayAddress.slice(-6)}`
377
+ );
378
+ this.emit("connect", this._publicKey);
379
+ } catch (error) {
380
+ this._connecting = false;
381
+ throw new WalletConnectionError(error?.message, error);
382
+ }
383
+ }
384
+ /**
385
+ * Disconnect from the wallet
386
+ */
387
+ async disconnect() {
388
+ const wallet = this._wallet;
389
+ if (wallet) {
390
+ this._wallet = null;
391
+ this._publicKey = null;
392
+ try {
393
+ await this._client.logout();
394
+ } catch (error) {
395
+ this.emit("error", new WalletConnectionError(error?.message, error));
396
+ }
397
+ }
398
+ this.emit("disconnect");
399
+ }
400
+ /**
401
+ * Sign a message
402
+ */
403
+ async signMessage(message) {
404
+ try {
405
+ if (!this._wallet)
406
+ throw new WalletNotReadyError();
407
+ const messageHex = Buffer.from(message).toString("hex");
408
+ const signatureResponse = await this._solanaApi.signSolanaMessage({
409
+ keyId: this._wallet.keyId,
410
+ encryptedShare: this._wallet.encryptedShare,
411
+ secretStore: this._wallet.secretStore || "",
412
+ message: messageHex
413
+ });
414
+ const signatureBytes = Buffer.from(signatureResponse.signature, "base64");
415
+ return new Uint8Array(signatureBytes);
416
+ } catch (error) {
417
+ throw new WalletSignMessageError(error?.message, error);
418
+ }
419
+ }
420
+ /**
421
+ * Sign a transaction
422
+ */
423
+ async signTransaction(transaction) {
424
+ try {
425
+ if (!this._wallet)
426
+ throw new WalletNotReadyError();
427
+ if (!this._publicKey)
428
+ throw new WalletNotReadyError();
429
+ const pinHandler = this._requestPinCallback || this._config.onRequestPin || this._showPinModal.bind(this);
430
+ const pin = await pinHandler();
431
+ const _pinHash = await hashPin(pin);
432
+ const serialized = isVersionedTransaction(transaction) ? Buffer.from(transaction.serialize()) : Buffer.from(transaction.serialize({ requireAllSignatures: false }));
433
+ const messageHex = serialized.toString("hex");
434
+ const signatureResponse = await this._solanaApi.signSolanaTransaction({
435
+ keyId: this._wallet.keyId,
436
+ encryptedShare: this._wallet.encryptedShare,
437
+ secretStore: this._wallet.secretStore || "",
438
+ message: messageHex
439
+ });
440
+ const signature = Buffer.from(signatureResponse.signature, "hex");
441
+ if (isVersionedTransaction(transaction)) {
442
+ transaction.addSignature(
443
+ this._publicKey,
444
+ signature
445
+ );
446
+ } else {
447
+ transaction.addSignature(this._publicKey, signature);
448
+ }
449
+ return transaction;
450
+ } catch (error) {
451
+ console.error(
452
+ "[AbcSolanaWalletAdapter] \u274C signTransaction failed:",
453
+ error
454
+ );
455
+ throw new WalletSignTransactionError(error?.message, error);
456
+ }
457
+ }
458
+ /**
459
+ * Sign multiple transactions
460
+ */
461
+ async signAllTransactions(transactions) {
462
+ const signedTransactions = [];
463
+ for (const transaction of transactions) {
464
+ const signed = await this.signTransaction(transaction);
465
+ signedTransactions.push(signed);
466
+ }
467
+ return signedTransactions;
468
+ }
469
+ /**
470
+ * Send a transaction
471
+ *
472
+ * Note: ABC WaaS requires using its own transaction generation API.
473
+ * This method extracts transfer details and uses the ABC WaaS standard flow:
474
+ * 1. Generate transaction (with fresh blockhash from ABC WaaS RPC)
475
+ * 2. Sign transaction
476
+ * 3. Broadcast transaction
477
+ */
478
+ async sendTransaction(transaction, _connection, _options = {}) {
479
+ try {
480
+ if (!this._wallet)
481
+ throw new WalletNotReadyError();
482
+ if (!this._publicKey)
483
+ throw new WalletNotReadyError();
484
+ let toAddress;
485
+ let amount;
486
+ if (!isVersionedTransaction(transaction)) {
487
+ const { SystemProgram } = await import("@solana/web3.js");
488
+ for (const instruction of transaction.instructions) {
489
+ if (instruction.programId.equals(SystemProgram.programId)) {
490
+ if (instruction.data.length >= 12 && instruction.data[0] === 2) {
491
+ amount = Number(
492
+ new DataView(instruction.data.buffer).getBigUint64(4, true)
493
+ );
494
+ if (instruction.keys.length >= 2) {
495
+ toAddress = instruction.keys[1].pubkey.toBase58();
496
+ }
497
+ }
498
+ }
499
+ }
500
+ }
501
+ if (!toAddress || amount === void 0) {
502
+ throw new WalletSendTransactionError(
503
+ "Unable to extract transfer details from transaction. ABC Wallet currently only supports simple SOL transfers via sendTransaction."
504
+ );
505
+ }
506
+ const pinHandler = this._requestPinCallback || this._config.onRequestPin || this._showPinModal.bind(this);
507
+ const pin = await pinHandler();
508
+ const _pinHash = await hashPin(pin);
509
+ const network = this._config.network || "solana";
510
+ const txGenResponse = await this._solanaApi.generateTransferTransaction({
511
+ network,
512
+ amount,
513
+ fromAddress: this._publicKey.toBase58(),
514
+ toAddress,
515
+ feePayerAddress: this._publicKey.toBase58()
516
+ });
517
+ if (!txGenResponse.serialized_tx) {
518
+ throw new WalletSendTransactionError(
519
+ "Failed to generate transaction via ABC WaaS"
520
+ );
521
+ }
522
+ const signatureResponse = await this._solanaApi.signSolanaTransaction({
523
+ keyId: this._wallet.keyId,
524
+ encryptedShare: this._wallet.encryptedShare,
525
+ secretStore: this._wallet.secretStore || "",
526
+ message: txGenResponse.serialized_tx
527
+ });
528
+ const result = await this._solanaApi.sendSolanaTransaction({
529
+ network,
530
+ serializedTX: txGenResponse.serialized_tx,
531
+ signatures: [signatureResponse.signature]
532
+ });
533
+ console.log(
534
+ "[AbcSolanaWalletAdapter] \u2705 Transaction sent:",
535
+ result.txHash
536
+ );
537
+ return result.txHash;
538
+ } catch (error) {
539
+ console.error(
540
+ "[AbcSolanaWalletAdapter] \u274C sendTransaction - failed:",
541
+ error
542
+ );
543
+ throw new WalletSendTransactionError(error?.message, error);
544
+ }
545
+ }
546
+ /**
547
+ * Inject modal styles into the page
548
+ */
549
+ _injectStyles() {
550
+ if (this._styleInjected || typeof window === "undefined")
551
+ return;
552
+ const style = document.createElement("style");
553
+ style.textContent = MODAL_STYLES;
554
+ document.head.appendChild(style);
555
+ this._styleInjected = true;
556
+ }
557
+ /**
558
+ * Handle storage update events for auto-connection
559
+ */
560
+ async _handleStorageUpdate() {
561
+ if (this.connected || this.connecting) {
562
+ return;
563
+ }
564
+ const authState = localStorage.getItem("talkenkit_abc_auth_state");
565
+ if (!authState) {
566
+ return;
567
+ }
568
+ try {
569
+ const authData = JSON.parse(authState);
570
+ if (!authData.solanaWallet || !authData.solanaWallet.address) {
571
+ return;
572
+ }
573
+ const wallet = authData.solanaWallet;
574
+ const keyId = wallet.keyId || wallet.key_id;
575
+ const encryptedShare = wallet.encryptedShare || wallet.encrypted_share;
576
+ if (!keyId || !encryptedShare) {
577
+ return;
578
+ }
579
+ await this.connect();
580
+ } catch (error) {
581
+ console.error("[AbcSolanaWalletAdapter] Auto-connect failed:", error);
582
+ }
583
+ }
584
+ /**
585
+ * Show built-in authentication modal
586
+ */
587
+ async _showAuthModal() {
588
+ return new Promise((resolve, reject) => {
589
+ const overlay = document.createElement("div");
590
+ overlay.className = "abc-wallet-modal-overlay";
591
+ const modal = document.createElement("div");
592
+ modal.className = "abc-wallet-modal";
593
+ modal.innerHTML = `
594
+ <div class="abc-wallet-modal-header">
595
+ <div class="abc-wallet-modal-logo">ABC</div>
596
+ <div class="abc-wallet-modal-title">ABC Wallet</div>
597
+ </div>
598
+ <div class="abc-wallet-modal-subtitle">Sign in with your email to continue</div>
599
+ <input type="email" class="abc-wallet-modal-input" id="abc-email" placeholder="Email address" />
600
+ <input type="password" class="abc-wallet-modal-input" id="abc-password" placeholder="Password" />
601
+ <button class="abc-wallet-modal-button" id="abc-login">Sign In</button>
602
+ <div class="abc-wallet-modal-error" id="abc-error" style="display: none;"></div>
603
+ `;
604
+ overlay.appendChild(modal);
605
+ document.body.appendChild(overlay);
606
+ const emailInput = modal.querySelector("#abc-email");
607
+ const passwordInput = modal.querySelector(
608
+ "#abc-password"
609
+ );
610
+ const loginButton = modal.querySelector(
611
+ "#abc-login"
612
+ );
613
+ const errorDiv = modal.querySelector("#abc-error");
614
+ const handleLogin = () => {
615
+ const email = emailInput.value.trim();
616
+ const password = passwordInput.value.trim();
617
+ if (!email || !password) {
618
+ errorDiv.textContent = "Please enter email and password";
619
+ errorDiv.style.display = "block";
620
+ return;
621
+ }
622
+ document.body.removeChild(overlay);
623
+ resolve({ email, password, provider: "email" });
624
+ };
625
+ loginButton.addEventListener("click", handleLogin);
626
+ passwordInput.addEventListener("keypress", (e) => {
627
+ if (e.key === "Enter")
628
+ handleLogin();
629
+ });
630
+ emailInput.focus();
631
+ overlay.addEventListener("click", (e) => {
632
+ if (e.target === overlay) {
633
+ document.body.removeChild(overlay);
634
+ reject(new WalletConnectionError("User cancelled authentication"));
635
+ }
636
+ });
637
+ });
638
+ }
639
+ /**
640
+ * Show built-in PIN modal
641
+ */
642
+ async _showPinModal() {
643
+ return new Promise((resolve, reject) => {
644
+ const overlay = document.createElement("div");
645
+ overlay.className = "abc-wallet-modal-overlay";
646
+ const modal = document.createElement("div");
647
+ modal.className = "abc-wallet-modal";
648
+ modal.innerHTML = `
649
+ <div class="abc-wallet-modal-header">
650
+ <div class="abc-wallet-modal-logo">ABC</div>
651
+ <div class="abc-wallet-modal-title">Enter PIN</div>
652
+ </div>
653
+ <div class="abc-wallet-modal-subtitle">Enter your 6-digit PIN to continue</div>
654
+ <div class="abc-wallet-modal-pin-dots">
655
+ <div class="abc-wallet-modal-pin-dot"></div>
656
+ <div class="abc-wallet-modal-pin-dot"></div>
657
+ <div class="abc-wallet-modal-pin-dot"></div>
658
+ <div class="abc-wallet-modal-pin-dot"></div>
659
+ <div class="abc-wallet-modal-pin-dot"></div>
660
+ <div class="abc-wallet-modal-pin-dot"></div>
661
+ </div>
662
+ <input type="password" class="abc-wallet-modal-input" id="abc-pin"
663
+ placeholder="Enter 6-digit PIN" maxlength="6"
664
+ style="text-align: center; letter-spacing: 8px;" />
665
+ <button class="abc-wallet-modal-button" id="abc-submit" disabled>Submit</button>
666
+ <div class="abc-wallet-modal-error" id="abc-error" style="display: none;"></div>
667
+ `;
668
+ overlay.appendChild(modal);
669
+ document.body.appendChild(overlay);
670
+ const pinInput = modal.querySelector("#abc-pin");
671
+ const submitButton = modal.querySelector(
672
+ "#abc-submit"
673
+ );
674
+ const errorDiv = modal.querySelector("#abc-error");
675
+ const dots = modal.querySelectorAll(".abc-wallet-modal-pin-dot");
676
+ pinInput.addEventListener("input", (e) => {
677
+ const value = e.target.value;
678
+ if (!/^\d*$/.test(value)) {
679
+ pinInput.value = value.replace(/\D/g, "");
680
+ return;
681
+ }
682
+ dots.forEach((dot, i) => {
683
+ if (i < value.length) {
684
+ dot.classList.add("filled");
685
+ } else {
686
+ dot.classList.remove("filled");
687
+ }
688
+ });
689
+ submitButton.disabled = value.length !== 6;
690
+ if (value.length === 6) {
691
+ handleSubmit();
692
+ }
693
+ });
694
+ const handleSubmit = () => {
695
+ const pin = pinInput.value.trim();
696
+ if (pin.length !== 6 || !/^\d{6}$/.test(pin)) {
697
+ errorDiv.textContent = "Please enter a valid 6-digit PIN";
698
+ errorDiv.style.display = "block";
699
+ return;
700
+ }
701
+ document.body.removeChild(overlay);
702
+ resolve(pin);
703
+ };
704
+ submitButton.addEventListener("click", handleSubmit);
705
+ pinInput.addEventListener("keypress", (e) => {
706
+ if (e.key === "Enter" && pinInput.value.length === 6) {
707
+ handleSubmit();
708
+ }
709
+ });
710
+ pinInput.focus();
711
+ overlay.addEventListener("click", (e) => {
712
+ if (e.target === overlay) {
713
+ document.body.removeChild(overlay);
714
+ reject(new WalletConnectionError("User cancelled PIN entry"));
715
+ }
716
+ });
717
+ });
718
+ }
719
+ };
720
+ var abcSolanaWalletAdapter_default = AbcSolanaWalletAdapter;
721
+ export {
722
+ AbcSolanaWalletAdapter,
723
+ AbcWalletName,
724
+ abcSolanaWalletAdapter_default as default
725
+ };