thirdweb 5.57.3 → 5.58.0
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/extensions/erc1155.js +3 -2
- package/dist/cjs/exports/extensions/erc1155.js.map +1 -1
- package/dist/cjs/react/core/utils/walletIcon.js +5 -1
- package/dist/cjs/react/core/utils/walletIcon.js.map +1 -1
- package/dist/cjs/react/native/ui/connect/InAppWalletUI.js +1 -0
- package/dist/cjs/react/native/ui/connect/InAppWalletUI.js.map +1 -1
- package/dist/cjs/react/native/ui/icons/svgs.js +12 -1
- package/dist/cjs/react/native/ui/icons/svgs.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/Details.js +27 -2
- package/dist/cjs/react/web/ui/ConnectWallet/Details.js.map +1 -1
- package/dist/cjs/react/web/wallets/shared/ConnectWalletSocialOptions.js +42 -21
- package/dist/cjs/react/web/wallets/shared/ConnectWalletSocialOptions.js.map +1 -1
- package/dist/cjs/react/web/wallets/shared/oauthSignIn.js +2 -1
- package/dist/cjs/react/web/wallets/shared/oauthSignIn.js.map +1 -1
- package/dist/cjs/utils/fetch.js +10 -4
- package/dist/cjs/utils/fetch.js.map +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/wallets/in-app/core/authentication/types.js +2 -0
- package/dist/cjs/wallets/in-app/core/authentication/types.js.map +1 -1
- package/dist/cjs/wallets/in-app/core/wallet/in-app-core.js +2 -2
- package/dist/cjs/wallets/in-app/core/wallet/in-app-core.js.map +1 -1
- package/dist/cjs/wallets/in-app/native/native-connector.js +1 -0
- package/dist/cjs/wallets/in-app/native/native-connector.js.map +1 -1
- package/dist/cjs/wallets/in-app/web/in-app.js +1 -0
- package/dist/cjs/wallets/in-app/web/in-app.js.map +1 -1
- package/dist/cjs/wallets/in-app/web/lib/actions/generate-wallet.enclave.js +26 -0
- package/dist/cjs/wallets/in-app/web/lib/actions/generate-wallet.enclave.js.map +1 -0
- package/dist/cjs/wallets/in-app/web/lib/actions/get-enclave-user-status.js +31 -0
- package/dist/cjs/wallets/in-app/web/lib/actions/get-enclave-user-status.js.map +1 -0
- package/dist/cjs/wallets/in-app/web/lib/actions/sign-message.enclave.js +30 -0
- package/dist/cjs/wallets/in-app/web/lib/actions/sign-message.enclave.js.map +1 -0
- package/dist/cjs/wallets/in-app/web/lib/actions/sign-transaction.enclave.js +28 -0
- package/dist/cjs/wallets/in-app/web/lib/actions/sign-transaction.enclave.js.map +1 -0
- package/dist/cjs/wallets/in-app/web/lib/actions/sign-typed-data.enclave.js +27 -0
- package/dist/cjs/wallets/in-app/web/lib/actions/sign-typed-data.enclave.js.map +1 -0
- package/dist/cjs/wallets/in-app/web/lib/auth/iframe-auth.js +42 -5
- package/dist/cjs/wallets/in-app/web/lib/auth/iframe-auth.js.map +1 -1
- package/dist/cjs/wallets/in-app/web/lib/auth/index.js +2 -2
- package/dist/cjs/wallets/in-app/web/lib/auth/index.js.map +1 -1
- package/dist/cjs/wallets/in-app/web/lib/enclave-wallet.js +195 -0
- package/dist/cjs/wallets/in-app/web/lib/enclave-wallet.js.map +1 -0
- package/dist/cjs/wallets/in-app/web/lib/get-auth-token.js +14 -0
- package/dist/cjs/wallets/in-app/web/lib/get-auth-token.js.map +1 -0
- package/dist/cjs/wallets/in-app/web/lib/{in-app-account.js → iframe-wallet.js} +8 -22
- package/dist/cjs/wallets/in-app/web/lib/iframe-wallet.js.map +1 -0
- package/dist/cjs/wallets/in-app/web/lib/web-connector.js +111 -37
- package/dist/cjs/wallets/in-app/web/lib/web-connector.js.map +1 -1
- package/dist/cjs/wallets/in-app/web/lib/web-wallet.js +3 -0
- package/dist/cjs/wallets/in-app/web/lib/web-wallet.js.map +1 -0
- package/dist/cjs/wallets/types.js +1 -0
- package/dist/cjs/wallets/types.js.map +1 -1
- package/dist/esm/exports/extensions/erc1155.js +1 -1
- package/dist/esm/exports/extensions/erc1155.js.map +1 -1
- package/dist/esm/react/core/utils/walletIcon.js +4 -0
- package/dist/esm/react/core/utils/walletIcon.js.map +1 -1
- package/dist/esm/react/native/ui/connect/InAppWalletUI.js +2 -1
- package/dist/esm/react/native/ui/connect/InAppWalletUI.js.map +1 -1
- package/dist/esm/react/native/ui/icons/svgs.js +11 -0
- package/dist/esm/react/native/ui/icons/svgs.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/Details.js +27 -2
- package/dist/esm/react/web/ui/ConnectWallet/Details.js.map +1 -1
- package/dist/esm/react/web/wallets/shared/ConnectWalletSocialOptions.js +42 -21
- package/dist/esm/react/web/wallets/shared/ConnectWalletSocialOptions.js.map +1 -1
- package/dist/esm/react/web/wallets/shared/oauthSignIn.js +2 -1
- package/dist/esm/react/web/wallets/shared/oauthSignIn.js.map +1 -1
- package/dist/esm/utils/fetch.js +10 -4
- package/dist/esm/utils/fetch.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/wallets/in-app/core/authentication/types.js +2 -0
- package/dist/esm/wallets/in-app/core/authentication/types.js.map +1 -1
- package/dist/esm/wallets/in-app/core/wallet/in-app-core.js +2 -2
- package/dist/esm/wallets/in-app/core/wallet/in-app-core.js.map +1 -1
- package/dist/esm/wallets/in-app/native/native-connector.js +1 -0
- package/dist/esm/wallets/in-app/native/native-connector.js.map +1 -1
- package/dist/esm/wallets/in-app/web/in-app.js +1 -0
- package/dist/esm/wallets/in-app/web/in-app.js.map +1 -1
- package/dist/esm/wallets/in-app/web/lib/actions/generate-wallet.enclave.js +23 -0
- package/dist/esm/wallets/in-app/web/lib/actions/generate-wallet.enclave.js.map +1 -0
- package/dist/esm/wallets/in-app/web/lib/actions/get-enclave-user-status.js +28 -0
- package/dist/esm/wallets/in-app/web/lib/actions/get-enclave-user-status.js.map +1 -0
- package/dist/esm/wallets/in-app/web/lib/actions/sign-message.enclave.js +27 -0
- package/dist/esm/wallets/in-app/web/lib/actions/sign-message.enclave.js.map +1 -0
- package/dist/esm/wallets/in-app/web/lib/actions/sign-transaction.enclave.js +25 -0
- package/dist/esm/wallets/in-app/web/lib/actions/sign-transaction.enclave.js.map +1 -0
- package/dist/esm/wallets/in-app/web/lib/actions/sign-typed-data.enclave.js +24 -0
- package/dist/esm/wallets/in-app/web/lib/actions/sign-typed-data.enclave.js.map +1 -0
- package/dist/esm/wallets/in-app/web/lib/auth/iframe-auth.js +42 -5
- package/dist/esm/wallets/in-app/web/lib/auth/iframe-auth.js.map +1 -1
- package/dist/esm/wallets/in-app/web/lib/auth/index.js +2 -2
- package/dist/esm/wallets/in-app/web/lib/auth/index.js.map +1 -1
- package/dist/esm/wallets/in-app/web/lib/enclave-wallet.js +191 -0
- package/dist/esm/wallets/in-app/web/lib/enclave-wallet.js.map +1 -0
- package/dist/esm/wallets/in-app/web/lib/get-auth-token.js +11 -0
- package/dist/esm/wallets/in-app/web/lib/get-auth-token.js.map +1 -0
- package/dist/esm/wallets/in-app/web/lib/{in-app-account.js → iframe-wallet.js} +8 -22
- package/dist/esm/wallets/in-app/web/lib/iframe-wallet.js.map +1 -0
- package/dist/esm/wallets/in-app/web/lib/web-connector.js +111 -37
- package/dist/esm/wallets/in-app/web/lib/web-connector.js.map +1 -1
- package/dist/esm/wallets/in-app/web/lib/web-wallet.js +2 -0
- package/dist/esm/wallets/in-app/web/lib/web-wallet.js.map +1 -0
- package/dist/esm/wallets/types.js +1 -0
- package/dist/esm/wallets/types.js.map +1 -1
- package/dist/types/exports/extensions/erc1155.d.ts +1 -1
- package/dist/types/exports/extensions/erc1155.d.ts.map +1 -1
- package/dist/types/react/core/utils/walletIcon.d.ts +3 -1
- package/dist/types/react/core/utils/walletIcon.d.ts.map +1 -1
- package/dist/types/react/native/ui/connect/InAppWalletUI.d.ts.map +1 -1
- package/dist/types/react/native/ui/icons/svgs.d.ts +1 -0
- package/dist/types/react/native/ui/icons/svgs.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/Details.d.ts +1 -1
- package/dist/types/react/web/ui/ConnectWallet/Details.d.ts.map +1 -1
- package/dist/types/react/web/wallets/shared/ConnectWalletSocialOptions.d.ts.map +1 -1
- package/dist/types/react/web/wallets/shared/oauthSignIn.d.ts.map +1 -1
- package/dist/types/utils/fetch.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/dist/types/wallets/in-app/core/authentication/types.d.ts +6 -2
- package/dist/types/wallets/in-app/core/authentication/types.d.ts.map +1 -1
- package/dist/types/wallets/in-app/core/wallet/in-app-core.d.ts.map +1 -1
- 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 +1 -0
- package/dist/types/wallets/in-app/web/in-app.d.ts.map +1 -1
- package/dist/types/wallets/in-app/web/lib/actions/generate-wallet.enclave.d.ts +15 -0
- package/dist/types/wallets/in-app/web/lib/actions/generate-wallet.enclave.d.ts.map +1 -0
- package/dist/types/wallets/in-app/web/lib/actions/get-enclave-user-status.d.ts +14 -0
- package/dist/types/wallets/in-app/web/lib/actions/get-enclave-user-status.d.ts.map +1 -0
- package/dist/types/wallets/in-app/web/lib/actions/sign-message.enclave.d.ts +17 -0
- package/dist/types/wallets/in-app/web/lib/actions/sign-message.enclave.d.ts.map +1 -0
- package/dist/types/wallets/in-app/web/lib/actions/sign-transaction.enclave.d.ts +9 -0
- package/dist/types/wallets/in-app/web/lib/actions/sign-transaction.enclave.d.ts.map +1 -0
- package/dist/types/wallets/in-app/web/lib/actions/sign-typed-data.enclave.d.ts +16 -0
- package/dist/types/wallets/in-app/web/lib/actions/sign-typed-data.enclave.d.ts.map +1 -0
- package/dist/types/wallets/in-app/web/lib/auth/iframe-auth.d.ts +5 -1
- package/dist/types/wallets/in-app/web/lib/auth/iframe-auth.d.ts.map +1 -1
- package/dist/types/wallets/in-app/web/lib/enclave-wallet.d.ts +61 -0
- package/dist/types/wallets/in-app/web/lib/enclave-wallet.d.ts.map +1 -0
- package/dist/types/wallets/in-app/web/lib/get-auth-token.d.ts +4 -0
- package/dist/types/wallets/in-app/web/lib/get-auth-token.d.ts.map +1 -0
- package/dist/types/wallets/in-app/web/lib/{in-app-account.d.ts → iframe-wallet.d.ts} +5 -8
- package/dist/types/wallets/in-app/web/lib/iframe-wallet.d.ts.map +1 -0
- package/dist/types/wallets/in-app/web/lib/web-connector.d.ts +4 -2
- package/dist/types/wallets/in-app/web/lib/web-connector.d.ts.map +1 -1
- package/dist/types/wallets/in-app/web/lib/web-wallet.d.ts +15 -0
- package/dist/types/wallets/in-app/web/lib/web-wallet.d.ts.map +1 -0
- package/dist/types/wallets/types.d.ts +2 -2
- package/dist/types/wallets/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/exports/extensions/erc1155.ts +1 -0
- package/src/extensions/prebuilts/deploy-published.test.ts +34 -1
- package/src/react/core/utils/walletIcon.ts +5 -0
- package/src/react/native/ui/connect/InAppWalletUI.tsx +2 -0
- package/src/react/native/ui/icons/svgs.ts +12 -0
- package/src/react/web/ui/ConnectWallet/Details.tsx +44 -4
- package/src/react/web/wallets/shared/ConnectWalletSocialOptions.tsx +82 -48
- package/src/react/web/wallets/shared/oauthSignIn.ts +2 -1
- package/src/utils/fetch.ts +11 -4
- package/src/version.ts +1 -1
- package/src/wallets/in-app/core/authentication/types.ts +6 -1
- package/src/wallets/in-app/core/wallet/in-app-core.ts +2 -5
- package/src/wallets/in-app/native/native-connector.ts +1 -0
- package/src/wallets/in-app/web/in-app.ts +1 -0
- package/src/wallets/in-app/web/lib/actions/generate-wallet.enclave.ts +44 -0
- package/src/wallets/in-app/web/lib/actions/get-enclave-user-status.ts +44 -0
- package/src/wallets/in-app/web/lib/actions/sign-message.enclave.ts +52 -0
- package/src/wallets/in-app/web/lib/actions/sign-transaction.enclave.ts +48 -0
- package/src/wallets/in-app/web/lib/actions/sign-typed-data.enclave.ts +51 -0
- package/src/wallets/in-app/web/lib/auth/iframe-auth.ts +45 -6
- package/src/wallets/in-app/web/lib/auth/index.ts +2 -2
- package/src/wallets/in-app/web/lib/enclave-wallet.ts +245 -0
- package/src/wallets/in-app/web/lib/get-auth-token.ts +17 -0
- package/src/wallets/in-app/web/lib/{in-app-account.ts → iframe-wallet.ts} +14 -36
- package/src/wallets/in-app/web/lib/web-connector.ts +125 -39
- package/src/wallets/in-app/web/lib/web-wallet.ts +23 -0
- package/src/wallets/types.ts +1 -0
- package/dist/cjs/wallets/in-app/web/lib/in-app-account.js.map +0 -1
- package/dist/esm/wallets/in-app/web/lib/in-app-account.js.map +0 -1
- package/dist/types/wallets/in-app/web/lib/in-app-account.d.ts.map +0 -1
@@ -0,0 +1,191 @@
|
|
1
|
+
import { bytesToHex } from "viem";
|
2
|
+
import { getCachedChain } from "../../../../chains/utils.js";
|
3
|
+
import { eth_sendRawTransaction } from "../../../../rpc/actions/eth_sendRawTransaction.js";
|
4
|
+
import { getRpcClient } from "../../../../rpc/rpc.js";
|
5
|
+
import { getAddress } from "../../../../utils/address.js";
|
6
|
+
import { toHex } from "../../../../utils/encoding/hex.js";
|
7
|
+
import { parseTypedData } from "../../../../utils/signatures/helpers/parseTypedData.js";
|
8
|
+
import { webLocalStorage } from "../../../../utils/storage/webStorage.js";
|
9
|
+
import { ClientScopedStorage } from "../../core/authentication/client-scoped-storage.js";
|
10
|
+
import { RecoveryShareManagement, UserWalletStatus, } from "../../core/authentication/types.js";
|
11
|
+
import { getUserStatus } from "./actions/get-enclave-user-status.js";
|
12
|
+
import { signMessage as signEnclaveMessage } from "./actions/sign-message.enclave.js";
|
13
|
+
import { signTransaction as signEnclaveTransaction } from "./actions/sign-transaction.enclave.js";
|
14
|
+
import { signTypedData as signEnclaveTypedData } from "./actions/sign-typed-data.enclave.js";
|
15
|
+
export class EnclaveWallet {
|
16
|
+
constructor({ client, ecosystem, address, }) {
|
17
|
+
Object.defineProperty(this, "client", {
|
18
|
+
enumerable: true,
|
19
|
+
configurable: true,
|
20
|
+
writable: true,
|
21
|
+
value: void 0
|
22
|
+
});
|
23
|
+
Object.defineProperty(this, "ecosystem", {
|
24
|
+
enumerable: true,
|
25
|
+
configurable: true,
|
26
|
+
writable: true,
|
27
|
+
value: void 0
|
28
|
+
});
|
29
|
+
Object.defineProperty(this, "address", {
|
30
|
+
enumerable: true,
|
31
|
+
configurable: true,
|
32
|
+
writable: true,
|
33
|
+
value: void 0
|
34
|
+
});
|
35
|
+
Object.defineProperty(this, "localStorage", {
|
36
|
+
enumerable: true,
|
37
|
+
configurable: true,
|
38
|
+
writable: true,
|
39
|
+
value: void 0
|
40
|
+
});
|
41
|
+
this.client = client;
|
42
|
+
this.ecosystem = ecosystem;
|
43
|
+
this.address = address;
|
44
|
+
this.localStorage = new ClientScopedStorage({
|
45
|
+
storage: webLocalStorage,
|
46
|
+
clientId: client.clientId,
|
47
|
+
ecosystemId: ecosystem?.id,
|
48
|
+
});
|
49
|
+
}
|
50
|
+
/**
|
51
|
+
* Store the auth token for use
|
52
|
+
* @returns `{walletAddress: string }` The user's wallet details
|
53
|
+
* @internal
|
54
|
+
*/
|
55
|
+
async postWalletSetUp({ walletAddress, authToken, }) {
|
56
|
+
await this.localStorage.saveAuthCookie(authToken);
|
57
|
+
return { walletAddress };
|
58
|
+
}
|
59
|
+
/**
|
60
|
+
* Gets the current user's details
|
61
|
+
* @internal
|
62
|
+
*/
|
63
|
+
async getUserWalletStatus() {
|
64
|
+
const token = await this.localStorage.getAuthCookie();
|
65
|
+
if (!token) {
|
66
|
+
return { status: UserWalletStatus.LOGGED_OUT };
|
67
|
+
}
|
68
|
+
const userStatus = await getUserStatus({
|
69
|
+
authToken: token,
|
70
|
+
client: this.client,
|
71
|
+
ecosystem: this.ecosystem,
|
72
|
+
});
|
73
|
+
if (!userStatus) {
|
74
|
+
return { status: UserWalletStatus.LOGGED_OUT };
|
75
|
+
}
|
76
|
+
const wallet = userStatus.wallets[0];
|
77
|
+
const authDetails = {
|
78
|
+
email: userStatus.linkedAccounts.find((account) => account.details.email !== undefined)?.details.email,
|
79
|
+
phoneNumber: userStatus.linkedAccounts.find((account) => account.details.phone !== undefined)?.details.phone,
|
80
|
+
userWalletId: userStatus.id || "",
|
81
|
+
recoveryShareManagement: RecoveryShareManagement.ENCLAVE,
|
82
|
+
};
|
83
|
+
if (!wallet) {
|
84
|
+
return {
|
85
|
+
status: UserWalletStatus.LOGGED_IN_WALLET_UNINITIALIZED,
|
86
|
+
authDetails,
|
87
|
+
};
|
88
|
+
}
|
89
|
+
return {
|
90
|
+
status: UserWalletStatus.LOGGED_IN_WALLET_INITIALIZED,
|
91
|
+
walletAddress: wallet.address,
|
92
|
+
authDetails,
|
93
|
+
account: await this.getAccount(),
|
94
|
+
};
|
95
|
+
}
|
96
|
+
/**
|
97
|
+
* Returns an account to perform wallet operations
|
98
|
+
* @internal
|
99
|
+
*/
|
100
|
+
async getAccount() {
|
101
|
+
const client = this.client;
|
102
|
+
const ecosystem = this.ecosystem;
|
103
|
+
const _signTransaction = async (tx) => {
|
104
|
+
const rpcRequest = getRpcClient({
|
105
|
+
client,
|
106
|
+
chain: getCachedChain(tx.chainId),
|
107
|
+
});
|
108
|
+
const transaction = {
|
109
|
+
to: tx.to ?? undefined,
|
110
|
+
data: tx.data ? toHex(tx.data) : undefined,
|
111
|
+
value: tx.value ? toHex(tx.value) : undefined,
|
112
|
+
gas: tx.gas ? toHex(tx.gas + tx.gas / BigInt(10)) : undefined, // Add a 10% buffer to gas
|
113
|
+
nonce: tx.nonce
|
114
|
+
? toHex(tx.nonce)
|
115
|
+
: toHex(await import("../../../../rpc/actions/eth_getTransactionCount.js").then(({ eth_getTransactionCount }) => eth_getTransactionCount(rpcRequest, {
|
116
|
+
address: this.address,
|
117
|
+
blockTag: "pending",
|
118
|
+
}))),
|
119
|
+
chainId: toHex(tx.chainId),
|
120
|
+
};
|
121
|
+
if (tx.maxFeePerGas) {
|
122
|
+
transaction.maxFeePerGas = toHex(tx.maxFeePerGas);
|
123
|
+
transaction.maxPriorityFeePerGas = tx.maxPriorityFeePerGas
|
124
|
+
? toHex(tx.maxPriorityFeePerGas)
|
125
|
+
: undefined;
|
126
|
+
transaction.type = 2;
|
127
|
+
}
|
128
|
+
else {
|
129
|
+
transaction.gasPrice = tx.gasPrice ? toHex(tx.gasPrice) : undefined;
|
130
|
+
transaction.type = 0;
|
131
|
+
}
|
132
|
+
return signEnclaveTransaction({
|
133
|
+
client,
|
134
|
+
ecosystem,
|
135
|
+
payload: transaction,
|
136
|
+
});
|
137
|
+
};
|
138
|
+
return {
|
139
|
+
address: getAddress(this.address),
|
140
|
+
async signTransaction(tx) {
|
141
|
+
if (!tx.chainId) {
|
142
|
+
throw new Error("chainId required in tx to sign");
|
143
|
+
}
|
144
|
+
return _signTransaction({
|
145
|
+
chainId: tx.chainId,
|
146
|
+
...tx,
|
147
|
+
});
|
148
|
+
},
|
149
|
+
async sendTransaction(tx) {
|
150
|
+
const rpcRequest = getRpcClient({
|
151
|
+
client,
|
152
|
+
chain: getCachedChain(tx.chainId),
|
153
|
+
});
|
154
|
+
const signedTx = await _signTransaction(tx);
|
155
|
+
const transactionHash = await eth_sendRawTransaction(rpcRequest, signedTx);
|
156
|
+
return {
|
157
|
+
transactionHash,
|
158
|
+
};
|
159
|
+
},
|
160
|
+
async signMessage({ message }) {
|
161
|
+
const messagePayload = (() => {
|
162
|
+
if (typeof message === "string") {
|
163
|
+
return { message, isRaw: false };
|
164
|
+
}
|
165
|
+
return {
|
166
|
+
message: typeof message.raw === "string"
|
167
|
+
? message.raw
|
168
|
+
: bytesToHex(message.raw),
|
169
|
+
isRaw: true,
|
170
|
+
};
|
171
|
+
})();
|
172
|
+
const { signature } = await signEnclaveMessage({
|
173
|
+
client,
|
174
|
+
ecosystem,
|
175
|
+
payload: messagePayload,
|
176
|
+
});
|
177
|
+
return signature;
|
178
|
+
},
|
179
|
+
async signTypedData(_typedData) {
|
180
|
+
const parsedTypedData = parseTypedData(_typedData);
|
181
|
+
const { signature } = await signEnclaveTypedData({
|
182
|
+
client,
|
183
|
+
ecosystem,
|
184
|
+
payload: parsedTypedData,
|
185
|
+
});
|
186
|
+
return signature;
|
187
|
+
},
|
188
|
+
};
|
189
|
+
}
|
190
|
+
}
|
191
|
+
//# sourceMappingURL=enclave-wallet.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"enclave-wallet.js","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/web/lib/enclave-wallet.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,11 @@
|
|
1
|
+
import { webLocalStorage } from "../../../../utils/storage/webStorage.js";
|
2
|
+
import { ClientScopedStorage } from "../../core/authentication/client-scoped-storage.js";
|
3
|
+
export async function getAuthToken(client, ecosystem) {
|
4
|
+
const localStorage = new ClientScopedStorage({
|
5
|
+
storage: webLocalStorage,
|
6
|
+
clientId: client.clientId,
|
7
|
+
ecosystemId: ecosystem?.id,
|
8
|
+
});
|
9
|
+
return localStorage.getAuthCookie();
|
10
|
+
}
|
11
|
+
//# sourceMappingURL=get-auth-token.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"get-auth-token.js","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/web/lib/get-auth-token.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,oDAAoD,CAAC;AAGzF,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAsB,EACtB,SAAqB;IAErB,MAAM,YAAY,GAAG,IAAI,mBAAmB,CAAC;QAC3C,OAAO,EAAE,eAAe;QACxB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,WAAW,EAAE,SAAS,EAAE,EAAE;KAC3B,CAAC,CAAC;IAEH,OAAO,YAAY,CAAC,aAAa,EAAE,CAAC;AACtC,CAAC"}
|
@@ -6,7 +6,6 @@ import { getThirdwebDomains } from "../../../../utils/domains.js";
|
|
6
6
|
import { hexToString } from "../../../../utils/encoding/hex.js";
|
7
7
|
import { parseTypedData } from "../../../../utils/signatures/helpers/parseTypedData.js";
|
8
8
|
import { webLocalStorage } from "../../../../utils/storage/webStorage.js";
|
9
|
-
import { getEcosystemPartnerPermissions } from "../../../ecosystem/get-ecosystem-partner-permissions.js";
|
10
9
|
import { ClientScopedStorage } from "../../core/authentication/client-scoped-storage.js";
|
11
10
|
import { UserWalletStatus, } from "../../core/authentication/types.js";
|
12
11
|
/**
|
@@ -56,11 +55,14 @@ export class IFrameWallet {
|
|
56
55
|
* @returns `{walletAddress : string }` The user's wallet details
|
57
56
|
* @internal
|
58
57
|
*/
|
59
|
-
async postWalletSetUp(
|
60
|
-
if (
|
61
|
-
|
58
|
+
async postWalletSetUp(props) {
|
59
|
+
if ("isIframeStorageEnabled" in props) {
|
60
|
+
if (!props.isIframeStorageEnabled) {
|
61
|
+
await this.localStorage.saveDeviceShare(props.deviceShareStored, props.walletUserId);
|
62
|
+
}
|
63
|
+
return { walletAddress: props.walletAddress };
|
62
64
|
}
|
63
|
-
|
65
|
+
throw new Error("Invalid postWalletSetUp props");
|
64
66
|
}
|
65
67
|
/**
|
66
68
|
* Gets the various status states of the user
|
@@ -134,10 +136,6 @@ export class IFrameWallet {
|
|
134
136
|
.walletManagerQuerier;
|
135
137
|
const client = this.client;
|
136
138
|
const partnerId = this.ecosystem?.partnerId;
|
137
|
-
const isEcosystem = !!this.ecosystem;
|
138
|
-
const permissions = this.ecosystem?.partnerId
|
139
|
-
? await getEcosystemPartnerPermissions(this.ecosystem.id, this.ecosystem?.partnerId)
|
140
|
-
: undefined;
|
141
139
|
const { address } = await querier.call({
|
142
140
|
procedureName: "getAddress",
|
143
141
|
params: undefined,
|
@@ -173,10 +171,6 @@ export class IFrameWallet {
|
|
173
171
|
partnerId,
|
174
172
|
rpcEndpoint: `https://${tx.chainId}.${RPC_URL}`, // TODO (ew) shouldnt be needed
|
175
173
|
},
|
176
|
-
// Can hide the iframe if the partner has full control (no user approvals)
|
177
|
-
showIframe: permissions?.permissions.includes("FULL_CONTROL_V1")
|
178
|
-
? false
|
179
|
-
: isEcosystem,
|
180
174
|
});
|
181
175
|
return signedTransaction;
|
182
176
|
};
|
@@ -221,10 +215,6 @@ export class IFrameWallet {
|
|
221
215
|
partnerId,
|
222
216
|
chainId: 1, // TODO check if we need this
|
223
217
|
},
|
224
|
-
// Can hide the iframe if the partner has full control (no user approvals)
|
225
|
-
showIframe: permissions?.permissions.includes("FULL_CONTROL_V1")
|
226
|
-
? false
|
227
|
-
: isEcosystem,
|
228
218
|
});
|
229
219
|
return signedMessage;
|
230
220
|
},
|
@@ -260,14 +250,10 @@ export class IFrameWallet {
|
|
260
250
|
partnerId,
|
261
251
|
rpcEndpoint: `https://${chainId}.${RPC_URL}`, // TODO (ew) shouldnt be needed
|
262
252
|
},
|
263
|
-
// Can hide the iframe if the partner has full control (no user approvals)
|
264
|
-
showIframe: permissions?.permissions.includes("FULL_CONTROL_V1")
|
265
|
-
? false
|
266
|
-
: isEcosystem,
|
267
253
|
});
|
268
254
|
return signedTypedData;
|
269
255
|
},
|
270
256
|
};
|
271
257
|
}
|
272
258
|
}
|
273
|
-
//# sourceMappingURL=
|
259
|
+
//# sourceMappingURL=iframe-wallet.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"iframe-wallet.js","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/web/lib/iframe-wallet.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,mDAAmD,CAAC;AAC3F,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAY,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,wDAAwD,CAAC;AACxF,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAM1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,oDAAoD,CAAC;AACzF,OAAO,EAGL,gBAAgB,GAEjB,MAAM,oCAAoC,CAAC;AAiD5C;;GAEG;AACH,MAAM,OAAO,YAAY;IAQvB;;;OAGG;IACH,YAAY,EACV,MAAM,EACN,SAAS,EACT,OAAO,GAKR;QAnBM;;;;;WAAuB;QACvB;;;;;WAAsB;QACnB;;;;;WAER;QACQ;;;;;WAAkC;QAe1C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC;QAEpC,IAAI,CAAC,YAAY,GAAG,IAAI,mBAAmB,CAAC;YAC1C,OAAO,EAAE,eAAe;YACxB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,WAAW,EAAE,SAAS,EAAE,EAAE;SAC3B,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,eAAe,CACnB,KAAsB;QAEtB,IAAI,wBAAwB,IAAI,KAAK,EAAE,CAAC;YACtC,IAAI,CAAC,KAAK,CAAC,sBAAsB,EAAE,CAAC;gBAClC,MAAM,IAAI,CAAC,YAAY,CAAC,eAAe,CACrC,KAAK,CAAC,iBAAiB,EACvB,KAAK,CAAC,YAAY,CACnB,CAAC;YACJ,CAAC;YACD,OAAO,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC;QAChD,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCG;IACH,KAAK,CAAC,mBAAmB;QACvB,MAAM,UAAU,GACd,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAmC;YACrE,aAAa,EAAE,eAAe;YAC9B,MAAM,EAAE,SAAS;SAClB,CAAC,CAAC;QACL,IAAI,UAAU,CAAC,MAAM,KAAK,gBAAgB,CAAC,4BAA4B,EAAE,CAAC;YACxE,OAAO;gBACL,MAAM,EAAE,gBAAgB,CAAC,4BAA4B;gBACrD,GAAG,UAAU,CAAC,IAAI;gBAClB,OAAO,EAAE,MAAM,IAAI,CAAC,UAAU,EAAE;aACjC,CAAC;QACJ,CAAC;QACD,IAAI,UAAU,CAAC,MAAM,KAAK,gBAAgB,CAAC,oBAAoB,EAAE,CAAC;YAChE,OAAO;gBACL,MAAM,EAAE,gBAAgB,CAAC,8BAA8B;gBACvD,GAAG,UAAU,CAAC,IAAI;aACnB,CAAC;QACJ,CAAC;QACD,IAAI,UAAU,CAAC,MAAM,KAAK,gBAAgB,CAAC,8BAA8B,EAAE,CAAC;YAC1E,OAAO;gBACL,MAAM,EAAE,gBAAgB,CAAC,8BAA8B;gBACvD,GAAG,UAAU,CAAC,IAAI;aACnB,CAAC;QACJ,CAAC;QACD,aAAa;QACb,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC;IACvC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,UAAU;QACd,MAAM,OAAO,GAAG,IAAI;aACjB,oBAAsF,CAAC;QAC1F,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC;QAE5C,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAuB;YAC3D,aAAa,EAAE,YAAY;YAC3B,MAAM,EAAE,SAAS;SAClB,CAAC,CAAC;QACH,MAAM,gBAAgB,GAAG,KAAK,EAAE,EAAyB,EAAE,EAAE;YAC3D,uEAAuE;YACvE,MAAM,WAAW,GAAwB;gBACvC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,SAAS;gBACtB,IAAI,EAAE,EAAE,CAAC,IAAI;gBACb,KAAK,EAAE,EAAE,CAAC,KAAK;gBACf,QAAQ,EAAE,EAAE,CAAC,GAAG;gBAChB,KAAK,EAAE,EAAE,CAAC,KAAK;gBACf,OAAO,EAAE,EAAE,CAAC,OAAO;aACpB,CAAC;YAEF,IAAI,EAAE,CAAC,YAAY,EAAE,CAAC;gBACpB,yEAAyE;gBACzE,iDAAiD;gBACjD,WAAW,CAAC,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC;gBACvC,WAAW,CAAC,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC;gBAC3C,WAAW,CAAC,oBAAoB,GAAG,EAAE,CAAC,oBAAoB,CAAC;gBAC3D,WAAW,CAAC,IAAI,GAAG,CAAC,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC;gBACnC,WAAW,CAAC,IAAI,GAAG,CAAC,CAAC;YACvB,CAAC;YACD,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC,GAAG,CAAC;YACzC,MAAM,EAAE,iBAAiB,EAAE,GACzB,MAAM,OAAO,CAAC,IAAI,CAA4B;gBAC5C,aAAa,EAAE,iBAAiB;gBAChC,MAAM,EAAE;oBACN,WAAW;oBACX,OAAO,EAAE,EAAE,CAAC,OAAO;oBACnB,SAAS;oBACT,WAAW,EAAE,WAAW,EAAE,CAAC,OAAO,IAAI,OAAO,EAAE,EAAE,+BAA+B;iBACjF;aACF,CAAC,CAAC;YACL,OAAO,iBAAwB,CAAC;QAClC,CAAC,CAAC;QACF,OAAO;YACL,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC;YAC5B,KAAK,CAAC,eAAe,CAAC,EAAE;gBACtB,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;oBAChB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;gBACpD,CAAC;gBACD,OAAO,gBAAgB,CAAC;oBACtB,GAAG,EAAE;oBACL,OAAO,EAAE,EAAE,CAAC,OAAO;iBACpB,CAAC,CAAC;YACL,CAAC;YACD,KAAK,CAAC,eAAe,CAAC,EAAE;gBACtB,MAAM,UAAU,GAAG,YAAY,CAAC;oBAC9B,MAAM;oBACN,KAAK,EAAE,cAAc,CAAC,EAAE,CAAC,OAAO,CAAC;iBAClC,CAAC,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,EAAE,CAAC,CAAC;gBAC5C,MAAM,eAAe,GAAG,MAAM,sBAAsB,CAClD,UAAU,EACV,QAAQ,CACT,CAAC;gBACF,OAAO;oBACL,eAAe;iBAChB,CAAC;YACJ,CAAC;YACD,KAAK,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE;gBAC3B,kHAAkH;gBAClH,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE;oBAC3B,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;wBAChC,OAAO,OAAO,CAAC;oBACjB,CAAC;oBACD,IAAI,OAAO,CAAC,GAAG,YAAY,UAAU,EAAE,CAAC;wBACtC,OAAO,OAAO,CAAC,GAAG,CAAC;oBACrB,CAAC;oBACD,OAAO,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAClC,CAAC,CAAC,EAAE,CAAC;gBAEL,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAwB;oBAClE,aAAa,EAAE,aAAa;oBAC5B,MAAM,EAAE;wBACN,uEAAuE;wBACvE,OAAO,EAAE,cAAqB,EAAE,wBAAwB;wBACxD,SAAS;wBACT,OAAO,EAAE,CAAC,EAAE,6BAA6B;qBAC1C;iBACF,CAAC,CAAC;gBACH,OAAO,aAAoB,CAAC;YAC9B,CAAC;YACD,KAAK,CAAC,aAAa,CAAC,UAAU;gBAC5B,MAAM,eAAe,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;gBACnD,+EAA+E;gBAC/E,6DAA6D;gBAC7D,IAAI,eAAe,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC;oBACxC,eAAe,CAAC,KAAK,CAAC,YAAY,GAAG,SAAS,CAAC;gBACjD,CAAC;gBACD,MAAM,MAAM,GAAG,eAAe,CAAC,MAAuC,CAAC;gBACvE,MAAM,OAAO,GAAG,MAAM,EAAE,OAAO,CAAC;gBAChC,MAAM,iBAAiB,GAAG,MAAM,EAAE,iBAAiB;oBACjD,CAAC,CAAC,EAAE,iBAAiB,EAAE,MAAM,EAAE,iBAAiB,EAAE;oBAClD,CAAC,CAAC,EAAE,CAAC;gBACP,MAAM,UAAU,GAAG;oBACjB,GAAG,iBAAiB;oBACpB,IAAI,EAAE,MAAM,EAAE,IAAI;oBAClB,OAAO,EAAE,MAAM,EAAE,OAAO;iBACzB,CAAC;gBACF,+DAA+D;gBAC/D,IAAI,OAAO,EAAE,CAAC;oBACX,UAAsC,CAAC,OAAO,GAAG,OAAO,CAAC;gBAC5D,CAAC;gBAED,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC,GAAG,CAAC;gBACzC,MAAM,EAAE,eAAe,EAAE,GACvB,MAAM,OAAO,CAAC,IAAI,CAA4B;oBAC5C,aAAa,EAAE,iBAAiB;oBAChC,MAAM,EAAE;wBACN,MAAM,EAAE,UAAU;wBAClB,KAAK,EACH,eAAe,CAAC,KAAyD;wBAC3E,OAAO,EACL,eAAe,CAAC,OAA6D;wBAC/E,OAAO,EAAE,OAAO,IAAI,CAAC;wBACrB,SAAS;wBACT,WAAW,EAAE,WAAW,OAAO,IAAI,OAAO,EAAE,EAAE,+BAA+B;qBAC9E;iBACF,CAAC,CAAC;gBACL,OAAO,eAAsB,CAAC;YAChC,CAAC;SACF,CAAC;IACJ,CAAC;CACF"}
|
@@ -4,11 +4,14 @@ import { guestAuthenticate } from "../../core/authentication/guest.js";
|
|
4
4
|
import { loginWithPasskey, registerPasskey, } from "../../core/authentication/passkeys.js";
|
5
5
|
import { siweAuthenticate } from "../../core/authentication/siwe.js";
|
6
6
|
import { UserWalletStatus, } from "../../core/authentication/types.js";
|
7
|
+
import { getUserStatus } from "../lib/actions/get-enclave-user-status.js";
|
7
8
|
import { InAppWalletIframeCommunicator } from "../utils/iFrameCommunication/InAppWalletIframeCommunicator.js";
|
8
9
|
import { Auth } from "./auth/iframe-auth.js";
|
9
10
|
import { loginWithOauth, loginWithOauthRedirect } from "./auth/oauth.js";
|
10
11
|
import { sendOtp, verifyOtp } from "./auth/otp.js";
|
11
|
-
import {
|
12
|
+
import { EnclaveWallet } from "./enclave-wallet.js";
|
13
|
+
import { getAuthToken } from "./get-auth-token.js";
|
14
|
+
import { IFrameWallet } from "./iframe-wallet.js";
|
12
15
|
/**
|
13
16
|
* @internal
|
14
17
|
*/
|
@@ -31,6 +34,12 @@ export class InAppWebConnector {
|
|
31
34
|
writable: true,
|
32
35
|
value: void 0
|
33
36
|
});
|
37
|
+
Object.defineProperty(this, "ecosystem", {
|
38
|
+
enumerable: true,
|
39
|
+
configurable: true,
|
40
|
+
writable: true,
|
41
|
+
value: void 0
|
42
|
+
});
|
34
43
|
Object.defineProperty(this, "querier", {
|
35
44
|
enumerable: true,
|
36
45
|
configurable: true,
|
@@ -63,17 +72,13 @@ export class InAppWebConnector {
|
|
63
72
|
}
|
64
73
|
const baseUrl = getThirdwebBaseUrl("inAppWallet");
|
65
74
|
this.client = client;
|
75
|
+
this.ecosystem = ecosystem;
|
66
76
|
this.passkeyDomain = passkeyDomain;
|
67
77
|
this.querier = new InAppWalletIframeCommunicator({
|
68
78
|
clientId: client.clientId,
|
69
79
|
ecosystem,
|
70
80
|
baseUrl,
|
71
81
|
});
|
72
|
-
this.wallet = new IFrameWallet({
|
73
|
-
client,
|
74
|
-
ecosystem,
|
75
|
-
querier: this.querier,
|
76
|
-
});
|
77
82
|
this.auth = new Auth({
|
78
83
|
client,
|
79
84
|
querier: this.querier,
|
@@ -81,21 +86,44 @@ export class InAppWebConnector {
|
|
81
86
|
ecosystem,
|
82
87
|
onAuthSuccess: async (authResult) => {
|
83
88
|
onAuthSuccess?.(authResult);
|
89
|
+
if (this.ecosystem &&
|
90
|
+
authResult.storedToken.authDetails.walletType === "sharded") {
|
91
|
+
// If this is an existing sharded ecosystem wallet, we'll need to migrate
|
92
|
+
const result = await this.querier.call({
|
93
|
+
procedureName: "migrateFromShardToEnclave",
|
94
|
+
params: {
|
95
|
+
storedToken: authResult.storedToken,
|
96
|
+
},
|
97
|
+
});
|
98
|
+
if (!result) {
|
99
|
+
throw new Error("Failed to migrate from sharded to enclave wallet");
|
100
|
+
}
|
101
|
+
}
|
102
|
+
await this.initializeWallet(authResult.storedToken.cookieString);
|
103
|
+
if (!this.wallet) {
|
104
|
+
throw new Error("Failed to initialize wallet");
|
105
|
+
}
|
84
106
|
await this.wallet.postWalletSetUp({
|
85
107
|
...authResult.walletDetails,
|
108
|
+
authToken: authResult.storedToken.cookieString,
|
86
109
|
walletUserId: authResult.storedToken.authDetails.userWalletId,
|
87
110
|
});
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
111
|
+
if (authResult.storedToken.authDetails.walletType !== "enclave") {
|
112
|
+
await this.querier.call({
|
113
|
+
procedureName: "initIframe",
|
114
|
+
params: {
|
115
|
+
partnerId: ecosystem?.partnerId,
|
116
|
+
ecosystemId: ecosystem?.id,
|
117
|
+
clientId: this.client.clientId,
|
118
|
+
// For enclave wallets we won't have a device share
|
119
|
+
deviceShareStored: "deviceShareStored" in authResult.walletDetails
|
120
|
+
? authResult.walletDetails.deviceShareStored
|
121
|
+
: null,
|
122
|
+
walletUserId: authResult.storedToken.authDetails.userWalletId,
|
123
|
+
authCookie: authResult.storedToken.cookieString,
|
124
|
+
},
|
125
|
+
});
|
126
|
+
}
|
99
127
|
return {
|
100
128
|
user: {
|
101
129
|
status: UserWalletStatus.LOGGED_IN_WALLET_INITIALIZED,
|
@@ -107,6 +135,36 @@ export class InAppWebConnector {
|
|
107
135
|
},
|
108
136
|
});
|
109
137
|
}
|
138
|
+
async initializeWallet(authToken) {
|
139
|
+
const storedAuthToken = await getAuthToken(this.client, this.ecosystem);
|
140
|
+
if (!authToken && storedAuthToken === null) {
|
141
|
+
throw new Error("No auth token provided and no stored auth token found to initialize the wallet");
|
142
|
+
}
|
143
|
+
const user = await getUserStatus({
|
144
|
+
authToken: authToken || storedAuthToken,
|
145
|
+
client: this.client,
|
146
|
+
ecosystem: this.ecosystem,
|
147
|
+
});
|
148
|
+
if (!user) {
|
149
|
+
throw new Error("Cannot initialize wallet, no user logged in");
|
150
|
+
}
|
151
|
+
if (user.wallets.length === 0) {
|
152
|
+
throw new Error("Cannot initialize wallet, this user does not have a wallet generated yet");
|
153
|
+
}
|
154
|
+
if (user.wallets[0].type === "enclave") {
|
155
|
+
this.wallet = new EnclaveWallet({
|
156
|
+
client: this.client,
|
157
|
+
ecosystem: this.ecosystem,
|
158
|
+
address: user.wallets[0].address,
|
159
|
+
});
|
160
|
+
return;
|
161
|
+
}
|
162
|
+
this.wallet = new IFrameWallet({
|
163
|
+
client: this.client,
|
164
|
+
ecosystem: this.ecosystem,
|
165
|
+
querier: this.querier,
|
166
|
+
});
|
167
|
+
}
|
110
168
|
/**
|
111
169
|
* Gets the user if they're logged in
|
112
170
|
* @example
|
@@ -131,23 +189,37 @@ export class InAppWebConnector {
|
|
131
189
|
* @returns GetUser - an object to containing various information on the user statuses
|
132
190
|
*/
|
133
191
|
async getUser() {
|
134
|
-
|
192
|
+
// If we don't have a wallet yet we'll create one
|
193
|
+
if (!this.wallet) {
|
194
|
+
const maybeAuthToken = await getAuthToken(this.client, this.ecosystem);
|
195
|
+
if (!maybeAuthToken) {
|
196
|
+
return { status: UserWalletStatus.LOGGED_OUT };
|
197
|
+
}
|
198
|
+
await this.initializeWallet(maybeAuthToken);
|
199
|
+
}
|
200
|
+
if (!this.wallet) {
|
201
|
+
throw new Error("Wallet not initialized");
|
202
|
+
}
|
203
|
+
return await this.wallet.getUserWalletStatus();
|
135
204
|
}
|
136
205
|
getAccount() {
|
206
|
+
if (!this.wallet) {
|
207
|
+
throw new Error("Wallet not initialized");
|
208
|
+
}
|
137
209
|
return this.wallet.getAccount();
|
138
210
|
}
|
139
211
|
async preAuthenticate(args) {
|
140
212
|
return sendOtp({
|
141
213
|
...args,
|
142
|
-
client: this.
|
143
|
-
ecosystem: this.
|
214
|
+
client: this.client,
|
215
|
+
ecosystem: this.ecosystem,
|
144
216
|
});
|
145
217
|
}
|
146
218
|
authenticateWithRedirect(strategy, mode, redirectUrl) {
|
147
219
|
loginWithOauthRedirect({
|
148
220
|
authOption: strategy,
|
149
|
-
client: this.
|
150
|
-
ecosystem: this.
|
221
|
+
client: this.client,
|
222
|
+
ecosystem: this.ecosystem,
|
151
223
|
redirectUrl,
|
152
224
|
mode,
|
153
225
|
});
|
@@ -164,14 +236,14 @@ export class InAppWebConnector {
|
|
164
236
|
case "email":
|
165
237
|
return verifyOtp({
|
166
238
|
...args,
|
167
|
-
client: this.
|
168
|
-
ecosystem: this.
|
239
|
+
client: this.client,
|
240
|
+
ecosystem: this.ecosystem,
|
169
241
|
});
|
170
242
|
case "phone":
|
171
243
|
return verifyOtp({
|
172
244
|
...args,
|
173
|
-
client: this.
|
174
|
-
ecosystem: this.
|
245
|
+
client: this.client,
|
246
|
+
ecosystem: this.ecosystem,
|
175
247
|
});
|
176
248
|
case "jwt":
|
177
249
|
return this.auth.authenticateWithCustomJwt({
|
@@ -202,25 +274,26 @@ export class InAppWebConnector {
|
|
202
274
|
case "farcaster":
|
203
275
|
case "line":
|
204
276
|
case "x":
|
277
|
+
case "coinbase":
|
205
278
|
case "discord": {
|
206
279
|
return loginWithOauth({
|
207
280
|
authOption: strategy,
|
208
|
-
client: this.
|
209
|
-
ecosystem: this.
|
281
|
+
client: this.client,
|
282
|
+
ecosystem: this.ecosystem,
|
210
283
|
closeOpenedWindow: args.closeOpenedWindow,
|
211
284
|
openedWindow: args.openedWindow,
|
212
285
|
});
|
213
286
|
}
|
214
287
|
case "guest": {
|
215
288
|
return guestAuthenticate({
|
216
|
-
client: this.
|
217
|
-
ecosystem: this.
|
289
|
+
client: this.client,
|
290
|
+
ecosystem: this.ecosystem,
|
218
291
|
});
|
219
292
|
}
|
220
293
|
case "wallet": {
|
221
294
|
return siweAuthenticate({
|
222
|
-
ecosystem: this.
|
223
|
-
client: this.
|
295
|
+
ecosystem: this.ecosystem,
|
296
|
+
client: this.client,
|
224
297
|
wallet: args.wallet,
|
225
298
|
chain: args.chain,
|
226
299
|
});
|
@@ -268,9 +341,10 @@ export class InAppWebConnector {
|
|
268
341
|
case "line":
|
269
342
|
case "x":
|
270
343
|
case "guest":
|
344
|
+
case "coinbase":
|
271
345
|
case "discord": {
|
272
346
|
const authToken = await this.authenticate(args);
|
273
|
-
return this.auth.loginWithAuthToken(authToken);
|
347
|
+
return await this.auth.loginWithAuthToken(authToken);
|
274
348
|
}
|
275
349
|
default:
|
276
350
|
assertUnreachable(strategy);
|
@@ -285,8 +359,8 @@ export class InAppWebConnector {
|
|
285
359
|
const storage = webLocalStorage;
|
286
360
|
if (args.type === "sign-up") {
|
287
361
|
return registerPasskey({
|
288
|
-
client: this.
|
289
|
-
ecosystem: this.
|
362
|
+
client: this.client,
|
363
|
+
ecosystem: this.ecosystem,
|
290
364
|
username: args.passkeyName,
|
291
365
|
passkeyClient,
|
292
366
|
storage,
|
@@ -297,8 +371,8 @@ export class InAppWebConnector {
|
|
297
371
|
});
|
298
372
|
}
|
299
373
|
return loginWithPasskey({
|
300
|
-
client: this.
|
301
|
-
ecosystem: this.
|
374
|
+
client: this.client,
|
375
|
+
ecosystem: this.ecosystem,
|
302
376
|
passkeyClient,
|
303
377
|
storage,
|
304
378
|
rp: {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"web-connector.js","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/web/lib/web-connector.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAG1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EACL,gBAAgB,EAChB,eAAe,GAChB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAQL,gBAAgB,GACjB,MAAM,oCAAoC,CAAC;
|
1
|
+
{"version":3,"file":"web-connector.js","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/web/lib/web-connector.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"web-wallet.js","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/web/lib/web-wallet.ts"],"names":[],"mappings":""}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/wallets/types.ts"],"names":[],"mappings":"AAqBA,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,QAAQ;IACR,OAAO;IACP,UAAU;IACV,SAAS;IACT,MAAM;IACN,GAAG;IACH,WAAW;IACX,UAAU;CACF,CAAC;AAIX,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,GAAG,iBAAiB;IACpB,OAAO;IACP,OAAO;IACP,OAAO;IACP,SAAS;CACD,CAAC"}
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/wallets/types.ts"],"names":[],"mappings":"AAqBA,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,QAAQ;IACR,OAAO;IACP,UAAU;IACV,SAAS;IACT,MAAM;IACN,GAAG;IACH,UAAU;IACV,WAAW;IACX,UAAU;CACF,CAAC;AAIX,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,GAAG,iBAAiB;IACpB,OAAO;IACP,OAAO;IACP,OAAO;IACP,SAAS;CACD,CAAC"}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
export { isERC1155 } from "../../extensions/erc1155/read/isERC1155.js";
|
2
2
|
export { balanceOfBatch, type BalanceOfBatchParams, } from "../../extensions/erc1155/__generated__/IERC1155/read/balanceOfBatch.js";
|
3
|
-
export { getNFT, type GetNFTParams, } from "../../extensions/erc1155/read/getNFT.js";
|
3
|
+
export { getNFT, isGetNFTSupported, type GetNFTParams, } from "../../extensions/erc1155/read/getNFT.js";
|
4
4
|
export { getNFTs, type GetNFTsParams, isGetNFTsSupported, } from "../../extensions/erc1155/read/getNFTs.js";
|
5
5
|
export { getOwnedNFTs, type GetOwnedNFTsParams, } from "../../extensions/erc1155/read/getOwnedNFTs.js";
|
6
6
|
export { nextTokenIdToMint, isNextTokenIdToMintSupported, } from "../../extensions/erc1155/__generated__/IERC1155Enumerable/read/nextTokenIdToMint.js";
|