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.
Files changed (176) hide show
  1. package/dist/cjs/exports/extensions/erc1155.js +3 -2
  2. package/dist/cjs/exports/extensions/erc1155.js.map +1 -1
  3. package/dist/cjs/react/core/utils/walletIcon.js +5 -1
  4. package/dist/cjs/react/core/utils/walletIcon.js.map +1 -1
  5. package/dist/cjs/react/native/ui/connect/InAppWalletUI.js +1 -0
  6. package/dist/cjs/react/native/ui/connect/InAppWalletUI.js.map +1 -1
  7. package/dist/cjs/react/native/ui/icons/svgs.js +12 -1
  8. package/dist/cjs/react/native/ui/icons/svgs.js.map +1 -1
  9. package/dist/cjs/react/web/ui/ConnectWallet/Details.js +27 -2
  10. package/dist/cjs/react/web/ui/ConnectWallet/Details.js.map +1 -1
  11. package/dist/cjs/react/web/wallets/shared/ConnectWalletSocialOptions.js +42 -21
  12. package/dist/cjs/react/web/wallets/shared/ConnectWalletSocialOptions.js.map +1 -1
  13. package/dist/cjs/react/web/wallets/shared/oauthSignIn.js +2 -1
  14. package/dist/cjs/react/web/wallets/shared/oauthSignIn.js.map +1 -1
  15. package/dist/cjs/utils/fetch.js +10 -4
  16. package/dist/cjs/utils/fetch.js.map +1 -1
  17. package/dist/cjs/version.js +1 -1
  18. package/dist/cjs/wallets/in-app/core/authentication/types.js +2 -0
  19. package/dist/cjs/wallets/in-app/core/authentication/types.js.map +1 -1
  20. package/dist/cjs/wallets/in-app/core/wallet/in-app-core.js +2 -2
  21. package/dist/cjs/wallets/in-app/core/wallet/in-app-core.js.map +1 -1
  22. package/dist/cjs/wallets/in-app/native/native-connector.js +1 -0
  23. package/dist/cjs/wallets/in-app/native/native-connector.js.map +1 -1
  24. package/dist/cjs/wallets/in-app/web/in-app.js +1 -0
  25. package/dist/cjs/wallets/in-app/web/in-app.js.map +1 -1
  26. package/dist/cjs/wallets/in-app/web/lib/actions/generate-wallet.enclave.js +26 -0
  27. package/dist/cjs/wallets/in-app/web/lib/actions/generate-wallet.enclave.js.map +1 -0
  28. package/dist/cjs/wallets/in-app/web/lib/actions/get-enclave-user-status.js +31 -0
  29. package/dist/cjs/wallets/in-app/web/lib/actions/get-enclave-user-status.js.map +1 -0
  30. package/dist/cjs/wallets/in-app/web/lib/actions/sign-message.enclave.js +30 -0
  31. package/dist/cjs/wallets/in-app/web/lib/actions/sign-message.enclave.js.map +1 -0
  32. package/dist/cjs/wallets/in-app/web/lib/actions/sign-transaction.enclave.js +28 -0
  33. package/dist/cjs/wallets/in-app/web/lib/actions/sign-transaction.enclave.js.map +1 -0
  34. package/dist/cjs/wallets/in-app/web/lib/actions/sign-typed-data.enclave.js +27 -0
  35. package/dist/cjs/wallets/in-app/web/lib/actions/sign-typed-data.enclave.js.map +1 -0
  36. package/dist/cjs/wallets/in-app/web/lib/auth/iframe-auth.js +42 -5
  37. package/dist/cjs/wallets/in-app/web/lib/auth/iframe-auth.js.map +1 -1
  38. package/dist/cjs/wallets/in-app/web/lib/auth/index.js +2 -2
  39. package/dist/cjs/wallets/in-app/web/lib/auth/index.js.map +1 -1
  40. package/dist/cjs/wallets/in-app/web/lib/enclave-wallet.js +195 -0
  41. package/dist/cjs/wallets/in-app/web/lib/enclave-wallet.js.map +1 -0
  42. package/dist/cjs/wallets/in-app/web/lib/get-auth-token.js +14 -0
  43. package/dist/cjs/wallets/in-app/web/lib/get-auth-token.js.map +1 -0
  44. package/dist/cjs/wallets/in-app/web/lib/{in-app-account.js → iframe-wallet.js} +8 -22
  45. package/dist/cjs/wallets/in-app/web/lib/iframe-wallet.js.map +1 -0
  46. package/dist/cjs/wallets/in-app/web/lib/web-connector.js +111 -37
  47. package/dist/cjs/wallets/in-app/web/lib/web-connector.js.map +1 -1
  48. package/dist/cjs/wallets/in-app/web/lib/web-wallet.js +3 -0
  49. package/dist/cjs/wallets/in-app/web/lib/web-wallet.js.map +1 -0
  50. package/dist/cjs/wallets/types.js +1 -0
  51. package/dist/cjs/wallets/types.js.map +1 -1
  52. package/dist/esm/exports/extensions/erc1155.js +1 -1
  53. package/dist/esm/exports/extensions/erc1155.js.map +1 -1
  54. package/dist/esm/react/core/utils/walletIcon.js +4 -0
  55. package/dist/esm/react/core/utils/walletIcon.js.map +1 -1
  56. package/dist/esm/react/native/ui/connect/InAppWalletUI.js +2 -1
  57. package/dist/esm/react/native/ui/connect/InAppWalletUI.js.map +1 -1
  58. package/dist/esm/react/native/ui/icons/svgs.js +11 -0
  59. package/dist/esm/react/native/ui/icons/svgs.js.map +1 -1
  60. package/dist/esm/react/web/ui/ConnectWallet/Details.js +27 -2
  61. package/dist/esm/react/web/ui/ConnectWallet/Details.js.map +1 -1
  62. package/dist/esm/react/web/wallets/shared/ConnectWalletSocialOptions.js +42 -21
  63. package/dist/esm/react/web/wallets/shared/ConnectWalletSocialOptions.js.map +1 -1
  64. package/dist/esm/react/web/wallets/shared/oauthSignIn.js +2 -1
  65. package/dist/esm/react/web/wallets/shared/oauthSignIn.js.map +1 -1
  66. package/dist/esm/utils/fetch.js +10 -4
  67. package/dist/esm/utils/fetch.js.map +1 -1
  68. package/dist/esm/version.js +1 -1
  69. package/dist/esm/wallets/in-app/core/authentication/types.js +2 -0
  70. package/dist/esm/wallets/in-app/core/authentication/types.js.map +1 -1
  71. package/dist/esm/wallets/in-app/core/wallet/in-app-core.js +2 -2
  72. package/dist/esm/wallets/in-app/core/wallet/in-app-core.js.map +1 -1
  73. package/dist/esm/wallets/in-app/native/native-connector.js +1 -0
  74. package/dist/esm/wallets/in-app/native/native-connector.js.map +1 -1
  75. package/dist/esm/wallets/in-app/web/in-app.js +1 -0
  76. package/dist/esm/wallets/in-app/web/in-app.js.map +1 -1
  77. package/dist/esm/wallets/in-app/web/lib/actions/generate-wallet.enclave.js +23 -0
  78. package/dist/esm/wallets/in-app/web/lib/actions/generate-wallet.enclave.js.map +1 -0
  79. package/dist/esm/wallets/in-app/web/lib/actions/get-enclave-user-status.js +28 -0
  80. package/dist/esm/wallets/in-app/web/lib/actions/get-enclave-user-status.js.map +1 -0
  81. package/dist/esm/wallets/in-app/web/lib/actions/sign-message.enclave.js +27 -0
  82. package/dist/esm/wallets/in-app/web/lib/actions/sign-message.enclave.js.map +1 -0
  83. package/dist/esm/wallets/in-app/web/lib/actions/sign-transaction.enclave.js +25 -0
  84. package/dist/esm/wallets/in-app/web/lib/actions/sign-transaction.enclave.js.map +1 -0
  85. package/dist/esm/wallets/in-app/web/lib/actions/sign-typed-data.enclave.js +24 -0
  86. package/dist/esm/wallets/in-app/web/lib/actions/sign-typed-data.enclave.js.map +1 -0
  87. package/dist/esm/wallets/in-app/web/lib/auth/iframe-auth.js +42 -5
  88. package/dist/esm/wallets/in-app/web/lib/auth/iframe-auth.js.map +1 -1
  89. package/dist/esm/wallets/in-app/web/lib/auth/index.js +2 -2
  90. package/dist/esm/wallets/in-app/web/lib/auth/index.js.map +1 -1
  91. package/dist/esm/wallets/in-app/web/lib/enclave-wallet.js +191 -0
  92. package/dist/esm/wallets/in-app/web/lib/enclave-wallet.js.map +1 -0
  93. package/dist/esm/wallets/in-app/web/lib/get-auth-token.js +11 -0
  94. package/dist/esm/wallets/in-app/web/lib/get-auth-token.js.map +1 -0
  95. package/dist/esm/wallets/in-app/web/lib/{in-app-account.js → iframe-wallet.js} +8 -22
  96. package/dist/esm/wallets/in-app/web/lib/iframe-wallet.js.map +1 -0
  97. package/dist/esm/wallets/in-app/web/lib/web-connector.js +111 -37
  98. package/dist/esm/wallets/in-app/web/lib/web-connector.js.map +1 -1
  99. package/dist/esm/wallets/in-app/web/lib/web-wallet.js +2 -0
  100. package/dist/esm/wallets/in-app/web/lib/web-wallet.js.map +1 -0
  101. package/dist/esm/wallets/types.js +1 -0
  102. package/dist/esm/wallets/types.js.map +1 -1
  103. package/dist/types/exports/extensions/erc1155.d.ts +1 -1
  104. package/dist/types/exports/extensions/erc1155.d.ts.map +1 -1
  105. package/dist/types/react/core/utils/walletIcon.d.ts +3 -1
  106. package/dist/types/react/core/utils/walletIcon.d.ts.map +1 -1
  107. package/dist/types/react/native/ui/connect/InAppWalletUI.d.ts.map +1 -1
  108. package/dist/types/react/native/ui/icons/svgs.d.ts +1 -0
  109. package/dist/types/react/native/ui/icons/svgs.d.ts.map +1 -1
  110. package/dist/types/react/web/ui/ConnectWallet/Details.d.ts +1 -1
  111. package/dist/types/react/web/ui/ConnectWallet/Details.d.ts.map +1 -1
  112. package/dist/types/react/web/wallets/shared/ConnectWalletSocialOptions.d.ts.map +1 -1
  113. package/dist/types/react/web/wallets/shared/oauthSignIn.d.ts.map +1 -1
  114. package/dist/types/utils/fetch.d.ts.map +1 -1
  115. package/dist/types/version.d.ts +1 -1
  116. package/dist/types/wallets/in-app/core/authentication/types.d.ts +6 -2
  117. package/dist/types/wallets/in-app/core/authentication/types.d.ts.map +1 -1
  118. package/dist/types/wallets/in-app/core/wallet/in-app-core.d.ts.map +1 -1
  119. package/dist/types/wallets/in-app/native/native-connector.d.ts.map +1 -1
  120. package/dist/types/wallets/in-app/web/in-app.d.ts +1 -0
  121. package/dist/types/wallets/in-app/web/in-app.d.ts.map +1 -1
  122. package/dist/types/wallets/in-app/web/lib/actions/generate-wallet.enclave.d.ts +15 -0
  123. package/dist/types/wallets/in-app/web/lib/actions/generate-wallet.enclave.d.ts.map +1 -0
  124. package/dist/types/wallets/in-app/web/lib/actions/get-enclave-user-status.d.ts +14 -0
  125. package/dist/types/wallets/in-app/web/lib/actions/get-enclave-user-status.d.ts.map +1 -0
  126. package/dist/types/wallets/in-app/web/lib/actions/sign-message.enclave.d.ts +17 -0
  127. package/dist/types/wallets/in-app/web/lib/actions/sign-message.enclave.d.ts.map +1 -0
  128. package/dist/types/wallets/in-app/web/lib/actions/sign-transaction.enclave.d.ts +9 -0
  129. package/dist/types/wallets/in-app/web/lib/actions/sign-transaction.enclave.d.ts.map +1 -0
  130. package/dist/types/wallets/in-app/web/lib/actions/sign-typed-data.enclave.d.ts +16 -0
  131. package/dist/types/wallets/in-app/web/lib/actions/sign-typed-data.enclave.d.ts.map +1 -0
  132. package/dist/types/wallets/in-app/web/lib/auth/iframe-auth.d.ts +5 -1
  133. package/dist/types/wallets/in-app/web/lib/auth/iframe-auth.d.ts.map +1 -1
  134. package/dist/types/wallets/in-app/web/lib/enclave-wallet.d.ts +61 -0
  135. package/dist/types/wallets/in-app/web/lib/enclave-wallet.d.ts.map +1 -0
  136. package/dist/types/wallets/in-app/web/lib/get-auth-token.d.ts +4 -0
  137. package/dist/types/wallets/in-app/web/lib/get-auth-token.d.ts.map +1 -0
  138. package/dist/types/wallets/in-app/web/lib/{in-app-account.d.ts → iframe-wallet.d.ts} +5 -8
  139. package/dist/types/wallets/in-app/web/lib/iframe-wallet.d.ts.map +1 -0
  140. package/dist/types/wallets/in-app/web/lib/web-connector.d.ts +4 -2
  141. package/dist/types/wallets/in-app/web/lib/web-connector.d.ts.map +1 -1
  142. package/dist/types/wallets/in-app/web/lib/web-wallet.d.ts +15 -0
  143. package/dist/types/wallets/in-app/web/lib/web-wallet.d.ts.map +1 -0
  144. package/dist/types/wallets/types.d.ts +2 -2
  145. package/dist/types/wallets/types.d.ts.map +1 -1
  146. package/package.json +1 -1
  147. package/src/exports/extensions/erc1155.ts +1 -0
  148. package/src/extensions/prebuilts/deploy-published.test.ts +34 -1
  149. package/src/react/core/utils/walletIcon.ts +5 -0
  150. package/src/react/native/ui/connect/InAppWalletUI.tsx +2 -0
  151. package/src/react/native/ui/icons/svgs.ts +12 -0
  152. package/src/react/web/ui/ConnectWallet/Details.tsx +44 -4
  153. package/src/react/web/wallets/shared/ConnectWalletSocialOptions.tsx +82 -48
  154. package/src/react/web/wallets/shared/oauthSignIn.ts +2 -1
  155. package/src/utils/fetch.ts +11 -4
  156. package/src/version.ts +1 -1
  157. package/src/wallets/in-app/core/authentication/types.ts +6 -1
  158. package/src/wallets/in-app/core/wallet/in-app-core.ts +2 -5
  159. package/src/wallets/in-app/native/native-connector.ts +1 -0
  160. package/src/wallets/in-app/web/in-app.ts +1 -0
  161. package/src/wallets/in-app/web/lib/actions/generate-wallet.enclave.ts +44 -0
  162. package/src/wallets/in-app/web/lib/actions/get-enclave-user-status.ts +44 -0
  163. package/src/wallets/in-app/web/lib/actions/sign-message.enclave.ts +52 -0
  164. package/src/wallets/in-app/web/lib/actions/sign-transaction.enclave.ts +48 -0
  165. package/src/wallets/in-app/web/lib/actions/sign-typed-data.enclave.ts +51 -0
  166. package/src/wallets/in-app/web/lib/auth/iframe-auth.ts +45 -6
  167. package/src/wallets/in-app/web/lib/auth/index.ts +2 -2
  168. package/src/wallets/in-app/web/lib/enclave-wallet.ts +245 -0
  169. package/src/wallets/in-app/web/lib/get-auth-token.ts +17 -0
  170. package/src/wallets/in-app/web/lib/{in-app-account.ts → iframe-wallet.ts} +14 -36
  171. package/src/wallets/in-app/web/lib/web-connector.ts +125 -39
  172. package/src/wallets/in-app/web/lib/web-wallet.ts +23 -0
  173. package/src/wallets/types.ts +1 -0
  174. package/dist/cjs/wallets/in-app/web/lib/in-app-account.js.map +0 -1
  175. package/dist/esm/wallets/in-app/web/lib/in-app-account.js.map +0 -1
  176. package/dist/types/wallets/in-app/web/lib/in-app-account.d.ts.map +0 -1
@@ -10,7 +10,6 @@ import { type Hex, hexToString } from "../../../../utils/encoding/hex.js";
10
10
  import { parseTypedData } from "../../../../utils/signatures/helpers/parseTypedData.js";
11
11
  import { webLocalStorage } from "../../../../utils/storage/webStorage.js";
12
12
  import type { Prettify } from "../../../../utils/type-utils.js";
13
- import { getEcosystemPartnerPermissions } from "../../../ecosystem/get-ecosystem-partner-permissions.js";
14
13
  import type {
15
14
  Account,
16
15
  SendTransactionOption,
@@ -19,7 +18,6 @@ import { ClientScopedStorage } from "../../core/authentication/client-scoped-sto
19
18
  import {
20
19
  type GetUser,
21
20
  type GetUserWalletStatusRpcReturnType,
22
- type SetUpWalletRpcReturnType,
23
21
  UserWalletStatus,
24
22
  type WalletAddressObjectType,
25
23
  } from "../../core/authentication/types.js";
@@ -32,6 +30,7 @@ import type {
32
30
  SignedTypedDataReturnType,
33
31
  } from "../types.js";
34
32
  import type { InAppWalletIframeCommunicator } from "../utils/iFrameCommunication/InAppWalletIframeCommunicator.js";
33
+ import type { IWebWallet, PostWalletSetup } from "./web-wallet.js";
35
34
 
36
35
  export type WalletManagementTypes = {
37
36
  createWallet: undefined;
@@ -70,14 +69,10 @@ export type SignerProcedureTypes = {
70
69
  //connect: { provider: Provider };
71
70
  };
72
71
 
73
- type PostWalletSetup = SetUpWalletRpcReturnType & {
74
- walletUserId: string;
75
- };
76
-
77
72
  /**
78
73
  *
79
74
  */
80
- export class IFrameWallet {
75
+ export class IFrameWallet implements IWebWallet {
81
76
  public client: ThirdwebClient;
82
77
  public ecosystem?: Ecosystem;
83
78
  protected walletManagerQuerier: InAppWalletIframeCommunicator<
@@ -114,16 +109,19 @@ export class IFrameWallet {
114
109
  * @returns `{walletAddress : string }` The user's wallet details
115
110
  * @internal
116
111
  */
117
- async postWalletSetUp({
118
- deviceShareStored,
119
- walletAddress,
120
- isIframeStorageEnabled,
121
- walletUserId,
122
- }: PostWalletSetup): Promise<WalletAddressObjectType> {
123
- if (!isIframeStorageEnabled) {
124
- await this.localStorage.saveDeviceShare(deviceShareStored, walletUserId);
112
+ async postWalletSetUp(
113
+ props: PostWalletSetup,
114
+ ): Promise<WalletAddressObjectType> {
115
+ if ("isIframeStorageEnabled" in props) {
116
+ if (!props.isIframeStorageEnabled) {
117
+ await this.localStorage.saveDeviceShare(
118
+ props.deviceShareStored,
119
+ props.walletUserId,
120
+ );
121
+ }
122
+ return { walletAddress: props.walletAddress };
125
123
  }
126
- return { walletAddress };
124
+ throw new Error("Invalid postWalletSetUp props");
127
125
  }
128
126
 
129
127
  /**
@@ -200,14 +198,6 @@ export class IFrameWallet {
200
198
  .walletManagerQuerier as unknown as InAppWalletIframeCommunicator<SignerProcedureTypes>;
201
199
  const client = this.client;
202
200
  const partnerId = this.ecosystem?.partnerId;
203
- const isEcosystem = !!this.ecosystem;
204
-
205
- const permissions = this.ecosystem?.partnerId
206
- ? await getEcosystemPartnerPermissions(
207
- this.ecosystem.id,
208
- this.ecosystem?.partnerId,
209
- )
210
- : undefined;
211
201
 
212
202
  const { address } = await querier.call<GetAddressReturnType>({
213
203
  procedureName: "getAddress",
@@ -245,10 +235,6 @@ export class IFrameWallet {
245
235
  partnerId,
246
236
  rpcEndpoint: `https://${tx.chainId}.${RPC_URL}`, // TODO (ew) shouldnt be needed
247
237
  },
248
- // Can hide the iframe if the partner has full control (no user approvals)
249
- showIframe: permissions?.permissions.includes("FULL_CONTROL_V1")
250
- ? false
251
- : isEcosystem,
252
238
  });
253
239
  return signedTransaction as Hex;
254
240
  };
@@ -297,10 +283,6 @@ export class IFrameWallet {
297
283
  partnerId,
298
284
  chainId: 1, // TODO check if we need this
299
285
  },
300
- // Can hide the iframe if the partner has full control (no user approvals)
301
- showIframe: permissions?.permissions.includes("FULL_CONTROL_V1")
302
- ? false
303
- : isEcosystem,
304
286
  });
305
287
  return signedMessage as Hex;
306
288
  },
@@ -340,10 +322,6 @@ export class IFrameWallet {
340
322
  partnerId,
341
323
  rpcEndpoint: `https://${chainId}.${RPC_URL}`, // TODO (ew) shouldnt be needed
342
324
  },
343
- // Can hide the iframe if the partner has full control (no user approvals)
344
- showIframe: permissions?.permissions.includes("FULL_CONTROL_V1")
345
- ? false
346
- : isEcosystem,
347
325
  });
348
326
  return signedTypedData as Hex;
349
327
  },
@@ -20,21 +20,25 @@ import {
20
20
  UserWalletStatus,
21
21
  } from "../../core/authentication/types.js";
22
22
  import type { InAppConnector } from "../../core/interfaces/connector.js";
23
- import type { InAppWalletConstructorType } from "../types.js";
23
+ import { getUserStatus } from "../lib/actions/get-enclave-user-status.js";
24
+ import type { Ecosystem, InAppWalletConstructorType } from "../types.js";
24
25
  import { InAppWalletIframeCommunicator } from "../utils/iFrameCommunication/InAppWalletIframeCommunicator.js";
25
26
  import { Auth, type AuthQuerierTypes } from "./auth/iframe-auth.js";
26
27
  import { loginWithOauth, loginWithOauthRedirect } from "./auth/oauth.js";
27
28
  import { sendOtp, verifyOtp } from "./auth/otp.js";
28
- import { IFrameWallet } from "./in-app-account.js";
29
+ import { EnclaveWallet } from "./enclave-wallet.js";
30
+ import { getAuthToken } from "./get-auth-token.js";
31
+ import { IFrameWallet } from "./iframe-wallet.js";
29
32
 
30
33
  /**
31
34
  * @internal
32
35
  */
33
36
  export class InAppWebConnector implements InAppConnector {
34
37
  protected client: ThirdwebClient;
38
+ protected ecosystem?: Ecosystem;
35
39
  protected querier: InAppWalletIframeCommunicator<AuthQuerierTypes>;
36
40
 
37
- private wallet: IFrameWallet;
41
+ private wallet?: EnclaveWallet | IFrameWallet;
38
42
  /**
39
43
  * Used to manage the Auth state of the user.
40
44
  */
@@ -66,17 +70,13 @@ export class InAppWebConnector implements InAppConnector {
66
70
  }
67
71
  const baseUrl = getThirdwebBaseUrl("inAppWallet");
68
72
  this.client = client;
73
+ this.ecosystem = ecosystem;
69
74
  this.passkeyDomain = passkeyDomain;
70
75
  this.querier = new InAppWalletIframeCommunicator({
71
76
  clientId: client.clientId,
72
77
  ecosystem,
73
78
  baseUrl,
74
79
  });
75
- this.wallet = new IFrameWallet({
76
- client,
77
- ecosystem,
78
- querier: this.querier,
79
- });
80
80
 
81
81
  this.auth = new Auth({
82
82
  client,
@@ -85,21 +85,53 @@ export class InAppWebConnector implements InAppConnector {
85
85
  ecosystem,
86
86
  onAuthSuccess: async (authResult) => {
87
87
  onAuthSuccess?.(authResult);
88
+
89
+ if (
90
+ this.ecosystem &&
91
+ authResult.storedToken.authDetails.walletType === "sharded"
92
+ ) {
93
+ // If this is an existing sharded ecosystem wallet, we'll need to migrate
94
+ const result = await this.querier.call<boolean>({
95
+ procedureName: "migrateFromShardToEnclave",
96
+ params: {
97
+ storedToken: authResult.storedToken,
98
+ },
99
+ });
100
+ if (!result) {
101
+ throw new Error("Failed to migrate from sharded to enclave wallet");
102
+ }
103
+ }
104
+
105
+ await this.initializeWallet(authResult.storedToken.cookieString);
106
+
107
+ if (!this.wallet) {
108
+ throw new Error("Failed to initialize wallet");
109
+ }
110
+
88
111
  await this.wallet.postWalletSetUp({
89
112
  ...authResult.walletDetails,
113
+ authToken: authResult.storedToken.cookieString,
90
114
  walletUserId: authResult.storedToken.authDetails.userWalletId,
91
115
  });
92
- await this.querier.call({
93
- procedureName: "initIframe",
94
- params: {
95
- partnerId: ecosystem?.partnerId,
96
- ecosystemId: ecosystem?.id,
97
- deviceShareStored: authResult.walletDetails.deviceShareStored,
98
- clientId: this.client.clientId,
99
- walletUserId: authResult.storedToken.authDetails.userWalletId,
100
- authCookie: authResult.storedToken.cookieString,
101
- },
102
- });
116
+
117
+ if (authResult.storedToken.authDetails.walletType !== "enclave") {
118
+ await this.querier.call({
119
+ procedureName: "initIframe",
120
+ params: {
121
+ partnerId: ecosystem?.partnerId,
122
+ ecosystemId: ecosystem?.id,
123
+ clientId: this.client.clientId,
124
+ // For enclave wallets we won't have a device share
125
+ deviceShareStored:
126
+ "deviceShareStored" in authResult.walletDetails
127
+ ? authResult.walletDetails.deviceShareStored
128
+ : null,
129
+ walletUserId: authResult.storedToken.authDetails.userWalletId,
130
+ authCookie: authResult.storedToken.cookieString,
131
+ },
132
+ });
133
+ }
134
+
103
135
  return {
104
136
  user: {
105
137
  status: UserWalletStatus.LOGGED_IN_WALLET_INITIALIZED,
@@ -112,6 +144,44 @@ export class InAppWebConnector implements InAppConnector {
112
144
  });
113
145
  }
114
146
 
147
+ async initializeWallet(authToken?: string) {
148
+ const storedAuthToken = await getAuthToken(this.client, this.ecosystem);
149
+ if (!authToken && storedAuthToken === null) {
150
+ throw new Error(
151
+ "No auth token provided and no stored auth token found to initialize the wallet",
152
+ );
153
+ }
154
+
155
+ const user = await getUserStatus({
156
+ authToken: authToken || (storedAuthToken as string),
157
+ client: this.client,
158
+ ecosystem: this.ecosystem,
159
+ });
160
+ if (!user) {
161
+ throw new Error("Cannot initialize wallet, no user logged in");
162
+ }
163
+ if (user.wallets.length === 0) {
164
+ throw new Error(
165
+ "Cannot initialize wallet, this user does not have a wallet generated yet",
166
+ );
167
+ }
168
+
169
+ if (user.wallets[0].type === "enclave") {
170
+ this.wallet = new EnclaveWallet({
171
+ client: this.client,
172
+ ecosystem: this.ecosystem,
173
+ address: user.wallets[0].address,
174
+ });
175
+ return;
176
+ }
177
+
178
+ this.wallet = new IFrameWallet({
179
+ client: this.client,
180
+ ecosystem: this.ecosystem,
181
+ querier: this.querier,
182
+ });
183
+ }
184
+
115
185
  /**
116
186
  * Gets the user if they're logged in
117
187
  * @example
@@ -136,18 +206,32 @@ export class InAppWebConnector implements InAppConnector {
136
206
  * @returns GetUser - an object to containing various information on the user statuses
137
207
  */
138
208
  async getUser(): Promise<GetUser> {
139
- return this.wallet.getUserWalletStatus();
209
+ // If we don't have a wallet yet we'll create one
210
+ if (!this.wallet) {
211
+ const maybeAuthToken = await getAuthToken(this.client, this.ecosystem);
212
+ if (!maybeAuthToken) {
213
+ return { status: UserWalletStatus.LOGGED_OUT };
214
+ }
215
+ await this.initializeWallet(maybeAuthToken);
216
+ }
217
+ if (!this.wallet) {
218
+ throw new Error("Wallet not initialized");
219
+ }
220
+ return await this.wallet.getUserWalletStatus();
140
221
  }
141
222
 
142
223
  getAccount(): Promise<Account> {
224
+ if (!this.wallet) {
225
+ throw new Error("Wallet not initialized");
226
+ }
143
227
  return this.wallet.getAccount();
144
228
  }
145
229
 
146
230
  async preAuthenticate(args: MultiStepAuthProviderType): Promise<void> {
147
231
  return sendOtp({
148
232
  ...args,
149
- client: this.wallet.client,
150
- ecosystem: this.wallet.ecosystem,
233
+ client: this.client,
234
+ ecosystem: this.ecosystem,
151
235
  });
152
236
  }
153
237
 
@@ -158,8 +242,8 @@ export class InAppWebConnector implements InAppConnector {
158
242
  ): void {
159
243
  loginWithOauthRedirect({
160
244
  authOption: strategy,
161
- client: this.wallet.client,
162
- ecosystem: this.wallet.ecosystem,
245
+ client: this.client,
246
+ ecosystem: this.ecosystem,
163
247
  redirectUrl,
164
248
  mode,
165
249
  });
@@ -180,14 +264,14 @@ export class InAppWebConnector implements InAppConnector {
180
264
  case "email":
181
265
  return verifyOtp({
182
266
  ...args,
183
- client: this.wallet.client,
184
- ecosystem: this.wallet.ecosystem,
267
+ client: this.client,
268
+ ecosystem: this.ecosystem,
185
269
  });
186
270
  case "phone":
187
271
  return verifyOtp({
188
272
  ...args,
189
- client: this.wallet.client,
190
- ecosystem: this.wallet.ecosystem,
273
+ client: this.client,
274
+ ecosystem: this.ecosystem,
191
275
  });
192
276
  case "jwt":
193
277
  return this.auth.authenticateWithCustomJwt({
@@ -218,25 +302,26 @@ export class InAppWebConnector implements InAppConnector {
218
302
  case "farcaster":
219
303
  case "line":
220
304
  case "x":
305
+ case "coinbase":
221
306
  case "discord": {
222
307
  return loginWithOauth({
223
308
  authOption: strategy,
224
- client: this.wallet.client,
225
- ecosystem: this.wallet.ecosystem,
309
+ client: this.client,
310
+ ecosystem: this.ecosystem,
226
311
  closeOpenedWindow: args.closeOpenedWindow,
227
312
  openedWindow: args.openedWindow,
228
313
  });
229
314
  }
230
315
  case "guest": {
231
316
  return guestAuthenticate({
232
- client: this.wallet.client,
233
- ecosystem: this.wallet.ecosystem,
317
+ client: this.client,
318
+ ecosystem: this.ecosystem,
234
319
  });
235
320
  }
236
321
  case "wallet": {
237
322
  return siweAuthenticate({
238
- ecosystem: this.wallet.ecosystem,
239
- client: this.wallet.client,
323
+ ecosystem: this.ecosystem,
324
+ client: this.client,
240
325
  wallet: args.wallet,
241
326
  chain: args.chain,
242
327
  });
@@ -287,9 +372,10 @@ export class InAppWebConnector implements InAppConnector {
287
372
  case "line":
288
373
  case "x":
289
374
  case "guest":
375
+ case "coinbase":
290
376
  case "discord": {
291
377
  const authToken = await this.authenticate(args);
292
- return this.auth.loginWithAuthToken(authToken);
378
+ return await this.auth.loginWithAuthToken(authToken);
293
379
  }
294
380
 
295
381
  default:
@@ -309,8 +395,8 @@ export class InAppWebConnector implements InAppConnector {
309
395
  const storage = webLocalStorage;
310
396
  if (args.type === "sign-up") {
311
397
  return registerPasskey({
312
- client: this.wallet.client,
313
- ecosystem: this.wallet.ecosystem,
398
+ client: this.client,
399
+ ecosystem: this.ecosystem,
314
400
  username: args.passkeyName,
315
401
  passkeyClient,
316
402
  storage,
@@ -321,8 +407,8 @@ export class InAppWebConnector implements InAppConnector {
321
407
  });
322
408
  }
323
409
  return loginWithPasskey({
324
- client: this.wallet.client,
325
- ecosystem: this.wallet.ecosystem,
410
+ client: this.client,
411
+ ecosystem: this.ecosystem,
326
412
  passkeyClient,
327
413
  storage,
328
414
  rp: {
@@ -0,0 +1,23 @@
1
+ import type { Account } from "../../../interfaces/wallet.js";
2
+ import type {
3
+ GetUser,
4
+ SetUpWalletRpcReturnType,
5
+ WalletAddressObjectType,
6
+ } from "../../core/authentication/types.js";
7
+
8
+ export type PostWalletSetup = (
9
+ | SetUpWalletRpcReturnType
10
+ | WalletAddressObjectType
11
+ ) & {
12
+ walletUserId: string;
13
+ authToken: string;
14
+ };
15
+
16
+ /**
17
+ *
18
+ */
19
+ export interface IWebWallet {
20
+ postWalletSetUp(args: PostWalletSetup): Promise<WalletAddressObjectType>;
21
+ getUserWalletStatus(): Promise<GetUser>;
22
+ getAccount(): Promise<Account>;
23
+ }
@@ -26,6 +26,7 @@ export const socialAuthOptions = [
26
26
  "discord",
27
27
  "line",
28
28
  "x",
29
+ "coinbase",
29
30
  "farcaster",
30
31
  "telegram",
31
32
  ] as const;
@@ -1 +0,0 @@
1
- {"version":3,"file":"in-app-account.js","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/web/lib/in-app-account.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"in-app-account.js","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/web/lib/in-app-account.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"in-app-account.d.ts","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/web/lib/in-app-account.ts"],"names":[],"mappings":"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"}