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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/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.45
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.48
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.45",
5
+ "generatedAt": "2026-10-05T08:32:19.139Z",
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.45"` 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"}
@@ -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,6 +1,19 @@
1
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;
2
+ declare const generateMnemonic: (opts?: MnemonicOptions) => string;
3
+ declare const toSeed: (mnemonic: string) => string;
4
+ declare const toEntropy: (mnemonic: string) => string;
5
+ declare const toMnemonic: (seed: string) => string;
6
+ export declare const createMnemonicHelper: () => {
7
+ generateMnemonic: typeof generateMnemonic;
8
+ toSeed: typeof toSeed;
9
+ toEntropy: typeof toEntropy;
10
+ toMnemonic: typeof toMnemonic;
11
+ };
12
+ export declare const mnemonicHelper: {
13
+ generateMnemonic: typeof generateMnemonic;
14
+ toSeed: typeof toSeed;
15
+ toEntropy: typeof toEntropy;
16
+ toMnemonic: typeof toMnemonic;
17
+ };
18
+ export {};
6
19
  //# 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":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAKlD,QAAA,MAAM,gBAAgB,UAAW,eAAe,KAAG,MASlD,CAAA;AAED,QAAA,MAAM,MAAM,aAAc,MAAM,KAAG,MACU,CAAA;AAE7C,QAAA,MAAM,SAAS,aAAc,MAAM,KAAG,MACI,CAAA;AAE1C,QAAA,MAAM,UAAU,SAAU,MAAM,KAAG,MACmB,CAAA;AAEtD,eAAO,MAAM,oBAAoB;;;;;CAA8D,CAAA;AAE/F,eAAO,MAAM,cAAc;;;;;CAAyB,CAAA"}
@@ -1,7 +1,7 @@
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) => {
3
+ import { wordlist } from '@scure/bip39/wordlists/english.js';
4
+ const generateMnemonic = (opts) => {
5
5
  const size = opts?.size ?? 18;
6
6
  if (size < 12 || size > 24) {
7
7
  throw new SyntaxError('Mnemonic size should be between 12 and 24');
@@ -9,7 +9,9 @@ export const generateMnemonic = (opts) => {
9
9
  const strength = Math.round(256 * size / 24);
10
10
  return generate(wordlist, strength + (32 - strength % 32));
11
11
  };
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);
12
+ const toSeed = (mnemonic) => base64.encode(mnemonicToSeedSync(mnemonic));
13
+ const toEntropy = (mnemonic) => hex.encode(mnemonicToSeedSync(mnemonic));
14
+ const toMnemonic = (seed) => entropyToMnemonic(hex.decode(seed), wordlist);
15
+ export const createMnemonicHelper = () => ({ generateMnemonic, toSeed, toEntropy, toMnemonic });
16
+ export const mnemonicHelper = createMnemonicHelper();
15
17
  //# 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;AAE5D,MAAM,gBAAgB,GAAG,CAAC,IAAsB,EAAU,EAAE;IAC1D,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,MAAM,GAAG,CAAC,QAAgB,EAAU,EAAE,CAC1C,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAA;AAE7C,MAAM,SAAS,GAAG,CAAC,QAAgB,EAAU,EAAE,CAC7C,GAAG,CAAC,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAA;AAE1C,MAAM,UAAU,GAAG,CAAC,IAAY,EAAU,EAAE,CAC1C,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,QAAe,CAAC,CAAA;AAEtD,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,EAAE,CAAC,CAAC,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAA;AAE/F,MAAM,CAAC,MAAM,cAAc,GAAG,oBAAoB,EAAE,CAAA"}
@@ -0,0 +1,3 @@
1
+ import type { createMnemonicHelper } from './mnemonic.js';
2
+ export type MnemonicHelper = ReturnType<typeof createMnemonicHelper>;
3
+ //# 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,oBAAoB,EAAE,MAAM,eAAe,CAAA;AAEzD,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAA"}
@@ -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":""}
@@ -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":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAGzC,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;AAED,eAAO,MAAM,SAAS,aAAc,OAAO,UAAU,OAAO,CAAC,OAAO,CAAC,KAAG,OAQlE,CAAA"}
package/build/utils.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { ENTITY_PREFIX, KP_SEP, PREFIX_SEP, PROFILE_PREFIX, SERVICE_PREFIX } from './consts.js';
2
+ import { skipFields } from './consts.local.js';
2
3
  export const toPath = (...args) => args.map(arg => Array.isArray(arg) ? arg.join(PREFIX_SEP) : arg).join(KP_SEP);
3
4
  export const mataToPath = (meta) => {
4
5
  const { scopes, id, entityId } = meta;
@@ -14,7 +15,6 @@ export const mataToPath = (meta) => {
14
15
  }
15
16
  return toPath(...items);
16
17
  };
17
- const skipFields = ['name'];
18
18
  export const matchMeta = (haystack, needle) => Object.entries(needle).every(([key, value]) => skipFields.includes(key)
19
19
  || (haystack[key] != null
20
20
  && (Array.isArray(value)
@@ -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;AAE9C,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,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"}
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
7
  import { mataToPath, matchMeta } 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) => {
@@ -1 +1 @@
1
- {"version":3,"file":"wallet.js","sourceRoot":"","sources":["../src/wallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAGjF,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AACrF,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAC5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAA;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAElD,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,EAAE,KAAe,EAAE,IAA2B,EAAE,EAAE;IAC/E,IAAI,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC;YACtC,MAAM,IAAI,sBAAsB,CAAC,QAAQ,CAAC,CAAA;QAC5C,CAAC;IACH,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,EAAE,IAAI,IAAI,OAAO,CAAA;IAClC,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QAC1B,IAAI,IAAI,EAAE,eAAe,EAAE,CAAC;YAC1B,OAAO,CAAC,IAAI,CAAC,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAA;QAC/C,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAc;QACxB,KAAK;QAEL,QAAQ,EAAE,KAAK,EAAC,IAAI,EAAC,EAAE;YACrB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAA;YAEvC,MAAM,IAAI,GAAG;gBACX,OAAO,EAAE,SAAS,CAAC,QAAQ,CAAC;gBAC5B,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC;aACvB,CAAA;YAED,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;YAC1C,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC,CAAA;QAC7D,CAAC;QAED,QAAQ,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;YACtB,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YAC7C,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;gBACxB,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,IAAI,cAAc,CAAC,UAAU,CAAC,CAAA;gBACtC,CAAC;gBACD,OAAO,KAAK,CAAA;YACd,CAAC;YAED,OAAO,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAChC,CAAC;QAED,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAEnE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YACvB,IAAI,GAAG,CAAC,OAAO,IAAI,IAAI,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,EAAE,CAAC;gBAC1D,MAAM,IAAI,cAAc,CAAC,mBAAmB,CAAC,CAAA;YAC/C,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAA;YACzD,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;gBACnB,MAAM,IAAI,cAAc,CAAC,YAAY,CAAC,CAAA;YACxC,CAAC;YACD,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,aAAa,EAAE,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA;YACpE,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,aAAa,EAAE,EAAE,CAAC,CAAA;QAC/D,CAAC;QAED,IAAI,EAAE,KAAK,EAAC,GAAG,EAAC,EAAE;YAChB,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAC5B,IAAI,IAAI,IAAI,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;oBACvC,MAAM,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAA;gBACpC,CAAC;gBAED,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAC5B,CAAC;YAED,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAA;QACzC,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YAC1B,IAAI,GAAG,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;gBACxB,MAAM,IAAI,cAAc,CAAC,mBAAmB,CAAC,CAAA;YAC/C,CAAC;YACD,MAAM,GAAG,GAAG,GAAG,CAAC,aAAa,EAAE,CAAA;YAC/B,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA;YACpE,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YAE9D,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC,CAAA;QACjD,CAAC;QAED,GAAG,EAAE,KAAK,EAAC,GAAG,EAAC,EAAE;YACf,IAAI,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;gBACvC,MAAM,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAA;YACpC,CAAC;YACD,OAAO,eAAe,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;QACnD,CAAC;QAED,IAAI,EAAE,KAAK,EAAC,IAAI,EAAC,EAAE;YACjB,MAAM,KAAK,GAA4B,MAAM,CAAC,WAAW,CACvD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC,CAChE,CAAA;YACD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAE3C,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;iBAC9E,GAAG,CAAC,KAAK,EAAC,IAAI,EAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAE9C,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAA;QAC9C,CAAC;QAED,OAAO,EAAE,KAAK,EAAC,IAAI,EAAC,EAAE;YACpB,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACrC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;gBAC7B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,CAAA;gBACpC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;gBAC/B,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;oBACtB,MAAM,IAAI,WAAW,CAAC,SAAS,CAAC,CAAA;gBAClC,CAAC;gBACD,MAAM,UAAU,GAAY;oBAC1B,GAAG,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI;iBAC7D,CAAA;gBACD,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA;gBAEjC,OAAO,CAAC,GAAG,CAAC,CAAA;YACd,CAAC;YAED,OAAO,KAAK,CAAA;QACd,CAAC;QAED,MAAM,EAAE,KAAK,EAAC,GAAG,EAAC,EAAE;YAClB,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAC5B,IAAI,SAAS,IAAI,GAAG,EAAE,CAAC;oBACrB,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAA;gBAC3C,CAAC;gBACD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,GAAc,CAAC,CAAA;gBAC9C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAA8B,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE;oBAC1E,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;gBAC3B,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;gBACzB,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;oBAChB,MAAM,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAA;gBACpC,CAAC;gBACD,OAAO,GAAG,CAAA;YACZ,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACtC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;gBAChB,MAAM,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAA;YACpC,CAAC;YACD,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YAC5B,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,CAAA;YAClC,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,CAAA;YAE9C,OAAO,KAAK,CAAA;QACd,CAAC;QAED,GAAG,EAAE,KAAK,IAAI,EAAE;YACd,MAAM,MAAM,GAAoB,EAAE,CAAA;YAClC,IAAI,IAAI,GAAG,KAAK,CAAA;YAChB,GAAG,CAAC;gBACF,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAA;gBACpG,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAA;gBAC3B,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAA;YAC9D,CAAC,QAAQ,IAAI,EAAC;YAEd,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAA;QAChD,CAAC;QAED,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,MAAM,MAAM,GAAc,EAAE,CAAA;YAC5B,IAAI,IAAI,GAAG,KAAK,CAAA;YAChB,GAAG,CAAC;gBACF,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAA;gBACpG,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAA;gBAC3B,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAA;YAC9D,CAAC,QAAQ,IAAI,EAAC;YAEd,OAAO,MAAM,CAAA;QACf,CAAC;KACF,CAAA;IAED,IAAI,IAAI,EAAE,KAAK,EAAE,CAAC;QAChB,MAAM,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACtC,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC,CAAA"}
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.45",
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.39",
28
+ "@owlmeans/basic-keys": "^0.1.18-rc.47",
29
+ "@owlmeans/error": "^0.1.18-rc.37",
30
+ "@owlmeans/i18n": "^0.1.18-rc.38",
31
+ "@owlmeans/resource": "^0.1.18-rc.39",
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']
@@ -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,9 +1,9 @@
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
5
 
6
- export const generateMnemonic = (opts?: MnemonicOptions): string => {
6
+ const generateMnemonic = (opts?: MnemonicOptions): string => {
7
7
  const size = opts?.size ?? 18
8
8
 
9
9
  if (size < 12 || size > 24) {
@@ -14,11 +14,15 @@ export const generateMnemonic = (opts?: MnemonicOptions): string => {
14
14
  return generate(wordlist as any, strength + (32 - strength % 32))
15
15
  }
16
16
 
17
- export const toSeed = (mnemonic: string): string =>
17
+ const toSeed = (mnemonic: string): string =>
18
18
  base64.encode(mnemonicToSeedSync(mnemonic))
19
19
 
20
- export const toEntropy = (mnemonic: string): string =>
20
+ const toEntropy = (mnemonic: string): string =>
21
21
  hex.encode(mnemonicToSeedSync(mnemonic))
22
22
 
23
- export const toMnemonic = (seed: string): string =>
23
+ const toMnemonic = (seed: string): string =>
24
24
  entropyToMnemonic(hex.decode(seed), wordlist as any)
25
+
26
+ export const createMnemonicHelper = () => ({ generateMnemonic, toSeed, toEntropy, toMnemonic })
27
+
28
+ export const mnemonicHelper = createMnemonicHelper()
@@ -0,0 +1,3 @@
1
+ import type { createMnemonicHelper } from './mnemonic.js'
2
+
3
+ export type MnemonicHelper = ReturnType<typeof createMnemonicHelper>
package/src/utils.ts CHANGED
@@ -1,5 +1,6 @@
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'
3
4
 
4
5
  export const toPath = (...args: (string | string[])[]) => args.map(
5
6
  arg => Array.isArray(arg) ? arg.join(PREFIX_SEP) : arg
@@ -21,8 +22,6 @@ export const mataToPath = (meta: Partial<KeyMeta>): string => {
21
22
  return toPath(...items)
22
23
  }
23
24
 
24
- const skipFields = ['name']
25
-
26
25
  export const matchMeta = (haystack: KeyMeta, needle: Partial<KeyMeta>): boolean =>
27
26
  Object.entries(needle).every(([key, value]) =>
28
27
  skipFields.includes(key)
package/src/wallet.ts CHANGED
@@ -1,13 +1,13 @@
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
9
  import { mataToPath, matchMeta } from './utils.js'
10
+ import { mnemonicHelper } from './utils/mnemonic.js'
11
11
 
12
12
  export const makeWallet = async (store: DIDStore, opts?: MakeDIDWalletOptions) => {
13
13
  if (await store.master.load(MASTER) == null) {
@@ -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)),
@@ -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
  }