@talken/talkenkit 2.4.23 → 2.4.24

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 (228) hide show
  1. package/dist/AbcCredentialManager-E723A55X.js +7 -0
  2. package/dist/AbcCredentialManager-GUV5JQ2V.js +7 -0
  3. package/dist/AbcCredentialManager-Z7GDJHYR.js +7 -0
  4. package/dist/abcWallet-3PWHJXWR.js +181 -0
  5. package/dist/abcWallet-3XPV7ATY.js +185 -0
  6. package/dist/abcWallet-3XSSUDLJ.js +155 -0
  7. package/dist/abcWallet-53HAU4MH.js +155 -0
  8. package/dist/abcWallet-5B2YHZGY.js +155 -0
  9. package/dist/abcWallet-664AHBNM.js +183 -0
  10. package/dist/abcWallet-BV7HK3OX.js +181 -0
  11. package/dist/abcWallet-CRKQ3O6J.js +155 -0
  12. package/dist/abcWallet-H4JOSC4N.js +155 -0
  13. package/dist/abcWallet-HM7KZIMP.js +155 -0
  14. package/dist/abcWallet-I5DVALAS.js +155 -0
  15. package/dist/abcWallet-IF3EOKHC.js +183 -0
  16. package/dist/abcWallet-IUG22ZE3.js +155 -0
  17. package/dist/abcWallet-IYC3CKEO.js +155 -0
  18. package/dist/abcWallet-JE6UR4QF.js +181 -0
  19. package/dist/abcWallet-KPKVEGNP.js +185 -0
  20. package/dist/abcWallet-MZAL5NXP.js +181 -0
  21. package/dist/abcWallet-N2UADRNR.js +155 -0
  22. package/dist/abcWallet-OGHORNUW.js +181 -0
  23. package/dist/abcWallet-QSK6VJFU.js +181 -0
  24. package/dist/abcWallet-RKT3W3FX.js +155 -0
  25. package/dist/abcWallet-VHXTAARP.js +155 -0
  26. package/dist/abcWallet-YFYTW2JH.js +155 -0
  27. package/dist/abcWallet-ZPVQY4XE.js +155 -0
  28. package/dist/chunk-3VPMUBCL.js +5196 -0
  29. package/dist/chunk-5SDWPKKX.js +5322 -0
  30. package/dist/chunk-6RBGFYAF.js +5076 -0
  31. package/dist/chunk-7L2ANWBB.js +5139 -0
  32. package/dist/chunk-7VIEAJAM.js +5172 -0
  33. package/dist/chunk-BY6GTSWI.js +5059 -0
  34. package/dist/chunk-DWE3CZEL.js +5171 -0
  35. package/dist/chunk-J6P2IT7Z.js +5465 -0
  36. package/dist/chunk-JIRBQUIB.js +5348 -0
  37. package/dist/chunk-K6CLOFGV.js +5129 -0
  38. package/dist/chunk-KYTIQ23P.js +5390 -0
  39. package/dist/chunk-MARFD3QV.js +5164 -0
  40. package/dist/chunk-MRRWKS2W.js +348 -0
  41. package/dist/chunk-PILL2YTG.js +5075 -0
  42. package/dist/chunk-QW7D53VM.js +5129 -0
  43. package/dist/chunk-RAWLCGOW.js +5058 -0
  44. package/dist/chunk-SHUPSYR2.js +5004 -0
  45. package/dist/chunk-UIGQOSRS.js +5174 -0
  46. package/dist/chunk-UINIIZCG.js +5098 -0
  47. package/dist/chunk-VOQSYTG3.js +5419 -0
  48. package/dist/chunk-VT5Q2XKZ.js +5193 -0
  49. package/dist/chunk-VXQYKPGQ.js +5476 -0
  50. package/dist/chunk-VYLJNEKY.js +5129 -0
  51. package/dist/chunk-X24B5DJR.js +323 -0
  52. package/dist/chunk-X3C73JWU.js +5370 -0
  53. package/dist/chunk-XIDK5P36.js +288 -0
  54. package/dist/chunk-ZHRI7SGC.js +5359 -0
  55. package/dist/components/ConnectOptions/AbcWaasAuth/AbcWaasAuthFlow.d.ts +1 -2
  56. package/dist/components/RainbowKitProvider/InternalPinProvider.d.ts +1 -1
  57. package/dist/contexts/MultiChainContext.d.ts +2 -2
  58. package/dist/hooks/internal/abcEmbeddedWallet.d.ts +26 -0
  59. package/dist/hooks/useSolanaWallet.d.ts +4 -0
  60. package/dist/index.d.ts +1 -1
  61. package/dist/index.js +10379 -10417
  62. package/dist/providers/AbcAuthProvider.d.ts +3 -1
  63. package/dist/utils/encryption.d.ts +0 -4
  64. package/dist/wallets/walletConnectors/abcWallet/AbcCredentialManager.d.ts +49 -0
  65. package/dist/wallets/walletConnectors/abcWallet/AbcCredentialManager.js +8 -0
  66. package/dist/wallets/walletConnectors/abcWallet/AbcEvmAutoConnector.d.ts +4 -0
  67. package/dist/wallets/walletConnectors/abcWallet/AbcEvmAutoConnector.js +12 -15
  68. package/dist/wallets/walletConnectors/abcWallet/abcBitcoinConnector.js +3 -3
  69. package/dist/wallets/walletConnectors/abcWallet/abcBitcoinProvider.d.ts +2 -0
  70. package/dist/wallets/walletConnectors/abcWallet/abcBitcoinProvider.js +3 -1
  71. package/dist/wallets/walletConnectors/abcWallet/abcConnector.js +6 -5
  72. package/dist/wallets/walletConnectors/abcWallet/abcProvider.d.ts +25 -1
  73. package/dist/wallets/walletConnectors/abcWallet/abcProvider.js +4 -3
  74. package/dist/wallets/walletConnectors/abcWallet/abcSolanaProvider.js +3 -1
  75. package/dist/wallets/walletConnectors/abcWallet/abcSolanaWalletAdapter.js +12 -7
  76. package/dist/wallets/walletConnectors/abcWallet/abcTronProvider.d.ts +3 -2
  77. package/dist/wallets/walletConnectors/abcWallet/abcTronProvider.js +3 -1
  78. package/dist/wallets/walletConnectors/abcWallet/abcWallet.js +7 -6
  79. package/dist/wallets/walletConnectors/abcWallet/api/TalkenApiClient.d.ts +1 -0
  80. package/dist/wallets/walletConnectors/abcWallet/api/TalkenApiClient.js +3 -2
  81. package/dist/wallets/walletConnectors/abcWallet/api/index.js +6 -5
  82. package/dist/wallets/walletConnectors/abcWallet/backfillMissingWallets.d.ts +3 -0
  83. package/dist/wallets/walletConnectors/abcWallet/backfillMissingWallets.js +16 -0
  84. package/dist/wallets/walletConnectors/abcWallet/index.d.ts +2 -1
  85. package/dist/wallets/walletConnectors/abcWallet/index.js +22 -48
  86. package/dist/wallets/walletConnectors/abcWallet/sessionUtils.js +2 -1
  87. package/dist/wallets/walletConnectors/abcWallet/types.d.ts +6 -9
  88. package/dist/wallets/walletConnectors/abcWallet/types.js +1 -1
  89. package/dist/wallets/walletConnectors/abcWallet/utils.d.ts +0 -83
  90. package/dist/wallets/walletConnectors/abcWallet/utils.js +2 -40
  91. package/dist/wallets/walletConnectors/abcWallet/walletGeneration.d.ts +9 -3
  92. package/dist/wallets/walletConnectors/abcWallet/walletGeneration.js +5 -2
  93. package/dist/wallets/walletConnectors/berasigWallet/berasigWallet.js +2 -2
  94. package/dist/wallets/walletConnectors/bifrostWallet/bifrostWallet.js +2 -2
  95. package/dist/wallets/walletConnectors/binanceWallet/binanceWallet.js +2 -2
  96. package/dist/wallets/walletConnectors/bitgetWallet/bitgetWallet.js +2 -2
  97. package/dist/wallets/walletConnectors/bybitWallet/bybitWallet.js +2 -2
  98. package/dist/wallets/walletConnectors/chunk-2XX4LJSQ.js +1387 -0
  99. package/dist/wallets/walletConnectors/chunk-3BUGPUMD.js +151 -0
  100. package/dist/wallets/walletConnectors/chunk-3H7YKUJZ.js +1407 -0
  101. package/dist/wallets/walletConnectors/chunk-3OWQ6MEU.js +54 -0
  102. package/dist/wallets/walletConnectors/chunk-3VDYWOS4.js +300 -0
  103. package/dist/wallets/walletConnectors/chunk-3XOXT4AM.js +314 -0
  104. package/dist/wallets/walletConnectors/chunk-42D2UPKR.js +439 -0
  105. package/dist/wallets/walletConnectors/chunk-42MF6LUP.js +563 -0
  106. package/dist/wallets/walletConnectors/chunk-4LIJB776.js +273 -0
  107. package/dist/wallets/walletConnectors/chunk-4P3SPC44.js +51 -0
  108. package/dist/wallets/walletConnectors/chunk-4RZVAQQ4.js +574 -0
  109. package/dist/wallets/walletConnectors/chunk-53UTBIKF.js +209 -0
  110. package/dist/wallets/walletConnectors/chunk-54KVT46V.js +1477 -0
  111. package/dist/wallets/walletConnectors/chunk-5UBUX5BT.js +440 -0
  112. package/dist/wallets/walletConnectors/chunk-5ZBV5WE2.js +94 -0
  113. package/dist/wallets/walletConnectors/chunk-6EUOVOQK.js +151 -0
  114. package/dist/wallets/walletConnectors/chunk-6YUJPIJ5.js +351 -0
  115. package/dist/wallets/walletConnectors/chunk-77YYMCMD.js +273 -0
  116. package/dist/wallets/walletConnectors/chunk-7EQNUYV2.js +482 -0
  117. package/dist/wallets/walletConnectors/chunk-7K77YGQN.js +54 -0
  118. package/dist/wallets/walletConnectors/chunk-7MMVOEZF.js +393 -0
  119. package/dist/wallets/walletConnectors/chunk-7RDMH4SD.js +54 -0
  120. package/dist/wallets/walletConnectors/chunk-7S4N4DRT.js +306 -0
  121. package/dist/wallets/walletConnectors/chunk-7SWRH3EI.js +96 -0
  122. package/dist/wallets/walletConnectors/chunk-A3OJZTDV.js +54 -0
  123. package/dist/wallets/walletConnectors/chunk-AJBRO3VA.js +300 -0
  124. package/dist/wallets/walletConnectors/chunk-BKVGLYLI.js +194 -0
  125. package/dist/wallets/walletConnectors/chunk-C3FPON5L.js +213 -0
  126. package/dist/wallets/walletConnectors/chunk-CBIDNYV4.js +1407 -0
  127. package/dist/wallets/walletConnectors/chunk-DD6KK4BR.js +54 -0
  128. package/dist/wallets/walletConnectors/chunk-DSNVWCPD.js +131 -0
  129. package/dist/wallets/walletConnectors/chunk-DULGAYBU.js +785 -0
  130. package/dist/wallets/walletConnectors/chunk-DZUXOGSA.js +54 -0
  131. package/dist/wallets/walletConnectors/chunk-EVJIFLSY.js +93 -0
  132. package/dist/wallets/walletConnectors/chunk-EVW3ZB3Q.js +386 -0
  133. package/dist/wallets/walletConnectors/chunk-F2UWSAMX.js +54 -0
  134. package/dist/wallets/walletConnectors/chunk-FBVPR472.js +314 -0
  135. package/dist/wallets/walletConnectors/chunk-FKS2YLVW.js +273 -0
  136. package/dist/wallets/walletConnectors/chunk-FOGNJZPY.js +54 -0
  137. package/dist/wallets/walletConnectors/chunk-FSSV6JY3.js +54 -0
  138. package/dist/wallets/walletConnectors/chunk-GFLJ2MAG.js +54 -0
  139. package/dist/wallets/walletConnectors/chunk-GGPJJ6KS.js +1407 -0
  140. package/dist/wallets/walletConnectors/chunk-GMAYKJEI.js +508 -0
  141. package/dist/wallets/walletConnectors/chunk-H3OWNM73.js +300 -0
  142. package/dist/wallets/walletConnectors/chunk-INT6LGH7.js +180 -0
  143. package/dist/wallets/walletConnectors/chunk-ITZ42A33.js +273 -0
  144. package/dist/wallets/walletConnectors/chunk-J4IF6BFF.js +300 -0
  145. package/dist/wallets/walletConnectors/chunk-JAMJLNYQ.js +54 -0
  146. package/dist/wallets/walletConnectors/chunk-JDJUIRGF.js +439 -0
  147. package/dist/wallets/walletConnectors/chunk-JEWCPQJZ.js +300 -0
  148. package/dist/wallets/walletConnectors/chunk-JK7LJ4B6.js +1407 -0
  149. package/dist/wallets/walletConnectors/chunk-JPOSJU2D.js +594 -0
  150. package/dist/wallets/walletConnectors/chunk-JUFEPIO4.js +1479 -0
  151. package/dist/wallets/walletConnectors/chunk-JV4IC5Z7.js +54 -0
  152. package/dist/wallets/walletConnectors/chunk-MP3WVXPS.js +273 -0
  153. package/dist/wallets/walletConnectors/chunk-MTC2HJPF.js +96 -0
  154. package/dist/wallets/walletConnectors/chunk-MTJF3SVB.js +1487 -0
  155. package/dist/wallets/walletConnectors/chunk-NBVPVTJZ.js +192 -0
  156. package/dist/wallets/walletConnectors/chunk-NISMGNEE.js +223 -0
  157. package/dist/wallets/walletConnectors/chunk-NY5O2OBG.js +1477 -0
  158. package/dist/wallets/walletConnectors/chunk-OYF6AQOW.js +194 -0
  159. package/dist/wallets/walletConnectors/chunk-PBOCVGUC.js +782 -0
  160. package/dist/wallets/walletConnectors/chunk-PJSN4YRI.js +1387 -0
  161. package/dist/wallets/walletConnectors/chunk-PVIO7FM7.js +314 -0
  162. package/dist/wallets/walletConnectors/chunk-PWJOXYDF.js +54 -0
  163. package/dist/wallets/walletConnectors/chunk-PYBSONED.js +771 -0
  164. package/dist/wallets/walletConnectors/chunk-PYKECUZ3.js +54 -0
  165. package/dist/wallets/walletConnectors/chunk-Q42NO7WB.js +46 -0
  166. package/dist/wallets/walletConnectors/chunk-Q7XBI5F6.js +300 -0
  167. package/dist/wallets/walletConnectors/chunk-QHUBLT7N.js +156 -0
  168. package/dist/wallets/walletConnectors/chunk-RMV23JXO.js +300 -0
  169. package/dist/wallets/walletConnectors/chunk-S3L2SA4J.js +300 -0
  170. package/dist/wallets/walletConnectors/chunk-S466OQOC.js +393 -0
  171. package/dist/wallets/walletConnectors/chunk-SA7IXAFG.js +54 -0
  172. package/dist/wallets/walletConnectors/chunk-SDB6BBHX.js +585 -0
  173. package/dist/wallets/walletConnectors/chunk-SFGVPX2G.js +351 -0
  174. package/dist/wallets/walletConnectors/chunk-SFQKJ6X6.js +314 -0
  175. package/dist/wallets/walletConnectors/chunk-SKLRJRER.js +1464 -0
  176. package/dist/wallets/walletConnectors/chunk-SQVWIBWR.js +351 -0
  177. package/dist/wallets/walletConnectors/chunk-SSLHXCOX.js +439 -0
  178. package/dist/wallets/walletConnectors/chunk-SU6LV3EO.js +314 -0
  179. package/dist/wallets/walletConnectors/chunk-SU7IEZE2.js +300 -0
  180. package/dist/wallets/walletConnectors/chunk-TMRB5SCL.js +167 -0
  181. package/dist/wallets/walletConnectors/chunk-TMUPUOQR.js +54 -0
  182. package/dist/wallets/walletConnectors/chunk-TNZ7QKXH.js +771 -0
  183. package/dist/wallets/walletConnectors/chunk-TT2NLKIU.js +1465 -0
  184. package/dist/wallets/walletConnectors/chunk-U3WGMWTH.js +585 -0
  185. package/dist/wallets/walletConnectors/chunk-UAV4SI4Y.js +408 -0
  186. package/dist/wallets/walletConnectors/chunk-UAWWPNS7.js +54 -0
  187. package/dist/wallets/walletConnectors/chunk-UXRJASPW.js +785 -0
  188. package/dist/wallets/walletConnectors/chunk-UY5TAYLM.js +54 -0
  189. package/dist/wallets/walletConnectors/chunk-VB5IZDY7.js +300 -0
  190. package/dist/wallets/walletConnectors/chunk-VIKJNKJZ.js +219 -0
  191. package/dist/wallets/walletConnectors/chunk-VVEXF6KG.js +273 -0
  192. package/dist/wallets/walletConnectors/chunk-W2YIRNMB.js +300 -0
  193. package/dist/wallets/walletConnectors/chunk-W7L2SBIG.js +138 -0
  194. package/dist/wallets/walletConnectors/chunk-WS5FG53X.js +54 -0
  195. package/dist/wallets/walletConnectors/chunk-WVRGC2YL.js +300 -0
  196. package/dist/wallets/walletConnectors/chunk-X33WL7R7.js +300 -0
  197. package/dist/wallets/walletConnectors/chunk-XG2R64B7.js +785 -0
  198. package/dist/wallets/walletConnectors/chunk-Y2BWF42Z.js +54 -0
  199. package/dist/wallets/walletConnectors/chunk-Y446VZWI.js +585 -0
  200. package/dist/wallets/walletConnectors/chunk-YROAFC7Z.js +54 -0
  201. package/dist/wallets/walletConnectors/chunk-Z4WVT3G2.js +1416 -0
  202. package/dist/wallets/walletConnectors/chunk-ZK3PZIAH.js +300 -0
  203. package/dist/wallets/walletConnectors/chunk-ZPJLV3E7.js +151 -0
  204. package/dist/wallets/walletConnectors/chunk-ZQ3LCYGH.js +408 -0
  205. package/dist/wallets/walletConnectors/chunk-ZX6HMX7N.js +1468 -0
  206. package/dist/wallets/walletConnectors/chunk-ZXN465CA.js +209 -0
  207. package/dist/wallets/walletConnectors/clvWallet/clvWallet.js +2 -2
  208. package/dist/wallets/walletConnectors/coin98Wallet/coin98Wallet.js +2 -2
  209. package/dist/wallets/walletConnectors/coreWallet/coreWallet.js +2 -2
  210. package/dist/wallets/walletConnectors/foxWallet/foxWallet.js +2 -2
  211. package/dist/wallets/walletConnectors/frontierWallet/frontierWallet.js +2 -2
  212. package/dist/wallets/walletConnectors/gateWallet/gateWallet.js +2 -2
  213. package/dist/wallets/walletConnectors/index.js +89 -88
  214. package/dist/wallets/walletConnectors/iopayWallet/iopayWallet.js +2 -2
  215. package/dist/wallets/walletConnectors/kaiaWallet/kaiaWallet.js +2 -2
  216. package/dist/wallets/walletConnectors/kaikasWallet/kaikasWallet.js +2 -2
  217. package/dist/wallets/walletConnectors/metaMaskWallet/metaMaskWallet.js +2 -2
  218. package/dist/wallets/walletConnectors/okxWallet/okxWallet.js +2 -2
  219. package/dist/wallets/walletConnectors/rainbowWallet/rainbowWallet.js +2 -2
  220. package/dist/wallets/walletConnectors/roninWallet/roninWallet.js +2 -2
  221. package/dist/wallets/walletConnectors/safepalWallet/safepalWallet.js +2 -2
  222. package/dist/wallets/walletConnectors/subWallet/subWallet.js +2 -2
  223. package/dist/wallets/walletConnectors/tokenPocketWallet/tokenPocketWallet.js +2 -2
  224. package/dist/wallets/walletConnectors/trustWallet/trustWallet.js +2 -2
  225. package/dist/wallets/walletConnectors/zealWallet/zealWallet.js +2 -2
  226. package/dist/wallets/walletConnectors/zerionWallet/zerionWallet.js +2 -2
  227. package/package.json +12 -11
  228. package/LICENSE +0 -9
@@ -0,0 +1,351 @@
1
+ "use client";
2
+ import {
3
+ getCredentialManager
4
+ } from "./chunk-MTC2HJPF.js";
5
+
6
+ // src/wallets/walletConnectors/abcWallet/abcTronProvider.ts
7
+ import { getTalkenApiClient } from "@talken/talkenkit";
8
+ function isTalkenApiClient(client) {
9
+ return typeof client?.tron?.transferTrx === "function";
10
+ }
11
+ var TronErrorCode = {
12
+ USER_REJECTED: 4001,
13
+ UNAUTHORIZED: 4100,
14
+ UNSUPPORTED_METHOD: 4200,
15
+ DISCONNECTED: 4900,
16
+ INVALID_PARAMS: -32602,
17
+ INTERNAL_ERROR: -32603,
18
+ INSUFFICIENT_FUNDS: 5001
19
+ };
20
+ var TronProviderError = class extends Error {
21
+ constructor(code, message, data) {
22
+ super(message);
23
+ this.code = code;
24
+ this.data = data;
25
+ this.name = "TronProviderError";
26
+ }
27
+ };
28
+ var TRON_NETWORKS = {
29
+ mainnet: {
30
+ name: "TRON Mainnet",
31
+ type: "tron",
32
+ explorer: "https://tronscan.org"
33
+ },
34
+ nile: {
35
+ name: "TRON Nile Testnet",
36
+ type: "tron_nile",
37
+ explorer: "https://nile.tronscan.org"
38
+ }
39
+ };
40
+ var EventEmitter = class {
41
+ constructor() {
42
+ this.events = /* @__PURE__ */ new Map();
43
+ }
44
+ on(event, listener) {
45
+ if (!this.events.has(event)) {
46
+ this.events.set(event, []);
47
+ }
48
+ this.events.get(event).push(listener);
49
+ return this;
50
+ }
51
+ off(event, listener) {
52
+ const listeners = this.events.get(event);
53
+ if (listeners) {
54
+ const index = listeners.indexOf(listener);
55
+ if (index !== -1) {
56
+ listeners.splice(index, 1);
57
+ }
58
+ }
59
+ return this;
60
+ }
61
+ emit(event, ...args) {
62
+ const listeners = this.events.get(event);
63
+ if (listeners) {
64
+ for (const listener of listeners) {
65
+ listener(...args);
66
+ }
67
+ return true;
68
+ }
69
+ return false;
70
+ }
71
+ removeAllListeners(event) {
72
+ if (event) {
73
+ this.events.delete(event);
74
+ } else {
75
+ this.events.clear();
76
+ }
77
+ return this;
78
+ }
79
+ };
80
+ var AbcTronProvider = class extends EventEmitter {
81
+ constructor(client) {
82
+ super();
83
+ this.wallet = null;
84
+ this.network = TRON_NETWORKS.mainnet;
85
+ this.connected = false;
86
+ this.tokenMetadataCache = /* @__PURE__ */ new Map();
87
+ if (isTalkenApiClient(client)) {
88
+ this.talkenApi = client;
89
+ }
90
+ }
91
+ /**
92
+ * Set request interceptor for transfer confirmation modals
93
+ */
94
+ setRequestInterceptor(interceptor) {
95
+ this.requestInterceptor = interceptor;
96
+ }
97
+ /**
98
+ * Call request interceptor if set (throws on user cancel)
99
+ */
100
+ async callInterceptor(request) {
101
+ if (this.requestInterceptor) {
102
+ await this.requestInterceptor(request);
103
+ }
104
+ }
105
+ /**
106
+ * Set wallet information
107
+ */
108
+ setWallet(wallet) {
109
+ const previousAddress = this.wallet?.address;
110
+ this.wallet = wallet;
111
+ this.connected = true;
112
+ if (wallet.network === "tron") {
113
+ this.network = TRON_NETWORKS.mainnet;
114
+ } else {
115
+ this.network = TRON_NETWORKS.nile;
116
+ }
117
+ if (previousAddress !== wallet.address) {
118
+ this.emit("accountsChanged", [wallet.address]);
119
+ }
120
+ this.emit("connect", {
121
+ address: wallet.address,
122
+ network: this.network.type
123
+ });
124
+ console.log(
125
+ "[TronProvider] \u2705 Wallet connected:",
126
+ `${wallet.address.substring(0, 6)}...${wallet.address.substring(wallet.address.length - 6)}`
127
+ );
128
+ }
129
+ /**
130
+ * Clear wallet (disconnect)
131
+ */
132
+ clearWallet() {
133
+ this.wallet = null;
134
+ this.connected = false;
135
+ this.emit("disconnect");
136
+ this.emit("accountsChanged", []);
137
+ console.log("[TronProvider] \u{1F50C} Wallet disconnected");
138
+ }
139
+ /**
140
+ * Set TalkenApiClient for backend-proxied transaction flow
141
+ * When set, sendTransaction will use a single API call instead of multi-step WaaS
142
+ */
143
+ setTalkenApi(talkenApi) {
144
+ this.talkenApi = talkenApi;
145
+ }
146
+ /**
147
+ * Fetch token metadata (symbol, logo) from walletscan API with caching.
148
+ * Falls back to 'TRX'/'TRC20' on failure.
149
+ */
150
+ async fetchTokenMetadata(contractAddress) {
151
+ const cacheKey = contractAddress || "__native__";
152
+ const cached = this.tokenMetadataCache.get(cacheKey);
153
+ if (cached)
154
+ return cached;
155
+ try {
156
+ const api = this.talkenApi || getTalkenApiClient();
157
+ const chainKeys = this.network.type === "tron_nile" ? "tronNile" : "tron";
158
+ let tokens;
159
+ if (contractAddress) {
160
+ tokens = await api.walletscan.getToken({ chainKeys, contractAddress });
161
+ } else {
162
+ tokens = await api.walletscan.getNativeTokens({
163
+ chainKeys,
164
+ walletAddress: this.wallet.address
165
+ });
166
+ }
167
+ if (tokens.length > 0) {
168
+ const info = { symbol: tokens[0].symbol, logo: tokens[0].logo };
169
+ this.tokenMetadataCache.set(cacheKey, info);
170
+ return info;
171
+ }
172
+ } catch {
173
+ }
174
+ return { symbol: contractAddress ? "TRC20" : "TRX" };
175
+ }
176
+ /**
177
+ * Check if connected
178
+ */
179
+ isConnected() {
180
+ return this.connected && this.wallet !== null;
181
+ }
182
+ /**
183
+ * Get TRON address
184
+ */
185
+ async getAddress() {
186
+ if (!this.wallet) {
187
+ throw new TronProviderError(
188
+ TronErrorCode.DISCONNECTED,
189
+ "Wallet not connected"
190
+ );
191
+ }
192
+ return this.wallet.address;
193
+ }
194
+ /**
195
+ * Get public key
196
+ */
197
+ async getPublicKey() {
198
+ if (!this.wallet) {
199
+ throw new TronProviderError(
200
+ TronErrorCode.DISCONNECTED,
201
+ "Wallet not connected"
202
+ );
203
+ }
204
+ return this.wallet.publicKey;
205
+ }
206
+ /**
207
+ * Get current network
208
+ */
209
+ getNetwork() {
210
+ return this.network;
211
+ }
212
+ /**
213
+ * Sign TRON message (not supported)
214
+ */
215
+ async signMessage(_message) {
216
+ throw new TronProviderError(
217
+ TronErrorCode.UNSUPPORTED_METHOD,
218
+ "TRON message signing is not supported. Use sendTransaction() instead."
219
+ );
220
+ }
221
+ /**
222
+ * Send TRON transaction (TRX native or TRC20)
223
+ * Complete flow: create unsigned tx -> request PIN -> sign -> broadcast
224
+ *
225
+ * @param params - Transaction parameters
226
+ * @returns Transaction hash
227
+ */
228
+ async sendTransaction(params) {
229
+ if (!this.wallet) {
230
+ throw new TronProviderError(
231
+ TronErrorCode.DISCONNECTED,
232
+ "Wallet not connected"
233
+ );
234
+ }
235
+ try {
236
+ const tokenMetadata = await this.fetchTokenMetadata(
237
+ params.contractAddress
238
+ );
239
+ await this.callInterceptor({
240
+ chain: "tron",
241
+ method: "sendTransaction",
242
+ fromAddress: this.wallet.address,
243
+ toAddress: params.toAddress,
244
+ amount: params.amount,
245
+ symbol: tokenMetadata.symbol,
246
+ network: this.network.type,
247
+ tokenAddress: params.contractAddress,
248
+ isNativeToken: !params.contractAddress,
249
+ feeSymbol: "TRX",
250
+ tokenLogo: tokenMetadata.logo
251
+ });
252
+ console.log("[TronProvider] \u{1F4B8} Starting TRON transaction...");
253
+ const pinHash = getCredentialManager().getPinHash();
254
+ if (!pinHash) {
255
+ throw new TronProviderError(
256
+ TronErrorCode.INTERNAL_ERROR,
257
+ "PIN hash not found. Please login again."
258
+ );
259
+ }
260
+ const txType = params.contractAddress ? "TRC20" : "NATIVE";
261
+ let amountRaw;
262
+ if (txType === "NATIVE") {
263
+ amountRaw = Math.floor(
264
+ Number.parseFloat(params.amount) * 1e6
265
+ ).toString();
266
+ console.log(
267
+ `[TronProvider] Converting ${params.amount} TRX -> ${amountRaw} SUN`
268
+ );
269
+ } else {
270
+ const decimals = params.decimals ?? 6;
271
+ amountRaw = Math.floor(
272
+ Number.parseFloat(params.amount) * 10 ** decimals
273
+ ).toString();
274
+ console.log(
275
+ `[TronProvider] Converting ${params.amount} -> ${amountRaw} (decimals: ${decimals})`
276
+ );
277
+ }
278
+ const email = getCredentialManager().getEmail() || void 0;
279
+ const api = this.talkenApi || getTalkenApiClient();
280
+ const request = txType === "NATIVE" ? {
281
+ kind: "native",
282
+ network: this.network.type,
283
+ toAddress: params.toAddress,
284
+ amountSun: amountRaw,
285
+ pin: pinHash,
286
+ ...email && { email }
287
+ } : {
288
+ kind: "trc20",
289
+ network: this.network.type,
290
+ toAddress: params.toAddress,
291
+ contractAddress: params.contractAddress,
292
+ amount: amountRaw,
293
+ feeLimit: params.feeLimit,
294
+ pin: pinHash,
295
+ ...email && { email }
296
+ };
297
+ const result = await api.tron.transferTrx(request);
298
+ const txHash = result.txHash;
299
+ console.log(
300
+ `[TronProvider] \u2705 ${txType === "NATIVE" ? "TRX" : "TRC-20"} transaction complete via TalkenApiClient:`,
301
+ txHash
302
+ );
303
+ this.emit("transactionBroadcasted", {
304
+ txHash,
305
+ explorerUrl: `${this.network.explorer}/#/transaction/${txHash}`
306
+ });
307
+ return txHash;
308
+ } catch (error) {
309
+ if (error.message?.includes("cancelled") || error.message?.includes("rejected")) {
310
+ console.log("[TronProvider] \u2139\uFE0F User cancelled transaction");
311
+ throw new TronProviderError(
312
+ TronErrorCode.USER_REJECTED,
313
+ "User rejected transaction",
314
+ error
315
+ );
316
+ }
317
+ console.error("[TronProvider] \u274C Transaction failed:", error.message);
318
+ if (error.message?.includes("insufficient")) {
319
+ throw new TronProviderError(
320
+ TronErrorCode.INSUFFICIENT_FUNDS,
321
+ "Insufficient TRX balance",
322
+ error
323
+ );
324
+ }
325
+ this.emit("error", error);
326
+ throw new TronProviderError(
327
+ TronErrorCode.INTERNAL_ERROR,
328
+ error.message || "Failed to send TRON transaction",
329
+ error
330
+ );
331
+ }
332
+ }
333
+ /**
334
+ * Get wallet info
335
+ */
336
+ getWalletInfo() {
337
+ if (!this.wallet)
338
+ return null;
339
+ return {
340
+ address: this.wallet.address,
341
+ publicKey: this.wallet.publicKey,
342
+ network: this.network.type
343
+ };
344
+ }
345
+ };
346
+
347
+ export {
348
+ TronProviderError,
349
+ TRON_NETWORKS,
350
+ AbcTronProvider
351
+ };