@talken/talkenkit 2.4.23 → 2.4.24
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/AbcCredentialManager-E723A55X.js +7 -0
- package/dist/AbcCredentialManager-GUV5JQ2V.js +7 -0
- package/dist/AbcCredentialManager-Z7GDJHYR.js +7 -0
- package/dist/abcWallet-3PWHJXWR.js +181 -0
- package/dist/abcWallet-3XPV7ATY.js +185 -0
- package/dist/abcWallet-3XSSUDLJ.js +155 -0
- package/dist/abcWallet-53HAU4MH.js +155 -0
- package/dist/abcWallet-5B2YHZGY.js +155 -0
- package/dist/abcWallet-664AHBNM.js +183 -0
- package/dist/abcWallet-BV7HK3OX.js +181 -0
- package/dist/abcWallet-CRKQ3O6J.js +155 -0
- package/dist/abcWallet-H4JOSC4N.js +155 -0
- package/dist/abcWallet-HM7KZIMP.js +155 -0
- package/dist/abcWallet-I5DVALAS.js +155 -0
- package/dist/abcWallet-IF3EOKHC.js +183 -0
- package/dist/abcWallet-IUG22ZE3.js +155 -0
- package/dist/abcWallet-IYC3CKEO.js +155 -0
- package/dist/abcWallet-JE6UR4QF.js +181 -0
- package/dist/abcWallet-KPKVEGNP.js +185 -0
- package/dist/abcWallet-MZAL5NXP.js +181 -0
- package/dist/abcWallet-N2UADRNR.js +155 -0
- package/dist/abcWallet-OGHORNUW.js +181 -0
- package/dist/abcWallet-QSK6VJFU.js +181 -0
- package/dist/abcWallet-RKT3W3FX.js +155 -0
- package/dist/abcWallet-VHXTAARP.js +155 -0
- package/dist/abcWallet-YFYTW2JH.js +155 -0
- package/dist/abcWallet-ZPVQY4XE.js +155 -0
- package/dist/chunk-3VPMUBCL.js +5196 -0
- package/dist/chunk-5SDWPKKX.js +5322 -0
- package/dist/chunk-6RBGFYAF.js +5076 -0
- package/dist/chunk-7L2ANWBB.js +5139 -0
- package/dist/chunk-7VIEAJAM.js +5172 -0
- package/dist/chunk-BY6GTSWI.js +5059 -0
- package/dist/chunk-DWE3CZEL.js +5171 -0
- package/dist/chunk-J6P2IT7Z.js +5465 -0
- package/dist/chunk-JIRBQUIB.js +5348 -0
- package/dist/chunk-K6CLOFGV.js +5129 -0
- package/dist/chunk-KYTIQ23P.js +5390 -0
- package/dist/chunk-MARFD3QV.js +5164 -0
- package/dist/chunk-MRRWKS2W.js +348 -0
- package/dist/chunk-PILL2YTG.js +5075 -0
- package/dist/chunk-QW7D53VM.js +5129 -0
- package/dist/chunk-RAWLCGOW.js +5058 -0
- package/dist/chunk-SHUPSYR2.js +5004 -0
- package/dist/chunk-UIGQOSRS.js +5174 -0
- package/dist/chunk-UINIIZCG.js +5098 -0
- package/dist/chunk-VOQSYTG3.js +5419 -0
- package/dist/chunk-VT5Q2XKZ.js +5193 -0
- package/dist/chunk-VXQYKPGQ.js +5476 -0
- package/dist/chunk-VYLJNEKY.js +5129 -0
- package/dist/chunk-X24B5DJR.js +323 -0
- package/dist/chunk-X3C73JWU.js +5370 -0
- package/dist/chunk-XIDK5P36.js +288 -0
- package/dist/chunk-ZHRI7SGC.js +5359 -0
- package/dist/components/ConnectOptions/AbcWaasAuth/AbcWaasAuthFlow.d.ts +1 -2
- package/dist/components/RainbowKitProvider/InternalPinProvider.d.ts +1 -1
- package/dist/contexts/MultiChainContext.d.ts +2 -2
- package/dist/hooks/internal/abcEmbeddedWallet.d.ts +26 -0
- package/dist/hooks/useSolanaWallet.d.ts +4 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +10379 -10417
- package/dist/providers/AbcAuthProvider.d.ts +3 -1
- package/dist/utils/encryption.d.ts +0 -4
- package/dist/wallets/walletConnectors/abcWallet/AbcCredentialManager.d.ts +49 -0
- package/dist/wallets/walletConnectors/abcWallet/AbcCredentialManager.js +8 -0
- package/dist/wallets/walletConnectors/abcWallet/AbcEvmAutoConnector.d.ts +4 -0
- package/dist/wallets/walletConnectors/abcWallet/AbcEvmAutoConnector.js +12 -15
- package/dist/wallets/walletConnectors/abcWallet/abcBitcoinConnector.js +3 -3
- package/dist/wallets/walletConnectors/abcWallet/abcBitcoinProvider.d.ts +2 -0
- package/dist/wallets/walletConnectors/abcWallet/abcBitcoinProvider.js +3 -1
- package/dist/wallets/walletConnectors/abcWallet/abcConnector.js +6 -5
- package/dist/wallets/walletConnectors/abcWallet/abcProvider.d.ts +25 -1
- package/dist/wallets/walletConnectors/abcWallet/abcProvider.js +4 -3
- package/dist/wallets/walletConnectors/abcWallet/abcSolanaProvider.js +3 -1
- package/dist/wallets/walletConnectors/abcWallet/abcSolanaWalletAdapter.js +12 -7
- package/dist/wallets/walletConnectors/abcWallet/abcTronProvider.d.ts +3 -2
- package/dist/wallets/walletConnectors/abcWallet/abcTronProvider.js +3 -1
- package/dist/wallets/walletConnectors/abcWallet/abcWallet.js +7 -6
- package/dist/wallets/walletConnectors/abcWallet/api/TalkenApiClient.d.ts +1 -0
- package/dist/wallets/walletConnectors/abcWallet/api/TalkenApiClient.js +3 -2
- package/dist/wallets/walletConnectors/abcWallet/api/index.js +6 -5
- package/dist/wallets/walletConnectors/abcWallet/backfillMissingWallets.d.ts +3 -0
- package/dist/wallets/walletConnectors/abcWallet/backfillMissingWallets.js +16 -0
- package/dist/wallets/walletConnectors/abcWallet/index.d.ts +2 -1
- package/dist/wallets/walletConnectors/abcWallet/index.js +22 -48
- package/dist/wallets/walletConnectors/abcWallet/sessionUtils.js +2 -1
- package/dist/wallets/walletConnectors/abcWallet/types.d.ts +6 -9
- package/dist/wallets/walletConnectors/abcWallet/types.js +1 -1
- package/dist/wallets/walletConnectors/abcWallet/utils.d.ts +0 -83
- package/dist/wallets/walletConnectors/abcWallet/utils.js +2 -40
- package/dist/wallets/walletConnectors/abcWallet/walletGeneration.d.ts +9 -3
- package/dist/wallets/walletConnectors/abcWallet/walletGeneration.js +5 -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-2XX4LJSQ.js +1387 -0
- package/dist/wallets/walletConnectors/chunk-3BUGPUMD.js +151 -0
- package/dist/wallets/walletConnectors/chunk-3H7YKUJZ.js +1407 -0
- package/dist/wallets/walletConnectors/chunk-3OWQ6MEU.js +54 -0
- package/dist/wallets/walletConnectors/chunk-3VDYWOS4.js +300 -0
- package/dist/wallets/walletConnectors/chunk-3XOXT4AM.js +314 -0
- package/dist/wallets/walletConnectors/chunk-42D2UPKR.js +439 -0
- package/dist/wallets/walletConnectors/chunk-42MF6LUP.js +563 -0
- package/dist/wallets/walletConnectors/chunk-4LIJB776.js +273 -0
- package/dist/wallets/walletConnectors/chunk-4P3SPC44.js +51 -0
- package/dist/wallets/walletConnectors/chunk-4RZVAQQ4.js +574 -0
- package/dist/wallets/walletConnectors/chunk-53UTBIKF.js +209 -0
- package/dist/wallets/walletConnectors/chunk-54KVT46V.js +1477 -0
- package/dist/wallets/walletConnectors/chunk-5UBUX5BT.js +440 -0
- package/dist/wallets/walletConnectors/chunk-5ZBV5WE2.js +94 -0
- package/dist/wallets/walletConnectors/chunk-6EUOVOQK.js +151 -0
- package/dist/wallets/walletConnectors/chunk-6YUJPIJ5.js +351 -0
- package/dist/wallets/walletConnectors/chunk-77YYMCMD.js +273 -0
- package/dist/wallets/walletConnectors/chunk-7EQNUYV2.js +482 -0
- package/dist/wallets/walletConnectors/chunk-7K77YGQN.js +54 -0
- package/dist/wallets/walletConnectors/chunk-7MMVOEZF.js +393 -0
- package/dist/wallets/walletConnectors/chunk-7RDMH4SD.js +54 -0
- package/dist/wallets/walletConnectors/chunk-7S4N4DRT.js +306 -0
- package/dist/wallets/walletConnectors/chunk-7SWRH3EI.js +96 -0
- package/dist/wallets/walletConnectors/chunk-A3OJZTDV.js +54 -0
- package/dist/wallets/walletConnectors/chunk-AJBRO3VA.js +300 -0
- package/dist/wallets/walletConnectors/chunk-BKVGLYLI.js +194 -0
- package/dist/wallets/walletConnectors/chunk-C3FPON5L.js +213 -0
- package/dist/wallets/walletConnectors/chunk-CBIDNYV4.js +1407 -0
- package/dist/wallets/walletConnectors/chunk-DD6KK4BR.js +54 -0
- package/dist/wallets/walletConnectors/chunk-DSNVWCPD.js +131 -0
- package/dist/wallets/walletConnectors/chunk-DULGAYBU.js +785 -0
- package/dist/wallets/walletConnectors/chunk-DZUXOGSA.js +54 -0
- package/dist/wallets/walletConnectors/chunk-EVJIFLSY.js +93 -0
- package/dist/wallets/walletConnectors/chunk-EVW3ZB3Q.js +386 -0
- package/dist/wallets/walletConnectors/chunk-F2UWSAMX.js +54 -0
- package/dist/wallets/walletConnectors/chunk-FBVPR472.js +314 -0
- package/dist/wallets/walletConnectors/chunk-FKS2YLVW.js +273 -0
- package/dist/wallets/walletConnectors/chunk-FOGNJZPY.js +54 -0
- package/dist/wallets/walletConnectors/chunk-FSSV6JY3.js +54 -0
- package/dist/wallets/walletConnectors/chunk-GFLJ2MAG.js +54 -0
- package/dist/wallets/walletConnectors/chunk-GGPJJ6KS.js +1407 -0
- package/dist/wallets/walletConnectors/chunk-GMAYKJEI.js +508 -0
- package/dist/wallets/walletConnectors/chunk-H3OWNM73.js +300 -0
- package/dist/wallets/walletConnectors/chunk-INT6LGH7.js +180 -0
- package/dist/wallets/walletConnectors/chunk-ITZ42A33.js +273 -0
- package/dist/wallets/walletConnectors/chunk-J4IF6BFF.js +300 -0
- package/dist/wallets/walletConnectors/chunk-JAMJLNYQ.js +54 -0
- package/dist/wallets/walletConnectors/chunk-JDJUIRGF.js +439 -0
- package/dist/wallets/walletConnectors/chunk-JEWCPQJZ.js +300 -0
- package/dist/wallets/walletConnectors/chunk-JK7LJ4B6.js +1407 -0
- package/dist/wallets/walletConnectors/chunk-JPOSJU2D.js +594 -0
- package/dist/wallets/walletConnectors/chunk-JUFEPIO4.js +1479 -0
- package/dist/wallets/walletConnectors/chunk-JV4IC5Z7.js +54 -0
- package/dist/wallets/walletConnectors/chunk-MP3WVXPS.js +273 -0
- package/dist/wallets/walletConnectors/chunk-MTC2HJPF.js +96 -0
- package/dist/wallets/walletConnectors/chunk-MTJF3SVB.js +1487 -0
- package/dist/wallets/walletConnectors/chunk-NBVPVTJZ.js +192 -0
- package/dist/wallets/walletConnectors/chunk-NISMGNEE.js +223 -0
- package/dist/wallets/walletConnectors/chunk-NY5O2OBG.js +1477 -0
- package/dist/wallets/walletConnectors/chunk-OYF6AQOW.js +194 -0
- package/dist/wallets/walletConnectors/chunk-PBOCVGUC.js +782 -0
- package/dist/wallets/walletConnectors/chunk-PJSN4YRI.js +1387 -0
- package/dist/wallets/walletConnectors/chunk-PVIO7FM7.js +314 -0
- package/dist/wallets/walletConnectors/chunk-PWJOXYDF.js +54 -0
- package/dist/wallets/walletConnectors/chunk-PYBSONED.js +771 -0
- package/dist/wallets/walletConnectors/chunk-PYKECUZ3.js +54 -0
- package/dist/wallets/walletConnectors/chunk-Q42NO7WB.js +46 -0
- package/dist/wallets/walletConnectors/chunk-Q7XBI5F6.js +300 -0
- package/dist/wallets/walletConnectors/chunk-QHUBLT7N.js +156 -0
- package/dist/wallets/walletConnectors/chunk-RMV23JXO.js +300 -0
- package/dist/wallets/walletConnectors/chunk-S3L2SA4J.js +300 -0
- package/dist/wallets/walletConnectors/chunk-S466OQOC.js +393 -0
- package/dist/wallets/walletConnectors/chunk-SA7IXAFG.js +54 -0
- package/dist/wallets/walletConnectors/chunk-SDB6BBHX.js +585 -0
- package/dist/wallets/walletConnectors/chunk-SFGVPX2G.js +351 -0
- package/dist/wallets/walletConnectors/chunk-SFQKJ6X6.js +314 -0
- package/dist/wallets/walletConnectors/chunk-SKLRJRER.js +1464 -0
- package/dist/wallets/walletConnectors/chunk-SQVWIBWR.js +351 -0
- package/dist/wallets/walletConnectors/chunk-SSLHXCOX.js +439 -0
- package/dist/wallets/walletConnectors/chunk-SU6LV3EO.js +314 -0
- package/dist/wallets/walletConnectors/chunk-SU7IEZE2.js +300 -0
- package/dist/wallets/walletConnectors/chunk-TMRB5SCL.js +167 -0
- package/dist/wallets/walletConnectors/chunk-TMUPUOQR.js +54 -0
- package/dist/wallets/walletConnectors/chunk-TNZ7QKXH.js +771 -0
- package/dist/wallets/walletConnectors/chunk-TT2NLKIU.js +1465 -0
- package/dist/wallets/walletConnectors/chunk-U3WGMWTH.js +585 -0
- package/dist/wallets/walletConnectors/chunk-UAV4SI4Y.js +408 -0
- package/dist/wallets/walletConnectors/chunk-UAWWPNS7.js +54 -0
- package/dist/wallets/walletConnectors/chunk-UXRJASPW.js +785 -0
- package/dist/wallets/walletConnectors/chunk-UY5TAYLM.js +54 -0
- package/dist/wallets/walletConnectors/chunk-VB5IZDY7.js +300 -0
- package/dist/wallets/walletConnectors/chunk-VIKJNKJZ.js +219 -0
- package/dist/wallets/walletConnectors/chunk-VVEXF6KG.js +273 -0
- package/dist/wallets/walletConnectors/chunk-W2YIRNMB.js +300 -0
- package/dist/wallets/walletConnectors/chunk-W7L2SBIG.js +138 -0
- package/dist/wallets/walletConnectors/chunk-WS5FG53X.js +54 -0
- package/dist/wallets/walletConnectors/chunk-WVRGC2YL.js +300 -0
- package/dist/wallets/walletConnectors/chunk-X33WL7R7.js +300 -0
- package/dist/wallets/walletConnectors/chunk-XG2R64B7.js +785 -0
- package/dist/wallets/walletConnectors/chunk-Y2BWF42Z.js +54 -0
- package/dist/wallets/walletConnectors/chunk-Y446VZWI.js +585 -0
- package/dist/wallets/walletConnectors/chunk-YROAFC7Z.js +54 -0
- package/dist/wallets/walletConnectors/chunk-Z4WVT3G2.js +1416 -0
- package/dist/wallets/walletConnectors/chunk-ZK3PZIAH.js +300 -0
- package/dist/wallets/walletConnectors/chunk-ZPJLV3E7.js +151 -0
- package/dist/wallets/walletConnectors/chunk-ZQ3LCYGH.js +408 -0
- package/dist/wallets/walletConnectors/chunk-ZX6HMX7N.js +1468 -0
- package/dist/wallets/walletConnectors/chunk-ZXN465CA.js +209 -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 +89 -88
- 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
|
@@ -0,0 +1,314 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import {
|
|
3
|
+
setTalkenApiClient
|
|
4
|
+
} from "./chunk-R6ZE7JAZ.js";
|
|
5
|
+
import {
|
|
6
|
+
setGlobalDefaultBitcoinNetwork,
|
|
7
|
+
setGlobalDefaultChainId,
|
|
8
|
+
setGlobalDefaultSolanaNetwork
|
|
9
|
+
} from "./chunk-O4AU63LK.js";
|
|
10
|
+
import {
|
|
11
|
+
createAbcEvmProvider
|
|
12
|
+
} from "./chunk-Z4WVT3G2.js";
|
|
13
|
+
import {
|
|
14
|
+
clearAuthState,
|
|
15
|
+
clearEncryptedTokens,
|
|
16
|
+
clearStorage,
|
|
17
|
+
loadAuthState,
|
|
18
|
+
loadFromStorage,
|
|
19
|
+
saveAuthState
|
|
20
|
+
} from "./chunk-GMAYKJEI.js";
|
|
21
|
+
import {
|
|
22
|
+
resolveTalkenApiUrl
|
|
23
|
+
} from "./chunk-GFWUFYT2.js";
|
|
24
|
+
import {
|
|
25
|
+
createTalkenApiClient
|
|
26
|
+
} from "./chunk-RIJTOH57.js";
|
|
27
|
+
|
|
28
|
+
// src/wallets/walletConnectors/abcWallet/abcConnector.ts
|
|
29
|
+
import { getTalkenApiClient } from "@talken/talkenkit";
|
|
30
|
+
import { createConnector } from "wagmi";
|
|
31
|
+
function abcConnector(options) {
|
|
32
|
+
const { config } = options;
|
|
33
|
+
if (config.defaultChainId) {
|
|
34
|
+
setGlobalDefaultChainId(config.defaultChainId);
|
|
35
|
+
}
|
|
36
|
+
if (config.defaultSolanaNetwork) {
|
|
37
|
+
setGlobalDefaultSolanaNetwork(config.defaultSolanaNetwork);
|
|
38
|
+
}
|
|
39
|
+
if (config.defaultBitcoinNetwork) {
|
|
40
|
+
setGlobalDefaultBitcoinNetwork(config.defaultBitcoinNetwork);
|
|
41
|
+
}
|
|
42
|
+
return createConnector((wagmiConfig) => {
|
|
43
|
+
const talkenApi = getTalkenApiClient() || createTalkenApiClient({
|
|
44
|
+
baseUrl: resolveTalkenApiUrl(config.talkenApiUrl),
|
|
45
|
+
environment: config.environment,
|
|
46
|
+
debug: config.environment === "development",
|
|
47
|
+
defaultChainId: config.defaultChainId
|
|
48
|
+
});
|
|
49
|
+
setTalkenApiClient(talkenApi);
|
|
50
|
+
const provider = createAbcEvmProvider(talkenApi);
|
|
51
|
+
let accountsChangedHandler;
|
|
52
|
+
let chainChangedHandler;
|
|
53
|
+
let disconnectHandler;
|
|
54
|
+
return {
|
|
55
|
+
id: "abc",
|
|
56
|
+
name: "ABC Wallet",
|
|
57
|
+
type: "abc",
|
|
58
|
+
/**
|
|
59
|
+
* Connect wallet
|
|
60
|
+
*/
|
|
61
|
+
async connect() {
|
|
62
|
+
try {
|
|
63
|
+
const authState = loadAuthState();
|
|
64
|
+
if (!authState || !authState.isAuthenticated || !authState.wallet) {
|
|
65
|
+
throw new Error("ABC_LOGIN_REQUIRED");
|
|
66
|
+
}
|
|
67
|
+
provider.setWallet(authState.wallet);
|
|
68
|
+
if (authState.accessToken && authState.refreshToken && authState.expiresAt) {
|
|
69
|
+
talkenApi.setTokens(
|
|
70
|
+
authState.accessToken,
|
|
71
|
+
authState.refreshToken,
|
|
72
|
+
authState.expiresAt
|
|
73
|
+
);
|
|
74
|
+
}
|
|
75
|
+
const accounts = await provider.request({
|
|
76
|
+
method: "eth_requestAccounts"
|
|
77
|
+
});
|
|
78
|
+
let currentChainId = await provider.request({
|
|
79
|
+
method: "eth_chainId"
|
|
80
|
+
});
|
|
81
|
+
const currentChainIdNumber = Number(currentChainId);
|
|
82
|
+
const isChainSupported = wagmiConfig.chains.some(
|
|
83
|
+
(c) => c.id === currentChainIdNumber
|
|
84
|
+
);
|
|
85
|
+
if (!isChainSupported && wagmiConfig.chains.length > 0) {
|
|
86
|
+
const fallbackChainId = wagmiConfig.chains[0].id;
|
|
87
|
+
await provider.request({
|
|
88
|
+
method: "wallet_switchEthereumChain",
|
|
89
|
+
params: [{ chainId: `0x${fallbackChainId.toString(16)}` }]
|
|
90
|
+
});
|
|
91
|
+
currentChainId = `0x${fallbackChainId.toString(16)}`;
|
|
92
|
+
if (authState.wallet) {
|
|
93
|
+
authState.wallet.chainId = fallbackChainId;
|
|
94
|
+
saveAuthState(authState);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
if (accountsChangedHandler) {
|
|
98
|
+
provider.removeListener("accountsChanged", accountsChangedHandler);
|
|
99
|
+
}
|
|
100
|
+
accountsChangedHandler = (accounts2) => {
|
|
101
|
+
wagmiConfig.emitter.emit("change", {
|
|
102
|
+
accounts: accounts2
|
|
103
|
+
});
|
|
104
|
+
};
|
|
105
|
+
provider.on("accountsChanged", accountsChangedHandler);
|
|
106
|
+
if (chainChangedHandler) {
|
|
107
|
+
provider.removeListener("chainChanged", chainChangedHandler);
|
|
108
|
+
}
|
|
109
|
+
chainChangedHandler = (chainId) => {
|
|
110
|
+
wagmiConfig.emitter.emit("change", {
|
|
111
|
+
chainId: Number(chainId)
|
|
112
|
+
});
|
|
113
|
+
};
|
|
114
|
+
provider.on("chainChanged", chainChangedHandler);
|
|
115
|
+
if (disconnectHandler) {
|
|
116
|
+
provider.removeListener("disconnect", disconnectHandler);
|
|
117
|
+
}
|
|
118
|
+
disconnectHandler = () => {
|
|
119
|
+
wagmiConfig.emitter.emit("disconnect");
|
|
120
|
+
this.onDisconnect();
|
|
121
|
+
};
|
|
122
|
+
provider.on("disconnect", disconnectHandler);
|
|
123
|
+
wagmiConfig.emitter.emit("connect", {
|
|
124
|
+
accounts,
|
|
125
|
+
chainId: Number(currentChainId)
|
|
126
|
+
});
|
|
127
|
+
return {
|
|
128
|
+
accounts,
|
|
129
|
+
chainId: Number(currentChainId)
|
|
130
|
+
};
|
|
131
|
+
} catch (error) {
|
|
132
|
+
console.error("\u274C ABC Connector connect() failed:", {
|
|
133
|
+
message: error.message,
|
|
134
|
+
code: error.code,
|
|
135
|
+
error
|
|
136
|
+
});
|
|
137
|
+
if (error.message === "ABC_LOGIN_REQUIRED") {
|
|
138
|
+
throw error;
|
|
139
|
+
}
|
|
140
|
+
throw error;
|
|
141
|
+
}
|
|
142
|
+
},
|
|
143
|
+
/**
|
|
144
|
+
* Disconnect wallet
|
|
145
|
+
*/
|
|
146
|
+
async disconnect() {
|
|
147
|
+
if (accountsChangedHandler) {
|
|
148
|
+
provider.removeListener("accountsChanged", accountsChangedHandler);
|
|
149
|
+
accountsChangedHandler = void 0;
|
|
150
|
+
}
|
|
151
|
+
if (chainChangedHandler) {
|
|
152
|
+
provider.removeListener("chainChanged", chainChangedHandler);
|
|
153
|
+
chainChangedHandler = void 0;
|
|
154
|
+
}
|
|
155
|
+
if (disconnectHandler) {
|
|
156
|
+
provider.removeListener("disconnect", disconnectHandler);
|
|
157
|
+
disconnectHandler = void 0;
|
|
158
|
+
}
|
|
159
|
+
provider.clearWallet();
|
|
160
|
+
talkenApi.auth.logout();
|
|
161
|
+
let savedPinHash = null;
|
|
162
|
+
let savedEmail = null;
|
|
163
|
+
if (typeof window !== "undefined") {
|
|
164
|
+
savedPinHash = localStorage.getItem("talkenkit_abc_pin_hash");
|
|
165
|
+
savedEmail = localStorage.getItem("talkenkit_abc_saved_email");
|
|
166
|
+
}
|
|
167
|
+
clearAuthState();
|
|
168
|
+
clearEncryptedTokens();
|
|
169
|
+
if (typeof window !== "undefined") {
|
|
170
|
+
localStorage.removeItem("talkenkit_abc_enc_salt");
|
|
171
|
+
localStorage.removeItem("talkenkit_abc_enc_tokens");
|
|
172
|
+
if (savedPinHash) {
|
|
173
|
+
localStorage.setItem("talkenkit_abc_pin_hash", savedPinHash);
|
|
174
|
+
}
|
|
175
|
+
if (savedEmail) {
|
|
176
|
+
localStorage.setItem("talkenkit_abc_saved_email", savedEmail);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
},
|
|
180
|
+
/**
|
|
181
|
+
* Get accounts
|
|
182
|
+
*/
|
|
183
|
+
async getAccounts() {
|
|
184
|
+
const accounts = await provider.request({
|
|
185
|
+
method: "eth_accounts"
|
|
186
|
+
});
|
|
187
|
+
return accounts.map((account) => account);
|
|
188
|
+
},
|
|
189
|
+
/**
|
|
190
|
+
* Get chain ID
|
|
191
|
+
*/
|
|
192
|
+
async getChainId() {
|
|
193
|
+
const chainId = await provider.request({
|
|
194
|
+
method: "eth_chainId"
|
|
195
|
+
});
|
|
196
|
+
return Number(chainId);
|
|
197
|
+
},
|
|
198
|
+
/**
|
|
199
|
+
* Get provider
|
|
200
|
+
*/
|
|
201
|
+
async getProvider() {
|
|
202
|
+
return provider;
|
|
203
|
+
},
|
|
204
|
+
/**
|
|
205
|
+
* Check if authorized (has valid session)
|
|
206
|
+
* Auto-refreshes access token if expired but refresh token is valid
|
|
207
|
+
*/
|
|
208
|
+
async isAuthorized() {
|
|
209
|
+
try {
|
|
210
|
+
const authState = loadAuthState();
|
|
211
|
+
if (!authState || !authState.isAuthenticated) {
|
|
212
|
+
return false;
|
|
213
|
+
}
|
|
214
|
+
if (!authState.wallet) {
|
|
215
|
+
return false;
|
|
216
|
+
}
|
|
217
|
+
if (talkenApi.isAuthenticated()) {
|
|
218
|
+
return true;
|
|
219
|
+
}
|
|
220
|
+
const refreshToken = loadFromStorage(
|
|
221
|
+
"refresh_token" /* REFRESH_TOKEN */
|
|
222
|
+
);
|
|
223
|
+
if (!refreshToken) {
|
|
224
|
+
clearStorage();
|
|
225
|
+
return false;
|
|
226
|
+
}
|
|
227
|
+
try {
|
|
228
|
+
const api = getTalkenApiClient();
|
|
229
|
+
if (!api) {
|
|
230
|
+
clearStorage();
|
|
231
|
+
return false;
|
|
232
|
+
}
|
|
233
|
+
const res = await api.auth.refresh();
|
|
234
|
+
talkenApi.setTokens(
|
|
235
|
+
res.accessToken,
|
|
236
|
+
res.refreshToken,
|
|
237
|
+
Date.now() + res.expiresIn * 1e3
|
|
238
|
+
);
|
|
239
|
+
const updatedState = loadAuthState();
|
|
240
|
+
return updatedState?.isAuthenticated ?? false;
|
|
241
|
+
} catch (error) {
|
|
242
|
+
console.error("[AbcConnector] Token refresh failed:", error);
|
|
243
|
+
clearStorage();
|
|
244
|
+
return false;
|
|
245
|
+
}
|
|
246
|
+
} catch (error) {
|
|
247
|
+
console.error(
|
|
248
|
+
"[AbcConnector] Unexpected error in isAuthorized:",
|
|
249
|
+
error
|
|
250
|
+
);
|
|
251
|
+
return false;
|
|
252
|
+
}
|
|
253
|
+
},
|
|
254
|
+
/**
|
|
255
|
+
* Switch chain
|
|
256
|
+
*/
|
|
257
|
+
async switchChain({ chainId }) {
|
|
258
|
+
await provider.request({
|
|
259
|
+
method: "wallet_switchEthereumChain",
|
|
260
|
+
params: [{ chainId: `0x${chainId.toString(16)}` }]
|
|
261
|
+
});
|
|
262
|
+
const newChainId = await this.getChainId();
|
|
263
|
+
const authState = loadAuthState();
|
|
264
|
+
if (authState?.wallet) {
|
|
265
|
+
authState.wallet.chainId = newChainId;
|
|
266
|
+
saveAuthState(authState);
|
|
267
|
+
}
|
|
268
|
+
return wagmiConfig.chains.find((x) => x.id === chainId) ?? {
|
|
269
|
+
id: chainId,
|
|
270
|
+
name: `Chain ${chainId}`,
|
|
271
|
+
nativeCurrency: {
|
|
272
|
+
name: "Ether",
|
|
273
|
+
decimals: 18,
|
|
274
|
+
symbol: "ETH"
|
|
275
|
+
},
|
|
276
|
+
rpcUrls: {
|
|
277
|
+
default: { http: [""] }
|
|
278
|
+
}
|
|
279
|
+
};
|
|
280
|
+
},
|
|
281
|
+
/**
|
|
282
|
+
* Handle accounts changed
|
|
283
|
+
*/
|
|
284
|
+
onAccountsChanged(accounts) {
|
|
285
|
+
if (accounts.length === 0) {
|
|
286
|
+
this.onDisconnect();
|
|
287
|
+
} else {
|
|
288
|
+
wagmiConfig.emitter.emit("change", {
|
|
289
|
+
accounts
|
|
290
|
+
});
|
|
291
|
+
}
|
|
292
|
+
},
|
|
293
|
+
/**
|
|
294
|
+
* Handle chain changed
|
|
295
|
+
*/
|
|
296
|
+
onChainChanged(chain) {
|
|
297
|
+
const chainId = Number(chain);
|
|
298
|
+
wagmiConfig.emitter.emit("change", { chainId });
|
|
299
|
+
},
|
|
300
|
+
/**
|
|
301
|
+
* Handle disconnect
|
|
302
|
+
*/
|
|
303
|
+
onDisconnect(_error) {
|
|
304
|
+
provider.clearWallet();
|
|
305
|
+
clearAuthState();
|
|
306
|
+
wagmiConfig.emitter.emit("disconnect");
|
|
307
|
+
}
|
|
308
|
+
};
|
|
309
|
+
});
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
export {
|
|
313
|
+
abcConnector
|
|
314
|
+
};
|
|
@@ -0,0 +1,300 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import {
|
|
3
|
+
setTalkenApiClient
|
|
4
|
+
} from "./chunk-R6ZE7JAZ.js";
|
|
5
|
+
import {
|
|
6
|
+
setGlobalDefaultBitcoinNetwork,
|
|
7
|
+
setGlobalDefaultChainId,
|
|
8
|
+
setGlobalDefaultSolanaNetwork
|
|
9
|
+
} from "./chunk-O4AU63LK.js";
|
|
10
|
+
import {
|
|
11
|
+
createAbcEvmProvider
|
|
12
|
+
} from "./chunk-JUFEPIO4.js";
|
|
13
|
+
import {
|
|
14
|
+
clearAuthState,
|
|
15
|
+
clearStorage,
|
|
16
|
+
loadAuthState,
|
|
17
|
+
loadFromStorage,
|
|
18
|
+
saveAuthState
|
|
19
|
+
} from "./chunk-NISMGNEE.js";
|
|
20
|
+
import {
|
|
21
|
+
createTalkenApiClient
|
|
22
|
+
} from "./chunk-XG2R64B7.js";
|
|
23
|
+
import {
|
|
24
|
+
resolveTalkenApiUrl
|
|
25
|
+
} from "./chunk-GFWUFYT2.js";
|
|
26
|
+
import {
|
|
27
|
+
getCredentialManager
|
|
28
|
+
} from "./chunk-QHUBLT7N.js";
|
|
29
|
+
|
|
30
|
+
// src/wallets/walletConnectors/abcWallet/abcConnector.ts
|
|
31
|
+
import { getTalkenApiClient } from "@talken/talkenkit";
|
|
32
|
+
import { createConnector } from "wagmi";
|
|
33
|
+
function abcConnector(options) {
|
|
34
|
+
const { config } = options;
|
|
35
|
+
if (config.defaultChainId) {
|
|
36
|
+
setGlobalDefaultChainId(config.defaultChainId);
|
|
37
|
+
}
|
|
38
|
+
if (config.defaultSolanaNetwork) {
|
|
39
|
+
setGlobalDefaultSolanaNetwork(config.defaultSolanaNetwork);
|
|
40
|
+
}
|
|
41
|
+
if (config.defaultBitcoinNetwork) {
|
|
42
|
+
setGlobalDefaultBitcoinNetwork(config.defaultBitcoinNetwork);
|
|
43
|
+
}
|
|
44
|
+
return createConnector((wagmiConfig) => {
|
|
45
|
+
const talkenApi = getTalkenApiClient() || createTalkenApiClient({
|
|
46
|
+
baseUrl: resolveTalkenApiUrl(config.talkenApiUrl),
|
|
47
|
+
environment: config.environment,
|
|
48
|
+
debug: config.environment === "development",
|
|
49
|
+
defaultChainId: config.defaultChainId
|
|
50
|
+
});
|
|
51
|
+
setTalkenApiClient(talkenApi);
|
|
52
|
+
const provider = createAbcEvmProvider(talkenApi);
|
|
53
|
+
let accountsChangedHandler;
|
|
54
|
+
let chainChangedHandler;
|
|
55
|
+
let disconnectHandler;
|
|
56
|
+
return {
|
|
57
|
+
id: "abc",
|
|
58
|
+
name: "ABC Wallet",
|
|
59
|
+
type: "abc",
|
|
60
|
+
/**
|
|
61
|
+
* Connect wallet
|
|
62
|
+
*/
|
|
63
|
+
async connect() {
|
|
64
|
+
try {
|
|
65
|
+
const authState = loadAuthState();
|
|
66
|
+
if (!authState || !authState.isAuthenticated || !authState.wallet) {
|
|
67
|
+
throw new Error("ABC_LOGIN_REQUIRED");
|
|
68
|
+
}
|
|
69
|
+
provider.setWallet(authState.wallet);
|
|
70
|
+
if (authState.accessToken && authState.refreshToken && authState.expiresAt) {
|
|
71
|
+
talkenApi.setTokens(
|
|
72
|
+
authState.accessToken,
|
|
73
|
+
authState.refreshToken,
|
|
74
|
+
authState.expiresAt
|
|
75
|
+
);
|
|
76
|
+
}
|
|
77
|
+
const accounts = await provider.request({
|
|
78
|
+
method: "eth_requestAccounts"
|
|
79
|
+
});
|
|
80
|
+
let currentChainId = await provider.request({
|
|
81
|
+
method: "eth_chainId"
|
|
82
|
+
});
|
|
83
|
+
const currentChainIdNumber = Number(currentChainId);
|
|
84
|
+
const isChainSupported = wagmiConfig.chains.some(
|
|
85
|
+
(c) => c.id === currentChainIdNumber
|
|
86
|
+
);
|
|
87
|
+
if (!isChainSupported && wagmiConfig.chains.length > 0) {
|
|
88
|
+
const fallbackChainId = wagmiConfig.chains[0].id;
|
|
89
|
+
await provider.request({
|
|
90
|
+
method: "wallet_switchEthereumChain",
|
|
91
|
+
params: [{ chainId: `0x${fallbackChainId.toString(16)}` }]
|
|
92
|
+
});
|
|
93
|
+
currentChainId = `0x${fallbackChainId.toString(16)}`;
|
|
94
|
+
if (authState.wallet) {
|
|
95
|
+
authState.wallet.chainId = fallbackChainId;
|
|
96
|
+
saveAuthState(authState);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
if (accountsChangedHandler) {
|
|
100
|
+
provider.removeListener("accountsChanged", accountsChangedHandler);
|
|
101
|
+
}
|
|
102
|
+
accountsChangedHandler = (accounts2) => {
|
|
103
|
+
wagmiConfig.emitter.emit("change", {
|
|
104
|
+
accounts: accounts2
|
|
105
|
+
});
|
|
106
|
+
};
|
|
107
|
+
provider.on("accountsChanged", accountsChangedHandler);
|
|
108
|
+
if (chainChangedHandler) {
|
|
109
|
+
provider.removeListener("chainChanged", chainChangedHandler);
|
|
110
|
+
}
|
|
111
|
+
chainChangedHandler = (chainId) => {
|
|
112
|
+
wagmiConfig.emitter.emit("change", {
|
|
113
|
+
chainId: Number(chainId)
|
|
114
|
+
});
|
|
115
|
+
};
|
|
116
|
+
provider.on("chainChanged", chainChangedHandler);
|
|
117
|
+
if (disconnectHandler) {
|
|
118
|
+
provider.removeListener("disconnect", disconnectHandler);
|
|
119
|
+
}
|
|
120
|
+
disconnectHandler = () => {
|
|
121
|
+
wagmiConfig.emitter.emit("disconnect");
|
|
122
|
+
this.onDisconnect();
|
|
123
|
+
};
|
|
124
|
+
provider.on("disconnect", disconnectHandler);
|
|
125
|
+
wagmiConfig.emitter.emit("connect", {
|
|
126
|
+
accounts,
|
|
127
|
+
chainId: Number(currentChainId)
|
|
128
|
+
});
|
|
129
|
+
return {
|
|
130
|
+
accounts,
|
|
131
|
+
chainId: Number(currentChainId)
|
|
132
|
+
};
|
|
133
|
+
} catch (error) {
|
|
134
|
+
console.error("\u274C ABC Connector connect() failed:", {
|
|
135
|
+
message: error.message,
|
|
136
|
+
code: error.code,
|
|
137
|
+
error
|
|
138
|
+
});
|
|
139
|
+
if (error.message === "ABC_LOGIN_REQUIRED") {
|
|
140
|
+
throw error;
|
|
141
|
+
}
|
|
142
|
+
throw error;
|
|
143
|
+
}
|
|
144
|
+
},
|
|
145
|
+
/**
|
|
146
|
+
* Disconnect wallet
|
|
147
|
+
*/
|
|
148
|
+
async disconnect() {
|
|
149
|
+
if (accountsChangedHandler) {
|
|
150
|
+
provider.removeListener("accountsChanged", accountsChangedHandler);
|
|
151
|
+
accountsChangedHandler = void 0;
|
|
152
|
+
}
|
|
153
|
+
if (chainChangedHandler) {
|
|
154
|
+
provider.removeListener("chainChanged", chainChangedHandler);
|
|
155
|
+
chainChangedHandler = void 0;
|
|
156
|
+
}
|
|
157
|
+
if (disconnectHandler) {
|
|
158
|
+
provider.removeListener("disconnect", disconnectHandler);
|
|
159
|
+
disconnectHandler = void 0;
|
|
160
|
+
}
|
|
161
|
+
provider.clearWallet();
|
|
162
|
+
talkenApi.auth.logout();
|
|
163
|
+
clearAuthState();
|
|
164
|
+
getCredentialManager().clear();
|
|
165
|
+
},
|
|
166
|
+
/**
|
|
167
|
+
* Get accounts
|
|
168
|
+
*/
|
|
169
|
+
async getAccounts() {
|
|
170
|
+
const accounts = await provider.request({
|
|
171
|
+
method: "eth_accounts"
|
|
172
|
+
});
|
|
173
|
+
return accounts.map((account) => account);
|
|
174
|
+
},
|
|
175
|
+
/**
|
|
176
|
+
* Get chain ID
|
|
177
|
+
*/
|
|
178
|
+
async getChainId() {
|
|
179
|
+
const chainId = await provider.request({
|
|
180
|
+
method: "eth_chainId"
|
|
181
|
+
});
|
|
182
|
+
return Number(chainId);
|
|
183
|
+
},
|
|
184
|
+
/**
|
|
185
|
+
* Get provider
|
|
186
|
+
*/
|
|
187
|
+
async getProvider() {
|
|
188
|
+
return provider;
|
|
189
|
+
},
|
|
190
|
+
/**
|
|
191
|
+
* Check if authorized (has valid session)
|
|
192
|
+
* Auto-refreshes access token if expired but refresh token is valid
|
|
193
|
+
*/
|
|
194
|
+
async isAuthorized() {
|
|
195
|
+
try {
|
|
196
|
+
const authState = loadAuthState();
|
|
197
|
+
if (!authState || !authState.isAuthenticated) {
|
|
198
|
+
return false;
|
|
199
|
+
}
|
|
200
|
+
if (!authState.wallet) {
|
|
201
|
+
return false;
|
|
202
|
+
}
|
|
203
|
+
if (talkenApi.isAuthenticated()) {
|
|
204
|
+
return true;
|
|
205
|
+
}
|
|
206
|
+
const refreshToken = loadFromStorage(
|
|
207
|
+
"refresh_token" /* REFRESH_TOKEN */
|
|
208
|
+
);
|
|
209
|
+
if (!refreshToken) {
|
|
210
|
+
clearStorage();
|
|
211
|
+
return false;
|
|
212
|
+
}
|
|
213
|
+
try {
|
|
214
|
+
const api = getTalkenApiClient();
|
|
215
|
+
if (!api) {
|
|
216
|
+
clearStorage();
|
|
217
|
+
return false;
|
|
218
|
+
}
|
|
219
|
+
const res = await api.auth.refresh();
|
|
220
|
+
talkenApi.setTokens(
|
|
221
|
+
res.accessToken,
|
|
222
|
+
res.refreshToken,
|
|
223
|
+
Date.now() + res.expiresIn * 1e3
|
|
224
|
+
);
|
|
225
|
+
const updatedState = loadAuthState();
|
|
226
|
+
return updatedState?.isAuthenticated ?? false;
|
|
227
|
+
} catch (error) {
|
|
228
|
+
console.error("[AbcConnector] Token refresh failed:", error);
|
|
229
|
+
clearStorage();
|
|
230
|
+
return false;
|
|
231
|
+
}
|
|
232
|
+
} catch (error) {
|
|
233
|
+
console.error(
|
|
234
|
+
"[AbcConnector] Unexpected error in isAuthorized:",
|
|
235
|
+
error
|
|
236
|
+
);
|
|
237
|
+
return false;
|
|
238
|
+
}
|
|
239
|
+
},
|
|
240
|
+
/**
|
|
241
|
+
* Switch chain
|
|
242
|
+
*/
|
|
243
|
+
async switchChain({ chainId }) {
|
|
244
|
+
await provider.request({
|
|
245
|
+
method: "wallet_switchEthereumChain",
|
|
246
|
+
params: [{ chainId: `0x${chainId.toString(16)}` }]
|
|
247
|
+
});
|
|
248
|
+
const newChainId = await this.getChainId();
|
|
249
|
+
const authState = loadAuthState();
|
|
250
|
+
if (authState?.wallet) {
|
|
251
|
+
authState.wallet.chainId = newChainId;
|
|
252
|
+
saveAuthState(authState);
|
|
253
|
+
}
|
|
254
|
+
return wagmiConfig.chains.find((x) => x.id === chainId) ?? {
|
|
255
|
+
id: chainId,
|
|
256
|
+
name: `Chain ${chainId}`,
|
|
257
|
+
nativeCurrency: {
|
|
258
|
+
name: "Ether",
|
|
259
|
+
decimals: 18,
|
|
260
|
+
symbol: "ETH"
|
|
261
|
+
},
|
|
262
|
+
rpcUrls: {
|
|
263
|
+
default: { http: [""] }
|
|
264
|
+
}
|
|
265
|
+
};
|
|
266
|
+
},
|
|
267
|
+
/**
|
|
268
|
+
* Handle accounts changed
|
|
269
|
+
*/
|
|
270
|
+
onAccountsChanged(accounts) {
|
|
271
|
+
if (accounts.length === 0) {
|
|
272
|
+
this.onDisconnect();
|
|
273
|
+
} else {
|
|
274
|
+
wagmiConfig.emitter.emit("change", {
|
|
275
|
+
accounts
|
|
276
|
+
});
|
|
277
|
+
}
|
|
278
|
+
},
|
|
279
|
+
/**
|
|
280
|
+
* Handle chain changed
|
|
281
|
+
*/
|
|
282
|
+
onChainChanged(chain) {
|
|
283
|
+
const chainId = Number(chain);
|
|
284
|
+
wagmiConfig.emitter.emit("change", { chainId });
|
|
285
|
+
},
|
|
286
|
+
/**
|
|
287
|
+
* Handle disconnect
|
|
288
|
+
*/
|
|
289
|
+
onDisconnect(_error) {
|
|
290
|
+
provider.clearWallet();
|
|
291
|
+
clearAuthState();
|
|
292
|
+
wagmiConfig.emitter.emit("disconnect");
|
|
293
|
+
}
|
|
294
|
+
};
|
|
295
|
+
});
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
export {
|
|
299
|
+
abcConnector
|
|
300
|
+
};
|