@talken/talkenkit 2.4.16 → 2.4.17

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 (233) hide show
  1. package/dist/abcWallet-54KUGWUZ.js +192 -0
  2. package/dist/abcWallet-KZHOADBJ.js +192 -0
  3. package/dist/abcWallet-NZAVB4PI.js +190 -0
  4. package/dist/chunk-5X3ROW3U.js +8777 -0
  5. package/dist/chunk-DKA3NVFM.js +8497 -0
  6. package/dist/chunk-QNZ5HSPM.js +8339 -0
  7. package/dist/chunk-VE53ZNZV.js +331 -0
  8. package/dist/components/ConfirmationModal/ApproveSection.css.d.ts +16 -0
  9. package/dist/components/ConfirmationModal/ApproveSection.d.ts +8 -0
  10. package/dist/components/ConfirmationModal/NFTPlaceholder.css.d.ts +7 -0
  11. package/dist/components/ConfirmationModal/NFTPlaceholder.d.ts +8 -0
  12. package/dist/components/ConfirmationModal/NftApprovalSection.css.d.ts +10 -0
  13. package/dist/components/ConfirmationModal/NftApprovalSection.d.ts +7 -0
  14. package/dist/components/ConfirmationModal/SignConfirmationModal.css.d.ts +35 -0
  15. package/dist/components/ConfirmationModal/SignConfirmationModal.d.ts +17 -0
  16. package/dist/components/ConfirmationModal/SwapSection.css.d.ts +17 -0
  17. package/dist/components/ConfirmationModal/SwapSection.d.ts +7 -0
  18. package/dist/components/ConfirmationModal/TransactionConfirmationModal.css.d.ts +49 -0
  19. package/dist/components/ConfirmationModal/TransactionConfirmationModal.d.ts +12 -0
  20. package/dist/components/ConfirmationModal/TransferSection.css.d.ts +17 -0
  21. package/dist/components/ConfirmationModal/TransferSection.d.ts +7 -0
  22. package/dist/components/ConfirmationModal/commonStyles.css.d.ts +37 -0
  23. package/dist/components/ConfirmationModal/constants.d.ts +16 -0
  24. package/dist/components/ConfirmationModal/index.d.ts +9 -0
  25. package/dist/components/ConfirmationModal/modalTheme.css.d.ts +20 -0
  26. package/dist/components/ConfirmationModal/transactionUIRegistry.d.ts +134 -0
  27. package/dist/components/ConfirmationModal/utils.d.ts +37 -0
  28. package/dist/components/ConnectOptions/AbcWaasAuth/AbcWaasAuthSections.css.d.ts +1 -0
  29. package/dist/components/ConnectOptions/AbcWaasAuth/AbcWaasAuthSections.d.ts +1 -1
  30. package/dist/components/ConnectOptions/AbcWaasAuth/hooks/useAbcWaasAuth.d.ts +2 -25
  31. package/dist/components/ConnectOptions/AbcWaasAuth/hooks/useAbcWaasSocial.d.ts +1 -47
  32. package/dist/components/ConnectOptions/PinAuth/hooks/useWalletGeneration.d.ts +4 -21
  33. package/dist/components/GasFeeModal/GasFeeEditModal.css.d.ts +32 -0
  34. package/dist/components/GasFeeModal/GasFeeEditModal.d.ts +21 -0
  35. package/dist/components/GasFeeModal/index.d.ts +3 -0
  36. package/dist/components/GasFeeModal/modalTheme.css.d.ts +19 -0
  37. package/dist/components/Icons/Close2.d.ts +7 -0
  38. package/dist/components/Icons/Copy2.d.ts +4 -0
  39. package/dist/components/Icons/Dropdown2.d.ts +4 -0
  40. package/dist/components/Icons/Edit.d.ts +4 -0
  41. package/dist/components/Icons/InfoCircle.d.ts +4 -0
  42. package/dist/components/Icons/Kakao.d.ts +2 -0
  43. package/dist/components/Icons/Minus.d.ts +4 -0
  44. package/dist/components/Icons/Plus.d.ts +4 -0
  45. package/dist/components/Icons/SettingsGear.d.ts +4 -0
  46. package/dist/components/Icons/SpeedHigh.d.ts +4 -0
  47. package/dist/components/Icons/SpeedLow.d.ts +4 -0
  48. package/dist/components/Icons/SpeedMedium.d.ts +4 -0
  49. package/dist/components/RainbowKitProvider/InternalPinProvider.d.ts +7 -9
  50. package/dist/components/RainbowKitProvider/RainbowKitProvider.d.ts +7 -1
  51. package/dist/components/Toast/Toast.css.d.ts +2 -0
  52. package/dist/components/Toast/Toast.d.ts +6 -0
  53. package/dist/components/Toast/index.d.ts +4 -0
  54. package/dist/components/Toast/useToast.d.ts +10 -0
  55. package/dist/config/networks.d.ts +10 -0
  56. package/dist/css/sprinkles.css.d.ts +1 -1
  57. package/dist/hooks/useSolanaWallet.d.ts +5 -23
  58. package/dist/hooks/useTronWallet.d.ts +63 -0
  59. package/dist/index.css +1903 -236
  60. package/dist/index.d.ts +8 -3
  61. package/dist/index.js +7970 -4015
  62. package/dist/klipWallet-RD5Y4UEK.js +8 -0
  63. package/dist/providers/SignConfirmationProvider/SignConfirmationProvider.d.ts +22 -0
  64. package/dist/providers/SignConfirmationProvider/index.d.ts +6 -0
  65. package/dist/providers/SignConfirmationProvider/requestParsers.d.ts +24 -0
  66. package/dist/providers/SignConfirmationProvider/types.d.ts +91 -0
  67. package/dist/providers/SignConfirmationProvider/useApiClient.d.ts +15 -0
  68. package/dist/providers/SignConfirmationProvider/useTransactionResolver.d.ts +18 -0
  69. package/dist/secure-AEBFSVWE.js +8 -0
  70. package/dist/services/AbcAgenticWalletService.d.ts +111 -0
  71. package/dist/services/AbcAuthService.d.ts +26 -20
  72. package/dist/types/index.d.ts +3 -0
  73. package/dist/types/token.d.ts +82 -0
  74. package/dist/utils/abi/abiDecoder.d.ts +144 -0
  75. package/dist/utils/apiClientFactory.d.ts +21 -0
  76. package/dist/utils/blockies.d.ts +12 -0
  77. package/dist/utils/tokenMapper.d.ts +10 -0
  78. package/dist/wallets/walletConnectors/abcWallet/abcApi.d.ts +4 -1
  79. package/dist/wallets/walletConnectors/abcWallet/abcApi.js +7 -7
  80. package/dist/wallets/walletConnectors/abcWallet/abcBitcoinConnector.js +5 -5
  81. package/dist/wallets/walletConnectors/abcWallet/abcBitcoinProvider.d.ts +6 -8
  82. package/dist/wallets/walletConnectors/abcWallet/abcBitcoinProvider.js +1 -1
  83. package/dist/wallets/walletConnectors/abcWallet/abcConnector.js +9 -9
  84. package/dist/wallets/walletConnectors/abcWallet/abcProvider.d.ts +17 -6
  85. package/dist/wallets/walletConnectors/abcWallet/abcProvider.js +5 -4
  86. package/dist/wallets/walletConnectors/abcWallet/abcSolanaProvider.d.ts +11 -34
  87. package/dist/wallets/walletConnectors/abcWallet/abcSolanaProvider.js +1 -1
  88. package/dist/wallets/walletConnectors/abcWallet/abcSolanaWalletAdapter.d.ts +3 -11
  89. package/dist/wallets/walletConnectors/abcWallet/abcSolanaWalletAdapter.js +17 -80
  90. package/dist/wallets/walletConnectors/abcWallet/abcTronProvider.d.ts +112 -0
  91. package/dist/wallets/walletConnectors/abcWallet/abcTronProvider.js +11 -0
  92. package/dist/wallets/walletConnectors/abcWallet/abcWallet.d.ts +2 -0
  93. package/dist/wallets/walletConnectors/abcWallet/abcWallet.js +11 -10
  94. package/dist/wallets/walletConnectors/abcWallet/api/AuthApi.d.ts +9 -11
  95. package/dist/wallets/walletConnectors/abcWallet/api/AuthApi.js +6 -6
  96. package/dist/wallets/walletConnectors/abcWallet/api/BaseApiClient.d.ts +1 -1
  97. package/dist/wallets/walletConnectors/abcWallet/api/BaseApiClient.js +5 -5
  98. package/dist/wallets/walletConnectors/abcWallet/api/BitcoinApi.js +6 -6
  99. package/dist/wallets/walletConnectors/abcWallet/api/GasApi.d.ts +45 -0
  100. package/dist/wallets/walletConnectors/abcWallet/api/GasApi.js +12 -0
  101. package/dist/wallets/walletConnectors/abcWallet/api/SigningApi.js +7 -7
  102. package/dist/wallets/walletConnectors/abcWallet/api/SolanaApi.d.ts +9 -1
  103. package/dist/wallets/walletConnectors/abcWallet/api/SolanaApi.js +7 -7
  104. package/dist/wallets/walletConnectors/abcWallet/api/TalkenApiClient.d.ts +333 -0
  105. package/dist/wallets/walletConnectors/abcWallet/api/TalkenApiClient.js +11 -0
  106. package/dist/wallets/walletConnectors/abcWallet/api/TalkenApiSingleton.d.ts +18 -0
  107. package/dist/wallets/walletConnectors/abcWallet/api/TalkenApiSingleton.js +14 -0
  108. package/dist/wallets/walletConnectors/abcWallet/api/TransactionApi.d.ts +2 -2
  109. package/dist/wallets/walletConnectors/abcWallet/api/TransactionApi.js +7 -7
  110. package/dist/wallets/walletConnectors/abcWallet/api/TronApi.d.ts +102 -0
  111. package/dist/wallets/walletConnectors/abcWallet/api/TronApi.js +12 -0
  112. package/dist/wallets/walletConnectors/abcWallet/api/WalletApi.d.ts +4 -2
  113. package/dist/wallets/walletConnectors/abcWallet/api/WalletApi.js +7 -7
  114. package/dist/wallets/walletConnectors/abcWallet/api/WalletscanApi.d.ts +60 -0
  115. package/dist/wallets/walletConnectors/abcWallet/api/WalletscanApi.js +12 -0
  116. package/dist/wallets/walletConnectors/abcWallet/api/index.d.ts +24 -0
  117. package/dist/wallets/walletConnectors/abcWallet/api/index.js +35 -17
  118. package/dist/wallets/walletConnectors/abcWallet/constants.d.ts +39 -1
  119. package/dist/wallets/walletConnectors/abcWallet/constants.js +5 -1
  120. package/dist/wallets/walletConnectors/abcWallet/googleAuth.d.ts +6 -0
  121. package/dist/wallets/walletConnectors/abcWallet/googleAuth.js +37 -1
  122. package/dist/wallets/walletConnectors/abcWallet/index.d.ts +5 -3
  123. package/dist/wallets/walletConnectors/abcWallet/index.js +44 -31
  124. package/dist/wallets/walletConnectors/abcWallet/kakaoAuth.d.ts +27 -0
  125. package/dist/wallets/walletConnectors/abcWallet/kakaoAuth.js +290 -0
  126. package/dist/wallets/walletConnectors/abcWallet/networkConfig.d.ts +39 -3
  127. package/dist/wallets/walletConnectors/abcWallet/networkConfig.js +11 -3
  128. package/dist/wallets/walletConnectors/abcWallet/secure.js +2 -2
  129. package/dist/wallets/walletConnectors/abcWallet/sessionUtils.js +1 -1
  130. package/dist/wallets/walletConnectors/abcWallet/types.d.ts +369 -7
  131. package/dist/wallets/walletConnectors/abcWallet/types.js +5 -3
  132. package/dist/wallets/walletConnectors/abcWallet/utils.js +3 -3
  133. package/dist/wallets/walletConnectors/abcWallet/walletGeneration.d.ts +10 -19
  134. package/dist/wallets/walletConnectors/abcWallet/walletGeneration.js +2 -2
  135. package/dist/wallets/walletConnectors/berasigWallet/berasigWallet.js +2 -2
  136. package/dist/wallets/walletConnectors/bifrostWallet/bifrostWallet.js +2 -2
  137. package/dist/wallets/walletConnectors/binanceWallet/binanceWallet.js +2 -2
  138. package/dist/wallets/walletConnectors/bitgetWallet/bitgetWallet.js +2 -2
  139. package/dist/wallets/walletConnectors/bybitWallet/bybitWallet.js +2 -2
  140. package/dist/wallets/walletConnectors/chunk-25V3FW3O.js +282 -0
  141. package/dist/wallets/walletConnectors/chunk-27346T3J.js +134 -0
  142. package/dist/wallets/walletConnectors/chunk-5CNLMOB2.js +75 -0
  143. package/dist/wallets/walletConnectors/chunk-5K45TCAM.js +333 -0
  144. package/dist/wallets/walletConnectors/chunk-5VDSMZC4.js +286 -0
  145. package/dist/wallets/walletConnectors/chunk-5W7RBMPH.js +351 -0
  146. package/dist/wallets/walletConnectors/chunk-5XORKEWE.js +326 -0
  147. package/dist/wallets/walletConnectors/chunk-63WBO52A.js +77 -0
  148. package/dist/wallets/walletConnectors/chunk-7IRF225N.js +75 -0
  149. package/dist/wallets/walletConnectors/chunk-7QHCSJDN.js +726 -0
  150. package/dist/wallets/walletConnectors/chunk-A27H6PEU.js +739 -0
  151. package/dist/wallets/walletConnectors/chunk-A4WR3CFN.js +130 -0
  152. package/dist/wallets/walletConnectors/chunk-A6FUNQWF.js +572 -0
  153. package/dist/wallets/walletConnectors/chunk-AF4OCS7N.js +46 -0
  154. package/dist/wallets/walletConnectors/chunk-AFWBXEEC.js +66 -0
  155. package/dist/wallets/walletConnectors/chunk-AUGP2LJR.js +182 -0
  156. package/dist/wallets/walletConnectors/chunk-AWLDVQXC.js +317 -0
  157. package/dist/wallets/walletConnectors/chunk-BLEKTKBN.js +479 -0
  158. package/dist/wallets/walletConnectors/chunk-BVL6G5HI.js +1757 -0
  159. package/dist/wallets/walletConnectors/chunk-CMTGEHDI.js +485 -0
  160. package/dist/wallets/walletConnectors/chunk-D5EFTEOM.js +56 -0
  161. package/dist/wallets/walletConnectors/chunk-DM5NLSWD.js +346 -0
  162. package/dist/wallets/walletConnectors/chunk-EBGI4D2T.js +69 -0
  163. package/dist/wallets/walletConnectors/chunk-EEH2HMFG.js +47 -0
  164. package/dist/wallets/walletConnectors/chunk-F5JWDBKK.js +47 -0
  165. package/dist/wallets/walletConnectors/chunk-FN67MIIH.js +75 -0
  166. package/dist/wallets/walletConnectors/chunk-FWYVBX5F.js +75 -0
  167. package/dist/wallets/walletConnectors/chunk-GH6ZDY4K.js +58 -0
  168. package/dist/wallets/walletConnectors/chunk-GIJZMIBD.js +63 -0
  169. package/dist/wallets/walletConnectors/chunk-GO6OLTNF.js +479 -0
  170. package/dist/wallets/walletConnectors/chunk-HKXBK3NY.js +75 -0
  171. package/dist/wallets/walletConnectors/chunk-HMD2WWFQ.js +75 -0
  172. package/dist/wallets/walletConnectors/chunk-HO5Z2CTL.js +280 -0
  173. package/dist/wallets/walletConnectors/chunk-I3GFVK5O.js +151 -0
  174. package/dist/wallets/walletConnectors/chunk-IUHZ5ZCE.js +121 -0
  175. package/dist/wallets/walletConnectors/chunk-JODNZWWG.js +330 -0
  176. package/dist/wallets/walletConnectors/chunk-JTST3KMW.js +75 -0
  177. package/dist/wallets/walletConnectors/chunk-KH2L3ONV.js +1599 -0
  178. package/dist/wallets/walletConnectors/chunk-LHV22375.js +182 -0
  179. package/dist/wallets/walletConnectors/chunk-LZZE462U.js +315 -0
  180. package/dist/wallets/walletConnectors/chunk-MGCRUAHX.js +276 -0
  181. package/dist/wallets/walletConnectors/chunk-MURSKRMJ.js +63 -0
  182. package/dist/wallets/walletConnectors/chunk-NG7PSAPX.js +115 -0
  183. package/dist/wallets/walletConnectors/chunk-NHP6D6AH.js +204 -0
  184. package/dist/wallets/walletConnectors/chunk-O4AU63LK.js +181 -0
  185. package/dist/wallets/walletConnectors/chunk-OBS74J5N.js +221 -0
  186. package/dist/wallets/walletConnectors/chunk-ON4U54WO.js +115 -0
  187. package/dist/wallets/walletConnectors/chunk-PPYBE5TV.js +276 -0
  188. package/dist/wallets/walletConnectors/chunk-PWWSAM4G.js +309 -0
  189. package/dist/wallets/walletConnectors/chunk-QB5GDLRU.js +330 -0
  190. package/dist/wallets/walletConnectors/chunk-QMLG7MAP.js +107 -0
  191. package/dist/wallets/walletConnectors/chunk-RGIB7FFH.js +47 -0
  192. package/dist/wallets/walletConnectors/chunk-SHJBMDP4.js +278 -0
  193. package/dist/wallets/walletConnectors/chunk-SOBJYYIX.js +484 -0
  194. package/dist/wallets/walletConnectors/chunk-T66U3ADD.js +58 -0
  195. package/dist/wallets/walletConnectors/chunk-THCKLFSJ.js +75 -0
  196. package/dist/wallets/walletConnectors/chunk-TS466TDR.js +286 -0
  197. package/dist/wallets/walletConnectors/chunk-UJGFYQEV.js +459 -0
  198. package/dist/wallets/walletConnectors/chunk-UXNEBBUV.js +224 -0
  199. package/dist/wallets/walletConnectors/chunk-VRCNFVPM.js +276 -0
  200. package/dist/wallets/walletConnectors/chunk-WODNUC65.js +333 -0
  201. package/dist/wallets/walletConnectors/chunk-X6A2FSHK.js +484 -0
  202. package/dist/wallets/walletConnectors/chunk-XVRNEES5.js +1541 -0
  203. package/dist/wallets/walletConnectors/chunk-XWVM2Y5A.js +306 -0
  204. package/dist/wallets/walletConnectors/chunk-XXG7ABSJ.js +328 -0
  205. package/dist/wallets/walletConnectors/chunk-YJH4BHSB.js +254 -0
  206. package/dist/wallets/walletConnectors/chunk-YRDNIP2H.js +90 -0
  207. package/dist/wallets/walletConnectors/chunk-YTPAWPCA.js +156 -0
  208. package/dist/wallets/walletConnectors/chunk-ZCSHD7UG.js +562 -0
  209. package/dist/wallets/walletConnectors/chunk-ZZCZ3RJU.js +272 -0
  210. package/dist/wallets/walletConnectors/clvWallet/clvWallet.js +2 -2
  211. package/dist/wallets/walletConnectors/coin98Wallet/coin98Wallet.js +2 -2
  212. package/dist/wallets/walletConnectors/coreWallet/coreWallet.js +2 -2
  213. package/dist/wallets/walletConnectors/foxWallet/foxWallet.js +2 -2
  214. package/dist/wallets/walletConnectors/frontierWallet/frontierWallet.js +2 -2
  215. package/dist/wallets/walletConnectors/gateWallet/gateWallet.js +2 -2
  216. package/dist/wallets/walletConnectors/index.js +57 -56
  217. package/dist/wallets/walletConnectors/iopayWallet/iopayWallet.js +2 -2
  218. package/dist/wallets/walletConnectors/kaiaWallet/kaiaWallet.js +2 -2
  219. package/dist/wallets/walletConnectors/kaikasWallet/kaikasWallet.js +2 -2
  220. package/dist/wallets/walletConnectors/klipWallet/klipWallet.d.ts +3 -0
  221. package/dist/wallets/walletConnectors/klipWallet/klipWallet.js +8 -0
  222. package/dist/wallets/walletConnectors/klipWallet-PPTYYB5G.js +7 -0
  223. package/dist/wallets/walletConnectors/metaMaskWallet/metaMaskWallet.js +2 -2
  224. package/dist/wallets/walletConnectors/okxWallet/okxWallet.js +2 -2
  225. package/dist/wallets/walletConnectors/rainbowWallet/rainbowWallet.js +2 -2
  226. package/dist/wallets/walletConnectors/roninWallet/roninWallet.js +2 -2
  227. package/dist/wallets/walletConnectors/safepalWallet/safepalWallet.js +2 -2
  228. package/dist/wallets/walletConnectors/subWallet/subWallet.js +2 -2
  229. package/dist/wallets/walletConnectors/tokenPocketWallet/tokenPocketWallet.js +2 -2
  230. package/dist/wallets/walletConnectors/trustWallet/trustWallet.js +2 -2
  231. package/dist/wallets/walletConnectors/zealWallet/zealWallet.js +2 -2
  232. package/dist/wallets/walletConnectors/zerionWallet/zerionWallet.js +2 -2
  233. package/package.json +2 -1
@@ -0,0 +1,562 @@
1
+ "use client";
2
+ import {
3
+ hexToNumber,
4
+ numberToHex
5
+ } from "./chunk-BLEKTKBN.js";
6
+
7
+ // src/wallets/walletConnectors/abcWallet/abcProvider.ts
8
+ import { parseGwei } from "viem";
9
+ var EventEmitter = class {
10
+ constructor() {
11
+ this.events = /* @__PURE__ */ new Map();
12
+ }
13
+ on(event, listener) {
14
+ if (!this.events.has(event)) {
15
+ this.events.set(event, []);
16
+ }
17
+ this.events.get(event).push(listener);
18
+ return this;
19
+ }
20
+ off(event, listener) {
21
+ const listeners = this.events.get(event);
22
+ if (listeners) {
23
+ const index = listeners.indexOf(listener);
24
+ if (index !== -1) {
25
+ listeners.splice(index, 1);
26
+ }
27
+ }
28
+ return this;
29
+ }
30
+ removeListener(event, listener) {
31
+ return this.off(event, listener);
32
+ }
33
+ emit(event, ...args) {
34
+ const listeners = this.events.get(event);
35
+ if (listeners) {
36
+ for (const listener of listeners) {
37
+ listener(...args);
38
+ }
39
+ return true;
40
+ }
41
+ return false;
42
+ }
43
+ removeAllListeners(event) {
44
+ if (event) {
45
+ this.events.delete(event);
46
+ } else {
47
+ this.events.clear();
48
+ }
49
+ return this;
50
+ }
51
+ };
52
+ var ProviderRpcError = class extends Error {
53
+ constructor(code, message, data) {
54
+ super(message);
55
+ this.code = code;
56
+ this.data = data;
57
+ this.name = "ProviderRpcError";
58
+ }
59
+ };
60
+ var ErrorCode = {
61
+ USER_REJECTED: 4001,
62
+ UNAUTHORIZED: 4100,
63
+ UNSUPPORTED_METHOD: 4200,
64
+ DISCONNECTED: 4900,
65
+ CHAIN_DISCONNECTED: 4901,
66
+ INVALID_PARAMS: -32602,
67
+ INTERNAL_ERROR: -32603
68
+ };
69
+ var AbcEvmProvider = class extends EventEmitter {
70
+ constructor(client) {
71
+ super();
72
+ this.wallet = null;
73
+ this.chainId = 1;
74
+ // Default to Ethereum mainnet
75
+ this.connected = false;
76
+ this.client = client;
77
+ }
78
+ /**
79
+ * Set wallet information
80
+ */
81
+ setWallet(wallet) {
82
+ const previousAddress = this.wallet?.address;
83
+ const previousChainId = this.chainId;
84
+ this.wallet = wallet;
85
+ this.chainId = wallet.chainId;
86
+ this.connected = true;
87
+ if (previousAddress !== wallet.address) {
88
+ this.emit("accountsChanged", [wallet.address]);
89
+ }
90
+ if (previousChainId !== wallet.chainId) {
91
+ this.emit("chainChanged", numberToHex(wallet.chainId));
92
+ }
93
+ this.emit("connect", { chainId: numberToHex(wallet.chainId) });
94
+ }
95
+ /**
96
+ * Clear wallet (disconnect)
97
+ */
98
+ clearWallet() {
99
+ this.wallet = null;
100
+ this.connected = false;
101
+ this.emit("disconnect", {
102
+ code: ErrorCode.DISCONNECTED,
103
+ message: "User disconnected"
104
+ });
105
+ this.emit("accountsChanged", []);
106
+ }
107
+ /**
108
+ * Set request interceptor for sign confirmation
109
+ * The interceptor is called before signing operations to show confirmation UI
110
+ */
111
+ setRequestInterceptor(interceptor) {
112
+ this.requestInterceptor = interceptor;
113
+ }
114
+ /**
115
+ * Call request interceptor if configured
116
+ * Called by specific signing/transaction methods that need user confirmation
117
+ * @returns Resolved transaction with user modifications if changed in confirmation modal
118
+ */
119
+ async callInterceptor(method, params) {
120
+ if (!this.requestInterceptor) {
121
+ return void 0;
122
+ }
123
+ const request = {
124
+ method,
125
+ params,
126
+ chainId: this.chainId,
127
+ address: this.wallet?.address || ""
128
+ };
129
+ return this.requestInterceptor(request);
130
+ }
131
+ /**
132
+ * EIP-1193 request method
133
+ */
134
+ async request(args) {
135
+ const { method, params } = args;
136
+ switch (method) {
137
+ case "eth_requestAccounts":
138
+ return this.eth_requestAccounts();
139
+ case "eth_accounts":
140
+ return this.eth_accounts();
141
+ case "eth_chainId":
142
+ return this.eth_chainId();
143
+ case "eth_sendTransaction":
144
+ case "wallet_sendTransaction":
145
+ return this.eth_sendTransaction(params);
146
+ case "eth_signTransaction":
147
+ return this.eth_signTransaction(params);
148
+ case "personal_sign":
149
+ return this.personal_sign(params);
150
+ case "eth_sign":
151
+ return this.eth_sign(params);
152
+ case "eth_signTypedData":
153
+ case "eth_signTypedData_v3":
154
+ case "eth_signTypedData_v4":
155
+ return this.eth_signTypedData(params);
156
+ case "wallet_switchEthereumChain":
157
+ return this.wallet_switchEthereumChain(params);
158
+ case "wallet_addEthereumChain":
159
+ return this.wallet_addEthereumChain(params);
160
+ case "eth_estimateGas":
161
+ return this.eth_estimateGas(params);
162
+ case "eth_getTransactionCount":
163
+ return this.eth_getTransactionCount(
164
+ Array.isArray(params) ? params : []
165
+ );
166
+ case "eth_blockNumber":
167
+ case "eth_call":
168
+ case "eth_gasPrice":
169
+ case "eth_getBalance":
170
+ case "eth_getBlockByHash":
171
+ case "eth_getBlockByNumber":
172
+ case "eth_getCode":
173
+ case "eth_getStorageAt":
174
+ case "eth_getTransactionByHash":
175
+ case "eth_getTransactionReceipt":
176
+ throw new ProviderRpcError(
177
+ ErrorCode.UNSUPPORTED_METHOD,
178
+ `Method ${method} should be handled by RPC provider`
179
+ );
180
+ default:
181
+ throw new ProviderRpcError(
182
+ ErrorCode.UNSUPPORTED_METHOD,
183
+ `Method ${method} not supported`
184
+ );
185
+ }
186
+ }
187
+ /**
188
+ * Request accounts (EIP-1193)
189
+ */
190
+ async eth_requestAccounts() {
191
+ if (!this.wallet) {
192
+ throw new ProviderRpcError(
193
+ ErrorCode.UNAUTHORIZED,
194
+ "Wallet not connected"
195
+ );
196
+ }
197
+ return [this.wallet.address];
198
+ }
199
+ /**
200
+ * Get accounts
201
+ */
202
+ async eth_accounts() {
203
+ if (!this.wallet) {
204
+ return [];
205
+ }
206
+ return [this.wallet.address];
207
+ }
208
+ /**
209
+ * Get chain ID
210
+ */
211
+ async eth_chainId() {
212
+ return numberToHex(this.chainId);
213
+ }
214
+ /**
215
+ * Send transaction
216
+ */
217
+ async eth_sendTransaction(params) {
218
+ if (!this.wallet) {
219
+ throw new ProviderRpcError(
220
+ ErrorCode.UNAUTHORIZED,
221
+ "Wallet not connected"
222
+ );
223
+ }
224
+ if (!Array.isArray(params) || params.length === 0) {
225
+ throw new ProviderRpcError(
226
+ ErrorCode.INVALID_PARAMS,
227
+ "Invalid transaction params"
228
+ );
229
+ }
230
+ const resolved = await this.callInterceptor("eth_sendTransaction", params);
231
+ const tx = params[0];
232
+ if (resolved) {
233
+ if (resolved.data) {
234
+ tx.data = resolved.data;
235
+ console.log(
236
+ "[AbcProvider] \u2705 Applied modified calldata from confirmation modal"
237
+ );
238
+ }
239
+ if (resolved.gasFee?.maxFeePerGas) {
240
+ try {
241
+ const maxFeeWei = parseGwei(resolved.gasFee.maxFeePerGas);
242
+ tx.maxFeePerGas = `0x${maxFeeWei.toString(16)}`;
243
+ console.log(
244
+ "[AbcProvider] \u2705 Applied modified maxFeePerGas:",
245
+ tx.maxFeePerGas
246
+ );
247
+ } catch (error) {
248
+ console.error(
249
+ "[AbcProvider] \u274C Failed to parse maxFeePerGas:",
250
+ error
251
+ );
252
+ }
253
+ }
254
+ if (resolved.gasFee?.maxPriorityFeePerGas) {
255
+ try {
256
+ const priorityFeeWei = parseGwei(
257
+ resolved.gasFee.maxPriorityFeePerGas
258
+ );
259
+ tx.maxPriorityFeePerGas = `0x${priorityFeeWei.toString(16)}`;
260
+ console.log(
261
+ "[AbcProvider] \u2705 Applied modified maxPriorityFeePerGas:",
262
+ tx.maxPriorityFeePerGas
263
+ );
264
+ } catch (error) {
265
+ console.error(
266
+ "[AbcProvider] \u274C Failed to parse maxPriorityFeePerGas:",
267
+ error
268
+ );
269
+ }
270
+ }
271
+ }
272
+ const isContractDeployment = !tx.to || tx.to === "0x" || tx.to === "0x0" || tx.to === "0x0000000000000000000000000000000000000000";
273
+ if (isContractDeployment) {
274
+ tx.to = "0x";
275
+ } else if (!tx.to) {
276
+ throw new ProviderRpcError(
277
+ ErrorCode.INVALID_PARAMS,
278
+ 'Transaction must have "to" field'
279
+ );
280
+ }
281
+ const signParams = {
282
+ chainId: this.chainId,
283
+ transaction: tx,
284
+ keyId: this.wallet.keyId,
285
+ encryptedShare: this.wallet.encryptedShare
286
+ };
287
+ const signResult = await this.client.signTransaction(signParams);
288
+ if (!signResult.signature) {
289
+ throw new ProviderRpcError(
290
+ ErrorCode.INTERNAL_ERROR,
291
+ "Failed to get signed transaction from ABC WaaS"
292
+ );
293
+ }
294
+ const sendResult = await this.client.sendRawTransaction(
295
+ this.chainId,
296
+ signResult.signature
297
+ // serializedTx
298
+ );
299
+ return sendResult.txHash;
300
+ }
301
+ /**
302
+ * Sign transaction (without sending)
303
+ */
304
+ async eth_signTransaction(params) {
305
+ if (!this.wallet) {
306
+ throw new ProviderRpcError(
307
+ ErrorCode.UNAUTHORIZED,
308
+ "Wallet not connected"
309
+ );
310
+ }
311
+ if (!Array.isArray(params) || params.length === 0) {
312
+ throw new ProviderRpcError(
313
+ ErrorCode.INVALID_PARAMS,
314
+ "Invalid transaction params"
315
+ );
316
+ }
317
+ await this.callInterceptor("eth_signTransaction", params);
318
+ const tx = params[0];
319
+ const signParams = {
320
+ chainId: this.chainId,
321
+ transaction: tx,
322
+ keyId: this.wallet.keyId,
323
+ encryptedShare: this.wallet.encryptedShare
324
+ };
325
+ const result = await this.client.signTransaction(signParams);
326
+ return result.signature;
327
+ }
328
+ /**
329
+ * Personal sign (EIP-191)
330
+ */
331
+ async personal_sign(params) {
332
+ if (!this.wallet) {
333
+ console.error("[AbcProvider] \u274C Wallet not connected");
334
+ throw new ProviderRpcError(
335
+ ErrorCode.UNAUTHORIZED,
336
+ "Wallet not connected"
337
+ );
338
+ }
339
+ if (!Array.isArray(params) || params.length < 2) {
340
+ console.error("[AbcProvider] \u274C Invalid params:", params);
341
+ throw new ProviderRpcError(
342
+ ErrorCode.INVALID_PARAMS,
343
+ "Invalid personal_sign params"
344
+ );
345
+ }
346
+ await this.callInterceptor("personal_sign", params);
347
+ const [message, address] = params;
348
+ if (address.toLowerCase() !== this.wallet.address.toLowerCase()) {
349
+ console.error("[AbcProvider] \u274C Address mismatch");
350
+ throw new ProviderRpcError(
351
+ ErrorCode.INVALID_PARAMS,
352
+ "Address does not match connected wallet"
353
+ );
354
+ }
355
+ if (!this.wallet.sid) {
356
+ console.error("[AbcProvider] \u274C Missing sid");
357
+ throw new ProviderRpcError(
358
+ ErrorCode.INTERNAL_ERROR,
359
+ "Wallet session ID (sid) is missing - please reconnect wallet"
360
+ );
361
+ }
362
+ if (!this.wallet.pvencstr) {
363
+ console.error("[AbcProvider] \u274C Missing pvencstr");
364
+ throw new ProviderRpcError(
365
+ ErrorCode.INTERNAL_ERROR,
366
+ "Wallet pvencstr is missing - please reconnect wallet"
367
+ );
368
+ }
369
+ if (!this.wallet.wid) {
370
+ console.error("[AbcProvider] \u274C Missing wid");
371
+ throw new ProviderRpcError(
372
+ ErrorCode.INTERNAL_ERROR,
373
+ "Wallet wid is missing - please reconnect wallet"
374
+ );
375
+ }
376
+ const result = await this.client.signMessage({
377
+ message,
378
+ address: this.wallet.address,
379
+ // ciphertext removed - not needed for message signing
380
+ sid: this.wallet.sid,
381
+ uid: this.wallet.uid,
382
+ pvencstr: this.wallet.pvencstr,
383
+ wid: this.wallet.wid
384
+ });
385
+ return result.signature;
386
+ }
387
+ /**
388
+ * Eth sign
389
+ */
390
+ async eth_sign(params) {
391
+ if (!Array.isArray(params) || params.length < 2) {
392
+ throw new ProviderRpcError(
393
+ ErrorCode.INVALID_PARAMS,
394
+ "Invalid eth_sign params"
395
+ );
396
+ }
397
+ const [address, message] = params;
398
+ return this.personal_sign([message, address]);
399
+ }
400
+ /**
401
+ * Sign typed data (EIP-712)
402
+ */
403
+ async eth_signTypedData(params) {
404
+ if (!this.wallet) {
405
+ throw new ProviderRpcError(
406
+ ErrorCode.UNAUTHORIZED,
407
+ "Wallet not connected"
408
+ );
409
+ }
410
+ if (!Array.isArray(params) || params.length < 2) {
411
+ throw new ProviderRpcError(
412
+ ErrorCode.INVALID_PARAMS,
413
+ "Invalid signTypedData params"
414
+ );
415
+ }
416
+ await this.callInterceptor("eth_signTypedData_v4", params);
417
+ const [address, typedData] = params;
418
+ if (address.toLowerCase() !== this.wallet.address.toLowerCase()) {
419
+ throw new ProviderRpcError(
420
+ ErrorCode.INVALID_PARAMS,
421
+ "Address does not match connected wallet"
422
+ );
423
+ }
424
+ const result = await this.client.signTypedData({
425
+ typedData: typeof typedData === "string" ? typedData : JSON.stringify(typedData)
426
+ // ciphertext removed - not needed for typed data signing
427
+ });
428
+ return result.signature;
429
+ }
430
+ /**
431
+ * Switch Ethereum chain
432
+ */
433
+ async wallet_switchEthereumChain(params) {
434
+ if (!Array.isArray(params) || params.length === 0) {
435
+ throw new ProviderRpcError(
436
+ ErrorCode.INVALID_PARAMS,
437
+ "Invalid switchEthereumChain params"
438
+ );
439
+ }
440
+ const { chainId } = params[0];
441
+ const newChainId = hexToNumber(chainId);
442
+ if (this.chainId === newChainId) {
443
+ return null;
444
+ }
445
+ const _previousChainId = this.chainId;
446
+ this.chainId = newChainId;
447
+ if (this.wallet) {
448
+ this.wallet.chainId = newChainId;
449
+ }
450
+ this.emit("chainChanged", numberToHex(newChainId));
451
+ return null;
452
+ }
453
+ /**
454
+ * Add Ethereum chain
455
+ */
456
+ async wallet_addEthereumChain(params) {
457
+ return this.wallet_switchEthereumChain(params);
458
+ }
459
+ /**
460
+ * Get transaction count (nonce) using ABC WaaS API
461
+ */
462
+ async eth_getTransactionCount(params) {
463
+ console.log("[AbcEvmProvider] \u{1F4CA} Getting transaction count for ABC Wallet");
464
+ const address = params[0]?.toLowerCase();
465
+ if (!address) {
466
+ throw new ProviderRpcError(
467
+ ErrorCode.INVALID_PARAMS,
468
+ "Missing address parameter"
469
+ );
470
+ }
471
+ const currentChainId = this.chainId;
472
+ console.log("[AbcEvmProvider] Transaction count for:", {
473
+ address,
474
+ chainId: currentChainId
475
+ });
476
+ try {
477
+ const nonce = await this.client.getTransactionCount({
478
+ chainId: currentChainId,
479
+ address
480
+ });
481
+ console.log(
482
+ `[AbcEvmProvider] \u2705 Transaction count from ABC WaaS: ${nonce}`
483
+ );
484
+ return nonce;
485
+ } catch (error) {
486
+ console.error(
487
+ "[AbcEvmProvider] \u274C Failed to get transaction count from ABC WaaS:",
488
+ error
489
+ );
490
+ throw new ProviderRpcError(
491
+ ErrorCode.INTERNAL_ERROR,
492
+ `Failed to get transaction count: ${error instanceof Error ? error.message : String(error)}`
493
+ );
494
+ }
495
+ }
496
+ /**
497
+ * Estimate gas for transaction
498
+ * Uses ABC WaaS gas estimation API with fallback
499
+ */
500
+ async eth_estimateGas(params) {
501
+ if (!Array.isArray(params) || params.length === 0) {
502
+ throw new ProviderRpcError(
503
+ ErrorCode.INVALID_PARAMS,
504
+ "Invalid estimateGas params"
505
+ );
506
+ }
507
+ const tx = params[0];
508
+ if (!tx.to) {
509
+ throw new ProviderRpcError(
510
+ ErrorCode.INVALID_PARAMS,
511
+ 'Transaction must have "to" field'
512
+ );
513
+ }
514
+ try {
515
+ const gasLimit = await this.client.estimateGas({
516
+ chainId: this.chainId,
517
+ from: tx.from || this.wallet?.address,
518
+ to: tx.to,
519
+ value: tx.value,
520
+ data: tx.data
521
+ });
522
+ return gasLimit;
523
+ } catch (error) {
524
+ console.warn(
525
+ "[AbcEvmProvider] Gas estimation failed, using fallback:",
526
+ error
527
+ );
528
+ if (tx.data && tx.data !== "0x") {
529
+ return "0x493e0";
530
+ }
531
+ return "0x5208";
532
+ }
533
+ }
534
+ /**
535
+ * Check if connected
536
+ */
537
+ isConnected() {
538
+ return this.connected;
539
+ }
540
+ /**
541
+ * Get current wallet
542
+ */
543
+ getWallet() {
544
+ return this.wallet;
545
+ }
546
+ /**
547
+ * Get current chain ID
548
+ */
549
+ getChainId() {
550
+ return this.chainId;
551
+ }
552
+ };
553
+ function createAbcEvmProvider(client) {
554
+ return new AbcEvmProvider(client);
555
+ }
556
+ var createAbcProvider = createAbcEvmProvider;
557
+
558
+ export {
559
+ AbcEvmProvider,
560
+ createAbcEvmProvider,
561
+ createAbcProvider
562
+ };