@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,226 @@
1
+ "use client";
2
+ import {
3
+ BaseApiClient
4
+ } from "./chunk-LQ2U33WM.js";
5
+ import {
6
+ getSolanaNetwork
7
+ } from "./chunk-A7FIBI6X.js";
8
+ import {
9
+ createAbcError
10
+ } from "./chunk-TYUEB4VT.js";
11
+
12
+ // src/wallets/walletConnectors/abcWallet/api/SolanaApi.ts
13
+ import { PublicKey } from "@solana/web3.js";
14
+ var SolanaApi = class extends BaseApiClient {
15
+ /**
16
+ * Generate Solana wallet (Ed25519)
17
+ * Uses V3 API with Ed25519 curve
18
+ *
19
+ * @param pin - Hashed PIN (SHA-256)
20
+ * @param isRecover - Whether to recover existing wallet (default: false)
21
+ * @returns Solana wallet information
22
+ */
23
+ async generateSolanaWallet(pin, isRecover = false) {
24
+ const endpoint = `/v3/wallet/${isRecover ? "recover" : "generate"}`;
25
+ const network = getSolanaNetwork();
26
+ const response = await this.request(endpoint, {
27
+ method: "POST",
28
+ contentType: "json",
29
+ body: {
30
+ curve: "ed25519",
31
+ password: pin,
32
+ network
33
+ }
34
+ });
35
+ let result;
36
+ if (response.status === "success" && response.result) {
37
+ result = response.result;
38
+ } else if (response.encrypted_share && response.key_id) {
39
+ result = response;
40
+ } else {
41
+ throw createAbcError(
42
+ "WALLET_NOT_FOUND" /* WALLET_NOT_FOUND */,
43
+ `Failed to ${isRecover ? "recover" : "generate"} Solana wallet`,
44
+ response
45
+ );
46
+ }
47
+ let address;
48
+ try {
49
+ address = this.deriveAddressFromPublicKey(result.public_key);
50
+ } catch (_error) {
51
+ address = result.public_key.startsWith("0x") ? result.public_key.slice(2) : result.public_key;
52
+ }
53
+ return {
54
+ uid: result.uid || "",
55
+ sessionId: result.share_id,
56
+ shareId: result.share_id,
57
+ publicKey: result.public_key,
58
+ address,
59
+ keyId: result.key_id || result.share_id,
60
+ // API returns snake_case key_id
61
+ encryptedShare: result.encrypted_share || "",
62
+ // API returns snake_case encrypted_share
63
+ secretStore: result.secret_store || "",
64
+ // API returns snake_case secret_store
65
+ network
66
+ // Use network from request (already has correct value)
67
+ };
68
+ }
69
+ /**
70
+ * Recover Solana wallet (alias for generateSolanaWallet with isRecover=true)
71
+ *
72
+ * @param pin - Hashed PIN (SHA-256)
73
+ * @returns Recovered Solana wallet information
74
+ */
75
+ async recoverSolanaWallet(pin) {
76
+ return this.generateSolanaWallet(pin, true);
77
+ }
78
+ /**
79
+ * Derive Solana address from Ed25519 public key
80
+ * @param publicKey - Ed25519 public key (hex)
81
+ * @returns Solana address (base58)
82
+ */
83
+ deriveAddressFromPublicKey(publicKey) {
84
+ const cleanKey = publicKey.startsWith("0x") ? publicKey.slice(2) : publicKey;
85
+ const bytes = new Uint8Array(
86
+ cleanKey.match(/.{1,2}/g)?.map((byte) => Number.parseInt(byte, 16)) || []
87
+ );
88
+ try {
89
+ const pubkey = new PublicKey(bytes);
90
+ return pubkey.toBase58();
91
+ } catch (error) {
92
+ console.error("[SolanaApi] Failed to encode address:", error);
93
+ return cleanKey;
94
+ }
95
+ }
96
+ /**
97
+ * Sign Solana transaction with Ed25519
98
+ * Reference: /v3/wallet/sign API requires only 5 fields
99
+ */
100
+ async signSolanaTransaction(params) {
101
+ const network = getSolanaNetwork();
102
+ const response = await this.request("/v3/wallet/sign", {
103
+ method: "POST",
104
+ contentType: "json",
105
+ body: {
106
+ curve: "ed25519",
107
+ network,
108
+ key_id: params.keyId,
109
+ encrypted_share: params.encryptedShare,
110
+ secret_store: params.secretStore || "",
111
+ message: params.message
112
+ }
113
+ });
114
+ let signature;
115
+ if (response.status === "success" && response.result?.signature) {
116
+ signature = response.result.signature;
117
+ } else if (response.signature) {
118
+ signature = response.signature;
119
+ } else {
120
+ throw createAbcError(
121
+ "SIGNATURE_FAILED" /* SIGNATURE_FAILED */,
122
+ "Failed to sign Solana transaction",
123
+ response
124
+ );
125
+ }
126
+ return {
127
+ signature
128
+ };
129
+ }
130
+ /**
131
+ * Sign Solana message with Ed25519
132
+ * Reference: /v3/wallet/sign API requires only 5 fields
133
+ */
134
+ async signSolanaMessage(params) {
135
+ const network = getSolanaNetwork();
136
+ const response = await this.request("/v3/wallet/sign", {
137
+ method: "POST",
138
+ contentType: "json",
139
+ body: {
140
+ curve: "ed25519",
141
+ network,
142
+ key_id: params.keyId,
143
+ encrypted_share: params.encryptedShare,
144
+ secret_store: params.secretStore || "",
145
+ message: params.message
146
+ }
147
+ });
148
+ let signature;
149
+ if (response.status === "success" && response.result?.signature) {
150
+ signature = response.result.signature;
151
+ } else if (response.signature) {
152
+ signature = response.signature;
153
+ } else {
154
+ throw createAbcError(
155
+ "SIGNATURE_FAILED" /* SIGNATURE_FAILED */,
156
+ "Failed to sign Solana message",
157
+ response
158
+ );
159
+ }
160
+ return {
161
+ signature
162
+ };
163
+ }
164
+ /**
165
+ * Generate Solana transfer transaction via ABC WaaS API
166
+ * This ensures the transaction uses the same RPC and blockhash as the server
167
+ */
168
+ async generateTransferTransaction(params) {
169
+ const response = await this.request(
170
+ "/wapi/v2/solana/tx/generateTransferSOLTransaction",
171
+ {
172
+ method: "POST",
173
+ contentType: "json",
174
+ body: {
175
+ network: params.network,
176
+ amount: params.amount,
177
+ fromAddress: params.fromAddress,
178
+ toAddress: params.toAddress,
179
+ feePayerAddress: params.feePayerAddress
180
+ }
181
+ }
182
+ );
183
+ const responseData = response;
184
+ const serializedTx = responseData.data?.serialized_tx || response.status === "success" && response.result?.data?.serialized_tx;
185
+ if (!serializedTx) {
186
+ throw createAbcError(
187
+ "NETWORK_ERROR" /* NETWORK_ERROR */,
188
+ "Failed to generate Solana transaction",
189
+ response
190
+ );
191
+ }
192
+ return {
193
+ serialized_tx: serializedTx
194
+ };
195
+ }
196
+ /**
197
+ * Send Solana transaction
198
+ */
199
+ async sendSolanaTransaction(params) {
200
+ const response = await this.request("/wapi/v2/solana/tx/sendTransaction", {
201
+ method: "POST",
202
+ contentType: "json",
203
+ body: {
204
+ network: params.network,
205
+ serializedTX: params.serializedTX,
206
+ signatures: params.signatures
207
+ }
208
+ });
209
+ const responseData = response;
210
+ const txHash = responseData.data || response.status === "success" && response.result?.data;
211
+ if (!txHash || typeof txHash !== "string") {
212
+ throw createAbcError(
213
+ "NETWORK_ERROR" /* NETWORK_ERROR */,
214
+ "Failed to send Solana transaction",
215
+ response
216
+ );
217
+ }
218
+ return {
219
+ txHash
220
+ };
221
+ }
222
+ };
223
+
224
+ export {
225
+ SolanaApi
226
+ };
@@ -0,0 +1,63 @@
1
+ "use client";
2
+ import {
3
+ BitcoinApi
4
+ } from "./chunk-M7KXDTM6.js";
5
+ import {
6
+ SigningApi
7
+ } from "./chunk-HTD7IRKM.js";
8
+ import {
9
+ TransactionApi
10
+ } from "./chunk-HFC4AK72.js";
11
+ import {
12
+ AuthApi
13
+ } from "./chunk-ZQLQELFC.js";
14
+ import {
15
+ WalletApi
16
+ } from "./chunk-MKAXMNZM.js";
17
+ import {
18
+ SolanaApi
19
+ } from "./chunk-JQ57SCY6.js";
20
+
21
+ // src/wallets/walletConnectors/abcWallet/api/index.ts
22
+ var AbcWaasApiClient = class {
23
+ constructor(config) {
24
+ this.auth = new AuthApi(config);
25
+ this.wallet = new WalletApi(config);
26
+ this.transaction = new TransactionApi(config);
27
+ this.signing = new SigningApi(config);
28
+ this.solana = new SolanaApi(config);
29
+ this.bitcoin = new BitcoinApi(config);
30
+ }
31
+ /**
32
+ * Check if user is authenticated
33
+ */
34
+ isAuthenticated() {
35
+ return this.auth.isAuthenticated();
36
+ }
37
+ /**
38
+ * Check if access token is expired
39
+ */
40
+ isTokenExpired() {
41
+ return this.auth.isTokenExpired();
42
+ }
43
+ /**
44
+ * Get current access token
45
+ */
46
+ getAccessToken() {
47
+ return this.auth.getAccessToken();
48
+ }
49
+ /**
50
+ * Logout (clear tokens)
51
+ */
52
+ async logout() {
53
+ await this.auth.logout();
54
+ }
55
+ };
56
+ function createAbcWaasApiClient(config) {
57
+ return new AbcWaasApiClient(config);
58
+ }
59
+
60
+ export {
61
+ AbcWaasApiClient,
62
+ createAbcWaasApiClient
63
+ };
@@ -2,10 +2,10 @@
2
2
  import {
3
3
  loadAuthState,
4
4
  saveAuthState
5
- } from "./chunk-UV5HHESJ.js";
5
+ } from "./chunk-TYUEB4VT.js";
6
6
 
7
- // src/wallets/walletConnectors/abcWallet/abcSolanaConnector.ts
8
- var AbcSolanaConnector = class {
7
+ // src/wallets/walletConnectors/abcWallet/abcBitcoinConnector.ts
8
+ var AbcBitcoinConnector = class {
9
9
  constructor(config) {
10
10
  this.wallet = null;
11
11
  this.connected = false;
@@ -13,6 +13,7 @@ var AbcSolanaConnector = class {
13
13
  this.connectListeners = /* @__PURE__ */ new Set();
14
14
  this.disconnectListeners = /* @__PURE__ */ new Set();
15
15
  this.accountsChangedListeners = /* @__PURE__ */ new Set();
16
+ this.networkChangedListeners = /* @__PURE__ */ new Set();
16
17
  this.client = config.client;
17
18
  this.provider = config.provider;
18
19
  this.setupProviderListeners();
@@ -41,78 +42,126 @@ var AbcSolanaConnector = class {
41
42
  listener(accounts);
42
43
  }
43
44
  });
45
+ this.provider.on("networkChanged", (network) => {
46
+ for (const listener of this.networkChangedListeners) {
47
+ listener(network);
48
+ }
49
+ });
44
50
  }
45
51
  /**
46
- * Connect Solana wallet
52
+ * Connect Bitcoin wallet
47
53
  */
48
54
  async connect() {
49
55
  try {
50
56
  const authState = loadAuthState();
51
- console.log("\u{1F527} Solana Connector connect() called:", {
57
+ console.log("[BitcoinConnector] \u{1F527} connect() called:", {
52
58
  hasAuthState: !!authState,
53
59
  isAuthenticated: authState?.isAuthenticated,
54
- hasSolanaWallet: !!authState?.solanaWallet,
55
- solanaAddress: authState?.solanaWallet?.address
60
+ hasBitcoinWallet: !!authState?.bitcoinWallet,
61
+ bitcoinAddress: authState?.bitcoinWallet?.address
56
62
  });
57
- if (!authState || !authState.isAuthenticated || !authState.solanaWallet) {
58
- throw new Error("SOLANA_LOGIN_REQUIRED");
63
+ if (!authState || !authState.isAuthenticated || !authState.bitcoinWallet) {
64
+ throw new Error("BITCOIN_LOGIN_REQUIRED");
59
65
  }
60
- this.wallet = authState.solanaWallet;
61
- this.provider.setWallet(authState.solanaWallet);
66
+ this.wallet = authState.bitcoinWallet;
67
+ this.provider.setWallet(authState.bitcoinWallet);
62
68
  this.provider.setRequestPinCallback(async () => {
63
69
  if (!authState.pin) {
64
- console.error("\u274C PIN not available in authState");
70
+ console.error("[BitcoinConnector] \u274C PIN not available in authState");
65
71
  throw new Error("PIN not available");
66
72
  }
67
73
  return authState.pin;
68
74
  });
69
- console.log("\u2705 Solana Provider wallet and PIN callback set:", {
70
- address: authState.solanaWallet.address,
71
- publicKey: authState.solanaWallet.publicKey,
75
+ console.log("[BitcoinConnector] \u2705 Wallet and PIN callback set:", {
76
+ address: authState.bitcoinWallet.address,
77
+ publicKey: authState.bitcoinWallet.publicKey,
78
+ addressType: authState.bitcoinWallet.addressType,
79
+ network: authState.bitcoinWallet.network,
72
80
  hasPIN: !!authState.pin
73
81
  });
74
- const result = await this.provider.connect();
75
82
  this.connected = true;
76
- return result;
83
+ return {
84
+ address: authState.bitcoinWallet.address,
85
+ publicKey: authState.bitcoinWallet.publicKey,
86
+ network: authState.bitcoinWallet.network
87
+ };
77
88
  } catch (error) {
78
- if (error.message === "SOLANA_LOGIN_REQUIRED") {
89
+ if (error.message === "BITCOIN_LOGIN_REQUIRED") {
79
90
  throw error;
80
91
  }
81
- console.error("Solana connector connect error:", error);
92
+ console.error("[BitcoinConnector] \u274C connect error:", error);
82
93
  throw error;
83
94
  }
84
95
  }
85
96
  /**
86
- * Disconnect Solana wallet
97
+ * Disconnect Bitcoin wallet
87
98
  */
88
99
  async disconnect() {
89
100
  try {
90
- await this.provider.disconnect();
101
+ this.provider.clearWallet();
91
102
  this.wallet = null;
92
103
  this.connected = false;
93
- console.log("\u2705 Solana wallet disconnected");
104
+ console.log("[BitcoinConnector] \u2705 Wallet disconnected");
94
105
  } catch (error) {
95
- console.error("Solana connector disconnect error:", error);
106
+ console.error("[BitcoinConnector] \u274C disconnect error:", error);
96
107
  throw error;
97
108
  }
98
109
  }
99
110
  /**
100
- * Get accounts
111
+ * Get Bitcoin address
101
112
  */
102
- async getAccounts() {
103
- return this.provider.getAccounts();
113
+ async getAddress() {
114
+ return this.provider.getAddress();
104
115
  }
105
116
  /**
106
- * Get public key
117
+ * Get compressed public key (33 bytes)
107
118
  */
108
- getPublicKey() {
119
+ async getPublicKey() {
109
120
  return this.provider.getPublicKey();
110
121
  }
111
122
  /**
112
- * Get address
123
+ * Get address type (bech32, p2pkh, etc.)
113
124
  */
114
- getAddress() {
115
- return this.provider.getAddress();
125
+ getAddressType() {
126
+ return this.provider.getAddressType();
127
+ }
128
+ /**
129
+ * Get UTXOs
130
+ */
131
+ async getUtxos(forceRefresh = false) {
132
+ return this.provider.getUtxos(forceRefresh);
133
+ }
134
+ /**
135
+ * Get balance (in satoshis)
136
+ */
137
+ async getBalance(forceRefresh = false) {
138
+ return this.provider.getBalance(forceRefresh);
139
+ }
140
+ /**
141
+ * Estimate transaction fee
142
+ */
143
+ async estimateFee(targetBlocks = 6) {
144
+ return this.provider.estimateFee(targetBlocks);
145
+ }
146
+ /**
147
+ * Sign Bitcoin message (BIP-322)
148
+ * NOTE: Currently not supported - Bitcoin uses v2 API which doesn't have message signing endpoint
149
+ */
150
+ async signMessage(message) {
151
+ return this.provider.signMessage(message);
152
+ }
153
+ /**
154
+ * Send Bitcoin transaction (high-level API)
155
+ * Creates, signs, and broadcasts transaction
156
+ */
157
+ async sendTransaction(params) {
158
+ return this.provider.sendTransaction(params);
159
+ }
160
+ /**
161
+ * Broadcast signed transaction to network (low-level API)
162
+ */
163
+ async broadcastTransaction(rawTransaction, psbt) {
164
+ return this.provider.broadcastTransaction(rawTransaction, psbt);
116
165
  }
117
166
  /**
118
167
  * Check if authorized (has valid session)
@@ -123,10 +172,10 @@ var AbcSolanaConnector = class {
123
172
  if (!authState || !authState.isAuthenticated) {
124
173
  return false;
125
174
  }
126
- if (!authState.solanaWallet) {
175
+ if (!authState.bitcoinWallet) {
127
176
  return false;
128
177
  }
129
- return this.client.isAuthenticated();
178
+ return !this.client.auth.isTokenExpired();
130
179
  } catch {
131
180
  return false;
132
181
  }
@@ -150,34 +199,10 @@ var AbcSolanaConnector = class {
150
199
  return this.provider;
151
200
  }
152
201
  /**
153
- * Sign transaction
154
- */
155
- async signTransaction(transaction) {
156
- return this.provider.signTransaction(transaction);
157
- }
158
- /**
159
- * Sign all transactions
202
+ * Get wallet info
160
203
  */
161
- async signAllTransactions(transactions) {
162
- return this.provider.signAllTransactions(transactions);
163
- }
164
- /**
165
- * Sign message
166
- */
167
- async signMessage(message) {
168
- return this.provider.signMessage(message);
169
- }
170
- /**
171
- * Send transaction
172
- */
173
- async sendTransaction(transaction) {
174
- return this.provider.sendTransaction(transaction);
175
- }
176
- /**
177
- * Sign and send transaction
178
- */
179
- async signAndSendTransaction(transaction) {
180
- return this.provider.signAndSendTransaction(transaction);
204
+ getWalletInfo() {
205
+ return this.provider.getWalletInfo();
181
206
  }
182
207
  /**
183
208
  * Switch network
@@ -185,15 +210,23 @@ var AbcSolanaConnector = class {
185
210
  async switchNetwork(network) {
186
211
  this.provider.setNetwork(network);
187
212
  const authState = loadAuthState();
188
- if (authState?.solanaWallet) {
213
+ if (authState?.bitcoinWallet) {
214
+ authState.bitcoinWallet.network = network === "mainnet" ? "bitcoin" /* Mainnet */ : "bitcoin_testnet" /* Testnet */;
189
215
  saveAuthState(authState);
190
216
  }
217
+ console.log("[BitcoinConnector] \u{1F504} Network switched to:", network);
191
218
  }
192
219
  /**
193
220
  * Get current network
194
221
  */
195
222
  getNetwork() {
196
- return this.provider.getNetwork().chainId;
223
+ return this.provider.getNetwork().type;
224
+ }
225
+ /**
226
+ * Refresh UTXO cache
227
+ */
228
+ async refreshUtxos() {
229
+ return this.provider.refreshUtxos();
197
230
  }
198
231
  on(event, listener) {
199
232
  switch (event) {
@@ -206,6 +239,9 @@ var AbcSolanaConnector = class {
206
239
  case "accountsChanged":
207
240
  this.accountsChangedListeners.add(listener);
208
241
  break;
242
+ case "networkChanged":
243
+ this.networkChangedListeners.add(listener);
244
+ break;
209
245
  }
210
246
  }
211
247
  off(event, listener) {
@@ -219,6 +255,9 @@ var AbcSolanaConnector = class {
219
255
  case "accountsChanged":
220
256
  this.accountsChangedListeners.delete(listener);
221
257
  break;
258
+ case "networkChanged":
259
+ this.networkChangedListeners.delete(listener);
260
+ break;
222
261
  }
223
262
  }
224
263
  /**
@@ -228,13 +267,14 @@ var AbcSolanaConnector = class {
228
267
  this.connectListeners.clear();
229
268
  this.disconnectListeners.clear();
230
269
  this.accountsChangedListeners.clear();
270
+ this.networkChangedListeners.clear();
231
271
  }
232
272
  };
233
- function createAbcSolanaConnector(config) {
234
- return new AbcSolanaConnector(config);
273
+ function createAbcBitcoinConnector(config) {
274
+ return new AbcBitcoinConnector(config);
235
275
  }
236
276
 
237
277
  export {
238
- AbcSolanaConnector,
239
- createAbcSolanaConnector
278
+ AbcBitcoinConnector,
279
+ createAbcBitcoinConnector
240
280
  };