@xyo-network/account-model 6.0.0 → 6.0.2
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/browser/Account.d.ts +2 -0
- package/dist/browser/Account.d.ts.map +1 -1
- package/dist/browser/Jwt/constants.d.ts +14 -0
- package/dist/browser/Jwt/constants.d.ts.map +1 -0
- package/dist/browser/Jwt/index.d.ts +3 -0
- package/dist/browser/Jwt/index.d.ts.map +1 -0
- package/dist/browser/Jwt/types.d.ts +58 -0
- package/dist/browser/Jwt/types.d.ts.map +1 -0
- package/dist/browser/index.d.ts +1 -0
- package/dist/browser/index.d.ts.map +1 -1
- package/dist/browser/index.mjs +9 -0
- package/dist/browser/index.mjs.map +3 -3
- package/dist/neutral/Account.d.ts +2 -0
- package/dist/neutral/Account.d.ts.map +1 -1
- package/dist/neutral/Jwt/constants.d.ts +14 -0
- package/dist/neutral/Jwt/constants.d.ts.map +1 -0
- package/dist/neutral/Jwt/index.d.ts +3 -0
- package/dist/neutral/Jwt/index.d.ts.map +1 -0
- package/dist/neutral/Jwt/types.d.ts +58 -0
- package/dist/neutral/Jwt/types.d.ts.map +1 -0
- package/dist/neutral/index.d.ts +1 -0
- package/dist/neutral/index.d.ts.map +1 -1
- package/dist/neutral/index.mjs +9 -0
- package/dist/neutral/index.mjs.map +3 -3
- package/dist/node/Account.d.ts +2 -0
- package/dist/node/Account.d.ts.map +1 -1
- package/dist/node/Jwt/constants.d.ts +14 -0
- package/dist/node/Jwt/constants.d.ts.map +1 -0
- package/dist/node/Jwt/index.d.ts +3 -0
- package/dist/node/Jwt/index.d.ts.map +1 -0
- package/dist/node/Jwt/types.d.ts +58 -0
- package/dist/node/Jwt/types.d.ts.map +1 -0
- package/dist/node/index.d.ts +1 -0
- package/dist/node/index.d.ts.map +1 -1
- package/dist/node/index.mjs +9 -0
- package/dist/node/index.mjs.map +3 -3
- package/package.json +6 -6
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Address, Hash } from '@xylabs/sdk-js';
|
|
2
2
|
import type { PrivateKeyInstance, PublicKeyInstance } from '@xyo-network/key-model';
|
|
3
3
|
import type { PreviousHashStore } from '@xyo-network/previous-hash-store-model';
|
|
4
|
+
import type { SignJwtOptions, SignJwtResult } from './Jwt/types.ts';
|
|
4
5
|
export declare const ethMessagePrefix = "\u0019Ethereum Signed Message:\n";
|
|
5
6
|
export interface PhraseInitializationConfig {
|
|
6
7
|
phrase: string;
|
|
@@ -29,6 +30,7 @@ export interface AccountInstance {
|
|
|
29
30
|
readonly private?: PrivateKeyInstance;
|
|
30
31
|
readonly public?: PublicKeyInstance;
|
|
31
32
|
sign: (hash: ArrayBufferLike, previousHash?: ArrayBufferLike) => Promise<[ArrayBufferLike, Hash?]>;
|
|
33
|
+
signJwt: (options: SignJwtOptions) => Promise<SignJwtResult>;
|
|
32
34
|
verify: (msg: ArrayBufferLike, signature: ArrayBufferLike) => Promise<boolean>;
|
|
33
35
|
}
|
|
34
36
|
export declare const isAccountInstance: (account: any) => account is AccountInstance;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Account.d.ts","sourceRoot":"","sources":["../../src/Account.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAEnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AACnF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAA;AAE/E,eAAO,MAAM,gBAAgB,qCAAqC,CAAA;AAElE,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,MAAM,CAAA;CACf;AACD,MAAM,WAAW,8BAA8B;IAC7C,UAAU,EAAE,eAAe,CAAA;CAC5B;AACD,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AACD,MAAM,WAAW,cAAc;IAC7B,YAAY,CAAC,EAAE,eAAe,CAAA;CAC/B;AAED,MAAM,MAAM,oBAAoB,GAAG,0BAA0B,GAAG,8BAA8B,GAAG,4BAA4B,CAAA;AAE7H,MAAM,MAAM,aAAa,GAAG,oBAAoB,GAAG,cAAc,CAAA;AAEjE,eAAO,MAAM,4BAA4B,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,0BAKtE,CAAA;AAED,eAAO,MAAM,gCAAgC,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,8BAK1E,CAAA;AAED,eAAO,MAAM,8BAA8B,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,4BAOxE,CAAA;AAED,eAAO,MAAM,sBAAsB,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,oBAEhE,CAAA;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAA;IACtC,YAAY,EAAE,IAAI,GAAG,SAAS,CAAA;IAC9B,iBAAiB,EAAE,eAAe,GAAG,SAAS,CAAA;IAC9C,QAAQ,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAA;IACrC,QAAQ,CAAC,MAAM,CAAC,EAAE,iBAAiB,CAAA;IACnC,IAAI,EAAE,CAAC,IAAI,EAAE,eAAe,EAAE,YAAY,CAAC,EAAE,eAAe,KAAK,OAAO,CAAC,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;IAClG,MAAM,EAAE,CAAC,GAAG,EAAE,eAAe,EAAE,SAAS,EAAE,eAAe,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;CAC/E;AAGD,eAAO,MAAM,iBAAiB,GAAI,SAAS,GAAG,KAAG,OAAO,IAAI,eAE3D,CAAA;AAED,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe,EAAE,CAAC,SAAS,aAAa,GAAG,aAAa;IACjH,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IACrC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;IAC/B,cAAc,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;IAChF,MAAM,IAAI,OAAO,CAAC,eAAe,CAAC,CAAA;CACnC"}
|
|
1
|
+
{"version":3,"file":"Account.d.ts","sourceRoot":"","sources":["../../src/Account.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAEnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AACnF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAA;AAE/E,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAEnE,eAAO,MAAM,gBAAgB,qCAAqC,CAAA;AAElE,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,MAAM,CAAA;CACf;AACD,MAAM,WAAW,8BAA8B;IAC7C,UAAU,EAAE,eAAe,CAAA;CAC5B;AACD,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AACD,MAAM,WAAW,cAAc;IAC7B,YAAY,CAAC,EAAE,eAAe,CAAA;CAC/B;AAED,MAAM,MAAM,oBAAoB,GAAG,0BAA0B,GAAG,8BAA8B,GAAG,4BAA4B,CAAA;AAE7H,MAAM,MAAM,aAAa,GAAG,oBAAoB,GAAG,cAAc,CAAA;AAEjE,eAAO,MAAM,4BAA4B,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,0BAKtE,CAAA;AAED,eAAO,MAAM,gCAAgC,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,8BAK1E,CAAA;AAED,eAAO,MAAM,8BAA8B,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,4BAOxE,CAAA;AAED,eAAO,MAAM,sBAAsB,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,oBAEhE,CAAA;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAA;IACtC,YAAY,EAAE,IAAI,GAAG,SAAS,CAAA;IAC9B,iBAAiB,EAAE,eAAe,GAAG,SAAS,CAAA;IAC9C,QAAQ,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAA;IACrC,QAAQ,CAAC,MAAM,CAAC,EAAE,iBAAiB,CAAA;IACnC,IAAI,EAAE,CAAC,IAAI,EAAE,eAAe,EAAE,YAAY,CAAC,EAAE,eAAe,KAAK,OAAO,CAAC,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;IAClG,OAAO,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,aAAa,CAAC,CAAA;IAC5D,MAAM,EAAE,CAAC,GAAG,EAAE,eAAe,EAAE,SAAS,EAAE,eAAe,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;CAC/E;AAGD,eAAO,MAAM,iBAAiB,GAAI,SAAS,GAAG,KAAG,OAAO,IAAI,eAE3D,CAAA;AAED,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe,EAAE,CAAC,SAAS,aAAa,GAAG,aAAa;IACjH,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IACrC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;IAC/B,cAAc,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;IAChF,MAAM,IAAI,OAAO,CAAC,eAAe,CAAC,CAAA;CACnC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Enum } from '@xylabs/sdk-js';
|
|
2
|
+
export declare const JwtAlg: Enum<{
|
|
3
|
+
ES256K: "ES256K";
|
|
4
|
+
}>;
|
|
5
|
+
export type JwtAlg = Enum<typeof JwtAlg>;
|
|
6
|
+
export declare const JwtTyp: Enum<{
|
|
7
|
+
JWT: "JWT";
|
|
8
|
+
}>;
|
|
9
|
+
export type JwtTyp = Enum<typeof JwtTyp>;
|
|
10
|
+
export declare const JwtSchema: Enum<{
|
|
11
|
+
Signin: "network.xyo.auth.signin";
|
|
12
|
+
}>;
|
|
13
|
+
export type JwtSchema = Enum<typeof JwtSchema>;
|
|
14
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/Jwt/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAErC,eAAO,MAAM,MAAM;;EAAsC,CAAA;AACzD,MAAM,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,MAAM,CAAC,CAAA;AAExC,eAAO,MAAM,MAAM;;EAAgC,CAAA;AACnD,MAAM,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,MAAM,CAAC,CAAA;AAExC,eAAO,MAAM,SAAS;;EAAuD,CAAA;AAC7E,MAAM,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,SAAS,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Jwt/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type { EnumValue } from '@xylabs/sdk-js';
|
|
2
|
+
import type { JwtAlg, JwtSchema, JwtTyp } from './constants.ts';
|
|
3
|
+
export interface JwtHeader {
|
|
4
|
+
alg: EnumValue<typeof JwtAlg> | string;
|
|
5
|
+
kid: string;
|
|
6
|
+
pub: string;
|
|
7
|
+
typ: EnumValue<typeof JwtTyp> | string;
|
|
8
|
+
}
|
|
9
|
+
export interface JwtClaims {
|
|
10
|
+
aud: string;
|
|
11
|
+
exp: number;
|
|
12
|
+
iat: number;
|
|
13
|
+
iss: string;
|
|
14
|
+
nbf?: number;
|
|
15
|
+
nonce?: string;
|
|
16
|
+
}
|
|
17
|
+
export interface JwtPayload extends JwtClaims {
|
|
18
|
+
[key: string]: unknown;
|
|
19
|
+
schema: EnumValue<typeof JwtSchema> | string;
|
|
20
|
+
}
|
|
21
|
+
export interface JwtParts {
|
|
22
|
+
header: JwtHeader;
|
|
23
|
+
headerB64: string;
|
|
24
|
+
payload: JwtPayload;
|
|
25
|
+
payloadB64: string;
|
|
26
|
+
signature: Uint8Array;
|
|
27
|
+
signatureB64: string;
|
|
28
|
+
}
|
|
29
|
+
export interface SignJwtOptions {
|
|
30
|
+
audience: string;
|
|
31
|
+
claims?: Record<string, unknown>;
|
|
32
|
+
exp?: number;
|
|
33
|
+
now?: number;
|
|
34
|
+
schema?: EnumValue<typeof JwtSchema> | string;
|
|
35
|
+
ttl?: number;
|
|
36
|
+
}
|
|
37
|
+
export interface SignJwtResult {
|
|
38
|
+
header: JwtHeader;
|
|
39
|
+
payload: JwtPayload;
|
|
40
|
+
token: string;
|
|
41
|
+
}
|
|
42
|
+
export interface VerifyJwtOptions {
|
|
43
|
+
audience?: string;
|
|
44
|
+
now?: number;
|
|
45
|
+
}
|
|
46
|
+
export interface VerifyJwtSuccess {
|
|
47
|
+
header: JwtHeader;
|
|
48
|
+
ok: true;
|
|
49
|
+
payload: JwtPayload;
|
|
50
|
+
}
|
|
51
|
+
export interface VerifyJwtFailure {
|
|
52
|
+
header?: JwtHeader;
|
|
53
|
+
ok: false;
|
|
54
|
+
payload?: JwtPayload;
|
|
55
|
+
reasons: string[];
|
|
56
|
+
}
|
|
57
|
+
export type VerifyJwtResult = VerifyJwtSuccess | VerifyJwtFailure;
|
|
58
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/Jwt/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE/C,OAAO,KAAK,EACV,MAAM,EAAE,SAAS,EAAE,MAAM,EAC1B,MAAM,gBAAgB,CAAA;AAEvB,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,SAAS,CAAC,OAAO,MAAM,CAAC,GAAG,MAAM,CAAA;IACtC,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,SAAS,CAAC,OAAO,MAAM,CAAC,GAAG,MAAM,CAAA;CACvC;AAED,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,UAAW,SAAQ,SAAS;IAC3C,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;IACtB,MAAM,EAAE,SAAS,CAAC,OAAO,SAAS,CAAC,GAAG,MAAM,CAAA;CAC7C;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,SAAS,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,UAAU,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,UAAU,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,SAAS,CAAC,OAAO,SAAS,CAAC,GAAG,MAAM,CAAA;IAC7C,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,UAAU,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,SAAS,CAAA;IACjB,EAAE,EAAE,IAAI,CAAA;IACR,OAAO,EAAE,UAAU,CAAA;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,EAAE,EAAE,KAAK,CAAA;IACT,OAAO,CAAC,EAAE,UAAU,CAAA;IACpB,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB;AAED,MAAM,MAAM,eAAe,GAAG,gBAAgB,GAAG,gBAAgB,CAAA"}
|
package/dist/browser/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA"}
|
package/dist/browser/index.mjs
CHANGED
|
@@ -25,7 +25,16 @@ var isInitializationConfig = (value) => {
|
|
|
25
25
|
var isAccountInstance = (account) => {
|
|
26
26
|
return typeof account === "object" && typeof account["address"] === "string";
|
|
27
27
|
};
|
|
28
|
+
|
|
29
|
+
// src/Jwt/constants.ts
|
|
30
|
+
import { Enum } from "@xylabs/sdk-js";
|
|
31
|
+
var JwtAlg = Enum({ ES256K: "ES256K" });
|
|
32
|
+
var JwtTyp = Enum({ JWT: "JWT" });
|
|
33
|
+
var JwtSchema = Enum({ Signin: "network.xyo.auth.signin" });
|
|
28
34
|
export {
|
|
35
|
+
JwtAlg,
|
|
36
|
+
JwtSchema,
|
|
37
|
+
JwtTyp,
|
|
29
38
|
ethMessagePrefix,
|
|
30
39
|
isAccountInstance,
|
|
31
40
|
isInitializationConfig,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../src/Account.ts"],
|
|
4
|
-
"sourcesContent": ["import type { Address, Hash } from '@xylabs/sdk-js'\nimport { isArrayBuffer } from '@xylabs/sdk-js'\nimport type { PrivateKeyInstance, PublicKeyInstance } from '@xyo-network/key-model'\nimport type { PreviousHashStore } from '@xyo-network/previous-hash-store-model'\n\nexport const ethMessagePrefix = '\\u0019Ethereum Signed Message:\\n'\n\nexport interface PhraseInitializationConfig {\n phrase: string\n}\nexport interface PrivateKeyInitializationConfig {\n privateKey: ArrayBufferLike\n}\nexport interface MnemonicInitializationConfig {\n mnemonic: string\n path?: string\n}\nexport interface AccountOptions {\n previousHash?: ArrayBufferLike\n}\n\nexport type InitializationConfig = PhraseInitializationConfig | PrivateKeyInitializationConfig | MnemonicInitializationConfig\n\nexport type AccountConfig = InitializationConfig & AccountOptions\n\nexport const isPhraseInitializationConfig = (value: unknown): value is PhraseInitializationConfig => {\n if (typeof value === 'object' && value !== null) {\n return typeof (value as PhraseInitializationConfig).phrase === 'string'\n }\n return false\n}\n\nexport const isPrivateKeyInitializationConfig = (value: unknown): value is PrivateKeyInitializationConfig => {\n if (typeof value === 'object' && value !== null) {\n return isArrayBuffer((value as PrivateKeyInitializationConfig).privateKey)\n }\n return false\n}\n\nexport const isMnemonicInitializationConfig = (value: unknown): value is MnemonicInitializationConfig => {\n if (typeof value === 'object' && value !== null) {\n return (\n typeof (value as MnemonicInitializationConfig).mnemonic === 'string' && typeof ((value as MnemonicInitializationConfig).path ?? '') === 'string'\n )\n }\n return false\n}\n\nexport const isInitializationConfig = (value: unknown): value is InitializationConfig => {\n return isPhraseInitializationConfig(value) || isPrivateKeyInitializationConfig(value) || isMnemonicInitializationConfig(value)\n}\n\nexport interface AccountInstance {\n readonly address: Address\n readonly addressBytes: ArrayBufferLike\n previousHash: Hash | undefined\n previousHashBytes: ArrayBufferLike | undefined\n readonly private?: PrivateKeyInstance\n readonly public?: PublicKeyInstance\n sign: (hash: ArrayBufferLike, previousHash?: ArrayBufferLike) => Promise<[ArrayBufferLike, Hash?]>\n verify: (msg: ArrayBufferLike, signature: ArrayBufferLike) => Promise<boolean>\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const isAccountInstance = (account: any): account is AccountInstance => {\n return typeof account === 'object' && typeof account['address'] === 'string'\n}\n\nexport interface AccountStatic<T extends AccountInstance = AccountInstance, C extends AccountConfig = AccountConfig> {\n previousHashStore?: PreviousHashStore\n create(options?: C): Promise<T>\n fromPrivateKey(key: ArrayBufferLike | bigint | string): Promise<AccountInstance>\n random(): Promise<AccountInstance>\n}\n"],
|
|
5
|
-
"mappings": ";AACA,SAAS,qBAAqB;
|
|
3
|
+
"sources": ["../../src/Account.ts", "../../src/Jwt/constants.ts"],
|
|
4
|
+
"sourcesContent": ["import type { Address, Hash } from '@xylabs/sdk-js'\nimport { isArrayBuffer } from '@xylabs/sdk-js'\nimport type { PrivateKeyInstance, PublicKeyInstance } from '@xyo-network/key-model'\nimport type { PreviousHashStore } from '@xyo-network/previous-hash-store-model'\n\nimport type { SignJwtOptions, SignJwtResult } from './Jwt/types.ts'\n\nexport const ethMessagePrefix = '\\u0019Ethereum Signed Message:\\n'\n\nexport interface PhraseInitializationConfig {\n phrase: string\n}\nexport interface PrivateKeyInitializationConfig {\n privateKey: ArrayBufferLike\n}\nexport interface MnemonicInitializationConfig {\n mnemonic: string\n path?: string\n}\nexport interface AccountOptions {\n previousHash?: ArrayBufferLike\n}\n\nexport type InitializationConfig = PhraseInitializationConfig | PrivateKeyInitializationConfig | MnemonicInitializationConfig\n\nexport type AccountConfig = InitializationConfig & AccountOptions\n\nexport const isPhraseInitializationConfig = (value: unknown): value is PhraseInitializationConfig => {\n if (typeof value === 'object' && value !== null) {\n return typeof (value as PhraseInitializationConfig).phrase === 'string'\n }\n return false\n}\n\nexport const isPrivateKeyInitializationConfig = (value: unknown): value is PrivateKeyInitializationConfig => {\n if (typeof value === 'object' && value !== null) {\n return isArrayBuffer((value as PrivateKeyInitializationConfig).privateKey)\n }\n return false\n}\n\nexport const isMnemonicInitializationConfig = (value: unknown): value is MnemonicInitializationConfig => {\n if (typeof value === 'object' && value !== null) {\n return (\n typeof (value as MnemonicInitializationConfig).mnemonic === 'string' && typeof ((value as MnemonicInitializationConfig).path ?? '') === 'string'\n )\n }\n return false\n}\n\nexport const isInitializationConfig = (value: unknown): value is InitializationConfig => {\n return isPhraseInitializationConfig(value) || isPrivateKeyInitializationConfig(value) || isMnemonicInitializationConfig(value)\n}\n\nexport interface AccountInstance {\n readonly address: Address\n readonly addressBytes: ArrayBufferLike\n previousHash: Hash | undefined\n previousHashBytes: ArrayBufferLike | undefined\n readonly private?: PrivateKeyInstance\n readonly public?: PublicKeyInstance\n sign: (hash: ArrayBufferLike, previousHash?: ArrayBufferLike) => Promise<[ArrayBufferLike, Hash?]>\n signJwt: (options: SignJwtOptions) => Promise<SignJwtResult>\n verify: (msg: ArrayBufferLike, signature: ArrayBufferLike) => Promise<boolean>\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const isAccountInstance = (account: any): account is AccountInstance => {\n return typeof account === 'object' && typeof account['address'] === 'string'\n}\n\nexport interface AccountStatic<T extends AccountInstance = AccountInstance, C extends AccountConfig = AccountConfig> {\n previousHashStore?: PreviousHashStore\n create(options?: C): Promise<T>\n fromPrivateKey(key: ArrayBufferLike | bigint | string): Promise<AccountInstance>\n random(): Promise<AccountInstance>\n}\n", "import { Enum } from '@xylabs/sdk-js'\n\nexport const JwtAlg = Enum({ ES256K: 'ES256K' } as const)\nexport type JwtAlg = Enum<typeof JwtAlg>\n\nexport const JwtTyp = Enum({ JWT: 'JWT' } as const)\nexport type JwtTyp = Enum<typeof JwtTyp>\n\nexport const JwtSchema = Enum({ Signin: 'network.xyo.auth.signin' } as const)\nexport type JwtSchema = Enum<typeof JwtSchema>\n"],
|
|
5
|
+
"mappings": ";AACA,SAAS,qBAAqB;AAMvB,IAAM,mBAAmB;AAoBzB,IAAM,+BAA+B,CAAC,UAAwD;AACnG,MAAI,OAAO,UAAU,YAAY,UAAU,MAAM;AAC/C,WAAO,OAAQ,MAAqC,WAAW;AAAA,EACjE;AACA,SAAO;AACT;AAEO,IAAM,mCAAmC,CAAC,UAA4D;AAC3G,MAAI,OAAO,UAAU,YAAY,UAAU,MAAM;AAC/C,WAAO,cAAe,MAAyC,UAAU;AAAA,EAC3E;AACA,SAAO;AACT;AAEO,IAAM,iCAAiC,CAAC,UAA0D;AACvG,MAAI,OAAO,UAAU,YAAY,UAAU,MAAM;AAC/C,WACE,OAAQ,MAAuC,aAAa,YAAY,QAAS,MAAuC,QAAQ,QAAQ;AAAA,EAE5I;AACA,SAAO;AACT;AAEO,IAAM,yBAAyB,CAAC,UAAkD;AACvF,SAAO,6BAA6B,KAAK,KAAK,iCAAiC,KAAK,KAAK,+BAA+B,KAAK;AAC/H;AAeO,IAAM,oBAAoB,CAAC,YAA6C;AAC7E,SAAO,OAAO,YAAY,YAAY,OAAO,QAAQ,SAAS,MAAM;AACtE;;;ACrEA,SAAS,YAAY;AAEd,IAAM,SAAS,KAAK,EAAE,QAAQ,SAAS,CAAU;AAGjD,IAAM,SAAS,KAAK,EAAE,KAAK,MAAM,CAAU;AAG3C,IAAM,YAAY,KAAK,EAAE,QAAQ,0BAA0B,CAAU;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Address, Hash } from '@xylabs/sdk-js';
|
|
2
2
|
import type { PrivateKeyInstance, PublicKeyInstance } from '@xyo-network/key-model';
|
|
3
3
|
import type { PreviousHashStore } from '@xyo-network/previous-hash-store-model';
|
|
4
|
+
import type { SignJwtOptions, SignJwtResult } from './Jwt/types.ts';
|
|
4
5
|
export declare const ethMessagePrefix = "\u0019Ethereum Signed Message:\n";
|
|
5
6
|
export interface PhraseInitializationConfig {
|
|
6
7
|
phrase: string;
|
|
@@ -29,6 +30,7 @@ export interface AccountInstance {
|
|
|
29
30
|
readonly private?: PrivateKeyInstance;
|
|
30
31
|
readonly public?: PublicKeyInstance;
|
|
31
32
|
sign: (hash: ArrayBufferLike, previousHash?: ArrayBufferLike) => Promise<[ArrayBufferLike, Hash?]>;
|
|
33
|
+
signJwt: (options: SignJwtOptions) => Promise<SignJwtResult>;
|
|
32
34
|
verify: (msg: ArrayBufferLike, signature: ArrayBufferLike) => Promise<boolean>;
|
|
33
35
|
}
|
|
34
36
|
export declare const isAccountInstance: (account: any) => account is AccountInstance;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Account.d.ts","sourceRoot":"","sources":["../../src/Account.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAEnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AACnF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAA;AAE/E,eAAO,MAAM,gBAAgB,qCAAqC,CAAA;AAElE,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,MAAM,CAAA;CACf;AACD,MAAM,WAAW,8BAA8B;IAC7C,UAAU,EAAE,eAAe,CAAA;CAC5B;AACD,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AACD,MAAM,WAAW,cAAc;IAC7B,YAAY,CAAC,EAAE,eAAe,CAAA;CAC/B;AAED,MAAM,MAAM,oBAAoB,GAAG,0BAA0B,GAAG,8BAA8B,GAAG,4BAA4B,CAAA;AAE7H,MAAM,MAAM,aAAa,GAAG,oBAAoB,GAAG,cAAc,CAAA;AAEjE,eAAO,MAAM,4BAA4B,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,0BAKtE,CAAA;AAED,eAAO,MAAM,gCAAgC,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,8BAK1E,CAAA;AAED,eAAO,MAAM,8BAA8B,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,4BAOxE,CAAA;AAED,eAAO,MAAM,sBAAsB,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,oBAEhE,CAAA;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAA;IACtC,YAAY,EAAE,IAAI,GAAG,SAAS,CAAA;IAC9B,iBAAiB,EAAE,eAAe,GAAG,SAAS,CAAA;IAC9C,QAAQ,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAA;IACrC,QAAQ,CAAC,MAAM,CAAC,EAAE,iBAAiB,CAAA;IACnC,IAAI,EAAE,CAAC,IAAI,EAAE,eAAe,EAAE,YAAY,CAAC,EAAE,eAAe,KAAK,OAAO,CAAC,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;IAClG,MAAM,EAAE,CAAC,GAAG,EAAE,eAAe,EAAE,SAAS,EAAE,eAAe,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;CAC/E;AAGD,eAAO,MAAM,iBAAiB,GAAI,SAAS,GAAG,KAAG,OAAO,IAAI,eAE3D,CAAA;AAED,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe,EAAE,CAAC,SAAS,aAAa,GAAG,aAAa;IACjH,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IACrC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;IAC/B,cAAc,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;IAChF,MAAM,IAAI,OAAO,CAAC,eAAe,CAAC,CAAA;CACnC"}
|
|
1
|
+
{"version":3,"file":"Account.d.ts","sourceRoot":"","sources":["../../src/Account.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAEnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AACnF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAA;AAE/E,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAEnE,eAAO,MAAM,gBAAgB,qCAAqC,CAAA;AAElE,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,MAAM,CAAA;CACf;AACD,MAAM,WAAW,8BAA8B;IAC7C,UAAU,EAAE,eAAe,CAAA;CAC5B;AACD,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AACD,MAAM,WAAW,cAAc;IAC7B,YAAY,CAAC,EAAE,eAAe,CAAA;CAC/B;AAED,MAAM,MAAM,oBAAoB,GAAG,0BAA0B,GAAG,8BAA8B,GAAG,4BAA4B,CAAA;AAE7H,MAAM,MAAM,aAAa,GAAG,oBAAoB,GAAG,cAAc,CAAA;AAEjE,eAAO,MAAM,4BAA4B,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,0BAKtE,CAAA;AAED,eAAO,MAAM,gCAAgC,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,8BAK1E,CAAA;AAED,eAAO,MAAM,8BAA8B,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,4BAOxE,CAAA;AAED,eAAO,MAAM,sBAAsB,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,oBAEhE,CAAA;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAA;IACtC,YAAY,EAAE,IAAI,GAAG,SAAS,CAAA;IAC9B,iBAAiB,EAAE,eAAe,GAAG,SAAS,CAAA;IAC9C,QAAQ,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAA;IACrC,QAAQ,CAAC,MAAM,CAAC,EAAE,iBAAiB,CAAA;IACnC,IAAI,EAAE,CAAC,IAAI,EAAE,eAAe,EAAE,YAAY,CAAC,EAAE,eAAe,KAAK,OAAO,CAAC,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;IAClG,OAAO,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,aAAa,CAAC,CAAA;IAC5D,MAAM,EAAE,CAAC,GAAG,EAAE,eAAe,EAAE,SAAS,EAAE,eAAe,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;CAC/E;AAGD,eAAO,MAAM,iBAAiB,GAAI,SAAS,GAAG,KAAG,OAAO,IAAI,eAE3D,CAAA;AAED,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe,EAAE,CAAC,SAAS,aAAa,GAAG,aAAa;IACjH,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IACrC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;IAC/B,cAAc,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;IAChF,MAAM,IAAI,OAAO,CAAC,eAAe,CAAC,CAAA;CACnC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Enum } from '@xylabs/sdk-js';
|
|
2
|
+
export declare const JwtAlg: Enum<{
|
|
3
|
+
ES256K: "ES256K";
|
|
4
|
+
}>;
|
|
5
|
+
export type JwtAlg = Enum<typeof JwtAlg>;
|
|
6
|
+
export declare const JwtTyp: Enum<{
|
|
7
|
+
JWT: "JWT";
|
|
8
|
+
}>;
|
|
9
|
+
export type JwtTyp = Enum<typeof JwtTyp>;
|
|
10
|
+
export declare const JwtSchema: Enum<{
|
|
11
|
+
Signin: "network.xyo.auth.signin";
|
|
12
|
+
}>;
|
|
13
|
+
export type JwtSchema = Enum<typeof JwtSchema>;
|
|
14
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/Jwt/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAErC,eAAO,MAAM,MAAM;;EAAsC,CAAA;AACzD,MAAM,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,MAAM,CAAC,CAAA;AAExC,eAAO,MAAM,MAAM;;EAAgC,CAAA;AACnD,MAAM,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,MAAM,CAAC,CAAA;AAExC,eAAO,MAAM,SAAS;;EAAuD,CAAA;AAC7E,MAAM,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,SAAS,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Jwt/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type { EnumValue } from '@xylabs/sdk-js';
|
|
2
|
+
import type { JwtAlg, JwtSchema, JwtTyp } from './constants.ts';
|
|
3
|
+
export interface JwtHeader {
|
|
4
|
+
alg: EnumValue<typeof JwtAlg> | string;
|
|
5
|
+
kid: string;
|
|
6
|
+
pub: string;
|
|
7
|
+
typ: EnumValue<typeof JwtTyp> | string;
|
|
8
|
+
}
|
|
9
|
+
export interface JwtClaims {
|
|
10
|
+
aud: string;
|
|
11
|
+
exp: number;
|
|
12
|
+
iat: number;
|
|
13
|
+
iss: string;
|
|
14
|
+
nbf?: number;
|
|
15
|
+
nonce?: string;
|
|
16
|
+
}
|
|
17
|
+
export interface JwtPayload extends JwtClaims {
|
|
18
|
+
[key: string]: unknown;
|
|
19
|
+
schema: EnumValue<typeof JwtSchema> | string;
|
|
20
|
+
}
|
|
21
|
+
export interface JwtParts {
|
|
22
|
+
header: JwtHeader;
|
|
23
|
+
headerB64: string;
|
|
24
|
+
payload: JwtPayload;
|
|
25
|
+
payloadB64: string;
|
|
26
|
+
signature: Uint8Array;
|
|
27
|
+
signatureB64: string;
|
|
28
|
+
}
|
|
29
|
+
export interface SignJwtOptions {
|
|
30
|
+
audience: string;
|
|
31
|
+
claims?: Record<string, unknown>;
|
|
32
|
+
exp?: number;
|
|
33
|
+
now?: number;
|
|
34
|
+
schema?: EnumValue<typeof JwtSchema> | string;
|
|
35
|
+
ttl?: number;
|
|
36
|
+
}
|
|
37
|
+
export interface SignJwtResult {
|
|
38
|
+
header: JwtHeader;
|
|
39
|
+
payload: JwtPayload;
|
|
40
|
+
token: string;
|
|
41
|
+
}
|
|
42
|
+
export interface VerifyJwtOptions {
|
|
43
|
+
audience?: string;
|
|
44
|
+
now?: number;
|
|
45
|
+
}
|
|
46
|
+
export interface VerifyJwtSuccess {
|
|
47
|
+
header: JwtHeader;
|
|
48
|
+
ok: true;
|
|
49
|
+
payload: JwtPayload;
|
|
50
|
+
}
|
|
51
|
+
export interface VerifyJwtFailure {
|
|
52
|
+
header?: JwtHeader;
|
|
53
|
+
ok: false;
|
|
54
|
+
payload?: JwtPayload;
|
|
55
|
+
reasons: string[];
|
|
56
|
+
}
|
|
57
|
+
export type VerifyJwtResult = VerifyJwtSuccess | VerifyJwtFailure;
|
|
58
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/Jwt/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE/C,OAAO,KAAK,EACV,MAAM,EAAE,SAAS,EAAE,MAAM,EAC1B,MAAM,gBAAgB,CAAA;AAEvB,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,SAAS,CAAC,OAAO,MAAM,CAAC,GAAG,MAAM,CAAA;IACtC,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,SAAS,CAAC,OAAO,MAAM,CAAC,GAAG,MAAM,CAAA;CACvC;AAED,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,UAAW,SAAQ,SAAS;IAC3C,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;IACtB,MAAM,EAAE,SAAS,CAAC,OAAO,SAAS,CAAC,GAAG,MAAM,CAAA;CAC7C;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,SAAS,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,UAAU,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,UAAU,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,SAAS,CAAC,OAAO,SAAS,CAAC,GAAG,MAAM,CAAA;IAC7C,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,UAAU,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,SAAS,CAAA;IACjB,EAAE,EAAE,IAAI,CAAA;IACR,OAAO,EAAE,UAAU,CAAA;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,EAAE,EAAE,KAAK,CAAA;IACT,OAAO,CAAC,EAAE,UAAU,CAAA;IACpB,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB;AAED,MAAM,MAAM,eAAe,GAAG,gBAAgB,GAAG,gBAAgB,CAAA"}
|
package/dist/neutral/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA"}
|
package/dist/neutral/index.mjs
CHANGED
|
@@ -25,7 +25,16 @@ var isInitializationConfig = (value) => {
|
|
|
25
25
|
var isAccountInstance = (account) => {
|
|
26
26
|
return typeof account === "object" && typeof account["address"] === "string";
|
|
27
27
|
};
|
|
28
|
+
|
|
29
|
+
// src/Jwt/constants.ts
|
|
30
|
+
import { Enum } from "@xylabs/sdk-js";
|
|
31
|
+
var JwtAlg = Enum({ ES256K: "ES256K" });
|
|
32
|
+
var JwtTyp = Enum({ JWT: "JWT" });
|
|
33
|
+
var JwtSchema = Enum({ Signin: "network.xyo.auth.signin" });
|
|
28
34
|
export {
|
|
35
|
+
JwtAlg,
|
|
36
|
+
JwtSchema,
|
|
37
|
+
JwtTyp,
|
|
29
38
|
ethMessagePrefix,
|
|
30
39
|
isAccountInstance,
|
|
31
40
|
isInitializationConfig,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../src/Account.ts"],
|
|
4
|
-
"sourcesContent": ["import type { Address, Hash } from '@xylabs/sdk-js'\nimport { isArrayBuffer } from '@xylabs/sdk-js'\nimport type { PrivateKeyInstance, PublicKeyInstance } from '@xyo-network/key-model'\nimport type { PreviousHashStore } from '@xyo-network/previous-hash-store-model'\n\nexport const ethMessagePrefix = '\\u0019Ethereum Signed Message:\\n'\n\nexport interface PhraseInitializationConfig {\n phrase: string\n}\nexport interface PrivateKeyInitializationConfig {\n privateKey: ArrayBufferLike\n}\nexport interface MnemonicInitializationConfig {\n mnemonic: string\n path?: string\n}\nexport interface AccountOptions {\n previousHash?: ArrayBufferLike\n}\n\nexport type InitializationConfig = PhraseInitializationConfig | PrivateKeyInitializationConfig | MnemonicInitializationConfig\n\nexport type AccountConfig = InitializationConfig & AccountOptions\n\nexport const isPhraseInitializationConfig = (value: unknown): value is PhraseInitializationConfig => {\n if (typeof value === 'object' && value !== null) {\n return typeof (value as PhraseInitializationConfig).phrase === 'string'\n }\n return false\n}\n\nexport const isPrivateKeyInitializationConfig = (value: unknown): value is PrivateKeyInitializationConfig => {\n if (typeof value === 'object' && value !== null) {\n return isArrayBuffer((value as PrivateKeyInitializationConfig).privateKey)\n }\n return false\n}\n\nexport const isMnemonicInitializationConfig = (value: unknown): value is MnemonicInitializationConfig => {\n if (typeof value === 'object' && value !== null) {\n return (\n typeof (value as MnemonicInitializationConfig).mnemonic === 'string' && typeof ((value as MnemonicInitializationConfig).path ?? '') === 'string'\n )\n }\n return false\n}\n\nexport const isInitializationConfig = (value: unknown): value is InitializationConfig => {\n return isPhraseInitializationConfig(value) || isPrivateKeyInitializationConfig(value) || isMnemonicInitializationConfig(value)\n}\n\nexport interface AccountInstance {\n readonly address: Address\n readonly addressBytes: ArrayBufferLike\n previousHash: Hash | undefined\n previousHashBytes: ArrayBufferLike | undefined\n readonly private?: PrivateKeyInstance\n readonly public?: PublicKeyInstance\n sign: (hash: ArrayBufferLike, previousHash?: ArrayBufferLike) => Promise<[ArrayBufferLike, Hash?]>\n verify: (msg: ArrayBufferLike, signature: ArrayBufferLike) => Promise<boolean>\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const isAccountInstance = (account: any): account is AccountInstance => {\n return typeof account === 'object' && typeof account['address'] === 'string'\n}\n\nexport interface AccountStatic<T extends AccountInstance = AccountInstance, C extends AccountConfig = AccountConfig> {\n previousHashStore?: PreviousHashStore\n create(options?: C): Promise<T>\n fromPrivateKey(key: ArrayBufferLike | bigint | string): Promise<AccountInstance>\n random(): Promise<AccountInstance>\n}\n"],
|
|
5
|
-
"mappings": ";AACA,SAAS,qBAAqB;
|
|
3
|
+
"sources": ["../../src/Account.ts", "../../src/Jwt/constants.ts"],
|
|
4
|
+
"sourcesContent": ["import type { Address, Hash } from '@xylabs/sdk-js'\nimport { isArrayBuffer } from '@xylabs/sdk-js'\nimport type { PrivateKeyInstance, PublicKeyInstance } from '@xyo-network/key-model'\nimport type { PreviousHashStore } from '@xyo-network/previous-hash-store-model'\n\nimport type { SignJwtOptions, SignJwtResult } from './Jwt/types.ts'\n\nexport const ethMessagePrefix = '\\u0019Ethereum Signed Message:\\n'\n\nexport interface PhraseInitializationConfig {\n phrase: string\n}\nexport interface PrivateKeyInitializationConfig {\n privateKey: ArrayBufferLike\n}\nexport interface MnemonicInitializationConfig {\n mnemonic: string\n path?: string\n}\nexport interface AccountOptions {\n previousHash?: ArrayBufferLike\n}\n\nexport type InitializationConfig = PhraseInitializationConfig | PrivateKeyInitializationConfig | MnemonicInitializationConfig\n\nexport type AccountConfig = InitializationConfig & AccountOptions\n\nexport const isPhraseInitializationConfig = (value: unknown): value is PhraseInitializationConfig => {\n if (typeof value === 'object' && value !== null) {\n return typeof (value as PhraseInitializationConfig).phrase === 'string'\n }\n return false\n}\n\nexport const isPrivateKeyInitializationConfig = (value: unknown): value is PrivateKeyInitializationConfig => {\n if (typeof value === 'object' && value !== null) {\n return isArrayBuffer((value as PrivateKeyInitializationConfig).privateKey)\n }\n return false\n}\n\nexport const isMnemonicInitializationConfig = (value: unknown): value is MnemonicInitializationConfig => {\n if (typeof value === 'object' && value !== null) {\n return (\n typeof (value as MnemonicInitializationConfig).mnemonic === 'string' && typeof ((value as MnemonicInitializationConfig).path ?? '') === 'string'\n )\n }\n return false\n}\n\nexport const isInitializationConfig = (value: unknown): value is InitializationConfig => {\n return isPhraseInitializationConfig(value) || isPrivateKeyInitializationConfig(value) || isMnemonicInitializationConfig(value)\n}\n\nexport interface AccountInstance {\n readonly address: Address\n readonly addressBytes: ArrayBufferLike\n previousHash: Hash | undefined\n previousHashBytes: ArrayBufferLike | undefined\n readonly private?: PrivateKeyInstance\n readonly public?: PublicKeyInstance\n sign: (hash: ArrayBufferLike, previousHash?: ArrayBufferLike) => Promise<[ArrayBufferLike, Hash?]>\n signJwt: (options: SignJwtOptions) => Promise<SignJwtResult>\n verify: (msg: ArrayBufferLike, signature: ArrayBufferLike) => Promise<boolean>\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const isAccountInstance = (account: any): account is AccountInstance => {\n return typeof account === 'object' && typeof account['address'] === 'string'\n}\n\nexport interface AccountStatic<T extends AccountInstance = AccountInstance, C extends AccountConfig = AccountConfig> {\n previousHashStore?: PreviousHashStore\n create(options?: C): Promise<T>\n fromPrivateKey(key: ArrayBufferLike | bigint | string): Promise<AccountInstance>\n random(): Promise<AccountInstance>\n}\n", "import { Enum } from '@xylabs/sdk-js'\n\nexport const JwtAlg = Enum({ ES256K: 'ES256K' } as const)\nexport type JwtAlg = Enum<typeof JwtAlg>\n\nexport const JwtTyp = Enum({ JWT: 'JWT' } as const)\nexport type JwtTyp = Enum<typeof JwtTyp>\n\nexport const JwtSchema = Enum({ Signin: 'network.xyo.auth.signin' } as const)\nexport type JwtSchema = Enum<typeof JwtSchema>\n"],
|
|
5
|
+
"mappings": ";AACA,SAAS,qBAAqB;AAMvB,IAAM,mBAAmB;AAoBzB,IAAM,+BAA+B,CAAC,UAAwD;AACnG,MAAI,OAAO,UAAU,YAAY,UAAU,MAAM;AAC/C,WAAO,OAAQ,MAAqC,WAAW;AAAA,EACjE;AACA,SAAO;AACT;AAEO,IAAM,mCAAmC,CAAC,UAA4D;AAC3G,MAAI,OAAO,UAAU,YAAY,UAAU,MAAM;AAC/C,WAAO,cAAe,MAAyC,UAAU;AAAA,EAC3E;AACA,SAAO;AACT;AAEO,IAAM,iCAAiC,CAAC,UAA0D;AACvG,MAAI,OAAO,UAAU,YAAY,UAAU,MAAM;AAC/C,WACE,OAAQ,MAAuC,aAAa,YAAY,QAAS,MAAuC,QAAQ,QAAQ;AAAA,EAE5I;AACA,SAAO;AACT;AAEO,IAAM,yBAAyB,CAAC,UAAkD;AACvF,SAAO,6BAA6B,KAAK,KAAK,iCAAiC,KAAK,KAAK,+BAA+B,KAAK;AAC/H;AAeO,IAAM,oBAAoB,CAAC,YAA6C;AAC7E,SAAO,OAAO,YAAY,YAAY,OAAO,QAAQ,SAAS,MAAM;AACtE;;;ACrEA,SAAS,YAAY;AAEd,IAAM,SAAS,KAAK,EAAE,QAAQ,SAAS,CAAU;AAGjD,IAAM,SAAS,KAAK,EAAE,KAAK,MAAM,CAAU;AAG3C,IAAM,YAAY,KAAK,EAAE,QAAQ,0BAA0B,CAAU;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/node/Account.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Address, Hash } from '@xylabs/sdk-js';
|
|
2
2
|
import type { PrivateKeyInstance, PublicKeyInstance } from '@xyo-network/key-model';
|
|
3
3
|
import type { PreviousHashStore } from '@xyo-network/previous-hash-store-model';
|
|
4
|
+
import type { SignJwtOptions, SignJwtResult } from './Jwt/types.ts';
|
|
4
5
|
export declare const ethMessagePrefix = "\u0019Ethereum Signed Message:\n";
|
|
5
6
|
export interface PhraseInitializationConfig {
|
|
6
7
|
phrase: string;
|
|
@@ -29,6 +30,7 @@ export interface AccountInstance {
|
|
|
29
30
|
readonly private?: PrivateKeyInstance;
|
|
30
31
|
readonly public?: PublicKeyInstance;
|
|
31
32
|
sign: (hash: ArrayBufferLike, previousHash?: ArrayBufferLike) => Promise<[ArrayBufferLike, Hash?]>;
|
|
33
|
+
signJwt: (options: SignJwtOptions) => Promise<SignJwtResult>;
|
|
32
34
|
verify: (msg: ArrayBufferLike, signature: ArrayBufferLike) => Promise<boolean>;
|
|
33
35
|
}
|
|
34
36
|
export declare const isAccountInstance: (account: any) => account is AccountInstance;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Account.d.ts","sourceRoot":"","sources":["../../src/Account.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAEnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AACnF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAA;AAE/E,eAAO,MAAM,gBAAgB,qCAAqC,CAAA;AAElE,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,MAAM,CAAA;CACf;AACD,MAAM,WAAW,8BAA8B;IAC7C,UAAU,EAAE,eAAe,CAAA;CAC5B;AACD,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AACD,MAAM,WAAW,cAAc;IAC7B,YAAY,CAAC,EAAE,eAAe,CAAA;CAC/B;AAED,MAAM,MAAM,oBAAoB,GAAG,0BAA0B,GAAG,8BAA8B,GAAG,4BAA4B,CAAA;AAE7H,MAAM,MAAM,aAAa,GAAG,oBAAoB,GAAG,cAAc,CAAA;AAEjE,eAAO,MAAM,4BAA4B,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,0BAKtE,CAAA;AAED,eAAO,MAAM,gCAAgC,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,8BAK1E,CAAA;AAED,eAAO,MAAM,8BAA8B,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,4BAOxE,CAAA;AAED,eAAO,MAAM,sBAAsB,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,oBAEhE,CAAA;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAA;IACtC,YAAY,EAAE,IAAI,GAAG,SAAS,CAAA;IAC9B,iBAAiB,EAAE,eAAe,GAAG,SAAS,CAAA;IAC9C,QAAQ,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAA;IACrC,QAAQ,CAAC,MAAM,CAAC,EAAE,iBAAiB,CAAA;IACnC,IAAI,EAAE,CAAC,IAAI,EAAE,eAAe,EAAE,YAAY,CAAC,EAAE,eAAe,KAAK,OAAO,CAAC,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;IAClG,MAAM,EAAE,CAAC,GAAG,EAAE,eAAe,EAAE,SAAS,EAAE,eAAe,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;CAC/E;AAGD,eAAO,MAAM,iBAAiB,GAAI,SAAS,GAAG,KAAG,OAAO,IAAI,eAE3D,CAAA;AAED,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe,EAAE,CAAC,SAAS,aAAa,GAAG,aAAa;IACjH,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IACrC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;IAC/B,cAAc,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;IAChF,MAAM,IAAI,OAAO,CAAC,eAAe,CAAC,CAAA;CACnC"}
|
|
1
|
+
{"version":3,"file":"Account.d.ts","sourceRoot":"","sources":["../../src/Account.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAEnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AACnF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAA;AAE/E,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAEnE,eAAO,MAAM,gBAAgB,qCAAqC,CAAA;AAElE,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,MAAM,CAAA;CACf;AACD,MAAM,WAAW,8BAA8B;IAC7C,UAAU,EAAE,eAAe,CAAA;CAC5B;AACD,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AACD,MAAM,WAAW,cAAc;IAC7B,YAAY,CAAC,EAAE,eAAe,CAAA;CAC/B;AAED,MAAM,MAAM,oBAAoB,GAAG,0BAA0B,GAAG,8BAA8B,GAAG,4BAA4B,CAAA;AAE7H,MAAM,MAAM,aAAa,GAAG,oBAAoB,GAAG,cAAc,CAAA;AAEjE,eAAO,MAAM,4BAA4B,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,0BAKtE,CAAA;AAED,eAAO,MAAM,gCAAgC,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,8BAK1E,CAAA;AAED,eAAO,MAAM,8BAA8B,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,4BAOxE,CAAA;AAED,eAAO,MAAM,sBAAsB,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,oBAEhE,CAAA;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAA;IACtC,YAAY,EAAE,IAAI,GAAG,SAAS,CAAA;IAC9B,iBAAiB,EAAE,eAAe,GAAG,SAAS,CAAA;IAC9C,QAAQ,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAA;IACrC,QAAQ,CAAC,MAAM,CAAC,EAAE,iBAAiB,CAAA;IACnC,IAAI,EAAE,CAAC,IAAI,EAAE,eAAe,EAAE,YAAY,CAAC,EAAE,eAAe,KAAK,OAAO,CAAC,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;IAClG,OAAO,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,aAAa,CAAC,CAAA;IAC5D,MAAM,EAAE,CAAC,GAAG,EAAE,eAAe,EAAE,SAAS,EAAE,eAAe,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;CAC/E;AAGD,eAAO,MAAM,iBAAiB,GAAI,SAAS,GAAG,KAAG,OAAO,IAAI,eAE3D,CAAA;AAED,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe,EAAE,CAAC,SAAS,aAAa,GAAG,aAAa;IACjH,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IACrC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;IAC/B,cAAc,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;IAChF,MAAM,IAAI,OAAO,CAAC,eAAe,CAAC,CAAA;CACnC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Enum } from '@xylabs/sdk-js';
|
|
2
|
+
export declare const JwtAlg: Enum<{
|
|
3
|
+
ES256K: "ES256K";
|
|
4
|
+
}>;
|
|
5
|
+
export type JwtAlg = Enum<typeof JwtAlg>;
|
|
6
|
+
export declare const JwtTyp: Enum<{
|
|
7
|
+
JWT: "JWT";
|
|
8
|
+
}>;
|
|
9
|
+
export type JwtTyp = Enum<typeof JwtTyp>;
|
|
10
|
+
export declare const JwtSchema: Enum<{
|
|
11
|
+
Signin: "network.xyo.auth.signin";
|
|
12
|
+
}>;
|
|
13
|
+
export type JwtSchema = Enum<typeof JwtSchema>;
|
|
14
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/Jwt/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAErC,eAAO,MAAM,MAAM;;EAAsC,CAAA;AACzD,MAAM,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,MAAM,CAAC,CAAA;AAExC,eAAO,MAAM,MAAM;;EAAgC,CAAA;AACnD,MAAM,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,MAAM,CAAC,CAAA;AAExC,eAAO,MAAM,SAAS;;EAAuD,CAAA;AAC7E,MAAM,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,SAAS,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Jwt/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type { EnumValue } from '@xylabs/sdk-js';
|
|
2
|
+
import type { JwtAlg, JwtSchema, JwtTyp } from './constants.ts';
|
|
3
|
+
export interface JwtHeader {
|
|
4
|
+
alg: EnumValue<typeof JwtAlg> | string;
|
|
5
|
+
kid: string;
|
|
6
|
+
pub: string;
|
|
7
|
+
typ: EnumValue<typeof JwtTyp> | string;
|
|
8
|
+
}
|
|
9
|
+
export interface JwtClaims {
|
|
10
|
+
aud: string;
|
|
11
|
+
exp: number;
|
|
12
|
+
iat: number;
|
|
13
|
+
iss: string;
|
|
14
|
+
nbf?: number;
|
|
15
|
+
nonce?: string;
|
|
16
|
+
}
|
|
17
|
+
export interface JwtPayload extends JwtClaims {
|
|
18
|
+
[key: string]: unknown;
|
|
19
|
+
schema: EnumValue<typeof JwtSchema> | string;
|
|
20
|
+
}
|
|
21
|
+
export interface JwtParts {
|
|
22
|
+
header: JwtHeader;
|
|
23
|
+
headerB64: string;
|
|
24
|
+
payload: JwtPayload;
|
|
25
|
+
payloadB64: string;
|
|
26
|
+
signature: Uint8Array;
|
|
27
|
+
signatureB64: string;
|
|
28
|
+
}
|
|
29
|
+
export interface SignJwtOptions {
|
|
30
|
+
audience: string;
|
|
31
|
+
claims?: Record<string, unknown>;
|
|
32
|
+
exp?: number;
|
|
33
|
+
now?: number;
|
|
34
|
+
schema?: EnumValue<typeof JwtSchema> | string;
|
|
35
|
+
ttl?: number;
|
|
36
|
+
}
|
|
37
|
+
export interface SignJwtResult {
|
|
38
|
+
header: JwtHeader;
|
|
39
|
+
payload: JwtPayload;
|
|
40
|
+
token: string;
|
|
41
|
+
}
|
|
42
|
+
export interface VerifyJwtOptions {
|
|
43
|
+
audience?: string;
|
|
44
|
+
now?: number;
|
|
45
|
+
}
|
|
46
|
+
export interface VerifyJwtSuccess {
|
|
47
|
+
header: JwtHeader;
|
|
48
|
+
ok: true;
|
|
49
|
+
payload: JwtPayload;
|
|
50
|
+
}
|
|
51
|
+
export interface VerifyJwtFailure {
|
|
52
|
+
header?: JwtHeader;
|
|
53
|
+
ok: false;
|
|
54
|
+
payload?: JwtPayload;
|
|
55
|
+
reasons: string[];
|
|
56
|
+
}
|
|
57
|
+
export type VerifyJwtResult = VerifyJwtSuccess | VerifyJwtFailure;
|
|
58
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/Jwt/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE/C,OAAO,KAAK,EACV,MAAM,EAAE,SAAS,EAAE,MAAM,EAC1B,MAAM,gBAAgB,CAAA;AAEvB,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,SAAS,CAAC,OAAO,MAAM,CAAC,GAAG,MAAM,CAAA;IACtC,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,SAAS,CAAC,OAAO,MAAM,CAAC,GAAG,MAAM,CAAA;CACvC;AAED,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,UAAW,SAAQ,SAAS;IAC3C,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;IACtB,MAAM,EAAE,SAAS,CAAC,OAAO,SAAS,CAAC,GAAG,MAAM,CAAA;CAC7C;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,SAAS,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,UAAU,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,UAAU,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,SAAS,CAAC,OAAO,SAAS,CAAC,GAAG,MAAM,CAAA;IAC7C,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,UAAU,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,SAAS,CAAA;IACjB,EAAE,EAAE,IAAI,CAAA;IACR,OAAO,EAAE,UAAU,CAAA;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,EAAE,EAAE,KAAK,CAAA;IACT,OAAO,CAAC,EAAE,UAAU,CAAA;IACpB,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB;AAED,MAAM,MAAM,eAAe,GAAG,gBAAgB,GAAG,gBAAgB,CAAA"}
|
package/dist/node/index.d.ts
CHANGED
package/dist/node/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA"}
|
package/dist/node/index.mjs
CHANGED
|
@@ -25,7 +25,16 @@ var isInitializationConfig = (value) => {
|
|
|
25
25
|
var isAccountInstance = (account) => {
|
|
26
26
|
return typeof account === "object" && typeof account["address"] === "string";
|
|
27
27
|
};
|
|
28
|
+
|
|
29
|
+
// src/Jwt/constants.ts
|
|
30
|
+
import { Enum } from "@xylabs/sdk-js";
|
|
31
|
+
var JwtAlg = Enum({ ES256K: "ES256K" });
|
|
32
|
+
var JwtTyp = Enum({ JWT: "JWT" });
|
|
33
|
+
var JwtSchema = Enum({ Signin: "network.xyo.auth.signin" });
|
|
28
34
|
export {
|
|
35
|
+
JwtAlg,
|
|
36
|
+
JwtSchema,
|
|
37
|
+
JwtTyp,
|
|
29
38
|
ethMessagePrefix,
|
|
30
39
|
isAccountInstance,
|
|
31
40
|
isInitializationConfig,
|
package/dist/node/index.mjs.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../src/Account.ts"],
|
|
4
|
-
"sourcesContent": ["import type { Address, Hash } from '@xylabs/sdk-js'\nimport { isArrayBuffer } from '@xylabs/sdk-js'\nimport type { PrivateKeyInstance, PublicKeyInstance } from '@xyo-network/key-model'\nimport type { PreviousHashStore } from '@xyo-network/previous-hash-store-model'\n\nexport const ethMessagePrefix = '\\u0019Ethereum Signed Message:\\n'\n\nexport interface PhraseInitializationConfig {\n phrase: string\n}\nexport interface PrivateKeyInitializationConfig {\n privateKey: ArrayBufferLike\n}\nexport interface MnemonicInitializationConfig {\n mnemonic: string\n path?: string\n}\nexport interface AccountOptions {\n previousHash?: ArrayBufferLike\n}\n\nexport type InitializationConfig = PhraseInitializationConfig | PrivateKeyInitializationConfig | MnemonicInitializationConfig\n\nexport type AccountConfig = InitializationConfig & AccountOptions\n\nexport const isPhraseInitializationConfig = (value: unknown): value is PhraseInitializationConfig => {\n if (typeof value === 'object' && value !== null) {\n return typeof (value as PhraseInitializationConfig).phrase === 'string'\n }\n return false\n}\n\nexport const isPrivateKeyInitializationConfig = (value: unknown): value is PrivateKeyInitializationConfig => {\n if (typeof value === 'object' && value !== null) {\n return isArrayBuffer((value as PrivateKeyInitializationConfig).privateKey)\n }\n return false\n}\n\nexport const isMnemonicInitializationConfig = (value: unknown): value is MnemonicInitializationConfig => {\n if (typeof value === 'object' && value !== null) {\n return (\n typeof (value as MnemonicInitializationConfig).mnemonic === 'string' && typeof ((value as MnemonicInitializationConfig).path ?? '') === 'string'\n )\n }\n return false\n}\n\nexport const isInitializationConfig = (value: unknown): value is InitializationConfig => {\n return isPhraseInitializationConfig(value) || isPrivateKeyInitializationConfig(value) || isMnemonicInitializationConfig(value)\n}\n\nexport interface AccountInstance {\n readonly address: Address\n readonly addressBytes: ArrayBufferLike\n previousHash: Hash | undefined\n previousHashBytes: ArrayBufferLike | undefined\n readonly private?: PrivateKeyInstance\n readonly public?: PublicKeyInstance\n sign: (hash: ArrayBufferLike, previousHash?: ArrayBufferLike) => Promise<[ArrayBufferLike, Hash?]>\n verify: (msg: ArrayBufferLike, signature: ArrayBufferLike) => Promise<boolean>\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const isAccountInstance = (account: any): account is AccountInstance => {\n return typeof account === 'object' && typeof account['address'] === 'string'\n}\n\nexport interface AccountStatic<T extends AccountInstance = AccountInstance, C extends AccountConfig = AccountConfig> {\n previousHashStore?: PreviousHashStore\n create(options?: C): Promise<T>\n fromPrivateKey(key: ArrayBufferLike | bigint | string): Promise<AccountInstance>\n random(): Promise<AccountInstance>\n}\n"],
|
|
5
|
-
"mappings": ";AACA,SAAS,qBAAqB;
|
|
3
|
+
"sources": ["../../src/Account.ts", "../../src/Jwt/constants.ts"],
|
|
4
|
+
"sourcesContent": ["import type { Address, Hash } from '@xylabs/sdk-js'\nimport { isArrayBuffer } from '@xylabs/sdk-js'\nimport type { PrivateKeyInstance, PublicKeyInstance } from '@xyo-network/key-model'\nimport type { PreviousHashStore } from '@xyo-network/previous-hash-store-model'\n\nimport type { SignJwtOptions, SignJwtResult } from './Jwt/types.ts'\n\nexport const ethMessagePrefix = '\\u0019Ethereum Signed Message:\\n'\n\nexport interface PhraseInitializationConfig {\n phrase: string\n}\nexport interface PrivateKeyInitializationConfig {\n privateKey: ArrayBufferLike\n}\nexport interface MnemonicInitializationConfig {\n mnemonic: string\n path?: string\n}\nexport interface AccountOptions {\n previousHash?: ArrayBufferLike\n}\n\nexport type InitializationConfig = PhraseInitializationConfig | PrivateKeyInitializationConfig | MnemonicInitializationConfig\n\nexport type AccountConfig = InitializationConfig & AccountOptions\n\nexport const isPhraseInitializationConfig = (value: unknown): value is PhraseInitializationConfig => {\n if (typeof value === 'object' && value !== null) {\n return typeof (value as PhraseInitializationConfig).phrase === 'string'\n }\n return false\n}\n\nexport const isPrivateKeyInitializationConfig = (value: unknown): value is PrivateKeyInitializationConfig => {\n if (typeof value === 'object' && value !== null) {\n return isArrayBuffer((value as PrivateKeyInitializationConfig).privateKey)\n }\n return false\n}\n\nexport const isMnemonicInitializationConfig = (value: unknown): value is MnemonicInitializationConfig => {\n if (typeof value === 'object' && value !== null) {\n return (\n typeof (value as MnemonicInitializationConfig).mnemonic === 'string' && typeof ((value as MnemonicInitializationConfig).path ?? '') === 'string'\n )\n }\n return false\n}\n\nexport const isInitializationConfig = (value: unknown): value is InitializationConfig => {\n return isPhraseInitializationConfig(value) || isPrivateKeyInitializationConfig(value) || isMnemonicInitializationConfig(value)\n}\n\nexport interface AccountInstance {\n readonly address: Address\n readonly addressBytes: ArrayBufferLike\n previousHash: Hash | undefined\n previousHashBytes: ArrayBufferLike | undefined\n readonly private?: PrivateKeyInstance\n readonly public?: PublicKeyInstance\n sign: (hash: ArrayBufferLike, previousHash?: ArrayBufferLike) => Promise<[ArrayBufferLike, Hash?]>\n signJwt: (options: SignJwtOptions) => Promise<SignJwtResult>\n verify: (msg: ArrayBufferLike, signature: ArrayBufferLike) => Promise<boolean>\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const isAccountInstance = (account: any): account is AccountInstance => {\n return typeof account === 'object' && typeof account['address'] === 'string'\n}\n\nexport interface AccountStatic<T extends AccountInstance = AccountInstance, C extends AccountConfig = AccountConfig> {\n previousHashStore?: PreviousHashStore\n create(options?: C): Promise<T>\n fromPrivateKey(key: ArrayBufferLike | bigint | string): Promise<AccountInstance>\n random(): Promise<AccountInstance>\n}\n", "import { Enum } from '@xylabs/sdk-js'\n\nexport const JwtAlg = Enum({ ES256K: 'ES256K' } as const)\nexport type JwtAlg = Enum<typeof JwtAlg>\n\nexport const JwtTyp = Enum({ JWT: 'JWT' } as const)\nexport type JwtTyp = Enum<typeof JwtTyp>\n\nexport const JwtSchema = Enum({ Signin: 'network.xyo.auth.signin' } as const)\nexport type JwtSchema = Enum<typeof JwtSchema>\n"],
|
|
5
|
+
"mappings": ";AACA,SAAS,qBAAqB;AAMvB,IAAM,mBAAmB;AAoBzB,IAAM,+BAA+B,CAAC,UAAwD;AACnG,MAAI,OAAO,UAAU,YAAY,UAAU,MAAM;AAC/C,WAAO,OAAQ,MAAqC,WAAW;AAAA,EACjE;AACA,SAAO;AACT;AAEO,IAAM,mCAAmC,CAAC,UAA4D;AAC3G,MAAI,OAAO,UAAU,YAAY,UAAU,MAAM;AAC/C,WAAO,cAAe,MAAyC,UAAU;AAAA,EAC3E;AACA,SAAO;AACT;AAEO,IAAM,iCAAiC,CAAC,UAA0D;AACvG,MAAI,OAAO,UAAU,YAAY,UAAU,MAAM;AAC/C,WACE,OAAQ,MAAuC,aAAa,YAAY,QAAS,MAAuC,QAAQ,QAAQ;AAAA,EAE5I;AACA,SAAO;AACT;AAEO,IAAM,yBAAyB,CAAC,UAAkD;AACvF,SAAO,6BAA6B,KAAK,KAAK,iCAAiC,KAAK,KAAK,+BAA+B,KAAK;AAC/H;AAeO,IAAM,oBAAoB,CAAC,YAA6C;AAC7E,SAAO,OAAO,YAAY,YAAY,OAAO,QAAQ,SAAS,MAAM;AACtE;;;ACrEA,SAAS,YAAY;AAEd,IAAM,SAAS,KAAK,EAAE,QAAQ,SAAS,CAAU;AAGjD,IAAM,SAAS,KAAK,EAAE,KAAK,MAAM,CAAU;AAG3C,IAAM,YAAY,KAAK,EAAE,QAAQ,0BAA0B,CAAU;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xyo-network/account-model",
|
|
3
|
-
"version": "6.0.
|
|
3
|
+
"version": "6.0.2",
|
|
4
4
|
"description": "Primary SDK for using XYO Protocol 2.0",
|
|
5
5
|
"homepage": "https://xyo.network",
|
|
6
6
|
"bugs": {
|
|
@@ -34,16 +34,16 @@
|
|
|
34
34
|
"README.md"
|
|
35
35
|
],
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@xyo-network/previous-hash-store-model": "~6.0.
|
|
38
|
-
"@xyo-network/key-model": "~6.0.
|
|
37
|
+
"@xyo-network/previous-hash-store-model": "~6.0.2",
|
|
38
|
+
"@xyo-network/key-model": "~6.0.2"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
41
|
"@opentelemetry/api": "^1.9.1",
|
|
42
42
|
"@opentelemetry/sdk-trace-base": "^2.7.1",
|
|
43
43
|
"@scure/base": "~2.2.0",
|
|
44
|
-
"@xylabs/sdk-js": "~6.0",
|
|
45
|
-
"@xylabs/toolchain": "~8.
|
|
46
|
-
"@xylabs/tsconfig": "~8.
|
|
44
|
+
"@xylabs/sdk-js": "~6.0.2",
|
|
45
|
+
"@xylabs/toolchain": "~8.1.1",
|
|
46
|
+
"@xylabs/tsconfig": "~8.1.1",
|
|
47
47
|
"async-mutex": "^0.5.0",
|
|
48
48
|
"bn.js": "^5.2.3",
|
|
49
49
|
"buffer": "^6.0.3",
|