@owlmeans/did 0.1.18-rc.45 → 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.
- package/README.md +2 -2
- package/agent-meta/manifest.json +2 -2
- package/agent-meta/skills/did/SKILL.md +1 -1
- package/build/i18n.js +17 -17
- package/build/i18n.js.map +1 -1
- package/build/model.d.ts.map +1 -1
- package/build/model.js +4 -4
- package/build/model.js.map +1 -1
- package/build/utils/index.d.ts +2 -0
- package/build/utils/index.d.ts.map +1 -1
- package/build/utils/index.js.map +1 -1
- package/build/utils/key.d.ts.map +1 -1
- package/build/utils/key.js +2 -2
- package/build/utils/key.js.map +1 -1
- package/build/utils/mnemonic/types.d.ts +13 -0
- package/build/utils/mnemonic/types.d.ts.map +1 -0
- package/build/utils/mnemonic/types.js +2 -0
- package/build/utils/mnemonic/types.js.map +1 -0
- package/build/utils/mnemonic.d.ts +3 -18
- package/build/utils/mnemonic.d.ts.map +1 -1
- package/build/utils/mnemonic.js +13 -11
- package/build/utils/mnemonic.js.map +1 -1
- package/build/utils/types.d.ts +10 -2
- package/build/utils/types.d.ts.map +1 -1
- package/build/utils.d.ts +3 -4
- package/build/utils.d.ts.map +1 -1
- package/build/utils.js +24 -20
- package/build/utils.js.map +1 -1
- package/build/wallet.d.ts.map +1 -1
- package/build/wallet.js +3 -3
- package/build/wallet.js.map +1 -1
- package/package.json +6 -6
- package/src/i18n.ts +18 -17
- package/src/model.ts +4 -4
- package/src/utils/index.ts +2 -0
- package/src/utils/key.ts +3 -3
- package/src/utils/mnemonic/types.ts +13 -0
- package/src/utils/mnemonic.ts +18 -15
- package/src/utils/types.ts +10 -2
- package/src/utils.ts +31 -24
- package/src/wallet.ts +4 -4
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.
|
|
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.
|
|
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
|
package/agent-meta/manifest.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 2,
|
|
3
3
|
"package": "@owlmeans/did",
|
|
4
|
-
"version": "0.1.18-rc.
|
|
5
|
-
"generatedAt": "2026-10-
|
|
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.
|
|
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
|
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
|
-
|
|
19
|
-
addI18nLib('
|
|
20
|
-
addI18nLib('
|
|
21
|
-
addI18nLib('
|
|
22
|
-
addI18nLib('
|
|
23
|
-
addI18nLib('
|
|
24
|
-
addI18nLib('
|
|
25
|
-
addI18nLib('
|
|
26
|
-
addI18nLib('
|
|
27
|
-
addI18nLib('
|
|
28
|
-
addI18nLib('
|
|
29
|
-
addI18nLib('
|
|
30
|
-
addI18nLib('
|
|
31
|
-
addI18nLib('
|
|
32
|
-
addI18nLib('
|
|
33
|
-
addI18nLib('
|
|
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":"
|
|
1
|
+
{"version":3,"file":"i18n.js","sourceRoot":"","sources":["../src/i18n.ts"],"names":[],"mappings":"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"}
|
package/build/model.d.ts.map
CHANGED
|
@@ -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,
|
|
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 {
|
|
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');
|
package/build/model.js.map
CHANGED
|
@@ -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,
|
|
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"}
|
package/build/utils/index.d.ts
CHANGED
|
@@ -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"}
|
package/build/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"
|
|
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"}
|
package/build/utils/key.d.ts.map
CHANGED
|
@@ -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,
|
|
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"}
|
package/build/utils/key.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
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
|
}
|
package/build/utils/key.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"key.js","sourceRoot":"","sources":["../../src/utils/key.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
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 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/utils/mnemonic/types.ts"],"names":[],"mappings":""}
|
|
@@ -1,19 +1,4 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
declare const
|
|
3
|
-
declare const
|
|
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 {};
|
|
1
|
+
import type { MnemonicHelper } from './mnemonic/types.js';
|
|
2
|
+
export declare const createMnemonicHelper: () => MnemonicHelper;
|
|
3
|
+
export declare const mnemonicHelper: MnemonicHelper;
|
|
19
4
|
//# sourceMappingURL=mnemonic.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mnemonic.d.ts","sourceRoot":"","sources":["../../src/utils/mnemonic.ts"],"names":[],"mappings":"
|
|
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"}
|
package/build/utils/mnemonic.js
CHANGED
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
import { generateMnemonic as generate, mnemonicToSeedSync, entropyToMnemonic } from '@scure/bip39';
|
|
2
2
|
import { hex, base64 } from '@scure/base';
|
|
3
3
|
import { wordlist } from '@scure/bip39/wordlists/english.js';
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
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
|
-
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
18
|
export const mnemonicHelper = createMnemonicHelper();
|
|
17
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,mCAAmC,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"}
|
package/build/utils/types.d.ts
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
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
|
+
}
|
|
3
11
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/utils/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
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"}
|
package/build/utils.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare const
|
|
3
|
-
export declare const
|
|
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
|
package/build/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"
|
|
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
2
|
import { skipFields } from './consts.local.js';
|
|
3
|
-
export const
|
|
4
|
-
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
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 };
|
|
17
26
|
};
|
|
18
|
-
export const
|
|
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
|
package/build/utils.js.map
CHANGED
|
@@ -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;AAE/F,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,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"}
|
package/build/wallet.d.ts.map
CHANGED
|
@@ -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,
|
|
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
|
@@ -4,7 +4,7 @@ import { plugins } from './plugins/index.js';
|
|
|
4
4
|
import { ed25519owlPluginBuilder } from './plugins/ed25519owl.js';
|
|
5
5
|
import { produceKey } from './utils/key.js';
|
|
6
6
|
import { makeDidKeyModel } from './model.js';
|
|
7
|
-
import {
|
|
7
|
+
import { keyPathUtils } from './utils.js';
|
|
8
8
|
import { mnemonicHelper } from './utils/mnemonic.js';
|
|
9
9
|
export const makeWallet = async (store, opts) => {
|
|
10
10
|
if (await store.master.load(MASTER) == null) {
|
|
@@ -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) {
|
package/build/wallet.js.map
CHANGED
|
@@ -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,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,
|
|
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,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,YAAY,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEpD,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,EAAE,KAAe,EAAE,IAA2B,EAAsB,EAAE;IACnG,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,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;YAEtD,MAAM,IAAI,GAAG;gBACX,OAAO,EAAE,cAAc,CAAC,SAAS,CAAC,QAAQ,CAAC;gBAC3C,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC;aACtC,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,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAC/C,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,YAAY,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;iBAC3F,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,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;gBAC1C,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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@owlmeans/did",
|
|
3
|
-
"version": "0.1.18-rc.
|
|
3
|
+
"version": "0.1.18-rc.46",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"scripts": {
|
|
@@ -24,11 +24,11 @@
|
|
|
24
24
|
"dependencies": {
|
|
25
25
|
"@noble/curves": "^2.4.0",
|
|
26
26
|
"@noble/hashes": "^2.4.0",
|
|
27
|
-
"@owlmeans/auth": "^0.1.18-rc.
|
|
28
|
-
"@owlmeans/basic-keys": "^0.1.18-rc.
|
|
29
|
-
"@owlmeans/error": "^0.1.18-rc.
|
|
30
|
-
"@owlmeans/i18n": "^0.1.18-rc.
|
|
31
|
-
"@owlmeans/resource": "^0.1.18-rc.
|
|
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
32
|
"@scure/base": "^2.4.0",
|
|
33
33
|
"@scure/bip39": "^2.4.0"
|
|
34
34
|
},
|
package/src/i18n.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
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 {
|
|
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
|
|
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)
|
package/src/utils/index.ts
CHANGED
package/src/utils/key.ts
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
|
|
2
|
-
import {
|
|
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
|
+
}
|
package/src/utils/mnemonic.ts
CHANGED
|
@@ -2,27 +2,30 @@ 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
4
|
import { wordlist } from '@scure/bip39/wordlists/english.js'
|
|
5
|
+
import type { MnemonicHelper } from './mnemonic/types.js'
|
|
5
6
|
|
|
6
|
-
const
|
|
7
|
-
const
|
|
7
|
+
export const createMnemonicHelper = (): MnemonicHelper => {
|
|
8
|
+
const generateMnemonic = (opts?: MnemonicOptions): string => {
|
|
9
|
+
const size = opts?.size ?? 18
|
|
8
10
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
11
|
+
if (size < 12 || size > 24) {
|
|
12
|
+
throw new SyntaxError('Mnemonic size should be between 12 and 24')
|
|
13
|
+
}
|
|
12
14
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
}
|
|
15
|
+
const strength = Math.round(256 * size / 24)
|
|
16
|
+
return generate(wordlist as any, strength + (32 - strength % 32))
|
|
17
|
+
}
|
|
16
18
|
|
|
17
|
-
const toSeed = (mnemonic: string): string =>
|
|
18
|
-
|
|
19
|
+
const toSeed = (mnemonic: string): string =>
|
|
20
|
+
base64.encode(mnemonicToSeedSync(mnemonic))
|
|
19
21
|
|
|
20
|
-
const toEntropy = (mnemonic: string): string =>
|
|
21
|
-
|
|
22
|
+
const toEntropy = (mnemonic: string): string =>
|
|
23
|
+
hex.encode(mnemonicToSeedSync(mnemonic))
|
|
22
24
|
|
|
23
|
-
const toMnemonic = (seed: string): string =>
|
|
24
|
-
|
|
25
|
+
const toMnemonic = (seed: string): string =>
|
|
26
|
+
entropyToMnemonic(hex.decode(seed), wordlist as any)
|
|
25
27
|
|
|
26
|
-
|
|
28
|
+
return { generateMnemonic, toSeed, toEntropy, toMnemonic }
|
|
29
|
+
}
|
|
27
30
|
|
|
28
31
|
export const mnemonicHelper = createMnemonicHelper()
|
package/src/utils/types.ts
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { KeyMeta } from '../types.js'
|
|
2
2
|
|
|
3
|
-
|
|
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,33 +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
3
|
import { skipFields } from './consts.local.js'
|
|
4
|
+
import type { KeyPathUtils } from './utils/types.js'
|
|
4
5
|
|
|
5
|
-
export const
|
|
6
|
-
|
|
7
|
-
).join(
|
|
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)
|
|
8
10
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
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)
|
|
20
25
|
}
|
|
21
26
|
|
|
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
|
+
))
|
|
36
|
+
|
|
37
|
+
return { toPath, mataToPath, matchMeta }
|
|
23
38
|
}
|
|
24
39
|
|
|
25
|
-
export const
|
|
26
|
-
Object.entries(needle).every(([key, value]) =>
|
|
27
|
-
skipFields.includes(key)
|
|
28
|
-
|| (haystack[key as keyof typeof haystack] != null
|
|
29
|
-
&& (Array.isArray(value)
|
|
30
|
-
? Array.isArray(haystack[key as keyof typeof haystack])
|
|
31
|
-
&& value.every(value => (haystack[key as keyof typeof haystack] as unknown[]).includes(value))
|
|
32
|
-
: haystack[key as keyof typeof haystack] === value)
|
|
33
|
-
))
|
|
40
|
+
export const keyPathUtils = createKeyPathUtils()
|
package/src/wallet.ts
CHANGED
|
@@ -6,10 +6,10 @@ import { plugins } from './plugins/index.js'
|
|
|
6
6
|
import { ed25519owlPluginBuilder } from './plugins/ed25519owl.js'
|
|
7
7
|
import { produceKey } from './utils/key.js'
|
|
8
8
|
import { makeDidKeyModel } from './model.js'
|
|
9
|
-
import {
|
|
9
|
+
import { keyPathUtils } from './utils.js'
|
|
10
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')
|
|
@@ -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) {
|