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
@@ -1,219 +1,132 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.
|
4
|
-
const
|
5
|
-
const
|
3
|
+
exports.authenticate = exports.preAuthenticate = exports.getUserPhoneNumber = exports.getUserEmail = exports.getAuthenticatedUser = void 0;
|
4
|
+
const type_js_1 = require("../../../core/authentication/type.js");
|
5
|
+
const in_app_core_js_1 = require("../../../core/wallet/in-app-core.js");
|
6
|
+
// ---- KEEP IN SYNC WITH /wallets/in-app/native/auth/index.ts ---- //
|
7
|
+
// duplication needed for separate exports between web and native
|
6
8
|
/**
|
7
|
-
*
|
9
|
+
* @internal
|
8
10
|
*/
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
*/
|
15
|
-
constructor({ client, querier, onAuthSuccess, baseUrl, }) {
|
16
|
-
Object.defineProperty(this, "client", {
|
17
|
-
enumerable: true,
|
18
|
-
configurable: true,
|
19
|
-
writable: true,
|
20
|
-
value: void 0
|
21
|
-
});
|
22
|
-
Object.defineProperty(this, "AuthQuerier", {
|
23
|
-
enumerable: true,
|
24
|
-
configurable: true,
|
25
|
-
writable: true,
|
26
|
-
value: void 0
|
27
|
-
});
|
28
|
-
Object.defineProperty(this, "localStorage", {
|
29
|
-
enumerable: true,
|
30
|
-
configurable: true,
|
31
|
-
writable: true,
|
32
|
-
value: void 0
|
33
|
-
});
|
34
|
-
Object.defineProperty(this, "onAuthSuccess", {
|
35
|
-
enumerable: true,
|
36
|
-
configurable: true,
|
37
|
-
writable: true,
|
38
|
-
value: void 0
|
39
|
-
});
|
40
|
-
Object.defineProperty(this, "BaseLogin", {
|
41
|
-
enumerable: true,
|
42
|
-
configurable: true,
|
43
|
-
writable: true,
|
44
|
-
value: void 0
|
45
|
-
});
|
46
|
-
this.client = client;
|
47
|
-
this.AuthQuerier = querier;
|
48
|
-
this.localStorage = new LocalStorage_js_1.LocalStorage({ clientId: client.clientId });
|
49
|
-
this.onAuthSuccess = onAuthSuccess;
|
50
|
-
this.BaseLogin = new base_login_js_1.BaseLogin({
|
51
|
-
postLogin: async (result) => {
|
52
|
-
return this.postLogin(result);
|
53
|
-
},
|
54
|
-
preLogin: async () => {
|
55
|
-
await this.preLogin();
|
56
|
-
},
|
57
|
-
querier: querier,
|
58
|
-
client,
|
59
|
-
baseUrl,
|
11
|
+
async function getInAppWalletConnector(client) {
|
12
|
+
return (0, in_app_core_js_1.getOrCreateInAppWalletConnector)(client, async (client) => {
|
13
|
+
const { InAppWebConnector } = await Promise.resolve().then(() => require("../web-connector.js"));
|
14
|
+
return new InAppWebConnector({
|
15
|
+
client: client,
|
60
16
|
});
|
61
|
-
}
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
17
|
+
});
|
18
|
+
}
|
19
|
+
/**
|
20
|
+
* Retrieves the authenticated user for the active in-app wallet.
|
21
|
+
* @param options - The arguments for retrieving the authenticated user.
|
22
|
+
* @returns The authenticated user if logged in and wallet initialized, otherwise undefined.
|
23
|
+
* @example
|
24
|
+
* ```ts
|
25
|
+
* import { getAuthenticatedUser } from "thirdweb/wallets/in-app";
|
26
|
+
*
|
27
|
+
* const user = await getAuthenticatedUser({ client });
|
28
|
+
* if (user) {
|
29
|
+
* console.log(user.walletAddress);
|
30
|
+
* }
|
31
|
+
* ```
|
32
|
+
* @wallet
|
33
|
+
*/
|
34
|
+
async function getAuthenticatedUser(options) {
|
35
|
+
const { client } = options;
|
36
|
+
const connector = await getInAppWalletConnector(client);
|
37
|
+
const user = await connector.getUser();
|
38
|
+
switch (user.status) {
|
39
|
+
case type_js_1.UserWalletStatus.LOGGED_IN_WALLET_INITIALIZED: {
|
40
|
+
return user;
|
68
41
|
}
|
69
|
-
const initializedUser = await this.onAuthSuccess({
|
70
|
-
storedToken,
|
71
|
-
walletDetails,
|
72
|
-
});
|
73
|
-
return initializedUser;
|
74
|
-
}
|
75
|
-
async loginWithAuthToken(authToken, recoveryCode) {
|
76
|
-
await this.preLogin();
|
77
|
-
const result = await this.AuthQuerier.call({
|
78
|
-
procedureName: "loginWithStoredTokenDetails",
|
79
|
-
params: {
|
80
|
-
storedToken: authToken.storedToken,
|
81
|
-
recoveryCode,
|
82
|
-
},
|
83
|
-
});
|
84
|
-
return this.postLogin(result);
|
85
|
-
}
|
86
|
-
/**
|
87
|
-
* Used to log the user into their thirdweb wallet on your platform via a myriad of auth providers
|
88
|
-
* @example
|
89
|
-
* ```typescript
|
90
|
-
* const thirdwebInAppWallet = new InAppWalletSdk({clientId: "YOUR_CLIENT_ID", chain: "Polygon"})
|
91
|
-
* try {
|
92
|
-
* const user = await thirdwebInAppWallet.auth.loginWithModal();
|
93
|
-
* // user is now logged in
|
94
|
-
* } catch (e) {
|
95
|
-
* // User closed modal or something else went wrong during the authentication process
|
96
|
-
* console.error(e)
|
97
|
-
* }
|
98
|
-
* ```
|
99
|
-
* @returns `{{user: InitializedUser}}` An InitializedUser object.
|
100
|
-
*/
|
101
|
-
async loginWithModal() {
|
102
|
-
return this.BaseLogin.loginWithModal();
|
103
|
-
}
|
104
|
-
/**
|
105
|
-
* Used to log the user into their thirdweb wallet using email OTP
|
106
|
-
* @example
|
107
|
-
* ```typescript
|
108
|
-
* // Basic Flow
|
109
|
-
* const thirdwebInAppWallet = new InAppWalletSdk({clientId: "", chain: "Polygon"});
|
110
|
-
* try {
|
111
|
-
* // prompts user to enter the code they received
|
112
|
-
* const user = await thirdwebInAppWallet.auth.loginWithThirdwebEmailOtp({ email : "you@example.com" });
|
113
|
-
* // user is now logged in
|
114
|
-
* } catch (e) {
|
115
|
-
* // User closed the OTP modal or something else went wrong during the authentication process
|
116
|
-
* console.error(e)
|
117
|
-
* }
|
118
|
-
* ```
|
119
|
-
* @param args - args.email: We will send the email an OTP that needs to be entered in order for them to be logged in.
|
120
|
-
* @returns `{{user: InitializedUser}}` An InitializedUser object. See {@link InAppWalletSdk.getUser} for more
|
121
|
-
*/
|
122
|
-
async loginWithEmailOtp(args) {
|
123
|
-
return this.BaseLogin.loginWithEmailOtp(args);
|
124
|
-
}
|
125
|
-
/**
|
126
|
-
* @internal
|
127
|
-
*/
|
128
|
-
async loginWithCustomJwt(args) {
|
129
|
-
return this.BaseLogin.loginWithCustomJwt(args);
|
130
|
-
}
|
131
|
-
/**
|
132
|
-
* @internal
|
133
|
-
*/
|
134
|
-
async loginWithCustomAuthEndpoint(args) {
|
135
|
-
return this.BaseLogin.loginWithCustomAuthEndpoint(args);
|
136
|
-
}
|
137
|
-
/**
|
138
|
-
* @internal
|
139
|
-
*/
|
140
|
-
async loginWithOauth(args) {
|
141
|
-
return this.BaseLogin.loginWithOauth(args);
|
142
|
-
}
|
143
|
-
/**
|
144
|
-
* A headless way to send the users at the passed email an OTP code.
|
145
|
-
* You need to then call {@link Auth.verifyEmailLoginOtp} in order to complete the login process
|
146
|
-
* @example
|
147
|
-
* @param param0.email
|
148
|
-
* ```typescript
|
149
|
-
* const thirdwebInAppWallet = new InAppWalletSdk({clientId: "", chain: "Polygon"});
|
150
|
-
* // sends user an OTP code
|
151
|
-
* try {
|
152
|
-
* await thirdwebInAppWallet.auth.sendEmailLoginOtp({ email : "you@example.com" });
|
153
|
-
* } catch(e) {
|
154
|
-
* // Error Sending user's email an OTP code
|
155
|
-
* console.error(e);
|
156
|
-
* }
|
157
|
-
*
|
158
|
-
* // Then when your user is ready to verify their OTP
|
159
|
-
* try {
|
160
|
-
* const user = await thirdwebInAppWallet.auth.verifyEmailLoginOtp({ email: "you@example.com", otp: "6-DIGIT_CODE_HERE" });
|
161
|
-
* } catch(e) {
|
162
|
-
* // Error verifying the OTP code
|
163
|
-
* console.error(e)
|
164
|
-
* }
|
165
|
-
* ```
|
166
|
-
* @param param0 - param0.email We will send the email an OTP that needs to be entered in order for them to be logged in.
|
167
|
-
* @returns `{{ isNewUser: boolean }}` IsNewUser indicates if the user is a new user to your platform
|
168
|
-
* @internal
|
169
|
-
*/
|
170
|
-
async sendEmailLoginOtp({ email, }) {
|
171
|
-
return this.BaseLogin.sendEmailLoginOtp({
|
172
|
-
email,
|
173
|
-
});
|
174
|
-
}
|
175
|
-
/**
|
176
|
-
* @internal
|
177
|
-
*/
|
178
|
-
async sendSmsLoginOtp({ phoneNumber, }) {
|
179
|
-
return this.BaseLogin.sendSmsLoginOtp({
|
180
|
-
phoneNumber,
|
181
|
-
});
|
182
42
|
}
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
43
|
+
return undefined;
|
44
|
+
}
|
45
|
+
exports.getAuthenticatedUser = getAuthenticatedUser;
|
46
|
+
/**
|
47
|
+
* Retrieves the authenticated user email for the active in-app wallet.
|
48
|
+
* @param options - The arguments for retrieving the authenticated user.
|
49
|
+
* @returns The authenticated user email if logged in and wallet initialized, otherwise undefined.
|
50
|
+
* @example
|
51
|
+
* ```ts
|
52
|
+
* import { getUserEmail } from "thirdweb/wallets/in-app";
|
53
|
+
*
|
54
|
+
* const email = await getUserEmail({ client });
|
55
|
+
* console.log(email);
|
56
|
+
* ```
|
57
|
+
* @wallet
|
58
|
+
*/
|
59
|
+
async function getUserEmail(options) {
|
60
|
+
const user = await getAuthenticatedUser(options);
|
61
|
+
if (user && "email" in user.authDetails) {
|
62
|
+
return user.authDetails.email;
|
200
63
|
}
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
64
|
+
return undefined;
|
65
|
+
}
|
66
|
+
exports.getUserEmail = getUserEmail;
|
67
|
+
/**
|
68
|
+
* Retrieves the authenticated user phone number for the active embedded wallet.
|
69
|
+
* @param options - The arguments for retrieving the authenticated user.
|
70
|
+
* @returns The authenticated user phone number if authenticated with phone number, otherwise undefined.
|
71
|
+
* @example
|
72
|
+
* ```ts
|
73
|
+
* import { getUserPhoneNumber } from "thirdweb/wallets/embedded";
|
74
|
+
*
|
75
|
+
* const phoneNumber = await getUserPhoneNumber({ client });
|
76
|
+
* console.log(phoneNumber);
|
77
|
+
* ```
|
78
|
+
* @wallet
|
79
|
+
*/
|
80
|
+
async function getUserPhoneNumber(options) {
|
81
|
+
const user = await getAuthenticatedUser(options);
|
82
|
+
if (user && "phoneNumber" in user.authDetails) {
|
83
|
+
return user.authDetails.phoneNumber;
|
216
84
|
}
|
85
|
+
return undefined;
|
86
|
+
}
|
87
|
+
exports.getUserPhoneNumber = getUserPhoneNumber;
|
88
|
+
/**
|
89
|
+
* Pre-authenticates the user based on the provided authentication strategy.
|
90
|
+
* @param args - The arguments required for pre-authentication.
|
91
|
+
* @returns A promise that resolves to the pre-authentication result.
|
92
|
+
* @throws An error if the provided authentication strategy doesn't require pre-authentication.
|
93
|
+
* @example
|
94
|
+
* ```ts
|
95
|
+
* import { preAuthenticate } from "thirdweb/wallets/in-app";
|
96
|
+
*
|
97
|
+
* const result = await preAuthenticate({
|
98
|
+
* client,
|
99
|
+
* strategy: "email",
|
100
|
+
* email: "example@example.org",
|
101
|
+
* });
|
102
|
+
* ```
|
103
|
+
* @wallet
|
104
|
+
*/
|
105
|
+
async function preAuthenticate(args) {
|
106
|
+
const connector = await getInAppWalletConnector(args.client);
|
107
|
+
return connector.preAuthenticate(args);
|
108
|
+
}
|
109
|
+
exports.preAuthenticate = preAuthenticate;
|
110
|
+
/**
|
111
|
+
* Authenticates the user based on the provided authentication arguments.
|
112
|
+
* @param args - The authentication arguments.
|
113
|
+
* @returns A promise that resolves to the authentication result.
|
114
|
+
* @example
|
115
|
+
* ```ts
|
116
|
+
* import { authenticate } from "thirdweb/wallets/in-app";
|
117
|
+
*
|
118
|
+
* const result = await authenticate({
|
119
|
+
* client,
|
120
|
+
* strategy: "email",
|
121
|
+
* email: "example@example.org",
|
122
|
+
* verificationCode: "123456",
|
123
|
+
* });
|
124
|
+
* ```
|
125
|
+
* @wallet
|
126
|
+
*/
|
127
|
+
async function authenticate(args) {
|
128
|
+
const connector = await getInAppWalletConnector(args.client);
|
129
|
+
return connector.authenticate(args);
|
217
130
|
}
|
218
|
-
exports.
|
131
|
+
exports.authenticate = authenticate;
|
219
132
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/wallets/in-app/web/lib/auth/index.ts"],"names":[],"mappings":";;;
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/wallets/in-app/web/lib/auth/index.ts"],"names":[],"mappings":";;;AACA,kEAM8C;AAC9C,wEAAsF;AAEtF,sEAAsE;AACtE,iEAAiE;AAEjE;;GAEG;AACH,KAAK,UAAU,uBAAuB,CAAC,MAAsB;IAC3D,OAAO,IAAA,gDAA+B,EAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QAC9D,MAAM,EAAE,iBAAiB,EAAE,GAAG,2CAAa,qBAAqB,EAAC,CAAC;QAClE,OAAO,IAAI,iBAAiB,CAAC;YAC3B,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACI,KAAK,UAAU,oBAAoB,CACxC,OAAmC;IAEnC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAC3B,MAAM,SAAS,GAAG,MAAM,uBAAuB,CAAC,MAAM,CAAC,CAAC;IACxD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE,CAAC;IACvC,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;QACpB,KAAK,0BAAgB,CAAC,4BAA4B,CAAC,CAAC,CAAC;YACnD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAZD,oDAYC;AAED;;;;;;;;;;;;GAYG;AACI,KAAK,UAAU,YAAY,CAAC,OAAmC;IACpE,MAAM,IAAI,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACjD,IAAI,IAAI,IAAI,OAAO,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QACxC,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;IAChC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAND,oCAMC;AAED;;;;;;;;;;;;GAYG;AACI,KAAK,UAAU,kBAAkB,CAAC,OAAmC;IAC1E,MAAM,IAAI,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACjD,IAAI,IAAI,IAAI,aAAa,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QAC9C,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC;IACtC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAND,gDAMC;AAED;;;;;;;;;;;;;;;;GAgBG;AACI,KAAK,UAAU,eAAe,CAAC,IAAqB;IACzD,MAAM,SAAS,GAAG,MAAM,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7D,OAAO,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC;AAHD,0CAGC;AAED;;;;;;;;;;;;;;;;GAgBG;AACI,KAAK,UAAU,YAAY,CAChC,IAAkB;IAElB,MAAM,SAAS,GAAG,MAAM,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7D,OAAO,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC;AALD,oCAKC"}
|
@@ -2,10 +2,9 @@
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.InAppWebConnector = void 0;
|
4
4
|
const domains_js_1 = require("../../../../utils/domains.js");
|
5
|
-
const index_js_1 = require("../../core/authentication/index.js");
|
6
5
|
const type_js_1 = require("../../core/authentication/type.js");
|
7
6
|
const InAppWalletIframeCommunicator_js_1 = require("../utils/iFrameCommunication/InAppWalletIframeCommunicator.js");
|
8
|
-
const
|
7
|
+
const iframe_auth_js_1 = require("./auth/iframe-auth.js");
|
9
8
|
const passkeys_js_1 = require("./auth/passkeys.js");
|
10
9
|
const in_app_account_js_1 = require("./in-app-account.js");
|
11
10
|
/**
|
@@ -64,7 +63,7 @@ class InAppWebConnector {
|
|
64
63
|
client,
|
65
64
|
querier: this.querier,
|
66
65
|
});
|
67
|
-
this.auth = new
|
66
|
+
this.auth = new iframe_auth_js_1.Auth({
|
68
67
|
client,
|
69
68
|
querier: this.querier,
|
70
69
|
baseUrl,
|
@@ -154,7 +153,7 @@ class InAppWebConnector {
|
|
154
153
|
case "apple":
|
155
154
|
case "facebook":
|
156
155
|
case "google": {
|
157
|
-
const oauthProvider =
|
156
|
+
const oauthProvider = type_js_1.oauthStrategyToAuthProvider[strategy];
|
158
157
|
return this.auth.loginWithOauth({
|
159
158
|
oauthProvider,
|
160
159
|
closeOpenedWindow: args.closeOpenedWindow,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"web-connector.js","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/web/lib/web-connector.ts"],"names":[],"mappings":";;;AACA,6DAAkE;AAElE
|
1
|
+
{"version":3,"file":"web-connector.js","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/web/lib/web-connector.ts"],"names":[],"mappings":"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"}
|
@@ -5,7 +5,7 @@ const isSmartWallet_js_1 = require("../../react/web/utils/isSmartWallet.js");
|
|
5
5
|
const computedStore_js_1 = require("../../reactive/computedStore.js");
|
6
6
|
const effect_js_1 = require("../../reactive/effect.js");
|
7
7
|
const store_js_1 = require("../../reactive/store.js");
|
8
|
-
const
|
8
|
+
const smart_wallet_js_1 = require("../smart/smart-wallet.js");
|
9
9
|
const walletStorage_js_1 = require("../storage/walletStorage.js");
|
10
10
|
const CONNECTED_WALLET_IDS = "thirdweb:connected-wallet-ids";
|
11
11
|
const LAST_ACTIVE_EOA_ID = "thirdweb:active-wallet-id";
|
@@ -75,7 +75,7 @@ function createConnectionManager(storage) {
|
|
75
75
|
let activeWallet = personalWallet;
|
76
76
|
const isInAppSmartAccount = (0, isSmartWallet_js_1.hasSmartAccount)(wallet);
|
77
77
|
if (options?.accountAbstraction && !isInAppSmartAccount) {
|
78
|
-
activeWallet = (0,
|
78
|
+
activeWallet = (0, smart_wallet_js_1.smartWallet)(options.accountAbstraction);
|
79
79
|
await activeWallet.connect({
|
80
80
|
personalAccount: wallet.getAccount(),
|
81
81
|
client: options.client,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/wallets/manager/index.ts"],"names":[],"mappings":";;;AAEA,6EAAyE;AACzE,sEAAgE;AAChE,wDAAkD;AAClD,sDAAsD;
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/wallets/manager/index.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,174 @@
|
|
1
|
+
"use strict";
|
2
|
+
// TODO: figure out how to define the type without tuple args type and using function overloads
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
4
|
+
exports.walletConnect = exports.createWallet = void 0;
|
5
|
+
const track_js_1 = require("../../analytics/track.js");
|
6
|
+
const coinbase_wallet_js_1 = require("../coinbase/coinbase-wallet.js");
|
7
|
+
const coinbaseMobileSDK_js_1 = require("../coinbase/coinbaseMobileSDK.js");
|
8
|
+
const constants_js_1 = require("../constants.js");
|
9
|
+
const smart_wallet_js_1 = require("../smart/smart-wallet.js");
|
10
|
+
const wallet_emitter_js_1 = require("../wallet-emitter.js");
|
11
|
+
/**
|
12
|
+
* Creates a wallet based on the provided ID and arguments.
|
13
|
+
* @param args - The arguments for creating the wallet.
|
14
|
+
* @returns - The created wallet.
|
15
|
+
* @example
|
16
|
+
* ```ts
|
17
|
+
* import { createWallet } from "thirdweb/wallets";
|
18
|
+
*
|
19
|
+
* const metamaskWallet = createWallet("io.metamask");
|
20
|
+
*
|
21
|
+
* const account = await metamaskWallet.connect({
|
22
|
+
* client,
|
23
|
+
* });
|
24
|
+
* ```
|
25
|
+
* @wallet
|
26
|
+
*/
|
27
|
+
function createWallet(...args) {
|
28
|
+
const [id, creationOptions] = args;
|
29
|
+
switch (id) {
|
30
|
+
/**
|
31
|
+
* SMART WALLET
|
32
|
+
*/
|
33
|
+
case "smart": {
|
34
|
+
// same as web
|
35
|
+
return (0, smart_wallet_js_1.smartWallet)(creationOptions);
|
36
|
+
}
|
37
|
+
/**
|
38
|
+
* IN-APP WALLET
|
39
|
+
*/
|
40
|
+
case "embedded":
|
41
|
+
case "inApp": {
|
42
|
+
// TODO pass RN connector
|
43
|
+
throw new Error("TODO");
|
44
|
+
// return inAppWallet(
|
45
|
+
// creationOptions as CreateWalletArgs<"inApp">[1],
|
46
|
+
// ) as Wallet<ID>;
|
47
|
+
}
|
48
|
+
/**
|
49
|
+
* COINBASE WALLET VIA SDK
|
50
|
+
* -> if no injected coinbase found, we'll use the coinbase SDK
|
51
|
+
*/
|
52
|
+
case constants_js_1.COINBASE: {
|
53
|
+
const options = creationOptions;
|
54
|
+
return (0, coinbase_wallet_js_1.coinbaseWalletSDK)({
|
55
|
+
createOptions: options,
|
56
|
+
providerFactory: () => (0, coinbaseMobileSDK_js_1.getCoinbaseMobileProvider)(options),
|
57
|
+
});
|
58
|
+
}
|
59
|
+
/**
|
60
|
+
* WALLET CONNECT AND INJECTED WALLETS + walletConnect standalone
|
61
|
+
* TODO extract into a core + inject storage and link open callback
|
62
|
+
*/
|
63
|
+
default: {
|
64
|
+
const emitter = (0, wallet_emitter_js_1.createWalletEmitter)();
|
65
|
+
let account = undefined;
|
66
|
+
let chain = undefined;
|
67
|
+
const unsubscribeChain = emitter.subscribe("chainChanged", (newChain) => {
|
68
|
+
chain = newChain;
|
69
|
+
});
|
70
|
+
function reset() {
|
71
|
+
account = undefined;
|
72
|
+
chain = undefined;
|
73
|
+
}
|
74
|
+
let handleDisconnect = async () => { };
|
75
|
+
const unsubscribeDisconnect = emitter.subscribe("disconnect", () => {
|
76
|
+
reset();
|
77
|
+
unsubscribeChain();
|
78
|
+
unsubscribeDisconnect();
|
79
|
+
});
|
80
|
+
emitter.subscribe("accountChanged", (_account) => {
|
81
|
+
account = _account;
|
82
|
+
});
|
83
|
+
let handleSwitchChain = async () => {
|
84
|
+
throw new Error("Not implemented yet");
|
85
|
+
};
|
86
|
+
const wallet = {
|
87
|
+
id,
|
88
|
+
subscribe: emitter.subscribe,
|
89
|
+
getConfig: () => args[1],
|
90
|
+
getChain: () => chain,
|
91
|
+
getAccount: () => account,
|
92
|
+
autoConnect: async (options) => {
|
93
|
+
if (options && "client" in options) {
|
94
|
+
const { autoConnectWC } = await Promise.resolve().then(() => require("../wallet-connect/controller.js"));
|
95
|
+
const [connectedAccount, connectedChain, doDisconnect, doSwitchChain,] = await autoConnectWC(options, emitter, wallet.id);
|
96
|
+
// set the states
|
97
|
+
account = connectedAccount;
|
98
|
+
chain = connectedChain;
|
99
|
+
handleDisconnect = doDisconnect;
|
100
|
+
handleSwitchChain = doSwitchChain;
|
101
|
+
(0, track_js_1.trackConnect)({
|
102
|
+
client: options.client,
|
103
|
+
walletType: id,
|
104
|
+
walletAddress: account.address,
|
105
|
+
});
|
106
|
+
// return account
|
107
|
+
return account;
|
108
|
+
}
|
109
|
+
throw new Error("Failed to auto connect");
|
110
|
+
},
|
111
|
+
connect: async (options) => {
|
112
|
+
async function wcConnect(wcOptions) {
|
113
|
+
const { connectWC } = await Promise.resolve().then(() => require("../wallet-connect/controller.js"));
|
114
|
+
const [connectedAccount, connectedChain, doDisconnect, doSwitchChain,] = await connectWC(wcOptions, emitter, wallet.id);
|
115
|
+
// set the states
|
116
|
+
account = connectedAccount;
|
117
|
+
chain = connectedChain;
|
118
|
+
handleDisconnect = doDisconnect;
|
119
|
+
handleSwitchChain = doSwitchChain;
|
120
|
+
(0, track_js_1.trackConnect)({
|
121
|
+
client: wcOptions.client,
|
122
|
+
walletType: id,
|
123
|
+
walletAddress: account.address,
|
124
|
+
});
|
125
|
+
return account;
|
126
|
+
}
|
127
|
+
if (id === "walletConnect") {
|
128
|
+
const { client, chain: _chain, ...walletConnectOptions } = options;
|
129
|
+
return wcConnect({
|
130
|
+
client,
|
131
|
+
chain: _chain,
|
132
|
+
walletConnect: {
|
133
|
+
...walletConnectOptions,
|
134
|
+
},
|
135
|
+
});
|
136
|
+
}
|
137
|
+
if (options && "client" in options) {
|
138
|
+
return wcConnect(options);
|
139
|
+
}
|
140
|
+
throw new Error("Failed to connect");
|
141
|
+
},
|
142
|
+
// these get overridden in connect and autoConnect
|
143
|
+
disconnect: async () => {
|
144
|
+
reset();
|
145
|
+
await handleDisconnect();
|
146
|
+
},
|
147
|
+
switchChain: (c) => handleSwitchChain(c),
|
148
|
+
};
|
149
|
+
return wallet;
|
150
|
+
}
|
151
|
+
}
|
152
|
+
}
|
153
|
+
exports.createWallet = createWallet;
|
154
|
+
/**
|
155
|
+
* Creates a wallet that allows connecting to any wallet that supports the WalletConnect protocol.
|
156
|
+
* @returns The created smart wallet.
|
157
|
+
* @example
|
158
|
+
* ```ts
|
159
|
+
* import { walletConnect } from "thirdweb/wallets";
|
160
|
+
*
|
161
|
+
* const wallet = walletConnect();
|
162
|
+
*
|
163
|
+
* const account = await wallet.connect({
|
164
|
+
* client
|
165
|
+
* });
|
166
|
+
* ```
|
167
|
+
* @wallet
|
168
|
+
*/
|
169
|
+
function walletConnect() {
|
170
|
+
return createWallet("walletConnect");
|
171
|
+
}
|
172
|
+
exports.walletConnect = walletConnect;
|
173
|
+
// TODO in-app wallet
|
174
|
+
//# sourceMappingURL=create-wallet.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"create-wallet.js","sourceRoot":"","sources":["../../../../src/wallets/native/create-wallet.ts"],"names":[],"mappings":"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"}
|