@talken/talkenkit 2.4.22 → 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 (392) hide show
  1. package/README.md +159 -325
  2. package/dist/AbcCredentialManager-E723A55X.js +7 -0
  3. package/dist/AbcCredentialManager-GUV5JQ2V.js +7 -0
  4. package/dist/AbcCredentialManager-Z7GDJHYR.js +7 -0
  5. package/dist/Arc-R3PUWRPJ.js +7 -0
  6. package/dist/Brave-24BM36UM.js +7 -0
  7. package/dist/Browser-4R4QKTV2.js +7 -0
  8. package/dist/Chrome-TLI42HDP.js +7 -0
  9. package/dist/Edge-AZ34LAFM.js +7 -0
  10. package/dist/Firefox-ZDK7RHKK.js +7 -0
  11. package/dist/Linux-VYP66PDO.js +7 -0
  12. package/dist/Macos-5QL4JBJE.js +7 -0
  13. package/dist/Opera-BKMCKUXC.js +7 -0
  14. package/dist/Safari-PXQIVS6N.js +7 -0
  15. package/dist/Windows-GTAT3OTE.js +7 -0
  16. package/dist/abcWallet-3PWHJXWR.js +181 -0
  17. package/dist/abcWallet-3XPV7ATY.js +185 -0
  18. package/dist/abcWallet-3XSSUDLJ.js +155 -0
  19. package/dist/abcWallet-53HAU4MH.js +155 -0
  20. package/dist/abcWallet-5B2YHZGY.js +155 -0
  21. package/dist/abcWallet-664AHBNM.js +183 -0
  22. package/dist/abcWallet-AYWSIGAG.js +7 -0
  23. package/dist/abcWallet-BV7HK3OX.js +181 -0
  24. package/dist/abcWallet-CRKQ3O6J.js +155 -0
  25. package/dist/abcWallet-H4JOSC4N.js +155 -0
  26. package/dist/abcWallet-HM7KZIMP.js +155 -0
  27. package/dist/abcWallet-I5DVALAS.js +155 -0
  28. package/dist/abcWallet-IF3EOKHC.js +183 -0
  29. package/dist/abcWallet-IUG22ZE3.js +155 -0
  30. package/dist/abcWallet-IYC3CKEO.js +155 -0
  31. package/dist/abcWallet-JE6UR4QF.js +181 -0
  32. package/dist/abcWallet-KPKVEGNP.js +185 -0
  33. package/dist/abcWallet-MZAL5NXP.js +181 -0
  34. package/dist/abcWallet-N2UADRNR.js +155 -0
  35. package/dist/abcWallet-O4GH6RHS.js +181 -0
  36. package/dist/abcWallet-OGHORNUW.js +181 -0
  37. package/dist/abcWallet-QSK6VJFU.js +181 -0
  38. package/dist/abcWallet-RKT3W3FX.js +155 -0
  39. package/dist/abcWallet-VHXTAARP.js +155 -0
  40. package/dist/abcWallet-YFYTW2JH.js +155 -0
  41. package/dist/abcWallet-ZPVQY4XE.js +155 -0
  42. package/dist/ar_AR-ZRPPM56D.js +7 -0
  43. package/dist/arbitrum-IA4OWRTN.js +7 -0
  44. package/dist/argentWallet-M6SBG4CU.js +7 -0
  45. package/dist/assets-NU2OP443.js +7 -0
  46. package/dist/avalanche-MXEFEDSW.js +7 -0
  47. package/dist/base-Z4LFBE5D.js +7 -0
  48. package/dist/berasigWallet-NNBFDHFK.js +7 -0
  49. package/dist/bestWallet-XRIABRUE.js +7 -0
  50. package/dist/bifrostWallet-ORF3DABG.js +7 -0
  51. package/dist/binanceWallet-BCWLBY3Q.js +7 -0
  52. package/dist/bitgetWallet-CLYTW54T.js +7 -0
  53. package/dist/bitskiWallet-X5NWL5CE.js +7 -0
  54. package/dist/bitverseWallet-6SGDFATJ.js +7 -0
  55. package/dist/blast-TN2WIMWF.js +7 -0
  56. package/dist/bloomWallet-MXLAOWS6.js +7 -0
  57. package/dist/braveWallet-6QAF4GDN.js +7 -0
  58. package/dist/bsc-RVE67I5L.js +7 -0
  59. package/dist/bybitWallet-GR4PFINZ.js +7 -0
  60. package/dist/celo-E6XU57FO.js +7 -0
  61. package/dist/chunk-3VPMUBCL.js +5196 -0
  62. package/dist/chunk-5SDWPKKX.js +5322 -0
  63. package/dist/chunk-6RBGFYAF.js +5076 -0
  64. package/dist/chunk-7L2ANWBB.js +5139 -0
  65. package/dist/chunk-7VIEAJAM.js +5172 -0
  66. package/dist/chunk-BY6GTSWI.js +5059 -0
  67. package/dist/chunk-DWE3CZEL.js +5171 -0
  68. package/dist/chunk-J6P2IT7Z.js +5465 -0
  69. package/dist/chunk-JIRBQUIB.js +5348 -0
  70. package/dist/chunk-K6CLOFGV.js +5129 -0
  71. package/dist/chunk-KYTIQ23P.js +5390 -0
  72. package/dist/chunk-MARFD3QV.js +5164 -0
  73. package/dist/chunk-MRRWKS2W.js +348 -0
  74. package/dist/chunk-N7AWNQBH.js +5319 -0
  75. package/dist/chunk-PILL2YTG.js +5075 -0
  76. package/dist/chunk-QW7D53VM.js +5129 -0
  77. package/dist/chunk-RAWLCGOW.js +5058 -0
  78. package/dist/chunk-SHUPSYR2.js +5004 -0
  79. package/dist/chunk-UIGQOSRS.js +5174 -0
  80. package/dist/chunk-UINIIZCG.js +5098 -0
  81. package/dist/chunk-VOQSYTG3.js +5419 -0
  82. package/dist/chunk-VT5Q2XKZ.js +5193 -0
  83. package/dist/chunk-VXQYKPGQ.js +5476 -0
  84. package/dist/chunk-VYLJNEKY.js +5129 -0
  85. package/dist/chunk-X24B5DJR.js +323 -0
  86. package/dist/chunk-X3C73JWU.js +5370 -0
  87. package/dist/chunk-XIDK5P36.js +288 -0
  88. package/dist/chunk-ZHRI7SGC.js +5359 -0
  89. package/dist/clvWallet-ZIMSRU5J.js +7 -0
  90. package/dist/coin98Wallet-RFXRNVWP.js +7 -0
  91. package/dist/coinbaseWallet-WWX6LF36.js +7 -0
  92. package/dist/compassWallet-3LBTWCKI.js +7 -0
  93. package/dist/components/ConnectOptions/AbcWaasAuth/AbcWaasAuthFlow.d.ts +1 -2
  94. package/dist/components/RainbowKitProvider/InternalPinProvider.d.ts +1 -1
  95. package/dist/connect-MR6XDLIE.js +7 -0
  96. package/dist/contexts/MultiChainContext.d.ts +2 -2
  97. package/dist/coreWallet-52SXITOT.js +7 -0
  98. package/dist/create-X4WFHLCW.js +7 -0
  99. package/dist/cronos-ROYR77VZ.js +7 -0
  100. package/dist/dawnWallet-ONVAA3S4.js +7 -0
  101. package/dist/de_DE-GYZFZXWH.js +7 -0
  102. package/dist/desigWallet-WJMSF3PS.js +7 -0
  103. package/dist/en_US-AV7YDYDW.js +7 -0
  104. package/dist/enkryptWallet-FR4QCDFK.js +7 -0
  105. package/dist/es_419-OGVOQEFZ.js +7 -0
  106. package/dist/ethereum-RFBAMUVK.js +7 -0
  107. package/dist/flow-NBCRNYVF.js +7 -0
  108. package/dist/foxWallet-5ESSNXJV.js +7 -0
  109. package/dist/fr_FR-Q5QBQBX2.js +1355 -0
  110. package/dist/frameWallet-FDBUY4AA.js +7 -0
  111. package/dist/frontierWallet-HNIG7QYQ.js +7 -0
  112. package/dist/gateWallet-ZVEZILRP.js +7 -0
  113. package/dist/gnosis-T7U5EW2Q.js +7 -0
  114. package/dist/hardhat-NEEC6JX7.js +7 -0
  115. package/dist/hi_IN-7I7LRHGW.js +7 -0
  116. package/dist/hooks/internal/abcEmbeddedWallet.d.ts +26 -0
  117. package/dist/hooks/useSolanaWallet.d.ts +4 -0
  118. package/dist/id_ID-ZMGZ2JFV.js +7 -0
  119. package/dist/imTokenWallet-N2MYFADO.js +7 -0
  120. package/dist/index.d.ts +4 -4
  121. package/dist/index.js +4613 -4726
  122. package/dist/injectedWallet-H7LYKTQS.js +7 -0
  123. package/dist/iopayWallet-IJHJ7NYT.js +7 -0
  124. package/dist/ja_JP-NYBCHQTZ.js +7 -0
  125. package/dist/kaia-A33DVQBT.js +7 -0
  126. package/dist/kaiaWallet-5K6WZ3AH.js +7 -0
  127. package/dist/kaikasWallet-F6Z6IPWN.js +7 -0
  128. package/dist/ko_KR-67WE736M.js +7 -0
  129. package/dist/krakenWallet-DAOXUKWO.js +7 -0
  130. package/dist/kresusWallet-AUJWLAOF.js +7 -0
  131. package/dist/ledgerWallet-KZKJ5Q2S.js +7 -0
  132. package/dist/login-CWDTIDNK.js +7 -0
  133. package/dist/magicEden-PKT2ZXEQ.js +7 -0
  134. package/dist/manta-5V6W5D7G.js +7 -0
  135. package/dist/mantle-KBL3OIYT.js +7 -0
  136. package/dist/metaMaskWallet-YFHEHW7V.js +7 -0
  137. package/dist/mewWallet-6V4UZOQC.js +7 -0
  138. package/dist/ms_MY-65AJIBUS.js +7 -0
  139. package/dist/nestWallet-BFZZZYLV.js +7 -0
  140. package/dist/oktoWallet-GJFOPPEA.js +7 -0
  141. package/dist/okxWallet-GJMKZIND.js +7 -0
  142. package/dist/omniWallet-DEYUMT4A.js +7 -0
  143. package/dist/oneInchWallet-D7BQOLOO.js +7 -0
  144. package/dist/oneKeyWallet-4MM7G2SZ.js +7 -0
  145. package/dist/optimism-YWJ3IQHA.js +7 -0
  146. package/dist/paraSwapWallet-TMV5MUEF.js +7 -0
  147. package/dist/phantomWallet-IPGVKCAB.js +7 -0
  148. package/dist/polygon-WWEUOMKW.js +7 -0
  149. package/dist/providers/AbcAuthProvider.d.ts +3 -1
  150. package/dist/pt_BR-DMJANC65.js +7 -0
  151. package/dist/rabbyWallet-FLVUU35F.js +7 -0
  152. package/dist/rainbowWallet-2SR6TVBF.js +7 -0
  153. package/dist/ramperWallet-AF5AKK2S.js +7 -0
  154. package/dist/refresh-HJGJRASX.js +7 -0
  155. package/dist/ronin-PNHX5V6H.js +7 -0
  156. package/dist/roninWallet-SAB5ESVK.js +7 -0
  157. package/dist/ru_RU-WER7RQ6A.js +1355 -0
  158. package/dist/safeWallet-VUYZPLY4.js +7 -0
  159. package/dist/safeheronWallet-6JG77AKC.js +7 -0
  160. package/dist/safepalWallet-KQJ4OCNH.js +7 -0
  161. package/dist/scan-DEOT2M37.js +7 -0
  162. package/dist/scroll-NMZWDUQH.js +7 -0
  163. package/dist/seifWallet-QATOS33A.js +7 -0
  164. package/dist/services/AbcAuthService.d.ts +11 -12
  165. package/dist/sign-A7IJEUT5.js +7 -0
  166. package/dist/subWallet-LOZELSAO.js +7 -0
  167. package/dist/tahoWallet-L6KHUNKD.js +7 -0
  168. package/dist/talismanWallet-BLXUHONV.js +7 -0
  169. package/dist/th_TH-JOSHEZ6D.js +1355 -0
  170. package/dist/themes/baseTheme.js +0 -1
  171. package/dist/themes/darkTheme.js +0 -1
  172. package/dist/themes/lightTheme.js +0 -1
  173. package/dist/themes/midnightTheme.js +0 -1
  174. package/dist/tokenPocketWallet-BVMBOYTC.js +7 -0
  175. package/dist/tokenaryWallet-Z2IGVXSA.js +7 -0
  176. package/dist/tr_TR-EAMG2YPO.js +1355 -0
  177. package/dist/trustWallet-E2GVGE4U.js +7 -0
  178. package/dist/uk_UA-GO2TRVWA.js +1355 -0
  179. package/dist/uniswapWallet-T26M44R7.js +7 -0
  180. package/dist/utils/apiClientFactory.d.ts +1 -6
  181. package/dist/utils/embeddedTxAdapter.d.ts +54 -0
  182. package/dist/utils/encryption.d.ts +0 -4
  183. package/dist/valoraWallet-RX3ONO47.js +7 -0
  184. package/dist/vi_VN-5HLLSOJA.js +7 -0
  185. package/dist/walletConnectWallet-FNSU4KNU.js +7 -0
  186. package/dist/wallets/walletConnectors/abcWallet/AbcCredentialManager.d.ts +49 -0
  187. package/dist/wallets/walletConnectors/abcWallet/AbcCredentialManager.js +8 -0
  188. package/dist/wallets/walletConnectors/abcWallet/AbcEvmAutoConnector.d.ts +4 -0
  189. package/dist/wallets/walletConnectors/abcWallet/AbcEvmAutoConnector.js +12 -15
  190. package/dist/wallets/walletConnectors/abcWallet/abcBitcoinConnector.d.ts +0 -3
  191. package/dist/wallets/walletConnectors/abcWallet/abcBitcoinConnector.js +4 -4
  192. package/dist/wallets/walletConnectors/abcWallet/abcBitcoinProvider.d.ts +3 -3
  193. package/dist/wallets/walletConnectors/abcWallet/abcBitcoinProvider.js +3 -1
  194. package/dist/wallets/walletConnectors/abcWallet/abcConnector.js +9 -7
  195. package/dist/wallets/walletConnectors/abcWallet/abcProvider.d.ts +28 -5
  196. package/dist/wallets/walletConnectors/abcWallet/abcProvider.js +5 -5
  197. package/dist/wallets/walletConnectors/abcWallet/abcSolanaProvider.d.ts +3 -3
  198. package/dist/wallets/walletConnectors/abcWallet/abcSolanaProvider.js +3 -1
  199. package/dist/wallets/walletConnectors/abcWallet/abcSolanaWalletAdapter.d.ts +4 -6
  200. package/dist/wallets/walletConnectors/abcWallet/abcSolanaWalletAdapter.js +47 -49
  201. package/dist/wallets/walletConnectors/abcWallet/abcTronProvider.d.ts +4 -4
  202. package/dist/wallets/walletConnectors/abcWallet/abcTronProvider.js +3 -1
  203. package/dist/wallets/walletConnectors/abcWallet/abcWallet.d.ts +1 -3
  204. package/dist/wallets/walletConnectors/abcWallet/abcWallet.js +10 -9
  205. package/dist/wallets/walletConnectors/abcWallet/api/GasApi.d.ts +1 -2
  206. package/dist/wallets/walletConnectors/abcWallet/api/GasApi.js +1 -5
  207. package/dist/wallets/walletConnectors/abcWallet/api/TalkenApiClient.d.ts +1 -0
  208. package/dist/wallets/walletConnectors/abcWallet/api/TalkenApiClient.js +4 -3
  209. package/dist/wallets/walletConnectors/abcWallet/api/TalkenApiSingleton.js +4 -9
  210. package/dist/wallets/walletConnectors/abcWallet/api/WalletscanApi.d.ts +2 -4
  211. package/dist/wallets/walletConnectors/abcWallet/api/WalletscanApi.js +1 -5
  212. package/dist/wallets/walletConnectors/abcWallet/api/index.d.ts +3 -68
  213. package/dist/wallets/walletConnectors/abcWallet/api/index.js +7 -41
  214. package/dist/wallets/walletConnectors/abcWallet/backfillMissingWallets.d.ts +3 -0
  215. package/dist/wallets/walletConnectors/abcWallet/backfillMissingWallets.js +16 -0
  216. package/dist/wallets/walletConnectors/abcWallet/constants.d.ts +1 -38
  217. package/dist/wallets/walletConnectors/abcWallet/constants.js +1 -7
  218. package/dist/wallets/walletConnectors/abcWallet/index.d.ts +5 -4
  219. package/dist/wallets/walletConnectors/abcWallet/index.js +36 -74
  220. package/dist/wallets/walletConnectors/abcWallet/resolveTalkenApiUrl.d.ts +1 -0
  221. package/dist/wallets/walletConnectors/abcWallet/resolveTalkenApiUrl.js +7 -0
  222. package/dist/wallets/walletConnectors/abcWallet/sessionUtils.js +2 -1
  223. package/dist/wallets/walletConnectors/abcWallet/types.d.ts +10 -13
  224. package/dist/wallets/walletConnectors/abcWallet/types.js +1 -1
  225. package/dist/wallets/walletConnectors/abcWallet/utils.d.ts +0 -83
  226. package/dist/wallets/walletConnectors/abcWallet/utils.js +3 -41
  227. package/dist/wallets/walletConnectors/abcWallet/walletGeneration.d.ts +9 -3
  228. package/dist/wallets/walletConnectors/abcWallet/walletGeneration.js +5 -2
  229. package/dist/wallets/walletConnectors/berasigWallet/berasigWallet.js +2 -2
  230. package/dist/wallets/walletConnectors/bifrostWallet/bifrostWallet.js +2 -2
  231. package/dist/wallets/walletConnectors/binanceWallet/binanceWallet.js +2 -2
  232. package/dist/wallets/walletConnectors/bitgetWallet/bitgetWallet.js +2 -2
  233. package/dist/wallets/walletConnectors/bybitWallet/bybitWallet.js +2 -2
  234. package/dist/wallets/walletConnectors/chunk-2XX4LJSQ.js +1387 -0
  235. package/dist/wallets/walletConnectors/chunk-35RTM3PL.js +1 -0
  236. package/dist/wallets/walletConnectors/chunk-3BUGPUMD.js +151 -0
  237. package/dist/wallets/walletConnectors/chunk-3H7YKUJZ.js +1407 -0
  238. package/dist/wallets/walletConnectors/chunk-3OWQ6MEU.js +54 -0
  239. package/dist/wallets/walletConnectors/chunk-3VDYWOS4.js +300 -0
  240. package/dist/wallets/walletConnectors/chunk-3XOXT4AM.js +314 -0
  241. package/dist/wallets/walletConnectors/chunk-42D2UPKR.js +439 -0
  242. package/dist/wallets/walletConnectors/chunk-42MF6LUP.js +563 -0
  243. package/dist/wallets/walletConnectors/chunk-4LIJB776.js +273 -0
  244. package/dist/wallets/walletConnectors/chunk-4P3SPC44.js +51 -0
  245. package/dist/wallets/walletConnectors/chunk-4RZVAQQ4.js +574 -0
  246. package/dist/wallets/walletConnectors/chunk-53UTBIKF.js +209 -0
  247. package/dist/wallets/walletConnectors/chunk-54KVT46V.js +1477 -0
  248. package/dist/wallets/walletConnectors/chunk-5UBUX5BT.js +440 -0
  249. package/dist/wallets/walletConnectors/chunk-5ZBV5WE2.js +94 -0
  250. package/dist/wallets/walletConnectors/chunk-6EUOVOQK.js +151 -0
  251. package/dist/wallets/walletConnectors/chunk-6YUJPIJ5.js +351 -0
  252. package/dist/wallets/walletConnectors/chunk-77YYMCMD.js +273 -0
  253. package/dist/wallets/walletConnectors/chunk-7EQNUYV2.js +482 -0
  254. package/dist/wallets/walletConnectors/chunk-7K77YGQN.js +54 -0
  255. package/dist/wallets/walletConnectors/chunk-7MMVOEZF.js +393 -0
  256. package/dist/wallets/walletConnectors/chunk-7RDMH4SD.js +54 -0
  257. package/dist/wallets/walletConnectors/chunk-7S4N4DRT.js +306 -0
  258. package/dist/wallets/walletConnectors/chunk-7SWRH3EI.js +96 -0
  259. package/dist/wallets/walletConnectors/chunk-A3OJZTDV.js +54 -0
  260. package/dist/wallets/walletConnectors/chunk-AFM6KHDP.js +314 -0
  261. package/dist/wallets/walletConnectors/chunk-AJBRO3VA.js +300 -0
  262. package/dist/wallets/walletConnectors/chunk-AXMN57KP.js +1387 -0
  263. package/dist/wallets/walletConnectors/chunk-BKVGLYLI.js +194 -0
  264. package/dist/wallets/walletConnectors/chunk-BYZ5QLMX.js +436 -0
  265. package/dist/wallets/walletConnectors/chunk-C3FPON5L.js +213 -0
  266. package/dist/wallets/walletConnectors/chunk-CBIDNYV4.js +1407 -0
  267. package/dist/wallets/walletConnectors/chunk-CC6GTQBN.js +148 -0
  268. package/dist/wallets/walletConnectors/chunk-DD6KK4BR.js +54 -0
  269. package/dist/wallets/walletConnectors/chunk-DSNVWCPD.js +131 -0
  270. package/dist/wallets/walletConnectors/chunk-DULGAYBU.js +785 -0
  271. package/dist/wallets/walletConnectors/chunk-DZUXOGSA.js +54 -0
  272. package/dist/wallets/walletConnectors/chunk-EVJIFLSY.js +93 -0
  273. package/dist/wallets/walletConnectors/chunk-EVW3ZB3Q.js +386 -0
  274. package/dist/wallets/walletConnectors/chunk-F2UWSAMX.js +54 -0
  275. package/dist/wallets/walletConnectors/chunk-FAVNVTIA.js +479 -0
  276. package/dist/wallets/walletConnectors/chunk-FBVPR472.js +314 -0
  277. package/dist/wallets/walletConnectors/chunk-FKS2YLVW.js +273 -0
  278. package/dist/wallets/walletConnectors/chunk-FOGNJZPY.js +54 -0
  279. package/dist/wallets/walletConnectors/chunk-FSSV6JY3.js +54 -0
  280. package/dist/wallets/walletConnectors/chunk-GFLJ2MAG.js +54 -0
  281. package/dist/wallets/walletConnectors/chunk-GFWUFYT2.js +16 -0
  282. package/dist/wallets/walletConnectors/chunk-GGPJJ6KS.js +1407 -0
  283. package/dist/wallets/walletConnectors/chunk-GMAYKJEI.js +508 -0
  284. package/dist/wallets/walletConnectors/chunk-H3OWNM73.js +300 -0
  285. package/dist/wallets/walletConnectors/chunk-INT6LGH7.js +180 -0
  286. package/dist/wallets/walletConnectors/chunk-ITZ42A33.js +273 -0
  287. package/dist/wallets/walletConnectors/chunk-J4IF6BFF.js +300 -0
  288. package/dist/wallets/walletConnectors/chunk-JAMJLNYQ.js +54 -0
  289. package/dist/wallets/walletConnectors/chunk-JDJUIRGF.js +439 -0
  290. package/dist/wallets/walletConnectors/chunk-JEWCPQJZ.js +300 -0
  291. package/dist/wallets/walletConnectors/chunk-JK7LJ4B6.js +1407 -0
  292. package/dist/wallets/walletConnectors/chunk-JPOSJU2D.js +594 -0
  293. package/dist/wallets/walletConnectors/chunk-JUFEPIO4.js +1479 -0
  294. package/dist/wallets/walletConnectors/chunk-JV4IC5Z7.js +54 -0
  295. package/dist/wallets/walletConnectors/chunk-MP3WVXPS.js +273 -0
  296. package/dist/wallets/walletConnectors/chunk-MTC2HJPF.js +96 -0
  297. package/dist/wallets/walletConnectors/chunk-MTJF3SVB.js +1487 -0
  298. package/dist/wallets/walletConnectors/chunk-NBVPVTJZ.js +192 -0
  299. package/dist/wallets/walletConnectors/chunk-NISMGNEE.js +223 -0
  300. package/dist/wallets/walletConnectors/chunk-NY5O2OBG.js +1477 -0
  301. package/dist/wallets/walletConnectors/chunk-OYF6AQOW.js +194 -0
  302. package/dist/wallets/walletConnectors/chunk-PBOCVGUC.js +782 -0
  303. package/dist/wallets/walletConnectors/chunk-PJSN4YRI.js +1387 -0
  304. package/dist/wallets/walletConnectors/chunk-PVIO7FM7.js +314 -0
  305. package/dist/wallets/walletConnectors/chunk-PWJOXYDF.js +54 -0
  306. package/dist/wallets/walletConnectors/chunk-PYBSONED.js +771 -0
  307. package/dist/wallets/walletConnectors/chunk-PYKECUZ3.js +54 -0
  308. package/dist/wallets/walletConnectors/chunk-Q42NO7WB.js +46 -0
  309. package/dist/wallets/walletConnectors/chunk-Q7XBI5F6.js +300 -0
  310. package/dist/wallets/walletConnectors/chunk-QHUBLT7N.js +156 -0
  311. package/dist/wallets/walletConnectors/chunk-QP36UXD5.js +54 -0
  312. package/dist/wallets/walletConnectors/chunk-R6ZE7JAZ.js +15 -0
  313. package/dist/wallets/walletConnectors/chunk-RIJTOH57.js +771 -0
  314. package/dist/wallets/walletConnectors/chunk-RMV23JXO.js +300 -0
  315. package/dist/wallets/walletConnectors/chunk-RY43MKRA.js +552 -0
  316. package/dist/wallets/walletConnectors/chunk-S3L2SA4J.js +300 -0
  317. package/dist/wallets/walletConnectors/chunk-S466OQOC.js +393 -0
  318. package/dist/wallets/walletConnectors/chunk-SA7IXAFG.js +54 -0
  319. package/dist/wallets/walletConnectors/chunk-SDB6BBHX.js +585 -0
  320. package/dist/wallets/walletConnectors/chunk-SFGVPX2G.js +351 -0
  321. package/dist/wallets/walletConnectors/chunk-SFQKJ6X6.js +314 -0
  322. package/dist/wallets/walletConnectors/chunk-SKLRJRER.js +1464 -0
  323. package/dist/wallets/walletConnectors/chunk-SQVWIBWR.js +351 -0
  324. package/dist/wallets/walletConnectors/chunk-SSLHXCOX.js +439 -0
  325. package/dist/wallets/walletConnectors/chunk-SU6LV3EO.js +314 -0
  326. package/dist/wallets/walletConnectors/chunk-SU7IEZE2.js +300 -0
  327. package/dist/wallets/walletConnectors/chunk-TMRB5SCL.js +167 -0
  328. package/dist/wallets/walletConnectors/chunk-TMUPUOQR.js +54 -0
  329. package/dist/wallets/walletConnectors/chunk-TNZ7QKXH.js +771 -0
  330. package/dist/wallets/walletConnectors/chunk-TQXCRSMS.js +199 -0
  331. package/dist/wallets/walletConnectors/chunk-TT2NLKIU.js +1465 -0
  332. package/dist/wallets/walletConnectors/chunk-U3WGMWTH.js +585 -0
  333. package/dist/wallets/walletConnectors/chunk-UAV4SI4Y.js +408 -0
  334. package/dist/wallets/walletConnectors/chunk-UAWWPNS7.js +54 -0
  335. package/dist/wallets/walletConnectors/chunk-URFU24K7.js +273 -0
  336. package/dist/wallets/walletConnectors/chunk-USS5CPXQ.js +54 -0
  337. package/dist/wallets/walletConnectors/chunk-UXRJASPW.js +785 -0
  338. package/dist/wallets/walletConnectors/chunk-UY5TAYLM.js +54 -0
  339. package/dist/wallets/walletConnectors/chunk-VB5IZDY7.js +300 -0
  340. package/dist/wallets/walletConnectors/chunk-VIKJNKJZ.js +219 -0
  341. package/dist/wallets/walletConnectors/chunk-VQYS4NXP.js +314 -0
  342. package/dist/wallets/walletConnectors/chunk-VVEXF6KG.js +273 -0
  343. package/dist/wallets/walletConnectors/chunk-W2YIRNMB.js +300 -0
  344. package/dist/wallets/walletConnectors/chunk-W7L2SBIG.js +138 -0
  345. package/dist/wallets/walletConnectors/chunk-WS5FG53X.js +54 -0
  346. package/dist/wallets/walletConnectors/chunk-WVRGC2YL.js +300 -0
  347. package/dist/wallets/walletConnectors/chunk-X33WL7R7.js +300 -0
  348. package/dist/wallets/walletConnectors/chunk-XG2R64B7.js +785 -0
  349. package/dist/wallets/walletConnectors/chunk-Y2BWF42Z.js +54 -0
  350. package/dist/wallets/walletConnectors/chunk-Y446VZWI.js +585 -0
  351. package/dist/wallets/walletConnectors/chunk-YPM7FC4M.js +104 -0
  352. package/dist/wallets/walletConnectors/chunk-YROAFC7Z.js +54 -0
  353. package/dist/wallets/walletConnectors/chunk-Z3L3JJNU.js +356 -0
  354. package/dist/wallets/walletConnectors/chunk-Z4WVT3G2.js +1416 -0
  355. package/dist/wallets/walletConnectors/chunk-ZK3PZIAH.js +300 -0
  356. package/dist/wallets/walletConnectors/chunk-ZPJLV3E7.js +151 -0
  357. package/dist/wallets/walletConnectors/chunk-ZQ3LCYGH.js +408 -0
  358. package/dist/wallets/walletConnectors/chunk-ZX6HMX7N.js +1468 -0
  359. package/dist/wallets/walletConnectors/chunk-ZXN465CA.js +209 -0
  360. package/dist/wallets/walletConnectors/clvWallet/clvWallet.js +2 -2
  361. package/dist/wallets/walletConnectors/coin98Wallet/coin98Wallet.js +2 -2
  362. package/dist/wallets/walletConnectors/coreWallet/coreWallet.js +2 -2
  363. package/dist/wallets/walletConnectors/foxWallet/foxWallet.js +2 -2
  364. package/dist/wallets/walletConnectors/frontierWallet/frontierWallet.js +2 -2
  365. package/dist/wallets/walletConnectors/gateWallet/gateWallet.js +2 -2
  366. package/dist/wallets/walletConnectors/index.js +101 -100
  367. package/dist/wallets/walletConnectors/iopayWallet/iopayWallet.js +2 -2
  368. package/dist/wallets/walletConnectors/kaiaWallet/kaiaWallet.js +2 -2
  369. package/dist/wallets/walletConnectors/kaikasWallet/kaikasWallet.js +2 -2
  370. package/dist/wallets/walletConnectors/metaMaskWallet/metaMaskWallet.js +2 -2
  371. package/dist/wallets/walletConnectors/okxWallet/okxWallet.js +2 -2
  372. package/dist/wallets/walletConnectors/rainbowWallet/rainbowWallet.js +2 -2
  373. package/dist/wallets/walletConnectors/roninWallet/roninWallet.js +2 -2
  374. package/dist/wallets/walletConnectors/safepalWallet/safepalWallet.js +2 -2
  375. package/dist/wallets/walletConnectors/subWallet/subWallet.js +2 -2
  376. package/dist/wallets/walletConnectors/tokenPocketWallet/tokenPocketWallet.js +2 -2
  377. package/dist/wallets/walletConnectors/trustWallet/trustWallet.js +2 -2
  378. package/dist/wallets/walletConnectors/zealWallet/zealWallet.js +2 -2
  379. package/dist/wallets/walletConnectors/zerionWallet/zerionWallet.js +2 -2
  380. package/dist/wigwamWallet-5GKUN7ZJ.js +7 -0
  381. package/dist/xdc-X7V4QFNF.js +7 -0
  382. package/dist/xdefiWallet-ZA65GDWS.js +7 -0
  383. package/dist/zealWallet-URNQ2AWF.js +7 -0
  384. package/dist/zerionWallet-CYFHB5PA.js +7 -0
  385. package/dist/zetachain-BMJKVYBN.js +7 -0
  386. package/dist/zh_CN-THPIFVWJ.js +7 -0
  387. package/dist/zh_HK-R7XP4TGF.js +7 -0
  388. package/dist/zh_TW-F5LD752V.js +7 -0
  389. package/dist/zkSync-JL26RB7U.js +7 -0
  390. package/dist/zora-YZH32HP3.js +7 -0
  391. package/package.json +12 -11
  392. package/LICENSE +0 -9
@@ -0,0 +1,552 @@
1
+ "use client";
2
+
3
+ // src/wallets/walletConnectors/abcWallet/abcBitcoinProvider.ts
4
+ import { getTalkenApiClient } from "@talken/talkenkit";
5
+ function isTalkenApiClient(client) {
6
+ return typeof client?.bitcoin?.getUtxos === "function";
7
+ }
8
+ var EventEmitter = class {
9
+ constructor() {
10
+ this.events = /* @__PURE__ */ new Map();
11
+ }
12
+ on(event, listener) {
13
+ if (!this.events.has(event)) {
14
+ this.events.set(event, []);
15
+ }
16
+ this.events.get(event).push(listener);
17
+ return this;
18
+ }
19
+ off(event, listener) {
20
+ const listeners = this.events.get(event);
21
+ if (listeners) {
22
+ const index = listeners.indexOf(listener);
23
+ if (index !== -1) {
24
+ listeners.splice(index, 1);
25
+ }
26
+ }
27
+ return this;
28
+ }
29
+ removeListener(event, listener) {
30
+ return this.off(event, listener);
31
+ }
32
+ emit(event, ...args) {
33
+ const listeners = this.events.get(event);
34
+ if (listeners) {
35
+ for (const listener of listeners) {
36
+ listener(...args);
37
+ }
38
+ return true;
39
+ }
40
+ return false;
41
+ }
42
+ removeAllListeners(event) {
43
+ if (event) {
44
+ this.events.delete(event);
45
+ } else {
46
+ this.events.clear();
47
+ }
48
+ return this;
49
+ }
50
+ };
51
+ var BitcoinErrorCode = {
52
+ USER_REJECTED: 4001,
53
+ UNAUTHORIZED: 4100,
54
+ UNSUPPORTED_METHOD: 4200,
55
+ DISCONNECTED: 4900,
56
+ INVALID_PARAMS: -32602,
57
+ INTERNAL_ERROR: -32603,
58
+ INSUFFICIENT_FUNDS: 5001,
59
+ UTXO_NOT_FOUND: 5002
60
+ };
61
+ var BitcoinProviderError = class extends Error {
62
+ constructor(code, message, data) {
63
+ super(message);
64
+ this.code = code;
65
+ this.data = data;
66
+ this.name = "BitcoinProviderError";
67
+ }
68
+ };
69
+ var BITCOIN_NETWORKS = {
70
+ mainnet: {
71
+ name: "Bitcoin Mainnet",
72
+ type: "bitcoin",
73
+ explorer: "https://blockstream.info"
74
+ },
75
+ testnet: {
76
+ name: "Bitcoin Testnet",
77
+ type: "bitcoin_testnet",
78
+ explorer: "https://blockstream.info/testnet"
79
+ }
80
+ };
81
+ var AbcBitcoinProvider = class extends EventEmitter {
82
+ constructor(client) {
83
+ super();
84
+ this.wallet = null;
85
+ this.network = BITCOIN_NETWORKS.testnet;
86
+ this.connected = false;
87
+ this.utxoCache = /* @__PURE__ */ new Map();
88
+ this.cacheExpiry = /* @__PURE__ */ new Map();
89
+ this.CACHE_TTL = 6e4;
90
+ if (isTalkenApiClient(client)) {
91
+ this.talkenApi = client;
92
+ }
93
+ }
94
+ /**
95
+ * Set request interceptor for sign/transfer confirmation modals
96
+ */
97
+ setRequestInterceptor(interceptor) {
98
+ this.requestInterceptor = interceptor;
99
+ }
100
+ /**
101
+ * Call request interceptor if set (throws on user cancel)
102
+ */
103
+ async callInterceptor(request) {
104
+ if (this.requestInterceptor) {
105
+ await this.requestInterceptor(request);
106
+ }
107
+ }
108
+ /**
109
+ * Set wallet information
110
+ */
111
+ setWallet(wallet) {
112
+ const previousAddress = this.wallet?.address;
113
+ this.wallet = wallet;
114
+ this.connected = true;
115
+ if (wallet.network === "bitcoin") {
116
+ this.network = BITCOIN_NETWORKS.mainnet;
117
+ } else {
118
+ this.network = BITCOIN_NETWORKS.testnet;
119
+ }
120
+ if (previousAddress !== wallet.address) {
121
+ this.emit("accountsChanged", [wallet.address]);
122
+ this.clearUtxoCache();
123
+ }
124
+ this.emit("connect", {
125
+ address: wallet.address,
126
+ network: this.network.type
127
+ });
128
+ console.log(
129
+ "[BitcoinProvider] \u2705 Wallet connected:",
130
+ `${wallet.address.substring(0, 6)}...${wallet.address.substring(wallet.address.length - 6)}`
131
+ );
132
+ }
133
+ /**
134
+ * Clear wallet (disconnect)
135
+ */
136
+ clearWallet() {
137
+ this.wallet = null;
138
+ this.connected = false;
139
+ this.clearUtxoCache();
140
+ this.emit("disconnect");
141
+ this.emit("accountsChanged", []);
142
+ console.log("[BitcoinProvider] \u{1F50C} Wallet disconnected");
143
+ }
144
+ /**
145
+ * Set TalkenApiClient for backend-proxied transaction flow
146
+ * When set, sendTransaction will use a single API call instead of multi-step WaaS
147
+ */
148
+ setTalkenApi(talkenApi) {
149
+ this.talkenApi = talkenApi;
150
+ }
151
+ /**
152
+ * Set network
153
+ */
154
+ setNetwork(networkKey) {
155
+ const newNetwork = BITCOIN_NETWORKS[networkKey];
156
+ if (!newNetwork) {
157
+ throw new BitcoinProviderError(
158
+ BitcoinErrorCode.INVALID_PARAMS,
159
+ `Unknown network: ${networkKey}`
160
+ );
161
+ }
162
+ const previousType = this.network.type;
163
+ this.network = newNetwork;
164
+ if (previousType !== newNetwork.type) {
165
+ this.emit("networkChanged", newNetwork.type);
166
+ this.clearUtxoCache();
167
+ }
168
+ }
169
+ /**
170
+ * Get current network
171
+ */
172
+ getNetwork() {
173
+ return this.network;
174
+ }
175
+ /**
176
+ * Check if connected
177
+ */
178
+ isConnected() {
179
+ return this.connected && this.wallet !== null;
180
+ }
181
+ /**
182
+ * Get Bitcoin address
183
+ */
184
+ async getAddress() {
185
+ if (!this.wallet) {
186
+ throw new BitcoinProviderError(
187
+ BitcoinErrorCode.DISCONNECTED,
188
+ "Wallet not connected"
189
+ );
190
+ }
191
+ return this.wallet.address;
192
+ }
193
+ /**
194
+ * Get compressed public key (33 bytes)
195
+ */
196
+ async getPublicKey() {
197
+ if (!this.wallet) {
198
+ throw new BitcoinProviderError(
199
+ BitcoinErrorCode.DISCONNECTED,
200
+ "Wallet not connected"
201
+ );
202
+ }
203
+ return this.wallet.publicKey;
204
+ }
205
+ /**
206
+ * Get address type (bech32, p2pkh, etc.)
207
+ */
208
+ getAddressType() {
209
+ if (!this.wallet) {
210
+ throw new BitcoinProviderError(
211
+ BitcoinErrorCode.DISCONNECTED,
212
+ "Wallet not connected"
213
+ );
214
+ }
215
+ return this.wallet.addressType;
216
+ }
217
+ /**
218
+ * Clear UTXO cache
219
+ */
220
+ clearUtxoCache() {
221
+ this.utxoCache.clear();
222
+ this.cacheExpiry.clear();
223
+ }
224
+ /**
225
+ * Check if cache is valid
226
+ */
227
+ isCacheValid(address) {
228
+ const expiry = this.cacheExpiry.get(address);
229
+ if (!expiry)
230
+ return false;
231
+ return Date.now() < expiry;
232
+ }
233
+ normalizeUtxos(rawUtxos) {
234
+ return rawUtxos.map((u) => ({
235
+ txid: String(u?.txid ?? u?.tx_hash ?? ""),
236
+ vout: Number(u?.vout ?? u?.output_index ?? 0),
237
+ value: Number(u?.value ?? u?.satoshis ?? 0),
238
+ scriptPubKey: String(
239
+ u?.scriptPubKey ?? u?.script_pub_key ?? u?.script ?? ""
240
+ ),
241
+ confirmations: Number(u?.confirmations ?? 0)
242
+ })).filter(
243
+ (u) => Boolean(u.txid) && Number.isFinite(u.vout) && Number.isFinite(u.value) && Number.isFinite(u.confirmations)
244
+ );
245
+ }
246
+ /**
247
+ * Get UTXOs for address (with caching)
248
+ */
249
+ async getUtxos(forceRefresh = false) {
250
+ if (!this.wallet) {
251
+ throw new BitcoinProviderError(
252
+ BitcoinErrorCode.DISCONNECTED,
253
+ "Wallet not connected"
254
+ );
255
+ }
256
+ const address = this.wallet.address;
257
+ if (!forceRefresh && this.isCacheValid(address)) {
258
+ const cached = this.utxoCache.get(address);
259
+ if (cached) {
260
+ console.log(
261
+ `[BitcoinProvider] \u{1F4E6} Using cached UTXOs (${cached.length} items)`
262
+ );
263
+ return cached;
264
+ }
265
+ }
266
+ try {
267
+ console.log("[BitcoinProvider] \u{1F50D} Fetching UTXOs from network...");
268
+ const api = this.talkenApi || getTalkenApiClient();
269
+ const result = await api.bitcoin.getUtxos(this.network.type, address);
270
+ const utxos = this.normalizeUtxos(result.utxos || []);
271
+ this.utxoCache.set(address, utxos);
272
+ this.cacheExpiry.set(address, Date.now() + this.CACHE_TTL);
273
+ console.log(`[BitcoinProvider] \u2705 Fetched ${utxos.length} UTXOs`);
274
+ return utxos;
275
+ } catch (error) {
276
+ console.error(
277
+ "[BitcoinProvider] \u274C Failed to fetch UTXOs:",
278
+ error.message
279
+ );
280
+ throw new BitcoinProviderError(
281
+ BitcoinErrorCode.INTERNAL_ERROR,
282
+ "Failed to fetch UTXOs",
283
+ error
284
+ );
285
+ }
286
+ }
287
+ /**
288
+ * Get total balance (sum of all UTXOs)
289
+ * Returns balance in satoshis
290
+ */
291
+ async getBalance(forceRefresh = false) {
292
+ const utxos = await this.getUtxos(forceRefresh);
293
+ const balance = utxos.reduce((sum, utxo) => sum + utxo.value, 0);
294
+ console.log(
295
+ `[BitcoinProvider] \u{1F4B0} Balance: ${balance} satoshis (${balance / 1e8} BTC)`
296
+ );
297
+ return balance;
298
+ }
299
+ /**
300
+ * Estimate transaction fee
301
+ * Returns fee rate in satoshis per byte
302
+ */
303
+ async estimateFee(targetBlocks = 6) {
304
+ try {
305
+ const api = this.talkenApi || getTalkenApiClient();
306
+ const result = await api.bitcoin.getFeeRate(
307
+ this.network.type,
308
+ targetBlocks
309
+ );
310
+ const feeRate = Number(result.feeRate);
311
+ if (!Number.isFinite(feeRate) || feeRate <= 0) {
312
+ throw new Error("Invalid fee rate");
313
+ }
314
+ console.log(`[BitcoinProvider] \u26FD Fee rate: ${feeRate} sat/byte`);
315
+ return feeRate;
316
+ } catch (_error) {
317
+ console.error("[BitcoinProvider] \u26A0\uFE0F Fee estimation failed, using default");
318
+ return 1;
319
+ }
320
+ }
321
+ /**
322
+ * Sign Bitcoin message (Bitcoin Signed Message format)
323
+ * Uses secp256k1 sign/hash endpoint with double-SHA256 of prefixed message.
324
+ *
325
+ * Format: SHA256(SHA256("\x18Bitcoin Signed Message:\n" + varint(len) + message))
326
+ *
327
+ * @param message - Message to sign (string)
328
+ * @returns Signature in hex format (compact: r + s + v)
329
+ */
330
+ async signMessage(message) {
331
+ if (!this.wallet) {
332
+ throw new BitcoinProviderError(
333
+ BitcoinErrorCode.DISCONNECTED,
334
+ "Wallet not connected"
335
+ );
336
+ }
337
+ await this.callInterceptor({
338
+ chain: "bitcoin",
339
+ method: "signMessage",
340
+ address: this.wallet.address,
341
+ network: this.network.type,
342
+ message
343
+ });
344
+ console.log("[BitcoinProvider] \u{1F4DD} Signing Bitcoin message...");
345
+ const prefix = "Bitcoin Signed Message:\n";
346
+ const msgBytes = new TextEncoder().encode(message);
347
+ const varint = this.encodeVarint(msgBytes.length);
348
+ const prefixBytes = new TextEncoder().encode(prefix);
349
+ const preimage = new Uint8Array(
350
+ prefixBytes.length + varint.length + msgBytes.length
351
+ );
352
+ preimage.set(prefixBytes, 0);
353
+ preimage.set(varint, prefixBytes.length);
354
+ preimage.set(msgBytes, prefixBytes.length + varint.length);
355
+ const hash1 = await crypto.subtle.digest("SHA-256", preimage);
356
+ const hash2 = await crypto.subtle.digest("SHA-256", hash1);
357
+ const hashHex = Array.from(new Uint8Array(hash2)).map((b) => b.toString(16).padStart(2, "0")).join("");
358
+ const api = getTalkenApiClient();
359
+ if (!api) {
360
+ throw new BitcoinProviderError(
361
+ BitcoinErrorCode.INTERNAL_ERROR,
362
+ "TalkenApiClient not initialized"
363
+ );
364
+ }
365
+ const pinHash = localStorage.getItem("talkenkit_abc_pin_hash") || "";
366
+ const result = await api.bitcoin.signHash({
367
+ hash: hashHex,
368
+ pin: pinHash,
369
+ network: this.network.type
370
+ });
371
+ const signstr = result?.signstr || result?.data?.signstr || "";
372
+ if (!signstr) {
373
+ throw new BitcoinProviderError(
374
+ BitcoinErrorCode.INTERNAL_ERROR,
375
+ "Empty signature from sign/hash"
376
+ );
377
+ }
378
+ console.log("[BitcoinProvider] \u2705 Message signed successfully");
379
+ return signstr;
380
+ }
381
+ /** Encode integer as Bitcoin varint */
382
+ encodeVarint(n) {
383
+ if (n < 253)
384
+ return new Uint8Array([n]);
385
+ if (n <= 65535) {
386
+ const buf2 = new Uint8Array(3);
387
+ buf2[0] = 253;
388
+ buf2[1] = n & 255;
389
+ buf2[2] = n >> 8 & 255;
390
+ return buf2;
391
+ }
392
+ const buf = new Uint8Array(5);
393
+ buf[0] = 254;
394
+ buf[1] = n & 255;
395
+ buf[2] = n >> 8 & 255;
396
+ buf[3] = n >> 16 & 255;
397
+ buf[4] = n >> 24 & 255;
398
+ return buf;
399
+ }
400
+ /**
401
+ * High-level transaction sending (like Solana pattern)
402
+ * Creates, signs, and broadcasts transaction
403
+ *
404
+ * @param params - Transaction parameters
405
+ * @param params.toAddress - Recipient Bitcoin address
406
+ * @param params.amount - Amount in BTC (will be converted to satoshis)
407
+ * @returns Transaction hash
408
+ */
409
+ async sendTransaction(params) {
410
+ if (!this.wallet) {
411
+ throw new BitcoinProviderError(
412
+ BitcoinErrorCode.DISCONNECTED,
413
+ "Wallet not connected"
414
+ );
415
+ }
416
+ try {
417
+ await this.callInterceptor({
418
+ chain: "bitcoin",
419
+ method: "sendTransaction",
420
+ fromAddress: this.wallet.address,
421
+ toAddress: params.toAddress,
422
+ amount: String(params.amount),
423
+ symbol: "BTC",
424
+ network: this.network.type,
425
+ isNativeToken: true,
426
+ feeSymbol: "BTC"
427
+ });
428
+ console.log("[BitcoinProvider] \u{1F4B8} Starting high-level transaction...");
429
+ const pinHash = localStorage.getItem("talkenkit_abc_pin_hash");
430
+ if (!pinHash) {
431
+ throw new BitcoinProviderError(
432
+ BitcoinErrorCode.INTERNAL_ERROR,
433
+ "PIN hash not found. Please login again."
434
+ );
435
+ }
436
+ const satoshis = Math.floor(params.amount * 1e8);
437
+ const api = this.talkenApi || getTalkenApiClient();
438
+ const result = await api.bitcoin.sendTransaction({
439
+ toAddress: params.toAddress,
440
+ amountSats: satoshis.toString(),
441
+ pin: pinHash
442
+ });
443
+ console.log(
444
+ "[BitcoinProvider] \u2705 BTC transaction complete via TalkenApiClient:",
445
+ result.txHash
446
+ );
447
+ this.emit("transactionBroadcasted", {
448
+ txHash: result.txHash,
449
+ explorerUrl: `${this.network.explorer}/tx/${result.txHash}`
450
+ });
451
+ this.clearUtxoCache();
452
+ return result.txHash;
453
+ } catch (error) {
454
+ if (error.message?.includes("cancelled") || error.message?.includes("rejected")) {
455
+ console.log("[BitcoinProvider] \u2139\uFE0F User cancelled transaction");
456
+ throw new BitcoinProviderError(
457
+ BitcoinErrorCode.USER_REJECTED,
458
+ "User rejected transaction",
459
+ error
460
+ );
461
+ }
462
+ console.error("[BitcoinProvider] \u274C Transaction failed:", error.message);
463
+ if (error.message?.includes("insufficient")) {
464
+ throw new BitcoinProviderError(
465
+ BitcoinErrorCode.INSUFFICIENT_FUNDS,
466
+ "Insufficient BTC balance",
467
+ error
468
+ );
469
+ }
470
+ this.emit("error", error);
471
+ throw new BitcoinProviderError(
472
+ BitcoinErrorCode.INTERNAL_ERROR,
473
+ "Failed to send transaction",
474
+ error
475
+ );
476
+ }
477
+ }
478
+ /**
479
+ * Broadcast signed transaction to network
480
+ *
481
+ * @param rawTransaction - Raw transaction in hex format
482
+ * @param psbt - Optional finalized PSBT
483
+ * @returns Transaction hash
484
+ */
485
+ async broadcastTransaction(rawTransaction, psbt) {
486
+ if (!this.wallet) {
487
+ throw new BitcoinProviderError(
488
+ BitcoinErrorCode.DISCONNECTED,
489
+ "Wallet not connected"
490
+ );
491
+ }
492
+ try {
493
+ console.log("[BitcoinProvider] \u{1F4E1} Broadcasting transaction...");
494
+ if (psbt) {
495
+ console.log(
496
+ "[BitcoinProvider] \u2139\uFE0F PSBT argument provided; raw tx broadcast uses rawTransaction only via talken-api"
497
+ );
498
+ }
499
+ const api = this.talkenApi || getTalkenApiClient();
500
+ const result = await api.bitcoin.broadcastRawTransaction({
501
+ network: this.network.type,
502
+ rawTransaction
503
+ });
504
+ console.log(
505
+ "[BitcoinProvider] \u2705 Transaction broadcasted:",
506
+ result.txHash
507
+ );
508
+ this.emit("transactionBroadcasted", {
509
+ txHash: result.txHash,
510
+ explorerUrl: `${this.network.explorer}/tx/${result.txHash}`
511
+ });
512
+ this.clearUtxoCache();
513
+ return result.txHash;
514
+ } catch (error) {
515
+ console.error(
516
+ "[BitcoinProvider] \u274C Transaction broadcast failed:",
517
+ error.message
518
+ );
519
+ this.emit("error", error);
520
+ throw new BitcoinProviderError(
521
+ BitcoinErrorCode.INTERNAL_ERROR,
522
+ "Failed to broadcast transaction",
523
+ error
524
+ );
525
+ }
526
+ }
527
+ /**
528
+ * Get wallet info
529
+ */
530
+ getWalletInfo() {
531
+ if (!this.wallet)
532
+ return null;
533
+ return {
534
+ address: this.wallet.address,
535
+ publicKey: this.wallet.publicKey,
536
+ addressType: this.wallet.addressType,
537
+ network: this.network.type
538
+ };
539
+ }
540
+ /**
541
+ * Refresh UTXO cache
542
+ */
543
+ async refreshUtxos() {
544
+ return this.getUtxos(true);
545
+ }
546
+ };
547
+
548
+ export {
549
+ BitcoinProviderError,
550
+ BITCOIN_NETWORKS,
551
+ AbcBitcoinProvider
552
+ };