@talken/talkenkit 2.3.4 → 2.3.6

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 (99) hide show
  1. package/dist/index.js +21 -27
  2. package/dist/wallets/walletConnectors/abcWallet/abcApi.js +1 -1
  3. package/dist/wallets/walletConnectors/abcWallet/abcConnector.js +2 -2
  4. package/dist/wallets/walletConnectors/abcWallet/abcSolanaWallet.js +2 -2
  5. package/dist/wallets/walletConnectors/abcWallet/abcWallet.js +3 -3
  6. package/dist/wallets/walletConnectors/abcWallet/api/index.js +4 -4
  7. package/dist/wallets/walletConnectors/abcWallet/index.js +6 -6
  8. package/dist/wallets/walletConnectors/chunk-2J66VMY5.js +152 -0
  9. package/dist/wallets/walletConnectors/chunk-2J6LHJAF.js +228 -0
  10. package/dist/wallets/walletConnectors/chunk-2W6UBYKX.js +66 -0
  11. package/dist/wallets/walletConnectors/chunk-2ZPGPZCP.js +228 -0
  12. package/dist/wallets/walletConnectors/chunk-3DPCIDW6.js +1730 -0
  13. package/dist/wallets/walletConnectors/chunk-3IVTKZ7V.js +87 -0
  14. package/dist/wallets/walletConnectors/chunk-47TQ23J4.js +63 -0
  15. package/dist/wallets/walletConnectors/chunk-4HKJ53H3.js +1742 -0
  16. package/dist/wallets/walletConnectors/chunk-4T3UOJYR.js +76 -0
  17. package/dist/wallets/walletConnectors/chunk-53IBFGVW.js +102 -0
  18. package/dist/wallets/walletConnectors/chunk-5EARL7FN.js +39 -0
  19. package/dist/wallets/walletConnectors/chunk-5NM2LK2G.js +95 -0
  20. package/dist/wallets/walletConnectors/chunk-66SCJ77O.js +63 -0
  21. package/dist/wallets/walletConnectors/chunk-6JKWIEGA.js +228 -0
  22. package/dist/wallets/walletConnectors/chunk-7L33BY4P.js +44 -0
  23. package/dist/wallets/walletConnectors/chunk-7SXCH5TL.js +1752 -0
  24. package/dist/wallets/walletConnectors/chunk-7UZBDZZZ.js +599 -0
  25. package/dist/wallets/walletConnectors/chunk-AKLKCDXT.js +186 -0
  26. package/dist/wallets/walletConnectors/chunk-ATQWOE4J.js +110 -0
  27. package/dist/wallets/walletConnectors/chunk-B6DM7J4N.js +71 -0
  28. package/dist/wallets/walletConnectors/chunk-BHMMHU7Y.js +228 -0
  29. package/dist/wallets/walletConnectors/chunk-BJYSWRV6.js +93 -0
  30. package/dist/wallets/walletConnectors/chunk-BRM4ZVXZ.js +44 -0
  31. package/dist/wallets/walletConnectors/chunk-BUDWZAL7.js +44 -0
  32. package/dist/wallets/walletConnectors/chunk-C7S72VGD.js +93 -0
  33. package/dist/wallets/walletConnectors/chunk-CSWWNAYR.js +44 -0
  34. package/dist/wallets/walletConnectors/chunk-CULIWWLV.js +101 -0
  35. package/dist/wallets/walletConnectors/chunk-D7U5WEH2.js +96 -0
  36. package/dist/wallets/walletConnectors/chunk-E4N7SPPU.js +39 -0
  37. package/dist/wallets/walletConnectors/chunk-ENU7XLF5.js +44 -0
  38. package/dist/wallets/walletConnectors/chunk-ESRU5KCF.js +151 -0
  39. package/dist/wallets/walletConnectors/chunk-FBI7UGNO.js +95 -0
  40. package/dist/wallets/walletConnectors/chunk-FF7ZIXKD.js +39 -0
  41. package/dist/wallets/walletConnectors/chunk-FJCL2YPU.js +1737 -0
  42. package/dist/wallets/walletConnectors/chunk-FSU3WBH3.js +63 -0
  43. package/dist/wallets/walletConnectors/chunk-G2IHR6PW.js +63 -0
  44. package/dist/wallets/walletConnectors/chunk-GILMNC3J.js +96 -0
  45. package/dist/wallets/walletConnectors/chunk-HDYBRMYW.js +194 -0
  46. package/dist/wallets/walletConnectors/chunk-HIZCIW5L.js +228 -0
  47. package/dist/wallets/walletConnectors/chunk-JBVBQUCS.js +73 -0
  48. package/dist/wallets/walletConnectors/chunk-JCMXNOQ5.js +63 -0
  49. package/dist/wallets/walletConnectors/chunk-JWO4ZQLK.js +98 -0
  50. package/dist/wallets/walletConnectors/chunk-K6GEK4JB.js +66 -0
  51. package/dist/wallets/walletConnectors/chunk-K6UZPSBG.js +94 -0
  52. package/dist/wallets/walletConnectors/chunk-KIQDE4N6.js +39 -0
  53. package/dist/wallets/walletConnectors/chunk-KM55XFBI.js +65 -0
  54. package/dist/wallets/walletConnectors/chunk-KOT7JYJR.js +39 -0
  55. package/dist/wallets/walletConnectors/chunk-KRAIITU7.js +39 -0
  56. package/dist/wallets/walletConnectors/chunk-KZOSE2PI.js +228 -0
  57. package/dist/wallets/walletConnectors/chunk-L7I5I4CZ.js +44 -0
  58. package/dist/wallets/walletConnectors/chunk-LNZJLKFB.js +39 -0
  59. package/dist/wallets/walletConnectors/chunk-LTBQU2GW.js +63 -0
  60. package/dist/wallets/walletConnectors/chunk-LV765WZL.js +1748 -0
  61. package/dist/wallets/walletConnectors/chunk-MSI2BPP5.js +1722 -0
  62. package/dist/wallets/walletConnectors/chunk-MX2IY5CD.js +44 -0
  63. package/dist/wallets/walletConnectors/chunk-NLX2EV7O.js +44 -0
  64. package/dist/wallets/walletConnectors/chunk-NVAZ3B3V.js +228 -0
  65. package/dist/wallets/walletConnectors/chunk-OEB7MRS5.js +39 -0
  66. package/dist/wallets/walletConnectors/chunk-OEWU3ZMN.js +39 -0
  67. package/dist/wallets/walletConnectors/chunk-P2E4LSYH.js +1678 -0
  68. package/dist/wallets/walletConnectors/chunk-P2MTINFI.js +280 -0
  69. package/dist/wallets/walletConnectors/chunk-PNMSIVVT.js +44 -0
  70. package/dist/wallets/walletConnectors/chunk-PZNYT2HC.js +1722 -0
  71. package/dist/wallets/walletConnectors/chunk-QZRNNI3E.js +39 -0
  72. package/dist/wallets/walletConnectors/chunk-R4UYVU5X.js +1721 -0
  73. package/dist/wallets/walletConnectors/chunk-R6JCHV55.js +39 -0
  74. package/dist/wallets/walletConnectors/chunk-RLBGBBIO.js +309 -0
  75. package/dist/wallets/walletConnectors/chunk-RSZS2RMC.js +44 -0
  76. package/dist/wallets/walletConnectors/chunk-S2PY4MDO.js +108 -0
  77. package/dist/wallets/walletConnectors/chunk-SCOX5RF4.js +91 -0
  78. package/dist/wallets/walletConnectors/chunk-TUUNSVKZ.js +345 -0
  79. package/dist/wallets/walletConnectors/chunk-U2CUEL35.js +240 -0
  80. package/dist/wallets/walletConnectors/chunk-V6NRLREB.js +44 -0
  81. package/dist/wallets/walletConnectors/chunk-V7E5KRXJ.js +103 -0
  82. package/dist/wallets/walletConnectors/chunk-VCBVYFLJ.js +63 -0
  83. package/dist/wallets/walletConnectors/chunk-VM7AEC7H.js +39 -0
  84. package/dist/wallets/walletConnectors/chunk-VPNKJ7PB.js +1674 -0
  85. package/dist/wallets/walletConnectors/chunk-W2VDZD74.js +478 -0
  86. package/dist/wallets/walletConnectors/chunk-WAO3KL5U.js +285 -0
  87. package/dist/wallets/walletConnectors/chunk-WPHTIILX.js +228 -0
  88. package/dist/wallets/walletConnectors/chunk-WR7HSVMH.js +228 -0
  89. package/dist/wallets/walletConnectors/chunk-WSCJY2QD.js +228 -0
  90. package/dist/wallets/walletConnectors/chunk-WSLFMQIG.js +98 -0
  91. package/dist/wallets/walletConnectors/chunk-X3JQB5QL.js +44 -0
  92. package/dist/wallets/walletConnectors/chunk-X4CDP7L7.js +228 -0
  93. package/dist/wallets/walletConnectors/chunk-XETOVXYM.js +228 -0
  94. package/dist/wallets/walletConnectors/chunk-XYPR4BAF.js +436 -0
  95. package/dist/wallets/walletConnectors/chunk-YZBFKVTX.js +1675 -0
  96. package/dist/wallets/walletConnectors/chunk-Z2E65XSS.js +96 -0
  97. package/dist/wallets/walletConnectors/chunk-Z2ZRPTPX.js +1726 -0
  98. package/dist/wallets/walletConnectors/index.js +13 -13
  99. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -9,15 +9,15 @@ import {
9
9
  TOKEN_EXPIRY,
10
10
  secure_default
11
11
  } from "./chunk-Y7ZSI2YC.js";
12
+ import {
13
+ darkTheme
14
+ } from "./chunk-RZWDCITT.js";
12
15
  import {
13
16
  lightTheme
14
17
  } from "./chunk-72HZGUJA.js";
15
18
  import {
16
19
  midnightTheme
17
20
  } from "./chunk-7ZP3ENJ2.js";
18
- import {
19
- darkTheme
20
- } from "./chunk-RZWDCITT.js";
21
21
  import "./chunk-DQLAW7KN.js";
22
22
  import {
23
23
  en_US_default
@@ -2114,7 +2114,7 @@ function setRainbowKitVersion({ version }) {
2114
2114
  }
2115
2115
  function useFingerprint() {
2116
2116
  const fingerprint = useCallback3(() => {
2117
- setRainbowKitVersion({ version: "2.3.4" });
2117
+ setRainbowKitVersion({ version: "2.3.6" });
2118
2118
  }, []);
2119
2119
  useEffect10(() => {
2120
2120
  fingerprint();
@@ -5508,16 +5508,20 @@ var AbcWaasClient = class {
5508
5508
  console.log("[AbcWaasClient] Raw wallet API response:", {
5509
5509
  hasUid: !!raw.uid,
5510
5510
  hasSid: !!raw.sid,
5511
+ hasKeyId: !!raw.key_id,
5511
5512
  hasWid: !!raw.wid,
5512
5513
  hasPvencstr: !!raw.pvencstr,
5513
5514
  hasEncryptDevicePassword: !!raw.encryptDevicePassword,
5515
+ hasEncryptedShare: !!raw.encrypted_share,
5514
5516
  hasPubkey: !!raw.pubkey,
5515
5517
  allKeys: Object.keys(raw)
5516
5518
  });
5517
5519
  return {
5518
- address: raw.address || "",
5519
- keyId: raw.keyId || raw.key_id || raw.sid,
5520
- encryptedShare: raw.encryptedShare || raw.encrypted_share || "",
5520
+ address: raw.sid || "",
5521
+ // FIX: sid is the EVM address
5522
+ keyId: raw.key_id || raw.keyId || raw.sid,
5523
+ encryptedShare: raw.encrypted_share || raw.key_id || "",
5524
+ // Use key_id as fallback
5521
5525
  uid: raw.uid,
5522
5526
  sid: raw.sid,
5523
5527
  wid: raw.wid,
@@ -5677,28 +5681,17 @@ var AbcWaasClient = class {
5677
5681
  body: estimateBody.toString()
5678
5682
  });
5679
5683
  const estimateData = await estimateResponse.json();
5680
- console.log("\u26FD Gas estimate response:", {
5681
- status: estimateResponse.status,
5682
- ok: estimateResponse.ok,
5683
- response: estimateData
5684
- });
5685
5684
  if (estimateResponse.ok && estimateData.result) {
5686
5685
  tx.gasLimit = estimateData.result;
5687
- console.log("\u2705 Gas limit from estimate:", estimateData.result);
5688
5686
  } else {
5689
5687
  const fallbackGasLimit = "0x2dc6c0";
5690
5688
  tx.gasLimit = fallbackGasLimit;
5691
- console.warn("\u26A0\uFE0F Gas estimate failed, using fallback:", {
5692
- error: estimateData.errorMessage || estimateData.msg,
5693
- fallbackGasLimit
5694
- });
5695
5689
  }
5696
5690
  }
5697
5691
  } catch (error3) {
5698
5692
  console.warn("Failed to fetch gas parameters from ABC WaaS:", error3);
5699
5693
  }
5700
5694
  }
5701
- const isContractDeployment = !params.transaction.to || params.transaction.to === "0x" || params.transaction.to === "0x0";
5702
5695
  const bodyData = {
5703
5696
  network,
5704
5697
  encryptDevicePassword: encryptedDevicePassword,
@@ -5711,6 +5704,7 @@ var AbcWaasClient = class {
5711
5704
  // Reference: talken-nft-drops/src/libs/abc-waas-provider/index.ts:800 - to: to ?? '0x'
5712
5705
  to: tx.to === "0x" ? "0x" : getAddress(tx.to),
5713
5706
  // Required by ABC WaaS API
5707
+ // Always use EIP1559 type (ABC WaaS handles network-specific conversion)
5714
5708
  type: "EIP1559",
5715
5709
  // ourpubkey and ucpubkey are required by ABC WaaS (empty strings for now)
5716
5710
  // Based on successful tg-wallet payload analysis
@@ -5724,6 +5718,8 @@ var AbcWaasClient = class {
5724
5718
  hexValue = `0${hexValue}`;
5725
5719
  }
5726
5720
  bodyData.value = `0x${hexValue}`;
5721
+ } else {
5722
+ bodyData.value = "0x0";
5727
5723
  }
5728
5724
  if (tx.gasLimit || tx.gas) {
5729
5725
  const gasLimitValue = tx.gasLimit || tx.gas;
@@ -5747,20 +5743,18 @@ var AbcWaasClient = class {
5747
5743
  bodyData.maxPriorityFeePerGas = `0x${BigInt(tx.maxPriorityFeePerGas).toString(16)}`;
5748
5744
  }
5749
5745
  }
5746
+ if (tx.gasPrice) {
5747
+ if (tx.gasPrice.toString().startsWith("0x")) {
5748
+ bodyData.gasPrice = tx.gasPrice.toString();
5749
+ } else {
5750
+ bodyData.gasPrice = `0x${BigInt(tx.gasPrice).toString(16)}`;
5751
+ }
5752
+ }
5750
5753
  if (tx.data !== void 0 && tx.data !== null) {
5751
5754
  bodyData.data = tx.data || "0x";
5752
5755
  } else {
5753
5756
  bodyData.data = "0x";
5754
5757
  }
5755
- console.log("\u{1F50D} ABC WaaS signTransaction params:", {
5756
- isContractDeployment,
5757
- hasTo: !!bodyData.to,
5758
- to: bodyData.to,
5759
- dataLength: bodyData.data?.length,
5760
- network: bodyData.network,
5761
- type: bodyData.type,
5762
- allKeys: Object.keys(bodyData)
5763
- });
5764
5758
  const bodyString = new URLSearchParams(bodyData).toString();
5765
5759
  const url = `${this.baseURL}${ABC_ENDPOINTS.SIGN_TRANSACTION}`;
5766
5760
  const response = await fetch(url, {
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  AbcWaasClient,
4
4
  createAbcWaasClient
5
- } from "../chunk-RWIZ25FJ.js";
5
+ } from "../chunk-P2E4LSYH.js";
6
6
  import "../chunk-G2LI5MVX.js";
7
7
  import "../chunk-W23N7VC4.js";
8
8
  import "../chunk-VETRBBA2.js";
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
  import {
3
3
  abcConnector
4
- } from "../chunk-HD6YCICR.js";
5
- import "../chunk-RWIZ25FJ.js";
4
+ } from "../chunk-BHMMHU7Y.js";
5
+ import "../chunk-P2E4LSYH.js";
6
6
  import "../chunk-G2LI5MVX.js";
7
7
  import "../chunk-73B7HWCT.js";
8
8
  import "../chunk-W23N7VC4.js";
@@ -1,10 +1,10 @@
1
1
  "use client";
2
2
  import {
3
3
  abcSolanaWallet
4
- } from "../chunk-QPAE4SDS.js";
4
+ } from "../chunk-OEB7MRS5.js";
5
5
  import "../chunk-AEQOPQL6.js";
6
6
  import "../chunk-MY5YIDOB.js";
7
- import "../chunk-RWIZ25FJ.js";
7
+ import "../chunk-P2E4LSYH.js";
8
8
  import "../chunk-G2LI5MVX.js";
9
9
  import "../chunk-W23N7VC4.js";
10
10
  import "../chunk-VETRBBA2.js";
@@ -1,9 +1,9 @@
1
1
  "use client";
2
2
  import {
3
3
  abcWallet
4
- } from "../chunk-JRNBDHFL.js";
5
- import "../chunk-HD6YCICR.js";
6
- import "../chunk-RWIZ25FJ.js";
4
+ } from "../chunk-RSZS2RMC.js";
5
+ import "../chunk-BHMMHU7Y.js";
6
+ import "../chunk-P2E4LSYH.js";
7
7
  import "../chunk-G2LI5MVX.js";
8
8
  import "../chunk-73B7HWCT.js";
9
9
  import "../chunk-W23N7VC4.js";
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  AbcWaasApiClient,
4
4
  createAbcWaasApiClient
5
- } from "../../chunk-BC2UIAF7.js";
5
+ } from "../../chunk-LTBQU2GW.js";
6
6
  import {
7
7
  WalletApi
8
8
  } from "../../chunk-JBRW4UTW.js";
@@ -15,12 +15,12 @@ import {
15
15
  import {
16
16
  SigningApi
17
17
  } from "../../chunk-4UGXLYKP.js";
18
- import {
19
- SolanaApi
20
- } from "../../chunk-DMRM7XAS.js";
21
18
  import {
22
19
  TransactionApi
23
20
  } from "../../chunk-KD2OAMDA.js";
21
+ import {
22
+ SolanaApi
23
+ } from "../../chunk-DMRM7XAS.js";
24
24
  import {
25
25
  BaseApiClient
26
26
  } from "../../chunk-IOLHAU7H.js";
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  AbcWaasApiClient,
4
4
  createAbcWaasApiClient
5
- } from "../chunk-BC2UIAF7.js";
5
+ } from "../chunk-LTBQU2GW.js";
6
6
  import "../chunk-JBRW4UTW.js";
7
7
  import {
8
8
  generateMpcWallets,
@@ -14,12 +14,12 @@ import {
14
14
  BitcoinApi
15
15
  } from "../chunk-BXCOGV3N.js";
16
16
  import "../chunk-4UGXLYKP.js";
17
- import "../chunk-DMRM7XAS.js";
18
17
  import "../chunk-KD2OAMDA.js";
18
+ import "../chunk-DMRM7XAS.js";
19
19
  import "../chunk-IOLHAU7H.js";
20
20
  import {
21
21
  abcSolanaWallet
22
- } from "../chunk-QPAE4SDS.js";
22
+ } from "../chunk-OEB7MRS5.js";
23
23
  import {
24
24
  AbcBitcoinConnector,
25
25
  createAbcBitcoinConnector
@@ -43,14 +43,14 @@ import {
43
43
  } from "../chunk-MY5YIDOB.js";
44
44
  import {
45
45
  abcWallet
46
- } from "../chunk-JRNBDHFL.js";
46
+ } from "../chunk-RSZS2RMC.js";
47
47
  import {
48
48
  abcConnector
49
- } from "../chunk-HD6YCICR.js";
49
+ } from "../chunk-BHMMHU7Y.js";
50
50
  import {
51
51
  AbcWaasClient,
52
52
  createAbcWaasClient
53
- } from "../chunk-RWIZ25FJ.js";
53
+ } from "../chunk-P2E4LSYH.js";
54
54
  import {
55
55
  secure_default
56
56
  } from "../chunk-G2LI5MVX.js";
@@ -0,0 +1,152 @@
1
+ "use client";
2
+ import {
3
+ BaseApiClient
4
+ } from "./chunk-WAO3KL5U.js";
5
+ import {
6
+ createAbcError
7
+ } from "./chunk-W2VDZD74.js";
8
+
9
+ // src/wallets/walletConnectors/abcWallet/api/SolanaApi.ts
10
+ var SolanaApi = class extends BaseApiClient {
11
+ /**
12
+ * Generate Solana wallet (Ed25519)
13
+ * Uses V3 API with Ed25519 curve
14
+ *
15
+ * @param pin - Hashed PIN (SHA-256)
16
+ * @param isRecover - Whether to recover existing wallet (default: false)
17
+ * @returns Solana wallet information
18
+ */
19
+ async generateSolanaWallet(pin, isRecover = false) {
20
+ const endpoint = `/v3/wallet/${isRecover ? "recover" : "generate"}`;
21
+ console.log(
22
+ `[SolanaApi] \u{1F527} ${isRecover ? "Recovering" : "Generating"} Solana wallet...`
23
+ );
24
+ const response = await this.request(endpoint, {
25
+ method: "POST",
26
+ contentType: "json",
27
+ body: {
28
+ curve: "ed25519",
29
+ password: pin,
30
+ network: "solana"
31
+ }
32
+ });
33
+ if (response.status !== "success" || !response.result) {
34
+ console.error("[SolanaApi] \u274C Operation failed:", response);
35
+ throw createAbcError(
36
+ "WALLET_NOT_FOUND" /* WALLET_NOT_FOUND */,
37
+ `Failed to ${isRecover ? "recover" : "generate"} Solana wallet`,
38
+ response
39
+ );
40
+ }
41
+ const result = response.result;
42
+ const address = this.deriveAddressFromPublicKey(result.public_key);
43
+ console.log("[SolanaApi] \u2705 Wallet ready:", address);
44
+ return {
45
+ uid: result.uid || "",
46
+ sessionId: result.share_id,
47
+ shareId: result.share_id,
48
+ publicKey: result.public_key,
49
+ address,
50
+ keyId: result.key_id || result.share_id,
51
+ encryptedShare: result.encrypted_share || ""
52
+ };
53
+ }
54
+ /**
55
+ * Recover Solana wallet (alias for generateSolanaWallet with isRecover=true)
56
+ *
57
+ * @param pin - Hashed PIN (SHA-256)
58
+ * @returns Recovered Solana wallet information
59
+ */
60
+ async recoverSolanaWallet(pin) {
61
+ return this.generateSolanaWallet(pin, true);
62
+ }
63
+ /**
64
+ * Derive Solana address from Ed25519 public key
65
+ * Converts hex public key to base58-encoded Solana address
66
+ *
67
+ * @param publicKey - Ed25519 public key (hex)
68
+ * @returns Solana address (base58)
69
+ */
70
+ deriveAddressFromPublicKey(publicKey) {
71
+ const cleanKey = publicKey.startsWith("0x") ? publicKey.slice(2) : publicKey;
72
+ return cleanKey;
73
+ }
74
+ /**
75
+ * Sign Solana transaction with Ed25519
76
+ */
77
+ async signSolanaTransaction(params) {
78
+ const response = await this.request("/v3/wallet/sign", {
79
+ method: "POST",
80
+ contentType: "json",
81
+ body: {
82
+ uid: params.uid,
83
+ share_id: params.shareId,
84
+ message: params.message,
85
+ password: params.pin
86
+ }
87
+ });
88
+ if (response.status !== "success" || !response.result?.signature) {
89
+ throw createAbcError(
90
+ "SIGNATURE_FAILED" /* SIGNATURE_FAILED */,
91
+ "Failed to sign Solana transaction",
92
+ response
93
+ );
94
+ }
95
+ return {
96
+ signature: response.result.signature
97
+ };
98
+ }
99
+ /**
100
+ * Sign Solana message with Ed25519
101
+ */
102
+ async signSolanaMessage(params) {
103
+ const response = await this.request("/v3/wallet/sign", {
104
+ method: "POST",
105
+ contentType: "json",
106
+ body: {
107
+ uid: params.uid,
108
+ share_id: params.shareId,
109
+ message: params.message,
110
+ password: params.pin
111
+ }
112
+ });
113
+ if (response.status !== "success" || !response.result?.signature) {
114
+ throw createAbcError(
115
+ "SIGNATURE_FAILED" /* SIGNATURE_FAILED */,
116
+ "Failed to sign Solana message",
117
+ response
118
+ );
119
+ }
120
+ return {
121
+ signature: response.result.signature
122
+ };
123
+ }
124
+ /**
125
+ * Send Solana transaction
126
+ */
127
+ async sendSolanaTransaction(params) {
128
+ const response = await this.request("/wapi/v2/solana/tx/sendTransaction", {
129
+ method: "POST",
130
+ contentType: "json",
131
+ body: {
132
+ network: params.network,
133
+ serializedTX: params.serializedTX,
134
+ signatures: params.signatures
135
+ }
136
+ });
137
+ if (response.status !== "success" || !response.result?.data) {
138
+ throw createAbcError(
139
+ "NETWORK_ERROR" /* NETWORK_ERROR */,
140
+ "Failed to send Solana transaction",
141
+ response
142
+ );
143
+ }
144
+ return {
145
+ txHash: response.result.data
146
+ };
147
+ }
148
+ };
149
+
150
+ export {
151
+ SolanaApi
152
+ };
@@ -0,0 +1,228 @@
1
+ "use client";
2
+ import {
3
+ createAbcWaasClient
4
+ } from "./chunk-YZBFKVTX.js";
5
+ import {
6
+ createAbcEvmProvider
7
+ } from "./chunk-73B7HWCT.js";
8
+ import {
9
+ clearAuthState,
10
+ clearEncryptedTokens,
11
+ loadAuthState,
12
+ saveAuthState
13
+ } from "./chunk-W23N7VC4.js";
14
+
15
+ // src/wallets/walletConnectors/abcWallet/abcConnector.ts
16
+ import { createConnector } from "wagmi";
17
+ function abcConnector(options) {
18
+ const { config } = options;
19
+ return createConnector((wagmiConfig) => {
20
+ const client = createAbcWaasClient(config);
21
+ const provider = createAbcEvmProvider(client);
22
+ let accountsChangedHandler;
23
+ let chainChangedHandler;
24
+ let disconnectHandler;
25
+ return {
26
+ id: "abc",
27
+ name: "ABC Wallet",
28
+ type: "abc",
29
+ /**
30
+ * Connect wallet
31
+ */
32
+ async connect() {
33
+ try {
34
+ const authState = loadAuthState();
35
+ console.log("\u{1F527} ABC Connector connect() called:", {
36
+ hasAuthState: !!authState,
37
+ isAuthenticated: authState?.isAuthenticated,
38
+ hasWallet: !!authState?.wallet,
39
+ walletAddress: authState?.wallet?.address
40
+ });
41
+ if (!authState || !authState.isAuthenticated || !authState.wallet) {
42
+ throw new Error("ABC_LOGIN_REQUIRED");
43
+ }
44
+ provider.setWallet(authState.wallet);
45
+ console.log("\u2705 Provider wallet set:", {
46
+ address: authState.wallet.address,
47
+ hasPIN: !!authState.pin
48
+ });
49
+ const accounts = await provider.request({
50
+ method: "eth_requestAccounts"
51
+ });
52
+ const currentChainId = await provider.request({
53
+ method: "eth_chainId"
54
+ });
55
+ if (accountsChangedHandler) {
56
+ provider.removeListener("accountsChanged", accountsChangedHandler);
57
+ }
58
+ accountsChangedHandler = (accounts2) => {
59
+ wagmiConfig.emitter.emit("change", {
60
+ accounts: accounts2
61
+ });
62
+ };
63
+ provider.on("accountsChanged", accountsChangedHandler);
64
+ if (chainChangedHandler) {
65
+ provider.removeListener("chainChanged", chainChangedHandler);
66
+ }
67
+ chainChangedHandler = (chainId) => {
68
+ wagmiConfig.emitter.emit("change", {
69
+ chainId: Number(chainId)
70
+ });
71
+ };
72
+ provider.on("chainChanged", chainChangedHandler);
73
+ if (disconnectHandler) {
74
+ provider.removeListener("disconnect", disconnectHandler);
75
+ }
76
+ disconnectHandler = () => {
77
+ wagmiConfig.emitter.emit("disconnect");
78
+ this.onDisconnect();
79
+ };
80
+ provider.on("disconnect", disconnectHandler);
81
+ return {
82
+ accounts,
83
+ chainId: Number(currentChainId)
84
+ };
85
+ } catch (error) {
86
+ if (error.message === "ABC_LOGIN_REQUIRED") {
87
+ throw error;
88
+ }
89
+ throw error;
90
+ }
91
+ },
92
+ /**
93
+ * Disconnect wallet
94
+ */
95
+ async disconnect() {
96
+ if (accountsChangedHandler) {
97
+ provider.removeListener("accountsChanged", accountsChangedHandler);
98
+ accountsChangedHandler = void 0;
99
+ }
100
+ if (chainChangedHandler) {
101
+ provider.removeListener("chainChanged", chainChangedHandler);
102
+ chainChangedHandler = void 0;
103
+ }
104
+ if (disconnectHandler) {
105
+ provider.removeListener("disconnect", disconnectHandler);
106
+ disconnectHandler = void 0;
107
+ }
108
+ provider.clearWallet();
109
+ await client.logout();
110
+ let savedPinHash = null;
111
+ let savedEmail = null;
112
+ if (typeof window !== "undefined") {
113
+ savedPinHash = localStorage.getItem("talkenkit_abc_pin_hash");
114
+ savedEmail = localStorage.getItem("talkenkit_abc_saved_email");
115
+ }
116
+ clearAuthState();
117
+ clearEncryptedTokens();
118
+ if (typeof window !== "undefined") {
119
+ localStorage.removeItem("talkenkit_abc_enc_salt");
120
+ localStorage.removeItem("talkenkit_abc_enc_tokens");
121
+ if (savedPinHash) {
122
+ localStorage.setItem("talkenkit_abc_pin_hash", savedPinHash);
123
+ }
124
+ if (savedEmail) {
125
+ localStorage.setItem("talkenkit_abc_saved_email", savedEmail);
126
+ }
127
+ }
128
+ console.log("\u2705 ABC Wallet disconnected (PIN preserved)");
129
+ },
130
+ /**
131
+ * Get accounts
132
+ */
133
+ async getAccounts() {
134
+ const accounts = await provider.request({
135
+ method: "eth_accounts"
136
+ });
137
+ return accounts.map((account) => account);
138
+ },
139
+ /**
140
+ * Get chain ID
141
+ */
142
+ async getChainId() {
143
+ const chainId = await provider.request({
144
+ method: "eth_chainId"
145
+ });
146
+ return Number(chainId);
147
+ },
148
+ /**
149
+ * Get provider
150
+ */
151
+ async getProvider() {
152
+ return provider;
153
+ },
154
+ /**
155
+ * Check if authorized (has valid session)
156
+ */
157
+ async isAuthorized() {
158
+ try {
159
+ const authState = loadAuthState();
160
+ if (!authState || !authState.isAuthenticated) {
161
+ return false;
162
+ }
163
+ return client.isAuthenticated();
164
+ } catch {
165
+ return false;
166
+ }
167
+ },
168
+ /**
169
+ * Switch chain
170
+ */
171
+ async switchChain({ chainId }) {
172
+ await provider.request({
173
+ method: "wallet_switchEthereumChain",
174
+ params: [{ chainId: `0x${chainId.toString(16)}` }]
175
+ });
176
+ const newChainId = await this.getChainId();
177
+ const authState = loadAuthState();
178
+ if (authState?.wallet) {
179
+ authState.wallet.chainId = newChainId;
180
+ saveAuthState(authState);
181
+ }
182
+ return wagmiConfig.chains.find((x) => x.id === chainId) ?? {
183
+ id: chainId,
184
+ name: `Chain ${chainId}`,
185
+ nativeCurrency: {
186
+ name: "Ether",
187
+ decimals: 18,
188
+ symbol: "ETH"
189
+ },
190
+ rpcUrls: {
191
+ default: { http: [""] }
192
+ }
193
+ };
194
+ },
195
+ /**
196
+ * Handle accounts changed
197
+ */
198
+ onAccountsChanged(accounts) {
199
+ if (accounts.length === 0) {
200
+ this.onDisconnect();
201
+ } else {
202
+ wagmiConfig.emitter.emit("change", {
203
+ accounts
204
+ });
205
+ }
206
+ },
207
+ /**
208
+ * Handle chain changed
209
+ */
210
+ onChainChanged(chain) {
211
+ const chainId = Number(chain);
212
+ wagmiConfig.emitter.emit("change", { chainId });
213
+ },
214
+ /**
215
+ * Handle disconnect
216
+ */
217
+ onDisconnect(_error) {
218
+ provider.clearWallet();
219
+ clearAuthState();
220
+ wagmiConfig.emitter.emit("disconnect");
221
+ }
222
+ };
223
+ });
224
+ }
225
+
226
+ export {
227
+ abcConnector
228
+ };
@@ -0,0 +1,66 @@
1
+ "use client";
2
+ import {
3
+ isAndroid
4
+ } from "./chunk-RETKWSKD.js";
5
+ import {
6
+ getInjectedConnector
7
+ } from "./chunk-MBBGZGXF.js";
8
+ import {
9
+ getWalletConnectConnector
10
+ } from "./chunk-PODFK4OS.js";
11
+
12
+ // src/wallets/walletConnectors/iopayWallet/iopayWallet.ts
13
+ function isIoPayMobile() {
14
+ return typeof navigator !== "undefined" && typeof navigator.userAgent !== "undefined" && (navigator?.userAgent.includes("IoPayAndroid") || navigator?.userAgent.includes("IoPayiOs"));
15
+ }
16
+ var iopayWallet = ({
17
+ projectId,
18
+ walletConnectParameters
19
+ }) => ({
20
+ id: "iopay",
21
+ name: "ioPay Wallet",
22
+ iconUrl: async () => (await import("./iopayWallet-IJHJ7NYT.js")).default,
23
+ iconBackground: "#fff",
24
+ downloadUrls: {
25
+ android: "https://play.google.com/store/apps/details?id=io.iotex.iopay.gp&pli=1",
26
+ ios: "https://apps.apple.com/us/app/iopay-multichain-crypto-wallet/id1478086371",
27
+ qrCode: "https://iopay.me/",
28
+ browserExtension: "https://iopay.me/"
29
+ },
30
+ mobile: {
31
+ getUri: (uri) => {
32
+ return isAndroid() ? uri : `iopay://wc?uri=${encodeURIComponent(uri)}`;
33
+ }
34
+ },
35
+ qrCode: {
36
+ getUri: (uri) => uri,
37
+ instructions: {
38
+ learnMoreUrl: "https://iopay.me/",
39
+ steps: [
40
+ {
41
+ description: "wallet_connectors.iopay.qr_code.step1.description",
42
+ step: "install",
43
+ title: "wallet_connectors.iopay.qr_code.step1.title"
44
+ },
45
+ {
46
+ description: "wallet_connectors.iopay.qr_code.step2.description",
47
+ step: "create",
48
+ title: "wallet_connectors.iopay.qr_code.step2.title"
49
+ },
50
+ {
51
+ description: "wallet_connectors.iopay.qr_code.step3.description",
52
+ step: "scan",
53
+ title: "wallet_connectors.iopay.qr_code.step3.title"
54
+ }
55
+ ]
56
+ }
57
+ },
58
+ createConnector: isIoPayMobile() ? getInjectedConnector({}) : getWalletConnectConnector({
59
+ projectId,
60
+ walletConnectParameters
61
+ })
62
+ });
63
+
64
+ export {
65
+ iopayWallet
66
+ };