@owlmeans/basic-keys 0.1.18-rc.46 → 0.1.18-rc.48

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/README.md +12 -12
  2. package/agent-meta/manifest.json +2 -2
  3. package/agent-meta/skills/basic-keys/SKILL.md +13 -13
  4. package/build/auth/types.d.ts +10 -0
  5. package/build/auth/types.d.ts.map +1 -0
  6. package/build/auth/types.js +2 -0
  7. package/build/auth/types.js.map +1 -0
  8. package/build/auth.d.ts +3 -4
  9. package/build/auth.d.ts.map +1 -1
  10. package/build/auth.js +43 -39
  11. package/build/auth.js.map +1 -1
  12. package/build/helper/types.d.ts +11 -0
  13. package/build/helper/types.d.ts.map +1 -0
  14. package/build/helper/types.js +2 -0
  15. package/build/helper/types.js.map +1 -0
  16. package/build/helper.d.ts +4 -1
  17. package/build/helper.d.ts.map +1 -1
  18. package/build/helper.js +21 -15
  19. package/build/helper.js.map +1 -1
  20. package/build/index.d.ts +2 -0
  21. package/build/index.d.ts.map +1 -1
  22. package/build/index.js.map +1 -1
  23. package/build/keypair.js +2 -2
  24. package/build/keypair.js.map +1 -1
  25. package/build/model.d.ts +2 -2
  26. package/build/model.d.ts.map +1 -1
  27. package/build/model.js +16 -16
  28. package/build/model.js.map +1 -1
  29. package/build/plugins/ed25519.js +3 -3
  30. package/build/plugins/ed25519.js.map +1 -1
  31. package/build/plugins/xchacha.js +2 -2
  32. package/build/plugins/xchacha.js.map +1 -1
  33. package/build/utils/types.d.ts +16 -0
  34. package/build/utils/types.d.ts.map +1 -0
  35. package/build/utils/types.js +2 -0
  36. package/build/utils/types.js.map +1 -0
  37. package/build/utils.d.ts +3 -4
  38. package/build/utils.d.ts.map +1 -1
  39. package/build/utils.js +26 -22
  40. package/build/utils.js.map +1 -1
  41. package/package.json +9 -9
  42. package/src/auth/types.ts +17 -0
  43. package/src/auth.ts +51 -44
  44. package/src/helper/types.ts +11 -0
  45. package/src/helper.ts +26 -16
  46. package/src/index.ts +2 -0
  47. package/src/keypair.ts +2 -2
  48. package/src/model.ts +17 -17
  49. package/src/plugins/ed25519.ts +3 -3
  50. package/src/plugins/xchacha.ts +2 -2
  51. package/src/utils/types.ts +15 -0
  52. package/src/utils.ts +28 -21
  53. package/tests/auth.spec.ts +5 -5
  54. package/tests/keys.spec.ts +3 -3
  55. package/tests/known-answers.spec.ts +68 -0
package/README.md CHANGED
@@ -12,7 +12,7 @@ ED25519 and XChaCha20 cryptographic key operations: generation, signing, verific
12
12
  ## Installation
13
13
 
14
14
  ```bash
15
- bun add @owlmeans/basic-keys@^0.1.18-rc.46
15
+ bun add @owlmeans/basic-keys@^0.1.18-rc.48
16
16
  ```
17
17
 
18
18
  ## Usage
@@ -32,19 +32,19 @@ const address = pair.exportAddress() // derive address from public key
32
32
  Load from an existing public key:
33
33
 
34
34
  ```typescript
35
- import { fromPubKey, matchAddress } from '@owlmeans/basic-keys'
35
+ import { keyHelper } from '@owlmeans/basic-keys'
36
36
 
37
- const model = fromPubKey('ed25519:ABC123...')
38
- const isMatch = matchAddress(knownAddress, publicKeyStr)
37
+ const model = keyHelper.fromPubKey('ed25519:ABC123...')
38
+ const isMatch = keyHelper.matchAddress(knownAddress, publicKeyStr)
39
39
  ```
40
40
 
41
41
  Pack authentication credentials for a request:
42
42
 
43
43
  ```typescript
44
- import { packAuthCredentials, unpackAuthCredentials } from '@owlmeans/basic-keys'
44
+ import { authCredentialsHelper } from '@owlmeans/basic-keys'
45
45
 
46
- const signed = await packAuthCredentials(authObj, extraData, keyPairModel)
47
- const { isValid, extras } = await unpackAuthCredentials(signed, keyPairModel)
46
+ const signed = await authCredentialsHelper.packAuthCredentials(authObj, extraData, keyPairModel)
47
+ const { isValid, extras } = await authCredentialsHelper.unpackAuthCredentials(signed, keyPairModel)
48
48
  ```
49
49
 
50
50
  ## API
@@ -53,19 +53,19 @@ const { isValid, extras } = await unpackAuthCredentials(signed, keyPairModel)
53
53
 
54
54
  Creates a `KeyPairModel` from an existing `KeyPair` object, encoded private key string, or algorithm type string. Generates a new ED25519 key pair when called with no arguments.
55
55
 
56
- ### `fromPubKey(pubKey, type?): KeyPairModel`
56
+ ### `keyHelper.fromPubKey(pubKey, type?): KeyPairModel`
57
57
 
58
58
  Creates a verify-only `KeyPairModel` from a public key string. Supports `"type:key"` format.
59
59
 
60
- ### `matchAddress(address, pubKey): boolean`
60
+ ### `keyHelper.matchAddress(address, pubKey): boolean`
61
61
 
62
62
  Returns true if `address` was derived from `pubKey`.
63
63
 
64
- ### `packAuthCredentials(auth, extra, signer): Promise<AuthCredentials>`
64
+ ### `authCredentialsHelper.packAuthCredentials(auth, extra, signer): Promise<AuthCredentials>`
65
65
 
66
66
  Signs auth credentials, optionally embedding extra data in the credential field.
67
67
 
68
- ### `unpackAuthCredentials(auth, verifier?): Promise<UnpackedAuthCredentials>`
68
+ ### `authCredentialsHelper.unpackAuthCredentials(auth, verifier?): Promise<UnpackedAuthCredentials>`
69
69
 
70
70
  Extracts and optionally verifies signed auth credentials. Returns `isValid` boolean when a verifier is provided.
71
71
 
@@ -89,7 +89,7 @@ This package ships embedded agent skills under `agent-meta/`. After installing y
89
89
  your project's skill store (`.agents/skills/`):
90
90
 
91
91
  ```sh
92
- npx @owlmeans/agent-skills@^0.1.18-rc.47
92
+ npx @owlmeans/agent-skills@^0.1.18-rc.49
93
93
  ```
94
94
 
95
95
  The embedded files are version-matched to this package release. Do not edit them
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "schemaVersion": 2,
3
3
  "package": "@owlmeans/basic-keys",
4
- "version": "0.1.18-rc.46",
5
- "generatedAt": "2026-10-03T20:05:07.581Z",
4
+ "version": "0.1.18-rc.48",
5
+ "generatedAt": "2026-10-05T21:03:06.361Z",
6
6
  "canonicalRepo": "https://github.com/owlmeans/common",
7
7
  "entries": [
8
8
  {
@@ -8,7 +8,7 @@ user-invocable: false
8
8
  # @owlmeans/basic-keys
9
9
 
10
10
  **Layer:** Core
11
- **Install:** `"@owlmeans/basic-keys": "^0.1.18-rc.46"` in `dependencies`
11
+ **Install:** `"@owlmeans/basic-keys": "^0.1.18-rc.48"` in `dependencies`
12
12
 
13
13
  ## Key Exports
14
14
 
@@ -18,9 +18,9 @@ user-invocable: false
18
18
  | `KeyPair` | Key pair shape: `{ privateKey, publicKey, address, type }`, keys base64 |
19
19
  | `KeyPairModel` | `sign` / `verify` / `encrypt` / `decrypt` / `dcrpt` / `export*` |
20
20
  | `KeyType` | `ED25519` (`'ed25519'`, signing) and `XCHACHA` (`'xchacha'`, encryption) |
21
- | `fromPubKey(key, type?)`, `matchAddress(address, pubKey)` | Verify-only model from a public key; address check |
22
- | `packAuthCredentials(auth, extra, signer)` | Sign a credential payload into `AuthCredentials.credential` |
23
- | `unpackAuthCredentials(auth, verifier?)` | Split that back into `{ unsigned, signature, extras, isValid }` |
21
+ | `keyHelper.fromPubKey(key, type?)`, `keyHelper.matchAddress(address, pubKey)` | Verify-only model from a public key; address check |
22
+ | `authCredentialsHelper.packAuthCredentials(auth, extra, signer)` | Sign a credential payload into `AuthCredentials.credential` |
23
+ | `authCredentialsHelper.unpackAuthCredentials(auth, verifier?)` | Split that back into `{ unsigned, signature, extras, isValid }` |
24
24
  | `plugins` | The key-type registry, keyed by type string |
25
25
 
26
26
  ## Subpath Exports
@@ -29,7 +29,7 @@ user-invocable: false
29
29
  again, and the **`KeyPlugin` type**. `KeyPlugin` is *not* on the root surface: the root re-exports
30
30
  only the registry value, so a package implementing a new key type imports the type from
31
31
  `@owlmeans/basic-keys/plugins`.
32
- - `./utils` — `assertType`, `prepareKey`, `prepareData`, `toAddress`
32
+ - `./utils` — `keyUtils`: `assertType`, `prepareKey`, `prepareData`, `toAddress`
33
33
 
34
34
  ## Usage
35
35
 
@@ -68,9 +68,9 @@ Plain `Error` with a `basic.keys:<code>` message — this package does **not** u
68
68
  Not every failure comes back as one of these, so do not match on a code where the underlying
69
69
  library throws first:
70
70
 
71
- - Signing with a **verify-only** model does not raise `basic.keys:missing-pk`. `fromPubKey` stores
72
- `privateKey: ''`, which passes the null guard, and `@noble/curves` rejects it as
73
- `private key of length 32 expected, got 0`.
71
+ - Signing with a **verify-only** model does not raise `basic.keys:missing-pk`.
72
+ `keyHelper.fromPubKey` stores `privateKey: ''`, which passes the null guard, and `@noble/curves`
73
+ rejects it as `private key of length 32 expected, got 0`.
74
74
  - A string input that is neither a key type nor valid base64 fails in the decoder
75
75
  (`Found a character that cannot be part of a valid base64 string`), never with a `basic.keys:`
76
76
  code.
@@ -96,11 +96,11 @@ Callers that tolerate undecryptable values must catch — e.g. `@owlmeans/mongo`
96
96
 
97
97
  ## Signed credentials
98
98
 
99
- `packAuthCredentials` canonicalizes the unsigned credentials plus your extras, signs them, and
100
- returns `AuthCredentials` whose `credential` holds the signature (alone, or folded into the extras).
101
- `unpackAuthCredentials` reverses it and — given a verifier — reports `isValid`. Either side accepts
102
- a `KeyPairModel` or a bare sign/verify function, so a caller that holds only a remote signer works
103
- the same way.
99
+ `authCredentialsHelper.packAuthCredentials` canonicalizes the unsigned credentials plus your
100
+ extras, signs them, and returns `AuthCredentials` whose `credential` holds the signature (alone, or
101
+ folded into the extras). `authCredentialsHelper.unpackAuthCredentials` reverses it and — given a
102
+ verifier — reports `isValid`. Either side accepts a `KeyPairModel` or a bare sign/verify function,
103
+ so a caller that holds only a remote signer works the same way.
104
104
 
105
105
  ## Depends On
106
106
 
@@ -0,0 +1,10 @@
1
+ import type { AuthCredentials } from '@owlmeans/auth';
2
+ import type { KeyPairModel, PayloadSigner, PayloadVerifier, UnpackedAuthCredentials, UnsignedAuthCredentials } from '../types.js';
3
+ /** Signed authentication credentials: the signature packed into `credential` with any extras. */
4
+ export interface AuthCredentialsHelper {
5
+ /** Sign `auth` (plus canonicalized `extra`) and pack the signature into `credential`. */
6
+ packAuthCredentials: <T extends {} | undefined>(auth: UnsignedAuthCredentials, extra: T, signer: KeyPairModel | PayloadSigner) => Promise<AuthCredentials>;
7
+ /** Take packed credentials apart and, given a verifier, check the signature. */
8
+ unpackAuthCredentials: <T extends {} | undefined>(auth: AuthCredentials, verifier?: KeyPairModel | PayloadVerifier) => Promise<UnpackedAuthCredentials<T>>;
9
+ }
10
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/auth/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AAEjI,iGAAiG;AACjG,MAAM,WAAW,qBAAqB;IACpC,yFAAyF;IACzF,mBAAmB,EAAE,CAAC,CAAC,SAAS,EAAE,GAAG,SAAS,EAC5C,IAAI,EAAE,uBAAuB,EAC7B,KAAK,EAAE,CAAC,EACR,MAAM,EAAE,YAAY,GAAG,aAAa,KACjC,OAAO,CAAC,eAAe,CAAC,CAAA;IAC7B,gFAAgF;IAChF,qBAAqB,EAAE,CAAC,CAAC,SAAS,EAAE,GAAG,SAAS,EAC9C,IAAI,EAAE,eAAe,EACrB,QAAQ,CAAC,EAAE,YAAY,GAAG,eAAe,KACtC,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAA;CACzC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/auth/types.ts"],"names":[],"mappings":""}
package/build/auth.d.ts CHANGED
@@ -1,5 +1,4 @@
1
- import type { AuthCredentials } from '@owlmeans/auth';
2
- import type { KeyPairModel, PayloadSigner, PayloadVerifier, UnpackedAuthCredentials, UnsignedAuthCredentials } from './types.js';
3
- export declare const packAuthCredentials: <T extends {} | undefined>(auth: UnsignedAuthCredentials, extra: T, signer: KeyPairModel | PayloadSigner) => Promise<AuthCredentials>;
4
- export declare const unpackAuthCredentials: <T extends {} | undefined>(auth: AuthCredentials, verifier?: KeyPairModel | PayloadVerifier) => Promise<UnpackedAuthCredentials<T>>;
1
+ import type { AuthCredentialsHelper } from './auth/types.js';
2
+ export declare const createAuthCredentialsHelper: () => AuthCredentialsHelper;
3
+ export declare const authCredentialsHelper: AuthCredentialsHelper;
5
4
  //# sourceMappingURL=auth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AAGhI,eAAO,MAAM,mBAAmB,GAAU,CAAC,SAAS,EAAE,GAAG,SAAS,QAC1D,uBAAuB,SACtB,CAAC,UACA,YAAY,GAAG,aAAa,KACnC,OAAO,CAAC,eAAe,CAiBzB,CAAA;AAED,eAAO,MAAM,qBAAqB,GAAU,CAAC,SAAS,EAAE,GAAG,SAAS,QAC5D,eAAe,aACV,YAAY,GAAG,eAAe,KACxC,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC,CA6BpC,CAAA"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAE5D,eAAO,MAAM,2BAA2B,QAAO,qBA2D9C,CAAA;AAED,eAAO,MAAM,qBAAqB,uBAAgC,CAAA"}
package/build/auth.js CHANGED
@@ -1,45 +1,49 @@
1
1
  import canonicalize from 'canonicalize';
2
- export const packAuthCredentials = async (auth, extra, signer) => {
3
- const unsigned = {
4
- ...auth,
5
- ...(extra == null ? {} : { credential: canonicalize(extra) })
6
- };
7
- if (typeof signer !== 'function') {
8
- const _signer = signer;
9
- signer = async (payload) => await _signer.sign(payload);
10
- }
11
- const signature = await signer(unsigned);
12
- return {
13
- ...auth,
14
- credential: extra == null ? signature : canonicalize({ ...extra, signature }),
15
- };
16
- };
17
- export const unpackAuthCredentials = async (auth, verifier) => {
18
- let signature = '';
19
- let extras;
20
- try {
21
- extras = JSON.parse(auth.credential);
22
- if (typeof extras === 'object' && extras != null && "signature" in extras) {
23
- signature = extras.signature;
24
- delete extras.signature;
2
+ export const createAuthCredentialsHelper = () => {
3
+ const packAuthCredentials = async (auth, extra, signer) => {
4
+ const unsigned = {
5
+ ...auth,
6
+ ...(extra == null ? {} : { credential: canonicalize(extra) })
7
+ };
8
+ if (typeof signer !== 'function') {
9
+ const _signer = signer;
10
+ signer = async (payload) => await _signer.sign(payload);
25
11
  }
26
- }
27
- catch {
28
- signature = auth.credential;
29
- extras = undefined;
30
- }
31
- const unsigned = {
32
- ...auth,
33
- ...(extras == null ? {} : { credential: canonicalize(extras) })
12
+ const signature = await signer(unsigned);
13
+ return {
14
+ ...auth,
15
+ credential: extra == null ? signature : canonicalize({ ...extra, signature }),
16
+ };
34
17
  };
35
- let isValid = undefined;
36
- if (verifier != null) {
37
- if (typeof verifier !== 'function') {
38
- const _verifier = verifier;
39
- verifier = async (payload, signature) => await _verifier.verify(payload, signature);
18
+ const unpackAuthCredentials = async (auth, verifier) => {
19
+ let signature = '';
20
+ let extras;
21
+ try {
22
+ extras = JSON.parse(auth.credential);
23
+ if (typeof extras === 'object' && extras != null && "signature" in extras) {
24
+ signature = extras.signature;
25
+ delete extras.signature;
26
+ }
40
27
  }
41
- isValid = await verifier(unsigned, signature);
42
- }
43
- return { unsigned, signature, isValid, extras };
28
+ catch {
29
+ signature = auth.credential;
30
+ extras = undefined;
31
+ }
32
+ const unsigned = {
33
+ ...auth,
34
+ ...(extras == null ? {} : { credential: canonicalize(extras) })
35
+ };
36
+ let isValid = undefined;
37
+ if (verifier != null) {
38
+ if (typeof verifier !== 'function') {
39
+ const _verifier = verifier;
40
+ verifier = async (payload, signature) => await _verifier.verify(payload, signature);
41
+ }
42
+ isValid = await verifier(unsigned, signature);
43
+ }
44
+ return { unsigned, signature, isValid, extras };
45
+ };
46
+ return { packAuthCredentials, unpackAuthCredentials };
44
47
  };
48
+ export const authCredentialsHelper = createAuthCredentialsHelper();
45
49
  //# sourceMappingURL=auth.js.map
package/build/auth.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAEA,OAAO,YAAY,MAAM,cAAc,CAAA;AAEvC,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EACtC,IAA6B,EAC7B,KAAQ,EACR,MAAoC,EACV,EAAE;IAC5B,MAAM,QAAQ,GAA4B;QACxC,GAAG,IAAI;QACP,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,YAAY,CAAC,KAAK,CAAW,EAAE,CAAC;KACxE,CAAA;IAED,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,MAAM,CAAA;QACtB,MAAM,GAAG,KAAK,EAAC,OAAO,EAAC,EAAE,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACvD,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAA;IAExC,OAAO;QACL,GAAG,IAAI;QACP,UAAU,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,CAAW;KACxF,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,EACxC,IAAqB,EACrB,QAAyC,EACJ,EAAE;IACvC,IAAI,SAAS,GAAW,EAAE,CAAA;IAC1B,IAAI,MAAS,CAAA;IACb,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACpC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,IAAI,IAAI,IAAI,WAAW,IAAI,MAAM,EAAE,CAAC;YAC1E,SAAS,GAAG,MAAM,CAAC,SAAmB,CAAA;YACtC,OAAO,MAAM,CAAC,SAAS,CAAA;QACzB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,SAAS,GAAG,IAAI,CAAC,UAAU,CAAA;QAC3B,MAAM,GAAG,SAAc,CAAA;IACzB,CAAC;IACD,MAAM,QAAQ,GAA4B;QACxC,GAAG,IAAI;QACP,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,YAAY,CAAC,MAAM,CAAW,EAAE,CAAC;KAC1E,CAAA;IACD,IAAI,OAAO,GAAwB,SAAS,CAAA;IAE5C,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;QACrB,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE,CAAC;YACnC,MAAM,SAAS,GAAG,QAAQ,CAAA;YAC1B,QAAQ,GAAG,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,CAAC,MAAM,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;QACrF,CAAC;QAED,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAC/C,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,CAAA;AACjD,CAAC,CAAA"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAEA,OAAO,YAAY,MAAM,cAAc,CAAA;AAGvC,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAA0B,EAAE;IACrE,MAAM,mBAAmB,GAAG,KAAK,EAC/B,IAA6B,EAC7B,KAAQ,EACR,MAAoC,EACV,EAAE;QAC5B,MAAM,QAAQ,GAA4B;YACxC,GAAG,IAAI;YACP,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,YAAY,CAAC,KAAK,CAAW,EAAE,CAAC;SACxE,CAAA;QAED,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;YACjC,MAAM,OAAO,GAAG,MAAM,CAAA;YACtB,MAAM,GAAG,KAAK,EAAC,OAAO,EAAC,EAAE,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACvD,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAA;QAExC,OAAO;YACL,GAAG,IAAI;YACP,UAAU,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,CAAW;SACxF,CAAA;IACH,CAAC,CAAA;IAED,MAAM,qBAAqB,GAAG,KAAK,EACjC,IAAqB,EACrB,QAAyC,EACJ,EAAE;QACvC,IAAI,SAAS,GAAW,EAAE,CAAA;QAC1B,IAAI,MAAS,CAAA;QACb,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YACpC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,IAAI,IAAI,IAAI,WAAW,IAAI,MAAM,EAAE,CAAC;gBAC1E,SAAS,GAAG,MAAM,CAAC,SAAmB,CAAA;gBACtC,OAAO,MAAM,CAAC,SAAS,CAAA;YACzB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,SAAS,GAAG,IAAI,CAAC,UAAU,CAAA;YAC3B,MAAM,GAAG,SAAc,CAAA;QACzB,CAAC;QACD,MAAM,QAAQ,GAA4B;YACxC,GAAG,IAAI;YACP,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,YAAY,CAAC,MAAM,CAAW,EAAE,CAAC;SAC1E,CAAA;QACD,IAAI,OAAO,GAAwB,SAAS,CAAA;QAE5C,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;YACrB,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE,CAAC;gBACnC,MAAM,SAAS,GAAG,QAAQ,CAAA;gBAC1B,QAAQ,GAAG,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,CAAC,MAAM,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;YACrF,CAAC;YAED,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;QAC/C,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,CAAA;IACjD,CAAC,CAAA;IAED,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,CAAA;AACvD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,2BAA2B,EAAE,CAAA"}
@@ -0,0 +1,11 @@
1
+ import type { KeyPairModel } from '../types.js';
2
+ /** Key models built from what a peer publishes: its public key and its address. */
3
+ export interface KeyHelper {
4
+ /**
5
+ * A verify-only key model of a public key, `<type>:<key>` or a bare key (ed25519 by default).
6
+ */
7
+ fromPubKey: (pubKey: string, type?: string) => KeyPairModel;
8
+ /** Whether an address is the one the public key derives to. */
9
+ matchAddress: (address: string, pubKey: string) => boolean;
10
+ }
11
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/helper/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/C,mFAAmF;AACnF,MAAM,WAAW,SAAS;IACxB;;OAEG;IACH,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,YAAY,CAAA;IAC3D,+DAA+D;IAC/D,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAA;CAC3D"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/helper/types.ts"],"names":[],"mappings":""}
package/build/helper.d.ts CHANGED
@@ -1,4 +1,7 @@
1
1
  import type { KeyPairModel } from './types.js';
2
+ import type { KeyHelper } from './helper/types.js';
3
+ export declare const createKeyHelper: () => KeyHelper;
4
+ export declare const keyHelper: KeyHelper;
5
+ /** @deprecated compat:factory-refactor — use `keyHelper.fromPubKey(…)` */
2
6
  export declare const fromPubKey: (pubKey: string, type?: string) => KeyPairModel;
3
- export declare const matchAddress: (address: string, pubKey: string) => boolean;
4
7
  //# sourceMappingURL=helper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../src/helper.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAW,YAAY,EAAE,MAAM,YAAY,CAAA;AAGvD,eAAO,MAAM,UAAU,WAAY,MAAM,SAAS,MAAM,KAAG,YAiB1D,CAAA;AAED,eAAO,MAAM,YAAY,YAAa,MAAM,UAAU,MAAM,KAAG,OACf,CAAA"}
1
+ {"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../src/helper.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAW,YAAY,EAAE,MAAM,YAAY,CAAA;AAEvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAElD,eAAO,MAAM,eAAe,QAAO,SAwBlC,CAAA;AAED,eAAO,MAAM,SAAS,WAAoB,CAAA;AAE1C,0EAA0E;AAC1E,eAAO,MAAM,UAAU,WAAY,MAAM,SAAS,MAAM,KAAG,YAAkD,CAAA"}
package/build/helper.js CHANGED
@@ -1,22 +1,28 @@
1
1
  import { KeyType } from './consts.js';
2
2
  import { makeKeyPairModel } from './model.js';
3
3
  import { plugins } from './plugins/index.js';
4
- import { prepareKey } from './utils.js';
5
- export const fromPubKey = (pubKey, type) => {
6
- if (type == null) {
7
- [type, pubKey] = pubKey.includes(':') ? pubKey.split(':', 2) : [KeyType.ED25519, pubKey];
8
- if (pubKey == null) {
9
- pubKey = type;
10
- type = KeyType.ED25519;
4
+ import { keyUtils } from './utils.js';
5
+ export const createKeyHelper = () => {
6
+ const fromPubKey = (pubKey, type) => {
7
+ if (type == null) {
8
+ [type, pubKey] = pubKey.includes(':') ? pubKey.split(':', 2) : [KeyType.ED25519, pubKey];
9
+ if (pubKey == null) {
10
+ pubKey = type;
11
+ type = KeyType.ED25519;
12
+ }
11
13
  }
12
- }
13
- const keyPair = {
14
- privateKey: '',
15
- publicKey: pubKey,
16
- type,
17
- address: plugins[type].toAdress(prepareKey(pubKey))
14
+ const keyPair = {
15
+ privateKey: '',
16
+ publicKey: pubKey,
17
+ type,
18
+ address: plugins[type].toAdress(keyUtils.prepareKey(pubKey))
19
+ };
20
+ return makeKeyPairModel(keyPair);
18
21
  };
19
- return makeKeyPairModel(keyPair);
22
+ const matchAddress = (address, pubKey) => address === fromPubKey(pubKey).exportAddress();
23
+ return { fromPubKey, matchAddress };
20
24
  };
21
- export const matchAddress = (address, pubKey) => address === fromPubKey(pubKey).exportAddress();
25
+ export const keyHelper = createKeyHelper();
26
+ /** @deprecated compat:factory-refactor — use `keyHelper.fromPubKey(…)` */
27
+ export const fromPubKey = (pubKey, type) => keyHelper.fromPubKey(pubKey, type);
22
28
  //# sourceMappingURL=helper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helper.js","sourceRoot":"","sources":["../src/helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAE5C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAEvC,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,MAAc,EAAE,IAAa,EAAgB,EAAE;IACxE,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QACjB,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QACxF,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;YACnB,MAAM,GAAG,IAAI,CAAA;YACb,IAAI,GAAG,OAAO,CAAC,OAAO,CAAA;QACxB,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAY;QACvB,UAAU,EAAE,EAAE;QACd,SAAS,EAAE,MAAM;QACjB,IAAI;QACJ,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;KACpD,CAAA;IAED,OAAO,gBAAgB,CAAC,OAAO,CAAC,CAAA;AAClC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,OAAe,EAAE,MAAc,EAAW,EAAE,CACvE,OAAO,KAAK,UAAU,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,CAAA"}
1
+ {"version":3,"file":"helper.js","sourceRoot":"","sources":["../src/helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAE5C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAGrC,MAAM,CAAC,MAAM,eAAe,GAAG,GAAc,EAAE;IAC7C,MAAM,UAAU,GAAG,CAAC,MAAc,EAAE,IAAa,EAAgB,EAAE;QACjE,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;YACjB,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;YACxF,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;gBACnB,MAAM,GAAG,IAAI,CAAA;gBACb,IAAI,GAAG,OAAO,CAAC,OAAO,CAAA;YACxB,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAY;YACvB,UAAU,EAAE,EAAE;YACd,SAAS,EAAE,MAAM;YACjB,IAAI;YACJ,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;SAC7D,CAAA;QAED,OAAO,gBAAgB,CAAC,OAAO,CAAC,CAAA;IAClC,CAAC,CAAA;IAED,MAAM,YAAY,GAAG,CAAC,OAAe,EAAE,MAAc,EAAW,EAAE,CAChE,OAAO,KAAK,UAAU,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,CAAA;IAEhD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,CAAA;AACrC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,eAAe,EAAE,CAAA;AAE1C,0EAA0E;AAC1E,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,MAAc,EAAE,IAAa,EAAgB,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA"}
package/build/index.d.ts CHANGED
@@ -1,4 +1,6 @@
1
1
  export type * from './types.js';
2
+ export type * from './helper/types.js';
3
+ export type * from './auth/types.js';
2
4
  export * from './consts.js';
3
5
  export * from './helper.js';
4
6
  export * from './keypair.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,YAAY,CAAA;AAE/B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,YAAY,CAAA;AAC/B,mBAAmB,mBAAmB,CAAA;AACtC,mBAAmB,iBAAiB,CAAA;AAEpC,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,oBAAoB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,oBAAoB,CAAA"}
package/build/keypair.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { base64 } from '@scure/base';
2
2
  import { KeyType } from './consts.js';
3
3
  import { plugins } from './plugins/index.js';
4
- import { assertType } from './utils.js';
4
+ import { keyUtils } from './utils.js';
5
5
  export const inputToKeyPair = (input) => {
6
6
  let type = KeyType.ED25519;
7
7
  let keyPair = null;
@@ -29,7 +29,7 @@ export const inputToKeyPair = (input) => {
29
29
  }
30
30
  }
31
31
  if (keyPair == null) {
32
- assertType(type);
32
+ keyUtils.assertType(type);
33
33
  if (primaryKey == null) {
34
34
  primaryKey = plugins[type].random();
35
35
  }
@@ -1 +1 @@
1
- {"version":3,"file":"keypair.js","sourceRoot":"","sources":["../src/keypair.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAEvC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAwB,EAAW,EAAE;IAClE,IAAI,IAAI,GAAW,OAAO,CAAC,OAAO,CAAA;IAClC,IAAI,OAAO,GAAmB,IAAI,CAAA;IAClC,IAAI,UAAU,GAAsB,IAAI,CAAA;IACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,GAAG,KAAK,CAAA;IACjB,CAAC;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACrC,IAAI,KAAK,IAAI,OAAO,EAAE,CAAC,CAAC,wCAAwC;YAC9D,IAAI,GAAG,KAAK,CAAA;QACd,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;YAC1C,IAAI,GAAG,IAAI,IAAI,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;gBACnC,IAAI,GAAG,OAAO,CAAC,OAAO,CAAA;gBACtB,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YACrC,CAAC;iBAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,IAAI,GAAG,OAAO,CAAA;gBACd,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YACjC,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;YAClD,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;QACpB,UAAU,CAAC,IAAI,CAAC,CAAA;QAChB,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;YACvB,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAA;QACrC,CAAC;QACD,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;QACpD,OAAO,GAAG;YACR,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC;YACrC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;YACnC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;YAC1C,IAAI;SACL,CAAA;IACH,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA"}
1
+ {"version":3,"file":"keypair.js","sourceRoot":"","sources":["../src/keypair.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAwB,EAAW,EAAE;IAClE,IAAI,IAAI,GAAW,OAAO,CAAC,OAAO,CAAA;IAClC,IAAI,OAAO,GAAmB,IAAI,CAAA;IAClC,IAAI,UAAU,GAAsB,IAAI,CAAA;IACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,GAAG,KAAK,CAAA;IACjB,CAAC;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACrC,IAAI,KAAK,IAAI,OAAO,EAAE,CAAC,CAAC,wCAAwC;YAC9D,IAAI,GAAG,KAAK,CAAA;QACd,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;YAC1C,IAAI,GAAG,IAAI,IAAI,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;gBACnC,IAAI,GAAG,OAAO,CAAC,OAAO,CAAA;gBACtB,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YACrC,CAAC;iBAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,IAAI,GAAG,OAAO,CAAA;gBACd,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YACjC,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;YAClD,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;QACpB,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;QACzB,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;YACvB,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAA;QACrC,CAAC;QACD,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;QACpD,OAAO,GAAG;YACR,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC;YACrC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;YACnC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;YAC1C,IAAI;SACL,CAAA;IACH,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA"}
package/build/model.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- import type { KeyPairModelMaker } from './types.js';
2
- export declare const makeKeyPairModel: KeyPairModelMaker;
1
+ import type { KeyPair, KeyPairModel } from './types.js';
2
+ export declare const makeKeyPairModel: (input?: KeyPair | string) => KeyPairModel;
3
3
  //# sourceMappingURL=model.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAMjE,eAAO,MAAM,gBAAgB,EAAE,iBAmH9B,CAAA"}
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAMvD,eAAO,MAAM,gBAAgB,WAAY,OAAO,GAAG,MAAM,KAAG,YAmH3D,CAAA"}
package/build/model.js CHANGED
@@ -1,59 +1,59 @@
1
1
  import { plugins } from './plugins/index.js';
2
2
  import { base64urlnopad, utf8 } from '@scure/base';
3
- import { assertType, prepareData, prepareKey } from './utils.js';
3
+ import { keyUtils } from './utils.js';
4
4
  import { inputToKeyPair } from './keypair.js';
5
- export const makeKeyPairModel = input => {
5
+ export const makeKeyPairModel = (input) => {
6
6
  const keyPair = inputToKeyPair(input);
7
7
  const _model = {
8
8
  keyPair,
9
9
  sign: async (data) => {
10
- data = prepareData(data);
11
- assertType(_model.keyPair?.type);
10
+ data = keyUtils.prepareData(data);
11
+ keyUtils.assertType(_model.keyPair?.type);
12
12
  if (_model.keyPair == null) {
13
13
  throw new Error('basic.keys:missing-keypair');
14
14
  }
15
15
  if (_model.keyPair.privateKey == null) {
16
16
  throw new Error('basic.keys:missing-pk');
17
17
  }
18
- return base64urlnopad.encode(plugins[_model.keyPair.type].sign(data, prepareKey(_model.keyPair.privateKey)));
18
+ return base64urlnopad.encode(plugins[_model.keyPair.type].sign(data, keyUtils.prepareKey(_model.keyPair.privateKey)));
19
19
  },
20
20
  verify: async (data, signature) => {
21
- data = prepareData(data);
22
- assertType(_model.keyPair?.type);
21
+ data = keyUtils.prepareData(data);
22
+ keyUtils.assertType(_model.keyPair?.type);
23
23
  const sig = base64urlnopad.decode(signature);
24
24
  if (_model.keyPair == null) {
25
25
  throw new Error('basic.keys:missing-keypair');
26
26
  }
27
- return plugins[_model.keyPair.type].verify(data, sig, prepareKey(_model.keyPair.publicKey));
27
+ return plugins[_model.keyPair.type].verify(data, sig, keyUtils.prepareKey(_model.keyPair.publicKey));
28
28
  },
29
29
  export: () => {
30
- assertType(_model.keyPair?.type);
30
+ keyUtils.assertType(_model.keyPair?.type);
31
31
  if (_model.keyPair == null) {
32
32
  throw new Error('basic.keys:missing-keypair');
33
33
  }
34
34
  return `${_model.keyPair.type}:${_model.keyPair.privateKey}`;
35
35
  },
36
36
  exportPublic: () => {
37
- assertType(_model.keyPair?.type);
37
+ keyUtils.assertType(_model.keyPair?.type);
38
38
  if (_model.keyPair == null) {
39
39
  throw new Error('basic.keys:missing-keypair');
40
40
  }
41
41
  return `${_model.keyPair.type}:${_model.keyPair.publicKey}`;
42
42
  },
43
43
  exportAddress: () => {
44
- assertType(_model.keyPair?.type);
44
+ keyUtils.assertType(_model.keyPair?.type);
45
45
  if (_model.keyPair == null) {
46
46
  throw new Error('basic.keys:missing-keypair');
47
47
  }
48
48
  return `${_model.keyPair.type}:${_model.keyPair.address}`;
49
49
  },
50
50
  encrypt: async (data) => {
51
- data = prepareData(data);
52
- assertType(_model.keyPair?.type);
51
+ data = keyUtils.prepareData(data);
52
+ keyUtils.assertType(_model.keyPair?.type);
53
53
  if (_model.keyPair == null) {
54
54
  throw new Error('basic.keys:missing-keypair');
55
55
  }
56
- return base64urlnopad.encode(plugins[_model.keyPair.type].encrypt(data, prepareKey(_model.keyPair.publicKey)));
56
+ return base64urlnopad.encode(plugins[_model.keyPair.type].encrypt(data, keyUtils.prepareKey(_model.keyPair.publicKey)));
57
57
  },
58
58
  decrypt: async (data) => {
59
59
  const plain = await _model.dcrpt(data);
@@ -68,11 +68,11 @@ export const makeKeyPairModel = input => {
68
68
  },
69
69
  dcrpt: async (data) => {
70
70
  data = data instanceof Uint8Array ? data : base64urlnopad.decode(data);
71
- assertType(_model.keyPair?.type);
71
+ keyUtils.assertType(_model.keyPair?.type);
72
72
  if (_model.keyPair == null) {
73
73
  throw new Error('basic.keys:missing-keypair');
74
74
  }
75
- return plugins[_model.keyPair.type].decrypt(data, prepareKey(_model.keyPair.privateKey));
75
+ return plugins[_model.keyPair.type].decrypt(data, keyUtils.prepareKey(_model.keyPair.privateKey));
76
76
  }
77
77
  };
78
78
  return _model;
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import { KeyType } from '../consts.js';
2
- import { ed25519 } from '@noble/curves/ed25519';
2
+ import { ed25519 } from '@noble/curves/ed25519.js';
3
3
  import { base58 } from '@scure/base';
4
- import { keccak_256 } from '@noble/hashes/sha3';
4
+ import { keccak_256 } from '@noble/hashes/sha3.js';
5
5
  export const ed25519Plugin = {
6
6
  type: KeyType.ED25519,
7
- random: () => ed25519.utils.randomPrivateKey(),
7
+ random: () => ed25519.utils.randomSecretKey(),
8
8
  sign: (data, pk) => ed25519.sign(data, pk),
9
9
  verify: (data, signature, pub) => ed25519.verify(signature, data, pub),
10
10
  toPublic: pk => ed25519.getPublicKey(pk),
@@ -1 +1 @@
1
- {"version":3,"file":"ed25519.js","sourceRoot":"","sources":["../../src/plugins/ed25519.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAE/C,MAAM,CAAC,MAAM,aAAa,GAAc;IACtC,IAAI,EAAE,OAAO,CAAC,OAAO;IAErB,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE;IAE9C,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;IAE1C,MAAM,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,GAAG,CAAC;IAEtE,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;IAExC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;IAEnE,OAAO,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,GAAG,aAAa,CAAC,IAAI,qBAAqB,CAAC,CAAA,CAAC,CAAC;IAE9E,OAAO,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,GAAG,aAAa,CAAC,IAAI,qBAAqB,CAAC,CAAA,CAAC,CAAC;CAC/E,CAAA"}
1
+ {"version":3,"file":"ed25519.js","sourceRoot":"","sources":["../../src/plugins/ed25519.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAElD,MAAM,CAAC,MAAM,aAAa,GAAc;IACtC,IAAI,EAAE,OAAO,CAAC,OAAO;IAErB,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE;IAE7C,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;IAE1C,MAAM,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,GAAG,CAAC;IAEtE,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;IAExC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;IAEnE,OAAO,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,GAAG,aAAa,CAAC,IAAI,qBAAqB,CAAC,CAAA,CAAC,CAAC;IAE9E,OAAO,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,GAAG,aAAa,CAAC,IAAI,qBAAqB,CAAC,CAAA,CAAC,CAAC;CAC/E,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import { KeyType } from '../consts.js';
2
- import { xchacha20poly1305 } from '@noble/ciphers/chacha';
3
- import { randomBytes, managedNonce } from '@noble/ciphers/webcrypto';
2
+ import { xchacha20poly1305 } from '@noble/ciphers/chacha.js';
3
+ import { randomBytes, managedNonce } from '@noble/ciphers/utils.js';
4
4
  export const xChahaPlugin = {
5
5
  type: KeyType.XCHACHA,
6
6
  random: () => randomBytes(32),
@@ -1 +1 @@
1
- {"version":3,"file":"xchacha.js","sourceRoot":"","sources":["../../src/plugins/xchacha.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAGpE,MAAM,CAAC,MAAM,YAAY,GAAc;IACrC,IAAI,EAAE,OAAO,CAAC,OAAO;IAErB,MAAM,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC;IAE7B,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,GAAG,YAAY,CAAC,IAAI,UAAU,CAAC,CAAA,CAAC,CAAC;IAE/D,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,GAAG,YAAY,CAAC,IAAI,eAAe,CAAC,CAAA,CAAC,CAAC;IAEtE,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE;IAElB,QAAQ,EAAE,GAAG,EAAE,CAAC,YAAY;IAE5B,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IAExE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;CACzE,CAAA"}
1
+ {"version":3,"file":"xchacha.js","sourceRoot":"","sources":["../../src/plugins/xchacha.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAGnE,MAAM,CAAC,MAAM,YAAY,GAAc;IACrC,IAAI,EAAE,OAAO,CAAC,OAAO;IAErB,MAAM,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC;IAE7B,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,GAAG,YAAY,CAAC,IAAI,UAAU,CAAC,CAAA,CAAC,CAAC;IAE/D,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,GAAG,YAAY,CAAC,IAAI,eAAe,CAAC,CAAA,CAAC,CAAC;IAEtE,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE;IAElB,QAAQ,EAAE,GAAG,EAAE,CAAC,YAAY;IAE5B,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IAExE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;CACzE,CAAA"}
@@ -0,0 +1,16 @@
1
+ /** The low-level key and payload primitives the key models and plugins share. */
2
+ export interface KeyUtils {
3
+ /** The 20-byte address of a public key: the tail of its keccak-256 digest. */
4
+ toAddress: (publicKey: Uint8Array) => Uint8Array;
5
+ /** A base64-encoded key as bytes. */
6
+ prepareKey: (key: string) => Uint8Array;
7
+ /**
8
+ * Bytes to sign, verify or encrypt: an object is canonicalized, a string UTF-8 encoded.
9
+ *
10
+ * @throws {Error} `basic.keys:sign-data-type` for anything else
11
+ */
12
+ prepareData: (data: unknown) => Uint8Array;
13
+ /** @throws {Error} `basic.keys:unknown-type` for a key type no plugin is registered for */
14
+ assertType: (type?: string) => void;
15
+ }
16
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/utils/types.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,MAAM,WAAW,QAAQ;IACvB,8EAA8E;IAC9E,SAAS,EAAE,CAAC,SAAS,EAAE,UAAU,KAAK,UAAU,CAAA;IAChD,qCAAqC;IACrC,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,UAAU,CAAA;IACvC;;;;OAIG;IACH,WAAW,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,UAAU,CAAA;IAC1C,2FAA2F;IAC3F,UAAU,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;CACpC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map