@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.
- 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/RainbowKitProvider.d.ts +7 -1
- 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 +7970 -4015
- 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 +57 -56
- 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,282 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import {
|
|
3
|
+
secure_default
|
|
4
|
+
} from "./chunk-NG7PSAPX.js";
|
|
5
|
+
import {
|
|
6
|
+
calculateExpiryTimestamp,
|
|
7
|
+
createAbcError,
|
|
8
|
+
isTokenExpired,
|
|
9
|
+
loadFromStorage,
|
|
10
|
+
parseApiError,
|
|
11
|
+
removeFromStorage,
|
|
12
|
+
saveToStorage
|
|
13
|
+
} from "./chunk-GO6OLTNF.js";
|
|
14
|
+
import {
|
|
15
|
+
DEFAULT_HEADERS,
|
|
16
|
+
REQUEST_TIMEOUT
|
|
17
|
+
} from "./chunk-YJH4BHSB.js";
|
|
18
|
+
|
|
19
|
+
// src/wallets/walletConnectors/abcWallet/api/BaseApiClient.ts
|
|
20
|
+
import { getTalkenApiClient } from "@talken/talkenkit";
|
|
21
|
+
var BaseApiClient = class {
|
|
22
|
+
constructor(config) {
|
|
23
|
+
this.accessToken = null;
|
|
24
|
+
this.refreshToken = null;
|
|
25
|
+
this.expiresAt = null;
|
|
26
|
+
this.isRefreshing = false;
|
|
27
|
+
this.refreshPromise = null;
|
|
28
|
+
this.config = config;
|
|
29
|
+
this.baseURL = config.waasUrl;
|
|
30
|
+
this.secure = new secure_default(this.baseURL);
|
|
31
|
+
this.loadTokens();
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Load tokens from storage
|
|
35
|
+
*/
|
|
36
|
+
loadTokens() {
|
|
37
|
+
this.accessToken = loadFromStorage("access_token" /* ACCESS_TOKEN */);
|
|
38
|
+
this.refreshToken = loadFromStorage("refresh_token" /* REFRESH_TOKEN */);
|
|
39
|
+
this.expiresAt = loadFromStorage("expires_at" /* EXPIRES_AT */);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Set tokens in client instance (useful when restoring from storage or state)
|
|
43
|
+
* Call this before making API requests if tokens are managed externally
|
|
44
|
+
*/
|
|
45
|
+
setTokens(accessToken, refreshToken, expiresAt) {
|
|
46
|
+
this.accessToken = accessToken;
|
|
47
|
+
this.refreshToken = refreshToken;
|
|
48
|
+
this.expiresAt = expiresAt;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Save tokens to storage
|
|
52
|
+
*/
|
|
53
|
+
saveTokens(accessToken, refreshToken, expiresIn) {
|
|
54
|
+
this.accessToken = accessToken;
|
|
55
|
+
this.refreshToken = refreshToken;
|
|
56
|
+
this.expiresAt = calculateExpiryTimestamp(expiresIn);
|
|
57
|
+
saveToStorage("access_token" /* ACCESS_TOKEN */, accessToken);
|
|
58
|
+
saveToStorage("refresh_token" /* REFRESH_TOKEN */, refreshToken);
|
|
59
|
+
saveToStorage("expires_at" /* EXPIRES_AT */, this.expiresAt);
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Clear tokens
|
|
63
|
+
*/
|
|
64
|
+
clearTokens() {
|
|
65
|
+
this.accessToken = null;
|
|
66
|
+
this.refreshToken = null;
|
|
67
|
+
this.expiresAt = null;
|
|
68
|
+
removeFromStorage("access_token" /* ACCESS_TOKEN */);
|
|
69
|
+
removeFromStorage("refresh_token" /* REFRESH_TOKEN */);
|
|
70
|
+
removeFromStorage("expires_at" /* EXPIRES_AT */);
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Check if access token is expired
|
|
74
|
+
*/
|
|
75
|
+
isTokenExpired() {
|
|
76
|
+
return isTokenExpired(this.expiresAt);
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Get current access token
|
|
80
|
+
*/
|
|
81
|
+
getAccessToken() {
|
|
82
|
+
return this.accessToken;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Set access token manually
|
|
86
|
+
*/
|
|
87
|
+
setAccessToken(token) {
|
|
88
|
+
this.accessToken = token;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Get base URL
|
|
92
|
+
*/
|
|
93
|
+
getBaseURL() {
|
|
94
|
+
return this.baseURL;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Get configuration
|
|
98
|
+
*/
|
|
99
|
+
getConfig() {
|
|
100
|
+
return this.config;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Refresh access token via TalkenApiClient
|
|
104
|
+
*/
|
|
105
|
+
async refreshAccessToken() {
|
|
106
|
+
if (this.isRefreshing) {
|
|
107
|
+
if (this.refreshPromise) {
|
|
108
|
+
await this.refreshPromise;
|
|
109
|
+
}
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
const api = getTalkenApiClient();
|
|
113
|
+
if (api) {
|
|
114
|
+
this.isRefreshing = true;
|
|
115
|
+
this.refreshPromise = (async () => {
|
|
116
|
+
try {
|
|
117
|
+
const res = await api.auth.refresh();
|
|
118
|
+
this.saveTokens(res.accessToken, res.refreshToken, res.expiresIn);
|
|
119
|
+
} finally {
|
|
120
|
+
this.isRefreshing = false;
|
|
121
|
+
this.refreshPromise = null;
|
|
122
|
+
}
|
|
123
|
+
})();
|
|
124
|
+
await this.refreshPromise;
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
if (!this.refreshToken) {
|
|
128
|
+
throw createAbcError(
|
|
129
|
+
"TOKEN_EXPIRED" /* TOKEN_EXPIRED */,
|
|
130
|
+
"No refresh token available"
|
|
131
|
+
);
|
|
132
|
+
}
|
|
133
|
+
throw createAbcError(
|
|
134
|
+
"TOKEN_EXPIRED" /* TOKEN_EXPIRED */,
|
|
135
|
+
"TalkenApiClient not initialized for token refresh"
|
|
136
|
+
);
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Make HTTP request with automatic token refresh
|
|
140
|
+
*/
|
|
141
|
+
async request(endpoint, options = {}) {
|
|
142
|
+
const {
|
|
143
|
+
method = "GET",
|
|
144
|
+
body,
|
|
145
|
+
headers = {},
|
|
146
|
+
skipAuth = false,
|
|
147
|
+
isRetry = false,
|
|
148
|
+
contentType = "form"
|
|
149
|
+
// Default to form-encoded for backward compatibility
|
|
150
|
+
} = options;
|
|
151
|
+
if (!skipAuth && this.isTokenExpired() && this.refreshToken) {
|
|
152
|
+
await this.refreshAccessToken();
|
|
153
|
+
}
|
|
154
|
+
const url = `${this.baseURL}${endpoint}`;
|
|
155
|
+
const requestHeaders = {
|
|
156
|
+
...DEFAULT_HEADERS,
|
|
157
|
+
...headers
|
|
158
|
+
};
|
|
159
|
+
if (contentType === "json") {
|
|
160
|
+
requestHeaders["Content-Type"] = "application/json";
|
|
161
|
+
requestHeaders["Accept"] = "application/json";
|
|
162
|
+
}
|
|
163
|
+
if (this.config.environment === "production") {
|
|
164
|
+
requestHeaders["User-Agent"] = "Android";
|
|
165
|
+
}
|
|
166
|
+
if (!skipAuth && this.accessToken) {
|
|
167
|
+
requestHeaders.Authorization = `Bearer ${this.accessToken}`;
|
|
168
|
+
}
|
|
169
|
+
if (this.config.apiKey) {
|
|
170
|
+
requestHeaders["X-API-Key"] = this.config.apiKey;
|
|
171
|
+
}
|
|
172
|
+
try {
|
|
173
|
+
const controller = new AbortController();
|
|
174
|
+
const timeoutId = setTimeout(() => controller.abort(), REQUEST_TIMEOUT);
|
|
175
|
+
const requestBody = body ? contentType === "json" ? JSON.stringify(body) : new URLSearchParams(body).toString() : void 0;
|
|
176
|
+
const response = await fetch(url, {
|
|
177
|
+
method,
|
|
178
|
+
headers: requestHeaders,
|
|
179
|
+
body: requestBody,
|
|
180
|
+
signal: controller.signal
|
|
181
|
+
});
|
|
182
|
+
clearTimeout(timeoutId);
|
|
183
|
+
const text = await response.text();
|
|
184
|
+
let data;
|
|
185
|
+
if (text) {
|
|
186
|
+
try {
|
|
187
|
+
data = JSON.parse(text);
|
|
188
|
+
} catch (parseError) {
|
|
189
|
+
console.error("[BaseApiClient] \u274C JSON parse error:", {
|
|
190
|
+
url,
|
|
191
|
+
method,
|
|
192
|
+
status: response.status,
|
|
193
|
+
responseText: text.substring(0, 200)
|
|
194
|
+
});
|
|
195
|
+
throw createAbcError(
|
|
196
|
+
"UNKNOWN_ERROR" /* UNKNOWN_ERROR */,
|
|
197
|
+
"Invalid JSON response from server",
|
|
198
|
+
{ text, parseError }
|
|
199
|
+
);
|
|
200
|
+
}
|
|
201
|
+
} else {
|
|
202
|
+
data = { status: "success" };
|
|
203
|
+
}
|
|
204
|
+
if (response.status === 401 && !skipAuth && this.refreshToken && !isRetry) {
|
|
205
|
+
try {
|
|
206
|
+
await this.refreshAccessToken();
|
|
207
|
+
return await this.request(endpoint, {
|
|
208
|
+
...options,
|
|
209
|
+
isRetry: true
|
|
210
|
+
});
|
|
211
|
+
} catch (refreshError) {
|
|
212
|
+
console.error("Token refresh failed:", refreshError);
|
|
213
|
+
throw parseApiError({
|
|
214
|
+
response: {
|
|
215
|
+
status: response.status,
|
|
216
|
+
data
|
|
217
|
+
}
|
|
218
|
+
});
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
if (!response.ok) {
|
|
222
|
+
if (response.status !== 409) {
|
|
223
|
+
console.error("[BaseApiClient] \u274C API Error:", {
|
|
224
|
+
url,
|
|
225
|
+
method,
|
|
226
|
+
status: response.status,
|
|
227
|
+
statusText: response.statusText,
|
|
228
|
+
data
|
|
229
|
+
});
|
|
230
|
+
}
|
|
231
|
+
throw parseApiError({
|
|
232
|
+
response: {
|
|
233
|
+
status: response.status,
|
|
234
|
+
data
|
|
235
|
+
}
|
|
236
|
+
});
|
|
237
|
+
}
|
|
238
|
+
return data;
|
|
239
|
+
} catch (error) {
|
|
240
|
+
if (error.response?.status !== 409 && error.code !== "WALLET_ALREADY_EXISTS") {
|
|
241
|
+
console.error("[BaseApiClient] \u274C Request failed:", {
|
|
242
|
+
url,
|
|
243
|
+
method,
|
|
244
|
+
error: error.message
|
|
245
|
+
});
|
|
246
|
+
}
|
|
247
|
+
if (error.name === "AbortError") {
|
|
248
|
+
throw createAbcError(
|
|
249
|
+
"NETWORK_ERROR" /* NETWORK_ERROR */,
|
|
250
|
+
"Request timeout",
|
|
251
|
+
error
|
|
252
|
+
);
|
|
253
|
+
}
|
|
254
|
+
if (error.code && error.message) {
|
|
255
|
+
throw error;
|
|
256
|
+
}
|
|
257
|
+
throw parseApiError(error);
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Check if user is authenticated
|
|
262
|
+
*/
|
|
263
|
+
isAuthenticated() {
|
|
264
|
+
return !!this.accessToken && !this.isTokenExpired();
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* Logout (clear tokens)
|
|
268
|
+
*/
|
|
269
|
+
async logout() {
|
|
270
|
+
this.clearTokens();
|
|
271
|
+
}
|
|
272
|
+
/**
|
|
273
|
+
* Get secure service instance
|
|
274
|
+
*/
|
|
275
|
+
getSecureService() {
|
|
276
|
+
return this.secure;
|
|
277
|
+
}
|
|
278
|
+
};
|
|
279
|
+
|
|
280
|
+
export {
|
|
281
|
+
BaseApiClient
|
|
282
|
+
};
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import {
|
|
3
|
+
AbcError
|
|
4
|
+
} from "./chunk-D5EFTEOM.js";
|
|
5
|
+
|
|
6
|
+
// src/wallets/walletConnectors/abcWallet/walletGeneration.ts
|
|
7
|
+
import { getTalkenApiClient } from "@talken/talkenkit";
|
|
8
|
+
async function generateMpcWallets(hashedPin) {
|
|
9
|
+
const api = getTalkenApiClient();
|
|
10
|
+
if (!api) {
|
|
11
|
+
throw new AbcError(
|
|
12
|
+
"WALLET_NOT_FOUND" /* WALLET_NOT_FOUND */,
|
|
13
|
+
"TalkenApiClient not initialized"
|
|
14
|
+
);
|
|
15
|
+
}
|
|
16
|
+
try {
|
|
17
|
+
const response = await api.wallet.generate(hashedPin);
|
|
18
|
+
return {
|
|
19
|
+
evmWallet: response.evm,
|
|
20
|
+
solanaWallet: response.solana,
|
|
21
|
+
bitcoinWallet: response.bitcoin,
|
|
22
|
+
tronWallet: response.tron
|
|
23
|
+
};
|
|
24
|
+
} catch (error) {
|
|
25
|
+
throw new AbcError(
|
|
26
|
+
"WALLET_NOT_FOUND" /* WALLET_NOT_FOUND */,
|
|
27
|
+
`Failed to generate MPC wallets: ${error.message}`,
|
|
28
|
+
{ originalError: error }
|
|
29
|
+
);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
async function recoverMpcWallets(hashedPin) {
|
|
33
|
+
const api = getTalkenApiClient();
|
|
34
|
+
if (!api) {
|
|
35
|
+
throw new AbcError(
|
|
36
|
+
"WALLET_NOT_FOUND" /* WALLET_NOT_FOUND */,
|
|
37
|
+
"TalkenApiClient not initialized"
|
|
38
|
+
);
|
|
39
|
+
}
|
|
40
|
+
try {
|
|
41
|
+
const response = await api.wallet.recover(hashedPin);
|
|
42
|
+
return {
|
|
43
|
+
evmWallet: response.evm,
|
|
44
|
+
solanaWallet: response.solana,
|
|
45
|
+
bitcoinWallet: response.bitcoin,
|
|
46
|
+
tronWallet: response.tron
|
|
47
|
+
};
|
|
48
|
+
} catch (error) {
|
|
49
|
+
throw new AbcError(
|
|
50
|
+
"WALLET_NOT_FOUND" /* WALLET_NOT_FOUND */,
|
|
51
|
+
`Failed to recover MPC wallets: ${error.message}`,
|
|
52
|
+
{ originalError: error }
|
|
53
|
+
);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
function validateMpcWallets(result) {
|
|
57
|
+
const errors = [];
|
|
58
|
+
if (!result.evmWallet) {
|
|
59
|
+
errors.push("EVM wallet is missing");
|
|
60
|
+
} else {
|
|
61
|
+
if (!result.evmWallet.address || !result.evmWallet.address.startsWith("0x")) {
|
|
62
|
+
errors.push("Invalid EVM wallet address");
|
|
63
|
+
}
|
|
64
|
+
if (!result.evmWallet.keyId) {
|
|
65
|
+
errors.push("EVM wallet missing keyId");
|
|
66
|
+
}
|
|
67
|
+
if (!result.evmWallet.encryptedShare) {
|
|
68
|
+
errors.push("EVM wallet missing encryptedShare");
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
if (!result.solanaWallet) {
|
|
72
|
+
errors.push("Solana wallet is missing");
|
|
73
|
+
} else {
|
|
74
|
+
if (!result.solanaWallet.address) {
|
|
75
|
+
errors.push("Invalid Solana wallet address");
|
|
76
|
+
}
|
|
77
|
+
if (!result.solanaWallet.publicKey) {
|
|
78
|
+
errors.push("Solana wallet missing publicKey");
|
|
79
|
+
}
|
|
80
|
+
if (!result.solanaWallet.keyId) {
|
|
81
|
+
errors.push("Solana wallet missing keyId");
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
if (!result.bitcoinWallet) {
|
|
85
|
+
errors.push("Bitcoin wallet is missing");
|
|
86
|
+
} else {
|
|
87
|
+
const addr = result.bitcoinWallet.address;
|
|
88
|
+
const type = result.bitcoinWallet.addressType;
|
|
89
|
+
if (!addr) {
|
|
90
|
+
errors.push("Invalid Bitcoin wallet address");
|
|
91
|
+
}
|
|
92
|
+
if (!result.bitcoinWallet.publicKey) {
|
|
93
|
+
errors.push("Bitcoin wallet missing publicKey");
|
|
94
|
+
}
|
|
95
|
+
if (!result.bitcoinWallet.keyId) {
|
|
96
|
+
errors.push("Bitcoin wallet missing keyId");
|
|
97
|
+
}
|
|
98
|
+
if (type === "bech32" && !addr.startsWith("bc1q")) {
|
|
99
|
+
errors.push("Invalid Bech32 address format (expected bc1q prefix)");
|
|
100
|
+
} else if (type === "p2pkh" && !addr.startsWith("1")) {
|
|
101
|
+
errors.push("Invalid P2PKH address format (expected 1 prefix)");
|
|
102
|
+
} else if (type === "p2sh" && !addr.startsWith("3")) {
|
|
103
|
+
errors.push("Invalid P2SH address format (expected 3 prefix)");
|
|
104
|
+
} else if (type === "taproot" && !addr.startsWith("bc1p")) {
|
|
105
|
+
errors.push("Invalid Taproot address format (expected bc1p prefix)");
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
if (!result.tronWallet) {
|
|
109
|
+
errors.push("TRON wallet is missing");
|
|
110
|
+
} else {
|
|
111
|
+
const tronAddr = result.tronWallet.address;
|
|
112
|
+
if (!tronAddr) {
|
|
113
|
+
errors.push("Invalid TRON wallet address");
|
|
114
|
+
} else if (!tronAddr.startsWith("T")) {
|
|
115
|
+
errors.push("Invalid TRON address format (expected T prefix)");
|
|
116
|
+
}
|
|
117
|
+
if (!result.tronWallet.publicKey) {
|
|
118
|
+
errors.push("TRON wallet missing publicKey");
|
|
119
|
+
}
|
|
120
|
+
if (!result.tronWallet.keyId) {
|
|
121
|
+
errors.push("TRON wallet missing keyId");
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
return {
|
|
125
|
+
valid: errors.length === 0,
|
|
126
|
+
errors
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
export {
|
|
131
|
+
generateMpcWallets,
|
|
132
|
+
recoverMpcWallets,
|
|
133
|
+
validateMpcWallets
|
|
134
|
+
};
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import {
|
|
3
|
+
GasApi
|
|
4
|
+
} from "./chunk-QMLG7MAP.js";
|
|
5
|
+
import {
|
|
6
|
+
SigningApi
|
|
7
|
+
} from "./chunk-JODNZWWG.js";
|
|
8
|
+
import {
|
|
9
|
+
TransactionApi
|
|
10
|
+
} from "./chunk-AUGP2LJR.js";
|
|
11
|
+
import {
|
|
12
|
+
TronApi
|
|
13
|
+
} from "./chunk-XXG7ABSJ.js";
|
|
14
|
+
import {
|
|
15
|
+
WalletApi
|
|
16
|
+
} from "./chunk-IUHZ5ZCE.js";
|
|
17
|
+
import {
|
|
18
|
+
WalletscanApi
|
|
19
|
+
} from "./chunk-I3GFVK5O.js";
|
|
20
|
+
import {
|
|
21
|
+
AuthApi
|
|
22
|
+
} from "./chunk-NHP6D6AH.js";
|
|
23
|
+
import {
|
|
24
|
+
BitcoinApi
|
|
25
|
+
} from "./chunk-SOBJYYIX.js";
|
|
26
|
+
import {
|
|
27
|
+
SolanaApi
|
|
28
|
+
} from "./chunk-LZZE462U.js";
|
|
29
|
+
|
|
30
|
+
// src/wallets/walletConnectors/abcWallet/api/index.ts
|
|
31
|
+
var AbcWaasApiClient = class {
|
|
32
|
+
constructor(config) {
|
|
33
|
+
this.auth = new AuthApi(config);
|
|
34
|
+
this.wallet = new WalletApi(config);
|
|
35
|
+
this.transaction = new TransactionApi(config);
|
|
36
|
+
this.signing = new SigningApi(config);
|
|
37
|
+
this.solana = new SolanaApi(config);
|
|
38
|
+
this.bitcoin = new BitcoinApi(config);
|
|
39
|
+
this.tron = new TronApi(config);
|
|
40
|
+
this.walletscan = new WalletscanApi(config);
|
|
41
|
+
this.gas = new GasApi(config);
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Check if user is authenticated
|
|
45
|
+
*/
|
|
46
|
+
isAuthenticated() {
|
|
47
|
+
return this.auth.isAuthenticated();
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Check if access token is expired
|
|
51
|
+
*/
|
|
52
|
+
isTokenExpired() {
|
|
53
|
+
return this.auth.isTokenExpired();
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Get current access token
|
|
57
|
+
*/
|
|
58
|
+
getAccessToken() {
|
|
59
|
+
return this.auth.getAccessToken();
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Logout (clear tokens)
|
|
63
|
+
*/
|
|
64
|
+
async logout() {
|
|
65
|
+
await this.auth.logout();
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
function createAbcWaasApiClient(config) {
|
|
69
|
+
return new AbcWaasApiClient(config);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
export {
|
|
73
|
+
AbcWaasApiClient,
|
|
74
|
+
createAbcWaasApiClient
|
|
75
|
+
};
|