@account-kit/signer 4.0.0-alpha.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/LICENSE +21 -0
- package/dist/cjs/base.d.ts +37 -0
- package/dist/cjs/base.js +292 -0
- package/dist/cjs/base.js.map +1 -0
- package/dist/cjs/client/base.d.ts +230 -0
- package/dist/cjs/client/base.js +298 -0
- package/dist/cjs/client/base.js.map +1 -0
- package/dist/cjs/client/index.d.ts +146 -0
- package/dist/cjs/client/index.js +260 -0
- package/dist/cjs/client/index.js.map +1 -0
- package/dist/cjs/client/types.d.ts +106 -0
- package/dist/cjs/client/types.js +3 -0
- package/dist/cjs/client/types.js.map +1 -0
- package/dist/cjs/errors.d.ts +4 -0
- package/dist/cjs/errors.js +16 -0
- package/dist/cjs/errors.js.map +1 -0
- package/dist/cjs/index.d.ts +8 -0
- package/dist/cjs/index.js +14 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/session/manager.d.ts +45 -0
- package/dist/cjs/session/manager.js +230 -0
- package/dist/cjs/session/manager.js.map +1 -0
- package/dist/cjs/session/types.d.ts +16 -0
- package/dist/cjs/session/types.js +3 -0
- package/dist/cjs/session/types.js.map +1 -0
- package/dist/cjs/signer.d.ts +262 -0
- package/dist/cjs/signer.js +34 -0
- package/dist/cjs/signer.js.map +1 -0
- package/dist/cjs/types.d.ts +14 -0
- package/dist/cjs/types.js +12 -0
- package/dist/cjs/types.js.map +1 -0
- package/dist/cjs/utils/base64UrlEncode.d.ts +1 -0
- package/dist/cjs/utils/base64UrlEncode.js +12 -0
- package/dist/cjs/utils/base64UrlEncode.js.map +1 -0
- package/dist/cjs/utils/generateRandomBuffer.d.ts +1 -0
- package/dist/cjs/utils/generateRandomBuffer.js +10 -0
- package/dist/cjs/utils/generateRandomBuffer.js.map +1 -0
- package/dist/cjs/version.d.ts +1 -0
- package/dist/cjs/version.js +5 -0
- package/dist/cjs/version.js.map +1 -0
- package/dist/esm/base.d.ts +37 -0
- package/dist/esm/base.js +288 -0
- package/dist/esm/base.js.map +1 -0
- package/dist/esm/client/base.d.ts +230 -0
- package/dist/esm/client/base.js +291 -0
- package/dist/esm/client/base.js.map +1 -0
- package/dist/esm/client/index.d.ts +146 -0
- package/dist/esm/client/index.js +256 -0
- package/dist/esm/client/index.js.map +1 -0
- package/dist/esm/client/types.d.ts +106 -0
- package/dist/esm/client/types.js +2 -0
- package/dist/esm/client/types.js.map +1 -0
- package/dist/esm/errors.d.ts +4 -0
- package/dist/esm/errors.js +12 -0
- package/dist/esm/errors.js.map +1 -0
- package/dist/esm/index.d.ts +8 -0
- package/dist/esm/index.js +6 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/package.json +1 -0
- package/dist/esm/session/manager.d.ts +45 -0
- package/dist/esm/session/manager.js +223 -0
- package/dist/esm/session/manager.js.map +1 -0
- package/dist/esm/session/types.d.ts +16 -0
- package/dist/esm/session/types.js +2 -0
- package/dist/esm/session/types.js.map +1 -0
- package/dist/esm/signer.d.ts +262 -0
- package/dist/esm/signer.js +30 -0
- package/dist/esm/signer.js.map +1 -0
- package/dist/esm/types.d.ts +14 -0
- package/dist/esm/types.js +9 -0
- package/dist/esm/types.js.map +1 -0
- package/dist/esm/utils/base64UrlEncode.d.ts +1 -0
- package/dist/esm/utils/base64UrlEncode.js +8 -0
- package/dist/esm/utils/base64UrlEncode.js.map +1 -0
- package/dist/esm/utils/generateRandomBuffer.d.ts +1 -0
- package/dist/esm/utils/generateRandomBuffer.js +6 -0
- package/dist/esm/utils/generateRandomBuffer.js.map +1 -0
- package/dist/esm/version.d.ts +1 -0
- package/dist/esm/version.js +2 -0
- package/dist/esm/version.js.map +1 -0
- package/dist/types/base.d.ts +89 -0
- package/dist/types/base.d.ts.map +1 -0
- package/dist/types/client/base.d.ts +246 -0
- package/dist/types/client/base.d.ts.map +1 -0
- package/dist/types/client/index.d.ts +151 -0
- package/dist/types/client/index.d.ts.map +1 -0
- package/dist/types/client/types.d.ts +107 -0
- package/dist/types/client/types.d.ts.map +1 -0
- package/dist/types/errors.d.ts +5 -0
- package/dist/types/errors.d.ts.map +1 -0
- package/dist/types/index.d.ts +9 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/session/manager.d.ts +46 -0
- package/dist/types/session/manager.d.ts.map +1 -0
- package/dist/types/session/types.d.ts +17 -0
- package/dist/types/session/types.d.ts.map +1 -0
- package/dist/types/signer.d.ts +269 -0
- package/dist/types/signer.d.ts.map +1 -0
- package/dist/types/types.d.ts +15 -0
- package/dist/types/types.d.ts.map +1 -0
- package/dist/types/utils/base64UrlEncode.d.ts +2 -0
- package/dist/types/utils/base64UrlEncode.d.ts.map +1 -0
- package/dist/types/utils/generateRandomBuffer.d.ts +2 -0
- package/dist/types/utils/generateRandomBuffer.d.ts.map +1 -0
- package/dist/types/version.d.ts +2 -0
- package/dist/types/version.d.ts.map +1 -0
- package/package.json +79 -0
- package/src/base.ts +386 -0
- package/src/client/base.ts +399 -0
- package/src/client/index.ts +267 -0
- package/src/client/types.ts +121 -0
- package/src/errors.ts +15 -0
- package/src/index.ts +10 -0
- package/src/session/manager.ts +249 -0
- package/src/session/types.ts +16 -0
- package/src/signer.ts +55 -0
- package/src/types.ts +17 -0
- package/src/utils/base64UrlEncode.ts +7 -0
- package/src/utils/generateRandomBuffer.ts +5 -0
- package/src/version.ts +3 -0
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { type SmartAccountAuthenticator } from "@aa-sdk/core";
|
|
2
|
+
import { type CustomSource, type Hex, type LocalAccount, type SignableMessage, type TypedData, type TypedDataDefinition } from "viem";
|
|
3
|
+
import type { BaseSignerClient } from "./client/base";
|
|
4
|
+
import type { User } from "./client/types";
|
|
5
|
+
import { type SessionManagerParams } from "./session/manager.js";
|
|
6
|
+
import type { AuthParams } from "./signer";
|
|
7
|
+
import { type AlchemySignerEvents } from "./types.js";
|
|
8
|
+
export interface BaseAlchemySignerParams<TClient extends BaseSignerClient> {
|
|
9
|
+
client: TClient;
|
|
10
|
+
sessionConfig?: Omit<SessionManagerParams, "client">;
|
|
11
|
+
}
|
|
12
|
+
export declare abstract class BaseAlchemySigner<TClient extends BaseSignerClient> implements SmartAccountAuthenticator<AuthParams, User, TClient> {
|
|
13
|
+
signerType: string;
|
|
14
|
+
inner: TClient;
|
|
15
|
+
private sessionManager;
|
|
16
|
+
private store;
|
|
17
|
+
constructor({ client, sessionConfig }: BaseAlchemySignerParams<TClient>);
|
|
18
|
+
/**
|
|
19
|
+
* Allows you to subscribe to events emitted by the signer
|
|
20
|
+
*
|
|
21
|
+
* @param event the event to subscribe to
|
|
22
|
+
* @param listener the function to run when the event is emitted
|
|
23
|
+
* @returns a function to remove the listener
|
|
24
|
+
*/
|
|
25
|
+
on: <E extends keyof AlchemySignerEvents>(event: E, listener: AlchemySignerEvents[E]) => () => void;
|
|
26
|
+
/**
|
|
27
|
+
* Authenticate a user with either an email or a passkey and create a session for that user
|
|
28
|
+
*
|
|
29
|
+
* @param params - undefined if passkey login, otherwise an object with email and bundle to resolve
|
|
30
|
+
* @returns the user that was authenticated
|
|
31
|
+
*/
|
|
32
|
+
authenticate: (params: AuthParams) => Promise<User>;
|
|
33
|
+
/**
|
|
34
|
+
* NOTE: right now this only clears the session locally.
|
|
35
|
+
*/
|
|
36
|
+
disconnect: () => Promise<void>;
|
|
37
|
+
/**
|
|
38
|
+
* Gets the current logged in user
|
|
39
|
+
* If a user has an ongoing session, it will use that session and
|
|
40
|
+
* try to authenticate
|
|
41
|
+
*
|
|
42
|
+
* @throws if there is no user logged in
|
|
43
|
+
* @returns the current user
|
|
44
|
+
*/
|
|
45
|
+
getAuthDetails: () => Promise<User>;
|
|
46
|
+
getAddress: () => Promise<`0x${string}`>;
|
|
47
|
+
signMessage: (msg: SignableMessage) => Promise<`0x${string}`>;
|
|
48
|
+
signTypedData: <const TTypedData extends TypedData | {
|
|
49
|
+
[key: string]: unknown;
|
|
50
|
+
}, TPrimaryType extends keyof TTypedData | "EIP712Domain" = keyof TTypedData>(params: TypedDataDefinition<TTypedData, TPrimaryType>) => Promise<Hex>;
|
|
51
|
+
signTransaction: CustomSource["signTransaction"];
|
|
52
|
+
/**
|
|
53
|
+
* Unauthenticated call to look up a user's organizationId by email
|
|
54
|
+
*
|
|
55
|
+
* @param email the email to lookup
|
|
56
|
+
* @returns the organization id for the user if they exist
|
|
57
|
+
*/
|
|
58
|
+
getUser: (email: string) => Promise<{
|
|
59
|
+
orgId: string;
|
|
60
|
+
} | null>;
|
|
61
|
+
/**
|
|
62
|
+
* Adds a passkey to the user's account
|
|
63
|
+
*
|
|
64
|
+
* @param params optional parameters for the passkey creation
|
|
65
|
+
* @returns an array of the authenticator ids added to the user
|
|
66
|
+
*/
|
|
67
|
+
addPasskey: (params?: CredentialCreationOptions) => Promise<string[]>;
|
|
68
|
+
/**
|
|
69
|
+
* Used to export the wallet for a given user
|
|
70
|
+
* If the user is authenticated with an Email, this will return a seed phrase
|
|
71
|
+
* If the user is authenticated with a Passkey, this will return a private key
|
|
72
|
+
*
|
|
73
|
+
* @param params export wallet parameters
|
|
74
|
+
* @returns true if the wallet was exported successfully
|
|
75
|
+
*/
|
|
76
|
+
exportWallet: (params: Parameters<(typeof this.inner)["exportWallet"]>[0]) => Promise<boolean>;
|
|
77
|
+
/**
|
|
78
|
+
* This method lets you adapt your AlchemySigner to a viem LocalAccount, which
|
|
79
|
+
* will let you use the signer as an EOA directly.
|
|
80
|
+
*
|
|
81
|
+
* @throws if your signer is not authenticated
|
|
82
|
+
* @returns a LocalAccount object that can be used with viem's wallet client
|
|
83
|
+
*/
|
|
84
|
+
toViemAccount: () => LocalAccount;
|
|
85
|
+
private authenticateWithEmail;
|
|
86
|
+
private authenticateWithPasskey;
|
|
87
|
+
private registerListeners;
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=base.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,EAKL,KAAK,YAAY,EACjB,KAAK,GAAG,EACR,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,SAAS,EACd,KAAK,mBAAmB,EACzB,MAAM,MAAM,CAAC;AAKd,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,uBAAuB,CAAC,OAAO,SAAS,gBAAgB;IACvE,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,CAAC,EAAE,IAAI,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;CACtD;AAYD,8BAAsB,iBAAiB,CAAC,OAAO,SAAS,gBAAgB,CACtE,YAAW,yBAAyB,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC;IAE/D,UAAU,EAAE,MAAM,CAAoB;IACtC,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,KAAK,CAAgB;gBAEjB,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,uBAAuB,CAAC,OAAO,CAAC;IAiCvE;;;;;;OAMG;IACH,EAAE,kGAmCA;IAEF;;;;;OAKG;IACH,YAAY,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,CAMjD;IAEF;;OAEG;IACH,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAE7B;IAEF;;;;;;;OAOG;IACH,cAAc,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAOjC;IAEF,UAAU,EAAE,MAAM,OAAO,CAAC,KAAK,MAAM,EAAE,CAAC,CAItC;IAEF,WAAW,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,KAAK,MAAM,EAAE,CAAC,CAM3D;IAEF,aAAa,EAAE,CACb,KAAK,CAAC,UAAU,SAAS,SAAS,GAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,EAC/D,YAAY,SAAS,MAAM,UAAU,GAAG,cAAc,GAAG,MAAM,UAAU,EAEzE,MAAM,EAAE,mBAAmB,CAAC,UAAU,EAAE,YAAY,CAAC,KAClD,OAAO,CAAC,GAAG,CAAC,CAIf;IAEF,eAAe,EAAE,YAAY,CAAC,iBAAiB,CAAC,CAc9C;IAEF;;;;;OAKG;IACH,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAY3D;IAEF;;;;;OAKG;IACH,UAAU,EAAE,CAAC,MAAM,CAAC,EAAE,yBAAyB,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAGjE;IAEJ;;;;;;;OAOG;IACH,YAAY,EAAE,CACZ,MAAM,EAAE,UAAU,CAAC,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,KACvD,OAAO,CAAC,OAAO,CAAC,CAEnB;IAEF;;;;;;OAMG;IACH,aAAa,EAAE,MAAM,YAAY,CAkB/B;IAEF,OAAO,CAAC,qBAAqB,CAkD3B;IAEF,OAAO,CAAC,uBAAuB,CAsB7B;IAEF,OAAO,CAAC,iBAAiB,CA0BvB;CACH"}
|
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
import { type ConnectionConfig } from "@aa-sdk/core";
|
|
2
|
+
import { TurnkeyClient } from "@turnkey/http";
|
|
3
|
+
import EventEmitter from "eventemitter3";
|
|
4
|
+
import type { Hex } from "viem";
|
|
5
|
+
import type { AlchemySignerClientEvents, CreateAccountParams, EmailAuthParams, GetWebAuthnAttestationResult, SignerBody, SignerResponse, SignupResponse, User } from "./types.js";
|
|
6
|
+
export interface BaseSignerClientParams {
|
|
7
|
+
stamper: TurnkeyClient["stamper"];
|
|
8
|
+
connection: ConnectionConfig;
|
|
9
|
+
rootOrgId?: string;
|
|
10
|
+
rpId?: string;
|
|
11
|
+
}
|
|
12
|
+
export type ExportWalletStamper = TurnkeyClient["stamper"] & {
|
|
13
|
+
injectWalletExportBundle(bundle: string): Promise<boolean>;
|
|
14
|
+
injectKeyExportBundle(bundle: string): Promise<boolean>;
|
|
15
|
+
publicKey(): string | null;
|
|
16
|
+
};
|
|
17
|
+
export declare abstract class BaseSignerClient<TExportWalletParams = unknown> {
|
|
18
|
+
private _user;
|
|
19
|
+
private connectionConfig;
|
|
20
|
+
protected turnkeyClient: TurnkeyClient;
|
|
21
|
+
protected rootOrg: string;
|
|
22
|
+
protected eventEmitter: EventEmitter<AlchemySignerClientEvents>;
|
|
23
|
+
constructor(params: BaseSignerClientParams);
|
|
24
|
+
protected get user(): User | undefined;
|
|
25
|
+
protected set user(user: User | undefined);
|
|
26
|
+
protected setStamper(stamper: TurnkeyClient["stamper"]): void;
|
|
27
|
+
protected exportWalletInner(params: {
|
|
28
|
+
exportStamper: ExportWalletStamper;
|
|
29
|
+
exportAs: "SEED_PHRASE" | "PRIVATE_KEY";
|
|
30
|
+
}): Promise<boolean>;
|
|
31
|
+
abstract createAccount(params: CreateAccountParams): Promise<SignupResponse>;
|
|
32
|
+
abstract initEmailAuth(params: Omit<EmailAuthParams, "targetPublicKey">): Promise<{
|
|
33
|
+
orgId: string;
|
|
34
|
+
}>;
|
|
35
|
+
abstract completeEmailAuth(params: {
|
|
36
|
+
bundle: string;
|
|
37
|
+
orgId: string;
|
|
38
|
+
}): Promise<User>;
|
|
39
|
+
abstract disconnect(): Promise<void>;
|
|
40
|
+
abstract exportWallet(params: TExportWalletParams): Promise<boolean>;
|
|
41
|
+
abstract lookupUserWithPasskey(user?: User): Promise<User>;
|
|
42
|
+
protected abstract getWebAuthnAttestation(options: CredentialCreationOptions, userDetails?: {
|
|
43
|
+
username: string;
|
|
44
|
+
}): Promise<GetWebAuthnAttestationResult>;
|
|
45
|
+
/**
|
|
46
|
+
* Listen to events emitted by the client
|
|
47
|
+
*
|
|
48
|
+
* @param event the event you want to listen to
|
|
49
|
+
* @param listener the callback function to execute when an event is fired
|
|
50
|
+
* @returns a function that will remove the listener when called
|
|
51
|
+
*/
|
|
52
|
+
on: <E extends keyof AlchemySignerClientEvents>(event: E, listener: AlchemySignerClientEvents[E]) => () => EventEmitter<AlchemySignerClientEvents, any>;
|
|
53
|
+
addPasskey: (options: CredentialCreationOptions) => Promise<string[]>;
|
|
54
|
+
whoami: (orgId?: string | undefined) => Promise<User>;
|
|
55
|
+
lookupUserByEmail: (email: string) => Promise<{
|
|
56
|
+
orgId: string | null;
|
|
57
|
+
}>;
|
|
58
|
+
/**
|
|
59
|
+
* This will sign a message with the user's private key, without doing any transformations on the message.
|
|
60
|
+
* For SignMessage or SignTypedData, the caller should hash the message before calling this method and pass
|
|
61
|
+
* that result here.
|
|
62
|
+
*
|
|
63
|
+
* @param msg the hex representation of the bytes to sign
|
|
64
|
+
* @returns the signature over the raw hex
|
|
65
|
+
*/
|
|
66
|
+
signRawMessage: (msg: Hex) => Promise<`0x${string}`>;
|
|
67
|
+
getUser: () => User | null;
|
|
68
|
+
request: <R extends "/v1/signup" | "/v1/whoami" | "/v1/auth" | "/v1/lookup" | "/v1/sign-payload">(route: R, body: SignerBody<R>) => Promise<SignerResponse<R>>;
|
|
69
|
+
private exportAsSeedPhrase;
|
|
70
|
+
private exportAsPrivateKey;
|
|
71
|
+
protected pollActivityCompletion: <T extends "createOrganizationResult" | "createAuthenticatorsResult" | "createUsersResult" | "createPrivateKeysResult" | "createInvitationsResult" | "acceptInvitationResult" | "signRawPayloadResult" | "createPolicyResult" | "disablePrivateKeyResult" | "deleteUsersResult" | "deleteAuthenticatorsResult" | "deleteInvitationResult" | "deleteOrganizationResult" | "deletePolicyResult" | "createUserTagResult" | "deleteUserTagsResult" | "signTransactionResult" | "deleteApiKeysResult" | "createApiKeysResult" | "createPrivateKeyTagResult" | "deletePrivateKeyTagsResult" | "setPaymentMethodResult" | "activateBillingTierResult" | "deletePaymentMethodResult" | "createApiOnlyUsersResult" | "updateRootQuorumResult" | "updateUserTagResult" | "updatePrivateKeyTagResult" | "createSubOrganizationResult" | "updateAllowedOriginsResult" | "createPrivateKeysResultV2" | "updateUserResult" | "updatePolicyResult" | "createSubOrganizationResultV3" | "createWalletResult" | "createWalletAccountsResult" | "initUserEmailRecoveryResult" | "recoverUserResult" | "setOrganizationFeatureResult" | "removeOrganizationFeatureResult" | "exportPrivateKeyResult" | "exportWalletResult" | "createSubOrganizationResultV4" | "emailAuthResult" | "exportWalletAccountResult">(activity: Awaited<ReturnType<(typeof this.turnkeyClient)["getActivity"]>>["activity"], organizationId: string, resultKey: T) => Promise<NonNullable<{
|
|
72
|
+
createOrganizationResult?: {
|
|
73
|
+
organizationId: string;
|
|
74
|
+
} | undefined;
|
|
75
|
+
createAuthenticatorsResult?: {
|
|
76
|
+
authenticatorIds: string[];
|
|
77
|
+
} | undefined;
|
|
78
|
+
createUsersResult?: {
|
|
79
|
+
userIds: string[];
|
|
80
|
+
} | undefined;
|
|
81
|
+
createPrivateKeysResult?: {
|
|
82
|
+
privateKeyIds: string[];
|
|
83
|
+
} | undefined;
|
|
84
|
+
createInvitationsResult?: {
|
|
85
|
+
invitationIds: string[];
|
|
86
|
+
} | undefined;
|
|
87
|
+
acceptInvitationResult?: {
|
|
88
|
+
invitationId: string;
|
|
89
|
+
userId: string;
|
|
90
|
+
} | undefined;
|
|
91
|
+
signRawPayloadResult?: {
|
|
92
|
+
r: string;
|
|
93
|
+
s: string;
|
|
94
|
+
v: string;
|
|
95
|
+
} | undefined;
|
|
96
|
+
createPolicyResult?: {
|
|
97
|
+
policyId: string;
|
|
98
|
+
} | undefined;
|
|
99
|
+
disablePrivateKeyResult?: {
|
|
100
|
+
privateKeyId: string;
|
|
101
|
+
} | undefined;
|
|
102
|
+
deleteUsersResult?: {
|
|
103
|
+
userIds: string[];
|
|
104
|
+
} | undefined;
|
|
105
|
+
deleteAuthenticatorsResult?: {
|
|
106
|
+
authenticatorIds: string[];
|
|
107
|
+
} | undefined;
|
|
108
|
+
deleteInvitationResult?: {
|
|
109
|
+
invitationId: string;
|
|
110
|
+
} | undefined;
|
|
111
|
+
deleteOrganizationResult?: {
|
|
112
|
+
organizationId: string;
|
|
113
|
+
} | undefined;
|
|
114
|
+
deletePolicyResult?: {
|
|
115
|
+
policyId: string;
|
|
116
|
+
} | undefined;
|
|
117
|
+
createUserTagResult?: {
|
|
118
|
+
userTagId: string;
|
|
119
|
+
userIds: string[];
|
|
120
|
+
} | undefined;
|
|
121
|
+
deleteUserTagsResult?: {
|
|
122
|
+
userTagIds: string[];
|
|
123
|
+
userIds: string[];
|
|
124
|
+
} | undefined;
|
|
125
|
+
signTransactionResult?: {
|
|
126
|
+
signedTransaction: string;
|
|
127
|
+
} | undefined;
|
|
128
|
+
deleteApiKeysResult?: {
|
|
129
|
+
apiKeyIds: string[];
|
|
130
|
+
} | undefined;
|
|
131
|
+
createApiKeysResult?: {
|
|
132
|
+
apiKeyIds: string[];
|
|
133
|
+
} | undefined;
|
|
134
|
+
createPrivateKeyTagResult?: {
|
|
135
|
+
privateKeyTagId: string;
|
|
136
|
+
privateKeyIds: string[];
|
|
137
|
+
} | undefined;
|
|
138
|
+
deletePrivateKeyTagsResult?: {
|
|
139
|
+
privateKeyTagIds: string[];
|
|
140
|
+
privateKeyIds: string[];
|
|
141
|
+
} | undefined;
|
|
142
|
+
setPaymentMethodResult?: {
|
|
143
|
+
lastFour: string;
|
|
144
|
+
cardHolderName: string;
|
|
145
|
+
cardHolderEmail: string;
|
|
146
|
+
} | undefined;
|
|
147
|
+
activateBillingTierResult?: {
|
|
148
|
+
productId: string;
|
|
149
|
+
} | undefined;
|
|
150
|
+
deletePaymentMethodResult?: {
|
|
151
|
+
paymentMethodId: string;
|
|
152
|
+
} | undefined;
|
|
153
|
+
createApiOnlyUsersResult?: {
|
|
154
|
+
userIds: string[];
|
|
155
|
+
} | undefined;
|
|
156
|
+
updateRootQuorumResult?: {
|
|
157
|
+
[key: string]: unknown;
|
|
158
|
+
} | undefined;
|
|
159
|
+
updateUserTagResult?: {
|
|
160
|
+
userTagId: string;
|
|
161
|
+
} | undefined;
|
|
162
|
+
updatePrivateKeyTagResult?: {
|
|
163
|
+
privateKeyTagId: string;
|
|
164
|
+
} | undefined;
|
|
165
|
+
createSubOrganizationResult?: {
|
|
166
|
+
subOrganizationId: string;
|
|
167
|
+
} | undefined;
|
|
168
|
+
updateAllowedOriginsResult?: {
|
|
169
|
+
[key: string]: unknown;
|
|
170
|
+
} | undefined;
|
|
171
|
+
createPrivateKeysResultV2?: {
|
|
172
|
+
privateKeys: {
|
|
173
|
+
privateKeyId?: string | undefined;
|
|
174
|
+
addresses?: {
|
|
175
|
+
format?: "ADDRESS_FORMAT_UNCOMPRESSED" | "ADDRESS_FORMAT_COMPRESSED" | "ADDRESS_FORMAT_ETHEREUM" | "ADDRESS_FORMAT_SOLANA" | "ADDRESS_FORMAT_COSMOS" | undefined;
|
|
176
|
+
address?: string | undefined;
|
|
177
|
+
}[] | undefined;
|
|
178
|
+
}[];
|
|
179
|
+
} | undefined;
|
|
180
|
+
updateUserResult?: {
|
|
181
|
+
userId: string;
|
|
182
|
+
} | undefined;
|
|
183
|
+
updatePolicyResult?: {
|
|
184
|
+
policyId: string;
|
|
185
|
+
} | undefined;
|
|
186
|
+
createSubOrganizationResultV3?: {
|
|
187
|
+
subOrganizationId: string;
|
|
188
|
+
privateKeys: {
|
|
189
|
+
privateKeyId?: string | undefined;
|
|
190
|
+
addresses?: {
|
|
191
|
+
format?: "ADDRESS_FORMAT_UNCOMPRESSED" | "ADDRESS_FORMAT_COMPRESSED" | "ADDRESS_FORMAT_ETHEREUM" | "ADDRESS_FORMAT_SOLANA" | "ADDRESS_FORMAT_COSMOS" | undefined;
|
|
192
|
+
address?: string | undefined;
|
|
193
|
+
}[] | undefined;
|
|
194
|
+
}[];
|
|
195
|
+
} | undefined;
|
|
196
|
+
createWalletResult?: {
|
|
197
|
+
walletId: string;
|
|
198
|
+
addresses: string[];
|
|
199
|
+
} | undefined;
|
|
200
|
+
createWalletAccountsResult?: {
|
|
201
|
+
addresses: string[];
|
|
202
|
+
} | undefined;
|
|
203
|
+
initUserEmailRecoveryResult?: {
|
|
204
|
+
userId: string;
|
|
205
|
+
} | undefined;
|
|
206
|
+
recoverUserResult?: {
|
|
207
|
+
authenticatorId: string[];
|
|
208
|
+
} | undefined;
|
|
209
|
+
setOrganizationFeatureResult?: {
|
|
210
|
+
features: {
|
|
211
|
+
name?: "FEATURE_NAME_ROOT_USER_EMAIL_RECOVERY" | "FEATURE_NAME_WEBAUTHN_ORIGINS" | "FEATURE_NAME_EMAIL_AUTH" | "FEATURE_NAME_EMAIL_RECOVERY" | undefined;
|
|
212
|
+
value?: string | undefined;
|
|
213
|
+
}[];
|
|
214
|
+
} | undefined;
|
|
215
|
+
removeOrganizationFeatureResult?: {
|
|
216
|
+
features: {
|
|
217
|
+
name?: "FEATURE_NAME_ROOT_USER_EMAIL_RECOVERY" | "FEATURE_NAME_WEBAUTHN_ORIGINS" | "FEATURE_NAME_EMAIL_AUTH" | "FEATURE_NAME_EMAIL_RECOVERY" | undefined;
|
|
218
|
+
value?: string | undefined;
|
|
219
|
+
}[];
|
|
220
|
+
} | undefined;
|
|
221
|
+
exportPrivateKeyResult?: {
|
|
222
|
+
privateKeyId: string;
|
|
223
|
+
exportBundle: string;
|
|
224
|
+
} | undefined;
|
|
225
|
+
exportWalletResult?: {
|
|
226
|
+
walletId: string;
|
|
227
|
+
exportBundle: string;
|
|
228
|
+
} | undefined;
|
|
229
|
+
createSubOrganizationResultV4?: {
|
|
230
|
+
subOrganizationId: string;
|
|
231
|
+
wallet?: {
|
|
232
|
+
walletId: string;
|
|
233
|
+
addresses: string[];
|
|
234
|
+
} | undefined;
|
|
235
|
+
} | undefined;
|
|
236
|
+
emailAuthResult?: {
|
|
237
|
+
userId: string;
|
|
238
|
+
apiKeyId: string;
|
|
239
|
+
} | undefined;
|
|
240
|
+
exportWalletAccountResult?: {
|
|
241
|
+
address: string;
|
|
242
|
+
exportBundle: string;
|
|
243
|
+
} | undefined;
|
|
244
|
+
}[T]>>;
|
|
245
|
+
}
|
|
246
|
+
//# sourceMappingURL=base.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/client/base.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { BaseSignerClient } from "./base.js";
|
|
3
|
+
import type { CreateAccountParams, CredentialCreationOptionOverrides, EmailAuthParams, ExportWalletParams, User } from "./types.js";
|
|
4
|
+
export declare const AlchemySignerClientParamsSchema: z.ZodObject<{
|
|
5
|
+
connection: z.ZodUnion<[z.ZodObject<{
|
|
6
|
+
rpcUrl: z.ZodOptional<z.ZodNever>;
|
|
7
|
+
apiKey: z.ZodString;
|
|
8
|
+
jwt: z.ZodOptional<z.ZodNever>;
|
|
9
|
+
}, "strip", z.ZodTypeAny, {
|
|
10
|
+
apiKey: string;
|
|
11
|
+
rpcUrl?: undefined;
|
|
12
|
+
jwt?: undefined;
|
|
13
|
+
}, {
|
|
14
|
+
apiKey: string;
|
|
15
|
+
rpcUrl?: undefined;
|
|
16
|
+
jwt?: undefined;
|
|
17
|
+
}>, z.ZodObject<{
|
|
18
|
+
rpcUrl: z.ZodOptional<z.ZodNever>;
|
|
19
|
+
apiKey: z.ZodOptional<z.ZodNever>;
|
|
20
|
+
jwt: z.ZodString;
|
|
21
|
+
}, "strip", z.ZodTypeAny, {
|
|
22
|
+
jwt: string;
|
|
23
|
+
rpcUrl?: undefined;
|
|
24
|
+
apiKey?: undefined;
|
|
25
|
+
}, {
|
|
26
|
+
jwt: string;
|
|
27
|
+
rpcUrl?: undefined;
|
|
28
|
+
apiKey?: undefined;
|
|
29
|
+
}>, z.ZodObject<{
|
|
30
|
+
rpcUrl: z.ZodString;
|
|
31
|
+
apiKey: z.ZodOptional<z.ZodNever>;
|
|
32
|
+
jwt: z.ZodOptional<z.ZodNever>;
|
|
33
|
+
}, "strip", z.ZodTypeAny, {
|
|
34
|
+
rpcUrl: string;
|
|
35
|
+
apiKey?: undefined;
|
|
36
|
+
jwt?: undefined;
|
|
37
|
+
}, {
|
|
38
|
+
rpcUrl: string;
|
|
39
|
+
apiKey?: undefined;
|
|
40
|
+
jwt?: undefined;
|
|
41
|
+
}>, z.ZodObject<{
|
|
42
|
+
rpcUrl: z.ZodString;
|
|
43
|
+
apiKey: z.ZodOptional<z.ZodNever>;
|
|
44
|
+
jwt: z.ZodString;
|
|
45
|
+
}, "strip", z.ZodTypeAny, {
|
|
46
|
+
rpcUrl: string;
|
|
47
|
+
jwt: string;
|
|
48
|
+
apiKey?: undefined;
|
|
49
|
+
}, {
|
|
50
|
+
rpcUrl: string;
|
|
51
|
+
jwt: string;
|
|
52
|
+
apiKey?: undefined;
|
|
53
|
+
}>]>;
|
|
54
|
+
iframeConfig: z.ZodObject<{
|
|
55
|
+
iframeElementId: z.ZodDefault<z.ZodString>;
|
|
56
|
+
iframeContainerId: z.ZodString;
|
|
57
|
+
}, "strip", z.ZodTypeAny, {
|
|
58
|
+
iframeElementId: string;
|
|
59
|
+
iframeContainerId: string;
|
|
60
|
+
}, {
|
|
61
|
+
iframeContainerId: string;
|
|
62
|
+
iframeElementId?: string | undefined;
|
|
63
|
+
}>;
|
|
64
|
+
rpId: z.ZodOptional<z.ZodString>;
|
|
65
|
+
rootOrgId: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
66
|
+
}, "strip", z.ZodTypeAny, {
|
|
67
|
+
connection: {
|
|
68
|
+
apiKey: string;
|
|
69
|
+
rpcUrl?: undefined;
|
|
70
|
+
jwt?: undefined;
|
|
71
|
+
} | {
|
|
72
|
+
jwt: string;
|
|
73
|
+
rpcUrl?: undefined;
|
|
74
|
+
apiKey?: undefined;
|
|
75
|
+
} | {
|
|
76
|
+
rpcUrl: string;
|
|
77
|
+
apiKey?: undefined;
|
|
78
|
+
jwt?: undefined;
|
|
79
|
+
} | {
|
|
80
|
+
rpcUrl: string;
|
|
81
|
+
jwt: string;
|
|
82
|
+
apiKey?: undefined;
|
|
83
|
+
};
|
|
84
|
+
rootOrgId: string;
|
|
85
|
+
iframeConfig: {
|
|
86
|
+
iframeElementId: string;
|
|
87
|
+
iframeContainerId: string;
|
|
88
|
+
};
|
|
89
|
+
rpId?: string | undefined;
|
|
90
|
+
}, {
|
|
91
|
+
connection: {
|
|
92
|
+
apiKey: string;
|
|
93
|
+
rpcUrl?: undefined;
|
|
94
|
+
jwt?: undefined;
|
|
95
|
+
} | {
|
|
96
|
+
jwt: string;
|
|
97
|
+
rpcUrl?: undefined;
|
|
98
|
+
apiKey?: undefined;
|
|
99
|
+
} | {
|
|
100
|
+
rpcUrl: string;
|
|
101
|
+
apiKey?: undefined;
|
|
102
|
+
jwt?: undefined;
|
|
103
|
+
} | {
|
|
104
|
+
rpcUrl: string;
|
|
105
|
+
jwt: string;
|
|
106
|
+
apiKey?: undefined;
|
|
107
|
+
};
|
|
108
|
+
iframeConfig: {
|
|
109
|
+
iframeContainerId: string;
|
|
110
|
+
iframeElementId?: string | undefined;
|
|
111
|
+
};
|
|
112
|
+
rpId?: string | undefined;
|
|
113
|
+
rootOrgId?: string | undefined;
|
|
114
|
+
}>;
|
|
115
|
+
export type AlchemySignerClientParams = z.input<typeof AlchemySignerClientParamsSchema>;
|
|
116
|
+
/**
|
|
117
|
+
* A lower level client used by the AlchemySigner used to communicate with
|
|
118
|
+
* Alchemy's signer service.
|
|
119
|
+
*/
|
|
120
|
+
export declare class AlchemySignerWebClient extends BaseSignerClient<ExportWalletParams> {
|
|
121
|
+
private iframeStamper;
|
|
122
|
+
private webauthnStamper;
|
|
123
|
+
iframeContainerId: string;
|
|
124
|
+
constructor(params: AlchemySignerClientParams);
|
|
125
|
+
createAccount: (params: CreateAccountParams) => Promise<import("./types.js").SignupResponse>;
|
|
126
|
+
initEmailAuth: (params: Omit<EmailAuthParams, "targetPublicKey">) => Promise<{
|
|
127
|
+
orgId: string;
|
|
128
|
+
}>;
|
|
129
|
+
completeEmailAuth: ({ bundle, orgId, }: {
|
|
130
|
+
bundle: string;
|
|
131
|
+
orgId: string;
|
|
132
|
+
}) => Promise<User>;
|
|
133
|
+
lookupUserWithPasskey: (user?: User | undefined) => Promise<User>;
|
|
134
|
+
exportWallet: ({ iframeContainerId, iframeElementId, }: ExportWalletParams) => Promise<boolean>;
|
|
135
|
+
disconnect: () => Promise<void>;
|
|
136
|
+
private initIframeStamper;
|
|
137
|
+
private initWebauthnStamper;
|
|
138
|
+
protected getWebAuthnAttestation: (options?: CredentialCreationOptionOverrides, userDetails?: {
|
|
139
|
+
username: string;
|
|
140
|
+
}) => Promise<{
|
|
141
|
+
challenge: ArrayBuffer;
|
|
142
|
+
authenticatorUserId: ArrayBuffer;
|
|
143
|
+
attestation: {
|
|
144
|
+
credentialId: string;
|
|
145
|
+
clientDataJson: string;
|
|
146
|
+
attestationObject: string;
|
|
147
|
+
transports: ("AUTHENTICATOR_TRANSPORT_BLE" | "AUTHENTICATOR_TRANSPORT_INTERNAL" | "AUTHENTICATOR_TRANSPORT_NFC" | "AUTHENTICATOR_TRANSPORT_USB" | "AUTHENTICATOR_TRANSPORT_HYBRID")[];
|
|
148
|
+
};
|
|
149
|
+
}>;
|
|
150
|
+
}
|
|
151
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EACV,mBAAmB,EACnB,iCAAiC,EACjC,eAAe,EACf,kBAAkB,EAClB,IAAI,EACL,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW1C,CAAC;AAEH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAC7C,OAAO,+BAA+B,CACvC,CAAC;AAEF;;;GAGG;AACH,qBAAa,sBAAuB,SAAQ,gBAAgB,CAAC,kBAAkB,CAAC;IAC9E,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,eAAe,CAAkB;IACzC,iBAAiB,EAAE,MAAM,CAAC;gBAEd,MAAM,EAAE,yBAAyB;IAwBtC,aAAa,WAAkB,mBAAmB,kDAuCvD;IAEK,aAAa,WACV,KAAK,eAAe,EAAE,iBAAiB,CAAC;;OAYhD;IAEK,iBAAiB;gBAId,MAAM;eACP,MAAM;wBAeb;IAEK,qBAAqB,UAAgB,IAAI,GAAG,SAAS,mBAa1D;IAEK,YAAY,4CAGhB,kBAAkB,sBAmBnB;IAEK,UAAU,sBAGf;IAEF,OAAO,CAAC,iBAAiB,CAQvB;IAEF,OAAO,CAAC,mBAAmB,CAYzB;IAEF,SAAS,CAAC,sBAAsB,aACpB,iCAAiC,gBAC9B;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE;;;;;;;;;OAmDjC;CACH"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import type { Address } from "@aa-sdk/core";
|
|
2
|
+
import type { TSignedRequest, getWebAuthnAttestation } from "@turnkey/http";
|
|
3
|
+
import type { Hex } from "viem";
|
|
4
|
+
export type CredentialCreationOptionOverrides = {
|
|
5
|
+
publicKey?: Partial<CredentialCreationOptions["publicKey"]>;
|
|
6
|
+
} & Pick<CredentialCreationOptions, "signal">;
|
|
7
|
+
export type User = {
|
|
8
|
+
email?: string;
|
|
9
|
+
orgId: string;
|
|
10
|
+
userId: string;
|
|
11
|
+
address: Address;
|
|
12
|
+
credentialId?: string;
|
|
13
|
+
};
|
|
14
|
+
export type ExportWalletParams = {
|
|
15
|
+
iframeContainerId: string;
|
|
16
|
+
iframeElementId?: string;
|
|
17
|
+
};
|
|
18
|
+
export type CreateAccountParams = {
|
|
19
|
+
type: "email";
|
|
20
|
+
email: string;
|
|
21
|
+
expirationSeconds?: number;
|
|
22
|
+
redirectParams?: URLSearchParams;
|
|
23
|
+
} | {
|
|
24
|
+
type: "passkey";
|
|
25
|
+
username: string;
|
|
26
|
+
creationOpts?: CredentialCreationOptionOverrides;
|
|
27
|
+
};
|
|
28
|
+
export type EmailAuthParams = {
|
|
29
|
+
email: string;
|
|
30
|
+
expirationSeconds?: number;
|
|
31
|
+
targetPublicKey: string;
|
|
32
|
+
redirectParams?: URLSearchParams;
|
|
33
|
+
};
|
|
34
|
+
export type SignupResponse = {
|
|
35
|
+
orgId: string;
|
|
36
|
+
userId?: string;
|
|
37
|
+
address?: Address;
|
|
38
|
+
};
|
|
39
|
+
export type SignerRoutes = SignerEndpoints[number]["Route"];
|
|
40
|
+
export type SignerBody<T extends SignerRoutes> = Extract<SignerEndpoints[number], {
|
|
41
|
+
Route: T;
|
|
42
|
+
}>["Body"];
|
|
43
|
+
export type SignerResponse<T extends SignerRoutes> = Extract<SignerEndpoints[number], {
|
|
44
|
+
Route: T;
|
|
45
|
+
}>["Response"];
|
|
46
|
+
export type SignerEndpoints = [
|
|
47
|
+
{
|
|
48
|
+
Route: "/v1/signup";
|
|
49
|
+
Body: (Omit<EmailAuthParams, "redirectParams"> & {
|
|
50
|
+
redirectParams?: string;
|
|
51
|
+
}) | {
|
|
52
|
+
passkey: {
|
|
53
|
+
challenge: string;
|
|
54
|
+
attestation: Awaited<ReturnType<typeof getWebAuthnAttestation>>;
|
|
55
|
+
};
|
|
56
|
+
};
|
|
57
|
+
Response: SignupResponse;
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
Route: "/v1/whoami";
|
|
61
|
+
Body: {
|
|
62
|
+
stampedRequest: TSignedRequest;
|
|
63
|
+
};
|
|
64
|
+
Response: User;
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
Route: "/v1/auth";
|
|
68
|
+
Body: Omit<EmailAuthParams, "redirectParams"> & {
|
|
69
|
+
redirectParams?: string;
|
|
70
|
+
};
|
|
71
|
+
Response: {
|
|
72
|
+
orgId: string;
|
|
73
|
+
};
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
Route: "/v1/lookup";
|
|
77
|
+
Body: {
|
|
78
|
+
email: string;
|
|
79
|
+
};
|
|
80
|
+
Response: {
|
|
81
|
+
orgId: string | null;
|
|
82
|
+
};
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
Route: "/v1/sign-payload";
|
|
86
|
+
Body: {
|
|
87
|
+
stampedRequest: TSignedRequest;
|
|
88
|
+
};
|
|
89
|
+
Response: {
|
|
90
|
+
signature: Hex;
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
];
|
|
94
|
+
export type AlchemySignerClientEvents = {
|
|
95
|
+
connected(user: User): void;
|
|
96
|
+
authenticating(): void;
|
|
97
|
+
connectedEmail(user: User, bundle: string): void;
|
|
98
|
+
connectedPasskey(user: User): void;
|
|
99
|
+
disconnected(): void;
|
|
100
|
+
};
|
|
101
|
+
export type AlchemySignerClientEvent = keyof AlchemySignerClientEvents;
|
|
102
|
+
export type GetWebAuthnAttestationResult = {
|
|
103
|
+
attestation: Awaited<ReturnType<typeof getWebAuthnAttestation>>;
|
|
104
|
+
challenge: ArrayBuffer;
|
|
105
|
+
authenticatorUserId: ArrayBuffer;
|
|
106
|
+
};
|
|
107
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/client/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,qBAAa,qBAAsB,SAAQ,SAAS;;CAYnD"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export type * from "./signer.js";
|
|
2
|
+
export { AlchemyWebSigner } from "./signer.js";
|
|
3
|
+
export type * from "./types.js";
|
|
4
|
+
export { AlchemySignerStatus } from "./types.js";
|
|
5
|
+
export { BaseSignerClient } from "./client/base.js";
|
|
6
|
+
export { AlchemySignerWebClient } from "./client/index.js";
|
|
7
|
+
export type * from "./client/types.js";
|
|
8
|
+
export { DEFAULT_SESSION_MS } from "./session/manager.js";
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,aAAa,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,mBAAmB,YAAY,CAAC;AAChC,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,mBAAmB,mBAAmB,CAAC;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC"}
|