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
@@ -5,9 +5,10 @@ import { type Hex } from "../../../../utils/encoding/hex.js";
|
|
5
5
|
import type { Prettify } from "../../../../utils/type-utils.js";
|
6
6
|
import type { Account } from "../../../interfaces/wallet.js";
|
7
7
|
import { ClientScopedStorage } from "../../core/authentication/client-scoped-storage.js";
|
8
|
-
import { type GetUser, type
|
8
|
+
import { type GetUser, type WalletAddressObjectType } from "../../core/authentication/types.js";
|
9
9
|
import type { ClientIdWithQuerierType, Ecosystem } from "../types.js";
|
10
10
|
import type { InAppWalletIframeCommunicator } from "../utils/iFrameCommunication/InAppWalletIframeCommunicator.js";
|
11
|
+
import type { IWebWallet, PostWalletSetup } from "./web-wallet.js";
|
11
12
|
export type WalletManagementTypes = {
|
12
13
|
createWallet: undefined;
|
13
14
|
setUpNewDevice: undefined;
|
@@ -43,13 +44,10 @@ export type SignerProcedureTypes = {
|
|
43
44
|
partnerId?: string;
|
44
45
|
};
|
45
46
|
};
|
46
|
-
type PostWalletSetup = SetUpWalletRpcReturnType & {
|
47
|
-
walletUserId: string;
|
48
|
-
};
|
49
47
|
/**
|
50
48
|
*
|
51
49
|
*/
|
52
|
-
export declare class IFrameWallet {
|
50
|
+
export declare class IFrameWallet implements IWebWallet {
|
53
51
|
client: ThirdwebClient;
|
54
52
|
ecosystem?: Ecosystem;
|
55
53
|
protected walletManagerQuerier: InAppWalletIframeCommunicator<WalletManagementTypes & WalletManagementUiTypes>;
|
@@ -66,7 +64,7 @@ export declare class IFrameWallet {
|
|
66
64
|
* @returns `{walletAddress : string }` The user's wallet details
|
67
65
|
* @internal
|
68
66
|
*/
|
69
|
-
postWalletSetUp(
|
67
|
+
postWalletSetUp(props: PostWalletSetup): Promise<WalletAddressObjectType>;
|
70
68
|
/**
|
71
69
|
* Gets the various status states of the user
|
72
70
|
* @example
|
@@ -110,5 +108,4 @@ export declare class IFrameWallet {
|
|
110
108
|
*/
|
111
109
|
getAccount(): Promise<Account>;
|
112
110
|
}
|
113
|
-
|
114
|
-
//# sourceMappingURL=in-app-account.d.ts.map
|
111
|
+
//# sourceMappingURL=iframe-wallet.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"iframe-wallet.d.ts","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/web/lib/iframe-wallet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,OAAO,MAAM,SAAS,CAAC;AACxC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,MAAM,CAAC;AAEhD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAKnE,OAAO,EAAE,KAAK,GAAG,EAAe,MAAM,mCAAmC,CAAC;AAG1E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,KAAK,EACV,OAAO,EAER,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,oDAAoD,CAAC;AACzF,OAAO,EACL,KAAK,OAAO,EAGZ,KAAK,uBAAuB,EAC7B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EACV,uBAAuB,EACvB,SAAS,EAKV,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,+DAA+D,CAAC;AACnH,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEnE,MAAM,MAAM,qBAAqB,GAAG;IAClC,YAAY,EAAE,SAAS,CAAC;IACxB,cAAc,EAAE,SAAS,CAAC;IAC1B,aAAa,EAAE,SAAS,CAAC;CAC1B,CAAC;AACF,MAAM,MAAM,uBAAuB,GAAG;IACpC,cAAc,EAAE,SAAS,CAAC;IAC1B,gBAAgB,EAAE,SAAS,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC;AAEhE,MAAM,MAAM,oBAAoB,GAAG;IACjC,UAAU,EAAE,SAAS,CAAC;IACtB,WAAW,EAAE;QACX,OAAO,EAAE,MAAM,GAAG,GAAG,CAAC;QACtB,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,eAAe,EAAE;QACf,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC;QACzD,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,eAAe,EAAE;QACf,MAAM,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACtC,KAAK,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACpC,OAAO,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAC;QACxC,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CAEH,CAAC;AAEF;;GAEG;AACH,qBAAa,YAAa,YAAW,UAAU;IACtC,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,CAAC,EAAE,SAAS,CAAC;IAC7B,SAAS,CAAC,oBAAoB,EAAE,6BAA6B,CAC3D,qBAAqB,GAAG,uBAAuB,CAChD,CAAC;IACF,SAAS,CAAC,YAAY,EAAE,mBAAmB,CAAC;IAE5C;;;OAGG;gBACS,EACV,MAAM,EACN,SAAS,EACT,OAAO,GACR,EAAE,QAAQ,CACT,uBAAuB,GAAG;QACxB,SAAS,CAAC,EAAE,SAAS,CAAC;KACvB,CACF;IAYD;;;;OAIG;IACG,eAAe,CACnB,KAAK,EAAE,eAAe,GACrB,OAAO,CAAC,uBAAuB,CAAC;IAanC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCG;IACG,mBAAmB,IAAI,OAAO,CAAC,OAAO,CAAC;IA6B7C;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;CAsIrC"}
|
@@ -3,7 +3,7 @@ import type { SocialAuthOption } from "../../../../wallets/types.js";
|
|
3
3
|
import type { Account } from "../../../interfaces/wallet.js";
|
4
4
|
import { type AuthLoginReturnType, type AuthStoredTokenWithCookieReturnType, type GetUser, type LogoutReturnType, type MultiStepAuthArgsType, type MultiStepAuthProviderType, type SingleStepAuthArgsType } from "../../core/authentication/types.js";
|
5
5
|
import type { InAppConnector } from "../../core/interfaces/connector.js";
|
6
|
-
import type { InAppWalletConstructorType } from "../types.js";
|
6
|
+
import type { Ecosystem, InAppWalletConstructorType } from "../types.js";
|
7
7
|
import { InAppWalletIframeCommunicator } from "../utils/iFrameCommunication/InAppWalletIframeCommunicator.js";
|
8
8
|
import { Auth, type AuthQuerierTypes } from "./auth/iframe-auth.js";
|
9
9
|
/**
|
@@ -11,8 +11,9 @@ import { Auth, type AuthQuerierTypes } from "./auth/iframe-auth.js";
|
|
11
11
|
*/
|
12
12
|
export declare class InAppWebConnector implements InAppConnector {
|
13
13
|
protected client: ThirdwebClient;
|
14
|
+
protected ecosystem?: Ecosystem;
|
14
15
|
protected querier: InAppWalletIframeCommunicator<AuthQuerierTypes>;
|
15
|
-
private wallet
|
16
|
+
private wallet?;
|
16
17
|
/**
|
17
18
|
* Used to manage the Auth state of the user.
|
18
19
|
*/
|
@@ -25,6 +26,7 @@ export declare class InAppWebConnector implements InAppConnector {
|
|
25
26
|
* @internal
|
26
27
|
*/
|
27
28
|
constructor({ client, onAuthSuccess, ecosystem, passkeyDomain, }: InAppWalletConstructorType);
|
29
|
+
initializeWallet(authToken?: string): Promise<void>;
|
28
30
|
/**
|
29
31
|
* Gets the user if they're logged in
|
30
32
|
* @example
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"web-connector.d.ts","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/web/lib/web-connector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAGnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAO7D,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,mCAAmC,EACxC,KAAK,OAAO,EACZ,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,yBAAyB,EAC9B,KAAK,sBAAsB,EAE5B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;
|
1
|
+
{"version":3,"file":"web-connector.d.ts","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/web/lib/web-connector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAGnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAO7D,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,mCAAmC,EACxC,KAAK,OAAO,EACZ,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,yBAAyB,EAC9B,KAAK,sBAAsB,EAE5B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEzE,OAAO,KAAK,EAAE,SAAS,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,6BAA6B,EAAE,MAAM,+DAA+D,CAAC;AAC9G,OAAO,EAAE,IAAI,EAAE,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAOpE;;GAEG;AACH,qBAAa,iBAAkB,YAAW,cAAc;IACtD,SAAS,CAAC,MAAM,EAAE,cAAc,CAAC;IACjC,SAAS,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAChC,SAAS,CAAC,OAAO,EAAE,6BAA6B,CAAC,gBAAgB,CAAC,CAAC;IAEnE,OAAO,CAAC,MAAM,CAAC,CAA+B;IAC9C;;OAEG;IACH,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,CAAC,aAAa,CAAC,CAAS;IAE/B,OAAO,CAAC,qBAAqB;IAO7B;;;;OAIG;gBACS,EACV,MAAM,EACN,aAAa,EACb,SAAS,EACT,aAAa,GACd,EAAE,0BAA0B;IAkFvB,gBAAgB,CAAC,SAAS,CAAC,EAAE,MAAM;IAsCzC;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAejC,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAOxB,eAAe,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IAQrE,wBAAwB,CACtB,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,GAAG,QAAQ,EACtC,WAAW,CAAC,EAAE,MAAM,GACnB,IAAI;IAUD,kBAAkB,CAAC,UAAU,EAAE,mCAAmC;IAIxE;;OAEG;IACG,YAAY,CAChB,IAAI,EAAE,qBAAqB,GAAG,sBAAsB,GACnD,OAAO,CAAC,mCAAmC,CAAC;IAuE/C;;OAEG;IACG,OAAO,CACX,IAAI,EAAE,qBAAqB,GAAG,sBAAsB,GACnD,OAAO,CAAC,mBAAmB,CAAC;IAiDzB,MAAM,IAAI,OAAO,CAAC,gBAAgB,CAAC;YAI3B,WAAW;CA8B1B"}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
import type { Account } from "../../../interfaces/wallet.js";
|
2
|
+
import type { GetUser, SetUpWalletRpcReturnType, WalletAddressObjectType } from "../../core/authentication/types.js";
|
3
|
+
export type PostWalletSetup = (SetUpWalletRpcReturnType | WalletAddressObjectType) & {
|
4
|
+
walletUserId: string;
|
5
|
+
authToken: string;
|
6
|
+
};
|
7
|
+
/**
|
8
|
+
*
|
9
|
+
*/
|
10
|
+
export interface IWebWallet {
|
11
|
+
postWalletSetUp(args: PostWalletSetup): Promise<WalletAddressObjectType>;
|
12
|
+
getUserWalletStatus(): Promise<GetUser>;
|
13
|
+
getAccount(): Promise<Account>;
|
14
|
+
}
|
15
|
+
//# sourceMappingURL=web-wallet.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"web-wallet.d.ts","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/web/lib/web-wallet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,KAAK,EACV,OAAO,EACP,wBAAwB,EACxB,uBAAuB,EACxB,MAAM,oCAAoC,CAAC;AAE5C,MAAM,MAAM,eAAe,GAAG,CAC1B,wBAAwB,GACxB,uBAAuB,CAC1B,GAAG;IACF,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,eAAe,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACzE,mBAAmB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACxC,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CAChC"}
|
@@ -17,10 +17,10 @@ export type AppMetadata = {
|
|
17
17
|
*/
|
18
18
|
logoUrl?: string;
|
19
19
|
};
|
20
|
-
export declare const socialAuthOptions: readonly ["google", "apple", "facebook", "discord", "line", "x", "farcaster", "telegram"];
|
20
|
+
export declare const socialAuthOptions: readonly ["google", "apple", "facebook", "discord", "line", "x", "coinbase", "farcaster", "telegram"];
|
21
21
|
export type SocialAuthOption = (typeof socialAuthOptions)[number];
|
22
22
|
export type OAuthOption = SocialAuthOption | "guest";
|
23
|
-
export declare const authOptions: readonly ["google", "apple", "facebook", "discord", "line", "x", "farcaster", "telegram", "guest", "email", "phone", "passkey"];
|
23
|
+
export declare const authOptions: readonly ["google", "apple", "facebook", "discord", "line", "x", "coinbase", "farcaster", "telegram", "guest", "email", "phone", "passkey"];
|
24
24
|
export type AuthOption = (typeof authOptions)[number];
|
25
25
|
export type DisconnectFn = () => Promise<void>;
|
26
26
|
export type SwitchChainFn = (chain: Chain) => Promise<void>;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/wallets/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAEhD,MAAM,MAAM,WAAW,GAAG;IACxB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,iBAAiB,
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/wallets/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAEhD,MAAM,MAAM,WAAW,GAAG;IACxB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,iBAAiB,uGAUpB,CAAC;AACX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAClE,MAAM,MAAM,WAAW,GAAG,gBAAgB,GAAG,OAAO,CAAC;AAErD,eAAO,MAAM,WAAW,6IAMd,CAAC;AACX,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtD,MAAM,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;AAC/C,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC"}
|
package/package.json
CHANGED
@@ -1,5 +1,8 @@
|
|
1
1
|
import { describe, expect, it } from "vitest";
|
2
|
-
import {
|
2
|
+
import {
|
3
|
+
ANVIL_CHAIN,
|
4
|
+
FORKED_ETHEREUM_CHAIN_WITH_MINING,
|
5
|
+
} from "../../../test/src/chains.js";
|
3
6
|
import { TEST_CLIENT } from "../../../test/src/test-clients.js";
|
4
7
|
import { TEST_ACCOUNT_A } from "../../../test/src/test-wallets.js";
|
5
8
|
import { isContractDeployed } from "../../utils/bytecode/is-contract-deployed.js";
|
@@ -46,6 +49,21 @@ describe.runIf(process.env.TW_SECRET_KEY)(
|
|
46
49
|
address,
|
47
50
|
});
|
48
51
|
expect(isDeployed).toBe(true);
|
52
|
+
|
53
|
+
const ethAddress = await deployPublishedContract({
|
54
|
+
client: TEST_CLIENT,
|
55
|
+
chain: FORKED_ETHEREUM_CHAIN_WITH_MINING,
|
56
|
+
account: TEST_ACCOUNT_A,
|
57
|
+
contractId: "AccountFactory",
|
58
|
+
contractParams: {
|
59
|
+
defaultAdmin: TEST_ACCOUNT_A.address,
|
60
|
+
entrypoint: ENTRYPOINT_ADDRESS_v0_6,
|
61
|
+
},
|
62
|
+
salt: "test",
|
63
|
+
});
|
64
|
+
|
65
|
+
// ensure they are the same address!
|
66
|
+
expect(address).toBe(ethAddress);
|
49
67
|
});
|
50
68
|
|
51
69
|
it("should deploy a published autofactory contract", async () => {
|
@@ -82,6 +100,21 @@ describe.runIf(process.env.TW_SECRET_KEY)(
|
|
82
100
|
address,
|
83
101
|
});
|
84
102
|
expect(isDeployed).toBe(true);
|
103
|
+
|
104
|
+
// deploy on forked ethereum
|
105
|
+
const ethAddress = await deployPublishedContract({
|
106
|
+
client: TEST_CLIENT,
|
107
|
+
chain: FORKED_ETHEREUM_CHAIN_WITH_MINING,
|
108
|
+
account: TEST_ACCOUNT_A,
|
109
|
+
contractId: "Airdrop",
|
110
|
+
contractParams: {
|
111
|
+
defaultAdmin: TEST_ACCOUNT_A.address,
|
112
|
+
contractURI: "",
|
113
|
+
},
|
114
|
+
salt: "test",
|
115
|
+
});
|
116
|
+
// ensure they are the same address!
|
117
|
+
expect(address).toBe(ethAddress);
|
85
118
|
});
|
86
119
|
|
87
120
|
// TODO: Replace these tests' live contracts with mocks
|
@@ -19,6 +19,8 @@ export const twitchIconUri =
|
|
19
19
|
"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgdmlld0JveD0iMCAwIDExMS43ODY2NyAxMjcuMzg2NjciCiAgIGhlaWdodD0iMTI3LjM4NjY3IgogICB3aWR0aD0iMTExLjc4NjY3IgogICB4bWw6c3BhY2U9InByZXNlcnZlIgogICB2ZXJzaW9uPSIxLjEiCiAgIGlkPSJzdmczMzU1IgogICBzb2RpcG9kaTpkb2NuYW1lPSJUd2l0Y2hfbG9nby5zdmciCiAgIGlua3NjYXBlOnZlcnNpb249IjEuMS4xICgzYmY1YWUwZDI1LCAyMDIxLTA5LTIwKSIKICAgeG1sbnM6aW5rc2NhcGU9Imh0dHA6Ly93d3cuaW5rc2NhcGUub3JnL25hbWVzcGFjZXMvaW5rc2NhcGUiCiAgIHhtbG5zOnNvZGlwb2RpPSJodHRwOi8vc29kaXBvZGkuc291cmNlZm9yZ2UubmV0L0RURC9zb2RpcG9kaS0wLmR0ZCIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZGVmcwogICBpZD0iZGVmczI5Ij4KICAgIAogICAgCiAgPC9kZWZzPjxzb2RpcG9kaTpuYW1lZHZpZXcKICAgaWQ9Im5hbWVkdmlldzI3IgogICBwYWdlY29sb3I9IiNmZmZmZmYiCiAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICBib3JkZXJvcGFjaXR5PSIxLjAiCiAgIGlua3NjYXBlOnBhZ2VzaGFkb3c9IjIiCiAgIGlua3NjYXBlOnBhZ2VvcGFjaXR5PSIwLjAiCiAgIGlua3NjYXBlOnBhZ2VjaGVja2VyYm9hcmQ9IjAiCiAgIHNob3dncmlkPSJmYWxzZSIKICAgaW5rc2NhcGU6em9vbT0iNC4xOTkyMjg0IgogICBpbmtzY2FwZTpjeD0iLTUwLjYwNDUzNSIKICAgaW5rc2NhcGU6Y3k9IjE0MC4zODI5MyIKICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSIyNTYwIgogICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSIxMzg3IgogICBpbmtzY2FwZTp3aW5kb3cteD0iMTkxMiIKICAgaW5rc2NhcGU6d2luZG93LXk9Ii04IgogICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIxIgogICBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJzdmczMzU1IiAvPgogIDxnCiAgIHRyYW5zZm9ybT0ibWF0cml4KDEuMzMzMzMzMywwLDAsLTEuMzMzMzMzMywxMDEuMzkzMzMsNjcuNTg5MzMyKSIKICAgaWQ9ImczMzY1Ij4KICAgICAgPHBhdGgKICAgaWQ9InBhdGgzMzY3IgogICBzdHlsZT0iZmlsbDojNjQ0MWE1O2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpldmVub2RkO3N0cm9rZTpub25lIgogICBkPSJtIDAsMCAtMTMuNjUyLC0xMy42NTEgaCAtMjEuNDQ1IGwgLTExLjY5OSwtMTEuNjk3IHYgMTEuNjk3IEggLTY0LjM0NCBWIDQyLjg5MyBIIDAgWiBtIC03Mi4xNDYsNTAuNjkyIC0zLjg5OSwtMTUuNTk5IHYgLTcwLjE5IGggMTcuNTUgdiAtOS43NTEgaCA5Ljc0NiBsIDkuNzUyLDkuNzUxIGggMTUuNTk2IEwgNy43OTUsLTMuOTA1IHYgNTQuNTk3IHoiIC8+CiAgICA8L2c+PHBhdGgKICAgaWQ9InBhdGgzMzY5IgogICBzdHlsZT0iZmlsbDojNjQ0MWE1O2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpldmVub2RkO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDoxLjMzMzMzIgogICBkPSJtIDQ0LjE5NzMzMSw2Mi4zOTQyNjYgaCAxMC4zOTg2NyBWIDMxLjE5MjkzMyBoIC0xMC4zOTg2NyB6IG0gMjguNTk0NjcsMCBoIDEwLjM5ODY2IFYgMzEuMTkyOTMzIGggLTEwLjM5ODY2IHoiIC8+Cjwvc3ZnPgo=";
|
20
20
|
export const discordIconUri =
|
21
21
|
"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDEwMCAxMDAiIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBpZD0iZGlzY29yZCI+PHBhdGggZmlsbD0iIzY2NjVkMiIgZD0iTTg1LjIyLDI0Ljk1OGMtMTEuNDU5LTguNTc1LTIyLjQzOC04LjMzNC0yMi40MzgtOC4zMzRsLTEuMTIyLDEuMjgyCgkJCQljMTMuNjIzLDQuMDg3LDE5Ljk1NCwxMC4wOTcsMTkuOTU0LDEwLjA5N2MtMTkuNDkxLTEwLjczMS00NC4zMTctMTAuNjU0LTY0LjU5LDBjMCwwLDYuNTcxLTYuMzMxLDIwLjk5Ni0xMC40MThsLTAuODAxLTAuOTYyCgkJCQljMCwwLTEwLjg5OS0wLjI0LTIyLjQzOCw4LjMzNGMwLDAtMTEuNTQsMjAuNzU1LTExLjU0LDQ2LjMxOWMwLDAsNi43MzIsMTEuNTQsMjQuNDQyLDEyLjEwMWMwLDAsMi45NjUtMy41MjYsNS4zNjktNi41NzEKCQkJCWMtMTAuMTc3LTMuMDQ1LTE0LjAyNC05LjM3Ni0xNC4wMjQtOS4zNzZjNi4zOTQsNC4wMDEsMTIuODU5LDYuNTA1LDIwLjkxNiw4LjA5NGMxMy4xMDgsMi42OTgsMjkuNDEzLTAuMDc2LDQxLjU5MS04LjA5NAoJCQkJYzAsMC00LjAwNyw2LjQ5MS0xNC41MDUsOS40NTZjMi40MDQsMi45NjUsNS4yODksNi40MTEsNS4yODksNi40MTFjMTcuNzEtMC41NjEsMjQuNDQxLTEyLjEwMSwyNC40NDEtMTIuMDIKCQkJCUM5Ni43NTksNDUuNzEzLDg1LjIyLDI0Ljk1OCw4NS4yMiwyNC45NTh6IE0zNS4wNTUsNjMuODI0Yy00LjQ4OCwwLTguMTc0LTMuOTI3LTguMTc0LTguODE1CgkJCQljMC4zMjgtMTEuNzA3LDE2LjEwMi0xMS42NzEsMTYuMzQ4LDBDNDMuMjI5LDU5Ljg5NywzOS42MjIsNjMuODI0LDM1LjA1NSw2My44MjR6IE02NC4zMDQsNjMuODI0CgkJCQljLTQuNDg4LDAtOC4xNzQtMy45MjctOC4xNzQtOC44MTVjMC4zNi0xMS42ODQsMTUuOTM3LTExLjY4OSwxNi4zNDgsMEM3Mi40NzgsNTkuODk3LDY4Ljg3Miw2My44MjQsNjQuMzA0LDYzLjgyNHoiPjwvcGF0aD48L3N2Zz4=";
|
22
|
+
export const coinbaseIconUri =
|
23
|
+
"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTU2IiBoZWlnaHQ9IjU1NiIgdmlld0JveD0iMCAwIDU1NiA1NTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8xNDhfNSkiPgo8cGF0aCBkPSJNMjc4IDBDNDMxLjUzMyAwIDU1NiAxMjQuNDY3IDU1NiAyNzhDNTU2IDQzMS41MzMgNDMxLjUzMyA1NTYgMjc4IDU1NkMxMjQuNDY3IDU1NiAwIDQzMS41MzMgMCAyNzhDMCAxMjQuNDY3IDEyNC40NjcgMCAyNzggMFoiIGZpbGw9IiMwMDUyRkYiLz4KPHBhdGggZD0iTTI3OC40ODIgMzc1LjE5QzIyNC40OSAzNzUuMTkgMTgwLjg2MiAzMzEuNDEgMTgwLjg2MiAyNzcuNUMxODAuODYyIDIyMy41OSAyMjQuNjEgMTc5LjgxIDI3OC40ODIgMTc5LjgxQzMyNi44MSAxNzkuODEgMzY2Ljk0MyAyMTUuMDI3IDM3NC42NTYgMjYxLjIxOEg0NzNDNDY0LjY4NCAxNjAuODc1IDM4MC44MDMgODIgMjc4LjM2MiA4MkMxNzAuNDk3IDgyIDgzIDE2OS41NTkgODMgMjc3LjVDODMgMzg1LjQ0MSAxNzAuNDk3IDQ3MyAyNzguMzYyIDQ3M0MzODAuODAzIDQ3MyA0NjQuNjg0IDM5NC4xMjUgNDczIDI5My43ODJIMzc0LjUzNkMzNjYuODIzIDMzOS45NzMgMzI2LjgxIDM3NS4xOSAyNzguNDgyIDM3NS4xOVoiIGZpbGw9IndoaXRlIi8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDBfMTQ4XzUiPgo8cmVjdCB3aWR0aD0iNTU2IiBoZWlnaHQ9IjU1NiIgZmlsbD0id2hpdGUiLz4KPC9jbGlwUGF0aD4KPC9kZWZzPgo8L3N2Zz4K";
|
22
24
|
export const lineIconUri =
|
23
25
|
"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMjAiIGhlaWdodD0iMzIwIiB2aWV3Qm94PSIwIDAgMzIwIDMyMCI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOiMwNmM3NTU7fS5jbHMtMntmaWxsOiNmZmY7fTwvc3R5bGU+PC9kZWZzPjxnIGlkPSJMYXllcl8yIiBkYXRhLW5hbWU9IkxheWVyIDIiPjxnIGlkPSJMSU5FX0xPR08iIGRhdGEtbmFtZT0iTElORSBMT0dPIj48cmVjdCBjbGFzcz0iY2xzLTEiIHdpZHRoPSIzMjAiIGhlaWdodD0iMzIwIiByeD0iNzIuMTQiLz48cGF0aCBjbGFzcz0iY2xzLTIiIGQ9Ik0yNjYuNjYsMTQ0LjkyYzAtNDcuNzQtNDcuODYtODYuNTgtMTA2LjY5LTg2LjU4UzUzLjI4LDk3LjE4LDUzLjI4LDE0NC45MmMwLDQyLjgsMzgsNzguNjUsODkuMjIsODUuNDIsMy40OC43NSw4LjIxLDIuMjksOS40LDUuMjYsMS4wOCwyLjcuNzEsNi45My4zNSw5LjY1LDAsMC0xLjI1LDcuNTMtMS41Miw5LjEzLS40NywyLjctMi4xNSwxMC41NSw5LjI0LDUuNzZzNjEuNDQtMzYuMTgsODMuODItNjEuOTVoMEMyNTkuMjUsMTgxLjI0LDI2Ni42NiwxNjQsMjY2LjY2LDE0NC45MloiLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0yMzEuMTYsMTcyLjQ5aC0zMGEyLDIsMCwwLDEtMi0ydjBoMFYxMjMuOTRoMHYwYTIsMiwwLDAsMSwyLTJoMzBhMiwyLDAsMCwxLDIsMnY3LjU3YTIsMiwwLDAsMS0yLDJIMjEwLjc5djcuODVoMjAuMzdhMiwyLDAsMCwxLDIsMlYxNTFhMiwyLDAsMCwxLTIsMkgyMTAuNzl2Ny44NmgyMC4zN2EyLDIsMCwwLDEsMiwydjcuNTZBMiwyLDAsMCwxLDIzMS4xNiwxNzIuNDlaIi8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTIwLjI5LDE3Mi40OWEyLDIsMCwwLDAsMi0ydi03LjU2YTIsMiwwLDAsMC0yLTJIOTkuOTJ2LTM3YTIsMiwwLDAsMC0yLTJIOTAuMzJhMiwyLDAsMCwwLTIsMnY0Ni41M2gwdjBhMiwyLDAsMCwwLDIsMmgzMFoiLz48cmVjdCBjbGFzcz0iY2xzLTEiIHg9IjEyOC43MyIgeT0iMTIxLjg1IiB3aWR0aD0iMTEuNjQiIGhlaWdodD0iNTAuNjQiIHJ4PSIyLjA0Ii8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTg5Ljg0LDEyMS44NWgtNy41NmEyLDIsMCwwLDAtMiwydjI3LjY2bC0yMS4zLTI4Ljc3YTEuMiwxLjIsMCwwLDAtLjE3LS4yMXYwbC0uMTItLjEyLDAsMC0uMTEtLjA5LS4wNiwwLS4xMS0uMDgtLjA2LDAtLjExLS4wNi0uMDcsMC0uMTEsMC0uMDcsMC0uMTIsMC0uMDgsMC0uMTIsMGgtLjA4bC0uMTEsMGgtNy43MWEyLDIsMCwwLDAtMiwydjQ2LjU2YTIsMiwwLDAsMCwyLDJoNy41N2EyLDIsMCwwLDAsMi0yVjE0Mi44MWwyMS4zMywyOC44YTIsMiwwLDAsMCwuNTIuNTJoMGwuMTIuMDguMDYsMCwuMS4wNS4xLDAsLjA3LDAsLjE0LDBoMGEyLjQyLDIuNDIsMCwwLDAsLjU0LjA3aDcuNTJhMiwyLDAsMCwwLDItMlYxMjMuODlBMiwyLDAsMCwwLDE4OS44NCwxMjEuODVaIi8+PC9nPjwvZz48L3N2Zz4=";
|
24
26
|
export const farcasterIconUri =
|
@@ -52,6 +54,7 @@ export const passkeyIcon =
|
|
52
54
|
export const socialIcons = {
|
53
55
|
google: googleIconUri,
|
54
56
|
apple: appleIconUri,
|
57
|
+
coinbase: coinbaseIconUri,
|
55
58
|
facebook: facebookIconUri,
|
56
59
|
discord: discordIconUri,
|
57
60
|
line: lineIconUri,
|
@@ -65,6 +68,8 @@ export function getWalletIcon(provider: string) {
|
|
65
68
|
switch (provider) {
|
66
69
|
case "google":
|
67
70
|
return googleIconUri;
|
71
|
+
case "coinbase":
|
72
|
+
return coinbaseIconUri;
|
68
73
|
case "apple":
|
69
74
|
return appleIconUri;
|
70
75
|
case "facebook":
|
@@ -30,6 +30,7 @@ import { Spacer } from "../components/spacer.js";
|
|
30
30
|
import { ThemedText } from "../components/text.js";
|
31
31
|
import {
|
32
32
|
APPLE_ICON,
|
33
|
+
COINBASE_ICON,
|
33
34
|
DISCORD_ICON,
|
34
35
|
FACEBOOK_ICON,
|
35
36
|
FARCASTER_ICON,
|
@@ -53,6 +54,7 @@ const defaultAuthOptions: InAppWalletAuth[] = [
|
|
53
54
|
const socialIcons = {
|
54
55
|
google: GOOGLE_ICON,
|
55
56
|
facebook: FACEBOOK_ICON,
|
57
|
+
coinbase: COINBASE_ICON,
|
56
58
|
apple: APPLE_ICON,
|
57
59
|
discord: DISCORD_ICON,
|
58
60
|
line: LINE_ICON,
|
@@ -37,6 +37,18 @@ export const DISCORD_ICON = `<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink
|
|
37
37
|
</g>
|
38
38
|
</svg>`;
|
39
39
|
|
40
|
+
export const COINBASE_ICON = `<svg width="556" height="556" viewBox="0 0 556 556" fill="none" xmlns="http://www.w3.org/2000/svg">
|
41
|
+
<g clip-path="url(#clip0_148_5)">
|
42
|
+
<path d="M278 0C431.533 0 556 124.467 556 278C556 431.533 431.533 556 278 556C124.467 556 0 431.533 0 278C0 124.467 124.467 0 278 0Z" fill="#0052FF"/>
|
43
|
+
<path d="M278.482 375.19C224.49 375.19 180.862 331.41 180.862 277.5C180.862 223.59 224.61 179.81 278.482 179.81C326.81 179.81 366.943 215.027 374.656 261.218H473C464.684 160.875 380.803 82 278.362 82C170.497 82 83 169.559 83 277.5C83 385.441 170.497 473 278.362 473C380.803 473 464.684 394.125 473 293.782H374.536C366.823 339.973 326.81 375.19 278.482 375.19Z" fill="white"/>
|
44
|
+
</g>
|
45
|
+
<defs>
|
46
|
+
<clipPath id="clip0_148_5">
|
47
|
+
<rect width="556" height="556" fill="white"/>
|
48
|
+
</clipPath>
|
49
|
+
</defs>
|
50
|
+
</svg>`;
|
51
|
+
|
40
52
|
export const LINE_ICON = `<svg xmlns="http://www.w3.org/2000/svg" width="320" height="320" viewBox="0 0 320 320"><defs><style>.cls-1{fill:#06c755;}.cls-2{fill:#fff;}</style></defs><g id="Layer_2" data-name="Layer 2"><g id="LINE_LOGO" data-name="LINE LOGO"><rect class="cls-1" width="320" height="320" rx="72.14"/><path class="cls-2" d="M266.66,144.92c0-47.74-47.86-86.58-106.69-86.58S53.28,97.18,53.28,144.92c0,42.8,38,78.65,89.22,85.42,3.48.75,8.21,2.29,9.4,5.26,1.08,2.7.71,6.93.35,9.65,0,0-1.25,7.53-1.52,9.13-.47,2.7-2.15,10.55,9.24,5.76s61.44-36.18,83.82-61.95h0C259.25,181.24,266.66,164,266.66,144.92Z"/><path class="cls-1" d="M231.16,172.49h-30a2,2,0,0,1-2-2v0h0V123.94h0v0a2,2,0,0,1,2-2h30a2,2,0,0,1,2,2v7.57a2,2,0,0,1-2,2H210.79v7.85h20.37a2,2,0,0,1,2,2V151a2,2,0,0,1-2,2H210.79v7.86h20.37a2,2,0,0,1,2,2v7.56A2,2,0,0,1,231.16,172.49Z"/><path class="cls-1" d="M120.29,172.49a2,2,0,0,0,2-2v-7.56a2,2,0,0,0-2-2H99.92v-37a2,2,0,0,0-2-2H90.32a2,2,0,0,0-2,2v46.53h0v0a2,2,0,0,0,2,2h30Z"/><rect class="cls-1" x="128.73" y="121.85" width="11.64" height="50.64" rx="2.04"/><path class="cls-1" d="M189.84,121.85h-7.56a2,2,0,0,0-2,2v27.66l-21.3-28.77a1.2,1.2,0,0,0-.17-.21v0l-.12-.12,0,0-.11-.09-.06,0-.11-.08-.06,0-.11-.06-.07,0-.11,0-.07,0-.12,0-.08,0-.12,0h-.08l-.11,0h-7.71a2,2,0,0,0-2,2v46.56a2,2,0,0,0,2,2h7.57a2,2,0,0,0,2-2V142.81l21.33,28.8a2,2,0,0,0,.52.52h0l.12.08.06,0,.1.05.1,0,.07,0,.14,0h0a2.42,2.42,0,0,0,.54.07h7.52a2,2,0,0,0,2-2V123.89A2,2,0,0,0,189.84,121.85Z"/></g></g></svg>`;
|
41
53
|
|
42
54
|
export const FARCASTER_ICON = `<svg width={width} height={height} viewBox="0 0 1000 1000" fill="none" xmlns="http://www.w3.org/2000/svg">
|
@@ -18,10 +18,19 @@ import { getLastAuthProvider } from "../../../../react/core/utils/storage.js";
|
|
18
18
|
import { isContractDeployed } from "../../../../utils/bytecode/is-contract-deployed.js";
|
19
19
|
import { formatNumber } from "../../../../utils/formatNumber.js";
|
20
20
|
import { webLocalStorage } from "../../../../utils/storage/webStorage.js";
|
21
|
+
import { isEcosystemWallet } from "../../../../wallets/ecosystem/is-ecosystem-wallet.js";
|
22
|
+
import type { Ecosystem } from "../../../../wallets/in-app/web/types.js";
|
21
23
|
import type { Account, Wallet } from "../../../../wallets/interfaces/wallet.js";
|
22
24
|
import type { SmartWalletOptions } from "../../../../wallets/smart/types.js";
|
23
|
-
import
|
24
|
-
|
25
|
+
import {
|
26
|
+
type AppMetadata,
|
27
|
+
type SocialAuthOption,
|
28
|
+
socialAuthOptions,
|
29
|
+
} from "../../../../wallets/types.js";
|
30
|
+
import type {
|
31
|
+
EcosystemWalletId,
|
32
|
+
WalletId,
|
33
|
+
} from "../../../../wallets/wallet-types.js";
|
25
34
|
import {
|
26
35
|
CustomThemeProvider,
|
27
36
|
parseTheme,
|
@@ -49,6 +58,7 @@ import {
|
|
49
58
|
import { useActiveAccount } from "../../../core/hooks/wallets/useActiveAccount.js";
|
50
59
|
import { useActiveWallet } from "../../../core/hooks/wallets/useActiveWallet.js";
|
51
60
|
import { useActiveWalletChain } from "../../../core/hooks/wallets/useActiveWalletChain.js";
|
61
|
+
import { useAdminWallet } from "../../../core/hooks/wallets/useAdminAccount.js";
|
52
62
|
import { useDisconnect } from "../../../core/hooks/wallets/useDisconnect.js";
|
53
63
|
import { useSwitchActiveWalletChain } from "../../../core/hooks/wallets/useSwitchActiveWalletChain.js";
|
54
64
|
import { SetRootElementContext } from "../../../core/providers/RootElementContext.js";
|
@@ -1062,6 +1072,7 @@ function InAppWalletUserInfo(props: {
|
|
1062
1072
|
const { client, locale } = props;
|
1063
1073
|
const account = useActiveAccount();
|
1064
1074
|
const activeWallet = useActiveWallet();
|
1075
|
+
const adminWallet = useAdminWallet();
|
1065
1076
|
const { data: walletInfo } = useWalletInfo(activeWallet?.id);
|
1066
1077
|
const isSmartWallet = hasSmartAccount(activeWallet);
|
1067
1078
|
const { data: walletName } = useQuery({
|
@@ -1071,6 +1082,15 @@ function InAppWalletUserInfo(props: {
|
|
1071
1082
|
if (lastAuthProvider === "guest") {
|
1072
1083
|
return "Guest";
|
1073
1084
|
}
|
1085
|
+
if (
|
1086
|
+
lastAuthProvider &&
|
1087
|
+
(activeWallet?.id === "inApp" || activeWallet?.id === "smart") &&
|
1088
|
+
socialAuthOptions.includes(lastAuthProvider as SocialAuthOption)
|
1089
|
+
) {
|
1090
|
+
return (
|
1091
|
+
lastAuthProvider.slice(0, 1).toUpperCase() + lastAuthProvider.slice(1)
|
1092
|
+
);
|
1093
|
+
}
|
1074
1094
|
return walletInfo?.name;
|
1075
1095
|
},
|
1076
1096
|
enabled: !!activeWallet?.id && !!walletInfo,
|
@@ -1079,6 +1099,24 @@ function InAppWalletUserInfo(props: {
|
|
1079
1099
|
const userInfoQuery = useQuery({
|
1080
1100
|
queryKey: ["in-app-wallet-user", client, account?.address],
|
1081
1101
|
queryFn: async () => {
|
1102
|
+
const isInAppWallet =
|
1103
|
+
adminWallet &&
|
1104
|
+
(adminWallet.id === "inApp" || adminWallet.id.startsWith("ecosystem."));
|
1105
|
+
|
1106
|
+
if (!isInAppWallet) {
|
1107
|
+
return null;
|
1108
|
+
}
|
1109
|
+
|
1110
|
+
let ecosystem: Ecosystem | undefined;
|
1111
|
+
if (isEcosystemWallet(adminWallet)) {
|
1112
|
+
const ecosystemWallet = adminWallet as Wallet<EcosystemWalletId>;
|
1113
|
+
const partnerId = ecosystemWallet.getConfig()?.partnerId;
|
1114
|
+
ecosystem = {
|
1115
|
+
id: ecosystemWallet.id,
|
1116
|
+
partnerId,
|
1117
|
+
};
|
1118
|
+
}
|
1119
|
+
|
1082
1120
|
const { getUserEmail, getUserPhoneNumber } = await import(
|
1083
1121
|
"../../../../wallets/in-app/web/lib/auth/index.js"
|
1084
1122
|
);
|
@@ -1086,18 +1124,20 @@ function InAppWalletUserInfo(props: {
|
|
1086
1124
|
const [email, phone] = await Promise.all([
|
1087
1125
|
getUserEmail({
|
1088
1126
|
client: client,
|
1127
|
+
ecosystem,
|
1089
1128
|
}),
|
1090
1129
|
getUserPhoneNumber({
|
1091
1130
|
client: client,
|
1131
|
+
ecosystem,
|
1092
1132
|
}),
|
1093
1133
|
]);
|
1094
1134
|
|
1095
1135
|
return email || phone || null;
|
1096
1136
|
},
|
1097
|
-
enabled:
|
1137
|
+
enabled: !!adminWallet,
|
1098
1138
|
});
|
1099
1139
|
|
1100
|
-
if (isSmartWallet) {
|
1140
|
+
if (!userInfoQuery.data && isSmartWallet) {
|
1101
1141
|
return <ConnectedToSmartWallet client={client} connectLocale={locale} />;
|
1102
1142
|
}
|
1103
1143
|
|
@@ -111,6 +111,7 @@ export const ConnectWalletSocialOptions = (
|
|
111
111
|
discord: locale.signInWithDiscord,
|
112
112
|
line: "LINE",
|
113
113
|
x: "X",
|
114
|
+
coinbase: "Coinbase",
|
114
115
|
farcaster: "Farcaster",
|
115
116
|
telegram: "Telegram",
|
116
117
|
};
|
@@ -134,6 +135,27 @@ export const ConnectWalletSocialOptions = (
|
|
134
135
|
const isEmailEnabled = emailIndex !== -1;
|
135
136
|
const phoneIndex = authOptions.indexOf("phone");
|
136
137
|
const isPhoneEnabled = phoneIndex !== -1;
|
138
|
+
const socialLogins: SocialAuthOption[] = authOptions.filter((o) =>
|
139
|
+
socialAuthOptions.includes(o as SocialAuthOption),
|
140
|
+
) as SocialAuthOption[];
|
141
|
+
|
142
|
+
const columnCount = useMemo(() => {
|
143
|
+
switch (socialLogins.length) {
|
144
|
+
case 7:
|
145
|
+
return 4;
|
146
|
+
case 6:
|
147
|
+
return 4;
|
148
|
+
default:
|
149
|
+
return 5;
|
150
|
+
}
|
151
|
+
}, [socialLogins.length]);
|
152
|
+
|
153
|
+
const socialLoginColumns: SocialAuthOption[][] = useMemo(() => {
|
154
|
+
return Array.from(
|
155
|
+
{ length: Math.ceil(socialLogins.length / columnCount) },
|
156
|
+
(_, i) => socialLogins.slice(i * columnCount, (i + 1) * columnCount),
|
157
|
+
);
|
158
|
+
}, [socialLogins, columnCount]);
|
137
159
|
|
138
160
|
const [manualInputMode, setManualInputMode] = useState<
|
139
161
|
"email" | "phone" | "none" | null
|
@@ -174,10 +196,6 @@ export const ConnectWalletSocialOptions = (
|
|
174
196
|
type = "tel";
|
175
197
|
}
|
176
198
|
|
177
|
-
const socialLogins = authOptions.filter((o) =>
|
178
|
-
socialAuthOptions.includes(o as SocialAuthOption),
|
179
|
-
);
|
180
|
-
|
181
199
|
const hasSocialLogins = socialLogins.length > 0;
|
182
200
|
const ecosystemInfo = isEcosystemWallet(wallet)
|
183
201
|
? {
|
@@ -314,49 +332,46 @@ export const ConnectWalletSocialOptions = (
|
|
314
332
|
)}
|
315
333
|
{/* Social Login */}
|
316
334
|
{hasSocialLogins && (
|
317
|
-
<Container
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
return
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
|
340
|
-
|
341
|
-
|
342
|
-
|
343
|
-
|
344
|
-
|
345
|
-
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
|
350
|
-
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
</SocialButton>
|
358
|
-
);
|
359
|
-
})}
|
335
|
+
<Container flex="column" gap={socialLogins.length > 4 ? "xs" : "sm"}>
|
336
|
+
{socialLoginColumns.map((column) => (
|
337
|
+
<SocialButtonRow key={column[0]}>
|
338
|
+
{column.map((loginMethod) => {
|
339
|
+
const imgIconSize = (() => {
|
340
|
+
if (!showOnlyIcons) {
|
341
|
+
return iconSize.md;
|
342
|
+
}
|
343
|
+
if (socialLogins.length > 4) {
|
344
|
+
return iconSize.md;
|
345
|
+
}
|
346
|
+
return iconSize.lg;
|
347
|
+
})();
|
348
|
+
return (
|
349
|
+
<SocialButton
|
350
|
+
aria-label={`Login with ${loginMethod}`}
|
351
|
+
data-variant={showOnlyIcons ? "icon" : "full"}
|
352
|
+
key={loginMethod}
|
353
|
+
variant={"outline"}
|
354
|
+
disabled={props.disabled}
|
355
|
+
onClick={() => {
|
356
|
+
handleSocialLogin(loginMethod as SocialAuthOption);
|
357
|
+
}}
|
358
|
+
style={{
|
359
|
+
flexGrow: socialLogins.length < 7 ? 1 : 0,
|
360
|
+
}}
|
361
|
+
>
|
362
|
+
<Img
|
363
|
+
src={socialIcons[loginMethod as SocialAuthOption]}
|
364
|
+
width={imgIconSize}
|
365
|
+
height={imgIconSize}
|
366
|
+
client={props.client}
|
367
|
+
/>
|
368
|
+
{!showOnlyIcons &&
|
369
|
+
`${socialLogins.length === 1 ? "Continue with " : ""}${loginMethodsLabel[loginMethod as SocialAuthOption]}`}
|
370
|
+
</SocialButton>
|
371
|
+
);
|
372
|
+
})}
|
373
|
+
</SocialButtonRow>
|
374
|
+
))}
|
360
375
|
</Container>
|
361
376
|
)}
|
362
377
|
|
@@ -475,8 +490,27 @@ export const ConnectWalletSocialOptions = (
|
|
475
490
|
);
|
476
491
|
};
|
477
492
|
|
493
|
+
const SocialButtonRow = (props: { children: React.ReactNode[] }) => (
|
494
|
+
<Container
|
495
|
+
flex="row"
|
496
|
+
center="x"
|
497
|
+
gap={props.children.length > 4 ? "xs" : "sm"}
|
498
|
+
style={{
|
499
|
+
justifyContent: "center",
|
500
|
+
display: "flex",
|
501
|
+
...{
|
502
|
+
"& > *": {
|
503
|
+
flexBasis: `${100 / props.children.length}%`,
|
504
|
+
maxWidth: `${100 / props.children.length}%`,
|
505
|
+
},
|
506
|
+
},
|
507
|
+
}}
|
508
|
+
>
|
509
|
+
{props.children}
|
510
|
+
</Container>
|
511
|
+
);
|
512
|
+
|
478
513
|
const SocialButton = /* @__PURE__ */ styled(Button)({
|
479
|
-
flexGrow: 1,
|
480
514
|
"&[data-variant='full']": {
|
481
515
|
display: "flex",
|
482
516
|
justifyContent: "flex-start",
|
@@ -41,10 +41,11 @@ function getOauthLoginPath(
|
|
41
41
|
case "line":
|
42
42
|
case "x":
|
43
43
|
case "guest":
|
44
|
+
case "coinbase":
|
44
45
|
case "discord":
|
45
46
|
return getLoginUrl({ authOption, client, ecosystem });
|
46
47
|
default:
|
47
|
-
|
48
|
+
throw new Error(`Unsupported auth option: ${authOption}`);
|
48
49
|
}
|
49
50
|
}
|
50
51
|
|
package/src/utils/fetch.ts
CHANGED
@@ -32,19 +32,26 @@ export function getClientFetch(client: ThirdwebClient, ecosystem?: Ecosystem) {
|
|
32
32
|
if (!headers) {
|
33
33
|
headers = new Headers();
|
34
34
|
}
|
35
|
+
// auth token if secret key === jwt
|
35
36
|
const authToken =
|
36
37
|
client.secretKey && isJWT(client.secretKey)
|
37
38
|
? client.secretKey
|
38
39
|
: undefined;
|
40
|
+
// secret key if secret key !== jwt
|
41
|
+
const secretKey =
|
42
|
+
client.secretKey && !isJWT(client.secretKey)
|
43
|
+
? client.secretKey
|
44
|
+
: undefined;
|
45
|
+
const clientId = client.clientId;
|
39
46
|
|
40
47
|
// if we have an auth token set, use that (thirdweb.com/dashboard sets this for the user)
|
41
48
|
// pay urls should never send the auth token, because we always want the "developer" to be the one making the request, not the "end user"
|
42
49
|
if (authToken && !isPayUrl(url)) {
|
43
50
|
headers.set("authorization", `Bearer ${authToken}`);
|
44
|
-
} else if (
|
45
|
-
headers.set("x-secret-key",
|
46
|
-
} else if (
|
47
|
-
headers.set("x-client-id",
|
51
|
+
} else if (secretKey) {
|
52
|
+
headers.set("x-secret-key", secretKey);
|
53
|
+
} else if (clientId) {
|
54
|
+
headers.set("x-client-id", clientId);
|
48
55
|
}
|
49
56
|
|
50
57
|
if (ecosystem) {
|
package/src/version.ts
CHANGED
@@ -1 +1 @@
|
|
1
|
-
export const version = "5.
|
1
|
+
export const version = "5.58.0";
|
@@ -67,6 +67,7 @@ export type AuthArgsType = (MultiStepAuthArgsType | SingleStepAuthArgsType) & {
|
|
67
67
|
export enum RecoveryShareManagement {
|
68
68
|
USER_MANAGED = "USER_MANAGED",
|
69
69
|
CLOUD_MANAGED = "AWS_MANAGED",
|
70
|
+
ENCLAVE = "ENCLAVE",
|
70
71
|
}
|
71
72
|
|
72
73
|
// TODO: remove usage of enums, instead use object with as const
|
@@ -81,6 +82,7 @@ export enum AuthProvider {
|
|
81
82
|
APPLE = "Apple",
|
82
83
|
PASSKEY = "Passkey",
|
83
84
|
DISCORD = "Discord",
|
85
|
+
COINBASE = "Coinbase",
|
84
86
|
X = "X",
|
85
87
|
LINE = "Line",
|
86
88
|
FARCASTER = "Farcaster",
|
@@ -133,7 +135,8 @@ export type AuthStoredTokenWithCookieReturnType = {
|
|
133
135
|
};
|
134
136
|
};
|
135
137
|
export type AuthAndWalletRpcReturnType = AuthStoredTokenWithCookieReturnType & {
|
136
|
-
|
138
|
+
// Will just be WalletAddressObjectType for enclave wallets
|
139
|
+
walletDetails: SetUpWalletRpcReturnType | WalletAddressObjectType;
|
137
140
|
};
|
138
141
|
|
139
142
|
export type AuthLoginReturnType = { user: InitializedUser };
|
@@ -151,6 +154,7 @@ export type AuthDetails = (
|
|
151
154
|
encryptionKey?: string;
|
152
155
|
backupRecoveryCodes?: string[];
|
153
156
|
recoveryShareManagement: RecoveryShareManagement;
|
157
|
+
walletType?: "sharded" | "enclave";
|
154
158
|
};
|
155
159
|
|
156
160
|
export type InitializedUser = {
|
@@ -239,4 +243,5 @@ export type GetUser =
|
|
239
243
|
|
240
244
|
export type GetAuthenticatedUserParams = {
|
241
245
|
client: ThirdwebClient;
|
246
|
+
ecosystem?: Ecosystem;
|
242
247
|
};
|