@owlmeans/did 0.1.18-rc.44 → 0.1.18-rc.46

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 (57) hide show
  1. package/README.md +2 -2
  2. package/agent-meta/manifest.json +2 -2
  3. package/agent-meta/skills/did/SKILL.md +1 -1
  4. package/build/consts.local.d.ts +2 -0
  5. package/build/consts.local.d.ts.map +1 -0
  6. package/build/consts.local.js +2 -0
  7. package/build/consts.local.js.map +1 -0
  8. package/build/i18n.js +17 -17
  9. package/build/i18n.js.map +1 -1
  10. package/build/model.d.ts.map +1 -1
  11. package/build/model.js +4 -4
  12. package/build/model.js.map +1 -1
  13. package/build/plugins/ed25519owl.js +5 -5
  14. package/build/plugins/ed25519owl.js.map +1 -1
  15. package/build/utils/index.d.ts +2 -0
  16. package/build/utils/index.d.ts.map +1 -1
  17. package/build/utils/index.js.map +1 -1
  18. package/build/utils/key.d.ts.map +1 -1
  19. package/build/utils/key.js +2 -2
  20. package/build/utils/key.js.map +1 -1
  21. package/build/utils/mnemonic/types.d.ts +13 -0
  22. package/build/utils/mnemonic/types.d.ts.map +1 -0
  23. package/build/utils/mnemonic/types.js +2 -0
  24. package/build/utils/mnemonic/types.js.map +1 -0
  25. package/build/utils/mnemonic.d.ts +3 -5
  26. package/build/utils/mnemonic.d.ts.map +1 -1
  27. package/build/utils/mnemonic.js +15 -11
  28. package/build/utils/mnemonic.js.map +1 -1
  29. package/build/utils/types.d.ts +11 -0
  30. package/build/utils/types.d.ts.map +1 -0
  31. package/build/utils/types.js +2 -0
  32. package/build/utils/types.js.map +1 -0
  33. package/build/utils.d.ts +3 -4
  34. package/build/utils.d.ts.map +1 -1
  35. package/build/utils.js +25 -21
  36. package/build/utils.js.map +1 -1
  37. package/build/wallet.d.ts.map +1 -1
  38. package/build/wallet.js +8 -8
  39. package/build/wallet.js.map +1 -1
  40. package/package.json +11 -10
  41. package/src/consts.local.ts +1 -0
  42. package/src/i18n.ts +18 -17
  43. package/src/model.ts +4 -4
  44. package/src/plugins/ed25519owl.ts +5 -5
  45. package/src/utils/index.ts +2 -0
  46. package/src/utils/key.ts +3 -3
  47. package/src/utils/mnemonic/types.ts +13 -0
  48. package/src/utils/mnemonic.ts +21 -14
  49. package/src/utils/types.ts +11 -0
  50. package/src/utils.ts +32 -26
  51. package/src/wallet.ts +9 -9
  52. package/tests/mnemonic.spec.d.ts +2 -0
  53. package/tests/mnemonic.spec.d.ts.map +1 -0
  54. package/tests/mnemonic.spec.js +27 -0
  55. package/tests/mnemonic.spec.js.map +1 -0
  56. package/tests/mnemonic.spec.ts +31 -0
  57. package/tsconfig.json +1 -1
package/README.md CHANGED
@@ -12,7 +12,7 @@ Hierarchical deterministic (HD) wallet and DID document management for OwlMeans
12
12
  ## Installation
13
13
 
14
14
  ```bash
15
- bun add @owlmeans/did@^0.1.18-rc.44
15
+ bun add @owlmeans/did@^0.1.18-rc.46
16
16
  ```
17
17
 
18
18
  ## Usage
@@ -65,7 +65,7 @@ This package ships embedded agent skills under `agent-meta/`. After installing y
65
65
  your project's skill store (`.agents/skills/`):
66
66
 
67
67
  ```sh
68
- npx @owlmeans/agent-skills@^0.1.18-rc.47
68
+ npx @owlmeans/agent-skills@^0.1.18-rc.49
69
69
  ```
70
70
 
71
71
  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/did",
4
- "version": "0.1.18-rc.44",
5
- "generatedAt": "2026-10-03T20:05:07.613Z",
4
+ "version": "0.1.18-rc.46",
5
+ "generatedAt": "2026-10-05T21:03:06.419Z",
6
6
  "canonicalRepo": "https://github.com/owlmeans/common",
7
7
  "entries": [
8
8
  {
@@ -8,7 +8,7 @@ user-invocable: false
8
8
  # @owlmeans/did
9
9
 
10
10
  **Layer:** Core
11
- **Install:** `"@owlmeans/did": "^0.1.18-rc.44"` in `dependencies`
11
+ **Install:** `"@owlmeans/did": "^0.1.18-rc.46"` in `dependencies`
12
12
 
13
13
  This package adds a **derivable** key type on top of `@owlmeans/basic-keys` and a wallet that stores
14
14
  keys derived from one mnemonic seed. Importing it registers the `owlmk` key type into the shared
@@ -0,0 +1,2 @@
1
+ export declare const skipFields: string[];
2
+ //# sourceMappingURL=consts.local.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consts.local.d.ts","sourceRoot":"","sources":["../src/consts.local.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,UAAW,CAAA"}
@@ -0,0 +1,2 @@
1
+ export const skipFields = ['name'];
2
+ //# sourceMappingURL=consts.local.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consts.local.js","sourceRoot":"","sources":["../src/consts.local.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,MAAM,CAAC,CAAA"}
package/build/i18n.js CHANGED
@@ -1,4 +1,3 @@
1
- import { addI18nLib } from '@owlmeans/i18n';
2
1
  import en from './i18n/en.json' with { type: 'json' };
3
2
  import pl from './i18n/pl.json' with { type: 'json' };
4
3
  import ru from './i18n/ru.json' with { type: 'json' };
@@ -15,20 +14,21 @@ import walletUk from './i18n/wallet-uk.json' with { type: 'json' };
15
14
  import walletEs from './i18n/wallet-es.json' with { type: 'json' };
16
15
  import walletDe from './i18n/wallet-de.json' with { type: 'json' };
17
16
  import walletFr from './i18n/wallet-fr.json' with { type: 'json' };
18
- addI18nLib('en', 'keys', en, { ns: 'did' });
19
- addI18nLib('pl', 'keys', pl, { ns: 'did' });
20
- addI18nLib('ru', 'keys', ru, { ns: 'did' });
21
- addI18nLib('be', 'keys', be, { ns: 'did' });
22
- addI18nLib('uk', 'keys', uk, { ns: 'did' });
23
- addI18nLib('es', 'keys', es, { ns: 'did' });
24
- addI18nLib('de', 'keys', de, { ns: 'did' });
25
- addI18nLib('fr', 'keys', fr, { ns: 'did' });
26
- addI18nLib('en', 'wallet', walletEn, { ns: 'did' });
27
- addI18nLib('pl', 'wallet', walletPl, { ns: 'did' });
28
- addI18nLib('ru', 'wallet', walletRu, { ns: 'did' });
29
- addI18nLib('be', 'wallet', walletBe, { ns: 'did' });
30
- addI18nLib('uk', 'wallet', walletUk, { ns: 'did' });
31
- addI18nLib('es', 'wallet', walletEs, { ns: 'did' });
32
- addI18nLib('de', 'wallet', walletDe, { ns: 'did' });
33
- addI18nLib('fr', 'wallet', walletFr, { ns: 'did' });
17
+ import { i18nHelper } from '@owlmeans/i18n';
18
+ i18nHelper.addI18nLib('en', 'keys', en, { ns: 'did' });
19
+ i18nHelper.addI18nLib('pl', 'keys', pl, { ns: 'did' });
20
+ i18nHelper.addI18nLib('ru', 'keys', ru, { ns: 'did' });
21
+ i18nHelper.addI18nLib('be', 'keys', be, { ns: 'did' });
22
+ i18nHelper.addI18nLib('uk', 'keys', uk, { ns: 'did' });
23
+ i18nHelper.addI18nLib('es', 'keys', es, { ns: 'did' });
24
+ i18nHelper.addI18nLib('de', 'keys', de, { ns: 'did' });
25
+ i18nHelper.addI18nLib('fr', 'keys', fr, { ns: 'did' });
26
+ i18nHelper.addI18nLib('en', 'wallet', walletEn, { ns: 'did' });
27
+ i18nHelper.addI18nLib('pl', 'wallet', walletPl, { ns: 'did' });
28
+ i18nHelper.addI18nLib('ru', 'wallet', walletRu, { ns: 'did' });
29
+ i18nHelper.addI18nLib('be', 'wallet', walletBe, { ns: 'did' });
30
+ i18nHelper.addI18nLib('uk', 'wallet', walletUk, { ns: 'did' });
31
+ i18nHelper.addI18nLib('es', 'wallet', walletEs, { ns: 'did' });
32
+ i18nHelper.addI18nLib('de', 'wallet', walletDe, { ns: 'did' });
33
+ i18nHelper.addI18nLib('fr', 'wallet', walletFr, { ns: 'did' });
34
34
  //# sourceMappingURL=i18n.js.map
package/build/i18n.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../src/i18n.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../src/i18n.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAC9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAM7C,eAAO,MAAM,eAAe,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,KAAK,WA4C3D,CAAA"}
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAC9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAM7C,eAAO,MAAM,eAAe,WAAY,OAAO,GAAG,MAAM,KAAG,WA4C1D,CAAA"}
package/build/model.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import { makeKeyPairModel, plugins } from '@owlmeans/basic-keys';
2
2
  import { DIDKeyError } from './errors.js';
3
- import { assertType, prepareKey } from '@owlmeans/basic-keys/utils';
3
+ import { keyUtils } from '@owlmeans/basic-keys/utils';
4
4
  import { base64 } from '@scure/base';
5
5
  import { KP_SEP, MAX_DEPTH } from './consts.js';
6
- export const makeDidKeyModel = input => {
6
+ export const makeDidKeyModel = (input) => {
7
7
  if (typeof input == 'string') {
8
8
  const plugin = plugins[input];
9
9
  if (plugin != null && (plugin.fromSeed == null || plugin.derive == null)) {
@@ -15,7 +15,7 @@ export const makeDidKeyModel = input => {
15
15
  if (model.keyPair == null) {
16
16
  throw new DIDKeyError('no:keypair');
17
17
  }
18
- assertType(model.keyPair?.type);
18
+ keyUtils.assertType(model.keyPair?.type);
19
19
  if (model.keyPair.privateKey == null) {
20
20
  throw new DIDKeyError('no:pk');
21
21
  }
@@ -27,7 +27,7 @@ export const makeDidKeyModel = input => {
27
27
  if (item == null) {
28
28
  throw new DIDKeyError('no:path');
29
29
  }
30
- const newKey = [model.keyPair.type, base64.encode(plugins[model.keyPair.type].derive(prepareKey(model.keyPair.privateKey), item))].join(':');
30
+ const newKey = [model.keyPair.type, base64.encode(plugins[model.keyPair.type].derive(keyUtils.prepareKey(model.keyPair.privateKey), item))].join(':');
31
31
  const derived = makeDidKeyModel(newKey);
32
32
  if (derived.keyPair == null) {
33
33
  throw new DIDKeyError('derived:missgenerated');
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAgB,MAAM,sBAAsB,CAAA;AAE9E,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAE/C,MAAM,CAAC,MAAM,eAAe,GAA8C,KAAK,CAAC,EAAE;IAChF,IAAI,OAAO,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;QAC7B,IAAI,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,EAAE,CAAC;YACzE,MAAM,IAAI,WAAW,CAAC,iBAAiB,KAAK,EAAE,CAAC,CAAA;QACjD,CAAC;IACH,CAAC;IACD,MAAM,KAAK,GAAgB,gBAAgB,CAAC,KAAK,CAAgB,CAAA;IAEjE,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE;QACpB,IAAI,KAAK,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;YAC1B,MAAM,IAAI,WAAW,CAAC,YAAY,CAAC,CAAA;QACrC,CAAC;QACD,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,EAAE,CAAC;YACrC,MAAM,IAAI,WAAW,CAAC,OAAO,CAAC,CAAA;QAChC,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC,CAAA;QAE5E,IAAI,KAAK,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;YAC7B,MAAM,IAAI,WAAW,CAAC,UAAU,CAAC,CAAA;QACnC,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,CAAA;QAC1B,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;YACjB,MAAM,IAAI,WAAW,CAAC,SAAS,CAAC,CAAA;QAClC,CAAC;QAED,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAC/C,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAO,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,CAChF,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAEZ,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,CAAA;QACvC,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;YAC5B,MAAM,IAAI,WAAW,CAAC,uBAAuB,CAAC,CAAA;QAChD,CAAC;QACD,OAAO,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAA;QAC3B,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,aAAa,EAAE,CAAA;QAE9C,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;IACxE,CAAC,CAAA;IAED,OAAO,KAAK,CAAA;AACd,CAAC,CAAA"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAgB,MAAM,sBAAsB,CAAA;AAE9E,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAE/C,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAwB,EAAe,EAAE;IACvE,IAAI,OAAO,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;QAC7B,IAAI,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,EAAE,CAAC;YACzE,MAAM,IAAI,WAAW,CAAC,iBAAiB,KAAK,EAAE,CAAC,CAAA;QACjD,CAAC;IACH,CAAC;IACD,MAAM,KAAK,GAAgB,gBAAgB,CAAC,KAAK,CAAgB,CAAA;IAEjE,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE;QACpB,IAAI,KAAK,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;YAC1B,MAAM,IAAI,WAAW,CAAC,YAAY,CAAC,CAAA;QACrC,CAAC;QACD,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QACxC,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,EAAE,CAAC;YACrC,MAAM,IAAI,WAAW,CAAC,OAAO,CAAC,CAAA;QAChC,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC,CAAA;QAE5E,IAAI,KAAK,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;YAC7B,MAAM,IAAI,WAAW,CAAC,UAAU,CAAC,CAAA;QACnC,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,CAAA;QAC1B,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;YACjB,MAAM,IAAI,WAAW,CAAC,SAAS,CAAC,CAAA;QAClC,CAAC;QAED,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAC/C,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,CACzF,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAEZ,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,CAAA;QACvC,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;YAC5B,MAAM,IAAI,WAAW,CAAC,uBAAuB,CAAC,CAAA;QAChD,CAAC;QACD,OAAO,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAA;QAC3B,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,aAAa,EAAE,CAAA;QAE9C,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;IACxE,CAAC,CAAA;IAED,OAAO,KAAK,CAAA;AACd,CAAC,CAAA"}
@@ -1,10 +1,10 @@
1
- import { ed25519 } from '@noble/curves/ed25519';
1
+ import { ed25519 } from '@noble/curves/ed25519.js';
2
2
  import { KEY_OWL } from '../consts.js';
3
3
  import { base58, utf8 } from '@scure/base';
4
- import { concatBytes, randomBytes } from '@noble/hashes/utils';
5
- import { hmac } from '@noble/hashes/hmac';
6
- import { sha512 } from '@noble/hashes/sha512';
7
- import { keccak_256 } from '@noble/hashes/sha3';
4
+ import { concatBytes, randomBytes } from '@noble/hashes/utils.js';
5
+ import { hmac } from '@noble/hashes/hmac.js';
6
+ import { sha512 } from '@noble/hashes/sha2.js';
7
+ import { keccak_256 } from '@noble/hashes/sha3.js';
8
8
  export const ed25519owlPluginBuilder = (type = KEY_OWL) => {
9
9
  const key = {
10
10
  type: type,
@@ -1 +1 @@
1
- {"version":3,"file":"ed25519owl.js","sourceRoot":"","sources":["../../src/plugins/ed25519owl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAE/C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAE/C,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,IAAI,GAAW,OAAO,EAAa,EAAE;IAC3E,MAAM,GAAG,GAAc;QACrB,IAAI,EAAE,IAAI;QAEV,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,QAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAE5C,MAAM,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CACnB,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAE7E,QAAQ,EAAE,CAAC,IAAgB,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;QAErE,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAEvD,MAAM,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,GAAG,CAAC;QAEtE,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAErD,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;QAEnE,OAAO,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,GAAG,GAAG,CAAC,IAAI,qBAAqB,CAAC,CAAA,CAAC,CAAC;QAEpE,OAAO,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,GAAG,GAAG,CAAC,IAAI,qBAAqB,CAAC,CAAA,CAAC,CAAC;KACrE,CAAA;IAED,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA"}
1
+ {"version":3,"file":"ed25519owl.js","sourceRoot":"","sources":["../../src/plugins/ed25519owl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AAElD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACjE,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAElD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,IAAI,GAAW,OAAO,EAAa,EAAE;IAC3E,MAAM,GAAG,GAAc;QACrB,IAAI,EAAE,IAAI;QAEV,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,QAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAE5C,MAAM,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CACnB,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAE7E,QAAQ,EAAE,CAAC,IAAgB,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;QAErE,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAEvD,MAAM,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,GAAG,CAAC;QAEtE,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAErD,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;QAEnE,OAAO,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,GAAG,GAAG,CAAC,IAAI,qBAAqB,CAAC,CAAA,CAAC,CAAC;QAEpE,OAAO,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,GAAG,GAAG,CAAC,IAAI,qBAAqB,CAAC,CAAA,CAAC,CAAC;KACrE,CAAA;IAED,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA"}
@@ -1,3 +1,5 @@
1
+ export type * from './types.js';
2
+ export type * from './mnemonic/types.js';
1
3
  export * from './mnemonic.js';
2
4
  export * from './key.js';
3
5
  export * from '../utils.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AACA,cAAc,eAAe,CAAA;AAC7B,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AACA,mBAAmB,YAAY,CAAA;AAC/B,mBAAmB,qBAAqB,CAAA;AACxC,cAAc,eAAe,CAAA;AAC7B,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AACA,cAAc,eAAe,CAAA;AAC7B,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAGA,cAAc,eAAe,CAAA;AAC7B,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"key.d.ts","sourceRoot":"","sources":["../../src/utils/key.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAE7C,eAAO,MAAM,UAAU,SAAU,MAAM,GAAG,UAAU,SAAQ,MAAM,eAoBjE,CAAA"}
1
+ {"version":3,"file":"key.d.ts","sourceRoot":"","sources":["../../src/utils/key.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAE7C,eAAO,MAAM,UAAU,SAAU,MAAM,GAAG,UAAU,SAAQ,MAAM,KAAa,UAoB9E,CAAA"}
@@ -1,4 +1,4 @@
1
- import { assertType } from '@owlmeans/basic-keys/utils';
1
+ import { keyUtils } from '@owlmeans/basic-keys/utils';
2
2
  import { KEY_OWL } from '../consts.js';
3
3
  import { base64 } from '@scure/base';
4
4
  import { plugins } from '../plugins/index.js';
@@ -7,7 +7,7 @@ export const produceKey = (seed, type = KEY_OWL) => {
7
7
  if (typeof seed === 'string') {
8
8
  seed = base64.decode(seed);
9
9
  }
10
- assertType(type);
10
+ keyUtils.assertType(type);
11
11
  if (plugins[type].fromSeed == null) {
12
12
  throw new DIDKeyError(`non-derivable:${type}`);
13
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"key.js","sourceRoot":"","sources":["../../src/utils/key.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAG1C,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAyB,EAAE,IAAI,GAAW,OAAO,EAAE,EAAE;IAC9E,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAC5B,CAAC;IACD,UAAU,CAAC,IAAI,CAAC,CAAA;IAEhB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;QACnC,MAAM,IAAI,WAAW,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAA;IAChD,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC/C,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;IACpD,MAAM,OAAO,GAAe;QAC1B,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC;QACrC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;QACnC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC1C,IAAI;KACL,CAAA;IAED,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA"}
1
+ {"version":3,"file":"key.js","sourceRoot":"","sources":["../../src/utils/key.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAG1C,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAyB,EAAE,IAAI,GAAW,OAAO,EAAc,EAAE;IAC1F,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAC5B,CAAC;IACD,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;IAEzB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;QACnC,MAAM,IAAI,WAAW,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAA;IAChD,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC/C,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;IACpD,MAAM,OAAO,GAAe;QAC1B,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC;QACrC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;QACnC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC1C,IAAI;KACL,CAAA;IAED,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA"}
@@ -0,0 +1,13 @@
1
+ import type { MnemonicOptions } from '../../types.js';
2
+ /** BIP-39 mnemonics: generation and the seed and entropy derived from them. */
3
+ export interface MnemonicHelper {
4
+ /** A new mnemonic of `opts.size` words (12–24, default 18). @throws {SyntaxError} outside that range */
5
+ generateMnemonic: (opts?: MnemonicOptions) => string;
6
+ /** The BIP-39 seed of a mnemonic, base64. */
7
+ toSeed: (mnemonic: string) => string;
8
+ /** The BIP-39 seed of a mnemonic, hex. */
9
+ toEntropy: (mnemonic: string) => string;
10
+ /** The mnemonic of hex entropy. */
11
+ toMnemonic: (seed: string) => string;
12
+ }
13
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/utils/mnemonic/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAErD,+EAA+E;AAC/E,MAAM,WAAW,cAAc;IAC7B,wGAAwG;IACxG,gBAAgB,EAAE,CAAC,IAAI,CAAC,EAAE,eAAe,KAAK,MAAM,CAAA;IACpD,6CAA6C;IAC7C,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAA;IACpC,0CAA0C;IAC1C,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAA;IACvC,mCAAmC;IACnC,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;CACrC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/utils/mnemonic/types.ts"],"names":[],"mappings":""}
@@ -1,6 +1,4 @@
1
- import type { MnemonicOptions } from '../types.js';
2
- export declare const generateMnemonic: (opts?: MnemonicOptions) => string;
3
- export declare const toSeed: (mnemonic: string) => string;
4
- export declare const toEntropy: (mnemonic: string) => string;
5
- export declare const toMnemonic: (seed: string) => string;
1
+ import type { MnemonicHelper } from './mnemonic/types.js';
2
+ export declare const createMnemonicHelper: () => MnemonicHelper;
3
+ export declare const mnemonicHelper: MnemonicHelper;
6
4
  //# sourceMappingURL=mnemonic.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mnemonic.d.ts","sourceRoot":"","sources":["../../src/utils/mnemonic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAKlD,eAAO,MAAM,gBAAgB,UAAW,eAAe,KAAG,MASzD,CAAA;AAED,eAAO,MAAM,MAAM,aAAc,MAAM,KAAG,MACG,CAAA;AAE7C,eAAO,MAAM,SAAS,aAAc,MAAM,KAAG,MACH,CAAA;AAE1C,eAAO,MAAM,UAAU,SAAU,MAAM,KAAG,MACY,CAAA"}
1
+ {"version":3,"file":"mnemonic.d.ts","sourceRoot":"","sources":["../../src/utils/mnemonic.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEzD,eAAO,MAAM,oBAAoB,QAAO,cAsBvC,CAAA;AAED,eAAO,MAAM,cAAc,gBAAyB,CAAA"}
@@ -1,15 +1,19 @@
1
1
  import { generateMnemonic as generate, mnemonicToSeedSync, entropyToMnemonic } from '@scure/bip39';
2
2
  import { hex, base64 } from '@scure/base';
3
- import { wordlist } from '@scure/bip39/wordlists/english';
4
- export const generateMnemonic = (opts) => {
5
- const size = opts?.size ?? 18;
6
- if (size < 12 || size > 24) {
7
- throw new SyntaxError('Mnemonic size should be between 12 and 24');
8
- }
9
- const strength = Math.round(256 * size / 24);
10
- return generate(wordlist, strength + (32 - strength % 32));
3
+ import { wordlist } from '@scure/bip39/wordlists/english.js';
4
+ export const createMnemonicHelper = () => {
5
+ const generateMnemonic = (opts) => {
6
+ const size = opts?.size ?? 18;
7
+ if (size < 12 || size > 24) {
8
+ throw new SyntaxError('Mnemonic size should be between 12 and 24');
9
+ }
10
+ const strength = Math.round(256 * size / 24);
11
+ return generate(wordlist, strength + (32 - strength % 32));
12
+ };
13
+ const toSeed = (mnemonic) => base64.encode(mnemonicToSeedSync(mnemonic));
14
+ const toEntropy = (mnemonic) => hex.encode(mnemonicToSeedSync(mnemonic));
15
+ const toMnemonic = (seed) => entropyToMnemonic(hex.decode(seed), wordlist);
16
+ return { generateMnemonic, toSeed, toEntropy, toMnemonic };
11
17
  };
12
- export const toSeed = (mnemonic) => base64.encode(mnemonicToSeedSync(mnemonic));
13
- export const toEntropy = (mnemonic) => hex.encode(mnemonicToSeedSync(mnemonic));
14
- export const toMnemonic = (seed) => entropyToMnemonic(hex.decode(seed), wordlist);
18
+ export const mnemonicHelper = createMnemonicHelper();
15
19
  //# sourceMappingURL=mnemonic.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mnemonic.js","sourceRoot":"","sources":["../../src/utils/mnemonic.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,IAAI,QAAQ,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAClG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAA;AAEzD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAsB,EAAU,EAAE;IACjE,MAAM,IAAI,GAAG,IAAI,EAAE,IAAI,IAAI,EAAE,CAAA;IAE7B,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,EAAE,CAAC;QAC3B,MAAM,IAAI,WAAW,CAAC,2CAA2C,CAAC,CAAA;IACpE,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC,CAAA;IAC5C,OAAO,QAAQ,CAAC,QAAe,EAAE,QAAQ,GAAG,CAAC,EAAE,GAAG,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAA;AACnE,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,QAAgB,EAAU,EAAE,CACjD,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAA;AAE7C,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,QAAgB,EAAU,EAAE,CACpD,GAAG,CAAC,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAA;AAE1C,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAY,EAAU,EAAE,CACjD,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,QAAe,CAAC,CAAA"}
1
+ {"version":3,"file":"mnemonic.js","sourceRoot":"","sources":["../../src/utils/mnemonic.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,IAAI,QAAQ,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAClG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAA;AAG5D,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAmB,EAAE;IACvD,MAAM,gBAAgB,GAAG,CAAC,IAAsB,EAAU,EAAE;QAC1D,MAAM,IAAI,GAAG,IAAI,EAAE,IAAI,IAAI,EAAE,CAAA;QAE7B,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,EAAE,CAAC;YAC3B,MAAM,IAAI,WAAW,CAAC,2CAA2C,CAAC,CAAA;QACpE,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC,CAAA;QAC5C,OAAO,QAAQ,CAAC,QAAe,EAAE,QAAQ,GAAG,CAAC,EAAE,GAAG,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAA;IACnE,CAAC,CAAA;IAED,MAAM,MAAM,GAAG,CAAC,QAAgB,EAAU,EAAE,CAC1C,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAA;IAE7C,MAAM,SAAS,GAAG,CAAC,QAAgB,EAAU,EAAE,CAC7C,GAAG,CAAC,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAA;IAE1C,MAAM,UAAU,GAAG,CAAC,IAAY,EAAU,EAAE,CAC1C,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,QAAe,CAAC,CAAA;IAEtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,CAAA;AAC5D,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,oBAAoB,EAAE,CAAA"}
@@ -0,0 +1,11 @@
1
+ import type { KeyMeta } from '../types.js';
2
+ /** Wallet key paths composed from key metadata. */
3
+ export interface KeyPathUtils {
4
+ /** Join path items with the key-path separator; an array item is joined with the prefix one. */
5
+ toPath: (...args: (string | string[])[]) => string;
6
+ /** The derivation path of a key described by its metadata: service, entity, profile. */
7
+ mataToPath: (meta: Partial<KeyMeta>) => string;
8
+ /** Whether a key's metadata carries every field the needle asks for (`name` is ignored). */
9
+ matchMeta: (haystack: KeyMeta, needle: Partial<KeyMeta>) => boolean;
10
+ }
11
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/utils/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAE1C,mDAAmD;AACnD,MAAM,WAAW,YAAY;IAC3B,gGAAgG;IAChG,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,EAAE,KAAK,MAAM,CAAA;IAClD,wFAAwF;IACxF,UAAU,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,MAAM,CAAA;IAC9C,4FAA4F;IAC5F,SAAS,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,OAAO,CAAA;CACpE"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/utils/types.ts"],"names":[],"mappings":""}
package/build/utils.d.ts CHANGED
@@ -1,5 +1,4 @@
1
- import type { KeyMeta } from './types.js';
2
- export declare const toPath: (...args: (string | string[])[]) => string;
3
- export declare const mataToPath: (meta: Partial<KeyMeta>) => string;
4
- export declare const matchMeta: (haystack: KeyMeta, needle: Partial<KeyMeta>) => boolean;
1
+ import type { KeyPathUtils } from './utils/types.js';
2
+ export declare const createKeyPathUtils: () => KeyPathUtils;
3
+ export declare const keyPathUtils: KeyPathUtils;
5
4
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEzC,eAAO,MAAM,MAAM,YAAa,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,EAAE,WAEvC,CAAA;AAEd,eAAO,MAAM,UAAU,SAAU,OAAO,CAAC,OAAO,CAAC,KAAG,MAcnD,CAAA;AAID,eAAO,MAAM,SAAS,aAAc,OAAO,UAAU,OAAO,CAAC,OAAO,CAAC,KAAG,OAQlE,CAAA"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAEpD,eAAO,MAAM,kBAAkB,QAAO,YAgCrC,CAAA;AAED,eAAO,MAAM,YAAY,cAAuB,CAAA"}
package/build/utils.js CHANGED
@@ -1,24 +1,28 @@
1
1
  import { ENTITY_PREFIX, KP_SEP, PREFIX_SEP, PROFILE_PREFIX, SERVICE_PREFIX } from './consts.js';
2
- export const toPath = (...args) => args.map(arg => Array.isArray(arg) ? arg.join(PREFIX_SEP) : arg).join(KP_SEP);
3
- export const mataToPath = (meta) => {
4
- const { scopes, id, entityId } = meta;
5
- const items = [];
6
- if (scopes != null && scopes.length === 1) {
7
- items.push([SERVICE_PREFIX, scopes[0]]);
8
- }
9
- if (entityId != null) {
10
- items.push([ENTITY_PREFIX, entityId]);
11
- }
12
- if (id != null) {
13
- items.push([PROFILE_PREFIX, id]);
14
- }
15
- return toPath(...items);
2
+ import { skipFields } from './consts.local.js';
3
+ export const createKeyPathUtils = () => {
4
+ const toPath = (...args) => args.map(arg => Array.isArray(arg) ? arg.join(PREFIX_SEP) : arg).join(KP_SEP);
5
+ const mataToPath = (meta) => {
6
+ const { scopes, id, entityId } = meta;
7
+ const items = [];
8
+ if (scopes != null && scopes.length === 1) {
9
+ items.push([SERVICE_PREFIX, scopes[0]]);
10
+ }
11
+ if (entityId != null) {
12
+ items.push([ENTITY_PREFIX, entityId]);
13
+ }
14
+ if (id != null) {
15
+ items.push([PROFILE_PREFIX, id]);
16
+ }
17
+ return toPath(...items);
18
+ };
19
+ const matchMeta = (haystack, needle) => Object.entries(needle).every(([key, value]) => skipFields.includes(key)
20
+ || (haystack[key] != null
21
+ && (Array.isArray(value)
22
+ ? Array.isArray(haystack[key])
23
+ && value.every(value => haystack[key].includes(value))
24
+ : haystack[key] === value)));
25
+ return { toPath, mataToPath, matchMeta };
16
26
  };
17
- const skipFields = ['name'];
18
- export const matchMeta = (haystack, needle) => Object.entries(needle).every(([key, value]) => skipFields.includes(key)
19
- || (haystack[key] != null
20
- && (Array.isArray(value)
21
- ? Array.isArray(haystack[key])
22
- && value.every(value => haystack[key].includes(value))
23
- : haystack[key] === value)));
27
+ export const keyPathUtils = createKeyPathUtils();
24
28
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAG/F,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,GAAG,IAA2B,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAChE,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CACvD,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;AAEd,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAsB,EAAU,EAAE;IAC3D,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;IACrC,MAAM,KAAK,GAA0B,EAAE,CAAA;IACvC,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACzC,CAAC;IACD,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAA;IACvC,CAAC;IACD,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,CAAA;IAClC,CAAC;IAED,OAAO,MAAM,CAAC,GAAG,KAAK,CAAC,CAAA;AACzB,CAAC,CAAA;AAED,MAAM,UAAU,GAAG,CAAC,MAAM,CAAC,CAAA;AAE3B,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,QAAiB,EAAE,MAAwB,EAAW,EAAE,CAChF,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAC5C,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC;OACrB,CAAC,QAAQ,CAAC,GAA4B,CAAC,IAAI,IAAI;WAC7C,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YACtB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAA4B,CAAC,CAAC;mBACpD,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAE,QAAQ,CAAC,GAA4B,CAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC9F,CAAC,CAAC,QAAQ,CAAC,GAA4B,CAAC,KAAK,KAAK,CAAC,CACtD,CAAC,CAAA"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE/F,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAG9C,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAiB,EAAE;IACnD,MAAM,MAAM,GAAG,CAAC,GAAG,IAA2B,EAAU,EAAE,CAAC,IAAI,CAAC,GAAG,CACjE,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CACvD,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAEd,MAAM,UAAU,GAAG,CAAC,IAAsB,EAAU,EAAE;QACpD,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;QACrC,MAAM,KAAK,GAA0B,EAAE,CAAA;QACvC,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1C,KAAK,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACzC,CAAC;QACD,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAA;QACvC,CAAC;QACD,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,CAAA;QAClC,CAAC;QAED,OAAO,MAAM,CAAC,GAAG,KAAK,CAAC,CAAA;IACzB,CAAC,CAAA;IAED,MAAM,SAAS,GAAG,CAAC,QAAiB,EAAE,MAAwB,EAAW,EAAE,CACzE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAC5C,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC;WACrB,CAAC,QAAQ,CAAC,GAA4B,CAAC,IAAI,IAAI;eAC7C,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBACtB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAA4B,CAAC,CAAC;uBACpD,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAE,QAAQ,CAAC,GAA4B,CAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAC9F,CAAC,CAAC,QAAQ,CAAC,GAA4B,CAAC,KAAK,KAAK,CAAC,CACtD,CAAC,CAAA;IAEN,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,CAAA;AAC1C,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,kBAAkB,EAAE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../src/wallet.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAe,QAAQ,EAAE,SAAS,EAAyC,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAS/H,eAAO,MAAM,UAAU,UAAiB,QAAQ,SAAS,oBAAoB,uBA4K5E,CAAA"}
1
+ {"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../src/wallet.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAe,QAAQ,EAAE,SAAS,EAAyC,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAS/H,eAAO,MAAM,UAAU,UAAiB,QAAQ,SAAS,oBAAoB,KAAG,OAAO,CAAC,SAAS,CA4KhG,CAAA"}
package/build/wallet.js CHANGED
@@ -1,11 +1,11 @@
1
1
  import { DIDInitializationError, DIDKeyError, DIDWalletError } from './errors.js';
2
- import { generateMnemonic, toEntropy, toMnemonic, toSeed } from './utils/mnemonic.js';
3
2
  import { KEY_OWL, MASTER } from './consts.js';
4
3
  import { plugins } from './plugins/index.js';
5
4
  import { ed25519owlPluginBuilder } from './plugins/ed25519owl.js';
6
5
  import { produceKey } from './utils/key.js';
7
6
  import { makeDidKeyModel } from './model.js';
8
- import { mataToPath, matchMeta } from './utils.js';
7
+ import { keyPathUtils } from './utils.js';
8
+ import { mnemonicHelper } from './utils/mnemonic.js';
9
9
  export const makeWallet = async (store, opts) => {
10
10
  if (await store.master.load(MASTER) == null) {
11
11
  if (!opts?.force && !opts?.allowEmpty) {
@@ -21,10 +21,10 @@ export const makeWallet = async (store, opts) => {
21
21
  const wallet = {
22
22
  store,
23
23
  generate: async (opts) => {
24
- const mnemonic = generateMnemonic(opts);
24
+ const mnemonic = mnemonicHelper.generateMnemonic(opts);
25
25
  const seed = {
26
- entropy: toEntropy(mnemonic),
27
- seed: toSeed(mnemonic)
26
+ entropy: mnemonicHelper.toEntropy(mnemonic),
27
+ seed: mnemonicHelper.toSeed(mnemonic)
28
28
  };
29
29
  const master = produceKey(seed.seed, type);
30
30
  await store.master.save({ id: MASTER, ...master, ...seed });
@@ -37,7 +37,7 @@ export const makeWallet = async (store, opts) => {
37
37
  }
38
38
  return false;
39
39
  }
40
- return toMnemonic(master.seed);
40
+ return mnemonicHelper.toMnemonic(master.seed);
41
41
  },
42
42
  master: async () => makeDidKeyModel(await store.master.get(MASTER)),
43
43
  add: async (key, meta) => {
@@ -78,14 +78,14 @@ export const makeWallet = async (store, opts) => {
78
78
  find: async (meta) => {
79
79
  const where = Object.fromEntries(Object.entries(meta).filter(([_, v]) => typeof v !== 'boolean'));
80
80
  const result = await store.meta.list(where);
81
- const keys = await Promise.all(result.items.filter(item => matchMeta(item, meta))
81
+ const keys = await Promise.all(result.items.filter(item => keyPathUtils.matchMeta(item, meta))
82
82
  .map(async (meta) => store.keys.get(meta.id)));
83
83
  return keys.map(key => makeDidKeyModel(key));
84
84
  },
85
85
  provide: async (meta) => {
86
86
  const found = await wallet.find(meta);
87
87
  if (found.length === 0) {
88
- const path = mataToPath(meta);
88
+ const path = keyPathUtils.mataToPath(meta);
89
89
  const master = await wallet.master();
90
90
  const key = master.derive(path);
91
91
  if (meta.name == null) {
@@ -1 +1 @@
1
- {"version":3,"file":"wallet.js","sourceRoot":"","sources":["../src/wallet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wallet.js","sourceRoot":"","sources":["../src/wallet.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,10 +1,11 @@
1
1
  {
2
2
  "name": "@owlmeans/did",
3
- "version": "0.1.18-rc.44",
3
+ "version": "0.1.18-rc.46",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "scripts": {
7
7
  "build": "tsc -b",
8
+ "test": "bun test ./tests",
8
9
  "dev": "sleep 153 && nodemon -e ts,tsx,json --watch src --exec \"tsc -p ./tsconfig.json\"",
9
10
  "watch": "tsc -b -w --preserveWatchOutput --pretty"
10
11
  },
@@ -21,15 +22,15 @@
21
22
  }
22
23
  },
23
24
  "dependencies": {
24
- "@noble/curves": "^1.6.0",
25
- "@noble/hashes": "^1.5.0",
26
- "@owlmeans/auth": "^0.1.18-rc.38",
27
- "@owlmeans/basic-keys": "^0.1.18-rc.46",
28
- "@owlmeans/error": "^0.1.18-rc.36",
29
- "@owlmeans/i18n": "^0.1.18-rc.37",
30
- "@owlmeans/resource": "^0.1.18-rc.38",
31
- "@scure/base": "^2.3.0",
32
- "@scure/bip39": "^1.4.0"
25
+ "@noble/curves": "^2.4.0",
26
+ "@noble/hashes": "^2.4.0",
27
+ "@owlmeans/auth": "^0.1.18-rc.40",
28
+ "@owlmeans/basic-keys": "^0.1.18-rc.48",
29
+ "@owlmeans/error": "^0.1.18-rc.38",
30
+ "@owlmeans/i18n": "^0.1.18-rc.39",
31
+ "@owlmeans/resource": "^0.1.18-rc.40",
32
+ "@scure/base": "^2.4.0",
33
+ "@scure/bip39": "^2.4.0"
33
34
  },
34
35
  "devDependencies": {
35
36
  "@owlmeans/dep-config": "workspace:*",
@@ -0,0 +1 @@
1
+ export const skipFields = ['name']
package/src/i18n.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { addI18nLib } from '@owlmeans/i18n'
1
+
2
2
 
3
3
  import en from './i18n/en.json' with { type: 'json' }
4
4
  import pl from './i18n/pl.json' with { type: 'json' }
@@ -17,21 +17,22 @@ import walletUk from './i18n/wallet-uk.json' with { type: 'json' }
17
17
  import walletEs from './i18n/wallet-es.json' with { type: 'json' }
18
18
  import walletDe from './i18n/wallet-de.json' with { type: 'json' }
19
19
  import walletFr from './i18n/wallet-fr.json' with { type: 'json' }
20
+ import { i18nHelper } from '@owlmeans/i18n'
20
21
 
21
- addI18nLib('en', 'keys', en, { ns: 'did' })
22
- addI18nLib('pl', 'keys', pl, { ns: 'did' })
23
- addI18nLib('ru', 'keys', ru, { ns: 'did' })
24
- addI18nLib('be', 'keys', be, { ns: 'did' })
25
- addI18nLib('uk', 'keys', uk, { ns: 'did' })
26
- addI18nLib('es', 'keys', es, { ns: 'did' })
27
- addI18nLib('de', 'keys', de, { ns: 'did' })
28
- addI18nLib('fr', 'keys', fr, { ns: 'did' })
22
+ i18nHelper.addI18nLib('en', 'keys', en, { ns: 'did' })
23
+ i18nHelper.addI18nLib('pl', 'keys', pl, { ns: 'did' })
24
+ i18nHelper.addI18nLib('ru', 'keys', ru, { ns: 'did' })
25
+ i18nHelper.addI18nLib('be', 'keys', be, { ns: 'did' })
26
+ i18nHelper.addI18nLib('uk', 'keys', uk, { ns: 'did' })
27
+ i18nHelper.addI18nLib('es', 'keys', es, { ns: 'did' })
28
+ i18nHelper.addI18nLib('de', 'keys', de, { ns: 'did' })
29
+ i18nHelper.addI18nLib('fr', 'keys', fr, { ns: 'did' })
29
30
 
30
- addI18nLib('en', 'wallet', walletEn, { ns: 'did' })
31
- addI18nLib('pl', 'wallet', walletPl, { ns: 'did' })
32
- addI18nLib('ru', 'wallet', walletRu, { ns: 'did' })
33
- addI18nLib('be', 'wallet', walletBe, { ns: 'did' })
34
- addI18nLib('uk', 'wallet', walletUk, { ns: 'did' })
35
- addI18nLib('es', 'wallet', walletEs, { ns: 'did' })
36
- addI18nLib('de', 'wallet', walletDe, { ns: 'did' })
37
- addI18nLib('fr', 'wallet', walletFr, { ns: 'did' })
31
+ i18nHelper.addI18nLib('en', 'wallet', walletEn, { ns: 'did' })
32
+ i18nHelper.addI18nLib('pl', 'wallet', walletPl, { ns: 'did' })
33
+ i18nHelper.addI18nLib('ru', 'wallet', walletRu, { ns: 'did' })
34
+ i18nHelper.addI18nLib('be', 'wallet', walletBe, { ns: 'did' })
35
+ i18nHelper.addI18nLib('uk', 'wallet', walletUk, { ns: 'did' })
36
+ i18nHelper.addI18nLib('es', 'wallet', walletEs, { ns: 'did' })
37
+ i18nHelper.addI18nLib('de', 'wallet', walletDe, { ns: 'did' })
38
+ i18nHelper.addI18nLib('fr', 'wallet', walletFr, { ns: 'did' })
package/src/model.ts CHANGED
@@ -1,11 +1,11 @@
1
1
  import { makeKeyPairModel, plugins, type KeyPair } from '@owlmeans/basic-keys'
2
2
  import type { DIDKeyModel } from './types.js'
3
3
  import { DIDKeyError } from './errors.js'
4
- import { assertType, prepareKey } from '@owlmeans/basic-keys/utils'
4
+ import { keyUtils } from '@owlmeans/basic-keys/utils'
5
5
  import { base64 } from '@scure/base'
6
6
  import { KP_SEP, MAX_DEPTH } from './consts.js'
7
7
 
8
- export const makeDidKeyModel: (input?: KeyPair | string) => DIDKeyModel = input => {
8
+ export const makeDidKeyModel = (input?: KeyPair | string): DIDKeyModel => {
9
9
  if (typeof input == 'string') {
10
10
  const plugin = plugins[input]
11
11
  if (plugin != null && (plugin.fromSeed == null || plugin.derive == null)) {
@@ -18,7 +18,7 @@ export const makeDidKeyModel: (input?: KeyPair | string) => DIDKeyModel = input
18
18
  if (model.keyPair == null) {
19
19
  throw new DIDKeyError('no:keypair')
20
20
  }
21
- assertType(model.keyPair?.type)
21
+ keyUtils.assertType(model.keyPair?.type)
22
22
  if (model.keyPair.privateKey == null) {
23
23
  throw new DIDKeyError('no:pk')
24
24
  }
@@ -35,7 +35,7 @@ export const makeDidKeyModel: (input?: KeyPair | string) => DIDKeyModel = input
35
35
  }
36
36
 
37
37
  const newKey = [model.keyPair.type, base64.encode(
38
- plugins[model.keyPair.type].derive!(prepareKey(model.keyPair.privateKey), item)
38
+ plugins[model.keyPair.type].derive!(keyUtils.prepareKey(model.keyPair.privateKey), item)
39
39
  )].join(':')
40
40
 
41
41
  const derived = makeDidKeyModel(newKey)
@@ -1,11 +1,11 @@
1
- import { ed25519 } from '@noble/curves/ed25519'
1
+ import { ed25519 } from '@noble/curves/ed25519.js'
2
2
  import type { KeyPlugin } from '@owlmeans/basic-keys/plugins'
3
3
  import { KEY_OWL } from '../consts.js'
4
4
  import { base58, utf8 } from '@scure/base'
5
- import { concatBytes, randomBytes } from '@noble/hashes/utils'
6
- import { hmac } from '@noble/hashes/hmac'
7
- import { sha512 } from '@noble/hashes/sha512'
8
- import { keccak_256 } from '@noble/hashes/sha3'
5
+ import { concatBytes, randomBytes } from '@noble/hashes/utils.js'
6
+ import { hmac } from '@noble/hashes/hmac.js'
7
+ import { sha512 } from '@noble/hashes/sha2.js'
8
+ import { keccak_256 } from '@noble/hashes/sha3.js'
9
9
 
10
10
  export const ed25519owlPluginBuilder = (type: string = KEY_OWL): KeyPlugin => {
11
11
  const key: KeyPlugin = {
@@ -1,4 +1,6 @@
1
1
 
2
+ export type * from './types.js'
3
+ export type * from './mnemonic/types.js'
2
4
  export * from './mnemonic.js'
3
5
  export * from './key.js'
4
6
  export * from '../utils.js'
package/src/utils/key.ts CHANGED
@@ -1,16 +1,16 @@
1
1
 
2
- import { assertType } from '@owlmeans/basic-keys/utils'
2
+ import { keyUtils } from '@owlmeans/basic-keys/utils'
3
3
  import { KEY_OWL } from '../consts.js'
4
4
  import { base64 } from '@scure/base'
5
5
  import { plugins } from '../plugins/index.js'
6
6
  import { DIDKeyError } from '../errors.js'
7
7
  import type { DIDKeyPair } from '../types.js'
8
8
 
9
- export const produceKey = (seed: string | Uint8Array, type: string = KEY_OWL) => {
9
+ export const produceKey = (seed: string | Uint8Array, type: string = KEY_OWL): DIDKeyPair => {
10
10
  if (typeof seed === 'string') {
11
11
  seed = base64.decode(seed)
12
12
  }
13
- assertType(type)
13
+ keyUtils.assertType(type)
14
14
 
15
15
  if (plugins[type].fromSeed == null) {
16
16
  throw new DIDKeyError(`non-derivable:${type}`)
@@ -0,0 +1,13 @@
1
+ import type { MnemonicOptions } from '../../types.js'
2
+
3
+ /** BIP-39 mnemonics: generation and the seed and entropy derived from them. */
4
+ export interface MnemonicHelper {
5
+ /** A new mnemonic of `opts.size` words (12–24, default 18). @throws {SyntaxError} outside that range */
6
+ generateMnemonic: (opts?: MnemonicOptions) => string
7
+ /** The BIP-39 seed of a mnemonic, base64. */
8
+ toSeed: (mnemonic: string) => string
9
+ /** The BIP-39 seed of a mnemonic, hex. */
10
+ toEntropy: (mnemonic: string) => string
11
+ /** The mnemonic of hex entropy. */
12
+ toMnemonic: (seed: string) => string
13
+ }
@@ -1,24 +1,31 @@
1
1
  import type { MnemonicOptions } from '../types.js'
2
2
  import { generateMnemonic as generate, mnemonicToSeedSync, entropyToMnemonic } from '@scure/bip39'
3
3
  import { hex, base64 } from '@scure/base'
4
- import { wordlist } from '@scure/bip39/wordlists/english'
4
+ import { wordlist } from '@scure/bip39/wordlists/english.js'
5
+ import type { MnemonicHelper } from './mnemonic/types.js'
5
6
 
6
- export const generateMnemonic = (opts?: MnemonicOptions): string => {
7
- const size = opts?.size ?? 18
7
+ export const createMnemonicHelper = (): MnemonicHelper => {
8
+ const generateMnemonic = (opts?: MnemonicOptions): string => {
9
+ const size = opts?.size ?? 18
8
10
 
9
- if (size < 12 || size > 24) {
10
- throw new SyntaxError('Mnemonic size should be between 12 and 24')
11
+ if (size < 12 || size > 24) {
12
+ throw new SyntaxError('Mnemonic size should be between 12 and 24')
13
+ }
14
+
15
+ const strength = Math.round(256 * size / 24)
16
+ return generate(wordlist as any, strength + (32 - strength % 32))
11
17
  }
12
18
 
13
- const strength = Math.round(256 * size / 24)
14
- return generate(wordlist as any, strength + (32 - strength % 32))
15
- }
19
+ const toSeed = (mnemonic: string): string =>
20
+ base64.encode(mnemonicToSeedSync(mnemonic))
16
21
 
17
- export const toSeed = (mnemonic: string): string =>
18
- base64.encode(mnemonicToSeedSync(mnemonic))
22
+ const toEntropy = (mnemonic: string): string =>
23
+ hex.encode(mnemonicToSeedSync(mnemonic))
19
24
 
20
- export const toEntropy = (mnemonic: string): string =>
21
- hex.encode(mnemonicToSeedSync(mnemonic))
25
+ const toMnemonic = (seed: string): string =>
26
+ entropyToMnemonic(hex.decode(seed), wordlist as any)
27
+
28
+ return { generateMnemonic, toSeed, toEntropy, toMnemonic }
29
+ }
22
30
 
23
- export const toMnemonic = (seed: string): string =>
24
- entropyToMnemonic(hex.decode(seed), wordlist as any)
31
+ export const mnemonicHelper = createMnemonicHelper()
@@ -0,0 +1,11 @@
1
+ import type { KeyMeta } from '../types.js'
2
+
3
+ /** Wallet key paths composed from key metadata. */
4
+ export interface KeyPathUtils {
5
+ /** Join path items with the key-path separator; an array item is joined with the prefix one. */
6
+ toPath: (...args: (string | string[])[]) => string
7
+ /** The derivation path of a key described by its metadata: service, entity, profile. */
8
+ mataToPath: (meta: Partial<KeyMeta>) => string
9
+ /** Whether a key's metadata carries every field the needle asks for (`name` is ignored). */
10
+ matchMeta: (haystack: KeyMeta, needle: Partial<KeyMeta>) => boolean
11
+ }
package/src/utils.ts CHANGED
@@ -1,34 +1,40 @@
1
1
  import { ENTITY_PREFIX, KP_SEP, PREFIX_SEP, PROFILE_PREFIX, SERVICE_PREFIX } from './consts.js'
2
2
  import type { KeyMeta } from './types.js'
3
+ import { skipFields } from './consts.local.js'
4
+ import type { KeyPathUtils } from './utils/types.js'
3
5
 
4
- export const toPath = (...args: (string | string[])[]) => args.map(
5
- arg => Array.isArray(arg) ? arg.join(PREFIX_SEP) : arg
6
- ).join(KP_SEP)
6
+ export const createKeyPathUtils = (): KeyPathUtils => {
7
+ const toPath = (...args: (string | string[])[]): string => args.map(
8
+ arg => Array.isArray(arg) ? arg.join(PREFIX_SEP) : arg
9
+ ).join(KP_SEP)
7
10
 
8
- export const mataToPath = (meta: Partial<KeyMeta>): string => {
9
- const { scopes, id, entityId } = meta
10
- const items: (string | string[])[] = []
11
- if (scopes != null && scopes.length === 1) {
12
- items.push([SERVICE_PREFIX, scopes[0]])
13
- }
14
- if (entityId != null) {
15
- items.push([ENTITY_PREFIX, entityId])
16
- }
17
- if (id != null) {
18
- items.push([PROFILE_PREFIX, id])
11
+ const mataToPath = (meta: Partial<KeyMeta>): string => {
12
+ const { scopes, id, entityId } = meta
13
+ const items: (string | string[])[] = []
14
+ if (scopes != null && scopes.length === 1) {
15
+ items.push([SERVICE_PREFIX, scopes[0]])
16
+ }
17
+ if (entityId != null) {
18
+ items.push([ENTITY_PREFIX, entityId])
19
+ }
20
+ if (id != null) {
21
+ items.push([PROFILE_PREFIX, id])
22
+ }
23
+
24
+ return toPath(...items)
19
25
  }
20
26
 
21
- return toPath(...items)
22
- }
27
+ const matchMeta = (haystack: KeyMeta, needle: Partial<KeyMeta>): boolean =>
28
+ Object.entries(needle).every(([key, value]) =>
29
+ skipFields.includes(key)
30
+ || (haystack[key as keyof typeof haystack] != null
31
+ && (Array.isArray(value)
32
+ ? Array.isArray(haystack[key as keyof typeof haystack])
33
+ && value.every(value => (haystack[key as keyof typeof haystack] as unknown[]).includes(value))
34
+ : haystack[key as keyof typeof haystack] === value)
35
+ ))
23
36
 
24
- const skipFields = ['name']
37
+ return { toPath, mataToPath, matchMeta }
38
+ }
25
39
 
26
- export const matchMeta = (haystack: KeyMeta, needle: Partial<KeyMeta>): boolean =>
27
- Object.entries(needle).every(([key, value]) =>
28
- skipFields.includes(key)
29
- || (haystack[key as keyof typeof haystack] != null
30
- && (Array.isArray(value)
31
- ? Array.isArray(haystack[key as keyof typeof haystack])
32
- && value.every(value => (haystack[key as keyof typeof haystack] as unknown[]).includes(value))
33
- : haystack[key as keyof typeof haystack] === value)
34
- ))
40
+ export const keyPathUtils = createKeyPathUtils()
package/src/wallet.ts CHANGED
@@ -1,15 +1,15 @@
1
1
  import { DIDInitializationError, DIDKeyError, DIDWalletError } from './errors.js'
2
2
  import type { Criteria } from '@owlmeans/resource'
3
3
  import type { DIDKeyModel, DIDStore, DIDWallet, KeyMeta, KeyMetaRecord, KeyPairRecord, MakeDIDWalletOptions } from './types.js'
4
- import { generateMnemonic, toEntropy, toMnemonic, toSeed } from './utils/mnemonic.js'
5
4
  import { KEY_OWL, MASTER } from './consts.js'
6
5
  import { plugins } from './plugins/index.js'
7
6
  import { ed25519owlPluginBuilder } from './plugins/ed25519owl.js'
8
7
  import { produceKey } from './utils/key.js'
9
8
  import { makeDidKeyModel } from './model.js'
10
- import { mataToPath, matchMeta } from './utils.js'
9
+ import { keyPathUtils } from './utils.js'
10
+ import { mnemonicHelper } from './utils/mnemonic.js'
11
11
 
12
- export const makeWallet = async (store: DIDStore, opts?: MakeDIDWalletOptions) => {
12
+ export const makeWallet = async (store: DIDStore, opts?: MakeDIDWalletOptions): Promise<DIDWallet> => {
13
13
  if (await store.master.load(MASTER) == null) {
14
14
  if (!opts?.force && !opts?.allowEmpty) {
15
15
  throw new DIDInitializationError('master')
@@ -27,11 +27,11 @@ export const makeWallet = async (store: DIDStore, opts?: MakeDIDWalletOptions) =
27
27
  store,
28
28
 
29
29
  generate: async opts => {
30
- const mnemonic = generateMnemonic(opts)
30
+ const mnemonic = mnemonicHelper.generateMnemonic(opts)
31
31
 
32
32
  const seed = {
33
- entropy: toEntropy(mnemonic),
34
- seed: toSeed(mnemonic)
33
+ entropy: mnemonicHelper.toEntropy(mnemonic),
34
+ seed: mnemonicHelper.toSeed(mnemonic)
35
35
  }
36
36
 
37
37
  const master = produceKey(seed.seed, type)
@@ -47,7 +47,7 @@ export const makeWallet = async (store: DIDStore, opts?: MakeDIDWalletOptions) =
47
47
  return false
48
48
  }
49
49
 
50
- return toMnemonic(master.seed)
50
+ return mnemonicHelper.toMnemonic(master.seed)
51
51
  },
52
52
 
53
53
  master: async () => makeDidKeyModel(await store.master.get(MASTER)),
@@ -100,7 +100,7 @@ export const makeWallet = async (store: DIDStore, opts?: MakeDIDWalletOptions) =
100
100
  )
101
101
  const result = await store.meta.list(where)
102
102
 
103
- const keys = await Promise.all(result.items.filter(item => matchMeta(item, meta))
103
+ const keys = await Promise.all(result.items.filter(item => keyPathUtils.matchMeta(item, meta))
104
104
  .map(async meta => store.keys.get(meta.id)))
105
105
 
106
106
  return keys.map(key => makeDidKeyModel(key))
@@ -109,7 +109,7 @@ export const makeWallet = async (store: DIDStore, opts?: MakeDIDWalletOptions) =
109
109
  provide: async meta => {
110
110
  const found = await wallet.find(meta)
111
111
  if (found.length === 0) {
112
- const path = mataToPath(meta)
112
+ const path = keyPathUtils.mataToPath(meta)
113
113
  const master = await wallet.master()
114
114
  const key = master.derive(path)
115
115
  if (meta.name == null) {
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=mnemonic.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mnemonic.spec.d.ts","sourceRoot":"","sources":["mnemonic.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,27 @@
1
+ import { describe, expect, test } from 'bun:test';
2
+ import { wordlist } from '@scure/bip39/wordlists/english.js';
3
+ import { mnemonicHelper } from '../src/utils/mnemonic.js';
4
+ /**
5
+ * Answers computed with @scure/bip39 1.6 before the v2 line: the seed of the all-`abandon` test mnemonic is
6
+ * the published BIP-39 vector, so a changed derivation fails here rather than as a different DID.
7
+ */
8
+ const MNEMONIC = 'abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about';
9
+ const SEED_HEX = '5eb00bbddcf069084889a8ab9155568165f5c453ccb85e70811aaed6f6da5fc19a5ac40b389cd370d086206dec8aa6c43daea6690f20ad3d8d48b2d2ce9e38e4';
10
+ describe('@owlmeans/did — mnemonic derivation', () => {
11
+ test('the seed of the BIP-39 test mnemonic is the published vector', () => {
12
+ expect(mnemonicHelper.toEntropy(MNEMONIC)).toBe(SEED_HEX);
13
+ expect(Buffer.from(mnemonicHelper.toSeed(MNEMONIC), 'base64').toString('hex')).toBe(SEED_HEX);
14
+ });
15
+ test('entropy turns back into the mnemonic it came from', () => {
16
+ expect(mnemonicHelper.toMnemonic('00000000000000000000000000000000')).toBe(MNEMONIC);
17
+ });
18
+ test('a generated mnemonic is a valid BIP-39 length and made of words of the list', () => {
19
+ const words = mnemonicHelper.generateMnemonic({ size: 12 }).split(' ');
20
+ expect([12, 15, 18, 21, 24]).toContain(words.length);
21
+ expect(words.every(word => wordlist.includes(word))).toBe(true);
22
+ });
23
+ test('sizes outside 12–24 are refused', () => {
24
+ expect(() => mnemonicHelper.generateMnemonic({ size: 8 })).toThrow();
25
+ });
26
+ });
27
+ //# sourceMappingURL=mnemonic.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mnemonic.spec.js","sourceRoot":"","sources":["mnemonic.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAEzD;;;GAGG;AACH,MAAM,QAAQ,GAAG,+FAA+F,CAAA;AAChH,MAAM,QAAQ,GAAG,kIAAkI,CAAA;AAEnJ,QAAQ,CAAC,qCAAqC,EAAE,GAAG,EAAE;IACnD,IAAI,CAAC,8DAA8D,EAAE,GAAG,EAAE;QACxE,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACzD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC/F,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC7D,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,kCAAkC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACtF,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,6EAA6E,EAAE,GAAG,EAAE;QACvF,MAAM,KAAK,GAAG,cAAc,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACtE,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QACpD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACjE,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,iCAAiC,EAAE,GAAG,EAAE;QAC3C,MAAM,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAA;IACtE,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -0,0 +1,31 @@
1
+ import { describe, expect, test } from 'bun:test'
2
+ import { wordlist } from '@scure/bip39/wordlists/english.js'
3
+ import { mnemonicHelper } from '../src/utils/mnemonic.js'
4
+
5
+ /**
6
+ * Answers computed with @scure/bip39 1.6 before the v2 line: the seed of the all-`abandon` test mnemonic is
7
+ * the published BIP-39 vector, so a changed derivation fails here rather than as a different DID.
8
+ */
9
+ const MNEMONIC = 'abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about'
10
+ const SEED_HEX = '5eb00bbddcf069084889a8ab9155568165f5c453ccb85e70811aaed6f6da5fc19a5ac40b389cd370d086206dec8aa6c43daea6690f20ad3d8d48b2d2ce9e38e4'
11
+
12
+ describe('@owlmeans/did — mnemonic derivation', () => {
13
+ test('the seed of the BIP-39 test mnemonic is the published vector', () => {
14
+ expect(mnemonicHelper.toEntropy(MNEMONIC)).toBe(SEED_HEX)
15
+ expect(Buffer.from(mnemonicHelper.toSeed(MNEMONIC), 'base64').toString('hex')).toBe(SEED_HEX)
16
+ })
17
+
18
+ test('entropy turns back into the mnemonic it came from', () => {
19
+ expect(mnemonicHelper.toMnemonic('00000000000000000000000000000000')).toBe(MNEMONIC)
20
+ })
21
+
22
+ test('a generated mnemonic is a valid BIP-39 length and made of words of the list', () => {
23
+ const words = mnemonicHelper.generateMnemonic({ size: 12 }).split(' ')
24
+ expect([12, 15, 18, 21, 24]).toContain(words.length)
25
+ expect(words.every(word => wordlist.includes(word))).toBe(true)
26
+ })
27
+
28
+ test('sizes outside 12–24 are refused', () => {
29
+ expect(() => mnemonicHelper.generateMnemonic({ size: 8 })).toThrow()
30
+ })
31
+ })
package/tsconfig.json CHANGED
@@ -7,5 +7,5 @@
7
7
  "rootDir": "./src/",
8
8
  "outDir": "./build/"
9
9
  },
10
- "exclude": ["./dist/**/*", "./build/**/*", "./*.ts"]
10
+ "exclude": ["./dist/**/*", "./build/**/*", "./tests/**/*", "./*.ts"]
11
11
  }