Skip to content

Commit 79c9e13

Browse files
makoshanxwartzjnsdls
authored
[react, wallets] Add imToken Wallet (#2497)
Signed-off-by: Mako Shan <imakoshan@gmail.com> Signed-off-by: Jonas Daniels <jonas.daniels@outlook.com> Co-authored-by: xwartz <stddup@gmail.com> Co-authored-by: Jonas Daniels <jonas.daniels@outlook.com>
1 parent 9c884e2 commit 79c9e13

File tree

19 files changed

+317
-2
lines changed

19 files changed

+317
-2
lines changed

.changeset/tall-moose-add-imToken.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
"@thirdweb-dev/wallets": patch
3+
"@thirdweb-dev/react": patch
4+
"@thirdweb-dev/react-core": patch
5+
---
6+
7+
Add imToken Wallet

packages/react-core/src/core/hooks/wallet-hooks.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import type {
88
CryptoDefiWallet,
99
EmbeddedWallet,
1010
FrameWallet,
11+
ImTokenWallet,
1112
LocalWallet,
1213
MagicEdenWallet,
1314
MagicLink,
@@ -41,6 +42,7 @@ export type WalletIdToWalletTypeMap = {
4142
rainbowWallet: RainbowWallet;
4243
blocto: BloctoWallet;
4344
frame: FrameWallet;
45+
imToken: ImTokenWallet;
4446
localWallet: LocalWallet;
4547
magicLink: MagicLink;
4648
paper: PaperWallet;
@@ -57,7 +59,7 @@ export type WalletIdToWalletTypeMap = {
5759
cryptoDefiWallet: CryptoDefiWallet;
5860
rabby: RabbyWallet;
5961
xdefi: XDEFIWallet;
60-
magicEden: MagicEdenWallet
62+
magicEden: MagicEdenWallet;
6163
};
6264

6365
/**

packages/react/src/evm/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,4 +111,5 @@ export {
111111
CryptoDefiWallet,
112112
RabbyWallet,
113113
Coin98Wallet,
114+
ImTokenWallet,
114115
} from "@thirdweb-dev/wallets";

packages/react/src/evm/locales/en.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,7 @@ export function enDefault(): ThirdwebLocale {
171171
xdefiWallet: extensionAndQRScanScreens("XDEFI"),
172172
rainbowWallet: extensionAndQRScanScreens("Rainbow"),
173173
trustWallet: extensionAndQRScanScreens("Trust"),
174+
imTokenWallet: extensionAndQRScanScreens("imToken"),
174175
zerionWallet: extensionAndQRScanScreens("Zerion"),
175176
coreWallet: extensionAndQRScanScreens("Core"),
176177
oneKeyWallet: extensionAndQRScanScreens("OneKey"),

packages/react/src/evm/locales/es.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,7 @@ export function esDefault(): ThirdwebLocale {
176176
xdefiWallet: extensionAndQRScanScreens("XDEFI"),
177177
rainbowWallet: extensionAndQRScanScreens("Rainbow"),
178178
trustWallet: extensionAndQRScanScreens("Trust"),
179+
imTokenWallet: extensionAndQRScanScreens("imToken"),
179180
zerionWallet: extensionAndQRScanScreens("Zerion"),
180181
oneKeyWallet: extensionAndQRScanScreens("OneKey"),
181182
cryptoDefiWallet: extensionAndQRScanScreens("Crypto Defi"),

packages/react/src/evm/locales/ja.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,7 @@ export function jaDefault(): ThirdwebLocale {
176176
xdefiWallet: extensionAndQRScanScreens("XDEFI"),
177177
rainbowWallet: extensionAndQRScanScreens("Rainbow"),
178178
trustWallet: extensionAndQRScanScreens("Trust"),
179+
imTokenWallet: extensionAndQRScanScreens("imToken"),
179180
zerionWallet: extensionAndQRScanScreens("Zerion"),
180181
oneKeyWallet: extensionAndQRScanScreens("OneKey"),
181182
cryptoDefiWallet: extensionAndQRScanScreens("Crypto Defi"),

packages/react/src/evm/locales/tl.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,7 @@ export function tlDefault(): ThirdwebLocale {
176176
xdefiWallet: extensionAndQRScanScreens("XDEFI"),
177177
rainbowWallet: extensionAndQRScanScreens("Rainbow"),
178178
trustWallet: extensionAndQRScanScreens("Trust"),
179+
imTokenWallet: extensionAndQRScanScreens("imToken"),
179180
zerionWallet: extensionAndQRScanScreens("Zerion"),
180181
coreWallet: extensionAndQRScanScreens("Core"),
181182
oneKeyWallet: extensionAndQRScanScreens("OneKey"),

packages/react/src/evm/locales/types.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,7 @@ export type ThirdwebLocale = {
183183
getStartedScreen: { instruction: string };
184184
scanScreen: { instruction: string };
185185
};
186+
trustWallet: ExtensionAndQRScreensLocale;
186187
localWallet: {
187188
confirmPasswordLabel: string;
188189
createScreen: {
@@ -302,7 +303,7 @@ export type ThirdwebLocale = {
302303
title: string;
303304
};
304305
};
305-
trustWallet: ExtensionAndQRScreensLocale;
306+
imTokenWallet: ExtensionAndQRScreensLocale;
306307
walletConnect: { scanInstruction: string };
307308
zerionWallet: ExtensionAndQRScreensLocale;
308309
};

packages/react/src/index.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,11 @@ export {
107107
type Coin98WalletConfigOptions,
108108
} from "./wallet/wallets/coin98/coin98Wallet";
109109

110+
export {
111+
imTokenWallet,
112+
type ImTokenWalletConfigOptions,
113+
} from "./wallet/wallets/imtoken/imTokenWallet";
114+
110115
// theming
111116
export { darkTheme, lightTheme } from "./design-system/index";
112117
export type { Theme, ThemeOverrides } from "./design-system/index";

packages/react/src/wallet/hooks/useInstalledWallets.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,19 +12,22 @@ export function useInstalledWallets() {
1212
let isCoinbaseWalletInstalled = false;
1313
let isZerionWalletInstalled = false;
1414
let isTrustWalletInstalled = false;
15+
let isImTokenInstalled = false;
1516

1617
const window_: Window | undefined = globalThis?.window;
1718
if (assertWindowEthereum(window_)) {
1819
isMetamaskInstalled = !!getInjectedMetamaskProvider();
1920
isCoinbaseWalletInstalled = !!getInjectedCoinbaseProvider();
2021
isZerionWalletInstalled = !!window_.ethereum?.isZerion;
2122
isTrustWalletInstalled = !!window_.ethereum?.isTrust;
23+
isImTokenInstalled = !!window_.ethereum?.isToken;
2224
}
2325

2426
return {
2527
metamask: isMetamaskInstalled,
2628
coinbaseWallet: isCoinbaseWalletInstalled,
2729
trustWallet: isTrustWalletInstalled,
2830
zerionWallet: isZerionWalletInstalled,
31+
imtokenWallet: isImTokenInstalled,
2932
};
3033
}

0 commit comments

Comments
 (0)