@talken/talkenkit 2.4.15 → 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.
- package/dist/abcWallet-54KUGWUZ.js +192 -0
- package/dist/abcWallet-KZHOADBJ.js +192 -0
- package/dist/abcWallet-NZAVB4PI.js +190 -0
- package/dist/chunk-5X3ROW3U.js +8777 -0
- package/dist/chunk-DKA3NVFM.js +8497 -0
- package/dist/chunk-QNZ5HSPM.js +8339 -0
- package/dist/chunk-VE53ZNZV.js +331 -0
- package/dist/components/ConfirmationModal/ApproveSection.css.d.ts +16 -0
- package/dist/components/ConfirmationModal/ApproveSection.d.ts +8 -0
- package/dist/components/ConfirmationModal/NFTPlaceholder.css.d.ts +7 -0
- package/dist/components/ConfirmationModal/NFTPlaceholder.d.ts +8 -0
- package/dist/components/ConfirmationModal/NftApprovalSection.css.d.ts +10 -0
- package/dist/components/ConfirmationModal/NftApprovalSection.d.ts +7 -0
- package/dist/components/ConfirmationModal/SignConfirmationModal.css.d.ts +35 -0
- package/dist/components/ConfirmationModal/SignConfirmationModal.d.ts +17 -0
- package/dist/components/ConfirmationModal/SwapSection.css.d.ts +17 -0
- package/dist/components/ConfirmationModal/SwapSection.d.ts +7 -0
- package/dist/components/ConfirmationModal/TransactionConfirmationModal.css.d.ts +49 -0
- package/dist/components/ConfirmationModal/TransactionConfirmationModal.d.ts +12 -0
- package/dist/components/ConfirmationModal/TransferSection.css.d.ts +17 -0
- package/dist/components/ConfirmationModal/TransferSection.d.ts +7 -0
- package/dist/components/ConfirmationModal/commonStyles.css.d.ts +37 -0
- package/dist/components/ConfirmationModal/constants.d.ts +16 -0
- package/dist/components/ConfirmationModal/index.d.ts +9 -0
- package/dist/components/ConfirmationModal/modalTheme.css.d.ts +20 -0
- package/dist/components/ConfirmationModal/transactionUIRegistry.d.ts +134 -0
- package/dist/components/ConfirmationModal/utils.d.ts +37 -0
- package/dist/components/ConnectOptions/AbcWaasAuth/AbcWaasAuthSections.css.d.ts +1 -0
- package/dist/components/ConnectOptions/AbcWaasAuth/AbcWaasAuthSections.d.ts +1 -1
- package/dist/components/ConnectOptions/AbcWaasAuth/hooks/useAbcWaasAuth.d.ts +2 -25
- package/dist/components/ConnectOptions/AbcWaasAuth/hooks/useAbcWaasSocial.d.ts +1 -47
- package/dist/components/ConnectOptions/PinAuth/hooks/useWalletGeneration.d.ts +4 -21
- package/dist/components/GasFeeModal/GasFeeEditModal.css.d.ts +32 -0
- package/dist/components/GasFeeModal/GasFeeEditModal.d.ts +21 -0
- package/dist/components/GasFeeModal/index.d.ts +3 -0
- package/dist/components/GasFeeModal/modalTheme.css.d.ts +19 -0
- package/dist/components/Icons/Close2.d.ts +7 -0
- package/dist/components/Icons/Copy2.d.ts +4 -0
- package/dist/components/Icons/Dropdown2.d.ts +4 -0
- package/dist/components/Icons/Edit.d.ts +4 -0
- package/dist/components/Icons/InfoCircle.d.ts +4 -0
- package/dist/components/Icons/Kakao.d.ts +2 -0
- package/dist/components/Icons/Minus.d.ts +4 -0
- package/dist/components/Icons/Plus.d.ts +4 -0
- package/dist/components/Icons/SettingsGear.d.ts +4 -0
- package/dist/components/Icons/SpeedHigh.d.ts +4 -0
- package/dist/components/Icons/SpeedLow.d.ts +4 -0
- package/dist/components/Icons/SpeedMedium.d.ts +4 -0
- package/dist/components/RainbowKitProvider/InternalPinProvider.d.ts +7 -9
- package/dist/components/RainbowKitProvider/RainbowKitConfigProvider.d.ts +1 -6
- package/dist/components/RainbowKitProvider/RainbowKitProvider.d.ts +7 -7
- package/dist/components/Toast/Toast.css.d.ts +2 -0
- package/dist/components/Toast/Toast.d.ts +6 -0
- package/dist/components/Toast/index.d.ts +4 -0
- package/dist/components/Toast/useToast.d.ts +10 -0
- package/dist/config/networks.d.ts +10 -0
- package/dist/css/sprinkles.css.d.ts +1 -1
- package/dist/hooks/useSolanaWallet.d.ts +5 -23
- package/dist/hooks/useTronWallet.d.ts +63 -0
- package/dist/index.css +1903 -236
- package/dist/index.d.ts +8 -3
- package/dist/index.js +7557 -3592
- package/dist/klipWallet-RD5Y4UEK.js +8 -0
- package/dist/providers/SignConfirmationProvider/SignConfirmationProvider.d.ts +22 -0
- package/dist/providers/SignConfirmationProvider/index.d.ts +6 -0
- package/dist/providers/SignConfirmationProvider/requestParsers.d.ts +24 -0
- package/dist/providers/SignConfirmationProvider/types.d.ts +91 -0
- package/dist/providers/SignConfirmationProvider/useApiClient.d.ts +15 -0
- package/dist/providers/SignConfirmationProvider/useTransactionResolver.d.ts +18 -0
- package/dist/secure-AEBFSVWE.js +8 -0
- package/dist/services/AbcAgenticWalletService.d.ts +111 -0
- package/dist/services/AbcAuthService.d.ts +26 -20
- package/dist/types/index.d.ts +3 -0
- package/dist/types/token.d.ts +82 -0
- package/dist/utils/abi/abiDecoder.d.ts +144 -0
- package/dist/utils/apiClientFactory.d.ts +21 -0
- package/dist/utils/blockies.d.ts +12 -0
- package/dist/utils/tokenMapper.d.ts +10 -0
- package/dist/wallets/walletConnectors/abcWallet/abcApi.d.ts +4 -1
- package/dist/wallets/walletConnectors/abcWallet/abcApi.js +7 -7
- package/dist/wallets/walletConnectors/abcWallet/abcBitcoinConnector.js +5 -5
- package/dist/wallets/walletConnectors/abcWallet/abcBitcoinProvider.d.ts +6 -8
- package/dist/wallets/walletConnectors/abcWallet/abcBitcoinProvider.js +1 -1
- package/dist/wallets/walletConnectors/abcWallet/abcConnector.js +9 -9
- package/dist/wallets/walletConnectors/abcWallet/abcProvider.d.ts +17 -6
- package/dist/wallets/walletConnectors/abcWallet/abcProvider.js +5 -4
- package/dist/wallets/walletConnectors/abcWallet/abcSolanaProvider.d.ts +11 -34
- package/dist/wallets/walletConnectors/abcWallet/abcSolanaProvider.js +1 -1
- package/dist/wallets/walletConnectors/abcWallet/abcSolanaWalletAdapter.d.ts +3 -11
- package/dist/wallets/walletConnectors/abcWallet/abcSolanaWalletAdapter.js +17 -80
- package/dist/wallets/walletConnectors/abcWallet/abcTronProvider.d.ts +112 -0
- package/dist/wallets/walletConnectors/abcWallet/abcTronProvider.js +11 -0
- package/dist/wallets/walletConnectors/abcWallet/abcWallet.d.ts +2 -0
- package/dist/wallets/walletConnectors/abcWallet/abcWallet.js +11 -10
- package/dist/wallets/walletConnectors/abcWallet/api/AuthApi.d.ts +9 -11
- package/dist/wallets/walletConnectors/abcWallet/api/AuthApi.js +6 -6
- package/dist/wallets/walletConnectors/abcWallet/api/BaseApiClient.d.ts +1 -1
- package/dist/wallets/walletConnectors/abcWallet/api/BaseApiClient.js +5 -5
- package/dist/wallets/walletConnectors/abcWallet/api/BitcoinApi.js +6 -6
- package/dist/wallets/walletConnectors/abcWallet/api/GasApi.d.ts +45 -0
- package/dist/wallets/walletConnectors/abcWallet/api/GasApi.js +12 -0
- package/dist/wallets/walletConnectors/abcWallet/api/SigningApi.js +7 -7
- package/dist/wallets/walletConnectors/abcWallet/api/SolanaApi.d.ts +9 -1
- package/dist/wallets/walletConnectors/abcWallet/api/SolanaApi.js +7 -7
- package/dist/wallets/walletConnectors/abcWallet/api/TalkenApiClient.d.ts +333 -0
- package/dist/wallets/walletConnectors/abcWallet/api/TalkenApiClient.js +11 -0
- package/dist/wallets/walletConnectors/abcWallet/api/TalkenApiSingleton.d.ts +18 -0
- package/dist/wallets/walletConnectors/abcWallet/api/TalkenApiSingleton.js +14 -0
- package/dist/wallets/walletConnectors/abcWallet/api/TransactionApi.d.ts +2 -2
- package/dist/wallets/walletConnectors/abcWallet/api/TransactionApi.js +7 -7
- package/dist/wallets/walletConnectors/abcWallet/api/TronApi.d.ts +102 -0
- package/dist/wallets/walletConnectors/abcWallet/api/TronApi.js +12 -0
- package/dist/wallets/walletConnectors/abcWallet/api/WalletApi.d.ts +4 -2
- package/dist/wallets/walletConnectors/abcWallet/api/WalletApi.js +7 -7
- package/dist/wallets/walletConnectors/abcWallet/api/WalletscanApi.d.ts +60 -0
- package/dist/wallets/walletConnectors/abcWallet/api/WalletscanApi.js +12 -0
- package/dist/wallets/walletConnectors/abcWallet/api/index.d.ts +24 -0
- package/dist/wallets/walletConnectors/abcWallet/api/index.js +35 -17
- package/dist/wallets/walletConnectors/abcWallet/constants.d.ts +39 -1
- package/dist/wallets/walletConnectors/abcWallet/constants.js +5 -1
- package/dist/wallets/walletConnectors/abcWallet/googleAuth.d.ts +6 -0
- package/dist/wallets/walletConnectors/abcWallet/googleAuth.js +37 -1
- package/dist/wallets/walletConnectors/abcWallet/index.d.ts +5 -3
- package/dist/wallets/walletConnectors/abcWallet/index.js +44 -31
- package/dist/wallets/walletConnectors/abcWallet/kakaoAuth.d.ts +27 -0
- package/dist/wallets/walletConnectors/abcWallet/kakaoAuth.js +290 -0
- package/dist/wallets/walletConnectors/abcWallet/networkConfig.d.ts +39 -3
- package/dist/wallets/walletConnectors/abcWallet/networkConfig.js +11 -3
- package/dist/wallets/walletConnectors/abcWallet/secure.js +2 -2
- package/dist/wallets/walletConnectors/abcWallet/sessionUtils.js +1 -1
- package/dist/wallets/walletConnectors/abcWallet/types.d.ts +369 -7
- package/dist/wallets/walletConnectors/abcWallet/types.js +5 -3
- package/dist/wallets/walletConnectors/abcWallet/utils.js +3 -3
- package/dist/wallets/walletConnectors/abcWallet/walletGeneration.d.ts +10 -19
- package/dist/wallets/walletConnectors/abcWallet/walletGeneration.js +2 -2
- package/dist/wallets/walletConnectors/berasigWallet/berasigWallet.js +2 -2
- package/dist/wallets/walletConnectors/bifrostWallet/bifrostWallet.js +2 -2
- package/dist/wallets/walletConnectors/binanceWallet/binanceWallet.js +2 -2
- package/dist/wallets/walletConnectors/bitgetWallet/bitgetWallet.js +2 -2
- package/dist/wallets/walletConnectors/bybitWallet/bybitWallet.js +2 -2
- package/dist/wallets/walletConnectors/chunk-25V3FW3O.js +282 -0
- package/dist/wallets/walletConnectors/chunk-27346T3J.js +134 -0
- package/dist/wallets/walletConnectors/chunk-5CNLMOB2.js +75 -0
- package/dist/wallets/walletConnectors/chunk-5K45TCAM.js +333 -0
- package/dist/wallets/walletConnectors/chunk-5VDSMZC4.js +286 -0
- package/dist/wallets/walletConnectors/chunk-5W7RBMPH.js +351 -0
- package/dist/wallets/walletConnectors/chunk-5XORKEWE.js +326 -0
- package/dist/wallets/walletConnectors/chunk-63WBO52A.js +77 -0
- package/dist/wallets/walletConnectors/chunk-7IRF225N.js +75 -0
- package/dist/wallets/walletConnectors/chunk-7QHCSJDN.js +726 -0
- package/dist/wallets/walletConnectors/chunk-A27H6PEU.js +739 -0
- package/dist/wallets/walletConnectors/chunk-A4WR3CFN.js +130 -0
- package/dist/wallets/walletConnectors/chunk-A6FUNQWF.js +572 -0
- package/dist/wallets/walletConnectors/chunk-AF4OCS7N.js +46 -0
- package/dist/wallets/walletConnectors/chunk-AFWBXEEC.js +66 -0
- package/dist/wallets/walletConnectors/chunk-AUGP2LJR.js +182 -0
- package/dist/wallets/walletConnectors/chunk-AWLDVQXC.js +317 -0
- package/dist/wallets/walletConnectors/chunk-BLEKTKBN.js +479 -0
- package/dist/wallets/walletConnectors/chunk-BVL6G5HI.js +1757 -0
- package/dist/wallets/walletConnectors/chunk-CMTGEHDI.js +485 -0
- package/dist/wallets/walletConnectors/chunk-D5EFTEOM.js +56 -0
- package/dist/wallets/walletConnectors/chunk-DM5NLSWD.js +346 -0
- package/dist/wallets/walletConnectors/chunk-EBGI4D2T.js +69 -0
- package/dist/wallets/walletConnectors/chunk-EEH2HMFG.js +47 -0
- package/dist/wallets/walletConnectors/chunk-F5JWDBKK.js +47 -0
- package/dist/wallets/walletConnectors/chunk-FN67MIIH.js +75 -0
- package/dist/wallets/walletConnectors/chunk-FWYVBX5F.js +75 -0
- package/dist/wallets/walletConnectors/chunk-GH6ZDY4K.js +58 -0
- package/dist/wallets/walletConnectors/chunk-GIJZMIBD.js +63 -0
- package/dist/wallets/walletConnectors/chunk-GO6OLTNF.js +479 -0
- package/dist/wallets/walletConnectors/chunk-HKXBK3NY.js +75 -0
- package/dist/wallets/walletConnectors/chunk-HMD2WWFQ.js +75 -0
- package/dist/wallets/walletConnectors/chunk-HO5Z2CTL.js +280 -0
- package/dist/wallets/walletConnectors/chunk-I3GFVK5O.js +151 -0
- package/dist/wallets/walletConnectors/chunk-IUHZ5ZCE.js +121 -0
- package/dist/wallets/walletConnectors/chunk-JODNZWWG.js +330 -0
- package/dist/wallets/walletConnectors/chunk-JTST3KMW.js +75 -0
- package/dist/wallets/walletConnectors/chunk-KH2L3ONV.js +1599 -0
- package/dist/wallets/walletConnectors/chunk-LHV22375.js +182 -0
- package/dist/wallets/walletConnectors/chunk-LZZE462U.js +315 -0
- package/dist/wallets/walletConnectors/chunk-MGCRUAHX.js +276 -0
- package/dist/wallets/walletConnectors/chunk-MURSKRMJ.js +63 -0
- package/dist/wallets/walletConnectors/chunk-NG7PSAPX.js +115 -0
- package/dist/wallets/walletConnectors/chunk-NHP6D6AH.js +204 -0
- package/dist/wallets/walletConnectors/chunk-O4AU63LK.js +181 -0
- package/dist/wallets/walletConnectors/chunk-OBS74J5N.js +221 -0
- package/dist/wallets/walletConnectors/chunk-ON4U54WO.js +115 -0
- package/dist/wallets/walletConnectors/chunk-PPYBE5TV.js +276 -0
- package/dist/wallets/walletConnectors/chunk-PWWSAM4G.js +309 -0
- package/dist/wallets/walletConnectors/chunk-QB5GDLRU.js +330 -0
- package/dist/wallets/walletConnectors/chunk-QMLG7MAP.js +107 -0
- package/dist/wallets/walletConnectors/chunk-RGIB7FFH.js +47 -0
- package/dist/wallets/walletConnectors/chunk-SHJBMDP4.js +278 -0
- package/dist/wallets/walletConnectors/chunk-SOBJYYIX.js +484 -0
- package/dist/wallets/walletConnectors/chunk-T66U3ADD.js +58 -0
- package/dist/wallets/walletConnectors/chunk-THCKLFSJ.js +75 -0
- package/dist/wallets/walletConnectors/chunk-TS466TDR.js +286 -0
- package/dist/wallets/walletConnectors/chunk-UJGFYQEV.js +459 -0
- package/dist/wallets/walletConnectors/chunk-UXNEBBUV.js +224 -0
- package/dist/wallets/walletConnectors/chunk-VRCNFVPM.js +276 -0
- package/dist/wallets/walletConnectors/chunk-WODNUC65.js +333 -0
- package/dist/wallets/walletConnectors/chunk-X6A2FSHK.js +484 -0
- package/dist/wallets/walletConnectors/chunk-XVRNEES5.js +1541 -0
- package/dist/wallets/walletConnectors/chunk-XWVM2Y5A.js +306 -0
- package/dist/wallets/walletConnectors/chunk-XXG7ABSJ.js +328 -0
- package/dist/wallets/walletConnectors/chunk-YJH4BHSB.js +254 -0
- package/dist/wallets/walletConnectors/chunk-YRDNIP2H.js +90 -0
- package/dist/wallets/walletConnectors/chunk-YTPAWPCA.js +156 -0
- package/dist/wallets/walletConnectors/chunk-ZCSHD7UG.js +562 -0
- package/dist/wallets/walletConnectors/chunk-ZZCZ3RJU.js +272 -0
- package/dist/wallets/walletConnectors/clvWallet/clvWallet.js +2 -2
- package/dist/wallets/walletConnectors/coin98Wallet/coin98Wallet.js +2 -2
- package/dist/wallets/walletConnectors/coreWallet/coreWallet.js +2 -2
- package/dist/wallets/walletConnectors/foxWallet/foxWallet.js +2 -2
- package/dist/wallets/walletConnectors/frontierWallet/frontierWallet.js +2 -2
- package/dist/wallets/walletConnectors/gateWallet/gateWallet.js +2 -2
- package/dist/wallets/walletConnectors/index.js +62 -61
- package/dist/wallets/walletConnectors/iopayWallet/iopayWallet.js +2 -2
- package/dist/wallets/walletConnectors/kaiaWallet/kaiaWallet.js +2 -2
- package/dist/wallets/walletConnectors/kaikasWallet/kaikasWallet.js +2 -2
- package/dist/wallets/walletConnectors/klipWallet/klipWallet.d.ts +3 -0
- package/dist/wallets/walletConnectors/klipWallet/klipWallet.js +8 -0
- package/dist/wallets/walletConnectors/klipWallet-PPTYYB5G.js +7 -0
- package/dist/wallets/walletConnectors/metaMaskWallet/metaMaskWallet.js +2 -2
- package/dist/wallets/walletConnectors/okxWallet/okxWallet.js +2 -2
- package/dist/wallets/walletConnectors/rainbowWallet/rainbowWallet.js +2 -2
- package/dist/wallets/walletConnectors/roninWallet/roninWallet.js +2 -2
- package/dist/wallets/walletConnectors/safepalWallet/safepalWallet.js +2 -2
- package/dist/wallets/walletConnectors/subWallet/subWallet.js +2 -2
- package/dist/wallets/walletConnectors/tokenPocketWallet/tokenPocketWallet.js +2 -2
- package/dist/wallets/walletConnectors/trustWallet/trustWallet.js +2 -2
- package/dist/wallets/walletConnectors/zealWallet/zealWallet.js +2 -2
- package/dist/wallets/walletConnectors/zerionWallet/zerionWallet.js +2 -2
- package/package.json +2 -1
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
// src/wallets/walletConnectors/abcWallet/abcTronProvider.ts
|
|
4
|
+
import { getTalkenApiClient } from "@talken/talkenkit";
|
|
5
|
+
var TronErrorCode = {
|
|
6
|
+
USER_REJECTED: 4001,
|
|
7
|
+
UNAUTHORIZED: 4100,
|
|
8
|
+
UNSUPPORTED_METHOD: 4200,
|
|
9
|
+
DISCONNECTED: 4900,
|
|
10
|
+
INVALID_PARAMS: -32602,
|
|
11
|
+
INTERNAL_ERROR: -32603,
|
|
12
|
+
INSUFFICIENT_FUNDS: 5001
|
|
13
|
+
};
|
|
14
|
+
var TronProviderError = class extends Error {
|
|
15
|
+
constructor(code, message, data) {
|
|
16
|
+
super(message);
|
|
17
|
+
this.code = code;
|
|
18
|
+
this.data = data;
|
|
19
|
+
this.name = "TronProviderError";
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
var TRON_NETWORKS = {
|
|
23
|
+
mainnet: {
|
|
24
|
+
name: "TRON Mainnet",
|
|
25
|
+
type: "tron",
|
|
26
|
+
explorer: "https://tronscan.org"
|
|
27
|
+
},
|
|
28
|
+
nile: {
|
|
29
|
+
name: "TRON Nile Testnet",
|
|
30
|
+
type: "tron_nile",
|
|
31
|
+
explorer: "https://nile.tronscan.org"
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
var EventEmitter = class {
|
|
35
|
+
constructor() {
|
|
36
|
+
this.events = /* @__PURE__ */ new Map();
|
|
37
|
+
}
|
|
38
|
+
on(event, listener) {
|
|
39
|
+
if (!this.events.has(event)) {
|
|
40
|
+
this.events.set(event, []);
|
|
41
|
+
}
|
|
42
|
+
this.events.get(event).push(listener);
|
|
43
|
+
return this;
|
|
44
|
+
}
|
|
45
|
+
off(event, listener) {
|
|
46
|
+
const listeners = this.events.get(event);
|
|
47
|
+
if (listeners) {
|
|
48
|
+
const index = listeners.indexOf(listener);
|
|
49
|
+
if (index !== -1) {
|
|
50
|
+
listeners.splice(index, 1);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return this;
|
|
54
|
+
}
|
|
55
|
+
emit(event, ...args) {
|
|
56
|
+
const listeners = this.events.get(event);
|
|
57
|
+
if (listeners) {
|
|
58
|
+
for (const listener of listeners) {
|
|
59
|
+
listener(...args);
|
|
60
|
+
}
|
|
61
|
+
return true;
|
|
62
|
+
}
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
65
|
+
removeAllListeners(event) {
|
|
66
|
+
if (event) {
|
|
67
|
+
this.events.delete(event);
|
|
68
|
+
} else {
|
|
69
|
+
this.events.clear();
|
|
70
|
+
}
|
|
71
|
+
return this;
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
var AbcTronProvider = class extends EventEmitter {
|
|
75
|
+
constructor(_client) {
|
|
76
|
+
super();
|
|
77
|
+
this.wallet = null;
|
|
78
|
+
this.network = TRON_NETWORKS.mainnet;
|
|
79
|
+
this.connected = false;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Set wallet information
|
|
83
|
+
*/
|
|
84
|
+
setWallet(wallet) {
|
|
85
|
+
const previousAddress = this.wallet?.address;
|
|
86
|
+
this.wallet = wallet;
|
|
87
|
+
this.connected = true;
|
|
88
|
+
if (wallet.network === "tron") {
|
|
89
|
+
this.network = TRON_NETWORKS.mainnet;
|
|
90
|
+
} else {
|
|
91
|
+
this.network = TRON_NETWORKS.nile;
|
|
92
|
+
}
|
|
93
|
+
if (previousAddress !== wallet.address) {
|
|
94
|
+
this.emit("accountsChanged", [wallet.address]);
|
|
95
|
+
}
|
|
96
|
+
this.emit("connect", {
|
|
97
|
+
address: wallet.address,
|
|
98
|
+
network: this.network.type
|
|
99
|
+
});
|
|
100
|
+
console.log(
|
|
101
|
+
"[TronProvider] \u2705 Wallet connected:",
|
|
102
|
+
`${wallet.address.substring(0, 6)}...${wallet.address.substring(wallet.address.length - 6)}`
|
|
103
|
+
);
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Clear wallet (disconnect)
|
|
107
|
+
*/
|
|
108
|
+
clearWallet() {
|
|
109
|
+
this.wallet = null;
|
|
110
|
+
this.connected = false;
|
|
111
|
+
this.emit("disconnect");
|
|
112
|
+
this.emit("accountsChanged", []);
|
|
113
|
+
console.log("[TronProvider] \u{1F50C} Wallet disconnected");
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Set TalkenApiClient for backend-proxied transaction flow
|
|
117
|
+
* When set, sendTransaction will use a single API call instead of multi-step WaaS
|
|
118
|
+
*/
|
|
119
|
+
setTalkenApi(talkenApi) {
|
|
120
|
+
this.talkenApi = talkenApi;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Check if connected
|
|
124
|
+
*/
|
|
125
|
+
isConnected() {
|
|
126
|
+
return this.connected && this.wallet !== null;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Get TRON address
|
|
130
|
+
*/
|
|
131
|
+
async getAddress() {
|
|
132
|
+
if (!this.wallet) {
|
|
133
|
+
throw new TronProviderError(
|
|
134
|
+
TronErrorCode.DISCONNECTED,
|
|
135
|
+
"Wallet not connected"
|
|
136
|
+
);
|
|
137
|
+
}
|
|
138
|
+
return this.wallet.address;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Get public key
|
|
142
|
+
*/
|
|
143
|
+
async getPublicKey() {
|
|
144
|
+
if (!this.wallet) {
|
|
145
|
+
throw new TronProviderError(
|
|
146
|
+
TronErrorCode.DISCONNECTED,
|
|
147
|
+
"Wallet not connected"
|
|
148
|
+
);
|
|
149
|
+
}
|
|
150
|
+
return this.wallet.publicKey;
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Get current network
|
|
154
|
+
*/
|
|
155
|
+
getNetwork() {
|
|
156
|
+
return this.network;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Sign TRON message (not supported)
|
|
160
|
+
*/
|
|
161
|
+
async signMessage(_message) {
|
|
162
|
+
throw new TronProviderError(
|
|
163
|
+
TronErrorCode.UNSUPPORTED_METHOD,
|
|
164
|
+
"TRON message signing is not supported. Use sendTransaction() instead."
|
|
165
|
+
);
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Send TRON transaction (TRX native or TRC20)
|
|
169
|
+
* Complete flow: create unsigned tx -> request PIN -> sign -> broadcast
|
|
170
|
+
*
|
|
171
|
+
* @param params - Transaction parameters
|
|
172
|
+
* @returns Transaction hash
|
|
173
|
+
*/
|
|
174
|
+
async sendTransaction(params) {
|
|
175
|
+
if (!this.wallet) {
|
|
176
|
+
throw new TronProviderError(
|
|
177
|
+
TronErrorCode.DISCONNECTED,
|
|
178
|
+
"Wallet not connected"
|
|
179
|
+
);
|
|
180
|
+
}
|
|
181
|
+
try {
|
|
182
|
+
console.log("[TronProvider] \u{1F4B8} Starting TRON transaction...");
|
|
183
|
+
const pinHash = localStorage.getItem("talkenkit_abc_pin_hash");
|
|
184
|
+
if (!pinHash) {
|
|
185
|
+
throw new TronProviderError(
|
|
186
|
+
TronErrorCode.INTERNAL_ERROR,
|
|
187
|
+
"PIN hash not found. Please login again."
|
|
188
|
+
);
|
|
189
|
+
}
|
|
190
|
+
const txType = params.contractAddress ? "TRC20" : "NATIVE";
|
|
191
|
+
let amountRaw;
|
|
192
|
+
if (txType === "NATIVE") {
|
|
193
|
+
amountRaw = Math.floor(
|
|
194
|
+
Number.parseFloat(params.amount) * 1e6
|
|
195
|
+
).toString();
|
|
196
|
+
console.log(
|
|
197
|
+
`[TronProvider] Converting ${params.amount} TRX -> ${amountRaw} SUN`
|
|
198
|
+
);
|
|
199
|
+
} else {
|
|
200
|
+
const decimals = params.decimals ?? 6;
|
|
201
|
+
amountRaw = Math.floor(
|
|
202
|
+
Number.parseFloat(params.amount) * 10 ** decimals
|
|
203
|
+
).toString();
|
|
204
|
+
console.log(
|
|
205
|
+
`[TronProvider] Converting ${params.amount} -> ${amountRaw} (decimals: ${decimals})`
|
|
206
|
+
);
|
|
207
|
+
}
|
|
208
|
+
const api = this.talkenApi || getTalkenApiClient();
|
|
209
|
+
const request = txType === "NATIVE" ? {
|
|
210
|
+
kind: "native",
|
|
211
|
+
network: this.network.type,
|
|
212
|
+
toAddress: params.toAddress,
|
|
213
|
+
amountSun: amountRaw,
|
|
214
|
+
pin: pinHash
|
|
215
|
+
} : {
|
|
216
|
+
kind: "trc20",
|
|
217
|
+
network: this.network.type,
|
|
218
|
+
toAddress: params.toAddress,
|
|
219
|
+
contractAddress: params.contractAddress,
|
|
220
|
+
amount: amountRaw,
|
|
221
|
+
feeLimit: params.feeLimit,
|
|
222
|
+
pin: pinHash
|
|
223
|
+
};
|
|
224
|
+
const result = await api.tron.transferTrx(request);
|
|
225
|
+
const txHash = result.txHash;
|
|
226
|
+
console.log(
|
|
227
|
+
`[TronProvider] \u2705 ${txType === "NATIVE" ? "TRX" : "TRC-20"} transaction complete via TalkenApiClient:`,
|
|
228
|
+
txHash
|
|
229
|
+
);
|
|
230
|
+
this.emit("transactionBroadcasted", {
|
|
231
|
+
txHash,
|
|
232
|
+
explorerUrl: `${this.network.explorer}/#/transaction/${txHash}`
|
|
233
|
+
});
|
|
234
|
+
return txHash;
|
|
235
|
+
} catch (error) {
|
|
236
|
+
if (error.message?.includes("cancelled") || error.message?.includes("rejected")) {
|
|
237
|
+
console.log("[TronProvider] \u2139\uFE0F User cancelled transaction");
|
|
238
|
+
throw new TronProviderError(
|
|
239
|
+
TronErrorCode.USER_REJECTED,
|
|
240
|
+
"User rejected transaction",
|
|
241
|
+
error
|
|
242
|
+
);
|
|
243
|
+
}
|
|
244
|
+
console.error("[TronProvider] \u274C Transaction failed:", error.message);
|
|
245
|
+
if (error.message?.includes("insufficient")) {
|
|
246
|
+
throw new TronProviderError(
|
|
247
|
+
TronErrorCode.INSUFFICIENT_FUNDS,
|
|
248
|
+
"Insufficient TRX balance",
|
|
249
|
+
error
|
|
250
|
+
);
|
|
251
|
+
}
|
|
252
|
+
this.emit("error", error);
|
|
253
|
+
throw new TronProviderError(
|
|
254
|
+
TronErrorCode.INTERNAL_ERROR,
|
|
255
|
+
error.message || "Failed to send TRON transaction",
|
|
256
|
+
error
|
|
257
|
+
);
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Get wallet info
|
|
262
|
+
*/
|
|
263
|
+
getWalletInfo() {
|
|
264
|
+
if (!this.wallet)
|
|
265
|
+
return null;
|
|
266
|
+
return {
|
|
267
|
+
address: this.wallet.address,
|
|
268
|
+
publicKey: this.wallet.publicKey,
|
|
269
|
+
network: this.network.type
|
|
270
|
+
};
|
|
271
|
+
}
|
|
272
|
+
};
|
|
273
|
+
|
|
274
|
+
export {
|
|
275
|
+
TronProviderError,
|
|
276
|
+
TRON_NETWORKS,
|
|
277
|
+
AbcTronProvider
|
|
278
|
+
};
|