@talken/talkenkit 2.3.15 → 2.4.4

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 (170) 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/chunk-2GNL2GNB.js +154 -0
  43. package/dist/wallets/walletConnectors/{chunk-5DDAV4BZ.js → chunk-2NAY6X3G.js} +1 -1
  44. package/dist/wallets/walletConnectors/{chunk-ZIYAL44B.js → chunk-2NVHWZUE.js} +1 -1
  45. package/dist/wallets/walletConnectors/{chunk-LENPUTNQ.js → chunk-36J4NGMW.js} +12 -20
  46. package/dist/wallets/walletConnectors/{chunk-4MF5RSML.js → chunk-3CTIR723.js} +1 -1
  47. package/dist/wallets/walletConnectors/{chunk-AVPBPELO.js → chunk-3WLUH24A.js} +10 -10
  48. package/dist/wallets/walletConnectors/{chunk-YEHCPL4R.js → chunk-53LPTQ6J.js} +2 -2
  49. package/dist/wallets/walletConnectors/{chunk-GXGRTWJM.js → chunk-5CZGFT24.js} +10 -10
  50. package/dist/wallets/walletConnectors/{chunk-BJHGC546.js → chunk-5JIPWC5W.js} +12 -24
  51. package/dist/wallets/walletConnectors/{chunk-4N6JD6LY.js → chunk-5LPD35BU.js} +9 -9
  52. package/dist/wallets/walletConnectors/{chunk-UV5HHESJ.js → chunk-5RSS3SRV.js} +29 -12
  53. package/dist/wallets/walletConnectors/{chunk-3ZE57J3R.js → chunk-64TRAZ6V.js} +1 -1
  54. package/dist/wallets/walletConnectors/{chunk-KKPINUPY.js → chunk-6BAXMYSN.js} +2 -2
  55. package/dist/wallets/walletConnectors/{chunk-PPIFAF7N.js → chunk-7MOCKWA7.js} +65 -19
  56. package/dist/wallets/walletConnectors/{chunk-75RN2RLT.js → chunk-7TYZCXIR.js} +12 -12
  57. package/dist/wallets/walletConnectors/{chunk-HVPQO6ZG.js → chunk-7UIXGYOT.js} +5 -20
  58. package/dist/wallets/walletConnectors/{chunk-BL57XWJY.js → chunk-7UQQKSV7.js} +1 -1
  59. package/dist/wallets/walletConnectors/{chunk-FGBDWBWQ.js → chunk-AIKTQX6B.js} +2 -2
  60. package/dist/wallets/walletConnectors/chunk-AO24PU7X.js +104 -0
  61. package/dist/wallets/walletConnectors/{chunk-4YJWX7I3.js → chunk-APLOMU6R.js} +1 -1
  62. package/dist/wallets/walletConnectors/chunk-AZAV5URB.js +267 -0
  63. package/dist/wallets/walletConnectors/chunk-BO6OI7XU.js +63 -0
  64. package/dist/wallets/walletConnectors/{chunk-P2GV6NQG.js → chunk-BV3DCJXA.js} +12 -20
  65. package/dist/wallets/walletConnectors/{chunk-KJHOGJ3A.js → chunk-CNRPEVLV.js} +16 -4
  66. package/dist/wallets/walletConnectors/{chunk-OC2O4BHA.js → chunk-COPAK5YT.js} +2 -2
  67. package/dist/wallets/walletConnectors/chunk-CZVBS7QE.js +436 -0
  68. package/dist/wallets/walletConnectors/{chunk-QKUFFUM5.js → chunk-DA5J6GHZ.js} +14 -4
  69. package/dist/wallets/walletConnectors/chunk-FMDSZ2CE.js +63 -0
  70. package/dist/wallets/walletConnectors/{chunk-5CCU7PNU.js → chunk-FQTLYAWT.js} +2 -2
  71. package/dist/wallets/walletConnectors/chunk-FUOQBONI.js +47 -0
  72. package/dist/wallets/walletConnectors/chunk-FWCS4HBL.js +1695 -0
  73. package/dist/wallets/walletConnectors/chunk-FY7UDC3W.js +63 -0
  74. package/dist/wallets/walletConnectors/chunk-GZUP3M2X.js +63 -0
  75. package/dist/wallets/walletConnectors/chunk-H52W4ZFE.js +272 -0
  76. package/dist/wallets/walletConnectors/chunk-HEQZLRTH.js +309 -0
  77. package/dist/wallets/walletConnectors/{chunk-ISAMATTH.js → chunk-HFC4AK72.js} +2 -2
  78. package/dist/wallets/walletConnectors/chunk-HKIV22NT.js +63 -0
  79. package/dist/wallets/walletConnectors/chunk-HLC24OGS.js +63 -0
  80. package/dist/wallets/walletConnectors/{chunk-5TDZSXJ4.js → chunk-HTD7IRKM.js} +2 -2
  81. package/dist/wallets/walletConnectors/chunk-IQJWD4IN.js +269 -0
  82. package/dist/wallets/walletConnectors/chunk-IZUAJRJ4.js +311 -0
  83. package/dist/wallets/walletConnectors/{chunk-NX5MQHSQ.js → chunk-J6VUIOSE.js} +23 -2
  84. package/dist/wallets/walletConnectors/chunk-JQ57SCY6.js +313 -0
  85. package/dist/wallets/walletConnectors/{chunk-F5P2INHS.js → chunk-KB7OGAUC.js} +14 -4
  86. package/dist/wallets/walletConnectors/chunk-KXEAFXAA.js +226 -0
  87. package/dist/wallets/walletConnectors/{chunk-JR2C4XXX.js → chunk-LLWI2QWC.js} +74 -18
  88. package/dist/wallets/walletConnectors/{chunk-H2MX4NAL.js → chunk-LQ2U33WM.js} +29 -16
  89. package/dist/wallets/walletConnectors/{chunk-BNSBK5PQ.js → chunk-M7KXDTM6.js} +14 -4
  90. package/dist/wallets/walletConnectors/{chunk-CYYBGUSO.js → chunk-MKAXMNZM.js} +4 -4
  91. package/dist/wallets/walletConnectors/chunk-MNRRJSFM.js +272 -0
  92. package/dist/wallets/walletConnectors/chunk-MPFE6GP2.js +306 -0
  93. package/dist/wallets/walletConnectors/{chunk-EEY5CXKO.js → chunk-MPNSYA4E.js} +2 -2
  94. package/dist/wallets/walletConnectors/chunk-NDLQSZ2F.js +63 -0
  95. package/dist/wallets/walletConnectors/{chunk-G2LI5MVX.js → chunk-NDYGTKP5.js} +0 -2
  96. package/dist/wallets/walletConnectors/chunk-NLBRSN6Q.js +63 -0
  97. package/dist/wallets/walletConnectors/{chunk-BSBRWKNG.js → chunk-NPF7NOA7.js} +69 -23
  98. package/dist/wallets/walletConnectors/{chunk-7DEZCGNV.js → chunk-NUJ6VD2U.js} +82 -16
  99. package/dist/wallets/walletConnectors/chunk-PSRATZTN.js +47 -0
  100. package/dist/wallets/walletConnectors/{chunk-MZOFZ2NQ.js → chunk-QCIIXMAZ.js} +2 -2
  101. package/dist/wallets/walletConnectors/{chunk-GHLLVM7O.js → chunk-RCI7QYCZ.js} +82 -18
  102. package/dist/wallets/walletConnectors/{chunk-QI2VB7LL.js → chunk-RHQXGWIW.js} +82 -16
  103. package/dist/wallets/walletConnectors/chunk-RPOLRZ4N.js +276 -0
  104. package/dist/wallets/walletConnectors/{chunk-5UEBEMEE.js → chunk-RQIUWXDF.js} +2 -1
  105. package/dist/wallets/walletConnectors/{chunk-RLR4Y5WO.js → chunk-SCD35IRD.js} +4 -0
  106. package/dist/wallets/walletConnectors/{chunk-EGOIRXTV.js → chunk-SOCVQ5N3.js} +2 -2
  107. package/dist/wallets/walletConnectors/chunk-TTRSCIGA.js +194 -0
  108. package/dist/wallets/walletConnectors/chunk-TYUEB4VT.js +477 -0
  109. package/dist/wallets/walletConnectors/{chunk-WTYSUOKN.js → chunk-UZXTNCDO.js} +17 -5
  110. package/dist/wallets/walletConnectors/chunk-V33I7JGZ.js +156 -0
  111. package/dist/wallets/walletConnectors/chunk-V4Q3GNBX.js +484 -0
  112. package/dist/wallets/walletConnectors/chunk-VCCTIYUJ.js +63 -0
  113. package/dist/wallets/walletConnectors/chunk-VGOISIH3.js +223 -0
  114. package/dist/wallets/walletConnectors/chunk-XFGVJOQL.js +223 -0
  115. package/dist/wallets/walletConnectors/chunk-XIOPKI2F.js +47 -0
  116. package/dist/wallets/walletConnectors/{chunk-O6EAIC4G.js → chunk-XJ4SP35I.js} +4 -1
  117. package/dist/wallets/walletConnectors/chunk-XKGUE56S.js +226 -0
  118. package/dist/wallets/walletConnectors/chunk-XQEAXENJ.js +63 -0
  119. package/dist/wallets/walletConnectors/{chunk-RY4RAB3D.js → chunk-YCZ4CZQ6.js} +106 -66
  120. package/dist/wallets/walletConnectors/chunk-Z2DC2J7S.js +345 -0
  121. package/dist/wallets/walletConnectors/chunk-Z2K3RHWK.js +47 -0
  122. package/dist/wallets/walletConnectors/chunk-ZASMSEC3.js +63 -0
  123. package/dist/wallets/walletConnectors/{chunk-G7PEFBL6.js → chunk-ZNBWRE3K.js} +2 -2
  124. package/dist/wallets/walletConnectors/chunk-ZNVFM2J2.js +156 -0
  125. package/dist/wallets/walletConnectors/chunk-ZQLQELFC.js +309 -0
  126. package/dist/wallets/walletConnectors/chunk-ZR7CEF64.js +63 -0
  127. package/dist/wallets/walletConnectors/chunk-ZSGFDK77.js +63 -0
  128. package/dist/wallets/walletConnectors/chunk-ZUIY2TRJ.js +1695 -0
  129. package/dist/wallets/walletConnectors/index.js +22 -22
  130. package/package.json +12 -11
  131. package/LICENSE +0 -9
  132. package/dist/solana/hooks/index.d.ts +0 -12
  133. package/dist/solana/hooks/useSolanaAccount.d.ts +0 -98
  134. package/dist/solana/hooks/useSolanaConnection.d.ts +0 -72
  135. package/dist/solana/hooks/useSolanaSendTransaction.d.ts +0 -98
  136. package/dist/solana/hooks/useSolanaSignMessage.d.ts +0 -82
  137. package/dist/wallets/walletConnectors/abcWallet/abcSolProvider.d.ts +0 -45
  138. package/dist/wallets/walletConnectors/abcWallet/abcSolProvider.js +0 -10
  139. package/dist/wallets/walletConnectors/abcWallet/abcSolanaConnector.d.ts +0 -115
  140. package/dist/wallets/walletConnectors/abcWallet/abcSolanaConnector.js +0 -12
  141. package/dist/wallets/walletConnectors/abcWallet/abcSolanaProvider.d.ts +0 -143
  142. package/dist/wallets/walletConnectors/abcWallet/abcSolanaProvider.js +0 -13
  143. package/dist/wallets/walletConnectors/abcWallet/abcSolanaWallet.d.ts +0 -18
  144. package/dist/wallets/walletConnectors/abcWallet/abcSolanaWallet.js +0 -15
  145. package/dist/wallets/walletConnectors/chunk-2XZBPMQJ.js +0 -39
  146. package/dist/wallets/walletConnectors/chunk-3SVPZCA6.js +0 -71
  147. package/dist/wallets/walletConnectors/chunk-3ZZXE7EL.js +0 -39
  148. package/dist/wallets/walletConnectors/chunk-5QEUEPNY.js +0 -94
  149. package/dist/wallets/walletConnectors/chunk-75W4VLFA.js +0 -482
  150. package/dist/wallets/walletConnectors/chunk-B6JLYR3I.js +0 -66
  151. package/dist/wallets/walletConnectors/chunk-FROV5VDF.js +0 -346
  152. package/dist/wallets/walletConnectors/chunk-HKWBR5B7.js +0 -102
  153. package/dist/wallets/walletConnectors/chunk-K4APJ4PE.js +0 -96
  154. package/dist/wallets/walletConnectors/chunk-LJ2B47VF.js +0 -108
  155. package/dist/wallets/walletConnectors/chunk-LXINMUQC.js +0 -186
  156. package/dist/wallets/walletConnectors/chunk-MORUEOYX.js +0 -76
  157. package/dist/wallets/walletConnectors/chunk-MQTXA63X.js +0 -27
  158. package/dist/wallets/walletConnectors/chunk-N4FOYXQD.js +0 -63
  159. package/dist/wallets/walletConnectors/chunk-NEXFU6BZ.js +0 -39
  160. package/dist/wallets/walletConnectors/chunk-PMZJGS7X.js +0 -73
  161. package/dist/wallets/walletConnectors/chunk-QEHZXKRF.js +0 -39
  162. package/dist/wallets/walletConnectors/chunk-T6KJZAPR.js +0 -47
  163. package/dist/wallets/walletConnectors/chunk-UBCMBPX3.js +0 -58
  164. package/dist/wallets/walletConnectors/chunk-UGQXI3RN.js +0 -284
  165. package/dist/wallets/walletConnectors/chunk-WZZVA3LW.js +0 -101
  166. package/dist/wallets/walletConnectors/chunk-X4WUD7PF.js +0 -63
  167. package/dist/wallets/walletConnectors/chunk-XOQNQKZE.js +0 -98
  168. package/dist/wallets/walletConnectors/chunk-XPSCFUX6.js +0 -372
  169. package/dist/wallets/walletConnectors/chunk-Y3LWEDF6.js +0 -63
  170. package/dist/wallets/walletConnectors/chunk-ZJ6OFFD5.js +0 -95
@@ -0,0 +1,63 @@
1
+ "use client";
2
+ import {
3
+ AuthApi
4
+ } from "./chunk-53LPTQ6J.js";
5
+ import {
6
+ BitcoinApi
7
+ } from "./chunk-DA5J6GHZ.js";
8
+ import {
9
+ SigningApi
10
+ } from "./chunk-COPAK5YT.js";
11
+ import {
12
+ TransactionApi
13
+ } from "./chunk-AIKTQX6B.js";
14
+ import {
15
+ WalletApi
16
+ } from "./chunk-SOCVQ5N3.js";
17
+ import {
18
+ SolanaApi
19
+ } from "./chunk-RHQXGWIW.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
+ };
@@ -1,4 +1,10 @@
1
1
  "use client";
2
+ import {
3
+ secure_default
4
+ } from "./chunk-NDYGTKP5.js";
5
+ import {
6
+ getSolanaNetwork
7
+ } from "./chunk-A7FIBI6X.js";
2
8
  import {
3
9
  calculateExpiryTimestamp,
4
10
  createAbcError,
@@ -7,13 +13,7 @@ import {
7
13
  parseApiError,
8
14
  removeFromStorage,
9
15
  saveToStorage
10
- } from "./chunk-UV5HHESJ.js";
11
- import {
12
- secure_default
13
- } from "./chunk-G2LI5MVX.js";
14
- import {
15
- getSolanaNetwork
16
- } from "./chunk-A7FIBI6X.js";
16
+ } from "./chunk-5RSS3SRV.js";
17
17
  import {
18
18
  ABC_AUDIENCE,
19
19
  ABC_ENDPOINTS,
@@ -1516,24 +1516,55 @@ var AbcWaasClient = class {
1516
1516
  const response = await fetch(url, {
1517
1517
  method: "POST",
1518
1518
  headers: {
1519
- ...DEFAULT_HEADERS,
1519
+ "Content-Type": "application/json",
1520
+ // V3 API requires JSON, not form-urlencoded
1521
+ "Accept": "application/json",
1520
1522
  ...this.accessToken ? { Authorization: `Bearer ${this.accessToken}` } : {}
1521
1523
  },
1522
1524
  body: JSON.stringify({
1523
1525
  curve: "ed25519",
1524
1526
  password: pin
1525
1527
  // PIN will be encrypted by Secure Channel
1528
+ // Note: network parameter not needed for v3 API
1526
1529
  })
1527
1530
  });
1528
- const data = await response.json();
1529
- if (!response.ok || data.status !== "success") {
1531
+ let data;
1532
+ try {
1533
+ data = await response.json();
1534
+ } catch (e) {
1535
+ console.error(`[AbcWaasClient] Failed to parse response from ${url}:`, e);
1536
+ throw createAbcError(
1537
+ "WALLET_NOT_FOUND" /* WALLET_NOT_FOUND */,
1538
+ `Failed to ${isRecover ? "recover" : "generate"} Solana wallet - invalid response`,
1539
+ { status: response.status }
1540
+ );
1541
+ }
1542
+ if (!response.ok) {
1543
+ if (!isRecover && response.status === 409) {
1544
+ const error = createAbcError(
1545
+ "WALLET_NOT_FOUND" /* WALLET_NOT_FOUND */,
1546
+ "Wallet already exists",
1547
+ data
1548
+ );
1549
+ error.response = { status: 409 };
1550
+ throw error;
1551
+ }
1552
+ console.error(`[AbcWaasClient] ${isRecover ? "Recover" : "Generate"} failed:`, data);
1530
1553
  throw createAbcError(
1531
1554
  "WALLET_NOT_FOUND" /* WALLET_NOT_FOUND */,
1532
- "Failed to generate Solana wallet",
1555
+ `Failed to ${isRecover ? "recover" : "generate"} Solana wallet`,
1556
+ data
1557
+ );
1558
+ }
1559
+ const result = data.result || data;
1560
+ if (!result.key_id || !result.public_key || !result.encrypted_share) {
1561
+ console.error("[AbcWaasClient] Invalid wallet response, missing required fields:", result);
1562
+ throw createAbcError(
1563
+ "WALLET_NOT_FOUND" /* WALLET_NOT_FOUND */,
1564
+ `Invalid wallet response from ${isRecover ? "recover" : "generate"}`,
1533
1565
  data
1534
1566
  );
1535
1567
  }
1536
- const result = data.result;
1537
1568
  const solanaNetwork = getSolanaNetwork();
1538
1569
  const addressResult = await this.getSolanaAddress(
1539
1570
  result.public_key,
@@ -1541,12 +1572,13 @@ var AbcWaasClient = class {
1541
1572
  );
1542
1573
  return {
1543
1574
  uid: result.uid || "",
1544
- sessionId: result.share_id,
1545
- shareId: result.share_id,
1575
+ sessionId: result.share_id || result.key_id,
1576
+ shareId: result.share_id || result.key_id,
1546
1577
  publicKey: result.public_key,
1547
1578
  address: addressResult,
1548
- keyId: result.key_id || result.share_id,
1579
+ keyId: result.key_id,
1549
1580
  encryptedShare: result.encrypted_share || "",
1581
+ secretStore: result.secret_store || "",
1550
1582
  network: solanaNetwork
1551
1583
  };
1552
1584
  }
@@ -1556,16 +1588,18 @@ var AbcWaasClient = class {
1556
1588
  */
1557
1589
  async getSolanaAddress(publicKey, network) {
1558
1590
  const url = `${this.baseURL}/wapi/v2/solana/wallet/getAddress`;
1591
+ const body = new URLSearchParams({
1592
+ network,
1593
+ publicKey
1594
+ }).toString();
1559
1595
  const response = await fetch(url, {
1560
1596
  method: "POST",
1561
1597
  headers: {
1562
1598
  ...DEFAULT_HEADERS,
1599
+ // Contains 'Content-Type': 'application/x-www-form-urlencoded'
1563
1600
  ...this.accessToken ? { Authorization: `Bearer ${this.accessToken}` } : {}
1564
1601
  },
1565
- body: JSON.stringify({
1566
- network,
1567
- publicKey
1568
- })
1602
+ body
1569
1603
  });
1570
1604
  const data = await response.json();
1571
1605
  if (!response.ok || data.status !== "success") {
@@ -1586,16 +1620,22 @@ var AbcWaasClient = class {
1586
1620
  const response = await fetch(url, {
1587
1621
  method: "POST",
1588
1622
  headers: {
1589
- ...DEFAULT_HEADERS,
1623
+ "Content-Type": "application/json",
1624
+ Accept: "application/json",
1590
1625
  ...this.accessToken ? { Authorization: `Bearer ${this.accessToken}` } : {}
1591
1626
  },
1592
1627
  body: JSON.stringify({
1593
1628
  uid: params.uid,
1594
1629
  share_id: params.shareId,
1630
+ key_id: params.keyId,
1631
+ encrypted_share: params.encryptedShare,
1632
+ public_key: params.publicKey,
1595
1633
  message: params.message,
1596
1634
  // Hex-encoded transaction
1597
- password: params.pin
1635
+ password: params.pin,
1598
1636
  // PIN will be encrypted
1637
+ network: params.network
1638
+ // Required: 'solana' or 'solana_devnet'
1599
1639
  })
1600
1640
  });
1601
1641
  const data = await response.json();
@@ -1619,15 +1659,21 @@ var AbcWaasClient = class {
1619
1659
  const response = await fetch(url, {
1620
1660
  method: "POST",
1621
1661
  headers: {
1622
- ...DEFAULT_HEADERS,
1662
+ "Content-Type": "application/json",
1663
+ Accept: "application/json",
1623
1664
  ...this.accessToken ? { Authorization: `Bearer ${this.accessToken}` } : {}
1624
1665
  },
1625
1666
  body: JSON.stringify({
1626
1667
  uid: params.uid,
1627
1668
  share_id: params.shareId,
1669
+ key_id: params.keyId,
1670
+ encrypted_share: params.encryptedShare,
1671
+ public_key: params.publicKey,
1628
1672
  message: params.message,
1629
1673
  // Hex-encoded message
1630
- password: params.pin
1674
+ password: params.pin,
1675
+ network: params.network
1676
+ // Required: 'solana' or 'solana_devnet'
1631
1677
  })
1632
1678
  });
1633
1679
  const data = await response.json();
@@ -1,15 +1,16 @@
1
1
  "use client";
2
2
  import {
3
3
  BaseApiClient
4
- } from "./chunk-NX5MQHSQ.js";
4
+ } from "./chunk-CNRPEVLV.js";
5
5
  import {
6
6
  getSolanaNetwork
7
7
  } from "./chunk-A7FIBI6X.js";
8
8
  import {
9
9
  createAbcError
10
- } from "./chunk-UV5HHESJ.js";
10
+ } from "./chunk-5RSS3SRV.js";
11
11
 
12
12
  // src/wallets/walletConnectors/abcWallet/api/SolanaApi.ts
13
+ import { PublicKey } from "@solana/web3.js";
13
14
  var SolanaApi = class extends BaseApiClient {
14
15
  /**
15
16
  * Generate Solana wallet (Ed25519)
@@ -21,25 +22,34 @@ var SolanaApi = class extends BaseApiClient {
21
22
  */
22
23
  async generateSolanaWallet(pin, isRecover = false) {
23
24
  const endpoint = `/v3/wallet/${isRecover ? "recover" : "generate"}`;
25
+ const network = getSolanaNetwork();
24
26
  const response = await this.request(endpoint, {
25
27
  method: "POST",
26
28
  contentType: "json",
27
29
  body: {
28
30
  curve: "ed25519",
29
31
  password: pin,
30
- network: "solana"
32
+ network
31
33
  }
32
34
  });
33
- if (response.status !== "success" || !response.result) {
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 {
34
41
  throw createAbcError(
35
42
  "WALLET_NOT_FOUND" /* WALLET_NOT_FOUND */,
36
43
  `Failed to ${isRecover ? "recover" : "generate"} Solana wallet`,
37
44
  response
38
45
  );
39
46
  }
40
- const result = response.result;
41
- const address = this.deriveAddressFromPublicKey(result.public_key);
42
- const network = getSolanaNetwork();
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
+ }
43
53
  return {
44
54
  uid: result.uid || "",
45
55
  sessionId: result.share_id,
@@ -47,9 +57,13 @@ var SolanaApi = class extends BaseApiClient {
47
57
  publicKey: result.public_key,
48
58
  address,
49
59
  keyId: result.key_id || result.share_id,
60
+ // API returns snake_case key_id
50
61
  encryptedShare: result.encrypted_share || "",
62
+ // API returns snake_case encrypted_share
51
63
  secretStore: result.secret_store || "",
64
+ // API returns snake_case secret_store
52
65
  network
66
+ // Use network from request (already has correct value)
53
67
  };
54
68
  }
55
69
  /**
@@ -63,32 +77,46 @@ var SolanaApi = class extends BaseApiClient {
63
77
  }
64
78
  /**
65
79
  * Derive Solana address from Ed25519 public key
66
- * Converts hex public key to base58-encoded Solana address
67
- *
68
80
  * @param publicKey - Ed25519 public key (hex)
69
81
  * @returns Solana address (base58)
70
82
  */
71
83
  deriveAddressFromPublicKey(publicKey) {
72
84
  const cleanKey = publicKey.startsWith("0x") ? publicKey.slice(2) : publicKey;
73
- return cleanKey;
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
+ }
74
95
  }
75
96
  /**
76
97
  * Sign Solana transaction with Ed25519
77
98
  * Reference: /v3/wallet/sign API requires only 5 fields
78
99
  */
79
100
  async signSolanaTransaction(params) {
101
+ const network = getSolanaNetwork();
80
102
  const response = await this.request("/v3/wallet/sign", {
81
103
  method: "POST",
82
104
  contentType: "json",
83
105
  body: {
84
106
  curve: "ed25519",
107
+ network,
85
108
  key_id: params.keyId,
86
109
  encrypted_share: params.encryptedShare,
87
110
  secret_store: params.secretStore || "",
88
111
  message: params.message
89
112
  }
90
113
  });
91
- if (response.status !== "success" || !response.result?.signature) {
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 {
92
120
  throw createAbcError(
93
121
  "SIGNATURE_FAILED" /* SIGNATURE_FAILED */,
94
122
  "Failed to sign Solana transaction",
@@ -96,7 +124,7 @@ var SolanaApi = class extends BaseApiClient {
96
124
  );
97
125
  }
98
126
  return {
99
- signature: response.result.signature
127
+ signature
100
128
  };
101
129
  }
102
130
  /**
@@ -104,18 +132,25 @@ var SolanaApi = class extends BaseApiClient {
104
132
  * Reference: /v3/wallet/sign API requires only 5 fields
105
133
  */
106
134
  async signSolanaMessage(params) {
135
+ const network = getSolanaNetwork();
107
136
  const response = await this.request("/v3/wallet/sign", {
108
137
  method: "POST",
109
138
  contentType: "json",
110
139
  body: {
111
140
  curve: "ed25519",
141
+ network,
112
142
  key_id: params.keyId,
113
143
  encrypted_share: params.encryptedShare,
114
144
  secret_store: params.secretStore || "",
115
145
  message: params.message
116
146
  }
117
147
  });
118
- if (response.status !== "success" || !response.result?.signature) {
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 {
119
154
  throw createAbcError(
120
155
  "SIGNATURE_FAILED" /* SIGNATURE_FAILED */,
121
156
  "Failed to sign Solana message",
@@ -123,7 +158,36 @@ var SolanaApi = class extends BaseApiClient {
123
158
  );
124
159
  }
125
160
  return {
126
- signature: response.result.signature
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("/wapi/v2/solana/tx/generateTransferSOLTransaction", {
170
+ method: "POST",
171
+ contentType: "json",
172
+ body: {
173
+ network: params.network,
174
+ amount: params.amount,
175
+ fromAddress: params.fromAddress,
176
+ toAddress: params.toAddress,
177
+ feePayerAddress: params.feePayerAddress
178
+ }
179
+ });
180
+ const responseData = response;
181
+ const serializedTx = responseData.data?.serialized_tx || response.status === "success" && response.result?.data?.serialized_tx;
182
+ if (!serializedTx) {
183
+ throw createAbcError(
184
+ "NETWORK_ERROR" /* NETWORK_ERROR */,
185
+ "Failed to generate Solana transaction",
186
+ response
187
+ );
188
+ }
189
+ return {
190
+ serialized_tx: serializedTx
127
191
  };
128
192
  }
129
193
  /**
@@ -139,7 +203,9 @@ var SolanaApi = class extends BaseApiClient {
139
203
  signatures: params.signatures
140
204
  }
141
205
  });
142
- if (response.status !== "success" || !response.result?.data) {
206
+ const responseData = response;
207
+ const txHash = responseData.data || response.status === "success" && response.result?.data;
208
+ if (!txHash || typeof txHash !== "string") {
143
209
  throw createAbcError(
144
210
  "NETWORK_ERROR" /* NETWORK_ERROR */,
145
211
  "Failed to send Solana transaction",
@@ -147,7 +213,7 @@ var SolanaApi = class extends BaseApiClient {
147
213
  );
148
214
  }
149
215
  return {
150
- txHash: response.result.data
216
+ txHash
151
217
  };
152
218
  }
153
219
  };
@@ -0,0 +1,47 @@
1
+ "use client";
2
+ import {
3
+ abcConnector
4
+ } from "./chunk-7UIXGYOT.js";
5
+ import {
6
+ ABC_WALLET_METADATA
7
+ } from "./chunk-VETRBBA2.js";
8
+
9
+ // src/wallets/walletConnectors/abcWallet/abcWallet.ts
10
+ var abcWallet = (specificOptions) => ({ projectId }) => {
11
+ const waasUrl = specificOptions?.waasUrl || process.env.NEXT_PUBLIC_ABC_WAAS_URL || process.env.VITE_ABC_WAAS_URL;
12
+ if (!waasUrl) {
13
+ throw new Error(
14
+ 'ABC WaaS URL is required. Please provide it via:\n1. abcWallet({ waasUrl: "..." }) options, or\n2. NEXT_PUBLIC_ABC_WAAS_URL environment variable, or\n3. VITE_ABC_WAAS_URL environment variable'
15
+ );
16
+ }
17
+ const config = {
18
+ waasUrl,
19
+ apiKey: specificOptions?.apiKey,
20
+ plain: specificOptions?.plain || "",
21
+ // Deprecated - not used (secure.ts uses random generation)
22
+ environment: specificOptions?.environment || "development",
23
+ defaultChainId: specificOptions?.defaultChainId,
24
+ defaultSolanaNetwork: specificOptions?.defaultSolanaNetwork,
25
+ defaultBitcoinNetwork: specificOptions?.defaultBitcoinNetwork,
26
+ projectId
27
+ };
28
+ return {
29
+ id: ABC_WALLET_METADATA.id,
30
+ name: ABC_WALLET_METADATA.name,
31
+ rdns: ABC_WALLET_METADATA.rdns,
32
+ iconUrl: async () => (await import("./abcWallet-AYWSIGAG.js")).default,
33
+ iconBackground: ABC_WALLET_METADATA.iconBackground,
34
+ // Embedded wallet - no installation required
35
+ installed: void 0,
36
+ // No download URLs for embedded wallet
37
+ downloadUrls: void 0,
38
+ // Create connector - wrapper function required by Wallet type
39
+ createConnector: (_walletDetails) => abcConnector({ config }),
40
+ // Embedded wallet always available
41
+ hidden: () => false
42
+ };
43
+ };
44
+
45
+ export {
46
+ abcWallet
47
+ };
@@ -1,10 +1,10 @@
1
1
  "use client";
2
2
  import {
3
3
  BaseApiClient
4
- } from "./chunk-KJHOGJ3A.js";
4
+ } from "./chunk-LQ2U33WM.js";
5
5
  import {
6
6
  createAbcError
7
- } from "./chunk-UV5HHESJ.js";
7
+ } from "./chunk-TYUEB4VT.js";
8
8
  import {
9
9
  ABC_AUDIENCE,
10
10
  ABC_ENDPOINTS