@talken/talkenkit 2.3.14 → 2.3.15

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 (181) hide show
  1. package/LICENSE +9 -0
  2. package/dist/chunk-UWHLB4MJ.js +226 -0
  3. package/dist/index.d.ts +1 -0
  4. package/dist/index.js +151 -335
  5. package/dist/secure-SSSSQ4NA.js +8 -0
  6. package/dist/wallets/walletConnectors/abcWallet/abcApi.js +2 -2
  7. package/dist/wallets/walletConnectors/abcWallet/abcBitcoinConnector.js +1 -1
  8. package/dist/wallets/walletConnectors/abcWallet/abcConnector.js +3 -3
  9. package/dist/wallets/walletConnectors/abcWallet/abcSolProvider.js +2 -2
  10. package/dist/wallets/walletConnectors/abcWallet/abcSolanaWallet.js +3 -3
  11. package/dist/wallets/walletConnectors/abcWallet/abcWallet.d.ts +7 -0
  12. package/dist/wallets/walletConnectors/abcWallet/abcWallet.js +4 -4
  13. package/dist/wallets/walletConnectors/abcWallet/api/SigningApi.js +1 -1
  14. package/dist/wallets/walletConnectors/abcWallet/api/SolanaApi.js +2 -2
  15. package/dist/wallets/walletConnectors/abcWallet/api/WalletApi.js +2 -2
  16. package/dist/wallets/walletConnectors/abcWallet/api/index.js +5 -5
  17. package/dist/wallets/walletConnectors/abcWallet/index.d.ts +1 -0
  18. package/dist/wallets/walletConnectors/abcWallet/index.js +21 -10
  19. package/dist/wallets/walletConnectors/abcWallet/networkConfig.d.ts +45 -30
  20. package/dist/wallets/walletConnectors/abcWallet/networkConfig.js +9 -5
  21. package/dist/wallets/walletConnectors/abcWallet/types.d.ts +6 -0
  22. package/dist/wallets/walletConnectors/{chunk-4H6TSGD7.js → chunk-2XZBPMQJ.js} +1 -1
  23. package/dist/wallets/walletConnectors/{chunk-4QPXFUDC.js → chunk-3ZE57J3R.js} +4 -1
  24. package/dist/wallets/walletConnectors/{chunk-5AAIZIND.js → chunk-3ZZXE7EL.js} +1 -1
  25. package/dist/wallets/walletConnectors/{chunk-636QKXSN.js → chunk-4MF5RSML.js} +4 -1
  26. package/dist/wallets/walletConnectors/{chunk-4VO5XDCV.js → chunk-4N6JD6LY.js} +9 -9
  27. package/dist/wallets/walletConnectors/{chunk-2RVWT7N7.js → chunk-4YJWX7I3.js} +4 -1
  28. package/dist/wallets/walletConnectors/chunk-5CCU7PNU.js +194 -0
  29. package/dist/wallets/walletConnectors/chunk-5TDZSXJ4.js +345 -0
  30. package/dist/wallets/walletConnectors/{chunk-4YKA5OIT.js → chunk-75RN2RLT.js} +5 -5
  31. package/dist/wallets/walletConnectors/{chunk-JXPLBYVW.js → chunk-7DEZCGNV.js} +1 -1
  32. package/dist/wallets/walletConnectors/{chunk-ZX6LABEF.js → chunk-A7FIBI6X.js} +30 -13
  33. package/dist/wallets/walletConnectors/{chunk-2E2TVL4A.js → chunk-AVPBPELO.js} +6 -6
  34. package/dist/wallets/walletConnectors/{chunk-F2LC3G36.js → chunk-BJHGC546.js} +18 -3
  35. package/dist/wallets/walletConnectors/{chunk-BPLIASJE.js → chunk-BL57XWJY.js} +4 -1
  36. package/dist/wallets/walletConnectors/{chunk-AKYC5VZG.js → chunk-BSBRWKNG.js} +7 -7
  37. package/dist/wallets/walletConnectors/{chunk-DPL5VRGJ.js → chunk-CYYBGUSO.js} +1 -1
  38. package/dist/wallets/walletConnectors/{chunk-F5Q4VDER.js → chunk-EEY5CXKO.js} +2 -2
  39. package/dist/wallets/walletConnectors/{chunk-MT2QHWYE.js → chunk-EGOIRXTV.js} +1 -1
  40. package/dist/wallets/walletConnectors/chunk-F5P2INHS.js +474 -0
  41. package/dist/wallets/walletConnectors/chunk-G7PEFBL6.js +309 -0
  42. package/dist/wallets/walletConnectors/{chunk-XZHB7HU4.js → chunk-GHLLVM7O.js} +1 -1
  43. package/dist/wallets/walletConnectors/{chunk-2XFKRGDK.js → chunk-GXGRTWJM.js} +10 -10
  44. package/dist/wallets/walletConnectors/chunk-H2MX4NAL.js +293 -0
  45. package/dist/wallets/walletConnectors/{chunk-75NE2OUD.js → chunk-HVPQO6ZG.js} +16 -1
  46. package/dist/wallets/walletConnectors/{chunk-LOP2R3QJ.js → chunk-JR2C4XXX.js} +2 -52
  47. package/dist/wallets/walletConnectors/{chunk-V3XKL7AD.js → chunk-KKPINUPY.js} +1 -1
  48. package/dist/wallets/walletConnectors/{chunk-5VL7T6AY.js → chunk-LENPUTNQ.js} +18 -3
  49. package/dist/wallets/walletConnectors/{chunk-25LLSYLN.js → chunk-N4FOYXQD.js} +5 -5
  50. package/dist/wallets/walletConnectors/{chunk-CNI3U6UK.js → chunk-NEXFU6BZ.js} +4 -4
  51. package/dist/wallets/walletConnectors/chunk-O6EAIC4G.js +482 -0
  52. package/dist/wallets/walletConnectors/{chunk-KZG5KU7A.js → chunk-OC2O4BHA.js} +1 -1
  53. package/dist/wallets/walletConnectors/{chunk-DU6M25IR.js → chunk-P2GV6NQG.js} +16 -1
  54. package/dist/wallets/walletConnectors/{chunk-CGLM5KXH.js → chunk-PPIFAF7N.js} +7 -7
  55. package/dist/wallets/walletConnectors/{chunk-76O6JH3T.js → chunk-QEHZXKRF.js} +1 -1
  56. package/dist/wallets/walletConnectors/{chunk-A7KV643A.js → chunk-QI2VB7LL.js} +4 -4
  57. package/dist/wallets/walletConnectors/chunk-RLR4Y5WO.js +481 -0
  58. package/dist/wallets/walletConnectors/chunk-T6KJZAPR.js +47 -0
  59. package/dist/wallets/walletConnectors/chunk-UBCMBPX3.js +58 -0
  60. package/dist/wallets/walletConnectors/chunk-UGQXI3RN.js +284 -0
  61. package/dist/wallets/walletConnectors/{chunk-2PDAR5KA.js → chunk-X4WUD7PF.js} +5 -5
  62. package/dist/wallets/walletConnectors/{chunk-T7NXVYE6.js → chunk-XPSCFUX6.js} +1 -1
  63. package/dist/wallets/walletConnectors/chunk-Y3LWEDF6.js +63 -0
  64. package/dist/wallets/walletConnectors/index.js +21 -21
  65. package/package.json +11 -12
  66. package/dist/wallets/walletConnectors/chunk-2GODJ6NU.js +0 -398
  67. package/dist/wallets/walletConnectors/chunk-2ZFMD7GF.js +0 -419
  68. package/dist/wallets/walletConnectors/chunk-3OYZYIBX.js +0 -361
  69. package/dist/wallets/walletConnectors/chunk-3WRALPTT.js +0 -403
  70. package/dist/wallets/walletConnectors/chunk-43LPUTHW.js +0 -157
  71. package/dist/wallets/walletConnectors/chunk-4OPIMV4N.js +0 -376
  72. package/dist/wallets/walletConnectors/chunk-4TFDVNMF.js +0 -370
  73. package/dist/wallets/walletConnectors/chunk-5KCTAEQB.js +0 -391
  74. package/dist/wallets/walletConnectors/chunk-5OKJZU3F.js +0 -63
  75. package/dist/wallets/walletConnectors/chunk-5PBZRTEM.js +0 -63
  76. package/dist/wallets/walletConnectors/chunk-5SLXMCS2.js +0 -34
  77. package/dist/wallets/walletConnectors/chunk-62ZC3BGR.js +0 -39
  78. package/dist/wallets/walletConnectors/chunk-6DMWYDIO.js +0 -390
  79. package/dist/wallets/walletConnectors/chunk-6KO5WQ5C.js +0 -156
  80. package/dist/wallets/walletConnectors/chunk-6URAISNZ.js +0 -388
  81. package/dist/wallets/walletConnectors/chunk-6V3335LE.js +0 -63
  82. package/dist/wallets/walletConnectors/chunk-7UHZX522.js +0 -369
  83. package/dist/wallets/walletConnectors/chunk-ADMITKUE.js +0 -63
  84. package/dist/wallets/walletConnectors/chunk-AL7R7JQU.js +0 -124
  85. package/dist/wallets/walletConnectors/chunk-AY4TMZG6.js +0 -39
  86. package/dist/wallets/walletConnectors/chunk-AZRYTD6J.js +0 -63
  87. package/dist/wallets/walletConnectors/chunk-B23AX3U3.js +0 -269
  88. package/dist/wallets/walletConnectors/chunk-CB4CSXNY.js +0 -63
  89. package/dist/wallets/walletConnectors/chunk-CSLAM3IH.js +0 -39
  90. package/dist/wallets/walletConnectors/chunk-CTSR4YUH.js +0 -376
  91. package/dist/wallets/walletConnectors/chunk-D6MSZOEN.js +0 -357
  92. package/dist/wallets/walletConnectors/chunk-DA7TFV7F.js +0 -1683
  93. package/dist/wallets/walletConnectors/chunk-DHVD2NUK.js +0 -156
  94. package/dist/wallets/walletConnectors/chunk-DSEWXHE6.js +0 -44
  95. package/dist/wallets/walletConnectors/chunk-E3PO2XKJ.js +0 -433
  96. package/dist/wallets/walletConnectors/chunk-E5YF2QC2.js +0 -63
  97. package/dist/wallets/walletConnectors/chunk-ENAFVPRZ.js +0 -374
  98. package/dist/wallets/walletConnectors/chunk-ENHE6LS7.js +0 -368
  99. package/dist/wallets/walletConnectors/chunk-EPUITAK3.js +0 -63
  100. package/dist/wallets/walletConnectors/chunk-EQZ6IAAM.js +0 -39
  101. package/dist/wallets/walletConnectors/chunk-F5HCFRTK.js +0 -1683
  102. package/dist/wallets/walletConnectors/chunk-GUUGKRZB.js +0 -63
  103. package/dist/wallets/walletConnectors/chunk-GZ55OZIT.js +0 -157
  104. package/dist/wallets/walletConnectors/chunk-H7SRDBPI.js +0 -384
  105. package/dist/wallets/walletConnectors/chunk-HDXHEBGM.js +0 -403
  106. package/dist/wallets/walletConnectors/chunk-HGI3FA2A.js +0 -157
  107. package/dist/wallets/walletConnectors/chunk-HMSFBY7V.js +0 -39
  108. package/dist/wallets/walletConnectors/chunk-IABRLMSP.js +0 -63
  109. package/dist/wallets/walletConnectors/chunk-IL52SYJK.js +0 -44
  110. package/dist/wallets/walletConnectors/chunk-IXPVDDZD.js +0 -365
  111. package/dist/wallets/walletConnectors/chunk-JNKT32C7.js +0 -63
  112. package/dist/wallets/walletConnectors/chunk-JW4RQLJT.js +0 -156
  113. package/dist/wallets/walletConnectors/chunk-K6BNM6VP.js +0 -63
  114. package/dist/wallets/walletConnectors/chunk-KEV4GPRY.js +0 -63
  115. package/dist/wallets/walletConnectors/chunk-KN4I4DKC.js +0 -157
  116. package/dist/wallets/walletConnectors/chunk-KNK6YFEK.js +0 -63
  117. package/dist/wallets/walletConnectors/chunk-KSKNDJYL.js +0 -63
  118. package/dist/wallets/walletConnectors/chunk-KYA553D7.js +0 -371
  119. package/dist/wallets/walletConnectors/chunk-L57JYRQZ.js +0 -63
  120. package/dist/wallets/walletConnectors/chunk-LB3ISYMC.js +0 -44
  121. package/dist/wallets/walletConnectors/chunk-LLFZ4GNK.js +0 -266
  122. package/dist/wallets/walletConnectors/chunk-LLJELGMX.js +0 -63
  123. package/dist/wallets/walletConnectors/chunk-LTX3ZSQI.js +0 -39
  124. package/dist/wallets/walletConnectors/chunk-MF46Q5RP.js +0 -44
  125. package/dist/wallets/walletConnectors/chunk-MGPMSUFB.js +0 -372
  126. package/dist/wallets/walletConnectors/chunk-MK45L6B7.js +0 -123
  127. package/dist/wallets/walletConnectors/chunk-MOJC7LE6.js +0 -63
  128. package/dist/wallets/walletConnectors/chunk-N6CRHH2H.js +0 -400
  129. package/dist/wallets/walletConnectors/chunk-N6QHQDQP.js +0 -381
  130. package/dist/wallets/walletConnectors/chunk-NALBGCUS.js +0 -63
  131. package/dist/wallets/walletConnectors/chunk-NOD2A4Q7.js +0 -430
  132. package/dist/wallets/walletConnectors/chunk-NOL7MBZU.js +0 -1683
  133. package/dist/wallets/walletConnectors/chunk-OA5K3AQN.js +0 -370
  134. package/dist/wallets/walletConnectors/chunk-Q3LW5UK5.js +0 -135
  135. package/dist/wallets/walletConnectors/chunk-QDCXRBX6.js +0 -63
  136. package/dist/wallets/walletConnectors/chunk-QHHR2DQK.js +0 -269
  137. package/dist/wallets/walletConnectors/chunk-QIDXRXV6.js +0 -63
  138. package/dist/wallets/walletConnectors/chunk-QNY3A52P.js +0 -156
  139. package/dist/wallets/walletConnectors/chunk-QQEXHPNE.js +0 -385
  140. package/dist/wallets/walletConnectors/chunk-RASK6XWI.js +0 -436
  141. package/dist/wallets/walletConnectors/chunk-RFMJC64I.js +0 -364
  142. package/dist/wallets/walletConnectors/chunk-RVJ32DTM.js +0 -373
  143. package/dist/wallets/walletConnectors/chunk-S64JWSGA.js +0 -63
  144. package/dist/wallets/walletConnectors/chunk-SG6KN7NJ.js +0 -377
  145. package/dist/wallets/walletConnectors/chunk-SGLHM6AU.js +0 -157
  146. package/dist/wallets/walletConnectors/chunk-SK2XYNK4.js +0 -44
  147. package/dist/wallets/walletConnectors/chunk-SKBQVOZL.js +0 -1683
  148. package/dist/wallets/walletConnectors/chunk-SQAILDYS.js +0 -1683
  149. package/dist/wallets/walletConnectors/chunk-SRTBTRBU.js +0 -372
  150. package/dist/wallets/walletConnectors/chunk-T23ZNPHL.js +0 -269
  151. package/dist/wallets/walletConnectors/chunk-T3AL3VAQ.js +0 -44
  152. package/dist/wallets/walletConnectors/chunk-T4QIWLWU.js +0 -357
  153. package/dist/wallets/walletConnectors/chunk-THQEUSX4.js +0 -63
  154. package/dist/wallets/walletConnectors/chunk-TLJSBPMQ.js +0 -63
  155. package/dist/wallets/walletConnectors/chunk-TPGMXU6M.js +0 -63
  156. package/dist/wallets/walletConnectors/chunk-UBDYVLI4.js +0 -370
  157. package/dist/wallets/walletConnectors/chunk-UH6AUMQQ.js +0 -63
  158. package/dist/wallets/walletConnectors/chunk-UTPJPY4R.js +0 -44
  159. package/dist/wallets/walletConnectors/chunk-VIH2AOMF.js +0 -63
  160. package/dist/wallets/walletConnectors/chunk-VIRHJPFQ.js +0 -269
  161. package/dist/wallets/walletConnectors/chunk-VQI2B7XW.js +0 -269
  162. package/dist/wallets/walletConnectors/chunk-VQYANLI2.js +0 -44
  163. package/dist/wallets/walletConnectors/chunk-VRTDF4O3.js +0 -63
  164. package/dist/wallets/walletConnectors/chunk-VRUPSQK4.js +0 -269
  165. package/dist/wallets/walletConnectors/chunk-VWZP7KJD.js +0 -157
  166. package/dist/wallets/walletConnectors/chunk-VZCI2K6Y.js +0 -124
  167. package/dist/wallets/walletConnectors/chunk-WIZH35IC.js +0 -39
  168. package/dist/wallets/walletConnectors/chunk-WOZ5REMN.js +0 -436
  169. package/dist/wallets/walletConnectors/chunk-WPEGBCDE.js +0 -157
  170. package/dist/wallets/walletConnectors/chunk-WPJESUNP.js +0 -379
  171. package/dist/wallets/walletConnectors/chunk-WZ322AWR.js +0 -44
  172. package/dist/wallets/walletConnectors/chunk-WZAIQD3G.js +0 -156
  173. package/dist/wallets/walletConnectors/chunk-XC5EXBMU.js +0 -385
  174. package/dist/wallets/walletConnectors/chunk-XWCS76ZC.js +0 -1683
  175. package/dist/wallets/walletConnectors/chunk-Y5677NVB.js +0 -285
  176. package/dist/wallets/walletConnectors/chunk-YC73LM6F.js +0 -63
  177. package/dist/wallets/walletConnectors/chunk-YHWQOKFW.js +0 -39
  178. package/dist/wallets/walletConnectors/chunk-YIB6VMOF.js +0 -156
  179. package/dist/wallets/walletConnectors/chunk-YPL4NJGA.js +0 -156
  180. package/dist/wallets/walletConnectors/chunk-YQP7DZ7T.js +0 -269
  181. package/dist/wallets/walletConnectors/chunk-ZBMGJDJA.js +0 -436
@@ -140,7 +140,7 @@ var SigningApi = class extends BaseApiClient {
140
140
  );
141
141
  }
142
142
  const ethers = await import("ethers");
143
- const messageHash = ethers.ethers.utils.hashMessage(params.message);
143
+ const messageHash = ethers.utils.hashMessage(params.message);
144
144
  const hash = messageHash.startsWith("0x") ? messageHash.slice(2) : messageHash;
145
145
  const encryptedDevicePassword = await this.secure.getEncryptPlain(
146
146
  wallet.encryptDevicePassword
@@ -1,7 +1,12 @@
1
1
  "use client";
2
2
  import {
3
3
  createAbcWaasClient
4
- } from "./chunk-SKBQVOZL.js";
4
+ } from "./chunk-PPIFAF7N.js";
5
+ import {
6
+ setGlobalDefaultBitcoinNetwork,
7
+ setGlobalDefaultChainId,
8
+ setGlobalDefaultSolanaNetwork
9
+ } from "./chunk-A7FIBI6X.js";
5
10
  import {
6
11
  createAbcEvmProvider
7
12
  } from "./chunk-ZIYAL44B.js";
@@ -18,6 +23,15 @@ import {
18
23
  import { createConnector } from "wagmi";
19
24
  function abcConnector(options) {
20
25
  const { config } = options;
26
+ if (config.defaultChainId) {
27
+ setGlobalDefaultChainId(config.defaultChainId);
28
+ }
29
+ if (config.defaultSolanaNetwork) {
30
+ setGlobalDefaultSolanaNetwork(config.defaultSolanaNetwork);
31
+ }
32
+ if (config.defaultBitcoinNetwork) {
33
+ setGlobalDefaultBitcoinNetwork(config.defaultBitcoinNetwork);
34
+ }
21
35
  return createConnector((wagmiConfig) => {
22
36
  const client = createAbcWaasClient(config);
23
37
  const provider = createAbcEvmProvider(client);
@@ -46,6 +60,7 @@ function abcConnector(options) {
46
60
  provider.setWallet(authState.wallet);
47
61
  console.log("\u2705 Provider wallet set:", {
48
62
  address: authState.wallet.address,
63
+ chainId: authState.wallet.chainId,
49
64
  hasPIN: !!authState.pin
50
65
  });
51
66
  const accounts = await provider.request({
@@ -1,4 +1,10 @@
1
1
  "use client";
2
+ import {
3
+ secure_default
4
+ } from "./chunk-G2LI5MVX.js";
5
+ import {
6
+ getSolanaNetwork
7
+ } from "./chunk-A7FIBI6X.js";
2
8
  import {
3
9
  calculateExpiryTimestamp,
4
10
  createAbcError,
@@ -8,12 +14,6 @@ import {
8
14
  removeFromStorage,
9
15
  saveToStorage
10
16
  } from "./chunk-UV5HHESJ.js";
11
- import {
12
- secure_default
13
- } from "./chunk-G2LI5MVX.js";
14
- import {
15
- getSolanaNetwork
16
- } from "./chunk-VZCI2K6Y.js";
17
17
  import {
18
18
  ABC_AUDIENCE,
19
19
  ABC_ENDPOINTS,
@@ -1100,7 +1100,7 @@ var AbcWaasClient = class {
1100
1100
  );
1101
1101
  }
1102
1102
  const ethers = await import("ethers");
1103
- const messageHash = ethers.ethers.utils.hashMessage(params.message);
1103
+ const messageHash = ethers.utils.hashMessage(params.message);
1104
1104
  const hash = messageHash.startsWith("0x") ? messageHash.slice(2) : messageHash;
1105
1105
  const encryptedDevicePassword = await this.secure.getEncryptPlain(
1106
1106
  wallet.encryptDevicePassword
@@ -7,7 +7,7 @@ import {
7
7
  } from "./chunk-FROV5VDF.js";
8
8
  import {
9
9
  createAbcWaasClient
10
- } from "./chunk-CGLM5KXH.js";
10
+ } from "./chunk-JR2C4XXX.js";
11
11
 
12
12
  // src/wallets/walletConnectors/abcWallet/abcSolanaWallet.ts
13
13
  var abcSolanaWallet = (options) => ({
@@ -1,13 +1,13 @@
1
1
  "use client";
2
2
  import {
3
3
  BaseApiClient
4
- } from "./chunk-KJHOGJ3A.js";
4
+ } from "./chunk-H2MX4NAL.js";
5
+ import {
6
+ getSolanaNetwork
7
+ } from "./chunk-A7FIBI6X.js";
5
8
  import {
6
9
  createAbcError
7
10
  } from "./chunk-UV5HHESJ.js";
8
- import {
9
- getSolanaNetwork
10
- } from "./chunk-ZX6LABEF.js";
11
11
 
12
12
  // src/wallets/walletConnectors/abcWallet/api/SolanaApi.ts
13
13
  var SolanaApi = class extends BaseApiClient {
@@ -0,0 +1,481 @@
1
+ "use client";
2
+
3
+ // src/wallets/walletConnectors/abcWallet/abcBitcoinProvider.ts
4
+ var EventEmitter = class {
5
+ constructor() {
6
+ this.events = /* @__PURE__ */ new Map();
7
+ }
8
+ on(event, listener) {
9
+ if (!this.events.has(event)) {
10
+ this.events.set(event, []);
11
+ }
12
+ this.events.get(event).push(listener);
13
+ return this;
14
+ }
15
+ off(event, listener) {
16
+ const listeners = this.events.get(event);
17
+ if (listeners) {
18
+ const index = listeners.indexOf(listener);
19
+ if (index !== -1) {
20
+ listeners.splice(index, 1);
21
+ }
22
+ }
23
+ return this;
24
+ }
25
+ removeListener(event, listener) {
26
+ return this.off(event, listener);
27
+ }
28
+ emit(event, ...args) {
29
+ const listeners = this.events.get(event);
30
+ if (listeners) {
31
+ for (const listener of listeners) {
32
+ listener(...args);
33
+ }
34
+ return true;
35
+ }
36
+ return false;
37
+ }
38
+ removeAllListeners(event) {
39
+ if (event) {
40
+ this.events.delete(event);
41
+ } else {
42
+ this.events.clear();
43
+ }
44
+ return this;
45
+ }
46
+ };
47
+ var BitcoinErrorCode = {
48
+ USER_REJECTED: 4001,
49
+ UNAUTHORIZED: 4100,
50
+ UNSUPPORTED_METHOD: 4200,
51
+ DISCONNECTED: 4900,
52
+ INVALID_PARAMS: -32602,
53
+ INTERNAL_ERROR: -32603,
54
+ INSUFFICIENT_FUNDS: 5001,
55
+ UTXO_NOT_FOUND: 5002
56
+ };
57
+ var BitcoinProviderError = class extends Error {
58
+ constructor(code, message, data) {
59
+ super(message);
60
+ this.code = code;
61
+ this.data = data;
62
+ this.name = "BitcoinProviderError";
63
+ }
64
+ };
65
+ var BITCOIN_NETWORKS = {
66
+ mainnet: {
67
+ name: "Bitcoin Mainnet",
68
+ type: "bitcoin",
69
+ explorer: "https://blockstream.info"
70
+ },
71
+ testnet: {
72
+ name: "Bitcoin Testnet",
73
+ type: "bitcoin_testnet",
74
+ explorer: "https://blockstream.info/testnet"
75
+ }
76
+ };
77
+ var AbcBitcoinProvider = class extends EventEmitter {
78
+ // 1 minute
79
+ constructor(client) {
80
+ super();
81
+ this.wallet = null;
82
+ this.network = BITCOIN_NETWORKS.testnet;
83
+ this.connected = false;
84
+ this.utxoCache = /* @__PURE__ */ new Map();
85
+ this.cacheExpiry = /* @__PURE__ */ new Map();
86
+ this.CACHE_TTL = 6e4;
87
+ this.client = client;
88
+ }
89
+ /**
90
+ * Set wallet information
91
+ */
92
+ setWallet(wallet) {
93
+ const previousAddress = this.wallet?.address;
94
+ this.wallet = wallet;
95
+ this.connected = true;
96
+ if (wallet.network === "bitcoin") {
97
+ this.network = BITCOIN_NETWORKS.mainnet;
98
+ } else {
99
+ this.network = BITCOIN_NETWORKS.testnet;
100
+ }
101
+ if (previousAddress !== wallet.address) {
102
+ this.emit("accountsChanged", [wallet.address]);
103
+ this.clearUtxoCache();
104
+ }
105
+ this.emit("connect", {
106
+ address: wallet.address,
107
+ network: this.network.type
108
+ });
109
+ }
110
+ /**
111
+ * Clear wallet (disconnect)
112
+ */
113
+ clearWallet() {
114
+ this.wallet = null;
115
+ this.connected = false;
116
+ this.clearUtxoCache();
117
+ this.emit("disconnect");
118
+ this.emit("accountsChanged", []);
119
+ console.log("[BitcoinProvider] \u{1F50C} Wallet disconnected");
120
+ }
121
+ /**
122
+ * Set PIN request callback for transaction signing
123
+ */
124
+ setRequestPinCallback(callback) {
125
+ this.requestPinCallback = callback;
126
+ }
127
+ /**
128
+ * Request PIN from user
129
+ * First tries global callback, then falls back to manual callback
130
+ */
131
+ async requestPin() {
132
+ const globalRequestPin = window.__TALKENKIT_REQUEST_PIN__;
133
+ if (globalRequestPin && typeof globalRequestPin === "function") {
134
+ return globalRequestPin("transaction");
135
+ }
136
+ if (!this.requestPinCallback) {
137
+ throw new BitcoinProviderError(
138
+ BitcoinErrorCode.INTERNAL_ERROR,
139
+ "PIN request callback not configured. Make sure RainbowKitProvider is rendered."
140
+ );
141
+ }
142
+ return this.requestPinCallback();
143
+ }
144
+ /**
145
+ * Set network
146
+ */
147
+ setNetwork(networkKey) {
148
+ const newNetwork = BITCOIN_NETWORKS[networkKey];
149
+ if (!newNetwork) {
150
+ throw new BitcoinProviderError(
151
+ BitcoinErrorCode.INVALID_PARAMS,
152
+ `Unknown network: ${networkKey}`
153
+ );
154
+ }
155
+ const previousType = this.network.type;
156
+ this.network = newNetwork;
157
+ if (previousType !== newNetwork.type) {
158
+ this.emit("networkChanged", newNetwork.type);
159
+ this.clearUtxoCache();
160
+ }
161
+ }
162
+ /**
163
+ * Get current network
164
+ */
165
+ getNetwork() {
166
+ return this.network;
167
+ }
168
+ /**
169
+ * Check if connected
170
+ */
171
+ isConnected() {
172
+ return this.connected && this.wallet !== null;
173
+ }
174
+ /**
175
+ * Get Bitcoin address
176
+ */
177
+ async getAddress() {
178
+ if (!this.wallet) {
179
+ throw new BitcoinProviderError(
180
+ BitcoinErrorCode.DISCONNECTED,
181
+ "Wallet not connected"
182
+ );
183
+ }
184
+ return this.wallet.address;
185
+ }
186
+ /**
187
+ * Get compressed public key (33 bytes)
188
+ */
189
+ async getPublicKey() {
190
+ if (!this.wallet) {
191
+ throw new BitcoinProviderError(
192
+ BitcoinErrorCode.DISCONNECTED,
193
+ "Wallet not connected"
194
+ );
195
+ }
196
+ return this.wallet.publicKey;
197
+ }
198
+ /**
199
+ * Get address type (bech32, p2pkh, etc.)
200
+ */
201
+ getAddressType() {
202
+ if (!this.wallet) {
203
+ throw new BitcoinProviderError(
204
+ BitcoinErrorCode.DISCONNECTED,
205
+ "Wallet not connected"
206
+ );
207
+ }
208
+ return this.wallet.addressType;
209
+ }
210
+ /**
211
+ * Clear UTXO cache
212
+ */
213
+ clearUtxoCache() {
214
+ this.utxoCache.clear();
215
+ this.cacheExpiry.clear();
216
+ }
217
+ /**
218
+ * Check if cache is valid
219
+ */
220
+ isCacheValid(address) {
221
+ const expiry = this.cacheExpiry.get(address);
222
+ if (!expiry)
223
+ return false;
224
+ return Date.now() < expiry;
225
+ }
226
+ /**
227
+ * Get UTXOs for address (with caching)
228
+ */
229
+ async getUtxos(forceRefresh = false) {
230
+ if (!this.wallet) {
231
+ throw new BitcoinProviderError(
232
+ BitcoinErrorCode.DISCONNECTED,
233
+ "Wallet not connected"
234
+ );
235
+ }
236
+ const address = this.wallet.address;
237
+ if (!forceRefresh && this.isCacheValid(address)) {
238
+ const cached = this.utxoCache.get(address);
239
+ if (cached) {
240
+ console.log(
241
+ `[BitcoinProvider] \u{1F4E6} Using cached UTXOs (${cached.length} items)`
242
+ );
243
+ return cached;
244
+ }
245
+ }
246
+ try {
247
+ console.log("[BitcoinProvider] \u{1F50D} Fetching UTXOs from network...");
248
+ const utxos = await this.client.bitcoin.getUtxos(
249
+ address,
250
+ this.network.type
251
+ );
252
+ this.utxoCache.set(address, utxos);
253
+ this.cacheExpiry.set(address, Date.now() + this.CACHE_TTL);
254
+ console.log(`[BitcoinProvider] \u2705 Fetched ${utxos.length} UTXOs`);
255
+ return utxos;
256
+ } catch (error) {
257
+ console.error(
258
+ "[BitcoinProvider] \u274C Failed to fetch UTXOs:",
259
+ error.message
260
+ );
261
+ throw new BitcoinProviderError(
262
+ BitcoinErrorCode.INTERNAL_ERROR,
263
+ "Failed to fetch UTXOs",
264
+ error
265
+ );
266
+ }
267
+ }
268
+ /**
269
+ * Get total balance (sum of all UTXOs)
270
+ * Returns balance in satoshis
271
+ */
272
+ async getBalance(forceRefresh = false) {
273
+ const utxos = await this.getUtxos(forceRefresh);
274
+ const balance = utxos.reduce((sum, utxo) => sum + utxo.value, 0);
275
+ console.log(
276
+ `[BitcoinProvider] \u{1F4B0} Balance: ${balance} satoshis (${balance / 1e8} BTC)`
277
+ );
278
+ return balance;
279
+ }
280
+ /**
281
+ * Estimate transaction fee
282
+ * Returns fee rate in satoshis per byte
283
+ */
284
+ async estimateFee(targetBlocks = 6) {
285
+ try {
286
+ const feeRate = await this.client.bitcoin.estimateFee(
287
+ this.network.type,
288
+ targetBlocks
289
+ );
290
+ console.log(`[BitcoinProvider] \u26FD Fee rate: ${feeRate} sat/byte`);
291
+ return feeRate;
292
+ } catch (_error) {
293
+ console.error("[BitcoinProvider] \u26A0\uFE0F Fee estimation failed, using default");
294
+ return 1;
295
+ }
296
+ }
297
+ /**
298
+ * Sign Bitcoin message (BIP-322)
299
+ * NOTE: Currently not supported - Bitcoin uses v2 API which doesn't have message signing endpoint
300
+ * Only transaction signing is supported via PSBT
301
+ *
302
+ * @param _message - Message to sign (string) - unused, always throws error
303
+ * @returns Signature in base64 format
304
+ */
305
+ async signMessage(_message) {
306
+ console.log("[BitcoinProvider] \u26A0\uFE0F Bitcoin message signing requested");
307
+ throw new BitcoinProviderError(
308
+ BitcoinErrorCode.UNSUPPORTED_METHOD,
309
+ "Bitcoin message signing is not supported. Bitcoin uses v2 API which only supports transaction signing (PSBT). Use signTransaction() instead."
310
+ );
311
+ }
312
+ /**
313
+ * High-level transaction sending (like Solana pattern)
314
+ * Creates, signs, and broadcasts transaction
315
+ *
316
+ * @param params - Transaction parameters
317
+ * @param params.toAddress - Recipient Bitcoin address
318
+ * @param params.amount - Amount in BTC (will be converted to satoshis)
319
+ * @returns Transaction hash
320
+ */
321
+ async sendTransaction(params) {
322
+ if (!this.wallet) {
323
+ throw new BitcoinProviderError(
324
+ BitcoinErrorCode.DISCONNECTED,
325
+ "Wallet not connected"
326
+ );
327
+ }
328
+ try {
329
+ console.log("[BitcoinProvider] \u{1F4B8} Starting high-level transaction...");
330
+ const authStateKey = "talkenkit_abc_auth_state";
331
+ const authState = typeof window !== "undefined" ? localStorage.getItem(authStateKey) : null;
332
+ if (!authState) {
333
+ throw new BitcoinProviderError(
334
+ BitcoinErrorCode.UNAUTHORIZED,
335
+ "Not authenticated - auth state not found"
336
+ );
337
+ }
338
+ const parsed = JSON.parse(authState);
339
+ const evmWallet = parsed.wallet;
340
+ if (!evmWallet?.uid || !evmWallet?.sid || !evmWallet?.pvencstr || !evmWallet?.wid) {
341
+ throw new BitcoinProviderError(
342
+ BitcoinErrorCode.UNAUTHORIZED,
343
+ "EVM wallet data not found (required for Bitcoin signing)"
344
+ );
345
+ }
346
+ console.log(
347
+ "[BitcoinProvider] \u{1F510} Requesting PIN for Bitcoin transaction..."
348
+ );
349
+ const pin = await this.requestPin();
350
+ const encoder = new TextEncoder();
351
+ const data = encoder.encode(pin);
352
+ const hashBuffer = await crypto.subtle.digest("SHA-256", data);
353
+ const hashArray = Array.from(new Uint8Array(hashBuffer));
354
+ const pinHash = hashArray.map((b) => b.toString(16).padStart(2, "0")).join("");
355
+ const satoshis = Math.floor(params.amount * 1e8);
356
+ const SecureService = (await import("./abcWallet/secure.js")).default;
357
+ const secureService = new SecureService(this.client.bitcoin.getBaseURL());
358
+ const walletData = {
359
+ address: evmWallet.address,
360
+ keyId: evmWallet.keyId,
361
+ encryptedShare: evmWallet.encryptedShare,
362
+ uid: evmWallet.uid,
363
+ sid: evmWallet.sid,
364
+ wid: evmWallet.wid,
365
+ pvencstr: evmWallet.pvencstr,
366
+ encryptDevicePassword: evmWallet.encryptDevicePassword,
367
+ pubkey: evmWallet.pubkey
368
+ };
369
+ const txHash = await this.client.bitcoin.sendTransaction(
370
+ {
371
+ amount: satoshis.toString(),
372
+ to: params.toAddress,
373
+ pubkey: this.wallet.publicKey,
374
+ network: this.network.type
375
+ },
376
+ walletData,
377
+ pinHash,
378
+ secureService
379
+ );
380
+ console.log("[BitcoinProvider] \u2705 Transaction complete:", txHash);
381
+ this.emit("transactionBroadcasted", {
382
+ txHash,
383
+ explorerUrl: `${this.network.explorer}/tx/${txHash}`
384
+ });
385
+ this.clearUtxoCache();
386
+ return txHash;
387
+ } catch (error) {
388
+ if (error.message?.includes("cancelled") || error.message?.includes("rejected")) {
389
+ console.log("[BitcoinProvider] \u2139\uFE0F User cancelled transaction");
390
+ throw new BitcoinProviderError(
391
+ BitcoinErrorCode.USER_REJECTED,
392
+ "User rejected transaction",
393
+ error
394
+ );
395
+ }
396
+ console.error("[BitcoinProvider] \u274C Transaction failed:", error.message);
397
+ if (error.message?.includes("insufficient")) {
398
+ throw new BitcoinProviderError(
399
+ BitcoinErrorCode.INSUFFICIENT_FUNDS,
400
+ "Insufficient BTC balance",
401
+ error
402
+ );
403
+ }
404
+ this.emit("error", error);
405
+ throw new BitcoinProviderError(
406
+ BitcoinErrorCode.INTERNAL_ERROR,
407
+ "Failed to send transaction",
408
+ error
409
+ );
410
+ }
411
+ }
412
+ /**
413
+ * Broadcast signed transaction to network
414
+ *
415
+ * @param rawTransaction - Raw transaction in hex format
416
+ * @param psbt - Optional finalized PSBT
417
+ * @returns Transaction hash
418
+ */
419
+ async broadcastTransaction(rawTransaction, psbt) {
420
+ if (!this.wallet) {
421
+ throw new BitcoinProviderError(
422
+ BitcoinErrorCode.DISCONNECTED,
423
+ "Wallet not connected"
424
+ );
425
+ }
426
+ try {
427
+ console.log("[BitcoinProvider] \u{1F4E1} Broadcasting transaction...");
428
+ const result = await this.client.bitcoin.sendBitcoinTransaction({
429
+ network: this.network.type,
430
+ rawTransaction,
431
+ ...psbt && { psbt }
432
+ });
433
+ console.log(
434
+ "[BitcoinProvider] \u2705 Transaction broadcasted:",
435
+ result.txHash
436
+ );
437
+ this.emit("transactionBroadcasted", {
438
+ txHash: result.txHash,
439
+ explorerUrl: `${this.network.explorer}/tx/${result.txHash}`
440
+ });
441
+ this.clearUtxoCache();
442
+ return result.txHash;
443
+ } catch (error) {
444
+ console.error(
445
+ "[BitcoinProvider] \u274C Transaction broadcast failed:",
446
+ error.message
447
+ );
448
+ this.emit("error", error);
449
+ throw new BitcoinProviderError(
450
+ BitcoinErrorCode.INTERNAL_ERROR,
451
+ "Failed to broadcast transaction",
452
+ error
453
+ );
454
+ }
455
+ }
456
+ /**
457
+ * Get wallet info
458
+ */
459
+ getWalletInfo() {
460
+ if (!this.wallet)
461
+ return null;
462
+ return {
463
+ address: this.wallet.address,
464
+ publicKey: this.wallet.publicKey,
465
+ addressType: this.wallet.addressType,
466
+ network: this.network.type
467
+ };
468
+ }
469
+ /**
470
+ * Refresh UTXO cache
471
+ */
472
+ async refreshUtxos() {
473
+ return this.getUtxos(true);
474
+ }
475
+ };
476
+
477
+ export {
478
+ BitcoinProviderError,
479
+ BITCOIN_NETWORKS,
480
+ AbcBitcoinProvider
481
+ };
@@ -0,0 +1,47 @@
1
+ "use client";
2
+ import {
3
+ abcConnector
4
+ } from "./chunk-LENPUTNQ.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
+ };
@@ -0,0 +1,58 @@
1
+ "use client";
2
+
3
+ // src/wallets/walletConnectors/abcWallet/firebase.ts
4
+ import { initializeApp } from "firebase/app";
5
+ import { getAuth } from "firebase/auth";
6
+ var firebaseApp = null;
7
+ var firebaseAuth = null;
8
+ function initializeFirebase(config) {
9
+ if (firebaseAuth) {
10
+ return firebaseAuth;
11
+ }
12
+ const firebaseConfig = config || {
13
+ apiKey: process.env.NEXT_PUBLIC_FIREBASE_API_KEY,
14
+ authDomain: process.env.NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN,
15
+ projectId: process.env.NEXT_PUBLIC_FIREBASE_PROJECT_ID,
16
+ storageBucket: process.env.NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET,
17
+ messagingSenderId: process.env.NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID,
18
+ appId: process.env.NEXT_PUBLIC_FIREBASE_APP_ID,
19
+ measurementId: process.env.NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID
20
+ };
21
+ firebaseApp = initializeApp(firebaseConfig);
22
+ firebaseAuth = getAuth(firebaseApp);
23
+ return firebaseAuth;
24
+ }
25
+ function getFirebaseAuth() {
26
+ if (!firebaseAuth) {
27
+ throw new Error(
28
+ "Firebase not initialized. Call initializeFirebase() first."
29
+ );
30
+ }
31
+ return firebaseAuth;
32
+ }
33
+ function decodeJWT(token) {
34
+ try {
35
+ const parts = token.split(".");
36
+ if (parts.length !== 3) {
37
+ console.error("[Firebase] Invalid JWT format");
38
+ return null;
39
+ }
40
+ const payload = parts[1];
41
+ const decoded = atob(payload.replace(/-/g, "+").replace(/_/g, "/"));
42
+ return JSON.parse(decoded);
43
+ } catch (error) {
44
+ console.error("[Firebase] JWT decode failed:", error);
45
+ return null;
46
+ }
47
+ }
48
+ function resetFirebase() {
49
+ firebaseApp = null;
50
+ firebaseAuth = null;
51
+ }
52
+
53
+ export {
54
+ initializeFirebase,
55
+ getFirebaseAuth,
56
+ decodeJWT,
57
+ resetFirebase
58
+ };