@account-kit/signer 4.0.0-alpha.10 → 4.0.0-alpha.11
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/base.js +8 -1
- package/dist/cjs/base.js.map +1 -1
- package/dist/cjs/client/base.d.ts +2 -1
- package/dist/cjs/client/base.js +13 -0
- package/dist/cjs/client/base.js.map +1 -1
- package/dist/cjs/client/index.js +2 -1
- package/dist/cjs/client/index.js.map +1 -1
- package/dist/cjs/client/types.d.ts +4 -0
- package/dist/cjs/client/types.js.map +1 -1
- package/dist/cjs/signer.d.ts +4 -0
- package/dist/cjs/signer.js.map +1 -1
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/version.js.map +1 -1
- package/dist/esm/base.js +8 -1
- package/dist/esm/base.js.map +1 -1
- package/dist/esm/client/base.d.ts +2 -1
- package/dist/esm/client/base.js +13 -0
- package/dist/esm/client/base.js.map +1 -1
- package/dist/esm/client/index.js +2 -1
- package/dist/esm/client/index.js.map +1 -1
- package/dist/esm/client/types.d.ts +4 -0
- package/dist/esm/client/types.js.map +1 -1
- package/dist/esm/signer.d.ts +4 -0
- package/dist/esm/signer.js.map +1 -1
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/version.js.map +1 -1
- package/dist/types/base.d.ts.map +1 -1
- package/dist/types/client/base.d.ts +11 -1
- package/dist/types/client/base.d.ts.map +1 -1
- package/dist/types/client/index.d.ts.map +1 -1
- package/dist/types/client/types.d.ts +4 -0
- package/dist/types/client/types.d.ts.map +1 -1
- package/dist/types/signer.d.ts +4 -3
- package/dist/types/signer.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/package.json +3 -3
- package/src/base.ts +16 -2
- package/src/client/base.ts +21 -2
- package/src/client/index.ts +2 -1
- package/src/client/types.ts +5 -0
- package/src/signer.ts +5 -0
- package/src/version.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../../src/signer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAEL,sBAAsB,EACvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,mBAAmB,CAAC;AAG3E,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,eAAe,CAAA;CAAE,GAClE;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GACjD;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,SAAS,EAAE,KAAK,CAAC;CAClB,GACD;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,iCAAiC,CAAC;CAClD,CAAC;AAEN,eAAO,MAAM,yBAAyB
|
|
1
|
+
{"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../../src/signer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAEL,sBAAsB,EACvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,mBAAmB,CAAC;AAG3E,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,eAAe,CAAA;CAAE,GAClE;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GACjD;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,iCAAiC,CAAC;CAClD,GACD;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,SAAS,EAAE,KAAK,CAAC;CAClB,GACD;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,iCAAiC,CAAC;CAClD,CAAC;AAEN,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQlC,CAAC;AAEL,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,iBAAiB,CAAC,sBAAsB,CAAC;IAC7E;;;;;;;;;;;;;;;;;;;;OAoBG;gBACS,MAAM,EAAE,mBAAmB;CAexC"}
|
package/dist/types/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const VERSION = "4.0.0-alpha.
|
|
1
|
+
export declare const VERSION = "4.0.0-alpha.11";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@account-kit/signer",
|
|
3
|
-
"version": "4.0.0-alpha.
|
|
3
|
+
"version": "4.0.0-alpha.11",
|
|
4
4
|
"description": "Core interfaces and clients for interfacing with the Alchemy Signer API",
|
|
5
5
|
"author": "Alchemy",
|
|
6
6
|
"license": "MIT",
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
"vitest": "^2.0.4"
|
|
51
51
|
},
|
|
52
52
|
"dependencies": {
|
|
53
|
-
"@aa-sdk/core": "^4.0.0-alpha.
|
|
53
|
+
"@aa-sdk/core": "^4.0.0-alpha.11",
|
|
54
54
|
"@turnkey/http": "^2.6.2",
|
|
55
55
|
"@turnkey/iframe-stamper": "^1.0.0",
|
|
56
56
|
"@turnkey/viem": "^0.4.8",
|
|
@@ -76,5 +76,5 @@
|
|
|
76
76
|
"url": "https://github.com/alchemyplatform/aa-sdk/issues"
|
|
77
77
|
},
|
|
78
78
|
"homepage": "https://github.com/alchemyplatform/aa-sdk#readme",
|
|
79
|
-
"gitHead": "
|
|
79
|
+
"gitHead": "7dde8daa73a0bee97f3c0068d7e4818669db9a26"
|
|
80
80
|
}
|
package/src/base.ts
CHANGED
|
@@ -570,8 +570,22 @@ export abstract class BaseAlchemySigner<TClient extends BaseSignerClient>
|
|
|
570
570
|
args: Extract<AuthParams, { type: "passkey" }>
|
|
571
571
|
) => {
|
|
572
572
|
let user: User;
|
|
573
|
-
|
|
574
|
-
|
|
573
|
+
const shouldCreateNew = async () => {
|
|
574
|
+
if ("email" in args) {
|
|
575
|
+
const existingUser = await this.getUser(args.email);
|
|
576
|
+
return existingUser == null;
|
|
577
|
+
}
|
|
578
|
+
|
|
579
|
+
return args.createNew;
|
|
580
|
+
};
|
|
581
|
+
|
|
582
|
+
if (await shouldCreateNew()) {
|
|
583
|
+
const result = await this.inner.createAccount(
|
|
584
|
+
args as Extract<
|
|
585
|
+
AuthParams,
|
|
586
|
+
{ type: "passkey" } & ({ email: string } | { createNew: true })
|
|
587
|
+
>
|
|
588
|
+
);
|
|
575
589
|
// account creation for passkeys returns the whoami response so we don't have to
|
|
576
590
|
// call it again after signup
|
|
577
591
|
user = {
|
package/src/client/base.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { type ConnectionConfig
|
|
2
|
-
import { TurnkeyClient } from "@turnkey/http";
|
|
1
|
+
import { ConnectionConfigSchema, type ConnectionConfig } from "@aa-sdk/core";
|
|
2
|
+
import { TurnkeyClient, type TSignedRequest } from "@turnkey/http";
|
|
3
3
|
import EventEmitter from "eventemitter3";
|
|
4
4
|
import type { Hex } from "viem";
|
|
5
5
|
import { NotAuthenticatedError } from "../errors.js";
|
|
@@ -227,6 +227,25 @@ export abstract class BaseSignerClient<TExportWalletParams = unknown> {
|
|
|
227
227
|
return this.user;
|
|
228
228
|
};
|
|
229
229
|
|
|
230
|
+
/**
|
|
231
|
+
* Generates a stamped whoami request for the current user. This request can then be used to call /signer/v1/whoami to get the user information.
|
|
232
|
+
* This is useful if you want to get the user information in a different context like a server. You can pass the stamped request to the server
|
|
233
|
+
* and then call our API to get the user information. Using this stamp is the most trusted way to get the user information since a stamp can only
|
|
234
|
+
* belong to the user who created it.
|
|
235
|
+
*
|
|
236
|
+
* @returns {Promise<TSignedRequest>} a promise that resolves to the "whoami" information for the logged in user
|
|
237
|
+
* @throws {Error} if no organization ID is provided
|
|
238
|
+
*/
|
|
239
|
+
public stampWhoami = async (): Promise<TSignedRequest> => {
|
|
240
|
+
if (!this.user) {
|
|
241
|
+
throw new Error("User must be authenticated to stamp a whoami request");
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
return await this.turnkeyClient.stampGetWhoami({
|
|
245
|
+
organizationId: this.user.orgId,
|
|
246
|
+
});
|
|
247
|
+
};
|
|
248
|
+
|
|
230
249
|
/**
|
|
231
250
|
* Looks up information based on an email address.
|
|
232
251
|
*
|
package/src/client/index.ts
CHANGED
|
@@ -128,7 +128,7 @@ export class AlchemySignerWebClient extends BaseSignerClient<ExportWalletParams>
|
|
|
128
128
|
// Passkey account creation flow
|
|
129
129
|
const { attestation, challenge } = await this.getWebAuthnAttestation(
|
|
130
130
|
params.creationOpts,
|
|
131
|
-
{ username: params.username }
|
|
131
|
+
{ username: "email" in params ? params.email : params.username }
|
|
132
132
|
);
|
|
133
133
|
|
|
134
134
|
const result = await this.request("/v1/signup", {
|
|
@@ -136,6 +136,7 @@ export class AlchemySignerWebClient extends BaseSignerClient<ExportWalletParams>
|
|
|
136
136
|
challenge: base64UrlEncode(challenge),
|
|
137
137
|
attestation,
|
|
138
138
|
},
|
|
139
|
+
email: "email" in params ? params.email : undefined,
|
|
139
140
|
});
|
|
140
141
|
|
|
141
142
|
this.user = {
|
package/src/client/types.ts
CHANGED
|
@@ -28,6 +28,11 @@ export type CreateAccountParams =
|
|
|
28
28
|
expirationSeconds?: number;
|
|
29
29
|
redirectParams?: URLSearchParams;
|
|
30
30
|
}
|
|
31
|
+
| {
|
|
32
|
+
type: "passkey";
|
|
33
|
+
email: string;
|
|
34
|
+
creationOpts?: CredentialCreationOptionOverrides;
|
|
35
|
+
}
|
|
31
36
|
| {
|
|
32
37
|
type: "passkey";
|
|
33
38
|
username: string;
|
package/src/signer.ts
CHANGED
|
@@ -10,6 +10,11 @@ import { SessionManagerParamsSchema } from "./session/manager.js";
|
|
|
10
10
|
export type AuthParams =
|
|
11
11
|
| { type: "email"; email: string; redirectParams?: URLSearchParams }
|
|
12
12
|
| { type: "email"; bundle: string; orgId?: string }
|
|
13
|
+
| {
|
|
14
|
+
type: "passkey";
|
|
15
|
+
email: string;
|
|
16
|
+
creationOpts?: CredentialCreationOptionOverrides;
|
|
17
|
+
}
|
|
13
18
|
| {
|
|
14
19
|
type: "passkey";
|
|
15
20
|
createNew: false;
|
package/src/version.ts
CHANGED