@did-btcr2/api 0.2.2 → 0.3.0

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 (73) hide show
  1. package/dist/browser.js +57253 -55798
  2. package/dist/browser.mjs +57252 -55797
  3. package/dist/cjs/api.js +31 -934
  4. package/dist/cjs/api.js.map +1 -1
  5. package/dist/cjs/bitcoin.js +110 -0
  6. package/dist/cjs/bitcoin.js.map +1 -0
  7. package/dist/cjs/cas.js +90 -0
  8. package/dist/cjs/cas.js.map +1 -0
  9. package/dist/cjs/crypto.js +425 -0
  10. package/dist/cjs/crypto.js.map +1 -0
  11. package/dist/cjs/did.js +70 -0
  12. package/dist/cjs/did.js.map +1 -0
  13. package/dist/cjs/helpers.js +28 -0
  14. package/dist/cjs/helpers.js.map +1 -0
  15. package/dist/cjs/index.js +12 -0
  16. package/dist/cjs/index.js.map +1 -1
  17. package/dist/cjs/kms.js +73 -0
  18. package/dist/cjs/kms.js.map +1 -0
  19. package/dist/cjs/method.js +262 -0
  20. package/dist/cjs/method.js.map +1 -0
  21. package/dist/cjs/types.js +2 -0
  22. package/dist/cjs/types.js.map +1 -0
  23. package/dist/esm/api.js +31 -934
  24. package/dist/esm/api.js.map +1 -1
  25. package/dist/esm/bitcoin.js +110 -0
  26. package/dist/esm/bitcoin.js.map +1 -0
  27. package/dist/esm/cas.js +90 -0
  28. package/dist/esm/cas.js.map +1 -0
  29. package/dist/esm/crypto.js +425 -0
  30. package/dist/esm/crypto.js.map +1 -0
  31. package/dist/esm/did.js +70 -0
  32. package/dist/esm/did.js.map +1 -0
  33. package/dist/esm/helpers.js +28 -0
  34. package/dist/esm/helpers.js.map +1 -0
  35. package/dist/esm/index.js +12 -0
  36. package/dist/esm/index.js.map +1 -1
  37. package/dist/esm/kms.js +73 -0
  38. package/dist/esm/kms.js.map +1 -0
  39. package/dist/esm/method.js +262 -0
  40. package/dist/esm/method.js.map +1 -0
  41. package/dist/esm/types.js +2 -0
  42. package/dist/esm/types.js.map +1 -0
  43. package/dist/types/api.d.ts +19 -693
  44. package/dist/types/api.d.ts.map +1 -1
  45. package/dist/types/bitcoin.d.ts +64 -0
  46. package/dist/types/bitcoin.d.ts.map +1 -0
  47. package/dist/types/cas.d.ts +70 -0
  48. package/dist/types/cas.d.ts.map +1 -0
  49. package/dist/types/crypto.d.ts +310 -0
  50. package/dist/types/crypto.d.ts.map +1 -0
  51. package/dist/types/did.d.ts +51 -0
  52. package/dist/types/did.d.ts.map +1 -0
  53. package/dist/types/helpers.d.ts +10 -0
  54. package/dist/types/helpers.d.ts.map +1 -0
  55. package/dist/types/index.d.ts +14 -0
  56. package/dist/types/index.d.ts.map +1 -1
  57. package/dist/types/kms.d.ts +49 -0
  58. package/dist/types/kms.d.ts.map +1 -0
  59. package/dist/types/method.d.ts +117 -0
  60. package/dist/types/method.d.ts.map +1 -0
  61. package/dist/types/types.d.ts +128 -0
  62. package/dist/types/types.d.ts.map +1 -0
  63. package/package.json +5 -5
  64. package/src/api.ts +40 -1317
  65. package/src/bitcoin.ts +129 -0
  66. package/src/cas.ts +121 -0
  67. package/src/crypto.ts +525 -0
  68. package/src/did.ts +75 -0
  69. package/src/helpers.ts +35 -0
  70. package/src/index.ts +37 -1
  71. package/src/kms.ts +95 -0
  72. package/src/method.ts +331 -0
  73. package/src/types.ts +122 -0
@@ -0,0 +1,117 @@
1
+ import { BitcoinConnection } from '@did-btcr2/bitcoin';
2
+ import type { DocumentBytes, HexString, KeyBytes, PatchOperation } from '@did-btcr2/common';
3
+ import { SignedBTCR2Update } from '@did-btcr2/cryptosuite';
4
+ import type { Btcr2DidDocument, DidCreateOptions, ResolutionOptions } from '@did-btcr2/method';
5
+ import type { DidResolutionResult, DidVerificationMethod } from '@web5/dids';
6
+ import { BitcoinApi } from './bitcoin.js';
7
+ import { CasApi } from './cas.js';
8
+ import type { Logger } from './types.js';
9
+ /**
10
+ * DID method operations sub-facade: create, resolve, update, deactivate.
11
+ *
12
+ * Lazily initialized by {@link DidBtcr2Api} because it depends on
13
+ * {@link BitcoinApi} which requires network configuration.
14
+ * @public
15
+ */
16
+ export declare class DidMethodApi {
17
+ #private;
18
+ constructor(btc?: BitcoinApi, cas?: CasApi, logger?: Logger);
19
+ /**
20
+ * Create a deterministic (k1) DID from a public key.
21
+ * Sets idType to KEY automatically.
22
+ * @param genesisBytes The compressed public key bytes (33 bytes).
23
+ * @param options Creation options (idType is set for you).
24
+ * @returns The created DID identifier string.
25
+ */
26
+ createDeterministic(genesisBytes: KeyBytes, options?: Omit<DidCreateOptions, 'idType'>): string;
27
+ /**
28
+ * Create a non-deterministic (x1) DID from external genesis document bytes.
29
+ * Sets idType to EXTERNAL automatically.
30
+ * @param genesisBytes The genesis document bytes.
31
+ * @param options Creation options (idType is set for you).
32
+ * @returns The created DID identifier string.
33
+ */
34
+ createExternal(genesisBytes: DocumentBytes, options?: Omit<DidCreateOptions, 'idType'>): string;
35
+ /**
36
+ * Resolve a DID by driving the sans-I/O {@link Resolver} state machine.
37
+ * If a Bitcoin connection is configured on the API, it is used automatically
38
+ * to fetch beacon signals. Sidecar data flows through `options.sidecar`.
39
+ * @param did The DID to resolve.
40
+ * @param options Resolution options.
41
+ * @returns The resolution result.
42
+ */
43
+ resolve(did: string, options?: ResolutionOptions): Promise<DidResolutionResult>;
44
+ /**
45
+ * Update an existing DID document. If a Bitcoin connection is configured on
46
+ * the API, it is injected automatically.
47
+ * @param params The update parameters.
48
+ * @returns The signed update.
49
+ */
50
+ update({ sourceDocument, patches, sourceVersionId, verificationMethodId, beaconId, signingMaterial, bitcoin, }: {
51
+ sourceDocument: Btcr2DidDocument;
52
+ patches: PatchOperation[];
53
+ sourceVersionId: number;
54
+ verificationMethodId: string;
55
+ beaconId: string;
56
+ signingMaterial?: KeyBytes | HexString;
57
+ bitcoin?: BitcoinConnection;
58
+ }): Promise<SignedBTCR2Update>;
59
+ /**
60
+ * Get the signing method from a DID document by method ID.
61
+ * @param didDocument The DID document.
62
+ * @param methodId The method ID (if omitted, the first signing method is returned).
63
+ * @returns The found signing method.
64
+ */
65
+ getSigningMethod(didDocument: Btcr2DidDocument, methodId?: string): DidVerificationMethod;
66
+ /**
67
+ * Create a fluent builder for a DID update operation.
68
+ * @param sourceDocument The current DID document to update.
69
+ * @returns An {@link UpdateBuilder} for chaining update parameters.
70
+ *
71
+ * @example
72
+ * ```ts
73
+ * const signed = await api.btcr2
74
+ * .buildUpdate(currentDoc)
75
+ * .patch({ op: 'add', path: '/service/1', value: newService })
76
+ * .version(2)
77
+ * .signer('#initialKey')
78
+ * .beacon('#beacon-0')
79
+ * .execute();
80
+ * ```
81
+ */
82
+ buildUpdate(sourceDocument: Btcr2DidDocument): UpdateBuilder;
83
+ /** Deactivate a DID (not yet implemented in the core method). */
84
+ deactivate(): Promise<SignedBTCR2Update>;
85
+ }
86
+ /**
87
+ * Fluent builder for DID update operations. Reduces the cognitive load of
88
+ * the 7-parameter `update()` call by letting callers chain named steps.
89
+ *
90
+ * Created via {@link DidMethodApi.buildUpdate}.
91
+ * @public
92
+ */
93
+ export declare class UpdateBuilder {
94
+ #private;
95
+ /** @internal */
96
+ constructor(methodApi: DidMethodApi, sourceDocument: Btcr2DidDocument);
97
+ /** Add a single JSON Patch operation. Can be called multiple times. */
98
+ patch(op: PatchOperation): this;
99
+ /** Set all patches at once (replaces any previously added). */
100
+ patches(ops: PatchOperation[]): this;
101
+ /** Set the source version ID. */
102
+ version(id: number): this;
103
+ /** Set the verification method ID used for signing. */
104
+ signer(methodId: string): this;
105
+ /** Set the beacon ID for the update announcement. */
106
+ beacon(beaconId: string): this;
107
+ /** Set the signing material (secret key bytes or hex). */
108
+ signingMaterial(material: KeyBytes | HexString): this;
109
+ /** Override the Bitcoin connection for this update. */
110
+ withBitcoin(connection: BitcoinConnection): this;
111
+ /**
112
+ * Execute the update.
113
+ * @throws {Error} If required fields (version, signer, beacon) are missing.
114
+ */
115
+ execute(): Promise<SignedBTCR2Update>;
116
+ }
117
+ //# sourceMappingURL=method.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"method.d.ts","sourceRoot":"","sources":["../../src/method.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAE5F,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAmB,gBAAgB,EAA8D,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE5K,OAAO,KAAK,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC;;;;;;GAMG;AACH,qBAAa,YAAY;;gBAKX,GAAG,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IAM3D;;;;;;OAMG;IACH,mBAAmB,CAAC,YAAY,EAAE,QAAQ,EAAE,OAAO,GAAE,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAM,GAAG,MAAM;IAKnG;;;;;;OAMG;IACH,cAAc,CAAC,YAAY,EAAE,aAAa,EAAE,OAAO,GAAE,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAM,GAAG,MAAM;IAKnG;;;;;;;OAOG;IACG,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAqGrF;;;;;OAKG;IACG,MAAM,CAAC,EACX,cAAc,EACd,OAAO,EACP,eAAe,EACf,oBAAoB,EACpB,QAAQ,EACR,eAAe,EACf,OAAO,GACR,EAAE;QACD,cAAc,EAAE,gBAAgB,CAAC;QACjC,OAAO,EAAE,cAAc,EAAE,CAAC;QAC1B,eAAe,EAAE,MAAM,CAAC;QACxB,oBAAoB,EAAE,MAAM,CAAC;QAC7B,QAAQ,EAAE,MAAM,CAAC;QACjB,eAAe,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;QACvC,OAAO,CAAC,EAAE,iBAAiB,CAAC;KAC7B,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAa9B;;;;;OAKG;IACH,gBAAgB,CAAC,WAAW,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,qBAAqB;IAIzF;;;;;;;;;;;;;;;OAeG;IACH,WAAW,CAAC,cAAc,EAAE,gBAAgB,GAAG,aAAa;IAI5D,iEAAiE;IAC3D,UAAU,IAAI,OAAO,CAAC,iBAAiB,CAAC;CAS/C;AAED;;;;;;GAMG;AACH,qBAAa,aAAa;;IAUxB,gBAAgB;gBACJ,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,gBAAgB;IAKrE,uEAAuE;IACvE,KAAK,CAAC,EAAE,EAAE,cAAc,GAAG,IAAI;IAK/B,+DAA+D;IAC/D,OAAO,CAAC,GAAG,EAAE,cAAc,EAAE,GAAG,IAAI;IAKpC,iCAAiC;IACjC,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAKzB,uDAAuD;IACvD,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAK9B,qDAAqD;IACrD,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAK9B,0DAA0D;IAC1D,eAAe,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS,GAAG,IAAI;IAKrD,uDAAuD;IACvD,WAAW,CAAC,UAAU,EAAE,iBAAiB,GAAG,IAAI;IAKhD;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,iBAAiB,CAAC;CAqB5C"}
@@ -0,0 +1,128 @@
1
+ import type { HttpExecutor, NetworkName, RestConfig, RpcConfig } from '@did-btcr2/bitcoin';
2
+ import type { KeyManager } from '@did-btcr2/kms';
3
+ import type { Btcr2DidDocument } from '@did-btcr2/method';
4
+ import type { DidResolutionResult } from '@web5/dids';
5
+ import type { CasConfig } from './cas.js';
6
+ /**
7
+ * Pluggable logger interface. All methods are optional-call; the default
8
+ * implementation is a silent no-op.
9
+ * @public
10
+ */
11
+ export type Logger = {
12
+ debug(message: string, ...args: unknown[]): void;
13
+ info(message: string, ...args: unknown[]): void;
14
+ warn(message: string, ...args: unknown[]): void;
15
+ error(message: string, ...args: unknown[]): void;
16
+ };
17
+ /**
18
+ * The two supported DID identifier types.
19
+ *
20
+ * Note: the upstream `DidCreateOptions.idType` is typed as `string` rather
21
+ * than a union. This local alias provides compile-time safety at the API
22
+ * facade level. Upstream runtime validation in `Identifier.encode()` still
23
+ * catches invalid values.
24
+ * @public
25
+ */
26
+ export type IdType = 'KEY' | 'EXTERNAL';
27
+ /**
28
+ * A branded string representing a DID identifier (e.g. `did:btcr2:k1q...`).
29
+ * Use branded types to prevent accidentally passing a txid where a DID is
30
+ * expected, or vice versa, at compile time.
31
+ *
32
+ * @example
33
+ * ```ts
34
+ * const did = api.generateDid().did as DidString;
35
+ * api.resolveDid(did); // OK
36
+ * api.btc.getTransaction(did); // Type error — DidString is not TxId
37
+ * ```
38
+ * @public
39
+ */
40
+ export type DidString = string & {
41
+ readonly __brand: 'DidString';
42
+ };
43
+ /**
44
+ * A branded string representing a Bitcoin transaction ID (64-char hex).
45
+ * @public
46
+ */
47
+ export type TxId = string & {
48
+ readonly __brand: 'TxId';
49
+ };
50
+ /**
51
+ * Result of a DID resolution attempt. Wraps the standard
52
+ * {@link DidResolutionResult} with a discriminated `ok` flag for ergonomic
53
+ * pattern matching without exception handling.
54
+ *
55
+ * @example
56
+ * ```ts
57
+ * const result = await api.tryResolveDid(did);
58
+ * if (result.ok) {
59
+ * console.log(result.document);
60
+ * } else {
61
+ * console.log(result.error, result.errorMessage);
62
+ * }
63
+ * ```
64
+ * @public
65
+ */
66
+ export type ResolutionResult = {
67
+ ok: true;
68
+ document: Btcr2DidDocument;
69
+ metadata: DidResolutionResult['didDocumentMetadata'];
70
+ raw: DidResolutionResult;
71
+ } | {
72
+ ok: false;
73
+ error: string;
74
+ errorMessage?: string;
75
+ raw: DidResolutionResult;
76
+ };
77
+ /**
78
+ * Bitcoin API configuration options.
79
+ * The `network` field is required and determines default REST/RPC endpoints.
80
+ * Optional `rest` and `rpc` fields override individual endpoints on top of
81
+ * the network defaults.
82
+ *
83
+ * @example
84
+ * ```ts
85
+ * // Use regtest defaults (localhost Polar + Esplora)
86
+ * { network: 'regtest' }
87
+ *
88
+ * // Use testnet4 with a custom REST endpoint
89
+ * { network: 'testnet4', rest: { host: 'https://my-mempool.example/api' } }
90
+ *
91
+ * // Use regtest with custom RPC credentials, default REST
92
+ * { network: 'regtest', rpc: { host: 'http://mynode:18443', username: 'u', password: 'p' } }
93
+ * ```
94
+ * @public
95
+ */
96
+ export type BitcoinApiConfig = {
97
+ /** Bitcoin network name (e.g., 'regtest', 'testnet4', 'bitcoin'). */
98
+ network: NetworkName;
99
+ /** Override REST client settings on top of network defaults. */
100
+ rest?: Partial<RestConfig>;
101
+ /** Override RPC client settings on top of network defaults. */
102
+ rpc?: RpcConfig;
103
+ /**
104
+ * Optional HTTP executor for sans-I/O usage. Defaults to global `fetch`.
105
+ * Inject a custom executor to intercept requests in tests or route through
106
+ * a proxy without monkey-patching globals.
107
+ */
108
+ executor?: HttpExecutor;
109
+ /**
110
+ * Optional request timeout in milliseconds for REST calls.
111
+ * When set, wraps the HTTP executor with an `AbortSignal.timeout()`.
112
+ * Has no effect when a custom `executor` is provided (the custom
113
+ * executor is responsible for its own timeouts).
114
+ */
115
+ timeoutMs?: number;
116
+ };
117
+ /**
118
+ * Top-level API configuration options.
119
+ * @public
120
+ */
121
+ export type ApiConfig = {
122
+ btc?: BitcoinApiConfig;
123
+ cas?: CasConfig;
124
+ kms?: KeyManager;
125
+ /** Optional logger. Defaults to a silent no-op logger. */
126
+ logger?: Logger;
127
+ };
128
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC3F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C;;;;GAIG;AACH,MAAM,MAAM,MAAM,GAAG;IACnB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACjD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;CAClD,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,MAAM,MAAM,GAAG,KAAK,GAAG,UAAU,CAAC;AAExC;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAA;CAAE,CAAC;AAEnE;;;GAGG;AACH,MAAM,MAAM,IAAI,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,gBAAgB,GACxB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAE,QAAQ,EAAE,gBAAgB,CAAC;IAAC,QAAQ,EAAE,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;IAAC,GAAG,EAAE,mBAAmB,CAAA;CAAE,GACzH;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,mBAAmB,CAAA;CAAE,CAAC;AAElF;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,qEAAqE;IACrE,OAAO,EAAE,WAAW,CAAC;IACrB,gEAAgE;IAChE,IAAI,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3B,+DAA+D;IAC/D,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,GAAG,CAAC,EAAE,gBAAgB,CAAC;IACvB,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,GAAG,CAAC,EAAE,UAAU,CAAC;IACjB,0DAA0D;IAC1D,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@did-btcr2/api",
3
- "version": "0.2.2",
3
+ "version": "0.3.0",
4
4
  "type": "module",
5
5
  "description": "SDK for accessing the did:btcr2 method functionality.",
6
6
  "main": "./dist/cjs/index.js",
@@ -85,11 +85,11 @@
85
85
  "nostr-tools": "^2.15.0",
86
86
  "tiny-secp256k1": "^2.2.3",
87
87
  "@did-btcr2/bitcoin": "0.5.0",
88
- "@did-btcr2/common": "7.0.0",
89
- "@did-btcr2/keypair": "0.11.0",
90
- "@did-btcr2/kms": "0.4.0",
88
+ "@did-btcr2/common": "8.0.0",
91
89
  "@did-btcr2/cryptosuite": "6.0.2",
92
- "@did-btcr2/method": "0.24.1"
90
+ "@did-btcr2/keypair": "0.11.0",
91
+ "@did-btcr2/method": "0.25.0",
92
+ "@did-btcr2/kms": "0.4.0"
93
93
  },
94
94
  "devDependencies": {
95
95
  "@eslint/js": "^9.22.0",