@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
package/LICENSE ADDED
@@ -0,0 +1,9 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 Rainbow
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
6
+
7
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
8
+
9
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,226 @@
1
+ "use client";
2
+
3
+ // src/wallets/walletConnectors/abcWallet/secure.ts
4
+ import CryptoJS from "crypto-js";
5
+ import elliptic from "elliptic";
6
+
7
+ // src/wallets/walletConnectors/abcWallet/constants.ts
8
+ var DEFAULT_ABC_CONFIG = {
9
+ environment: "development",
10
+ waasUrl: process.env.VITE_ABC_WAAS_URL || "https://api.abcwallet.com"
11
+ };
12
+ var TOKEN_EXPIRY = {
13
+ ACCESS_TOKEN: 10 * 60 * 1e3,
14
+ // 10 minutes
15
+ REFRESH_TOKEN: 60 * 60 * 1e3,
16
+ // 60 minutes
17
+ REFRESH_BUFFER: 60 * 1e3
18
+ // Refresh 60s before expiry (increased for network latency tolerance)
19
+ };
20
+ var ABC_ENDPOINTS = {
21
+ // Authentication
22
+ SNS_LOGIN: "/abc/snsLogin",
23
+ // Legacy - may need to update
24
+ REGISTER_SNS_USER: "/abc/registerSnsUser",
25
+ // Legacy - may need to update
26
+ // Secure channel
27
+ SECURE_CHANNEL_CREATE: "/secure/channel/create",
28
+ // Email OTP
29
+ SEND_OTP: "/member/mail-service/{email}/sendcode",
30
+ // {email} placeholder
31
+ VERIFY_OTP: "/member/mail-service/{email}/verifycode",
32
+ // {email} placeholder
33
+ // Wallet operations (EVM)
34
+ // Based on tg-wallet-frontend reference
35
+ MPC_WALLETS: "/wapi/v2/mpc/wallets",
36
+ // EVM wallet generation/recovery
37
+ MPC_WALLETS_INFO: "/wapi/v2/mpc/wallets/info",
38
+ // Get wallet info
39
+ // Signing operations
40
+ // Based on tg-wallet-frontend reference implementation
41
+ SIGN_HASH: "/wapi/v2/sign/hash",
42
+ // Personal sign with hash (EIP-191)
43
+ SIGN_TYPED: "/wapi/v2/sign/typed-data",
44
+ // Typed data sign (EIP-712)
45
+ SIGN_TRANSACTION: "/wapi/v2/sign",
46
+ // EVM transaction sign (LEGACY, EIP1559, PERSONAL)
47
+ // Transaction operations
48
+ SEND_RAW_TX: "/wapi/v2/transactions/raw-tx/send",
49
+ // Send signed transaction
50
+ TRANSACTION_COUNT: "/wapi/v2/transactions/count",
51
+ // Get transaction count (nonce)
52
+ // Gas estimation and fee data
53
+ GAS_SUGGESTED_FEES: "/wapi/v2/gas/suggestedGasFees",
54
+ // Get suggested gas fees for EIP-1559
55
+ GAS_ESTIMATE_EIP1559: "/wapi/v2/gas/estimate/eip1559",
56
+ // Estimate gas limit for EIP-1559
57
+ // Token info
58
+ WALLET_TOKENS: "/wapi/v2/walletscan/tokens",
59
+ // Token refresh (based on tg-wallet-frontend reference)
60
+ REFRESH_TOKEN: "/abc/abcRefresh",
61
+ // Token refresh endpoint
62
+ // Legacy endpoints (kept for compatibility)
63
+ WALLETS_V3: "/abc/wallets/v3",
64
+ // Solana only
65
+ INFO: "/abc/info"
66
+ };
67
+ var AUTH_PROVIDERS = {
68
+ EMAIL: "email",
69
+ GOOGLE: "google",
70
+ APPLE: "apple",
71
+ TELEGRAM: "telegram",
72
+ TWITTER: "twitter"
73
+ };
74
+ var ABC_AUDIENCE = "https://mw.myabcwallet.com";
75
+ var PIN_CONFIG = {
76
+ MIN_LENGTH: 6,
77
+ MAX_LENGTH: 6,
78
+ MAX_ATTEMPTS: 5,
79
+ LOCKOUT_DURATION: 15 * 60 * 1e3
80
+ // 15 minutes
81
+ };
82
+ var REQUEST_TIMEOUT = 3e4;
83
+ var SOCIAL_BUTTONS = [
84
+ {
85
+ provider: AUTH_PROVIDERS.GOOGLE,
86
+ label: "Google",
87
+ iconName: "google"
88
+ },
89
+ {
90
+ provider: AUTH_PROVIDERS.APPLE,
91
+ label: "Apple",
92
+ iconName: "apple"
93
+ },
94
+ {
95
+ provider: AUTH_PROVIDERS.TELEGRAM,
96
+ label: "Telegram",
97
+ iconName: "telegram"
98
+ },
99
+ {
100
+ provider: AUTH_PROVIDERS.TWITTER,
101
+ label: "X (Twitter)",
102
+ iconName: "twitter"
103
+ }
104
+ ];
105
+ var STORAGE_PREFIX = "talkenkit_abc_";
106
+ var DEFAULT_HEADERS = {
107
+ "Content-Type": "application/x-www-form-urlencoded",
108
+ Accept: "application/json"
109
+ };
110
+
111
+ // src/wallets/walletConnectors/abcWallet/secure.ts
112
+ var EC = elliptic.ec;
113
+ var SecureService = class {
114
+ constructor(baseURL) {
115
+ this.secureChannel = null;
116
+ this.channelExpiry = 0;
117
+ this.baseURL = baseURL;
118
+ }
119
+ async getSecureChannel() {
120
+ if (this.secureChannel && Date.now() < this.channelExpiry) {
121
+ return this.secureChannel;
122
+ }
123
+ const result = {};
124
+ const plain = Array.from(crypto.getRandomValues(new Uint8Array(32))).map((b) => b.toString(16).padStart(2, "0")).join("");
125
+ const ec = new EC("p256");
126
+ const myKey = ec.genKeyPair();
127
+ const pubkey = myKey.getPublic().encode("hex", false);
128
+ const url = `${this.baseURL}${ABC_ENDPOINTS.SECURE_CHANNEL_CREATE}`;
129
+ const bodyString = new URLSearchParams({ pubkey, plain }).toString();
130
+ console.log("[SecureChannel] Creating secure channel:", url);
131
+ const response = await fetch(url, {
132
+ method: "POST",
133
+ headers: {
134
+ "Content-Type": "application/x-www-form-urlencoded"
135
+ },
136
+ body: bodyString
137
+ });
138
+ if (!response.ok) {
139
+ const errorText = await response.text();
140
+ console.error(
141
+ `\u274C Secure channel HTTP error: ${response.status} ${response.statusText}`
142
+ );
143
+ console.error("Response body:", errorText);
144
+ throw new Error(
145
+ `Failed to create secure channel: HTTP ${response.status} - ${errorText}`
146
+ );
147
+ }
148
+ const res = await response.json();
149
+ console.log("[SecureChannel] API Response:", res);
150
+ const resData = res;
151
+ if (resData.channelid && resData.publickey) {
152
+ const serverKey = ec.keyFromPublic(resData.publickey, "hex");
153
+ const sharedSecret = serverKey.getPublic().mul(myKey.getPrivate()).getX();
154
+ const secretKey = sharedSecret.toString(16).padStart(64, "0");
155
+ result.response = resData;
156
+ result.myKey = myKey;
157
+ result.secretKey = secretKey;
158
+ this.secureChannel = result;
159
+ this.channelExpiry = Date.now() + 20 * 60 * 1e3;
160
+ } else if (res.status === "success" && res.result) {
161
+ const result_data = res.result;
162
+ const serverKey = ec.keyFromPublic(result_data.publickey, "hex");
163
+ const sharedSecret = serverKey.getPublic().mul(myKey.getPrivate()).getX();
164
+ const secretKey = sharedSecret.toString(16).padStart(64, "0");
165
+ result.response = result_data;
166
+ result.myKey = myKey;
167
+ result.secretKey = secretKey;
168
+ this.secureChannel = result;
169
+ this.channelExpiry = Date.now() + 20 * 60 * 1e3;
170
+ console.log("\u2705 Secure channel created successfully (wrapped format)");
171
+ } else {
172
+ const errorMsg = res.message || res.detail || "Unknown error";
173
+ console.error("\u274C Failed to create secure channel:", res);
174
+ throw new Error(`Failed to create secure channel: ${errorMsg}`);
175
+ }
176
+ return result;
177
+ }
178
+ async encrypt(plain) {
179
+ const secureChannel = await this.getSecureChannel();
180
+ if (!secureChannel.secretKey || !secureChannel.response) {
181
+ throw new Error("Secure channel not established");
182
+ }
183
+ const secretKey = secureChannel.secretKey;
184
+ const key = secretKey.substring(0, 32);
185
+ const iv = secretKey.substring(32);
186
+ const encrypted = CryptoJS.AES.encrypt(plain, CryptoJS.enc.Hex.parse(key), {
187
+ iv: CryptoJS.enc.Hex.parse(iv),
188
+ padding: CryptoJS.pad.Pkcs7,
189
+ mode: CryptoJS.mode.CBC
190
+ });
191
+ return {
192
+ encryptPlain: encrypted.toString(),
193
+ secureChannel: secureChannel.response.channelid
194
+ };
195
+ }
196
+ async getSecureChannelId() {
197
+ const channel = await this.getSecureChannel();
198
+ if (!channel.response?.channelid) {
199
+ throw new Error("Secure channel not established");
200
+ }
201
+ return channel.response.channelid;
202
+ }
203
+ async getEncryptPlain(plain) {
204
+ const result = await this.encrypt(plain);
205
+ return result.encryptPlain;
206
+ }
207
+ /**
208
+ * Clear cached secure channel (for testing or reset)
209
+ */
210
+ clearCache() {
211
+ this.secureChannel = null;
212
+ this.channelExpiry = 0;
213
+ console.log("\u{1F504} Secure channel cache cleared");
214
+ }
215
+ };
216
+ var secure_default = SecureService;
217
+
218
+ export {
219
+ TOKEN_EXPIRY,
220
+ ABC_ENDPOINTS,
221
+ ABC_AUDIENCE,
222
+ REQUEST_TIMEOUT,
223
+ STORAGE_PREFIX,
224
+ DEFAULT_HEADERS,
225
+ secure_default
226
+ };
package/dist/index.d.ts CHANGED
@@ -52,6 +52,7 @@ export { PinProvider, usePin } from './components/AbcAuth/PinProvider';
52
52
  export { getSecureChannel, encryptPlain, decrypt, getSecureChannelId, clearSecureChannel, } from './utils/secureChannel';
53
53
  export { createLogger, configureLogger, getLoggerConfig, Logger, } from './utils/logger';
54
54
  export { AbcWaasApiClient, createAbcWaasApiClient, AuthApi, WalletApi, TransactionApi, SigningApi, SolanaApi, BaseApiClient, } from './wallets/walletConnectors/abcWallet/api';
55
+ export { AbcSolanaNetwork, AbcBitcoinNetwork, getEvmNetwork, getSolanaNetwork, getBitcoinNetwork, } from './wallets/walletConnectors/abcWallet';
55
56
  export { NETWORK_CONFIGS, NETWORK_BY_PARAM, NetworkType, getNetworkByChainId, getNetworkByParam, chainIdToNetwork, networkToChainId, getExplorerTxUrl, getExplorerAddressUrl, isEvmNetwork, isTestnet, getSupportedChainIds, getSupportedNetworks, } from './config/networks';
56
57
  export type { NetworkConfig } from './config/networks';
57
58
  export { wagmiToAbcWaas, abcWaasToWagmi, } from './utils/abcWaasAdapter';