@talken/talkenkit 2.3.15 → 2.4.5
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/{chunk-UWHLB4MJ.js → chunk-RQ637EP3.js} +0 -2
- package/dist/components/ConnectOptions/ExternalWallets/EthereumWallet/EthereumWalletList.d.ts +4 -4
- package/dist/index.d.ts +6 -5
- package/dist/index.js +6783 -6571
- package/dist/{secure-SSSSQ4NA.js → secure-X6ZSGFOB.js} +1 -1
- package/dist/services/AbcAuthService.d.ts +1 -1
- package/dist/solana/AbcSolanaAutoConnector.d.ts +7 -0
- package/dist/solana/SolanaWalletProvider.d.ts +18 -2
- package/dist/solana/config.d.ts +26 -0
- package/dist/wallets/walletConnectors/abcWallet/AbcEvmAutoConnector.d.ts +7 -0
- package/dist/wallets/walletConnectors/abcWallet/AbcEvmAutoConnector.js +37 -0
- package/dist/wallets/walletConnectors/abcWallet/abcApi.js +4 -4
- package/dist/wallets/walletConnectors/abcWallet/abcBitcoinConnector.js +3 -3
- package/dist/wallets/walletConnectors/abcWallet/abcBitcoinProvider.js +1 -1
- package/dist/wallets/walletConnectors/abcWallet/abcConnector.js +6 -6
- package/dist/wallets/walletConnectors/abcWallet/abcProvider.js +3 -3
- package/dist/wallets/walletConnectors/abcWallet/abcSolanaWalletAdapter.d.ts +166 -0
- package/dist/wallets/walletConnectors/abcWallet/abcSolanaWalletAdapter.js +725 -0
- package/dist/wallets/walletConnectors/abcWallet/abcWallet.js +7 -7
- package/dist/wallets/walletConnectors/abcWallet/api/AuthApi.js +5 -5
- package/dist/wallets/walletConnectors/abcWallet/api/BaseApiClient.d.ts +5 -0
- package/dist/wallets/walletConnectors/abcWallet/api/BaseApiClient.js +4 -4
- package/dist/wallets/walletConnectors/abcWallet/api/BitcoinApi.js +5 -5
- package/dist/wallets/walletConnectors/abcWallet/api/SigningApi.js +5 -5
- package/dist/wallets/walletConnectors/abcWallet/api/SolanaApi.d.ts +16 -5
- package/dist/wallets/walletConnectors/abcWallet/api/SolanaApi.js +5 -5
- package/dist/wallets/walletConnectors/abcWallet/api/TransactionApi.js +5 -5
- package/dist/wallets/walletConnectors/abcWallet/api/WalletApi.js +5 -5
- package/dist/wallets/walletConnectors/abcWallet/api/index.js +13 -13
- package/dist/wallets/walletConnectors/abcWallet/googleAuth.d.ts +1 -1
- package/dist/wallets/walletConnectors/abcWallet/googleAuth.js +5 -7
- package/dist/wallets/walletConnectors/abcWallet/index.d.ts +3 -7
- package/dist/wallets/walletConnectors/abcWallet/index.js +36 -46
- package/dist/wallets/walletConnectors/abcWallet/secure.js +1 -1
- package/dist/wallets/walletConnectors/abcWallet/sessionUtils.d.ts +38 -0
- package/dist/wallets/walletConnectors/abcWallet/sessionUtils.js +15 -0
- package/dist/wallets/walletConnectors/abcWallet/types.d.ts +34 -1
- package/dist/wallets/walletConnectors/abcWallet/types.js +1 -1
- package/dist/wallets/walletConnectors/abcWallet/utils.d.ts +1 -1
- package/dist/wallets/walletConnectors/abcWallet/utils.js +2 -2
- 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-2GNL2GNB.js +154 -0
- package/dist/wallets/walletConnectors/{chunk-5DDAV4BZ.js → chunk-2NAY6X3G.js} +1 -1
- package/dist/wallets/walletConnectors/{chunk-ZIYAL44B.js → chunk-2NVHWZUE.js} +1 -1
- package/dist/wallets/walletConnectors/{chunk-LENPUTNQ.js → chunk-36J4NGMW.js} +12 -20
- package/dist/wallets/walletConnectors/{chunk-4MF5RSML.js → chunk-3CTIR723.js} +1 -1
- package/dist/wallets/walletConnectors/{chunk-AVPBPELO.js → chunk-3WLUH24A.js} +10 -10
- package/dist/wallets/walletConnectors/{chunk-YEHCPL4R.js → chunk-53LPTQ6J.js} +2 -2
- package/dist/wallets/walletConnectors/{chunk-GXGRTWJM.js → chunk-5CZGFT24.js} +10 -10
- package/dist/wallets/walletConnectors/{chunk-BJHGC546.js → chunk-5JIPWC5W.js} +12 -24
- package/dist/wallets/walletConnectors/{chunk-4N6JD6LY.js → chunk-5LPD35BU.js} +9 -9
- package/dist/wallets/walletConnectors/{chunk-UV5HHESJ.js → chunk-5RSS3SRV.js} +29 -12
- package/dist/wallets/walletConnectors/{chunk-3ZE57J3R.js → chunk-64TRAZ6V.js} +1 -1
- package/dist/wallets/walletConnectors/{chunk-KKPINUPY.js → chunk-6BAXMYSN.js} +2 -2
- package/dist/wallets/walletConnectors/{chunk-PPIFAF7N.js → chunk-7MOCKWA7.js} +65 -19
- package/dist/wallets/walletConnectors/{chunk-75RN2RLT.js → chunk-7TYZCXIR.js} +12 -12
- package/dist/wallets/walletConnectors/{chunk-HVPQO6ZG.js → chunk-7UIXGYOT.js} +5 -20
- package/dist/wallets/walletConnectors/{chunk-BL57XWJY.js → chunk-7UQQKSV7.js} +1 -1
- package/dist/wallets/walletConnectors/{chunk-FGBDWBWQ.js → chunk-AIKTQX6B.js} +2 -2
- package/dist/wallets/walletConnectors/chunk-AO24PU7X.js +104 -0
- package/dist/wallets/walletConnectors/{chunk-4YJWX7I3.js → chunk-APLOMU6R.js} +1 -1
- package/dist/wallets/walletConnectors/chunk-AZAV5URB.js +267 -0
- package/dist/wallets/walletConnectors/chunk-BO6OI7XU.js +63 -0
- package/dist/wallets/walletConnectors/{chunk-P2GV6NQG.js → chunk-BV3DCJXA.js} +12 -20
- package/dist/wallets/walletConnectors/{chunk-KJHOGJ3A.js → chunk-CNRPEVLV.js} +16 -4
- package/dist/wallets/walletConnectors/{chunk-OC2O4BHA.js → chunk-COPAK5YT.js} +2 -2
- package/dist/wallets/walletConnectors/chunk-CZVBS7QE.js +436 -0
- package/dist/wallets/walletConnectors/{chunk-QKUFFUM5.js → chunk-DA5J6GHZ.js} +14 -4
- package/dist/wallets/walletConnectors/chunk-FMDSZ2CE.js +63 -0
- package/dist/wallets/walletConnectors/{chunk-5CCU7PNU.js → chunk-FQTLYAWT.js} +2 -2
- package/dist/wallets/walletConnectors/chunk-FUOQBONI.js +47 -0
- package/dist/wallets/walletConnectors/chunk-FWCS4HBL.js +1695 -0
- package/dist/wallets/walletConnectors/chunk-FY7UDC3W.js +63 -0
- package/dist/wallets/walletConnectors/chunk-GZUP3M2X.js +63 -0
- package/dist/wallets/walletConnectors/chunk-H52W4ZFE.js +272 -0
- package/dist/wallets/walletConnectors/chunk-HEQZLRTH.js +309 -0
- package/dist/wallets/walletConnectors/{chunk-ISAMATTH.js → chunk-HFC4AK72.js} +2 -2
- package/dist/wallets/walletConnectors/chunk-HKIV22NT.js +63 -0
- package/dist/wallets/walletConnectors/chunk-HLC24OGS.js +63 -0
- package/dist/wallets/walletConnectors/{chunk-5TDZSXJ4.js → chunk-HTD7IRKM.js} +2 -2
- package/dist/wallets/walletConnectors/chunk-IQJWD4IN.js +269 -0
- package/dist/wallets/walletConnectors/chunk-IZUAJRJ4.js +311 -0
- package/dist/wallets/walletConnectors/{chunk-NX5MQHSQ.js → chunk-J6VUIOSE.js} +23 -2
- package/dist/wallets/walletConnectors/chunk-JH2SJPEY.js +63 -0
- package/dist/wallets/walletConnectors/chunk-JQ57SCY6.js +313 -0
- package/dist/wallets/walletConnectors/{chunk-F5P2INHS.js → chunk-KB7OGAUC.js} +14 -4
- package/dist/wallets/walletConnectors/chunk-KXEAFXAA.js +226 -0
- package/dist/wallets/walletConnectors/{chunk-JR2C4XXX.js → chunk-LLWI2QWC.js} +74 -18
- package/dist/wallets/walletConnectors/{chunk-H2MX4NAL.js → chunk-LQ2U33WM.js} +29 -16
- package/dist/wallets/walletConnectors/{chunk-BNSBK5PQ.js → chunk-M7KXDTM6.js} +14 -4
- package/dist/wallets/walletConnectors/{chunk-CYYBGUSO.js → chunk-MKAXMNZM.js} +4 -4
- package/dist/wallets/walletConnectors/chunk-MNRRJSFM.js +272 -0
- package/dist/wallets/walletConnectors/chunk-MPFE6GP2.js +306 -0
- package/dist/wallets/walletConnectors/{chunk-EEY5CXKO.js → chunk-MPNSYA4E.js} +2 -2
- package/dist/wallets/walletConnectors/chunk-NDLQSZ2F.js +63 -0
- package/dist/wallets/walletConnectors/{chunk-G2LI5MVX.js → chunk-NDYGTKP5.js} +0 -2
- package/dist/wallets/walletConnectors/chunk-NLBRSN6Q.js +63 -0
- package/dist/wallets/walletConnectors/{chunk-BSBRWKNG.js → chunk-NPF7NOA7.js} +69 -23
- package/dist/wallets/walletConnectors/{chunk-7DEZCGNV.js → chunk-NUJ6VD2U.js} +82 -16
- package/dist/wallets/walletConnectors/chunk-PSRATZTN.js +47 -0
- package/dist/wallets/walletConnectors/{chunk-MZOFZ2NQ.js → chunk-QCIIXMAZ.js} +2 -2
- package/dist/wallets/walletConnectors/{chunk-GHLLVM7O.js → chunk-RCI7QYCZ.js} +82 -18
- package/dist/wallets/walletConnectors/{chunk-QI2VB7LL.js → chunk-RHQXGWIW.js} +82 -16
- package/dist/wallets/walletConnectors/chunk-RPOLRZ4N.js +276 -0
- package/dist/wallets/walletConnectors/{chunk-5UEBEMEE.js → chunk-RQIUWXDF.js} +2 -1
- package/dist/wallets/walletConnectors/{chunk-RLR4Y5WO.js → chunk-SCD35IRD.js} +4 -0
- package/dist/wallets/walletConnectors/{chunk-EGOIRXTV.js → chunk-SOCVQ5N3.js} +2 -2
- package/dist/wallets/walletConnectors/chunk-TTRSCIGA.js +194 -0
- package/dist/wallets/walletConnectors/chunk-TYUEB4VT.js +477 -0
- package/dist/wallets/walletConnectors/{chunk-WTYSUOKN.js → chunk-UZXTNCDO.js} +17 -5
- package/dist/wallets/walletConnectors/chunk-V33I7JGZ.js +156 -0
- package/dist/wallets/walletConnectors/chunk-V4Q3GNBX.js +484 -0
- package/dist/wallets/walletConnectors/chunk-VCCTIYUJ.js +63 -0
- package/dist/wallets/walletConnectors/chunk-VGOISIH3.js +223 -0
- package/dist/wallets/walletConnectors/chunk-XFGVJOQL.js +223 -0
- package/dist/wallets/walletConnectors/chunk-XIOPKI2F.js +47 -0
- package/dist/wallets/walletConnectors/{chunk-O6EAIC4G.js → chunk-XJ4SP35I.js} +4 -1
- package/dist/wallets/walletConnectors/chunk-XKGUE56S.js +226 -0
- package/dist/wallets/walletConnectors/chunk-XQEAXENJ.js +63 -0
- package/dist/wallets/walletConnectors/{chunk-RY4RAB3D.js → chunk-YCZ4CZQ6.js} +106 -66
- package/dist/wallets/walletConnectors/chunk-Z2DC2J7S.js +345 -0
- package/dist/wallets/walletConnectors/chunk-Z2K3RHWK.js +47 -0
- package/dist/wallets/walletConnectors/chunk-ZASMSEC3.js +63 -0
- package/dist/wallets/walletConnectors/{chunk-G7PEFBL6.js → chunk-ZNBWRE3K.js} +2 -2
- package/dist/wallets/walletConnectors/chunk-ZNVFM2J2.js +156 -0
- package/dist/wallets/walletConnectors/chunk-ZQLQELFC.js +309 -0
- package/dist/wallets/walletConnectors/chunk-ZR7CEF64.js +63 -0
- package/dist/wallets/walletConnectors/chunk-ZSGFDK77.js +63 -0
- package/dist/wallets/walletConnectors/chunk-ZUIY2TRJ.js +1695 -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 +55 -55
- 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/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 +12 -11
- package/LICENSE +0 -9
- package/dist/solana/hooks/index.d.ts +0 -12
- package/dist/solana/hooks/useSolanaAccount.d.ts +0 -98
- package/dist/solana/hooks/useSolanaConnection.d.ts +0 -72
- package/dist/solana/hooks/useSolanaSendTransaction.d.ts +0 -98
- package/dist/solana/hooks/useSolanaSignMessage.d.ts +0 -82
- package/dist/wallets/walletConnectors/abcWallet/abcSolProvider.d.ts +0 -45
- package/dist/wallets/walletConnectors/abcWallet/abcSolProvider.js +0 -10
- package/dist/wallets/walletConnectors/abcWallet/abcSolanaConnector.d.ts +0 -115
- package/dist/wallets/walletConnectors/abcWallet/abcSolanaConnector.js +0 -12
- package/dist/wallets/walletConnectors/abcWallet/abcSolanaProvider.d.ts +0 -143
- package/dist/wallets/walletConnectors/abcWallet/abcSolanaProvider.js +0 -13
- package/dist/wallets/walletConnectors/abcWallet/abcSolanaWallet.d.ts +0 -18
- package/dist/wallets/walletConnectors/abcWallet/abcSolanaWallet.js +0 -15
- package/dist/wallets/walletConnectors/chunk-2XZBPMQJ.js +0 -39
- package/dist/wallets/walletConnectors/chunk-3SVPZCA6.js +0 -71
- package/dist/wallets/walletConnectors/chunk-3ZZXE7EL.js +0 -39
- package/dist/wallets/walletConnectors/chunk-5QEUEPNY.js +0 -94
- package/dist/wallets/walletConnectors/chunk-75W4VLFA.js +0 -482
- package/dist/wallets/walletConnectors/chunk-B6JLYR3I.js +0 -66
- package/dist/wallets/walletConnectors/chunk-FROV5VDF.js +0 -346
- package/dist/wallets/walletConnectors/chunk-HKWBR5B7.js +0 -102
- package/dist/wallets/walletConnectors/chunk-K4APJ4PE.js +0 -96
- package/dist/wallets/walletConnectors/chunk-LJ2B47VF.js +0 -108
- package/dist/wallets/walletConnectors/chunk-LXINMUQC.js +0 -186
- package/dist/wallets/walletConnectors/chunk-MORUEOYX.js +0 -76
- package/dist/wallets/walletConnectors/chunk-MQTXA63X.js +0 -27
- package/dist/wallets/walletConnectors/chunk-N4FOYXQD.js +0 -63
- package/dist/wallets/walletConnectors/chunk-NEXFU6BZ.js +0 -39
- package/dist/wallets/walletConnectors/chunk-PMZJGS7X.js +0 -73
- package/dist/wallets/walletConnectors/chunk-QEHZXKRF.js +0 -39
- package/dist/wallets/walletConnectors/chunk-T6KJZAPR.js +0 -47
- package/dist/wallets/walletConnectors/chunk-UBCMBPX3.js +0 -58
- package/dist/wallets/walletConnectors/chunk-UGQXI3RN.js +0 -284
- package/dist/wallets/walletConnectors/chunk-WZZVA3LW.js +0 -101
- package/dist/wallets/walletConnectors/chunk-X4WUD7PF.js +0 -63
- package/dist/wallets/walletConnectors/chunk-XOQNQKZE.js +0 -98
- package/dist/wallets/walletConnectors/chunk-XPSCFUX6.js +0 -372
- package/dist/wallets/walletConnectors/chunk-Y3LWEDF6.js +0 -63
- package/dist/wallets/walletConnectors/chunk-ZJ6OFFD5.js +0 -95
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import {
|
|
3
3
|
secure_default
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-NDYGTKP5.js";
|
|
5
5
|
import {
|
|
6
6
|
getSolanaNetwork
|
|
7
7
|
} from "./chunk-A7FIBI6X.js";
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
parseApiError,
|
|
14
14
|
removeFromStorage,
|
|
15
15
|
saveToStorage
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-5RSS3SRV.js";
|
|
17
17
|
import {
|
|
18
18
|
ABC_AUDIENCE,
|
|
19
19
|
ABC_ENDPOINTS,
|
|
@@ -412,6 +412,7 @@ var AbcWaasClient = class {
|
|
|
412
412
|
const talkenApiUrl = process.env.NEXT_PUBLIC_API_SERVER || "https://dev.walletapi.talken.io";
|
|
413
413
|
const url = `${talkenApiUrl}/abc/emailCheck?email=${encodeURIComponent(email)}`;
|
|
414
414
|
const method = "GET";
|
|
415
|
+
console.log("[AbcWaasClient] \u{1F4EC} Checking email");
|
|
415
416
|
try {
|
|
416
417
|
const response = await fetch(url, {
|
|
417
418
|
method,
|
|
@@ -453,6 +454,7 @@ var AbcWaasClient = class {
|
|
|
453
454
|
*/
|
|
454
455
|
async sendOtpCode(email) {
|
|
455
456
|
const endpoint = `/member/mail-service/${encodeURIComponent(email)}/sendcode`;
|
|
457
|
+
console.log("[AbcWaasClient] \u{1F4E7} Sending OTP code");
|
|
456
458
|
const response = await this.request(endpoint, {
|
|
457
459
|
method: "GET",
|
|
458
460
|
skipAuth: true
|
|
@@ -479,11 +481,13 @@ var AbcWaasClient = class {
|
|
|
479
481
|
serviceid: ABC_AUDIENCE
|
|
480
482
|
// 'https://mw.myabcwallet.com'
|
|
481
483
|
};
|
|
484
|
+
console.log("[AbcWaasClient] \u{1F510} Verifying OTP code");
|
|
482
485
|
const response = await this.request(endpoint, {
|
|
483
486
|
method: "POST",
|
|
484
487
|
body: requestBody,
|
|
485
488
|
skipAuth: true
|
|
486
489
|
});
|
|
490
|
+
console.log("[verifyOtpCodeSignup] Response:", response);
|
|
487
491
|
const isSuccess = response.status === "success" || response.status === 200 || response.message === "success";
|
|
488
492
|
if (isSuccess) {
|
|
489
493
|
return response;
|
|
@@ -503,6 +507,7 @@ var AbcWaasClient = class {
|
|
|
503
507
|
async snsLogin(params) {
|
|
504
508
|
const talkenApiUrl = process.env.NEXT_PUBLIC_API_SERVER || "https://dev.walletapi.talken.io";
|
|
505
509
|
const url = `${talkenApiUrl}/abc/snsLogin`;
|
|
510
|
+
console.log("[AbcWaasClient] \u{1F510} SNS Login");
|
|
506
511
|
try {
|
|
507
512
|
const response = await fetch(url, {
|
|
508
513
|
method: "POST",
|
|
@@ -535,6 +540,7 @@ var AbcWaasClient = class {
|
|
|
535
540
|
{ service: params.service, response: data }
|
|
536
541
|
);
|
|
537
542
|
}
|
|
543
|
+
console.log("[AbcWaasClient] \u2705 SNS login successful");
|
|
538
544
|
return {
|
|
539
545
|
uid: "",
|
|
540
546
|
// Will be fetched later via info() API
|
|
@@ -564,6 +570,7 @@ var AbcWaasClient = class {
|
|
|
564
570
|
const talkenApiUrl = process.env.NEXT_PUBLIC_API_SERVER || "https://dev.walletapi.talken.io";
|
|
565
571
|
const url = `${talkenApiUrl}/abc/adduser`;
|
|
566
572
|
const method = "POST";
|
|
573
|
+
console.log("[AbcWaasClient] \u{1F4DD} Registering user");
|
|
567
574
|
try {
|
|
568
575
|
const response = await fetch(url, {
|
|
569
576
|
method,
|
|
@@ -612,6 +619,7 @@ var AbcWaasClient = class {
|
|
|
612
619
|
const talkenApiUrl = process.env.NEXT_PUBLIC_API_SERVER || "https://dev.walletapi.talken.io";
|
|
613
620
|
const url = `${talkenApiUrl}/abc/snsAdduser`;
|
|
614
621
|
const method = "POST";
|
|
622
|
+
console.log("[AbcWaasClient] \u{1F4DD} Registering SNS user");
|
|
615
623
|
try {
|
|
616
624
|
const response = await fetch(url, {
|
|
617
625
|
method,
|
|
@@ -639,6 +647,7 @@ var AbcWaasClient = class {
|
|
|
639
647
|
}
|
|
640
648
|
});
|
|
641
649
|
}
|
|
650
|
+
console.log("[AbcWaasClient] \u2705 SNS user registered successfully");
|
|
642
651
|
return data;
|
|
643
652
|
} catch (error) {
|
|
644
653
|
if (error.name === "AbortError") {
|
|
@@ -660,6 +669,7 @@ var AbcWaasClient = class {
|
|
|
660
669
|
const talkenApiUrl = process.env.NEXT_PUBLIC_API_SERVER || "https://dev.walletapi.talken.io";
|
|
661
670
|
const url = `${talkenApiUrl}/abc/initpassword`;
|
|
662
671
|
const method = "POST";
|
|
672
|
+
console.log("[AbcWaasClient] \u{1F510} Setting password");
|
|
663
673
|
try {
|
|
664
674
|
const response = await fetch(url, {
|
|
665
675
|
method,
|
|
@@ -1466,24 +1476,55 @@ var AbcWaasClient = class {
|
|
|
1466
1476
|
const response = await fetch(url, {
|
|
1467
1477
|
method: "POST",
|
|
1468
1478
|
headers: {
|
|
1469
|
-
|
|
1479
|
+
"Content-Type": "application/json",
|
|
1480
|
+
// V3 API requires JSON, not form-urlencoded
|
|
1481
|
+
"Accept": "application/json",
|
|
1470
1482
|
...this.accessToken ? { Authorization: `Bearer ${this.accessToken}` } : {}
|
|
1471
1483
|
},
|
|
1472
1484
|
body: JSON.stringify({
|
|
1473
1485
|
curve: "ed25519",
|
|
1474
1486
|
password: pin
|
|
1475
1487
|
// PIN will be encrypted by Secure Channel
|
|
1488
|
+
// Note: network parameter not needed for v3 API
|
|
1476
1489
|
})
|
|
1477
1490
|
});
|
|
1478
|
-
|
|
1479
|
-
|
|
1491
|
+
let data;
|
|
1492
|
+
try {
|
|
1493
|
+
data = await response.json();
|
|
1494
|
+
} catch (e) {
|
|
1495
|
+
console.error(`[AbcWaasClient] Failed to parse response from ${url}:`, e);
|
|
1496
|
+
throw createAbcError(
|
|
1497
|
+
"WALLET_NOT_FOUND" /* WALLET_NOT_FOUND */,
|
|
1498
|
+
`Failed to ${isRecover ? "recover" : "generate"} Solana wallet - invalid response`,
|
|
1499
|
+
{ status: response.status }
|
|
1500
|
+
);
|
|
1501
|
+
}
|
|
1502
|
+
if (!response.ok) {
|
|
1503
|
+
if (!isRecover && response.status === 409) {
|
|
1504
|
+
const error = createAbcError(
|
|
1505
|
+
"WALLET_NOT_FOUND" /* WALLET_NOT_FOUND */,
|
|
1506
|
+
"Wallet already exists",
|
|
1507
|
+
data
|
|
1508
|
+
);
|
|
1509
|
+
error.response = { status: 409 };
|
|
1510
|
+
throw error;
|
|
1511
|
+
}
|
|
1512
|
+
console.error(`[AbcWaasClient] ${isRecover ? "Recover" : "Generate"} failed:`, data);
|
|
1513
|
+
throw createAbcError(
|
|
1514
|
+
"WALLET_NOT_FOUND" /* WALLET_NOT_FOUND */,
|
|
1515
|
+
`Failed to ${isRecover ? "recover" : "generate"} Solana wallet`,
|
|
1516
|
+
data
|
|
1517
|
+
);
|
|
1518
|
+
}
|
|
1519
|
+
const result = data.result || data;
|
|
1520
|
+
if (!result.key_id || !result.public_key || !result.encrypted_share) {
|
|
1521
|
+
console.error("[AbcWaasClient] Invalid wallet response, missing required fields:", result);
|
|
1480
1522
|
throw createAbcError(
|
|
1481
1523
|
"WALLET_NOT_FOUND" /* WALLET_NOT_FOUND */,
|
|
1482
|
-
|
|
1524
|
+
`Invalid wallet response from ${isRecover ? "recover" : "generate"}`,
|
|
1483
1525
|
data
|
|
1484
1526
|
);
|
|
1485
1527
|
}
|
|
1486
|
-
const result = data.result;
|
|
1487
1528
|
const solanaNetwork = getSolanaNetwork();
|
|
1488
1529
|
const addressResult = await this.getSolanaAddress(
|
|
1489
1530
|
result.public_key,
|
|
@@ -1491,12 +1532,13 @@ var AbcWaasClient = class {
|
|
|
1491
1532
|
);
|
|
1492
1533
|
return {
|
|
1493
1534
|
uid: result.uid || "",
|
|
1494
|
-
sessionId: result.share_id,
|
|
1495
|
-
shareId: result.share_id,
|
|
1535
|
+
sessionId: result.share_id || result.key_id,
|
|
1536
|
+
shareId: result.share_id || result.key_id,
|
|
1496
1537
|
publicKey: result.public_key,
|
|
1497
1538
|
address: addressResult,
|
|
1498
|
-
keyId: result.key_id
|
|
1539
|
+
keyId: result.key_id,
|
|
1499
1540
|
encryptedShare: result.encrypted_share || "",
|
|
1541
|
+
secretStore: result.secret_store || "",
|
|
1500
1542
|
network: solanaNetwork
|
|
1501
1543
|
};
|
|
1502
1544
|
}
|
|
@@ -1506,16 +1548,18 @@ var AbcWaasClient = class {
|
|
|
1506
1548
|
*/
|
|
1507
1549
|
async getSolanaAddress(publicKey, network) {
|
|
1508
1550
|
const url = `${this.baseURL}/wapi/v2/solana/wallet/getAddress`;
|
|
1551
|
+
const body = new URLSearchParams({
|
|
1552
|
+
network,
|
|
1553
|
+
publicKey
|
|
1554
|
+
}).toString();
|
|
1509
1555
|
const response = await fetch(url, {
|
|
1510
1556
|
method: "POST",
|
|
1511
1557
|
headers: {
|
|
1512
1558
|
...DEFAULT_HEADERS,
|
|
1559
|
+
// Contains 'Content-Type': 'application/x-www-form-urlencoded'
|
|
1513
1560
|
...this.accessToken ? { Authorization: `Bearer ${this.accessToken}` } : {}
|
|
1514
1561
|
},
|
|
1515
|
-
body
|
|
1516
|
-
network,
|
|
1517
|
-
publicKey
|
|
1518
|
-
})
|
|
1562
|
+
body
|
|
1519
1563
|
});
|
|
1520
1564
|
const data = await response.json();
|
|
1521
1565
|
if (!response.ok || data.status !== "success") {
|
|
@@ -1536,16 +1580,22 @@ var AbcWaasClient = class {
|
|
|
1536
1580
|
const response = await fetch(url, {
|
|
1537
1581
|
method: "POST",
|
|
1538
1582
|
headers: {
|
|
1539
|
-
|
|
1583
|
+
"Content-Type": "application/json",
|
|
1584
|
+
Accept: "application/json",
|
|
1540
1585
|
...this.accessToken ? { Authorization: `Bearer ${this.accessToken}` } : {}
|
|
1541
1586
|
},
|
|
1542
1587
|
body: JSON.stringify({
|
|
1543
1588
|
uid: params.uid,
|
|
1544
1589
|
share_id: params.shareId,
|
|
1590
|
+
key_id: params.keyId,
|
|
1591
|
+
encrypted_share: params.encryptedShare,
|
|
1592
|
+
public_key: params.publicKey,
|
|
1545
1593
|
message: params.message,
|
|
1546
1594
|
// Hex-encoded transaction
|
|
1547
|
-
password: params.pin
|
|
1595
|
+
password: params.pin,
|
|
1548
1596
|
// PIN will be encrypted
|
|
1597
|
+
network: params.network
|
|
1598
|
+
// Required: 'solana' or 'solana_devnet'
|
|
1549
1599
|
})
|
|
1550
1600
|
});
|
|
1551
1601
|
const data = await response.json();
|
|
@@ -1569,15 +1619,21 @@ var AbcWaasClient = class {
|
|
|
1569
1619
|
const response = await fetch(url, {
|
|
1570
1620
|
method: "POST",
|
|
1571
1621
|
headers: {
|
|
1572
|
-
|
|
1622
|
+
"Content-Type": "application/json",
|
|
1623
|
+
Accept: "application/json",
|
|
1573
1624
|
...this.accessToken ? { Authorization: `Bearer ${this.accessToken}` } : {}
|
|
1574
1625
|
},
|
|
1575
1626
|
body: JSON.stringify({
|
|
1576
1627
|
uid: params.uid,
|
|
1577
1628
|
share_id: params.shareId,
|
|
1629
|
+
key_id: params.keyId,
|
|
1630
|
+
encrypted_share: params.encryptedShare,
|
|
1631
|
+
public_key: params.publicKey,
|
|
1578
1632
|
message: params.message,
|
|
1579
1633
|
// Hex-encoded message
|
|
1580
|
-
password: params.pin
|
|
1634
|
+
password: params.pin,
|
|
1635
|
+
network: params.network
|
|
1636
|
+
// Required: 'solana' or 'solana_devnet'
|
|
1581
1637
|
})
|
|
1582
1638
|
});
|
|
1583
1639
|
const data = await response.json();
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import {
|
|
3
3
|
secure_default
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-NDYGTKP5.js";
|
|
5
5
|
import {
|
|
6
6
|
calculateExpiryTimestamp,
|
|
7
7
|
createAbcError,
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
parseApiError,
|
|
11
11
|
removeFromStorage,
|
|
12
12
|
saveToStorage
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-TYUEB4VT.js";
|
|
14
14
|
import {
|
|
15
15
|
ABC_ENDPOINTS,
|
|
16
16
|
DEFAULT_HEADERS,
|
|
@@ -38,6 +38,15 @@ var BaseApiClient = class {
|
|
|
38
38
|
this.refreshToken = loadFromStorage("refresh_token" /* REFRESH_TOKEN */);
|
|
39
39
|
this.expiresAt = loadFromStorage("expires_at" /* EXPIRES_AT */);
|
|
40
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
|
+
}
|
|
41
50
|
/**
|
|
42
51
|
* Save tokens to storage
|
|
43
52
|
*/
|
|
@@ -114,7 +123,7 @@ var BaseApiClient = class {
|
|
|
114
123
|
const isProd = this.config.environment === "production";
|
|
115
124
|
const headers = { ...DEFAULT_HEADERS };
|
|
116
125
|
if (isProd) {
|
|
117
|
-
headers["
|
|
126
|
+
headers["User-Agent"] = "Android";
|
|
118
127
|
}
|
|
119
128
|
const response = await fetch(
|
|
120
129
|
`${talkenApiUrl}${ABC_ENDPOINTS.REFRESH_TOKEN}`,
|
|
@@ -176,7 +185,7 @@ var BaseApiClient = class {
|
|
|
176
185
|
requestHeaders["Accept"] = "application/json";
|
|
177
186
|
}
|
|
178
187
|
if (this.config.environment === "production") {
|
|
179
|
-
requestHeaders["
|
|
188
|
+
requestHeaders["User-Agent"] = "Android";
|
|
180
189
|
}
|
|
181
190
|
if (!skipAuth && this.accessToken) {
|
|
182
191
|
requestHeaders.Authorization = `Bearer ${this.accessToken}`;
|
|
@@ -234,13 +243,15 @@ var BaseApiClient = class {
|
|
|
234
243
|
}
|
|
235
244
|
}
|
|
236
245
|
if (!response.ok) {
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
246
|
+
if (response.status !== 409) {
|
|
247
|
+
console.error("[BaseApiClient] \u274C API Error:", {
|
|
248
|
+
url,
|
|
249
|
+
method,
|
|
250
|
+
status: response.status,
|
|
251
|
+
statusText: response.statusText,
|
|
252
|
+
data
|
|
253
|
+
});
|
|
254
|
+
}
|
|
244
255
|
throw parseApiError({
|
|
245
256
|
response: {
|
|
246
257
|
status: response.status,
|
|
@@ -250,11 +261,13 @@ var BaseApiClient = class {
|
|
|
250
261
|
}
|
|
251
262
|
return data;
|
|
252
263
|
} catch (error) {
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
264
|
+
if (error.response?.status !== 409 && error.code !== "WALLET_ALREADY_EXISTS") {
|
|
265
|
+
console.error("[BaseApiClient] \u274C Request failed:", {
|
|
266
|
+
url,
|
|
267
|
+
method,
|
|
268
|
+
error: error.message
|
|
269
|
+
});
|
|
270
|
+
}
|
|
258
271
|
if (error.name === "AbortError") {
|
|
259
272
|
throw createAbcError(
|
|
260
273
|
"NETWORK_ERROR" /* NETWORK_ERROR */,
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import {
|
|
3
3
|
BaseApiClient
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-CNRPEVLV.js";
|
|
5
5
|
import {
|
|
6
6
|
createAbcError
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-5RSS3SRV.js";
|
|
8
8
|
import {
|
|
9
9
|
DEFAULT_HEADERS
|
|
10
10
|
} from "./chunk-VETRBBA2.js";
|
|
@@ -49,7 +49,10 @@ var BitcoinApi = class extends BaseApiClient {
|
|
|
49
49
|
network,
|
|
50
50
|
addressType
|
|
51
51
|
);
|
|
52
|
-
console.log(
|
|
52
|
+
console.log(
|
|
53
|
+
"[BitcoinApi] \u2705 Bitcoin wallet generated:",
|
|
54
|
+
`${addressResult.substring(0, 6)}...${addressResult.substring(addressResult.length - 4)}`
|
|
55
|
+
);
|
|
53
56
|
return {
|
|
54
57
|
uid: result.uid || "",
|
|
55
58
|
sessionId: result.share_id,
|
|
@@ -100,7 +103,10 @@ var BitcoinApi = class extends BaseApiClient {
|
|
|
100
103
|
network,
|
|
101
104
|
addressType
|
|
102
105
|
);
|
|
103
|
-
console.log(
|
|
106
|
+
console.log(
|
|
107
|
+
"[BitcoinApi] \u2705 Bitcoin wallet recovered:",
|
|
108
|
+
`${addressResult.substring(0, 6)}...${addressResult.substring(addressResult.length - 4)}`
|
|
109
|
+
);
|
|
104
110
|
return {
|
|
105
111
|
uid: result.uid || "",
|
|
106
112
|
sessionId: result.share_id,
|
|
@@ -153,6 +159,10 @@ var BitcoinApi = class extends BaseApiClient {
|
|
|
153
159
|
* @returns Array of UTXOs
|
|
154
160
|
*/
|
|
155
161
|
async getUtxos(address, network) {
|
|
162
|
+
console.log(
|
|
163
|
+
"[BitcoinApi] \u{1F50D} Fetching UTXOs for:",
|
|
164
|
+
`${address.substring(0, 6)}...${address.substring(address.length - 4)}`
|
|
165
|
+
);
|
|
156
166
|
const url = `${this.baseURL}/wapi/v2/bitcoin/utxo/list`;
|
|
157
167
|
const params = new URLSearchParams({ network, address });
|
|
158
168
|
console.log("[BitcoinApi] \u{1F50D} Fetching UTXOs for:", address);
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import {
|
|
3
3
|
BaseApiClient
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import {
|
|
6
|
-
createAbcError
|
|
7
|
-
} from "./chunk-UV5HHESJ.js";
|
|
4
|
+
} from "./chunk-CNRPEVLV.js";
|
|
8
5
|
import {
|
|
9
6
|
getSolanaNetwork
|
|
10
7
|
} from "./chunk-A7FIBI6X.js";
|
|
8
|
+
import {
|
|
9
|
+
createAbcError
|
|
10
|
+
} from "./chunk-5RSS3SRV.js";
|
|
11
11
|
import {
|
|
12
12
|
ABC_ENDPOINTS,
|
|
13
13
|
DEFAULT_HEADERS
|
|
@@ -0,0 +1,272 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import {
|
|
3
|
+
createAbcEvmProvider
|
|
4
|
+
} from "./chunk-2NVHWZUE.js";
|
|
5
|
+
import {
|
|
6
|
+
createAbcWaasClient
|
|
7
|
+
} from "./chunk-7MOCKWA7.js";
|
|
8
|
+
import {
|
|
9
|
+
setGlobalDefaultBitcoinNetwork,
|
|
10
|
+
setGlobalDefaultChainId,
|
|
11
|
+
setGlobalDefaultSolanaNetwork
|
|
12
|
+
} from "./chunk-2GNL2GNB.js";
|
|
13
|
+
import {
|
|
14
|
+
clearAuthState,
|
|
15
|
+
clearEncryptedTokens,
|
|
16
|
+
clearStorage,
|
|
17
|
+
loadAuthState,
|
|
18
|
+
loadFromStorage,
|
|
19
|
+
saveAuthState
|
|
20
|
+
} from "./chunk-5RSS3SRV.js";
|
|
21
|
+
|
|
22
|
+
// src/wallets/walletConnectors/abcWallet/abcConnector.ts
|
|
23
|
+
import { createConnector } from "wagmi";
|
|
24
|
+
function abcConnector(options) {
|
|
25
|
+
const { config } = options;
|
|
26
|
+
if (config.defaultChainId) {
|
|
27
|
+
setGlobalDefaultChainId(config.defaultChainId);
|
|
28
|
+
}
|
|
29
|
+
if (config.defaultSolanaNetwork) {
|
|
30
|
+
setGlobalDefaultSolanaNetwork(config.defaultSolanaNetwork);
|
|
31
|
+
}
|
|
32
|
+
if (config.defaultBitcoinNetwork) {
|
|
33
|
+
setGlobalDefaultBitcoinNetwork(config.defaultBitcoinNetwork);
|
|
34
|
+
}
|
|
35
|
+
return createConnector((wagmiConfig) => {
|
|
36
|
+
const client = createAbcWaasClient(config);
|
|
37
|
+
const provider = createAbcEvmProvider(client);
|
|
38
|
+
let accountsChangedHandler;
|
|
39
|
+
let chainChangedHandler;
|
|
40
|
+
let disconnectHandler;
|
|
41
|
+
return {
|
|
42
|
+
id: "abc",
|
|
43
|
+
name: "ABC Wallet",
|
|
44
|
+
type: "abc",
|
|
45
|
+
/**
|
|
46
|
+
* Connect wallet
|
|
47
|
+
*/
|
|
48
|
+
async connect() {
|
|
49
|
+
try {
|
|
50
|
+
const authState = loadAuthState();
|
|
51
|
+
if (!authState || !authState.isAuthenticated || !authState.wallet) {
|
|
52
|
+
throw new Error("ABC_LOGIN_REQUIRED");
|
|
53
|
+
}
|
|
54
|
+
provider.setWallet(authState.wallet);
|
|
55
|
+
if (authState.accessToken && authState.refreshToken && authState.expiresAt) {
|
|
56
|
+
client.setTokens(authState.accessToken, authState.refreshToken, authState.expiresAt);
|
|
57
|
+
}
|
|
58
|
+
const accounts = await provider.request({
|
|
59
|
+
method: "eth_requestAccounts"
|
|
60
|
+
});
|
|
61
|
+
const currentChainId = await provider.request({
|
|
62
|
+
method: "eth_chainId"
|
|
63
|
+
});
|
|
64
|
+
if (accountsChangedHandler) {
|
|
65
|
+
provider.removeListener("accountsChanged", accountsChangedHandler);
|
|
66
|
+
}
|
|
67
|
+
accountsChangedHandler = (accounts2) => {
|
|
68
|
+
wagmiConfig.emitter.emit("change", {
|
|
69
|
+
accounts: accounts2
|
|
70
|
+
});
|
|
71
|
+
};
|
|
72
|
+
provider.on("accountsChanged", accountsChangedHandler);
|
|
73
|
+
if (chainChangedHandler) {
|
|
74
|
+
provider.removeListener("chainChanged", chainChangedHandler);
|
|
75
|
+
}
|
|
76
|
+
chainChangedHandler = (chainId) => {
|
|
77
|
+
wagmiConfig.emitter.emit("change", {
|
|
78
|
+
chainId: Number(chainId)
|
|
79
|
+
});
|
|
80
|
+
};
|
|
81
|
+
provider.on("chainChanged", chainChangedHandler);
|
|
82
|
+
if (disconnectHandler) {
|
|
83
|
+
provider.removeListener("disconnect", disconnectHandler);
|
|
84
|
+
}
|
|
85
|
+
disconnectHandler = () => {
|
|
86
|
+
wagmiConfig.emitter.emit("disconnect");
|
|
87
|
+
this.onDisconnect();
|
|
88
|
+
};
|
|
89
|
+
provider.on("disconnect", disconnectHandler);
|
|
90
|
+
wagmiConfig.emitter.emit("connect", {
|
|
91
|
+
accounts,
|
|
92
|
+
chainId: Number(currentChainId)
|
|
93
|
+
});
|
|
94
|
+
return {
|
|
95
|
+
accounts,
|
|
96
|
+
chainId: Number(currentChainId)
|
|
97
|
+
};
|
|
98
|
+
} catch (error) {
|
|
99
|
+
console.error("\u274C ABC Connector connect() failed:", {
|
|
100
|
+
message: error.message,
|
|
101
|
+
code: error.code,
|
|
102
|
+
error
|
|
103
|
+
});
|
|
104
|
+
if (error.message === "ABC_LOGIN_REQUIRED") {
|
|
105
|
+
throw error;
|
|
106
|
+
}
|
|
107
|
+
throw error;
|
|
108
|
+
}
|
|
109
|
+
},
|
|
110
|
+
/**
|
|
111
|
+
* Disconnect wallet
|
|
112
|
+
*/
|
|
113
|
+
async disconnect() {
|
|
114
|
+
if (accountsChangedHandler) {
|
|
115
|
+
provider.removeListener("accountsChanged", accountsChangedHandler);
|
|
116
|
+
accountsChangedHandler = void 0;
|
|
117
|
+
}
|
|
118
|
+
if (chainChangedHandler) {
|
|
119
|
+
provider.removeListener("chainChanged", chainChangedHandler);
|
|
120
|
+
chainChangedHandler = void 0;
|
|
121
|
+
}
|
|
122
|
+
if (disconnectHandler) {
|
|
123
|
+
provider.removeListener("disconnect", disconnectHandler);
|
|
124
|
+
disconnectHandler = void 0;
|
|
125
|
+
}
|
|
126
|
+
provider.clearWallet();
|
|
127
|
+
await client.logout();
|
|
128
|
+
let savedPinHash = null;
|
|
129
|
+
let savedEmail = null;
|
|
130
|
+
if (typeof window !== "undefined") {
|
|
131
|
+
savedPinHash = localStorage.getItem("talkenkit_abc_pin_hash");
|
|
132
|
+
savedEmail = localStorage.getItem("talkenkit_abc_saved_email");
|
|
133
|
+
}
|
|
134
|
+
clearAuthState();
|
|
135
|
+
clearEncryptedTokens();
|
|
136
|
+
if (typeof window !== "undefined") {
|
|
137
|
+
localStorage.removeItem("talkenkit_abc_enc_salt");
|
|
138
|
+
localStorage.removeItem("talkenkit_abc_enc_tokens");
|
|
139
|
+
if (savedPinHash) {
|
|
140
|
+
localStorage.setItem("talkenkit_abc_pin_hash", savedPinHash);
|
|
141
|
+
}
|
|
142
|
+
if (savedEmail) {
|
|
143
|
+
localStorage.setItem("talkenkit_abc_saved_email", savedEmail);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
console.log("\u2705 ABC Wallet disconnected (PIN preserved)");
|
|
147
|
+
},
|
|
148
|
+
/**
|
|
149
|
+
* Get accounts
|
|
150
|
+
*/
|
|
151
|
+
async getAccounts() {
|
|
152
|
+
const accounts = await provider.request({
|
|
153
|
+
method: "eth_accounts"
|
|
154
|
+
});
|
|
155
|
+
return accounts.map((account) => account);
|
|
156
|
+
},
|
|
157
|
+
/**
|
|
158
|
+
* Get chain ID
|
|
159
|
+
*/
|
|
160
|
+
async getChainId() {
|
|
161
|
+
const chainId = await provider.request({
|
|
162
|
+
method: "eth_chainId"
|
|
163
|
+
});
|
|
164
|
+
return Number(chainId);
|
|
165
|
+
},
|
|
166
|
+
/**
|
|
167
|
+
* Get provider
|
|
168
|
+
*/
|
|
169
|
+
async getProvider() {
|
|
170
|
+
return provider;
|
|
171
|
+
},
|
|
172
|
+
/**
|
|
173
|
+
* Check if authorized (has valid session)
|
|
174
|
+
* Auto-refreshes access token if expired but refresh token is valid
|
|
175
|
+
*/
|
|
176
|
+
async isAuthorized() {
|
|
177
|
+
try {
|
|
178
|
+
const authState = loadAuthState();
|
|
179
|
+
if (!authState || !authState.isAuthenticated) {
|
|
180
|
+
return false;
|
|
181
|
+
}
|
|
182
|
+
if (!authState.wallet) {
|
|
183
|
+
return false;
|
|
184
|
+
}
|
|
185
|
+
if (client.isAuthenticated()) {
|
|
186
|
+
return true;
|
|
187
|
+
}
|
|
188
|
+
const refreshToken = loadFromStorage(
|
|
189
|
+
"refresh_token" /* REFRESH_TOKEN */
|
|
190
|
+
);
|
|
191
|
+
if (!refreshToken) {
|
|
192
|
+
clearStorage();
|
|
193
|
+
return false;
|
|
194
|
+
}
|
|
195
|
+
try {
|
|
196
|
+
await client.refreshTokens(refreshToken);
|
|
197
|
+
const updatedState = loadAuthState();
|
|
198
|
+
return updatedState?.isAuthenticated ?? false;
|
|
199
|
+
} catch (error) {
|
|
200
|
+
console.error("[AbcConnector] Token refresh failed:", error);
|
|
201
|
+
clearStorage();
|
|
202
|
+
return false;
|
|
203
|
+
}
|
|
204
|
+
} catch (error) {
|
|
205
|
+
console.error(
|
|
206
|
+
"[AbcConnector] Unexpected error in isAuthorized:",
|
|
207
|
+
error
|
|
208
|
+
);
|
|
209
|
+
return false;
|
|
210
|
+
}
|
|
211
|
+
},
|
|
212
|
+
/**
|
|
213
|
+
* Switch chain
|
|
214
|
+
*/
|
|
215
|
+
async switchChain({ chainId }) {
|
|
216
|
+
await provider.request({
|
|
217
|
+
method: "wallet_switchEthereumChain",
|
|
218
|
+
params: [{ chainId: `0x${chainId.toString(16)}` }]
|
|
219
|
+
});
|
|
220
|
+
const newChainId = await this.getChainId();
|
|
221
|
+
const authState = loadAuthState();
|
|
222
|
+
if (authState?.wallet) {
|
|
223
|
+
authState.wallet.chainId = newChainId;
|
|
224
|
+
saveAuthState(authState);
|
|
225
|
+
}
|
|
226
|
+
return wagmiConfig.chains.find((x) => x.id === chainId) ?? {
|
|
227
|
+
id: chainId,
|
|
228
|
+
name: `Chain ${chainId}`,
|
|
229
|
+
nativeCurrency: {
|
|
230
|
+
name: "Ether",
|
|
231
|
+
decimals: 18,
|
|
232
|
+
symbol: "ETH"
|
|
233
|
+
},
|
|
234
|
+
rpcUrls: {
|
|
235
|
+
default: { http: [""] }
|
|
236
|
+
}
|
|
237
|
+
};
|
|
238
|
+
},
|
|
239
|
+
/**
|
|
240
|
+
* Handle accounts changed
|
|
241
|
+
*/
|
|
242
|
+
onAccountsChanged(accounts) {
|
|
243
|
+
if (accounts.length === 0) {
|
|
244
|
+
this.onDisconnect();
|
|
245
|
+
} else {
|
|
246
|
+
wagmiConfig.emitter.emit("change", {
|
|
247
|
+
accounts
|
|
248
|
+
});
|
|
249
|
+
}
|
|
250
|
+
},
|
|
251
|
+
/**
|
|
252
|
+
* Handle chain changed
|
|
253
|
+
*/
|
|
254
|
+
onChainChanged(chain) {
|
|
255
|
+
const chainId = Number(chain);
|
|
256
|
+
wagmiConfig.emitter.emit("change", { chainId });
|
|
257
|
+
},
|
|
258
|
+
/**
|
|
259
|
+
* Handle disconnect
|
|
260
|
+
*/
|
|
261
|
+
onDisconnect(_error) {
|
|
262
|
+
provider.clearWallet();
|
|
263
|
+
clearAuthState();
|
|
264
|
+
wagmiConfig.emitter.emit("disconnect");
|
|
265
|
+
}
|
|
266
|
+
};
|
|
267
|
+
});
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
export {
|
|
271
|
+
abcConnector
|
|
272
|
+
};
|