@talken/talkenkit 2.3.7 → 2.3.9
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/Arc-ILTINY4C.js +8 -0
- package/dist/Brave-4L5B7JJR.js +8 -0
- package/dist/Browser-XMB4J5WD.js +8 -0
- package/dist/Chrome-6ZDQIHC5.js +8 -0
- package/dist/Edge-OAWCEU7H.js +8 -0
- package/dist/Firefox-O66FZK3V.js +8 -0
- package/dist/Linux-NUJF4EPC.js +8 -0
- package/dist/Macos-46EJ2NPK.js +8 -0
- package/dist/Opera-KTUB3UWN.js +8 -0
- package/dist/Safari-A3Q6PIT2.js +8 -0
- package/dist/Windows-NL32NG52.js +8 -0
- package/dist/abcWallet-ES4OPRSK.js +8 -0
- package/dist/ar_AR-YBBYUEGS.js +8 -0
- package/dist/arbitrum-D2TUFPZI.js +8 -0
- package/dist/argentWallet-A5HM5FRP.js +8 -0
- package/dist/assets-4NDWRKXE.js +8 -0
- package/dist/avalanche-BOOSH35S.js +8 -0
- package/dist/base-3JMRS35B.js +8 -0
- package/dist/berasigWallet-6IOU73YL.js +8 -0
- package/dist/bestWallet-6LJUU6OL.js +8 -0
- package/dist/bifrostWallet-SLPPXZ2K.js +8 -0
- package/dist/binanceWallet-Z67J7362.js +8 -0
- package/dist/bitgetWallet-DLLOWMCI.js +8 -0
- package/dist/bitskiWallet-CPOXGABT.js +8 -0
- package/dist/bitverseWallet-SAK4MIS6.js +8 -0
- package/dist/blast-4GF24NR7.js +8 -0
- package/dist/bloomWallet-YIRCNQZJ.js +8 -0
- package/dist/braveWallet-PNBKQKJC.js +8 -0
- package/dist/bsc-KU6MBOYR.js +8 -0
- package/dist/bybitWallet-GCDBAJKO.js +8 -0
- package/dist/celo-5A5VXMPX.js +8 -0
- package/dist/chunk-M2CMB5B2.js +93 -0
- package/dist/chunk-TJX4M23U.js +27 -0
- package/dist/clvWallet-R6YRCMZO.js +8 -0
- package/dist/coin98Wallet-4Y3ROAGP.js +8 -0
- package/dist/coinbaseWallet-L4QDZB5W.js +8 -0
- package/dist/compassWallet-NNBX35AV.js +8 -0
- package/dist/components/AbcLoginModal/AbcAuthModal.d.ts +11 -1
- package/dist/components/ConnectButton/ConnectButtonRenderer.d.ts +1 -1
- package/dist/components/ConnectOptions/CompactMobileOptions.css.d.ts +26 -0
- package/dist/components/ConnectOptions/CompactMobileOptions.d.ts +19 -0
- package/dist/components/ConnectOptions/DesktopOptions.d.ts +9 -2
- package/dist/components/RainbowKitProvider/RainbowKitConfigProvider.d.ts +20 -0
- package/dist/components/RainbowKitProvider/RainbowKitProvider.d.ts +17 -2
- package/dist/config/networks.d.ts +125 -0
- package/dist/connect-Q2RLUT5B.js +8 -0
- package/dist/contexts/index.d.ts +2 -2
- package/dist/coreWallet-PN2LMNGN.js +8 -0
- package/dist/create-HQ4QXTKY.js +8 -0
- package/dist/cronos-KZAB32FC.js +8 -0
- package/dist/dawnWallet-AMO43DL3.js +8 -0
- package/dist/de_DE-RUWMVYCQ.js +8 -0
- package/dist/desigWallet-AD335WX5.js +8 -0
- package/dist/en_US-NQ25CUR4.js +8 -0
- package/dist/encryption-3YHRI3PA.js +14 -0
- package/dist/enkryptWallet-OOP27GE2.js +8 -0
- package/dist/es_419-HKJPYJRI.js +8 -0
- package/dist/ethereum-WAFT6DML.js +8 -0
- package/dist/flow-XANNOAPJ.js +8 -0
- package/dist/foxWallet-UDUWOW52.js +8 -0
- package/dist/fr_FR-2O5ZDLPQ.js +1356 -0
- package/dist/frameWallet-BEABTFIT.js +8 -0
- package/dist/frontierWallet-RG47M3C5.js +8 -0
- package/dist/gateWallet-XOP74BMB.js +8 -0
- package/dist/gnosis-7GFI4V27.js +8 -0
- package/dist/hardhat-6HKZWC4T.js +8 -0
- package/dist/hi_IN-XRZ4YIUW.js +8 -0
- package/dist/hooks/useDeviceType.d.ts +9 -0
- package/dist/id_ID-REEY4CSS.js +8 -0
- package/dist/imTokenWallet-LTPKXYUD.js +8 -0
- package/dist/index.d.ts +9 -1
- package/dist/index.js +1960 -1040
- package/dist/injectedWallet-YCFZTULL.js +8 -0
- package/dist/iopayWallet-XS37QAUO.js +8 -0
- package/dist/ja_JP-2OPCVN6X.js +8 -0
- package/dist/kaia-DQ3OSYXE.js +8 -0
- package/dist/kaiaWallet-2XZDQZ63.js +8 -0
- package/dist/kaikasWallet-V2GCFPEB.js +8 -0
- package/dist/ko_KR-DDXBZTYT.js +8 -0
- package/dist/krakenWallet-3VM7ZM2O.js +8 -0
- package/dist/kresusWallet-4MXFQP4P.js +8 -0
- package/dist/ledgerWallet-YC3HF3NJ.js +8 -0
- package/dist/login-DGIK764Z.js +8 -0
- package/dist/magicEden-BLYGUG47.js +8 -0
- package/dist/manta-OEF3QP66.js +8 -0
- package/dist/mantle-EYIH4GGM.js +8 -0
- package/dist/metaMaskWallet-ZZMFVM52.js +8 -0
- package/dist/mewWallet-D6JN37EZ.js +8 -0
- package/dist/ms_MY-PX7G4XTD.js +8 -0
- package/dist/nestWallet-X3CDHKNV.js +8 -0
- package/dist/oktoWallet-ZYLL2RLN.js +8 -0
- package/dist/okxWallet-FLICEG4S.js +8 -0
- package/dist/omniWallet-DAQHKHUN.js +8 -0
- package/dist/oneInchWallet-BRGGUXND.js +8 -0
- package/dist/oneKeyWallet-KDU2JIFD.js +8 -0
- package/dist/optimism-6GXRYJDW.js +8 -0
- package/dist/paraSwapWallet-7UHWT54G.js +8 -0
- package/dist/phantomWallet-BSCGZT6L.js +8 -0
- package/dist/polygon-YNJM552P.js +8 -0
- package/dist/pt_BR-A5R4SBSC.js +8 -0
- package/dist/rabbyWallet-RZIUL3YN.js +8 -0
- package/dist/rainbowWallet-4ALDT5ZL.js +8 -0
- package/dist/ramperWallet-IB3JRE2F.js +8 -0
- package/dist/refresh-R5NYTT3S.js +8 -0
- package/dist/ronin-LU7LZPWA.js +8 -0
- package/dist/roninWallet-BS7VDK7U.js +8 -0
- package/dist/ru_RU-4QDZLRSW.js +1356 -0
- package/dist/safeWallet-5NR62MJV.js +8 -0
- package/dist/safeheronWallet-7ELUSU44.js +8 -0
- package/dist/safepalWallet-CZJABQ5N.js +8 -0
- package/dist/scan-BVZ7DVJ4.js +8 -0
- package/dist/scroll-XRP46UTI.js +8 -0
- package/dist/secure-GEK7TTJY.js +8 -0
- package/dist/seifWallet-XLBMTX4R.js +8 -0
- package/dist/sign-PREOQ4RR.js +8 -0
- package/dist/solana/SolanaWalletProvider.d.ts +1 -1
- package/dist/subWallet-47USA4OE.js +8 -0
- package/dist/tahoWallet-N3XXJ3NW.js +8 -0
- package/dist/talismanWallet-SV3B42TQ.js +8 -0
- package/dist/th_TH-4TWPYDKX.js +1356 -0
- package/dist/themes/baseTheme.js +1 -0
- package/dist/themes/darkTheme.js +1 -0
- package/dist/themes/lightTheme.js +1 -0
- package/dist/themes/midnightTheme.js +1 -0
- package/dist/tokenPocketWallet-7IYW3MIL.js +8 -0
- package/dist/tokenaryWallet-7D2LN65X.js +8 -0
- package/dist/tr_TR-C37KIU7M.js +1356 -0
- package/dist/trustWallet-HJQBMBC6.js +8 -0
- package/dist/uk_UA-I77HS4GO.js +1356 -0
- package/dist/uniswapWallet-JZ2ULELN.js +8 -0
- package/dist/utils/abcWaasAdapter.d.ts +75 -0
- package/dist/valoraWallet-PCTL6UBB.js +8 -0
- package/dist/vi_VN-KVPDLW26.js +8 -0
- package/dist/walletConnectWallet-AJ36XVBT.js +8 -0
- package/dist/wallets/walletConnectors/abcWallet/abcBitcoinConnector.d.ts +11 -8
- package/dist/wallets/walletConnectors/abcWallet/abcBitcoinConnector.js +1 -1
- package/dist/wallets/walletConnectors/abcWallet/abcBitcoinProvider.d.ts +4 -11
- package/dist/wallets/walletConnectors/abcWallet/abcBitcoinProvider.js +1 -1
- package/dist/wallets/walletConnectors/abcWallet/api/BitcoinApi.d.ts +1 -19
- package/dist/wallets/walletConnectors/abcWallet/api/BitcoinApi.js +1 -1
- package/dist/wallets/walletConnectors/abcWallet/api/index.js +5 -5
- package/dist/wallets/walletConnectors/abcWallet/index.js +5 -5
- package/dist/wallets/walletConnectors/abcWallet/types.d.ts +2 -0
- package/dist/wallets/walletConnectors/chunk-2GIBC7XF.js +39 -0
- package/dist/wallets/walletConnectors/chunk-2J66VMY5.js +152 -0
- package/dist/wallets/walletConnectors/chunk-34WMJDUY.js +481 -0
- package/dist/wallets/walletConnectors/chunk-3J3XZMJ7.js +39 -0
- package/dist/wallets/walletConnectors/chunk-3WVSOTC4.js +63 -0
- package/dist/wallets/walletConnectors/chunk-43LOEA55.js +63 -0
- package/dist/wallets/walletConnectors/chunk-4IRVZPIN.js +63 -0
- package/dist/wallets/walletConnectors/chunk-4NLOE5S3.js +63 -0
- package/dist/wallets/walletConnectors/chunk-5MSMALF7.js +63 -0
- package/dist/wallets/walletConnectors/chunk-5OFAP55G.js +44 -0
- package/dist/wallets/walletConnectors/chunk-6KOHIL7T.js +63 -0
- package/dist/wallets/walletConnectors/chunk-6YPK343Z.js +63 -0
- package/dist/wallets/walletConnectors/chunk-7FFIZE76.js +63 -0
- package/dist/wallets/walletConnectors/chunk-7P5HZGEV.js +627 -0
- package/dist/wallets/walletConnectors/chunk-A6LBRVGP.js +63 -0
- package/dist/wallets/walletConnectors/chunk-BKXPGZMQ.js +228 -0
- package/dist/wallets/walletConnectors/chunk-CNHVIXPV.js +228 -0
- package/dist/wallets/walletConnectors/chunk-DAZZIITX.js +1678 -0
- package/dist/wallets/walletConnectors/chunk-ESRU5KCF.js +151 -0
- package/dist/wallets/walletConnectors/chunk-F4JFONDA.js +601 -0
- package/dist/wallets/walletConnectors/chunk-GXHCAEWR.js +63 -0
- package/dist/wallets/walletConnectors/chunk-HDYBRMYW.js +194 -0
- package/dist/wallets/walletConnectors/chunk-HOE4UOHR.js +514 -0
- package/dist/wallets/walletConnectors/chunk-HS2FAOAJ.js +63 -0
- package/dist/wallets/walletConnectors/chunk-IA4EQFSS.js +474 -0
- package/dist/wallets/walletConnectors/chunk-IHM7I7D5.js +63 -0
- package/dist/wallets/walletConnectors/chunk-JJAJOFZI.js +63 -0
- package/dist/wallets/walletConnectors/chunk-KFIUFVQH.js +624 -0
- package/dist/wallets/walletConnectors/chunk-KFROJI25.js +535 -0
- package/dist/wallets/walletConnectors/chunk-KHVILXGK.js +514 -0
- package/dist/wallets/walletConnectors/chunk-LGT7LQAJ.js +63 -0
- package/dist/wallets/walletConnectors/chunk-LHBQ2Z3Q.js +63 -0
- package/dist/wallets/walletConnectors/chunk-M76GLEFL.js +63 -0
- package/dist/wallets/walletConnectors/chunk-MFIE6UCG.js +63 -0
- package/dist/wallets/walletConnectors/chunk-NA5G3LSC.js +63 -0
- package/dist/wallets/walletConnectors/chunk-NASGGIUS.js +63 -0
- package/dist/wallets/walletConnectors/chunk-NKJLO4QH.js +39 -0
- package/dist/wallets/walletConnectors/chunk-NURTFXQU.js +568 -0
- package/dist/wallets/walletConnectors/chunk-NVM3JZ4L.js +63 -0
- package/dist/wallets/walletConnectors/chunk-NWDLOM7Q.js +646 -0
- package/dist/wallets/walletConnectors/chunk-OHRTTVNJ.js +44 -0
- package/dist/wallets/walletConnectors/chunk-OMYDLPUM.js +63 -0
- package/dist/wallets/walletConnectors/chunk-P2MTINFI.js +280 -0
- package/dist/wallets/walletConnectors/chunk-PLL7P7HY.js +63 -0
- package/dist/wallets/walletConnectors/chunk-PUFQKZA7.js +63 -0
- package/dist/wallets/walletConnectors/chunk-RLBGBBIO.js +309 -0
- package/dist/wallets/walletConnectors/chunk-RUZBOPMI.js +63 -0
- package/dist/wallets/walletConnectors/chunk-S2B56ZVJ.js +481 -0
- package/dist/wallets/walletConnectors/chunk-SFP47DS6.js +63 -0
- package/dist/wallets/walletConnectors/chunk-SNZL5LJ6.js +637 -0
- package/dist/wallets/walletConnectors/chunk-SPR4W5TG.js +474 -0
- package/dist/wallets/walletConnectors/chunk-SSDCG5BG.js +63 -0
- package/dist/wallets/walletConnectors/chunk-SUXK3JW6.js +280 -0
- package/dist/wallets/walletConnectors/chunk-TUUNSVKZ.js +345 -0
- package/dist/wallets/walletConnectors/chunk-U2CUEL35.js +240 -0
- package/dist/wallets/walletConnectors/chunk-VLEVJVJR.js +63 -0
- package/dist/wallets/walletConnectors/chunk-W2VDZD74.js +478 -0
- package/dist/wallets/walletConnectors/chunk-WAO3KL5U.js +285 -0
- package/dist/wallets/walletConnectors/chunk-WYSKBMHW.js +280 -0
- package/dist/wallets/walletConnectors/chunk-XDRZSWHB.js +63 -0
- package/dist/wallets/walletConnectors/chunk-XKVRDEDK.js +63 -0
- package/dist/wallets/walletConnectors/chunk-XYAAXWWU.js +63 -0
- package/dist/wallets/walletConnectors/chunk-XYPR4BAF.js +436 -0
- package/dist/wallets/walletConnectors/index.js +68 -68
- package/dist/wigwamWallet-D3MVGB5Z.js +8 -0
- package/dist/xdc-5NQHQJE5.js +8 -0
- package/dist/xdefiWallet-B4O6HAIP.js +8 -0
- package/dist/zealWallet-6SPNICRX.js +8 -0
- package/dist/zerionWallet-XZ3JCAOO.js +8 -0
- package/dist/zetachain-U6IILKZJ.js +8 -0
- package/dist/zh_CN-KGLAIP3N.js +8 -0
- package/dist/zh_HK-AEXEN6P6.js +8 -0
- package/dist/zh_TW-6C7R5V3K.js +8 -0
- package/dist/zkSync-TMPB52ZN.js +8 -0
- package/dist/zora-S46CHEOU.js +8 -0
- package/package.json +1 -1
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import {
|
|
3
|
+
createAbcWaasClient
|
|
4
|
+
} from "./chunk-DAZZIITX.js";
|
|
5
|
+
import {
|
|
6
|
+
createAbcEvmProvider
|
|
7
|
+
} from "./chunk-XYPR4BAF.js";
|
|
8
|
+
import {
|
|
9
|
+
clearAuthState,
|
|
10
|
+
clearEncryptedTokens,
|
|
11
|
+
loadAuthState,
|
|
12
|
+
saveAuthState
|
|
13
|
+
} from "./chunk-W2VDZD74.js";
|
|
14
|
+
|
|
15
|
+
// src/wallets/walletConnectors/abcWallet/abcConnector.ts
|
|
16
|
+
import { createConnector } from "wagmi";
|
|
17
|
+
function abcConnector(options) {
|
|
18
|
+
const { config } = options;
|
|
19
|
+
return createConnector((wagmiConfig) => {
|
|
20
|
+
const client = createAbcWaasClient(config);
|
|
21
|
+
const provider = createAbcEvmProvider(client);
|
|
22
|
+
let accountsChangedHandler;
|
|
23
|
+
let chainChangedHandler;
|
|
24
|
+
let disconnectHandler;
|
|
25
|
+
return {
|
|
26
|
+
id: "abc",
|
|
27
|
+
name: "ABC Wallet",
|
|
28
|
+
type: "abc",
|
|
29
|
+
/**
|
|
30
|
+
* Connect wallet
|
|
31
|
+
*/
|
|
32
|
+
async connect() {
|
|
33
|
+
try {
|
|
34
|
+
const authState = loadAuthState();
|
|
35
|
+
console.log("\u{1F527} ABC Connector connect() called:", {
|
|
36
|
+
hasAuthState: !!authState,
|
|
37
|
+
isAuthenticated: authState?.isAuthenticated,
|
|
38
|
+
hasWallet: !!authState?.wallet,
|
|
39
|
+
walletAddress: authState?.wallet?.address
|
|
40
|
+
});
|
|
41
|
+
if (!authState || !authState.isAuthenticated || !authState.wallet) {
|
|
42
|
+
throw new Error("ABC_LOGIN_REQUIRED");
|
|
43
|
+
}
|
|
44
|
+
provider.setWallet(authState.wallet);
|
|
45
|
+
console.log("\u2705 Provider wallet set:", {
|
|
46
|
+
address: authState.wallet.address,
|
|
47
|
+
hasPIN: !!authState.pin
|
|
48
|
+
});
|
|
49
|
+
const accounts = await provider.request({
|
|
50
|
+
method: "eth_requestAccounts"
|
|
51
|
+
});
|
|
52
|
+
const currentChainId = await provider.request({
|
|
53
|
+
method: "eth_chainId"
|
|
54
|
+
});
|
|
55
|
+
if (accountsChangedHandler) {
|
|
56
|
+
provider.removeListener("accountsChanged", accountsChangedHandler);
|
|
57
|
+
}
|
|
58
|
+
accountsChangedHandler = (accounts2) => {
|
|
59
|
+
wagmiConfig.emitter.emit("change", {
|
|
60
|
+
accounts: accounts2
|
|
61
|
+
});
|
|
62
|
+
};
|
|
63
|
+
provider.on("accountsChanged", accountsChangedHandler);
|
|
64
|
+
if (chainChangedHandler) {
|
|
65
|
+
provider.removeListener("chainChanged", chainChangedHandler);
|
|
66
|
+
}
|
|
67
|
+
chainChangedHandler = (chainId) => {
|
|
68
|
+
wagmiConfig.emitter.emit("change", {
|
|
69
|
+
chainId: Number(chainId)
|
|
70
|
+
});
|
|
71
|
+
};
|
|
72
|
+
provider.on("chainChanged", chainChangedHandler);
|
|
73
|
+
if (disconnectHandler) {
|
|
74
|
+
provider.removeListener("disconnect", disconnectHandler);
|
|
75
|
+
}
|
|
76
|
+
disconnectHandler = () => {
|
|
77
|
+
wagmiConfig.emitter.emit("disconnect");
|
|
78
|
+
this.onDisconnect();
|
|
79
|
+
};
|
|
80
|
+
provider.on("disconnect", disconnectHandler);
|
|
81
|
+
return {
|
|
82
|
+
accounts,
|
|
83
|
+
chainId: Number(currentChainId)
|
|
84
|
+
};
|
|
85
|
+
} catch (error) {
|
|
86
|
+
if (error.message === "ABC_LOGIN_REQUIRED") {
|
|
87
|
+
throw error;
|
|
88
|
+
}
|
|
89
|
+
throw error;
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
/**
|
|
93
|
+
* Disconnect wallet
|
|
94
|
+
*/
|
|
95
|
+
async disconnect() {
|
|
96
|
+
if (accountsChangedHandler) {
|
|
97
|
+
provider.removeListener("accountsChanged", accountsChangedHandler);
|
|
98
|
+
accountsChangedHandler = void 0;
|
|
99
|
+
}
|
|
100
|
+
if (chainChangedHandler) {
|
|
101
|
+
provider.removeListener("chainChanged", chainChangedHandler);
|
|
102
|
+
chainChangedHandler = void 0;
|
|
103
|
+
}
|
|
104
|
+
if (disconnectHandler) {
|
|
105
|
+
provider.removeListener("disconnect", disconnectHandler);
|
|
106
|
+
disconnectHandler = void 0;
|
|
107
|
+
}
|
|
108
|
+
provider.clearWallet();
|
|
109
|
+
await client.logout();
|
|
110
|
+
let savedPinHash = null;
|
|
111
|
+
let savedEmail = null;
|
|
112
|
+
if (typeof window !== "undefined") {
|
|
113
|
+
savedPinHash = localStorage.getItem("talkenkit_abc_pin_hash");
|
|
114
|
+
savedEmail = localStorage.getItem("talkenkit_abc_saved_email");
|
|
115
|
+
}
|
|
116
|
+
clearAuthState();
|
|
117
|
+
clearEncryptedTokens();
|
|
118
|
+
if (typeof window !== "undefined") {
|
|
119
|
+
localStorage.removeItem("talkenkit_abc_enc_salt");
|
|
120
|
+
localStorage.removeItem("talkenkit_abc_enc_tokens");
|
|
121
|
+
if (savedPinHash) {
|
|
122
|
+
localStorage.setItem("talkenkit_abc_pin_hash", savedPinHash);
|
|
123
|
+
}
|
|
124
|
+
if (savedEmail) {
|
|
125
|
+
localStorage.setItem("talkenkit_abc_saved_email", savedEmail);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
console.log("\u2705 ABC Wallet disconnected (PIN preserved)");
|
|
129
|
+
},
|
|
130
|
+
/**
|
|
131
|
+
* Get accounts
|
|
132
|
+
*/
|
|
133
|
+
async getAccounts() {
|
|
134
|
+
const accounts = await provider.request({
|
|
135
|
+
method: "eth_accounts"
|
|
136
|
+
});
|
|
137
|
+
return accounts.map((account) => account);
|
|
138
|
+
},
|
|
139
|
+
/**
|
|
140
|
+
* Get chain ID
|
|
141
|
+
*/
|
|
142
|
+
async getChainId() {
|
|
143
|
+
const chainId = await provider.request({
|
|
144
|
+
method: "eth_chainId"
|
|
145
|
+
});
|
|
146
|
+
return Number(chainId);
|
|
147
|
+
},
|
|
148
|
+
/**
|
|
149
|
+
* Get provider
|
|
150
|
+
*/
|
|
151
|
+
async getProvider() {
|
|
152
|
+
return provider;
|
|
153
|
+
},
|
|
154
|
+
/**
|
|
155
|
+
* Check if authorized (has valid session)
|
|
156
|
+
*/
|
|
157
|
+
async isAuthorized() {
|
|
158
|
+
try {
|
|
159
|
+
const authState = loadAuthState();
|
|
160
|
+
if (!authState || !authState.isAuthenticated) {
|
|
161
|
+
return false;
|
|
162
|
+
}
|
|
163
|
+
return client.isAuthenticated();
|
|
164
|
+
} catch {
|
|
165
|
+
return false;
|
|
166
|
+
}
|
|
167
|
+
},
|
|
168
|
+
/**
|
|
169
|
+
* Switch chain
|
|
170
|
+
*/
|
|
171
|
+
async switchChain({ chainId }) {
|
|
172
|
+
await provider.request({
|
|
173
|
+
method: "wallet_switchEthereumChain",
|
|
174
|
+
params: [{ chainId: `0x${chainId.toString(16)}` }]
|
|
175
|
+
});
|
|
176
|
+
const newChainId = await this.getChainId();
|
|
177
|
+
const authState = loadAuthState();
|
|
178
|
+
if (authState?.wallet) {
|
|
179
|
+
authState.wallet.chainId = newChainId;
|
|
180
|
+
saveAuthState(authState);
|
|
181
|
+
}
|
|
182
|
+
return wagmiConfig.chains.find((x) => x.id === chainId) ?? {
|
|
183
|
+
id: chainId,
|
|
184
|
+
name: `Chain ${chainId}`,
|
|
185
|
+
nativeCurrency: {
|
|
186
|
+
name: "Ether",
|
|
187
|
+
decimals: 18,
|
|
188
|
+
symbol: "ETH"
|
|
189
|
+
},
|
|
190
|
+
rpcUrls: {
|
|
191
|
+
default: { http: [""] }
|
|
192
|
+
}
|
|
193
|
+
};
|
|
194
|
+
},
|
|
195
|
+
/**
|
|
196
|
+
* Handle accounts changed
|
|
197
|
+
*/
|
|
198
|
+
onAccountsChanged(accounts) {
|
|
199
|
+
if (accounts.length === 0) {
|
|
200
|
+
this.onDisconnect();
|
|
201
|
+
} else {
|
|
202
|
+
wagmiConfig.emitter.emit("change", {
|
|
203
|
+
accounts
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
},
|
|
207
|
+
/**
|
|
208
|
+
* Handle chain changed
|
|
209
|
+
*/
|
|
210
|
+
onChainChanged(chain) {
|
|
211
|
+
const chainId = Number(chain);
|
|
212
|
+
wagmiConfig.emitter.emit("change", { chainId });
|
|
213
|
+
},
|
|
214
|
+
/**
|
|
215
|
+
* Handle disconnect
|
|
216
|
+
*/
|
|
217
|
+
onDisconnect(_error) {
|
|
218
|
+
provider.clearWallet();
|
|
219
|
+
clearAuthState();
|
|
220
|
+
wagmiConfig.emitter.emit("disconnect");
|
|
221
|
+
}
|
|
222
|
+
};
|
|
223
|
+
});
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
export {
|
|
227
|
+
abcConnector
|
|
228
|
+
};
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import {
|
|
3
|
+
createAbcEvmProvider
|
|
4
|
+
} from "./chunk-73B7HWCT.js";
|
|
5
|
+
import {
|
|
6
|
+
createAbcWaasClient
|
|
7
|
+
} from "./chunk-P2E4LSYH.js";
|
|
8
|
+
import {
|
|
9
|
+
clearAuthState,
|
|
10
|
+
clearEncryptedTokens,
|
|
11
|
+
loadAuthState,
|
|
12
|
+
saveAuthState
|
|
13
|
+
} from "./chunk-W23N7VC4.js";
|
|
14
|
+
|
|
15
|
+
// src/wallets/walletConnectors/abcWallet/abcConnector.ts
|
|
16
|
+
import { createConnector } from "wagmi";
|
|
17
|
+
function abcConnector(options) {
|
|
18
|
+
const { config } = options;
|
|
19
|
+
return createConnector((wagmiConfig) => {
|
|
20
|
+
const client = createAbcWaasClient(config);
|
|
21
|
+
const provider = createAbcEvmProvider(client);
|
|
22
|
+
let accountsChangedHandler;
|
|
23
|
+
let chainChangedHandler;
|
|
24
|
+
let disconnectHandler;
|
|
25
|
+
return {
|
|
26
|
+
id: "abc",
|
|
27
|
+
name: "ABC Wallet",
|
|
28
|
+
type: "abc",
|
|
29
|
+
/**
|
|
30
|
+
* Connect wallet
|
|
31
|
+
*/
|
|
32
|
+
async connect() {
|
|
33
|
+
try {
|
|
34
|
+
const authState = loadAuthState();
|
|
35
|
+
console.log("\u{1F527} ABC Connector connect() called:", {
|
|
36
|
+
hasAuthState: !!authState,
|
|
37
|
+
isAuthenticated: authState?.isAuthenticated,
|
|
38
|
+
hasWallet: !!authState?.wallet,
|
|
39
|
+
walletAddress: authState?.wallet?.address
|
|
40
|
+
});
|
|
41
|
+
if (!authState || !authState.isAuthenticated || !authState.wallet) {
|
|
42
|
+
throw new Error("ABC_LOGIN_REQUIRED");
|
|
43
|
+
}
|
|
44
|
+
provider.setWallet(authState.wallet);
|
|
45
|
+
console.log("\u2705 Provider wallet set:", {
|
|
46
|
+
address: authState.wallet.address,
|
|
47
|
+
hasPIN: !!authState.pin
|
|
48
|
+
});
|
|
49
|
+
const accounts = await provider.request({
|
|
50
|
+
method: "eth_requestAccounts"
|
|
51
|
+
});
|
|
52
|
+
const currentChainId = await provider.request({
|
|
53
|
+
method: "eth_chainId"
|
|
54
|
+
});
|
|
55
|
+
if (accountsChangedHandler) {
|
|
56
|
+
provider.removeListener("accountsChanged", accountsChangedHandler);
|
|
57
|
+
}
|
|
58
|
+
accountsChangedHandler = (accounts2) => {
|
|
59
|
+
wagmiConfig.emitter.emit("change", {
|
|
60
|
+
accounts: accounts2
|
|
61
|
+
});
|
|
62
|
+
};
|
|
63
|
+
provider.on("accountsChanged", accountsChangedHandler);
|
|
64
|
+
if (chainChangedHandler) {
|
|
65
|
+
provider.removeListener("chainChanged", chainChangedHandler);
|
|
66
|
+
}
|
|
67
|
+
chainChangedHandler = (chainId) => {
|
|
68
|
+
wagmiConfig.emitter.emit("change", {
|
|
69
|
+
chainId: Number(chainId)
|
|
70
|
+
});
|
|
71
|
+
};
|
|
72
|
+
provider.on("chainChanged", chainChangedHandler);
|
|
73
|
+
if (disconnectHandler) {
|
|
74
|
+
provider.removeListener("disconnect", disconnectHandler);
|
|
75
|
+
}
|
|
76
|
+
disconnectHandler = () => {
|
|
77
|
+
wagmiConfig.emitter.emit("disconnect");
|
|
78
|
+
this.onDisconnect();
|
|
79
|
+
};
|
|
80
|
+
provider.on("disconnect", disconnectHandler);
|
|
81
|
+
return {
|
|
82
|
+
accounts,
|
|
83
|
+
chainId: Number(currentChainId)
|
|
84
|
+
};
|
|
85
|
+
} catch (error) {
|
|
86
|
+
if (error.message === "ABC_LOGIN_REQUIRED") {
|
|
87
|
+
throw error;
|
|
88
|
+
}
|
|
89
|
+
throw error;
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
/**
|
|
93
|
+
* Disconnect wallet
|
|
94
|
+
*/
|
|
95
|
+
async disconnect() {
|
|
96
|
+
if (accountsChangedHandler) {
|
|
97
|
+
provider.removeListener("accountsChanged", accountsChangedHandler);
|
|
98
|
+
accountsChangedHandler = void 0;
|
|
99
|
+
}
|
|
100
|
+
if (chainChangedHandler) {
|
|
101
|
+
provider.removeListener("chainChanged", chainChangedHandler);
|
|
102
|
+
chainChangedHandler = void 0;
|
|
103
|
+
}
|
|
104
|
+
if (disconnectHandler) {
|
|
105
|
+
provider.removeListener("disconnect", disconnectHandler);
|
|
106
|
+
disconnectHandler = void 0;
|
|
107
|
+
}
|
|
108
|
+
provider.clearWallet();
|
|
109
|
+
await client.logout();
|
|
110
|
+
let savedPinHash = null;
|
|
111
|
+
let savedEmail = null;
|
|
112
|
+
if (typeof window !== "undefined") {
|
|
113
|
+
savedPinHash = localStorage.getItem("talkenkit_abc_pin_hash");
|
|
114
|
+
savedEmail = localStorage.getItem("talkenkit_abc_saved_email");
|
|
115
|
+
}
|
|
116
|
+
clearAuthState();
|
|
117
|
+
clearEncryptedTokens();
|
|
118
|
+
if (typeof window !== "undefined") {
|
|
119
|
+
localStorage.removeItem("talkenkit_abc_enc_salt");
|
|
120
|
+
localStorage.removeItem("talkenkit_abc_enc_tokens");
|
|
121
|
+
if (savedPinHash) {
|
|
122
|
+
localStorage.setItem("talkenkit_abc_pin_hash", savedPinHash);
|
|
123
|
+
}
|
|
124
|
+
if (savedEmail) {
|
|
125
|
+
localStorage.setItem("talkenkit_abc_saved_email", savedEmail);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
console.log("\u2705 ABC Wallet disconnected (PIN preserved)");
|
|
129
|
+
},
|
|
130
|
+
/**
|
|
131
|
+
* Get accounts
|
|
132
|
+
*/
|
|
133
|
+
async getAccounts() {
|
|
134
|
+
const accounts = await provider.request({
|
|
135
|
+
method: "eth_accounts"
|
|
136
|
+
});
|
|
137
|
+
return accounts.map((account) => account);
|
|
138
|
+
},
|
|
139
|
+
/**
|
|
140
|
+
* Get chain ID
|
|
141
|
+
*/
|
|
142
|
+
async getChainId() {
|
|
143
|
+
const chainId = await provider.request({
|
|
144
|
+
method: "eth_chainId"
|
|
145
|
+
});
|
|
146
|
+
return Number(chainId);
|
|
147
|
+
},
|
|
148
|
+
/**
|
|
149
|
+
* Get provider
|
|
150
|
+
*/
|
|
151
|
+
async getProvider() {
|
|
152
|
+
return provider;
|
|
153
|
+
},
|
|
154
|
+
/**
|
|
155
|
+
* Check if authorized (has valid session)
|
|
156
|
+
*/
|
|
157
|
+
async isAuthorized() {
|
|
158
|
+
try {
|
|
159
|
+
const authState = loadAuthState();
|
|
160
|
+
if (!authState || !authState.isAuthenticated) {
|
|
161
|
+
return false;
|
|
162
|
+
}
|
|
163
|
+
return client.isAuthenticated();
|
|
164
|
+
} catch {
|
|
165
|
+
return false;
|
|
166
|
+
}
|
|
167
|
+
},
|
|
168
|
+
/**
|
|
169
|
+
* Switch chain
|
|
170
|
+
*/
|
|
171
|
+
async switchChain({ chainId }) {
|
|
172
|
+
await provider.request({
|
|
173
|
+
method: "wallet_switchEthereumChain",
|
|
174
|
+
params: [{ chainId: `0x${chainId.toString(16)}` }]
|
|
175
|
+
});
|
|
176
|
+
const newChainId = await this.getChainId();
|
|
177
|
+
const authState = loadAuthState();
|
|
178
|
+
if (authState?.wallet) {
|
|
179
|
+
authState.wallet.chainId = newChainId;
|
|
180
|
+
saveAuthState(authState);
|
|
181
|
+
}
|
|
182
|
+
return wagmiConfig.chains.find((x) => x.id === chainId) ?? {
|
|
183
|
+
id: chainId,
|
|
184
|
+
name: `Chain ${chainId}`,
|
|
185
|
+
nativeCurrency: {
|
|
186
|
+
name: "Ether",
|
|
187
|
+
decimals: 18,
|
|
188
|
+
symbol: "ETH"
|
|
189
|
+
},
|
|
190
|
+
rpcUrls: {
|
|
191
|
+
default: { http: [""] }
|
|
192
|
+
}
|
|
193
|
+
};
|
|
194
|
+
},
|
|
195
|
+
/**
|
|
196
|
+
* Handle accounts changed
|
|
197
|
+
*/
|
|
198
|
+
onAccountsChanged(accounts) {
|
|
199
|
+
if (accounts.length === 0) {
|
|
200
|
+
this.onDisconnect();
|
|
201
|
+
} else {
|
|
202
|
+
wagmiConfig.emitter.emit("change", {
|
|
203
|
+
accounts
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
},
|
|
207
|
+
/**
|
|
208
|
+
* Handle chain changed
|
|
209
|
+
*/
|
|
210
|
+
onChainChanged(chain) {
|
|
211
|
+
const chainId = Number(chain);
|
|
212
|
+
wagmiConfig.emitter.emit("change", { chainId });
|
|
213
|
+
},
|
|
214
|
+
/**
|
|
215
|
+
* Handle disconnect
|
|
216
|
+
*/
|
|
217
|
+
onDisconnect(_error) {
|
|
218
|
+
provider.clearWallet();
|
|
219
|
+
clearAuthState();
|
|
220
|
+
wagmiConfig.emitter.emit("disconnect");
|
|
221
|
+
}
|
|
222
|
+
};
|
|
223
|
+
});
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
export {
|
|
227
|
+
abcConnector
|
|
228
|
+
};
|