thirdweb 5.29.2 → 5.29.3-nightly-476b6cc271b0891fa01fb09ca509c564b850ccfa-20240614185219
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/cjs/exports/react-native/wallets/in-app.js +17 -0
- package/dist/cjs/exports/react-native/wallets/in-app.js.map +1 -0
- package/dist/cjs/exports/react-native/wallets.js +36 -0
- package/dist/cjs/exports/react-native/wallets.js.map +1 -0
- package/dist/cjs/exports/wallets/embedded.js +4 -4
- package/dist/cjs/exports/wallets/embedded.js.map +1 -1
- package/dist/cjs/exports/wallets/in-app.js +4 -3
- package/dist/cjs/exports/wallets/in-app.js.map +1 -1
- package/dist/cjs/exports/wallets/smart.js +2 -2
- package/dist/cjs/exports/wallets/smart.js.map +1 -1
- package/dist/cjs/exports/wallets.js +8 -5
- package/dist/cjs/exports/wallets.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/Details.js +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/Details.js.map +1 -1
- package/dist/cjs/react/web/wallets/in-app/InAppWalletOTPLoginUI.js +1 -1
- package/dist/cjs/react/web/wallets/in-app/InAppWalletOTPLoginUI.js.map +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/version.js.map +1 -1
- package/dist/cjs/wallets/coinbase/coinbase-wallet.js +87 -0
- package/dist/cjs/wallets/coinbase/coinbase-wallet.js.map +1 -0
- package/dist/cjs/wallets/coinbase/coinbaseMobileSDK.js +17 -2
- package/dist/cjs/wallets/coinbase/coinbaseMobileSDK.js.map +1 -1
- package/dist/cjs/wallets/coinbase/coinbaseSDKWallet.js +12 -20
- package/dist/cjs/wallets/coinbase/coinbaseSDKWallet.js.map +1 -1
- package/dist/cjs/wallets/create-wallet.js +12 -300
- package/dist/cjs/wallets/create-wallet.js.map +1 -1
- package/dist/cjs/wallets/in-app/core/authentication/type.js +6 -1
- package/dist/cjs/wallets/in-app/core/authentication/type.js.map +1 -1
- package/dist/cjs/wallets/in-app/core/wallet/in-app-core.js +100 -0
- package/dist/cjs/wallets/in-app/core/wallet/in-app-core.js.map +1 -0
- package/dist/cjs/wallets/in-app/core/wallet/index.js +15 -7
- package/dist/cjs/wallets/in-app/core/wallet/index.js.map +1 -1
- package/dist/cjs/wallets/in-app/{core/authentication → native/auth}/index.js +15 -42
- package/dist/cjs/wallets/in-app/native/auth/index.js.map +1 -0
- package/dist/cjs/wallets/in-app/native/{auth.js → auth/native-auth.js} +9 -9
- package/dist/cjs/wallets/in-app/native/auth/native-auth.js.map +1 -0
- package/dist/cjs/wallets/in-app/native/in-app.js +69 -0
- package/dist/cjs/wallets/in-app/native/in-app.js.map +1 -0
- package/dist/cjs/wallets/in-app/native/native-connector.js +9 -10
- package/dist/cjs/wallets/in-app/native/native-connector.js.map +1 -1
- package/dist/cjs/wallets/in-app/web/in-app.js +69 -0
- package/dist/cjs/wallets/in-app/web/in-app.js.map +1 -0
- package/dist/cjs/wallets/in-app/web/lib/auth/iframe-auth.js +219 -0
- package/dist/cjs/wallets/in-app/web/lib/auth/iframe-auth.js.map +1 -0
- package/dist/cjs/wallets/in-app/web/lib/auth/index.js +121 -208
- package/dist/cjs/wallets/in-app/web/lib/auth/index.js.map +1 -1
- package/dist/cjs/wallets/in-app/web/lib/web-connector.js +3 -4
- package/dist/cjs/wallets/in-app/web/lib/web-connector.js.map +1 -1
- package/dist/cjs/wallets/manager/index.js +2 -2
- package/dist/cjs/wallets/manager/index.js.map +1 -1
- package/dist/cjs/wallets/native/create-wallet.js +174 -0
- package/dist/cjs/wallets/native/create-wallet.js.map +1 -0
- package/dist/cjs/wallets/smart/smart-wallet.js +103 -0
- package/dist/cjs/wallets/smart/smart-wallet.js.map +1 -0
- package/dist/esm/exports/react-native/wallets/in-app.js +9 -0
- package/dist/esm/exports/react-native/wallets/in-app.js.map +1 -0
- package/dist/esm/exports/react-native/wallets.js +23 -0
- package/dist/esm/exports/react-native/wallets.js.map +1 -0
- package/dist/esm/exports/wallets/embedded.js +3 -2
- package/dist/esm/exports/wallets/embedded.js.map +1 -1
- package/dist/esm/exports/wallets/in-app.js +4 -2
- package/dist/esm/exports/wallets/in-app.js.map +1 -1
- package/dist/esm/exports/wallets/smart.js +1 -1
- package/dist/esm/exports/wallets/smart.js.map +1 -1
- package/dist/esm/exports/wallets.js +5 -2
- package/dist/esm/exports/wallets.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/Details.js +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/Details.js.map +1 -1
- package/dist/esm/react/web/wallets/in-app/InAppWalletOTPLoginUI.js +1 -1
- package/dist/esm/react/web/wallets/in-app/InAppWalletOTPLoginUI.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/version.js.map +1 -1
- package/dist/esm/wallets/coinbase/coinbase-wallet.js +83 -0
- package/dist/esm/wallets/coinbase/coinbase-wallet.js.map +1 -0
- package/dist/esm/wallets/coinbase/coinbaseMobileSDK.js +16 -1
- package/dist/esm/wallets/coinbase/coinbaseMobileSDK.js.map +1 -1
- package/dist/esm/wallets/coinbase/coinbaseSDKWallet.js +10 -19
- package/dist/esm/wallets/coinbase/coinbaseSDKWallet.js.map +1 -1
- package/dist/esm/wallets/create-wallet.js +9 -295
- package/dist/esm/wallets/create-wallet.js.map +1 -1
- package/dist/esm/wallets/in-app/core/authentication/type.js +5 -0
- package/dist/esm/wallets/in-app/core/authentication/type.js.map +1 -1
- package/dist/esm/wallets/in-app/core/wallet/in-app-core.js +95 -0
- package/dist/esm/wallets/in-app/core/wallet/in-app-core.js.map +1 -0
- package/dist/esm/wallets/in-app/core/wallet/index.js +15 -7
- package/dist/esm/wallets/in-app/core/wallet/index.js.map +1 -1
- package/dist/esm/wallets/in-app/{core/authentication → native/auth}/index.js +14 -40
- package/dist/esm/wallets/in-app/native/auth/index.js.map +1 -0
- package/dist/esm/wallets/in-app/native/{auth.js → auth/native-auth.js} +9 -9
- package/dist/esm/wallets/in-app/native/auth/native-auth.js.map +1 -0
- package/dist/esm/wallets/in-app/native/in-app.js +65 -0
- package/dist/esm/wallets/in-app/native/in-app.js.map +1 -0
- package/dist/esm/wallets/in-app/native/native-connector.js +2 -3
- package/dist/esm/wallets/in-app/native/native-connector.js.map +1 -1
- package/dist/esm/wallets/in-app/web/in-app.js +65 -0
- package/dist/esm/wallets/in-app/web/in-app.js.map +1 -0
- package/dist/esm/wallets/in-app/web/lib/auth/iframe-auth.js +215 -0
- package/dist/esm/wallets/in-app/web/lib/auth/iframe-auth.js.map +1 -0
- package/dist/esm/wallets/in-app/web/lib/auth/index.js +115 -206
- package/dist/esm/wallets/in-app/web/lib/auth/index.js.map +1 -1
- package/dist/esm/wallets/in-app/web/lib/web-connector.js +2 -3
- package/dist/esm/wallets/in-app/web/lib/web-connector.js.map +1 -1
- package/dist/esm/wallets/manager/index.js +1 -1
- package/dist/esm/wallets/manager/index.js.map +1 -1
- package/dist/esm/wallets/native/create-wallet.js +169 -0
- package/dist/esm/wallets/native/create-wallet.js.map +1 -0
- package/dist/esm/wallets/smart/smart-wallet.js +99 -0
- package/dist/esm/wallets/smart/smart-wallet.js.map +1 -0
- package/dist/types/exports/react-native/wallets/in-app.d.ts +5 -0
- package/dist/types/exports/react-native/wallets/in-app.d.ts.map +1 -0
- package/dist/types/exports/react-native/wallets.d.ts +47 -0
- package/dist/types/exports/react-native/wallets.d.ts.map +1 -0
- package/dist/types/exports/wallets/embedded.d.ts +3 -2
- package/dist/types/exports/wallets/embedded.d.ts.map +1 -1
- package/dist/types/exports/wallets/in-app.d.ts +3 -2
- package/dist/types/exports/wallets/in-app.d.ts.map +1 -1
- package/dist/types/exports/wallets/smart.d.ts +1 -1
- package/dist/types/exports/wallets/smart.d.ts.map +1 -1
- package/dist/types/exports/wallets.d.ts +4 -2
- package/dist/types/exports/wallets.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/dist/types/version.d.ts.map +1 -1
- package/dist/types/wallets/coinbase/coinbase-wallet.d.ts +15 -0
- package/dist/types/wallets/coinbase/coinbase-wallet.d.ts.map +1 -0
- package/dist/types/wallets/coinbase/coinbaseMobileSDK.d.ts +7 -7
- package/dist/types/wallets/coinbase/coinbaseMobileSDK.d.ts.map +1 -1
- package/dist/types/wallets/coinbase/coinbaseSDKWallet.d.ts +6 -2
- package/dist/types/wallets/coinbase/coinbaseSDKWallet.d.ts.map +1 -1
- package/dist/types/wallets/create-wallet.d.ts +0 -74
- package/dist/types/wallets/create-wallet.d.ts.map +1 -1
- package/dist/types/wallets/in-app/core/authentication/type.d.ts +4 -0
- package/dist/types/wallets/in-app/core/authentication/type.d.ts.map +1 -1
- package/dist/types/wallets/in-app/core/wallet/in-app-core.d.ts +16 -0
- package/dist/types/wallets/in-app/core/wallet/in-app-core.d.ts.map +1 -0
- package/dist/types/wallets/in-app/core/wallet/index.d.ts +3 -2
- package/dist/types/wallets/in-app/core/wallet/index.d.ts.map +1 -1
- package/dist/types/wallets/in-app/{core/authentication → native/auth}/index.d.ts +3 -12
- package/dist/types/wallets/in-app/native/auth/index.d.ts.map +1 -0
- package/dist/types/wallets/in-app/native/{auth.d.ts → auth/native-auth.d.ts} +3 -3
- package/dist/types/wallets/in-app/native/auth/native-auth.d.ts.map +1 -0
- package/dist/types/wallets/in-app/native/in-app.d.ts +56 -0
- package/dist/types/wallets/in-app/native/in-app.d.ts.map +1 -0
- package/dist/types/wallets/in-app/native/native-connector.d.ts.map +1 -1
- package/dist/types/wallets/in-app/web/in-app.d.ts +56 -0
- package/dist/types/wallets/in-app/web/in-app.d.ts.map +1 -0
- package/dist/types/wallets/in-app/web/lib/auth/iframe-auth.d.ts +141 -0
- package/dist/types/wallets/in-app/web/lib/auth/iframe-auth.d.ts.map +1 -0
- package/dist/types/wallets/in-app/web/lib/auth/index.d.ts +78 -137
- package/dist/types/wallets/in-app/web/lib/auth/index.d.ts.map +1 -1
- package/dist/types/wallets/in-app/web/lib/web-connector.d.ts +1 -1
- package/dist/types/wallets/in-app/web/lib/web-connector.d.ts.map +1 -1
- package/dist/types/wallets/manager/index.d.ts.map +1 -1
- package/dist/types/wallets/native/create-wallet.d.ts +36 -0
- package/dist/types/wallets/native/create-wallet.d.ts.map +1 -0
- package/dist/types/wallets/smart/smart-wallet.d.ts +24 -0
- package/dist/types/wallets/smart/smart-wallet.d.ts.map +1 -0
- package/package.json +3 -1
- package/src/exports/react-native/wallets/in-app.ts +18 -0
- package/src/exports/react-native/wallets.ts +102 -0
- package/src/exports/wallets/embedded.ts +4 -3
- package/src/exports/wallets/in-app.ts +6 -3
- package/src/exports/wallets/smart.ts +1 -1
- package/src/exports/wallets.ts +7 -3
- package/src/react/web/ui/ConnectWallet/Details.tsx +1 -1
- package/src/react/web/wallets/in-app/InAppWalletOTPLoginUI.tsx +1 -1
- package/src/version.ts +1 -1
- package/src/wallets/coinbase/coinbase-wallet.ts +108 -0
- package/src/wallets/coinbase/coinbaseMobileSDK.ts +23 -1
- package/src/wallets/coinbase/coinbaseSDKWallet.ts +10 -21
- package/src/wallets/create-wallet.ts +9 -359
- package/src/wallets/in-app/core/authentication/type.ts +13 -0
- package/src/wallets/in-app/core/wallet/in-app-core.ts +134 -0
- package/src/wallets/in-app/core/wallet/index.ts +17 -6
- package/src/wallets/in-app/{core/authentication → native/auth}/index.ts +15 -57
- package/src/wallets/in-app/native/{auth.ts → auth/native-auth.ts} +10 -10
- package/src/wallets/in-app/native/in-app.ts +70 -0
- package/src/wallets/in-app/native/native-connector.ts +2 -2
- package/src/wallets/in-app/web/in-app.ts +70 -0
- package/src/wallets/in-app/web/lib/auth/iframe-auth.ts +266 -0
- package/src/wallets/in-app/web/lib/auth/index.ts +124 -249
- package/src/wallets/in-app/web/lib/web-connector.ts +2 -2
- package/src/wallets/manager/index.ts +1 -1
- package/src/wallets/native/create-wallet.ts +224 -0
- package/src/wallets/smart/smart-wallet-integration.test.ts +1 -1
- package/src/wallets/smart/smart-wallet-zksync.test.ts +1 -1
- package/src/wallets/smart/smart-wallet.ts +123 -0
- package/dist/cjs/wallets/in-app/core/authentication/index.js.map +0 -1
- package/dist/cjs/wallets/in-app/native/auth.js.map +0 -1
- package/dist/esm/wallets/in-app/core/authentication/index.js.map +0 -1
- package/dist/esm/wallets/in-app/native/auth.js.map +0 -1
- package/dist/types/wallets/in-app/core/authentication/index.d.ts.map +0 -1
- package/dist/types/wallets/in-app/native/auth.d.ts.map +0 -1
@@ -0,0 +1,18 @@
|
|
1
|
+
// --- KEEEP IN SYNC with exports/wallets/in-app.ts ---
|
2
|
+
|
3
|
+
export { inAppWallet } from "../../../wallets/in-app/native/in-app.js";
|
4
|
+
|
5
|
+
export {
|
6
|
+
preAuthenticate,
|
7
|
+
authenticate,
|
8
|
+
getUserEmail,
|
9
|
+
getUserPhoneNumber,
|
10
|
+
} from "../../../wallets/in-app/native/auth/index.js";
|
11
|
+
|
12
|
+
export { type GetAuthenticatedUserParams } from "../../../wallets/in-app/core/authentication/type.js";
|
13
|
+
|
14
|
+
// NOT SUPPORTED (yet)
|
15
|
+
|
16
|
+
export const hasStoredPasskey = () => {
|
17
|
+
throw new Error("Not supported in native");
|
18
|
+
};
|
@@ -0,0 +1,102 @@
|
|
1
|
+
// --- KEEEP IN SYNC with exports/wallets.ts ---
|
2
|
+
|
3
|
+
export {
|
4
|
+
createWallet,
|
5
|
+
walletConnect,
|
6
|
+
} from "../../wallets/native/create-wallet.js";
|
7
|
+
export { inAppWallet } from "../../wallets/in-app/native/in-app.js";
|
8
|
+
export { smartWallet } from "../../wallets/smart/smart-wallet.js";
|
9
|
+
|
10
|
+
export type { Wallet, Account } from "../../wallets/interfaces/wallet.js";
|
11
|
+
export type { ConnectionStatus } from "../../wallets/manager/index.js";
|
12
|
+
|
13
|
+
// utils
|
14
|
+
export {
|
15
|
+
getWalletBalance,
|
16
|
+
type GetWalletBalanceOptions,
|
17
|
+
} from "../../wallets/utils/getWalletBalance.js";
|
18
|
+
export {
|
19
|
+
generateAccount,
|
20
|
+
type GenerateAccountOptions,
|
21
|
+
} from "../../wallets/utils/generateAccount.js";
|
22
|
+
|
23
|
+
// private-key
|
24
|
+
export {
|
25
|
+
privateKeyToAccount,
|
26
|
+
/**
|
27
|
+
* @internal
|
28
|
+
* @deprecated - use {@link privateKeyToAccount} instead
|
29
|
+
*/
|
30
|
+
privateKeyToAccount as privateKeyAccount,
|
31
|
+
type PrivateKeyToAccountOptions,
|
32
|
+
/**
|
33
|
+
* @internal
|
34
|
+
* @deprecated - use {@link PrivateKeyToAccountOptions} instead
|
35
|
+
*/
|
36
|
+
type PrivateKeyToAccountOptions as PrivateKeyAccountOptions,
|
37
|
+
} from "../../wallets/private-key.js";
|
38
|
+
|
39
|
+
export type {
|
40
|
+
WalletId,
|
41
|
+
WalletAutoConnectionOption,
|
42
|
+
WalletCreationOptions,
|
43
|
+
WalletConnectionOption,
|
44
|
+
CreateWalletArgs,
|
45
|
+
} from "../../wallets/wallet-types.js";
|
46
|
+
|
47
|
+
export type {
|
48
|
+
WCSupportedWalletIds,
|
49
|
+
InjectedSupportedWalletIds,
|
50
|
+
} from "../../wallets/__generated__/wallet-ids.js";
|
51
|
+
|
52
|
+
export type {
|
53
|
+
WCConnectOptions,
|
54
|
+
WCAutoConnectOptions,
|
55
|
+
} from "../../wallets/wallet-connect/types.js";
|
56
|
+
|
57
|
+
export type {
|
58
|
+
SmartWalletConnectionOptions,
|
59
|
+
SmartWalletOptions,
|
60
|
+
} from "../../wallets/smart/types.js";
|
61
|
+
|
62
|
+
export type {
|
63
|
+
InAppWalletAuth,
|
64
|
+
/**
|
65
|
+
* @deprecated use InAppWalletAuth instead
|
66
|
+
*/
|
67
|
+
InAppWalletAuth as EmbeddedWalletAuth,
|
68
|
+
InAppWalletAutoConnectOptions,
|
69
|
+
/**
|
70
|
+
* @deprecated use InAppWalletAutoConnectOptions instead
|
71
|
+
*/
|
72
|
+
InAppWalletAutoConnectOptions as EmbeddedWalletAutoConnectOptions,
|
73
|
+
InAppWalletConnectionOptions,
|
74
|
+
/**
|
75
|
+
* @deprecated use InAppWalletConnectionOptions instead
|
76
|
+
*/
|
77
|
+
InAppWalletConnectionOptions as EmbeddedWalletConnectionOptions,
|
78
|
+
InAppWalletSocialAuth,
|
79
|
+
/**
|
80
|
+
* @deprecated use InAppWalletSocialAuth instead
|
81
|
+
*/
|
82
|
+
InAppWalletSocialAuth as EmbeddedWalletSocialAuth,
|
83
|
+
} from "../../wallets/in-app/core/wallet/types.js";
|
84
|
+
|
85
|
+
export type { CoinbaseSDKWalletConnectionOptions } from "../../wallets/coinbase/coinbaseSDKWallet.js";
|
86
|
+
|
87
|
+
export type {
|
88
|
+
WalletEmitter,
|
89
|
+
WalletEmitterEvents,
|
90
|
+
} from "../../wallets/wallet-emitter.js";
|
91
|
+
|
92
|
+
export { getAllWalletsList } from "../../wallets/getAllWalletsList.js";
|
93
|
+
export { getWalletInfo } from "../../wallets/__generated__/getWalletInfo.js";
|
94
|
+
export { type WalletInfo } from "../../wallets/wallet-info.js";
|
95
|
+
|
96
|
+
export { createWalletAdapter } from "../../adapters/wallet-adapter.js";
|
97
|
+
|
98
|
+
// NOT SUPPORTED
|
99
|
+
|
100
|
+
export const injectedProvider = () => {
|
101
|
+
throw new Error("Not supported in native");
|
102
|
+
};
|
@@ -4,11 +4,12 @@ export {
|
|
4
4
|
* @deprecated use inAppWallet instead
|
5
5
|
*/
|
6
6
|
inAppWallet as embeddedWallet,
|
7
|
-
} from "../../wallets/
|
7
|
+
} from "../../wallets/in-app/web/in-app.js";
|
8
8
|
|
9
9
|
export {
|
10
10
|
preAuthenticate,
|
11
11
|
authenticate,
|
12
12
|
getUserEmail,
|
13
|
-
|
14
|
-
|
13
|
+
} from "../../wallets/in-app/web/lib/auth/index.js";
|
14
|
+
|
15
|
+
export { type GetAuthenticatedUserParams } from "../../wallets/in-app/core/authentication/type.js";
|
@@ -1,12 +1,15 @@
|
|
1
|
-
|
1
|
+
// --- KEEEP IN SYNC with exports/react-native/wallets/in-app ---
|
2
|
+
|
3
|
+
export { inAppWallet } from "../../wallets/in-app/web/in-app.js";
|
2
4
|
|
3
5
|
export {
|
4
6
|
preAuthenticate,
|
5
7
|
authenticate,
|
6
8
|
getUserEmail,
|
7
9
|
getUserPhoneNumber,
|
8
|
-
|
9
|
-
|
10
|
+
} from "../../wallets/in-app/web/lib/auth/index.js";
|
11
|
+
|
12
|
+
export { type GetAuthenticatedUserParams } from "../../wallets/in-app/core/authentication/type.js";
|
10
13
|
|
11
14
|
export { hasStoredPasskey } from "../../wallets/in-app/web/lib/auth/passkeys.js";
|
12
15
|
|
package/src/exports/wallets.ts
CHANGED
@@ -1,13 +1,17 @@
|
|
1
|
+
// --- KEEEP IN SYNC with exports/react-native/wallets.ts ---
|
2
|
+
|
1
3
|
export {
|
2
4
|
createWallet,
|
3
|
-
|
5
|
+
walletConnect,
|
6
|
+
} from "../wallets/create-wallet.js";
|
7
|
+
export {
|
4
8
|
inAppWallet,
|
5
9
|
/**
|
6
10
|
* @deprecated use inAppWallet instead
|
7
11
|
*/
|
8
12
|
inAppWallet as embeddedWallet,
|
9
|
-
|
10
|
-
} from "../wallets/
|
13
|
+
} from "../wallets/in-app/web/in-app.js";
|
14
|
+
export { smartWallet } from "../wallets/smart/smart-wallet.js";
|
11
15
|
|
12
16
|
export type { Wallet, Account } from "../wallets/interfaces/wallet.js";
|
13
17
|
export type { ConnectionStatus } from "../wallets/manager/index.js";
|
@@ -916,7 +916,7 @@ function InAppWalletUserInfo(props: {
|
|
916
916
|
queryKey: ["in-app-wallet-user", client, account?.address],
|
917
917
|
queryFn: async () => {
|
918
918
|
const { getUserEmail, getUserPhoneNumber } = await import(
|
919
|
-
"../../../../wallets/in-app/
|
919
|
+
"../../../../wallets/in-app/web/lib/auth/index.js"
|
920
920
|
);
|
921
921
|
|
922
922
|
const [email, phone] = await Promise.all([
|
@@ -1,7 +1,7 @@
|
|
1
1
|
"use client";
|
2
2
|
import { useCallback, useEffect, useRef, useState } from "react";
|
3
|
-
import { preAuthenticate } from "../../../../wallets/in-app/core/authentication/index.js";
|
4
3
|
import type { SendEmailOtpReturnType } from "../../../../wallets/in-app/core/authentication/type.js";
|
4
|
+
import { preAuthenticate } from "../../../../wallets/in-app/web/lib/auth/index.js";
|
5
5
|
import type { Wallet } from "../../../../wallets/interfaces/wallet.js";
|
6
6
|
import { useCustomTheme } from "../../../core/design-system/CustomThemeProvider.js";
|
7
7
|
import { fontSize } from "../../../core/design-system/index.js";
|
package/src/version.ts
CHANGED
@@ -1 +1 @@
|
|
1
|
-
export const version = "5.29.
|
1
|
+
export const version = "5.29.3-nightly-476b6cc271b0891fa01fb09ca509c564b850ccfa-20240614185219";
|
@@ -0,0 +1,108 @@
|
|
1
|
+
/**
|
2
|
+
* internal helper functions
|
3
|
+
*/
|
4
|
+
|
5
|
+
import type { ProviderInterface } from "@coinbase/wallet-sdk";
|
6
|
+
import { trackConnect } from "../../analytics/track.js";
|
7
|
+
import type { Chain } from "../../chains/types.js";
|
8
|
+
import { COINBASE } from "../constants.js";
|
9
|
+
import type { Account, Wallet } from "../interfaces/wallet.js";
|
10
|
+
import { createWalletEmitter } from "../wallet-emitter.js";
|
11
|
+
import type { CreateWalletArgs } from "../wallet-types.js";
|
12
|
+
|
13
|
+
/**
|
14
|
+
* @internal
|
15
|
+
*/
|
16
|
+
export function coinbaseWalletSDK(args: {
|
17
|
+
createOptions?: CreateWalletArgs<typeof COINBASE>[1];
|
18
|
+
providerFactory: () => Promise<ProviderInterface>;
|
19
|
+
}): Wallet<typeof COINBASE> {
|
20
|
+
const { createOptions } = args;
|
21
|
+
const emitter = createWalletEmitter<typeof COINBASE>();
|
22
|
+
let account: Account | undefined = undefined;
|
23
|
+
let chain: Chain | undefined = undefined;
|
24
|
+
|
25
|
+
function reset() {
|
26
|
+
account = undefined;
|
27
|
+
chain = undefined;
|
28
|
+
}
|
29
|
+
|
30
|
+
let handleDisconnect = async () => {};
|
31
|
+
|
32
|
+
let handleSwitchChain = async (newChain: Chain) => {
|
33
|
+
chain = newChain;
|
34
|
+
};
|
35
|
+
|
36
|
+
const unsubscribeChainChanged = emitter.subscribe(
|
37
|
+
"chainChanged",
|
38
|
+
(newChain) => {
|
39
|
+
chain = newChain;
|
40
|
+
},
|
41
|
+
);
|
42
|
+
|
43
|
+
const unsubscribeDisconnect = emitter.subscribe("disconnect", () => {
|
44
|
+
reset();
|
45
|
+
unsubscribeChainChanged();
|
46
|
+
unsubscribeDisconnect();
|
47
|
+
});
|
48
|
+
|
49
|
+
emitter.subscribe("accountChanged", (_account) => {
|
50
|
+
account = _account;
|
51
|
+
});
|
52
|
+
|
53
|
+
return {
|
54
|
+
id: COINBASE,
|
55
|
+
subscribe: emitter.subscribe,
|
56
|
+
getChain: () => chain,
|
57
|
+
getConfig: () => createOptions,
|
58
|
+
getAccount: () => account,
|
59
|
+
autoConnect: async (options) => {
|
60
|
+
const { autoConnectCoinbaseWalletSDK } = await import(
|
61
|
+
"./coinbaseSDKWallet.js"
|
62
|
+
);
|
63
|
+
const provider = await args.providerFactory();
|
64
|
+
const [connectedAccount, connectedChain, doDisconnect, doSwitchChain] =
|
65
|
+
await autoConnectCoinbaseWalletSDK(options, emitter, provider);
|
66
|
+
// set the states
|
67
|
+
account = connectedAccount;
|
68
|
+
chain = connectedChain;
|
69
|
+
handleDisconnect = doDisconnect;
|
70
|
+
handleSwitchChain = doSwitchChain;
|
71
|
+
trackConnect({
|
72
|
+
client: options.client,
|
73
|
+
walletType: COINBASE,
|
74
|
+
walletAddress: account.address,
|
75
|
+
});
|
76
|
+
// return account
|
77
|
+
return account;
|
78
|
+
},
|
79
|
+
connect: async (options) => {
|
80
|
+
const { connectCoinbaseWalletSDK } = await import(
|
81
|
+
"./coinbaseSDKWallet.js"
|
82
|
+
);
|
83
|
+
const provider = await args.providerFactory();
|
84
|
+
const [connectedAccount, connectedChain, doDisconnect, doSwitchChain] =
|
85
|
+
await connectCoinbaseWalletSDK(options, emitter, provider);
|
86
|
+
|
87
|
+
// set the states
|
88
|
+
account = connectedAccount;
|
89
|
+
chain = connectedChain;
|
90
|
+
handleDisconnect = doDisconnect;
|
91
|
+
handleSwitchChain = doSwitchChain;
|
92
|
+
trackConnect({
|
93
|
+
client: options.client,
|
94
|
+
walletType: COINBASE,
|
95
|
+
walletAddress: account.address,
|
96
|
+
});
|
97
|
+
// return account
|
98
|
+
return account;
|
99
|
+
},
|
100
|
+
disconnect: async () => {
|
101
|
+
reset();
|
102
|
+
await handleDisconnect();
|
103
|
+
},
|
104
|
+
switchChain: async (newChain) => {
|
105
|
+
await handleSwitchChain(newChain);
|
106
|
+
},
|
107
|
+
};
|
108
|
+
}
|
@@ -1,7 +1,29 @@
|
|
1
1
|
import { configure } from "@coinbase/wallet-mobile-sdk";
|
2
|
+
import type { ProviderInterface } from "@coinbase/wallet-sdk";
|
2
3
|
import type { Chain } from "../../chains/types.js";
|
4
|
+
import type { COINBASE } from "../constants.js";
|
5
|
+
import type { CreateWalletArgs } from "../wallet-types.js";
|
3
6
|
|
4
|
-
|
7
|
+
let _provider: ProviderInterface | undefined;
|
8
|
+
|
9
|
+
/**
|
10
|
+
* @internal
|
11
|
+
*/
|
12
|
+
export async function getCoinbaseMobileProvider(
|
13
|
+
options?: CreateWalletArgs<typeof COINBASE>[1],
|
14
|
+
): Promise<ProviderInterface> {
|
15
|
+
if (!_provider) {
|
16
|
+
const mobileProvider: ProviderInterface = (await initMobileProvider({
|
17
|
+
chain: options?.chains ? options.chains[0] : undefined,
|
18
|
+
...options?.mobileConfig,
|
19
|
+
})) as unknown as ProviderInterface;
|
20
|
+
_provider = mobileProvider;
|
21
|
+
return mobileProvider;
|
22
|
+
}
|
23
|
+
return _provider;
|
24
|
+
}
|
25
|
+
|
26
|
+
async function initMobileProvider(args: {
|
5
27
|
chain?: Chain;
|
6
28
|
callbackURL?: string;
|
7
29
|
hostURL?: string;
|
@@ -26,7 +26,6 @@ import {
|
|
26
26
|
stringToHex,
|
27
27
|
uint8ArrayToHex,
|
28
28
|
} from "../../utils/encoding/hex.js";
|
29
|
-
import { isReactNative } from "../../utils/platform.js";
|
30
29
|
import { parseTypedData } from "../../utils/signatures/helpers/parseTypedData.js";
|
31
30
|
import { COINBASE } from "../constants.js";
|
32
31
|
import type {
|
@@ -128,20 +127,13 @@ export type CoinbaseSDKWalletConnectionOptions = {
|
|
128
127
|
// this should be ok since all the creation options are provided at build time
|
129
128
|
let _provider: ProviderInterface | undefined;
|
130
129
|
|
131
|
-
|
130
|
+
/**
|
131
|
+
* @internal
|
132
|
+
*/
|
133
|
+
export async function getCoinbaseWebProvider(
|
132
134
|
options?: CreateWalletArgs<typeof COINBASE>[1],
|
133
135
|
): Promise<ProviderInterface> {
|
134
136
|
if (!_provider) {
|
135
|
-
if (isReactNative()) {
|
136
|
-
const { initMobileProvider } = require("./coinbaseMobileSDK.js");
|
137
|
-
const mobileProvider = initMobileProvider({
|
138
|
-
chain: options?.chains ? options.chains[0] : undefined,
|
139
|
-
...options?.mobileConfig,
|
140
|
-
});
|
141
|
-
_provider = mobileProvider;
|
142
|
-
return mobileProvider;
|
143
|
-
}
|
144
|
-
|
145
137
|
const client = new CoinbaseWalletSDK({
|
146
138
|
appName: options?.appMetadata?.name || getDefaultAppMetadata().name,
|
147
139
|
appChainIds: options?.chains
|
@@ -186,7 +178,7 @@ export async function coinbaseSDKWalletGetCapabilities(args: {
|
|
186
178
|
}
|
187
179
|
|
188
180
|
const config = wallet.getConfig();
|
189
|
-
const provider = await
|
181
|
+
const provider = await getCoinbaseWebProvider(config);
|
190
182
|
try {
|
191
183
|
return (await provider.request({
|
192
184
|
method: "wallet_getCapabilities",
|
@@ -212,7 +204,7 @@ export async function coinbaseSDKWalletSendCalls(args: {
|
|
212
204
|
const { wallet, params } = args;
|
213
205
|
|
214
206
|
const config = wallet.getConfig();
|
215
|
-
const provider = await
|
207
|
+
const provider = await getCoinbaseWebProvider(config);
|
216
208
|
|
217
209
|
try {
|
218
210
|
return (await provider.request({
|
@@ -238,7 +230,7 @@ export async function coinbaseSDKWalletShowCallsStatus(args: {
|
|
238
230
|
}) {
|
239
231
|
const { wallet, bundleId } = args;
|
240
232
|
|
241
|
-
const provider = await
|
233
|
+
const provider = await getCoinbaseWebProvider(wallet.getConfig());
|
242
234
|
|
243
235
|
try {
|
244
236
|
return await provider.request({
|
@@ -265,7 +257,7 @@ export async function coinbaseSDKWalletGetCallsStatus(args: {
|
|
265
257
|
const { wallet, bundleId } = args;
|
266
258
|
|
267
259
|
const config = wallet.getConfig();
|
268
|
-
const provider = await
|
260
|
+
const provider = await getCoinbaseWebProvider(config);
|
269
261
|
|
270
262
|
return provider.request({
|
271
263
|
method: "wallet_getCallsStatus",
|
@@ -402,10 +394,9 @@ function onConnect(
|
|
402
394
|
*/
|
403
395
|
export async function connectCoinbaseWalletSDK(
|
404
396
|
options: WalletConnectionOption<typeof COINBASE>,
|
405
|
-
createOptions: CreateWalletArgs<typeof COINBASE>[1],
|
406
397
|
emitter: WalletEmitter<typeof COINBASE>,
|
398
|
+
provider: ProviderInterface,
|
407
399
|
): Promise<ReturnType<typeof onConnect>> {
|
408
|
-
const provider = await getCoinbaseProvider(createOptions);
|
409
400
|
const accounts = (await provider.request({
|
410
401
|
method: "eth_requestAccounts",
|
411
402
|
})) as string[];
|
@@ -443,11 +434,9 @@ export async function connectCoinbaseWalletSDK(
|
|
443
434
|
*/
|
444
435
|
export async function autoConnectCoinbaseWalletSDK(
|
445
436
|
options: WalletConnectionOption<typeof COINBASE>,
|
446
|
-
createOptions: CreateWalletArgs<typeof COINBASE>[1],
|
447
437
|
emitter: WalletEmitter<typeof COINBASE>,
|
438
|
+
provider: ProviderInterface,
|
448
439
|
): Promise<ReturnType<typeof onConnect>> {
|
449
|
-
const provider = await getCoinbaseProvider(createOptions);
|
450
|
-
|
451
440
|
// connected accounts
|
452
441
|
const addresses = (await provider.request({
|
453
442
|
method: "eth_accounts",
|