@talken/talkenkit 2.4.21 → 2.4.22

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 (175) hide show
  1. package/LICENSE +9 -0
  2. package/dist/abcWallet-4RS3B4ZG.js +188 -0
  3. package/dist/abcWallet-EBOW2RJB.js +188 -0
  4. package/dist/abcWallet-RS4EOJ4I.js +188 -0
  5. package/dist/abcWallet-SNEZVK7V.js +188 -0
  6. package/dist/abcWallet-TC7M2JYX.js +188 -0
  7. package/dist/abcWallet-VZMW2DR3.js +188 -0
  8. package/dist/abcWallet-XJ3WSUVI.js +188 -0
  9. package/dist/abcWallet-XNCBZAIQ.js +188 -0
  10. package/dist/chunk-6FLQAAC4.js +7213 -0
  11. package/dist/chunk-7GIIMIPN.js +7213 -0
  12. package/dist/chunk-IBFA37SC.js +7228 -0
  13. package/dist/chunk-O5ZOC4NJ.js +7215 -0
  14. package/dist/chunk-OPOAKGEX.js +7216 -0
  15. package/dist/chunk-OTIHVCVR.js +7213 -0
  16. package/dist/chunk-P77BVZZF.js +7369 -0
  17. package/dist/chunk-RFLXXSQH.js +7139 -0
  18. package/dist/components/ConfirmationModal/NonEvmConfirmationModal.css.d.ts +11 -0
  19. package/dist/components/ConfirmationModal/NonEvmSignConfirmationModal.d.ts +9 -0
  20. package/dist/components/ConfirmationModal/NonEvmTransferConfirmationModal.d.ts +9 -0
  21. package/dist/components/ConfirmationModal/SignConfirmationModal.css.d.ts +1 -19
  22. package/dist/components/ConfirmationModal/TransactionConfirmationModal.css.d.ts +1 -20
  23. package/dist/components/ConfirmationModal/commonStyles.css.d.ts +19 -0
  24. package/dist/components/ConfirmationModal/index.d.ts +2 -0
  25. package/dist/components/ConfirmationModal/utils.d.ts +2 -1
  26. package/dist/hooks/useWalletCapabilities.d.ts +2 -0
  27. package/dist/index.css +227 -307
  28. package/dist/index.d.ts +4 -2
  29. package/dist/index.js +2004 -1064
  30. package/dist/providers/SignConfirmationProvider/NonEvmConfirmationContext.d.ts +6 -0
  31. package/dist/providers/SignConfirmationProvider/index.d.ts +2 -1
  32. package/dist/providers/SignConfirmationProvider/requestParsers.d.ts +6 -1
  33. package/dist/providers/SignConfirmationProvider/types.d.ts +35 -1
  34. package/dist/wallets/capabilities/detectCapabilities.d.ts +7 -0
  35. package/dist/wallets/capabilities/requestWalletAction.d.ts +8 -0
  36. package/dist/wallets/capabilities/types.d.ts +50 -0
  37. package/dist/wallets/walletConnectors/abcWallet/abcApi.js +3 -3
  38. package/dist/wallets/walletConnectors/abcWallet/abcBitcoinConnector.js +3 -3
  39. package/dist/wallets/walletConnectors/abcWallet/abcBitcoinProvider.d.ts +10 -0
  40. package/dist/wallets/walletConnectors/abcWallet/abcBitcoinProvider.js +1 -1
  41. package/dist/wallets/walletConnectors/abcWallet/abcConnector.js +5 -5
  42. package/dist/wallets/walletConnectors/abcWallet/abcProvider.d.ts +9 -0
  43. package/dist/wallets/walletConnectors/abcWallet/abcProvider.js +3 -3
  44. package/dist/wallets/walletConnectors/abcWallet/abcSolanaProvider.d.ts +10 -0
  45. package/dist/wallets/walletConnectors/abcWallet/abcSolanaProvider.js +1 -1
  46. package/dist/wallets/walletConnectors/abcWallet/abcSolanaWalletAdapter.d.ts +16 -0
  47. package/dist/wallets/walletConnectors/abcWallet/abcSolanaWalletAdapter.js +115 -33
  48. package/dist/wallets/walletConnectors/abcWallet/abcTronProvider.d.ts +16 -0
  49. package/dist/wallets/walletConnectors/abcWallet/abcTronProvider.js +1 -1
  50. package/dist/wallets/walletConnectors/abcWallet/abcWallet.js +7 -7
  51. package/dist/wallets/walletConnectors/abcWallet/api/AuthApi.js +4 -4
  52. package/dist/wallets/walletConnectors/abcWallet/api/BaseApiClient.js +3 -3
  53. package/dist/wallets/walletConnectors/abcWallet/api/BitcoinApi.js +4 -4
  54. package/dist/wallets/walletConnectors/abcWallet/api/GasApi.js +4 -4
  55. package/dist/wallets/walletConnectors/abcWallet/api/SolanaApi.js +4 -4
  56. package/dist/wallets/walletConnectors/abcWallet/api/TalkenApiClient.d.ts +9 -4
  57. package/dist/wallets/walletConnectors/abcWallet/api/TalkenApiClient.js +2 -2
  58. package/dist/wallets/walletConnectors/abcWallet/api/TransactionApi.js +4 -4
  59. package/dist/wallets/walletConnectors/abcWallet/api/TronApi.js +4 -4
  60. package/dist/wallets/walletConnectors/abcWallet/api/WalletApi.js +4 -4
  61. package/dist/wallets/walletConnectors/abcWallet/api/WalletscanApi.js +4 -4
  62. package/dist/wallets/walletConnectors/abcWallet/api/index.js +13 -13
  63. package/dist/wallets/walletConnectors/abcWallet/constants.d.ts +5 -4
  64. package/dist/wallets/walletConnectors/abcWallet/constants.js +1 -1
  65. package/dist/wallets/walletConnectors/abcWallet/index.js +21 -21
  66. package/dist/wallets/walletConnectors/abcWallet/types.d.ts +31 -1
  67. package/dist/wallets/walletConnectors/abcWallet/utils.js +2 -2
  68. package/dist/wallets/walletConnectors/berasigWallet/berasigWallet.js +2 -2
  69. package/dist/wallets/walletConnectors/bifrostWallet/bifrostWallet.js +2 -2
  70. package/dist/wallets/walletConnectors/binanceWallet/binanceWallet.js +2 -2
  71. package/dist/wallets/walletConnectors/bitgetWallet/bitgetWallet.js +2 -2
  72. package/dist/wallets/walletConnectors/bybitWallet/bybitWallet.js +2 -2
  73. package/dist/wallets/walletConnectors/chunk-2IZBLAHI.js +52 -0
  74. package/dist/wallets/walletConnectors/chunk-32IJ3ILH.js +71 -0
  75. package/dist/wallets/walletConnectors/chunk-3AX66UHT.js +479 -0
  76. package/dist/wallets/walletConnectors/chunk-3BVPV64G.js +36 -0
  77. package/dist/wallets/walletConnectors/chunk-3DGFHWI3.js +302 -0
  78. package/dist/wallets/walletConnectors/chunk-4FKUVQCM.js +655 -0
  79. package/dist/wallets/walletConnectors/chunk-56SF4VRC.js +640 -0
  80. package/dist/wallets/walletConnectors/chunk-5KOE7NJW.js +52 -0
  81. package/dist/wallets/walletConnectors/chunk-6CVXZ3ZW.js +771 -0
  82. package/dist/wallets/walletConnectors/chunk-6GCWEPU7.js +643 -0
  83. package/dist/wallets/walletConnectors/chunk-6YFP3Q2I.js +118 -0
  84. package/dist/wallets/walletConnectors/chunk-7EEPPULA.js +118 -0
  85. package/dist/wallets/walletConnectors/chunk-7QL42XTB.js +302 -0
  86. package/dist/wallets/walletConnectors/chunk-A7ZSPSFX.js +577 -0
  87. package/dist/wallets/walletConnectors/chunk-AI3CT254.js +302 -0
  88. package/dist/wallets/walletConnectors/chunk-AMNVH7CZ.js +151 -0
  89. package/dist/wallets/walletConnectors/chunk-AOREXGRM.js +350 -0
  90. package/dist/wallets/walletConnectors/chunk-BLO7E54F.js +302 -0
  91. package/dist/wallets/walletConnectors/chunk-BNRH5PYS.js +52 -0
  92. package/dist/wallets/walletConnectors/chunk-BOV5FXU6.js +151 -0
  93. package/dist/wallets/walletConnectors/chunk-BR25RFNF.js +260 -0
  94. package/dist/wallets/walletConnectors/chunk-BXQ2UWJ3.js +91 -0
  95. package/dist/wallets/walletConnectors/chunk-CAMPW7O2.js +874 -0
  96. package/dist/wallets/walletConnectors/chunk-CLMFCNP7.js +52 -0
  97. package/dist/wallets/walletConnectors/chunk-DSZOE65L.js +107 -0
  98. package/dist/wallets/walletConnectors/chunk-DU6RCLWT.js +272 -0
  99. package/dist/wallets/walletConnectors/chunk-ENN6UGGA.js +421 -0
  100. package/dist/wallets/walletConnectors/chunk-EXWDLN5V.js +204 -0
  101. package/dist/wallets/walletConnectors/chunk-FFU26Y5Y.js +272 -0
  102. package/dist/wallets/walletConnectors/chunk-FGS2WHVA.js +118 -0
  103. package/dist/wallets/walletConnectors/chunk-FJJ3QI4R.js +91 -0
  104. package/dist/wallets/walletConnectors/chunk-FS2OOQYF.js +204 -0
  105. package/dist/wallets/walletConnectors/chunk-G5X3COSW.js +205 -0
  106. package/dist/wallets/walletConnectors/chunk-H53R4SFZ.js +204 -0
  107. package/dist/wallets/walletConnectors/chunk-J4QGDATF.js +71 -0
  108. package/dist/wallets/walletConnectors/chunk-JIJNCMJR.js +874 -0
  109. package/dist/wallets/walletConnectors/chunk-JSGZYU4A.js +52 -0
  110. package/dist/wallets/walletConnectors/chunk-JVT7R2GZ.js +771 -0
  111. package/dist/wallets/walletConnectors/chunk-K3JNN5UK.js +71 -0
  112. package/dist/wallets/walletConnectors/chunk-KBHPY3NA.js +302 -0
  113. package/dist/wallets/walletConnectors/chunk-KEX6WS23.js +640 -0
  114. package/dist/wallets/walletConnectors/chunk-KHYKVVR7.js +52 -0
  115. package/dist/wallets/walletConnectors/chunk-LOL7ZZ3S.js +302 -0
  116. package/dist/wallets/walletConnectors/chunk-LOSXI36Y.js +479 -0
  117. package/dist/wallets/walletConnectors/chunk-M2U5QGM7.js +260 -0
  118. package/dist/wallets/walletConnectors/chunk-M73AWLIV.js +107 -0
  119. package/dist/wallets/walletConnectors/chunk-MAUC46AE.js +302 -0
  120. package/dist/wallets/walletConnectors/chunk-MBRXYEQC.js +272 -0
  121. package/dist/wallets/walletConnectors/chunk-MDDD4LG2.js +874 -0
  122. package/dist/wallets/walletConnectors/chunk-MMR2QAEU.js +642 -0
  123. package/dist/wallets/walletConnectors/chunk-MNZZRFUC.js +302 -0
  124. package/dist/wallets/walletConnectors/chunk-OIRY24PH.js +302 -0
  125. package/dist/wallets/walletConnectors/chunk-ORBX4JE2.js +52 -0
  126. package/dist/wallets/walletConnectors/chunk-OXJFFDW7.js +761 -0
  127. package/dist/wallets/walletConnectors/chunk-QD3PPWTN.js +272 -0
  128. package/dist/wallets/walletConnectors/chunk-RCIABMG5.js +259 -0
  129. package/dist/wallets/walletConnectors/chunk-RHC4SVLB.js +71 -0
  130. package/dist/wallets/walletConnectors/chunk-S2CB4KFC.js +71 -0
  131. package/dist/wallets/walletConnectors/chunk-S6HZD4XZ.js +302 -0
  132. package/dist/wallets/walletConnectors/chunk-S72LCNVX.js +272 -0
  133. package/dist/wallets/walletConnectors/chunk-SCWE5EEX.js +91 -0
  134. package/dist/wallets/walletConnectors/chunk-TKEL4D4E.js +151 -0
  135. package/dist/wallets/walletConnectors/chunk-TKJEMEBZ.js +71 -0
  136. package/dist/wallets/walletConnectors/chunk-TZ44ZREA.js +302 -0
  137. package/dist/wallets/walletConnectors/chunk-UGQSI3US.js +547 -0
  138. package/dist/wallets/walletConnectors/chunk-UU4JYY3C.js +205 -0
  139. package/dist/wallets/walletConnectors/chunk-V5P5BL6Z.js +302 -0
  140. package/dist/wallets/walletConnectors/chunk-VH6DIRPF.js +71 -0
  141. package/dist/wallets/walletConnectors/chunk-VPNZAMW5.js +205 -0
  142. package/dist/wallets/walletConnectors/chunk-W6QN6QXO.js +52 -0
  143. package/dist/wallets/walletConnectors/chunk-WDULICVN.js +302 -0
  144. package/dist/wallets/walletConnectors/chunk-WGGHGODM.js +272 -0
  145. package/dist/wallets/walletConnectors/chunk-XUCMTLM3.js +52 -0
  146. package/dist/wallets/walletConnectors/chunk-Y5WAX6WO.js +52 -0
  147. package/dist/wallets/walletConnectors/chunk-Y62PFBWE.js +640 -0
  148. package/dist/wallets/walletConnectors/chunk-Z6ABK6G6.js +107 -0
  149. package/dist/wallets/walletConnectors/chunk-ZCA5QSIM.js +71 -0
  150. package/dist/wallets/walletConnectors/chunk-ZJDZJW55.js +479 -0
  151. package/dist/wallets/walletConnectors/chunk-ZOF7ZDGU.js +52 -0
  152. package/dist/wallets/walletConnectors/chunk-ZUU57RHO.js +36 -0
  153. package/dist/wallets/walletConnectors/chunk-ZWFGRREM.js +36 -0
  154. package/dist/wallets/walletConnectors/chunk-ZY5BCHP2.js +302 -0
  155. package/dist/wallets/walletConnectors/clvWallet/clvWallet.js +2 -2
  156. package/dist/wallets/walletConnectors/coin98Wallet/coin98Wallet.js +2 -2
  157. package/dist/wallets/walletConnectors/coreWallet/coreWallet.js +2 -2
  158. package/dist/wallets/walletConnectors/foxWallet/foxWallet.js +2 -2
  159. package/dist/wallets/walletConnectors/frontierWallet/frontierWallet.js +2 -2
  160. package/dist/wallets/walletConnectors/gateWallet/gateWallet.js +2 -2
  161. package/dist/wallets/walletConnectors/index.js +91 -91
  162. package/dist/wallets/walletConnectors/iopayWallet/iopayWallet.js +2 -2
  163. package/dist/wallets/walletConnectors/kaiaWallet/kaiaWallet.js +2 -2
  164. package/dist/wallets/walletConnectors/kaikasWallet/kaikasWallet.js +2 -2
  165. package/dist/wallets/walletConnectors/metaMaskWallet/metaMaskWallet.js +2 -2
  166. package/dist/wallets/walletConnectors/okxWallet/okxWallet.js +2 -2
  167. package/dist/wallets/walletConnectors/rainbowWallet/rainbowWallet.js +2 -2
  168. package/dist/wallets/walletConnectors/roninWallet/roninWallet.js +2 -2
  169. package/dist/wallets/walletConnectors/safepalWallet/safepalWallet.js +2 -2
  170. package/dist/wallets/walletConnectors/subWallet/subWallet.js +2 -2
  171. package/dist/wallets/walletConnectors/tokenPocketWallet/tokenPocketWallet.js +2 -2
  172. package/dist/wallets/walletConnectors/trustWallet/trustWallet.js +2 -2
  173. package/dist/wallets/walletConnectors/zealWallet/zealWallet.js +2 -2
  174. package/dist/wallets/walletConnectors/zerionWallet/zerionWallet.js +2 -2
  175. package/package.json +11 -12
@@ -0,0 +1,6 @@
1
+ import type { NonEvmRequestInterceptor } from './types';
2
+ export interface NonEvmConfirmationContextValue {
3
+ requestInterceptor: NonEvmRequestInterceptor | null;
4
+ }
5
+ export declare const NonEvmConfirmationContext: import("react").Context<NonEvmConfirmationContextValue>;
6
+ export declare function useNonEvmConfirmation(): NonEvmConfirmationContextValue;
@@ -3,4 +3,5 @@
3
3
  * Re-exports all public APIs
4
4
  */
5
5
  export { SignConfirmationProvider, useSignConfirmationEnabled, } from './SignConfirmationProvider';
6
- export type { SignConfirmationRequest, RequestInterceptor, ResolvedTransactionRequest, ApproveInfo, TransferInfo, SwapInfo, NftApprovalInfo, RequestType, ParsedSignRequest, ParsedTypedDataRequest, ParsedTransactionParams, } from './types';
6
+ export { NonEvmConfirmationContext, useNonEvmConfirmation, } from './NonEvmConfirmationContext';
7
+ export type { SignConfirmationRequest, RequestInterceptor, ResolvedTransactionRequest, ApproveInfo, TransferInfo, SwapInfo, NftApprovalInfo, RequestType, ParsedSignRequest, ParsedTypedDataRequest, ParsedTransactionParams, NonEvmChain, NonEvmSignRequest, NonEvmTransferRequest, NonEvmConfirmationRequest, NonEvmRequestInterceptor, } from './types';
@@ -2,7 +2,7 @@
2
2
  * Request Parsing Utilities
3
3
  * Parse and decode various EVM request types for sign confirmation
4
4
  */
5
- import type { ParsedSignRequest, ParsedTransactionParams, ParsedTypedDataRequest, RequestType } from './types';
5
+ import type { ParsedAuthorizationRequest, ParsedSignRequest, ParsedTransactionParams, ParsedTypedDataRequest, RequestType } from './types';
6
6
  /**
7
7
  * Determine request type from method
8
8
  */
@@ -17,6 +17,11 @@ export declare function parsePersonalSignParams(params: unknown[]): ParsedSignRe
17
17
  * eth_signTypedData_v4: [address, typedDataJson]
18
18
  */
19
19
  export declare function parseTypedDataParams(params: unknown[]): ParsedTypedDataRequest | null;
20
+ /**
21
+ * Parse eth_signAuthorization request params
22
+ * eth_signAuthorization: [address, { chainId, address, nonce }]
23
+ */
24
+ export declare function parseAuthorizationParams(params: unknown[]): ParsedAuthorizationRequest | null;
20
25
  /**
21
26
  * Parse eth_sendTransaction request params
22
27
  * Extracts basic tx fields and decodes function data (sync, pure function)
@@ -25,13 +25,47 @@ export type RequestInterceptor = (request: SignConfirmationRequest) => Promise<R
25
25
  /**
26
26
  * Request type classification
27
27
  */
28
- export type RequestType = 'sign' | 'typedData' | 'transaction' | null;
28
+ export type RequestType = 'sign' | 'typedData' | 'authorization' | 'transaction' | 'nonEvmSign' | 'nonEvmTransfer' | null;
29
+ /** Non-EVM chain identifier */
30
+ export type NonEvmChain = 'solana' | 'bitcoin' | 'tron';
31
+ /** Non-EVM sign confirmation request (signMessage, signTransaction) */
32
+ export interface NonEvmSignRequest {
33
+ chain: NonEvmChain;
34
+ method: 'signMessage' | 'signTransaction' | 'signAllTransactions';
35
+ address: string;
36
+ network: string;
37
+ message: string;
38
+ isTransaction?: boolean;
39
+ }
40
+ /** Non-EVM transfer confirmation request (transfer, sendTransaction) */
41
+ export interface NonEvmTransferRequest {
42
+ chain: NonEvmChain;
43
+ method: 'transfer' | 'sendTransaction';
44
+ fromAddress: string;
45
+ toAddress: string;
46
+ amount: string;
47
+ symbol: string;
48
+ network: string;
49
+ tokenAddress?: string;
50
+ isNativeToken: boolean;
51
+ estimatedFee?: string;
52
+ feeSymbol?: string;
53
+ fiatValue?: string;
54
+ tokenLogo?: string;
55
+ }
56
+ /** Union of all non-EVM confirmation requests */
57
+ export type NonEvmConfirmationRequest = NonEvmSignRequest | NonEvmTransferRequest;
58
+ /** Non-EVM request interceptor: resolve = confirm, reject = cancel */
59
+ export type NonEvmRequestInterceptor = (request: NonEvmConfirmationRequest) => Promise<void>;
29
60
  export interface ParsedSignRequest {
30
61
  message: string;
31
62
  }
32
63
  export interface ParsedTypedDataRequest {
33
64
  readableMessage: string;
34
65
  }
66
+ export interface ParsedAuthorizationRequest {
67
+ readableMessage: string;
68
+ }
35
69
  /** Parsed transaction parameters (sync parsing result) */
36
70
  export interface ParsedTransactionParams {
37
71
  to: string | null;
@@ -0,0 +1,7 @@
1
+ import type { TalkenWalletCapabilities, TalkenWalletType } from './types';
2
+ export declare function inferWalletType(connectorId?: string | null, connectorName?: string | null): TalkenWalletType;
3
+ export declare function detectCapabilities(params: {
4
+ walletClient: unknown;
5
+ connectorId?: string | null;
6
+ connectorName?: string | null;
7
+ }): Promise<TalkenWalletCapabilities>;
@@ -0,0 +1,8 @@
1
+ import type { TalkenAuthorizationRequest, TalkenAuthorizationSignature, TalkenCallsStatus, TalkenSendCallsRequest, TalkenSendCallsResponse } from './types';
2
+ export declare function requestWalletAction<T>(walletClient: unknown, args: {
3
+ method: string;
4
+ params?: unknown;
5
+ }): Promise<T>;
6
+ export declare function normalizeAuthorizationResult(result: unknown, fallback: TalkenAuthorizationRequest): TalkenAuthorizationSignature;
7
+ export declare function sendWalletCalls(walletClient: unknown, request: TalkenSendCallsRequest): Promise<TalkenSendCallsResponse>;
8
+ export declare function getWalletCallsStatus(walletClient: unknown, id: string): Promise<TalkenCallsStatus>;
@@ -0,0 +1,50 @@
1
+ export type TalkenWalletType = 'abc-embedded' | 'metamask' | 'coinbase' | 'walletconnect' | 'injected' | 'unknown';
2
+ export type TalkenWalletCapabilities = {
3
+ supportsTypedDataV4: boolean;
4
+ supports7702Authorization: boolean;
5
+ supports5792Batch: boolean;
6
+ supportsPaymasterService: boolean;
7
+ supportsPermit2RelayHints: boolean;
8
+ walletType: TalkenWalletType;
9
+ };
10
+ export type TalkenAuthorizationRequest = {
11
+ chainId: number;
12
+ address: `0x${string}`;
13
+ nonce: bigint;
14
+ };
15
+ export type TalkenAuthorizationSignature = {
16
+ chainId: bigint;
17
+ address: `0x${string}`;
18
+ nonce: bigint;
19
+ yParity: 0 | 1;
20
+ r: `0x${string}`;
21
+ s: `0x${string}`;
22
+ };
23
+ export type TalkenSendCall = {
24
+ to: `0x${string}`;
25
+ data: `0x${string}`;
26
+ value?: `0x${string}`;
27
+ };
28
+ export type TalkenSendCallsRequest = {
29
+ chainId: number;
30
+ calls: TalkenSendCall[];
31
+ atomicRequired?: boolean;
32
+ paymasterUrl?: string;
33
+ };
34
+ export type TalkenSendCallsResponse = {
35
+ id: string;
36
+ };
37
+ export type TalkenCallsStatus = {
38
+ status: 'pending' | 'confirmed' | 'failed';
39
+ receipts: Array<{
40
+ transactionHash?: `0x${string}`;
41
+ }>;
42
+ };
43
+ export type UseWalletCapabilitiesReturn = {
44
+ capabilities: TalkenWalletCapabilities | null;
45
+ isLoading: boolean;
46
+ refresh: () => Promise<void>;
47
+ signAuthorization: (request: TalkenAuthorizationRequest) => Promise<TalkenAuthorizationSignature>;
48
+ sendCalls: (request: TalkenSendCallsRequest) => Promise<TalkenSendCallsResponse>;
49
+ getCallsStatus: (id: string) => Promise<TalkenCallsStatus>;
50
+ };
@@ -2,11 +2,11 @@
2
2
  import {
3
3
  AbcWaasClient,
4
4
  createAbcWaasClient
5
- } from "../chunk-BDM7TUVM.js";
5
+ } from "../chunk-JIJNCMJR.js";
6
6
  import "../chunk-7QHCSJDN.js";
7
- import "../chunk-6LH6ZME2.js";
7
+ import "../chunk-LOSXI36Y.js";
8
8
  import "../chunk-D5EFTEOM.js";
9
- import "../chunk-DHHVIM22.js";
9
+ import "../chunk-BR25RFNF.js";
10
10
  export {
11
11
  AbcWaasClient,
12
12
  createAbcWaasClient
@@ -2,11 +2,11 @@
2
2
  import {
3
3
  AbcBitcoinConnector,
4
4
  createAbcBitcoinConnector
5
- } from "../chunk-IXEXMODE.js";
5
+ } from "../chunk-DU6RCLWT.js";
6
6
  import "../chunk-O4AU63LK.js";
7
- import "../chunk-6LH6ZME2.js";
7
+ import "../chunk-LOSXI36Y.js";
8
8
  import "../chunk-D5EFTEOM.js";
9
- import "../chunk-DHHVIM22.js";
9
+ import "../chunk-BR25RFNF.js";
10
10
  export {
11
11
  AbcBitcoinConnector,
12
12
  createAbcBitcoinConnector
@@ -4,6 +4,7 @@
4
4
  * Bitcoin-specific provider for UTXO management and PSBT signing
5
5
  * Reference: Solana provider pattern
6
6
  */
7
+ import type { NonEvmRequestInterceptor } from '../../../providers/SignConfirmationProvider/types';
7
8
  import type { AbcWaasApiClient } from './api';
8
9
  import type { TalkenApiClient } from './api/TalkenApiClient';
9
10
  import type { AbcBitcoinWallet, BitcoinUtxo } from './types';
@@ -48,7 +49,16 @@ export declare class AbcBitcoinProvider extends EventEmitter {
48
49
  private utxoCache;
49
50
  private cacheExpiry;
50
51
  private readonly CACHE_TTL;
52
+ private requestInterceptor?;
51
53
  constructor(client: AbcWaasApiClient);
54
+ /**
55
+ * Set request interceptor for sign/transfer confirmation modals
56
+ */
57
+ setRequestInterceptor(interceptor?: NonEvmRequestInterceptor): void;
58
+ /**
59
+ * Call request interceptor if set (throws on user cancel)
60
+ */
61
+ private callInterceptor;
52
62
  /**
53
63
  * Set wallet information
54
64
  */
@@ -3,7 +3,7 @@ import {
3
3
  AbcBitcoinProvider,
4
4
  BITCOIN_NETWORKS,
5
5
  BitcoinProviderError
6
- } from "../chunk-7K4BL7CY.js";
6
+ } from "../chunk-UGQSI3US.js";
7
7
  export {
8
8
  AbcBitcoinProvider,
9
9
  BITCOIN_NETWORKS,
@@ -1,14 +1,14 @@
1
1
  "use client";
2
2
  import {
3
3
  abcConnector
4
- } from "../chunk-MEAJDFYT.js";
5
- import "../chunk-F5C6OZYF.js";
6
- import "../chunk-BDM7TUVM.js";
4
+ } from "../chunk-3DGFHWI3.js";
5
+ import "../chunk-4FKUVQCM.js";
6
+ import "../chunk-JIJNCMJR.js";
7
7
  import "../chunk-O4AU63LK.js";
8
8
  import "../chunk-7QHCSJDN.js";
9
- import "../chunk-6LH6ZME2.js";
9
+ import "../chunk-LOSXI36Y.js";
10
10
  import "../chunk-D5EFTEOM.js";
11
- import "../chunk-DHHVIM22.js";
11
+ import "../chunk-BR25RFNF.js";
12
12
  export {
13
13
  abcConnector
14
14
  };
@@ -98,6 +98,15 @@ export declare class AbcEvmProvider extends EventEmitter {
98
98
  * Sign typed data (EIP-712)
99
99
  */
100
100
  private eth_signTypedData;
101
+ /**
102
+ * Return normalized wallet capabilities for ABC embedded wallets.
103
+ * ABC supports EIP-7702 authorization signing via talken-api.
104
+ */
105
+ private wallet_getCapabilities;
106
+ /**
107
+ * Sign EIP-7702 authorization via Talken API.
108
+ */
109
+ private eth_signAuthorization;
101
110
  /**
102
111
  * Switch Ethereum chain
103
112
  */
@@ -3,11 +3,11 @@ import {
3
3
  AbcEvmProvider,
4
4
  createAbcEvmProvider,
5
5
  createAbcProvider
6
- } from "../chunk-F5C6OZYF.js";
6
+ } from "../chunk-4FKUVQCM.js";
7
7
  import "../chunk-7QHCSJDN.js";
8
- import "../chunk-6LH6ZME2.js";
8
+ import "../chunk-LOSXI36Y.js";
9
9
  import "../chunk-D5EFTEOM.js";
10
- import "../chunk-DHHVIM22.js";
10
+ import "../chunk-BR25RFNF.js";
11
11
  export {
12
12
  AbcEvmProvider,
13
13
  createAbcEvmProvider,
@@ -4,6 +4,7 @@
4
4
  * Solana-specific provider for message and transaction signing
5
5
  * Reference: Bitcoin provider pattern
6
6
  */
7
+ import type { NonEvmRequestInterceptor } from '../../../providers/SignConfirmationProvider/types';
7
8
  import type { AbcWaasApiClient } from './api';
8
9
  import type { TalkenApiClient } from './api/TalkenApiClient';
9
10
  import type { AbcSolanaWallet } from './types';
@@ -35,7 +36,16 @@ export declare class AbcSolanaProvider extends EventEmitter {
35
36
  private wallet;
36
37
  private connected;
37
38
  private talkenApi?;
39
+ private requestInterceptor?;
38
40
  constructor(client: AbcWaasApiClient);
41
+ /**
42
+ * Set request interceptor for sign/transfer confirmation modals
43
+ */
44
+ setRequestInterceptor(interceptor?: NonEvmRequestInterceptor): void;
45
+ /**
46
+ * Call request interceptor if set (throws on user cancel)
47
+ */
48
+ private callInterceptor;
39
49
  /**
40
50
  * Set wallet information
41
51
  */
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  AbcSolanaProvider,
4
4
  SolanaProviderError
5
- } from "../chunk-7RSNIMBB.js";
5
+ } from "../chunk-ENN6UGGA.js";
6
6
  export {
7
7
  AbcSolanaProvider,
8
8
  SolanaProviderError
@@ -90,6 +90,7 @@ export declare class AbcSolanaWalletAdapter extends BaseMessageSignerWalletAdapt
90
90
  private _solanaApi;
91
91
  private _config;
92
92
  private _styleInjected;
93
+ private _requestInterceptor?;
93
94
  /**
94
95
  * Creates a new ABC Solana Wallet Adapter instance
95
96
  * @param config - Optional configuration
@@ -115,6 +116,17 @@ export declare class AbcSolanaWalletAdapter extends BaseMessageSignerWalletAdapt
115
116
  * Connect to ABC Wallet
116
117
  */
117
118
  connect(): Promise<void>;
119
+ /**
120
+ * Set a request interceptor for sign/transaction confirmation modals.
121
+ * Called via CustomEvent from SignConfirmationProvider.
122
+ */
123
+ setRequestInterceptor(interceptor?: (req: any) => Promise<void>): void;
124
+ private callInterceptor;
125
+ /**
126
+ * Serialize transaction instructions for display in confirmation modal.
127
+ * Produces JSON compatible with NonEvmSignConfirmationModal's instruction parser.
128
+ */
129
+ private serializeTransactionForDisplay;
118
130
  /**
119
131
  * Disconnect from the wallet
120
132
  */
@@ -127,6 +139,10 @@ export declare class AbcSolanaWalletAdapter extends BaseMessageSignerWalletAdapt
127
139
  * Sign a transaction
128
140
  */
129
141
  signTransaction<T extends Transaction | VersionedTransaction>(transaction: T): Promise<T>;
142
+ /**
143
+ * Internal signing logic (no interceptor). Used by signTransaction and sendTransaction.
144
+ */
145
+ private _signTransactionInternal;
130
146
  /**
131
147
  * Sign multiple transactions
132
148
  */
@@ -1,16 +1,16 @@
1
1
  "use client";
2
2
  import {
3
3
  SolanaApi
4
- } from "../chunk-C4L5XI6N.js";
5
- import "../chunk-7ZCM4DCC.js";
4
+ } from "../chunk-OIRY24PH.js";
5
+ import "../chunk-MBRXYEQC.js";
6
6
  import {
7
7
  createAbcWaasClient
8
- } from "../chunk-BDM7TUVM.js";
8
+ } from "../chunk-JIJNCMJR.js";
9
9
  import "../chunk-O4AU63LK.js";
10
10
  import "../chunk-7QHCSJDN.js";
11
- import "../chunk-6LH6ZME2.js";
11
+ import "../chunk-LOSXI36Y.js";
12
12
  import "../chunk-D5EFTEOM.js";
13
- import "../chunk-DHHVIM22.js";
13
+ import "../chunk-BR25RFNF.js";
14
14
 
15
15
  // src/wallets/walletConnectors/abcWallet/abcSolanaWalletAdapter.ts
16
16
  import {
@@ -221,8 +221,6 @@ var AbcSolanaWalletAdapter = class extends BaseMessageSignerWalletAdapter {
221
221
  "talkenkit_storage_update",
222
222
  this._handleStorageUpdate
223
223
  );
224
- document.addEventListener("visibilitychange", this._handleStorageUpdate);
225
- setTimeout(() => this._handleStorageUpdate(), 100);
226
224
  }
227
225
  }
228
226
  /**
@@ -254,8 +252,12 @@ var AbcSolanaWalletAdapter = class extends BaseMessageSignerWalletAdapter {
254
252
  */
255
253
  async connect() {
256
254
  try {
257
- if (this.connected || this.connecting)
255
+ if (this.connecting)
258
256
  return;
257
+ if (this.connected && this._publicKey) {
258
+ this.emit("connect", this._publicKey);
259
+ return;
260
+ }
259
261
  this._connecting = true;
260
262
  const authState = localStorage.getItem("talkenkit_abc_auth_state");
261
263
  if (authState) {
@@ -375,6 +377,46 @@ var AbcSolanaWalletAdapter = class extends BaseMessageSignerWalletAdapter {
375
377
  throw new WalletConnectionError(error?.message, error);
376
378
  }
377
379
  }
380
+ /**
381
+ * Set a request interceptor for sign/transaction confirmation modals.
382
+ * Called via CustomEvent from SignConfirmationProvider.
383
+ */
384
+ setRequestInterceptor(interceptor) {
385
+ this._requestInterceptor = interceptor;
386
+ }
387
+ async callInterceptor(request) {
388
+ if (this._requestInterceptor) {
389
+ await this._requestInterceptor(request);
390
+ }
391
+ }
392
+ /**
393
+ * Serialize transaction instructions for display in confirmation modal.
394
+ * Produces JSON compatible with NonEvmSignConfirmationModal's instruction parser.
395
+ */
396
+ serializeTransactionForDisplay(transaction) {
397
+ try {
398
+ if ("version" in transaction) {
399
+ const compiled = transaction.message.compiledInstructions;
400
+ const accountKeys = transaction.message.staticAccountKeys;
401
+ const instructions2 = compiled.map((ix) => ({
402
+ programId: accountKeys[ix.programIdIndex]?.toBase58() || "unknown",
403
+ keys: ix.accountKeyIndexes.map(
404
+ (idx) => accountKeys[idx]?.toBase58() || "unknown"
405
+ ),
406
+ data: Buffer.from(ix.data).toString("hex")
407
+ }));
408
+ return JSON.stringify({ instructions: instructions2 });
409
+ }
410
+ const instructions = transaction.instructions.map((ix) => ({
411
+ programId: ix.programId.toBase58(),
412
+ keys: ix.keys.map((k) => k.pubkey.toBase58()),
413
+ data: Buffer.from(ix.data).toString("hex")
414
+ }));
415
+ return JSON.stringify({ instructions });
416
+ } catch {
417
+ return "";
418
+ }
419
+ }
378
420
  /**
379
421
  * Disconnect from the wallet
380
422
  */
@@ -398,6 +440,14 @@ var AbcSolanaWalletAdapter = class extends BaseMessageSignerWalletAdapter {
398
440
  try {
399
441
  if (!this._wallet)
400
442
  throw new WalletNotReadyError();
443
+ const messageText = new TextDecoder().decode(message);
444
+ await this.callInterceptor({
445
+ chain: "solana",
446
+ method: "signMessage",
447
+ address: this._publicKey?.toBase58() || "",
448
+ network: this._config.network || "solana",
449
+ message: messageText
450
+ });
401
451
  const messageHex = Buffer.from(message).toString("hex");
402
452
  const pinHash = localStorage.getItem("talkenkit_abc_pin_hash") || "";
403
453
  const signatureResponse = await this._solanaApi.signSolanaTransaction({
@@ -423,32 +473,53 @@ var AbcSolanaWalletAdapter = class extends BaseMessageSignerWalletAdapter {
423
473
  throw new WalletNotReadyError();
424
474
  if (!this._publicKey)
425
475
  throw new WalletNotReadyError();
426
- const serialized = isVersionedTransaction(transaction) ? Buffer.from(transaction.serialize()) : Buffer.from(transaction.serialize({ requireAllSignatures: false }));
427
- const messageHex = serialized.toString("hex");
428
- const signatureResponse = await this._solanaApi.signSolanaTransaction({
429
- keyId: this._wallet.keyId,
430
- encryptedShare: this._wallet.encryptedShare,
431
- secretStore: this._wallet.secretStore || "",
432
- message: messageHex
476
+ const instructionsJson = this.serializeTransactionForDisplay(transaction);
477
+ await this.callInterceptor({
478
+ chain: "solana",
479
+ method: "signTransaction",
480
+ address: this._publicKey.toBase58(),
481
+ network: this._config.network || "solana",
482
+ message: instructionsJson,
483
+ isTransaction: true
433
484
  });
434
- const signature = Buffer.from(signatureResponse.signature, "hex");
435
- if (isVersionedTransaction(transaction)) {
436
- transaction.addSignature(
437
- this._publicKey,
438
- signature
485
+ return this._signTransactionInternal(transaction);
486
+ } catch (error) {
487
+ if (error?.code !== 4001 && !error?.cancelled) {
488
+ console.error(
489
+ "[AbcSolanaWalletAdapter] \u274C signTransaction failed:",
490
+ error
439
491
  );
440
- } else {
441
- transaction.addSignature(this._publicKey, signature);
442
492
  }
443
- return transaction;
444
- } catch (error) {
445
- console.error(
446
- "[AbcSolanaWalletAdapter] \u274C signTransaction failed:",
447
- error
448
- );
449
493
  throw new WalletSignTransactionError(error?.message, error);
450
494
  }
451
495
  }
496
+ /**
497
+ * Internal signing logic (no interceptor). Used by signTransaction and sendTransaction.
498
+ */
499
+ async _signTransactionInternal(transaction) {
500
+ if (!this._wallet)
501
+ throw new WalletNotReadyError();
502
+ if (!this._publicKey)
503
+ throw new WalletNotReadyError();
504
+ const messageBytes = isVersionedTransaction(transaction) ? transaction.message.serialize() : transaction.serializeMessage();
505
+ const messageHex = Buffer.from(messageBytes).toString("hex");
506
+ const signatureResponse = await this._solanaApi.signSolanaTransaction({
507
+ keyId: this._wallet.keyId,
508
+ encryptedShare: this._wallet.encryptedShare,
509
+ secretStore: this._wallet.secretStore || "",
510
+ message: messageHex
511
+ });
512
+ const signature = Buffer.from(signatureResponse.signature, "hex");
513
+ if (isVersionedTransaction(transaction)) {
514
+ transaction.addSignature(
515
+ this._publicKey,
516
+ signature
517
+ );
518
+ } else {
519
+ transaction.addSignature(this._publicKey, signature);
520
+ }
521
+ return transaction;
522
+ }
452
523
  /**
453
524
  * Sign multiple transactions
454
525
  */
@@ -472,15 +543,26 @@ var AbcSolanaWalletAdapter = class extends BaseMessageSignerWalletAdapter {
472
543
  throw new WalletNotReadyError();
473
544
  if (!this._publicKey)
474
545
  throw new WalletNotReadyError();
475
- const signed = await this.signTransaction(transaction);
546
+ const instructionsJson = this.serializeTransactionForDisplay(transaction);
547
+ await this.callInterceptor({
548
+ chain: "solana",
549
+ method: "signTransaction",
550
+ address: this._publicKey.toBase58(),
551
+ network: this._config.network || "solana",
552
+ message: instructionsJson,
553
+ isTransaction: true
554
+ });
555
+ const signed = await this._signTransactionInternal(transaction);
476
556
  const serialized = Buffer.from(signed.serialize());
477
557
  const txHash = await connection.sendRawTransaction(serialized, options);
478
558
  return txHash;
479
559
  } catch (error) {
480
- console.error(
481
- "[AbcSolanaWalletAdapter] \u274C sendTransaction - failed:",
482
- error
483
- );
560
+ if (error?.code !== 4001 && !error?.cancelled) {
561
+ console.error(
562
+ "[AbcSolanaWalletAdapter] \u274C sendTransaction - failed:",
563
+ error
564
+ );
565
+ }
484
566
  throw new WalletSendTransactionError(error?.message, error);
485
567
  }
486
568
  }
@@ -4,6 +4,7 @@
4
4
  * TRON-specific provider for TRX/TRC20 transaction signing and broadcasting
5
5
  * Reference: AbcBitcoinProvider pattern
6
6
  */
7
+ import type { NonEvmRequestInterceptor } from '../../../providers/SignConfirmationProvider/types';
7
8
  import type { AbcWaasApiClient } from './api';
8
9
  import type { TalkenApiClient } from './api/TalkenApiClient';
9
10
  import type { AbcTronWallet } from './types';
@@ -58,7 +59,17 @@ export declare class AbcTronProvider extends EventEmitter {
58
59
  private network;
59
60
  private connected;
60
61
  private talkenApi?;
62
+ private requestInterceptor?;
63
+ private tokenMetadataCache;
61
64
  constructor(_client: AbcWaasApiClient);
65
+ /**
66
+ * Set request interceptor for transfer confirmation modals
67
+ */
68
+ setRequestInterceptor(interceptor?: NonEvmRequestInterceptor): void;
69
+ /**
70
+ * Call request interceptor if set (throws on user cancel)
71
+ */
72
+ private callInterceptor;
62
73
  /**
63
74
  * Set wallet information
64
75
  */
@@ -72,6 +83,11 @@ export declare class AbcTronProvider extends EventEmitter {
72
83
  * When set, sendTransaction will use a single API call instead of multi-step WaaS
73
84
  */
74
85
  setTalkenApi(talkenApi: TalkenApiClient): void;
86
+ /**
87
+ * Fetch token metadata (symbol, logo) from walletscan API with caching.
88
+ * Falls back to 'TRX'/'TRC20' on failure.
89
+ */
90
+ private fetchTokenMetadata;
75
91
  /**
76
92
  * Check if connected
77
93
  */
@@ -3,7 +3,7 @@ import {
3
3
  AbcTronProvider,
4
4
  TRON_NETWORKS,
5
5
  TronProviderError
6
- } from "../chunk-H2RCMAOR.js";
6
+ } from "../chunk-AOREXGRM.js";
7
7
  export {
8
8
  AbcTronProvider,
9
9
  TRON_NETWORKS,
@@ -1,16 +1,16 @@
1
1
  "use client";
2
2
  import {
3
3
  abcWallet
4
- } from "../chunk-ZAZVSLZK.js";
5
- import "../chunk-BBD77PEX.js";
6
- import "../chunk-MEAJDFYT.js";
7
- import "../chunk-F5C6OZYF.js";
8
- import "../chunk-BDM7TUVM.js";
4
+ } from "../chunk-ORBX4JE2.js";
5
+ import "../chunk-6CVXZ3ZW.js";
6
+ import "../chunk-3DGFHWI3.js";
7
+ import "../chunk-4FKUVQCM.js";
8
+ import "../chunk-JIJNCMJR.js";
9
9
  import "../chunk-O4AU63LK.js";
10
10
  import "../chunk-7QHCSJDN.js";
11
- import "../chunk-6LH6ZME2.js";
11
+ import "../chunk-LOSXI36Y.js";
12
12
  import "../chunk-D5EFTEOM.js";
13
- import "../chunk-DHHVIM22.js";
13
+ import "../chunk-BR25RFNF.js";
14
14
  export {
15
15
  abcWallet
16
16
  };
@@ -1,11 +1,11 @@
1
1
  "use client";
2
2
  import {
3
3
  AuthApi
4
- } from "../../chunk-O47OQDRJ.js";
5
- import "../../chunk-7ZCM4DCC.js";
6
- import "../../chunk-6LH6ZME2.js";
4
+ } from "../../chunk-EXWDLN5V.js";
5
+ import "../../chunk-MBRXYEQC.js";
6
+ import "../../chunk-LOSXI36Y.js";
7
7
  import "../../chunk-D5EFTEOM.js";
8
- import "../../chunk-DHHVIM22.js";
8
+ import "../../chunk-BR25RFNF.js";
9
9
  export {
10
10
  AuthApi
11
11
  };