@did-btcr2/method 0.14.6 → 0.16.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.
- package/dist/browser.js +5346 -2734
- package/dist/browser.mjs +5346 -2734
- package/dist/cjs/core/beacon/aggregation/protocol/nostr.js +4 -4
- package/dist/cjs/core/beacon/aggregation/protocol/nostr.js.map +1 -1
- package/dist/cjs/core/beacon/cid-aggregate.js +2 -2
- package/dist/cjs/core/beacon/singleton.js +4 -4
- package/dist/cjs/core/beacon/singleton.js.map +1 -1
- package/dist/cjs/core/crud/create.js +4 -4
- package/dist/cjs/core/crud/create.js.map +1 -1
- package/dist/cjs/core/crud/deactivate.js +4 -4
- package/dist/cjs/core/crud/deactivate.js.map +1 -1
- package/dist/cjs/core/crud/read.js +42 -38
- package/dist/cjs/core/crud/read.js.map +1 -1
- package/dist/cjs/core/crud/update.js +2 -2
- package/dist/cjs/core/crud/update.js.map +1 -1
- package/dist/cjs/core/key-manager/index.js +5 -5
- package/dist/cjs/core/key-manager/index.js.map +1 -1
- package/dist/cjs/did-btcr2.js +3 -1
- package/dist/cjs/did-btcr2.js.map +1 -1
- package/dist/cjs/utils/appendix.js +4 -4
- package/dist/cjs/utils/appendix.js.map +1 -1
- package/dist/cjs/utils/did-document-builder.js +1 -1
- package/dist/cjs/utils/did-document-builder.js.map +1 -1
- package/dist/cjs/utils/did-document.js +2 -2
- package/dist/cjs/utils/did-document.js.map +1 -1
- package/dist/cjs/utils/identifier.js +5 -5
- package/dist/cjs/utils/identifier.js.map +1 -1
- package/dist/esm/core/beacon/aggregation/protocol/nostr.js +4 -4
- package/dist/esm/core/beacon/aggregation/protocol/nostr.js.map +1 -1
- package/dist/esm/core/beacon/cid-aggregate.js +2 -2
- package/dist/esm/core/beacon/singleton.js +4 -4
- package/dist/esm/core/beacon/singleton.js.map +1 -1
- package/dist/esm/core/crud/create.js +4 -4
- package/dist/esm/core/crud/create.js.map +1 -1
- package/dist/esm/core/crud/deactivate.js +4 -4
- package/dist/esm/core/crud/deactivate.js.map +1 -1
- package/dist/esm/core/crud/read.js +42 -38
- package/dist/esm/core/crud/read.js.map +1 -1
- package/dist/esm/core/crud/update.js +2 -2
- package/dist/esm/core/crud/update.js.map +1 -1
- package/dist/esm/core/key-manager/index.js +5 -5
- package/dist/esm/core/key-manager/index.js.map +1 -1
- package/dist/esm/did-btcr2.js +3 -1
- package/dist/esm/did-btcr2.js.map +1 -1
- package/dist/esm/utils/appendix.js +4 -4
- package/dist/esm/utils/appendix.js.map +1 -1
- package/dist/esm/utils/did-document-builder.js +1 -1
- package/dist/esm/utils/did-document-builder.js.map +1 -1
- package/dist/esm/utils/did-document.js +2 -2
- package/dist/esm/utils/did-document.js.map +1 -1
- package/dist/esm/utils/identifier.js +5 -5
- package/dist/esm/utils/identifier.js.map +1 -1
- package/dist/types/core/beacon/aggregation/protocol/nostr.d.ts +1 -1
- package/dist/types/core/beacon/cid-aggregate.d.ts +2 -2
- package/dist/types/core/beacon/singleton.d.ts.map +1 -1
- package/dist/types/core/crud/deactivate.d.ts +4 -4
- package/dist/types/core/crud/deactivate.d.ts.map +1 -1
- package/dist/types/core/crud/read.d.ts +17 -22
- package/dist/types/core/crud/read.d.ts.map +1 -1
- package/dist/types/core/key-manager/index.d.ts +6 -6
- package/dist/types/core/key-manager/index.d.ts.map +1 -1
- package/dist/types/core/key-manager/interface.d.ts +3 -3
- package/dist/types/core/key-manager/interface.d.ts.map +1 -1
- package/dist/types/did-btcr2.d.ts +1 -1
- package/dist/types/did-btcr2.d.ts.map +1 -1
- package/dist/types/interfaces/crud.d.ts +3 -6
- package/dist/types/interfaces/crud.d.ts.map +1 -1
- package/dist/types/types/crud.d.ts +5 -5
- package/dist/types/types/crud.d.ts.map +1 -1
- package/dist/types/utils/appendix.d.ts +7 -7
- package/dist/types/utils/appendix.d.ts.map +1 -1
- package/dist/types/utils/did-document-builder.d.ts +1 -1
- package/dist/types/utils/did-document-builder.d.ts.map +1 -1
- package/dist/types/utils/did-document.d.ts +1 -1
- package/dist/types/utils/did-document.d.ts.map +1 -1
- package/dist/types/utils/identifier.d.ts +2 -2
- package/dist/types/utils/identifier.d.ts.map +1 -1
- package/package.json +8 -7
- package/src/core/beacon/aggregation/protocol/nostr.ts +4 -4
- package/src/core/beacon/cid-aggregate.ts +2 -2
- package/src/core/beacon/singleton.ts +4 -4
- package/src/core/crud/create.ts +4 -4
- package/src/core/crud/deactivate.ts +4 -4
- package/src/core/crud/read.ts +54 -45
- package/src/core/crud/update.ts +2 -2
- package/src/core/key-manager/index.ts +7 -7
- package/src/core/key-manager/interface.ts +3 -3
- package/src/did-btcr2.ts +4 -1
- package/src/interfaces/crud.ts +3 -6
- package/src/types/crud.ts +5 -5
- package/src/utils/appendix.ts +9 -9
- package/src/utils/did-document-builder.ts +1 -1
- package/src/utils/did-document.ts +2 -2
- package/src/utils/identifier.ts +5 -5
- package/dist/browser.js.map +0 -7
- package/dist/browser.mjs.map +0 -7
|
@@ -84,7 +84,7 @@ export class Appendix {
|
|
|
84
84
|
return verificationMethods;
|
|
85
85
|
}
|
|
86
86
|
/**
|
|
87
|
-
* Implements {@link https://dcdpr.github.io/did-btcr2/#derive-root-capability-from-
|
|
87
|
+
* Implements {@link https://dcdpr.github.io/did-btcr2/#derive-root-capability-from-didbtcr2-identifier | 9.4.1 Derive Root Capability from did:btcr2 Identifier }.
|
|
88
88
|
*
|
|
89
89
|
* The Derive Root Capability algorithm deterministically generates a ZCAP-LD root capability from a given did:btcr2
|
|
90
90
|
* identifier. Each root capability is unique to the identifier. This root capability is defined and understood by the
|
|
@@ -92,7 +92,7 @@ export class Appendix {
|
|
|
92
92
|
* document. It takes in a did:btcr2 identifier and returns a rootCapability object. It returns the root capability.
|
|
93
93
|
*
|
|
94
94
|
* @param {string} identifier The did-btcr2 identifier to derive the root capability from
|
|
95
|
-
* @returns {
|
|
95
|
+
* @returns {RootCapability} The root capability object
|
|
96
96
|
* @example Root capability for updating the DID document for
|
|
97
97
|
* did:btcr2:k1q0rnnwf657vuu8trztlczvlmphjgc6q598h79cm6sp7c4fgqh0fkc0vzd9u
|
|
98
98
|
* ```
|
|
@@ -127,7 +127,7 @@ export class Appendix {
|
|
|
127
127
|
* capability object.
|
|
128
128
|
*
|
|
129
129
|
* @param {string} capabilityId The root capability identifier to dereference.
|
|
130
|
-
* @returns {
|
|
130
|
+
* @returns {RootCapability} The root capability object.
|
|
131
131
|
* @example a didUpdatePayload with an invoked ZCAP-LD capability containing a patch defining how the DID document
|
|
132
132
|
* for did:btcr2:k1q0rnnwf657vuu8trztlczvlmphjgc6q598h79cm6sp7c4fgqh0fkc0vzd9u SHOULD be mutated.
|
|
133
133
|
* ```
|
|
@@ -153,7 +153,7 @@ export class Appendix {
|
|
|
153
153
|
* "cryptosuite": "schnorr-secp256k1-jcs-2025",
|
|
154
154
|
* "verificationMethod": "did:btcr2:k1q0rnnwf657vuu8trztlczvlmphjgc6q598h79cm6sp7c4fgqh0fkc0vzd9u#initialKey",
|
|
155
155
|
* "invocationTarget": "did:btcr2:k1q0rnnwf657vuu8trztlczvlmphjgc6q598h79cm6sp7c4fgqh0fkc0vzd9u",
|
|
156
|
-
* "capability": "urn:zcap:root:did%
|
|
156
|
+
* "capability": "urn:zcap:root:did%3Abtcr2%3Ak1q0rnnwf657vuu8trztlczvlmphjgc6q598h79cm6sp7c4fgqh0fkc0vzd9u",
|
|
157
157
|
* "capabilityAction": "Write",
|
|
158
158
|
* "proofPurpose": "assertionMethod",
|
|
159
159
|
* "proofValue": "z381yXYmxU8NudZ4HXY56DfMN6zfD8syvWcRXzT9xD9uYoQToo8QsXD7ahM3gXTzuay5WJbqTswt2BKaGWYn2hHhVFKJLXaDz"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"appendix.js","sourceRoot":"","sources":["../../../src/utils/appendix.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"appendix.js","sourceRoot":"","sources":["../../../src/utils/appendix.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DidDocumentError, INVALID_DID_DOCUMENT } from '@did-btcr2/common';
|
|
2
2
|
import { DidDocument } from './did-document.js';
|
|
3
|
-
export class
|
|
3
|
+
export class DidDocumentBuilder {
|
|
4
4
|
document = {};
|
|
5
5
|
constructor(initialDocument) {
|
|
6
6
|
if (!initialDocument.id) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"did-document-builder.js","sourceRoot":"","sources":["../../../src/utils/did-document-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE3E,OAAO,EAAE,WAAW,EAAyB,MAAM,mBAAmB,CAAC;AAEvE,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"did-document-builder.js","sourceRoot":"","sources":["../../../src/utils/did-document-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE3E,OAAO,EAAE,WAAW,EAAyB,MAAM,mBAAmB,CAAC;AAEvE,MAAM,OAAO,kBAAkB;IACrB,QAAQ,GAAyB,EAAE,CAAC;IAE5C,YAAY,eAAqC;QAC/C,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC;YACxB,MAAM,IAAI,gBAAgB,CAAC,gCAAgC,EAAE,oBAAoB,EAAE,eAAe,CAAC,CAAC;QACtG,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,eAAe,CAAC,EAAE,CAAC;QACtC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,GAAG,eAAe,CAAC,kBAAkB,IAAI,EAAE,CAAC;QAE5E,IAAI,eAAe,CAAC,UAAU,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,cAAc,CAAC,UAA0B;QACvC,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,UAAU,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAG,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kBAAkB,CAAC,cAAqD;QACtE,IAAI,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,QAAQ,CAAC,cAAc,GAAG,cAAc,CAAC;QAChD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,mBAAmB,CAAC,eAAsD;QACxE,IAAI,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC,QAAQ,CAAC,eAAe,GAAG,eAAe,CAAC;QAClD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,wBAAwB,CAAC,oBAA2D;QAClF,IAAI,oBAAoB,EAAE,CAAC;YACzB,IAAI,CAAC,QAAQ,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;QAC5D,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,wBAAwB,CAAC,oBAA2D;QAClF,IAAI,oBAAoB,EAAE,CAAC;YACzB,IAAI,CAAC,QAAQ,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;QAC5D,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,WAAW,CAAC,OAA6B;QACvC,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;QAClC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK;QACH,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,QAAuB,CAAC,CAAC;QAElE,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAC3C,IAAI,WAAW,CAAC,GAAwB,CAAC,KAAK,SAAS,EAAE,CAAC;gBACxD,OAAO,WAAW,CAAC,GAAwB,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;CACF"}
|
|
@@ -3,7 +3,7 @@ import { Appendix } from './appendix.js';
|
|
|
3
3
|
import { BeaconUtils } from './beacons.js';
|
|
4
4
|
import { Identifier } from './identifier.js';
|
|
5
5
|
export const BECH32M_CHARS = '';
|
|
6
|
-
export const
|
|
6
|
+
export const DID_REGEX = /did:btcr2:(x1[qpzry9x8gf2tvdw0s3jn54khce6mua7l]*)/g;
|
|
7
7
|
/**
|
|
8
8
|
* DID BTCR2 Verification Method extends the DidVerificationMethod class adding helper methods and properties
|
|
9
9
|
* @class DidVerificationMethod
|
|
@@ -344,7 +344,7 @@ export class DidDocument {
|
|
|
344
344
|
*/
|
|
345
345
|
export class IntermediateDidDocument extends DidDocument {
|
|
346
346
|
constructor(document) {
|
|
347
|
-
const intermediateDocument = JSON.cloneReplace(document,
|
|
347
|
+
const intermediateDocument = JSON.cloneReplace(document, DID_REGEX, ID_PLACEHOLDER_VALUE);
|
|
348
348
|
super(intermediateDocument);
|
|
349
349
|
}
|
|
350
350
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"did-document.js","sourceRoot":"","sources":["../../../src/utils/did-document.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EAEpB,MAAM,EACP,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,MAAM,CAAC,MAAM,aAAa,GAAG,EAAE,CAAC;AAChC,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"did-document.js","sourceRoot":"","sources":["../../../src/utils/did-document.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BitcoinNetworkNames, MethodError, IdentifierTypes, INVALID_DID, METHOD_NOT_SUPPORTED } from '@did-btcr2/common';
|
|
2
|
-
import {
|
|
2
|
+
import { CompressedSecp256k1PublicKey, SchnorrKeyPair } from '@did-btcr2/keypair';
|
|
3
3
|
import { bech32m } from '@scure/base';
|
|
4
4
|
/**
|
|
5
5
|
* Implements {@link https://dcdpr.github.io/did-btcr2/#syntax | 3 Syntax}.
|
|
@@ -14,7 +14,7 @@ import { bech32m } from '@scure/base';
|
|
|
14
14
|
*/
|
|
15
15
|
export class Identifier {
|
|
16
16
|
/**
|
|
17
|
-
* Implements {@link https://dcdpr.github.io/did-btcr2/#
|
|
17
|
+
* Implements {@link https://dcdpr.github.io/did-btcr2/#didbtcr2-identifier-encoding | 3.2 did:btcr2 Identifier Encoding}.
|
|
18
18
|
*
|
|
19
19
|
* A did:btcr2 DID consists of a did:btcr2 prefix, followed by an id-bech32 value, which is a Bech32m encoding of:
|
|
20
20
|
* - the specification version;
|
|
@@ -50,7 +50,7 @@ export class Identifier {
|
|
|
50
50
|
// 5. If idType is “key” and genesisBytes is not a valid compressed secp256k1 public key, raise invalidDid error.
|
|
51
51
|
if (idType === 'KEY') {
|
|
52
52
|
try {
|
|
53
|
-
new
|
|
53
|
+
new CompressedSecp256k1PublicKey(genesisBytes);
|
|
54
54
|
}
|
|
55
55
|
catch {
|
|
56
56
|
throw new MethodError('Expected "genesisBytes" to be a valid compressed secp256k1 public key', INVALID_DID, { genesisBytes });
|
|
@@ -103,7 +103,7 @@ export class Identifier {
|
|
|
103
103
|
return `did:btcr2:${bech32m.encodeFromBytes(hrp, dataBytes)}`;
|
|
104
104
|
}
|
|
105
105
|
/**
|
|
106
|
-
* Implements {@link https://dcdpr.github.io/did-btcr2/#
|
|
106
|
+
* Implements {@link https://dcdpr.github.io/did-btcr2/#didbtcr2-identifier-decoding | 3.3 did:btcr2 Identifier Decoding}.
|
|
107
107
|
* @param {string} identifier The BTCR2 DID to be parsed
|
|
108
108
|
* @returns {DidComponents} The parsed identifier components. See {@link DidComponents} for details.
|
|
109
109
|
* @throws {DidError} if an error occurs while parsing the identifier
|
|
@@ -211,7 +211,7 @@ export class Identifier {
|
|
|
211
211
|
// 19. If idType is “key” and genesisBytes is not a valid compressed secp256k1 public key, raise invalidDid error.
|
|
212
212
|
if (idType === 'KEY') {
|
|
213
213
|
try {
|
|
214
|
-
new
|
|
214
|
+
new CompressedSecp256k1PublicKey(genesisBytes);
|
|
215
215
|
}
|
|
216
216
|
catch {
|
|
217
217
|
throw new MethodError(`Invalid genesisBytes: ${genesisBytes}`, INVALID_DID, { identifier });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identifier.js","sourceRoot":"","sources":["../../../src/utils/identifier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,eAAe,EAAS,WAAW,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAChI,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"identifier.js","sourceRoot":"","sources":["../../../src/utils/identifier.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SchnorrKeyPair,
|
|
1
|
+
import { SchnorrKeyPair, Secp256k1SecretKey } from '@did-btcr2/keypair';
|
|
2
2
|
import { SimplePool, } from 'nostr-tools/pool';
|
|
3
3
|
import { Identifier } from '../../../../utils/identifier.js';
|
|
4
4
|
export class NostrAdapter {
|
|
@@ -39,12 +39,12 @@ export class NostrAdapter {
|
|
|
39
39
|
console.log(`Sending message to ${recipient} from ${sender}:`, message);
|
|
40
40
|
}
|
|
41
41
|
/**
|
|
42
|
-
* Generates a Nostr identity using the
|
|
42
|
+
* Generates a Nostr identity using the Secp256k1SecretKey and Identifier classes.
|
|
43
43
|
* @returns {string} A BTCR2 DID used for communication over the nostr protocol
|
|
44
44
|
*/
|
|
45
45
|
generateIdentity() {
|
|
46
|
-
this.config.keys.secret =
|
|
47
|
-
this.config.keys.public =
|
|
46
|
+
this.config.keys.secret = Secp256k1SecretKey.random();
|
|
47
|
+
this.config.keys.public = Secp256k1SecretKey.getPublicKey(this.config.keys.secret);
|
|
48
48
|
this.config.did = Identifier.encode({
|
|
49
49
|
idType: this.config.components.idType || 'KEY',
|
|
50
50
|
version: this.config.components.version || 1,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nostr.js","sourceRoot":"","sources":["../../../../../../src/core/beacon/aggregation/protocol/nostr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"nostr.js","sourceRoot":"","sources":["../../../../../../src/core/beacon/aggregation/protocol/nostr.ts"],"names":[],"mappings":"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"}
|
|
@@ -99,8 +99,8 @@ export class CIDAggregateBeacon extends Beacon {
|
|
|
99
99
|
*
|
|
100
100
|
* The Broadcast CIDAggregate Beacon Signal algorithm involving two roles: a set of cohort participants and a Beacon
|
|
101
101
|
* coordinator. The Beacon coordinator collects individual DID Update Payload Content Identifiers (CIDs) for specific
|
|
102
|
-
* did:
|
|
103
|
-
* (CAS). The CID for the DID Update Bundle is included in a Partially Signed Bitcoin Transaction (PSBT) transaction
|
|
102
|
+
* did:btcr2 idntifiers and aggregates them into a DID Update Bundle, which is then published to a Content Addressable
|
|
103
|
+
* Storage (CAS). The CID for the DID Update Bundle is included in a Partially Signed Bitcoin Transaction (PSBT) transaction
|
|
104
104
|
* output spent from the Beacon’s n-of-n address. Each of the n cohort participants in the Beacon MUST sign the
|
|
105
105
|
* transaction before it can be broadcast to the network. It is RECOMMENDED that cohort participants keep a copy of
|
|
106
106
|
* the DID Update Bundle and separately pin it to the CAS.
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BitcoinNetworkConnection } from '@did-btcr2/bitcoin';
|
|
2
2
|
import { INVALID_SIDECAR_DATA, LATE_PUBLISHING_ERROR, SingletonBeaconError } from '@did-btcr2/common';
|
|
3
3
|
import { opcodes, Psbt, script } from 'bitcoinjs-lib';
|
|
4
4
|
import { base58btc } from 'multiformats/bases/base58';
|
|
5
5
|
import { Beacon } from '../../interfaces/beacon.js';
|
|
6
6
|
import { Appendix } from '../../utils/appendix.js';
|
|
7
7
|
import { KeyManager, Signer } from '../key-manager/index.js';
|
|
8
|
-
const bitcoin = new
|
|
8
|
+
const bitcoin = new BitcoinNetworkConnection();
|
|
9
9
|
/**
|
|
10
10
|
* Implements {@link https://dcdpr.github.io/did-btcr2/#singleton-beacon | 5.1 Singleton Beacon}.
|
|
11
11
|
*
|
|
@@ -106,7 +106,7 @@ export class SingletonBeacon extends Beacon {
|
|
|
106
106
|
// 5. If signalsMetadata:
|
|
107
107
|
if (signalsMetadata) {
|
|
108
108
|
// 5.1 Set didUpdatePayload to signalsMetadata.updatePayload
|
|
109
|
-
didUpdatePayload = signalsMetadataMap.get(signal.txid)?.
|
|
109
|
+
didUpdatePayload = signalsMetadataMap.get(signal.txid)?.didUpdate;
|
|
110
110
|
if (!didUpdatePayload) {
|
|
111
111
|
throw new SingletonBeaconError('Update Payload not found in signal metadata.', 'PROCESS_SIGNAL_ERROR');
|
|
112
112
|
}
|
|
@@ -210,7 +210,7 @@ export class SingletonBeacon extends Beacon {
|
|
|
210
210
|
// 10. Initialize signalMetadata to an empty object.
|
|
211
211
|
// 11. Set signalMetadata.updatePayload to didUpdatePayload.
|
|
212
212
|
// 12. Return the object {<signalId>: { updatePayload: DidUpdatePayload; proofs?: any; }}.
|
|
213
|
-
return { [spentTx]: {
|
|
213
|
+
return { [spentTx]: { didUpdate: didUpdatePayload } };
|
|
214
214
|
}
|
|
215
215
|
}
|
|
216
216
|
//# sourceMappingURL=singleton.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"singleton.js","sourceRoot":"","sources":["../../../../src/core/beacon/singleton.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,
|
|
1
|
+
{"version":3,"file":"singleton.js","sourceRoot":"","sources":["../../../../src/core/beacon/singleton.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { IdentifierTypes } from '@did-btcr2/common';
|
|
2
|
-
import {
|
|
2
|
+
import { CompressedSecp256k1PublicKey } from '@did-btcr2/keypair';
|
|
3
3
|
import { getNetwork } from '@did-btcr2/bitcoin';
|
|
4
4
|
import { BeaconUtils } from '../../utils/beacons.js';
|
|
5
5
|
import { DidDocument } from '../../utils/did-document.js';
|
|
@@ -36,8 +36,8 @@ export class Create {
|
|
|
36
36
|
const idType = IdentifierTypes.KEY;
|
|
37
37
|
// Call the the did:btcr2 Identifier Encoding algorithm
|
|
38
38
|
const identifier = Identifier.encode({ version, network, idType, genesisBytes: pubKeyBytes });
|
|
39
|
-
// Instantiate
|
|
40
|
-
const { compressed: publicKey, multibase: publicKeyMultibase } = new
|
|
39
|
+
// Instantiate CompressedSecp256k1PublicKey object and get the multibase formatted publicKey
|
|
40
|
+
const { compressed: publicKey, multibase: publicKeyMultibase } = new CompressedSecp256k1PublicKey(pubKeyBytes);
|
|
41
41
|
// Generate the service field for the DID Document
|
|
42
42
|
const service = BeaconUtils.generateBeaconServices({
|
|
43
43
|
identifier,
|
|
@@ -53,7 +53,7 @@ export class Create {
|
|
|
53
53
|
id: `${identifier}#initialKey`,
|
|
54
54
|
type: 'Multikey',
|
|
55
55
|
controller: identifier,
|
|
56
|
-
publicKeyMultibase: publicKeyMultibase.
|
|
56
|
+
publicKeyMultibase: publicKeyMultibase.encoded,
|
|
57
57
|
}],
|
|
58
58
|
service,
|
|
59
59
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../src/core/crud/create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAA4B,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../src/core/crud/create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAA4B,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AAElE,OAAO,EAAE,UAAU,EAAE,MAAO,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,WAAW,EAA2B,MAAM,6BAA6B,CAAC;AACnF,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAwCvD;;;;;;;;;;GAUG;AACH,MAAM,OAAO,MAAM;IACjB;;;;;;;;;;;;OAYG;IACI,MAAM,CAAC,aAAa,CAAC,EAAE,WAAW,EAAE,OAAO,EAGjD;QACC,iDAAiD;QACjD,MAAM,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,SAAS,EAAE,GAAG,OAAO,CAAC;QAErD,sBAAsB;QACtB,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC;QAEnC,uDAAuD;QACvD,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC;QAE9F,4FAA4F;QAC5F,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,kBAAkB,EAAE,GAAG,IAAI,4BAA4B,CAAC,WAAW,CAAC,CAAC;QAE/G,kDAAkD;QAClD,MAAM,OAAO,GAAG,WAAW,CAAC,sBAAsB,CAAC;YACjD,UAAU;YACV,SAAS;YACT,OAAO,EAAG,UAAU,CAAC,OAAO,CAAC;YAC7B,IAAI,EAAM,iBAAiB;SAC5B,CAAC,CAAC;QAEH,oEAAoE;QACpE,MAAM,eAAe,GAAG,IAAI,WAAW,CAAC;YACtC,EAAE,EAAmB,UAAU;YAC/B,UAAU,EAAW,CAAC,UAAU,CAAC;YACjC,kBAAkB,EAAG,CAAC;oBACpB,EAAE,EAAmB,GAAG,UAAU,aAAa;oBAC/C,IAAI,EAAiB,UAAU;oBAC/B,UAAU,EAAW,UAAU;oBAC/B,kBAAkB,EAAG,kBAAkB,CAAC,OAAO;iBAChD,CAAC;YACF,OAAO;SACR,CAAC,CAAC;QAEH,+BAA+B;QAC/B,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9C,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,oBAAoB,EAAE,OAAO,EAG3D;QACC,8BAA8B;QAC9B,MAAM,MAAM,GAAG,eAAe,CAAC,QAAQ,CAAC;QAExC,sBAAsB;QACtB,yCAAyC;QACzC,MAAM,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,SAAS,EAAE,GAAG,OAAO,CAAC;QAErD,gCAAgC;QAChC,oBAAoB,CAAC,oBAAoB,EAAE,CAAC;QAE5C,4GAA4G;QAC5G,gBAAgB;QAChB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;QAErF,oHAAoH;QACpH,mBAAmB;QACnB,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QAE1E,gEAAgE;QAChE,oIAAoI;QACpI,MAAM,eAAe,GAAG,oBAAoB,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAEhE,6BAA6B;QAC7B,OAAO,EAAE,GAAG,EAAE,eAAe,EAAE,CAAC;IAClC,CAAC;CACF"}
|
|
@@ -5,10 +5,10 @@ import { DidBtcr2 } from '../../did-btcr2.js';
|
|
|
5
5
|
* document. To do this, the DID controller constructs a valid DID Update Payload with a JSON patch that adds this
|
|
6
6
|
* property and announces the payload through a Beacon in their current DID document following the algorithm in Update.
|
|
7
7
|
* Once a did:btcr2 has been deactivated this state is considered permanent and resolution MUST terminate.
|
|
8
|
-
* @class
|
|
9
|
-
* @type {
|
|
10
|
-
* @extends {
|
|
8
|
+
* @class Deactivate
|
|
9
|
+
* @type {Deactivate}
|
|
10
|
+
* @extends {DidBtcr2}
|
|
11
11
|
*/
|
|
12
|
-
export class
|
|
12
|
+
export class Deactivate extends DidBtcr2 {
|
|
13
13
|
}
|
|
14
14
|
//# sourceMappingURL=deactivate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deactivate.js","sourceRoot":"","sources":["../../../../src/core/crud/deactivate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C;;;;;;;;;GASG;AACH,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"deactivate.js","sourceRoot":"","sources":["../../../../src/core/crud/deactivate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C;;;;;;;;;GASG;AACH,MAAM,OAAO,UAAW,SAAQ,QAAQ;CAAG"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { BitcoinNetworkConnection, GENESIS_TX_ID, getNetwork, TXIN_WITNESS_COINBASE } from '@did-btcr2/bitcoin';
|
|
2
|
+
import { ID_PLACEHOLDER_VALUE, IdentifierHrp, INVALID_DID, INVALID_DID_DOCUMENT, INVALID_DID_UPDATE, LATE_PUBLISHING_ERROR, Logger, MethodError, ResolveError } from '@did-btcr2/common';
|
|
3
3
|
import { Cryptosuite, DataIntegrityProof, SchnorrMultikey } from '@did-btcr2/cryptosuite';
|
|
4
|
-
import {
|
|
4
|
+
import { CompressedSecp256k1PublicKey } from '@did-btcr2/keypair';
|
|
5
5
|
import { bytesToHex } from '@noble/hashes/utils';
|
|
6
6
|
import { DidBtcr2 } from '../../did-btcr2.js';
|
|
7
7
|
import { Appendix } from '../../utils/appendix.js';
|
|
@@ -11,7 +11,7 @@ import { BeaconFactory } from '../beacon/factory.js';
|
|
|
11
11
|
;
|
|
12
12
|
;
|
|
13
13
|
;
|
|
14
|
-
const bitcoin = new
|
|
14
|
+
const bitcoin = new BitcoinNetworkConnection();
|
|
15
15
|
/**
|
|
16
16
|
* Implements {@link https://dcdpr.github.io/did-btcr2/#read | 4.2 Read}.
|
|
17
17
|
* The read operation is executed by a resolver after a resolution request identifying a specific did:btcr2 identifier is
|
|
@@ -47,8 +47,8 @@ export class Resolve {
|
|
|
47
47
|
static deterministic({ identifier, identifierComponents }) {
|
|
48
48
|
// Deconstruct the components
|
|
49
49
|
const { network, genesisBytes } = identifierComponents;
|
|
50
|
-
// Construct a new
|
|
51
|
-
const { compressed: publicKey, multibase: publicKeyMultibase } = new
|
|
50
|
+
// Construct a new CompressedSecp256k1PublicKey and deconstruct the publicKey and publicKeyMultibase
|
|
51
|
+
const { compressed: publicKey, multibase: publicKeyMultibase } = new CompressedSecp256k1PublicKey(genesisBytes);
|
|
52
52
|
// Generate the service field for the DID Document
|
|
53
53
|
const service = BeaconUtils.generateBeaconServices({
|
|
54
54
|
identifier,
|
|
@@ -63,7 +63,7 @@ export class Resolve {
|
|
|
63
63
|
id: `${identifier}#initialKey`,
|
|
64
64
|
type: 'Multikey',
|
|
65
65
|
controller: identifier,
|
|
66
|
-
publicKeyMultibase: publicKeyMultibase.
|
|
66
|
+
publicKeyMultibase: publicKeyMultibase.encoded
|
|
67
67
|
}],
|
|
68
68
|
service
|
|
69
69
|
});
|
|
@@ -203,14 +203,14 @@ export class Resolve {
|
|
|
203
203
|
*/
|
|
204
204
|
static async targetDocument({ initialDocument, resolutionsOptions }) {
|
|
205
205
|
// Set the network from the options or default to mainnet
|
|
206
|
-
const network = resolutionsOptions.network
|
|
206
|
+
const network = resolutionsOptions.network;
|
|
207
207
|
// 1. If resolutionOptions.versionId is not null, set targetVersionId to resolutionOptions.versionId.
|
|
208
208
|
const targetVersionId = resolutionsOptions.versionId;
|
|
209
209
|
// 2. Else if resolutionOptions.versionTime is not null, set targetTime to resolutionOptions.versionTime.
|
|
210
210
|
// 3. Else set targetTime to the UNIX timestamp for now at the moment of execution.
|
|
211
211
|
const targetTime = resolutionsOptions.versionTime ?? new Date().toUnix();
|
|
212
212
|
// 4. Set signalsMetadata to resolutionOptions.sidecarData.signalsMetadata.
|
|
213
|
-
const signalsMetadata = resolutionsOptions.sidecarData
|
|
213
|
+
const signalsMetadata = resolutionsOptions.sidecarData?.signalsMetadata ?? {};
|
|
214
214
|
// 5. Set currentVersionId to 1
|
|
215
215
|
const currentVersionId = 1;
|
|
216
216
|
// 6. If currentVersionId equals targetVersionId return initialDocument.
|
|
@@ -219,7 +219,7 @@ export class Resolve {
|
|
|
219
219
|
}
|
|
220
220
|
// 10. Set targetDocument to the result of calling the Traverse Bitcoin Blockchain History algorithm
|
|
221
221
|
// passing in contemporaryDIDDocument, contemporaryBlockheight, currentVersionId, targetVersionId,
|
|
222
|
-
// targetTime, didDocumentHistory,
|
|
222
|
+
// targetTime, didDocumentHistory, updateHashHistory, signalsMetadata, and network.
|
|
223
223
|
const targetDocument = this.traverseBlockchainHistory({
|
|
224
224
|
contemporaryDidDocument: initialDocument,
|
|
225
225
|
contemporaryBlockHeight: 0,
|
|
@@ -227,7 +227,7 @@ export class Resolve {
|
|
|
227
227
|
targetVersionId,
|
|
228
228
|
targetTime,
|
|
229
229
|
didDocumentHistory: new Array(),
|
|
230
|
-
|
|
230
|
+
updateHashHistory: new Array(),
|
|
231
231
|
signalsMetadata,
|
|
232
232
|
network
|
|
233
233
|
});
|
|
@@ -260,13 +260,13 @@ export class Resolve {
|
|
|
260
260
|
* @param {UnixTimestamp} params.targetTime The timestamp used to target specific historical states of a DID document.
|
|
261
261
|
* Only Beacon Signals included in the Bitcoin blockchain before the targetTime are processed.
|
|
262
262
|
* @param {boolean} params.didDocumentHistory An array of DID documents ordered ascensing by version (1...N).
|
|
263
|
-
* @param {boolean} params.
|
|
263
|
+
* @param {boolean} params.updateHashHistory An array of SHA256 hashes of BTCR2 Updates ordered by version that are
|
|
264
264
|
* applied to the DID document in order to construct the contemporaryDIDDocument.
|
|
265
265
|
* @param {SignalsMetadata} params.signalsMetadata See {@link SignalsMetadata} for details.
|
|
266
|
-
* @param {
|
|
266
|
+
* @param {string} params.network The bitcoin network to connect to (mainnet, signet, testnet, regtest).
|
|
267
267
|
* @returns {Promise<DidDocument>} The resolved DID Document object with a validated single, canonical history.
|
|
268
268
|
*/
|
|
269
|
-
static async traverseBlockchainHistory({ contemporaryDidDocument, contemporaryBlockHeight, currentVersionId, targetVersionId, targetTime, didDocumentHistory,
|
|
269
|
+
static async traverseBlockchainHistory({ contemporaryDidDocument, contemporaryBlockHeight, currentVersionId, targetVersionId, targetTime, didDocumentHistory, updateHashHistory, signalsMetadata, network }) {
|
|
270
270
|
// 1. Set contemporaryHash to the SHA256 hash of the contemporaryDidDocument
|
|
271
271
|
let contemporaryHash = await JSON.canonicalization.process(contemporaryDidDocument, 'base58');
|
|
272
272
|
// 2. Find all BTCR2 Beacons in contemporaryDIDDocument.service where service.type equals one of
|
|
@@ -294,8 +294,8 @@ export class Resolve {
|
|
|
294
294
|
// 10.1. If update.targetVersionId is less than or equal to currentVersionId, run Algorithm Confirm Duplicate
|
|
295
295
|
// Update passing in update, documentHistory, and contemporaryHash.
|
|
296
296
|
if (updateTargetVersionId <= currentVersionId) {
|
|
297
|
-
|
|
298
|
-
await this.confirmDuplicateUpdate({ update, updateHashHistory:
|
|
297
|
+
updateHashHistory.push(contemporaryHash);
|
|
298
|
+
await this.confirmDuplicateUpdate({ update, updateHashHistory: updateHashHistory });
|
|
299
299
|
// 10.2. If update.targetVersionId equals currentVersionId + 1:
|
|
300
300
|
}
|
|
301
301
|
else if (updateTargetVersionId === currentVersionId + 1) {
|
|
@@ -318,8 +318,8 @@ export class Resolve {
|
|
|
318
318
|
delete unsecuredUpdate.proof;
|
|
319
319
|
// 10.2.7 Set updateHash to the result of passing unsecuredUpdate into the JSON Canonicalization and Hash algorithm.
|
|
320
320
|
const updateHash = await JSON.canonicalization.process(update, 'base58');
|
|
321
|
-
// 10.2.8. Push updateHash onto
|
|
322
|
-
|
|
321
|
+
// 10.2.8. Push updateHash onto updateHashHistory.
|
|
322
|
+
updateHashHistory.push(updateHash);
|
|
323
323
|
// 10.2.9. Set contemporaryHash to result of passing contemporaryDIDDocument into the JSON Canonicalization and Hash algorithm.
|
|
324
324
|
contemporaryHash = await JSON.canonicalization.process(contemporaryDidDocument, 'base58');
|
|
325
325
|
// 10.3. If update.targetVersionId is greater than currentVersionId + 1, MUST throw a LatePublishing error.
|
|
@@ -364,19 +364,28 @@ export class Resolve {
|
|
|
364
364
|
*
|
|
365
365
|
* @public
|
|
366
366
|
* @param {FindNextSignals} params The parameters for the findNextSignals operation.
|
|
367
|
-
* @param {number} params.
|
|
368
|
-
* @param {Array<BeaconService>} params.target The target blockheight at which to stop finding signals.
|
|
367
|
+
* @param {number} params.contemporaryBlockHeight The blockheight to start looking for beacon signals.
|
|
369
368
|
* @param {Array<BeaconService>} params.beacons The beacons to look for in the block.
|
|
369
|
+
* @param {Array<BeaconService>} params.network The bitcoin network to connect to (mainnet, signet, testnet, regtest).
|
|
370
|
+
* @param {UnixTimestamp} params.targetTime The timestamp used to target specific historical states of a DID document.
|
|
371
|
+
* Only Beacon Signals included in the Bitcoin blockchain before the targetTime are processed.
|
|
370
372
|
* @returns {Promise<Array<BeaconSignal>>} An array of BeaconSignal objects with blockHeight and signals.
|
|
371
373
|
*/
|
|
372
|
-
static async findNextSignals({ contemporaryBlockHeight, targetTime, beacons }) {
|
|
374
|
+
static async findNextSignals({ contemporaryBlockHeight, targetTime, network, beacons }) {
|
|
373
375
|
let height = contemporaryBlockHeight;
|
|
374
376
|
// Create an default beaconSignal and beaconSignals array
|
|
375
377
|
let beaconSignals = [];
|
|
378
|
+
// Get the bitcoin network connection
|
|
379
|
+
bitcoin.setActiveNetwork(network);
|
|
380
|
+
// Opt into REST connection if available
|
|
376
381
|
if (bitcoin.network.rest) {
|
|
377
|
-
return await this.findSignalsRest(
|
|
382
|
+
return await this.findSignalsRest(beacons);
|
|
378
383
|
}
|
|
379
|
-
//
|
|
384
|
+
// If no rest and no rpc connection is available, throw an error
|
|
385
|
+
if (!bitcoin.network.rpc) {
|
|
386
|
+
throw new ResolveError(`No Bitcoin connection available, cannot find next signals`, 'NO_BITCOIN_CONNECTION');
|
|
387
|
+
}
|
|
388
|
+
// Opt into rpc connection to get the block data at the blockhash
|
|
380
389
|
let block = await bitcoin.network.rpc.getBlock({ height });
|
|
381
390
|
Logger.info(`Searching for signals, please wait ...`);
|
|
382
391
|
while (block.time <= targetTime) {
|
|
@@ -453,15 +462,10 @@ export class Resolve {
|
|
|
453
462
|
}
|
|
454
463
|
/**
|
|
455
464
|
* Helper method for the {@link findNextSignals | Find Next Signals} algorithm.
|
|
456
|
-
*
|
|
457
|
-
* @param params See {@link FindNextSignalsRestParams} for details.
|
|
458
|
-
* @param {BitcoinClient} params.connection The bitcoin connection to use.
|
|
459
|
-
* @param {Array<BeaconSignal>} params.beaconSignals The beacon signals to process.
|
|
460
|
-
* @param {BlockV3} params.block The block to process.
|
|
461
|
-
* @param {Array<BeaconService>} params.beacons The beacons to process.
|
|
465
|
+
* @param {Array<BeaconService>} beacons The beacons to process.
|
|
462
466
|
* @returns {Promise<Array<BeaconSignal>>} The beacon signals found in the block.
|
|
463
467
|
*/
|
|
464
|
-
static async findSignalsRest(
|
|
468
|
+
static async findSignalsRest(beacons) {
|
|
465
469
|
// Empty array of beaconSignals
|
|
466
470
|
const beaconSignals = new Array();
|
|
467
471
|
// Iterate over each beacon
|
|
@@ -557,16 +561,16 @@ export class Resolve {
|
|
|
557
561
|
const service = { id, type, serviceEndpoint: `bitcoin:${address}` };
|
|
558
562
|
// Establish a Beacon instance using the service and sidecar
|
|
559
563
|
const beacon = BeaconFactory.establish(service, sidecar);
|
|
560
|
-
// 2.5 Set
|
|
561
|
-
const
|
|
564
|
+
// 2.5 Set didUpdate to null.
|
|
565
|
+
const didUpdate = await beacon.processSignal(signalTx, signalsMetadata) ?? null;
|
|
562
566
|
// If the updates is null, throw an error
|
|
563
|
-
if (!
|
|
564
|
-
throw new MethodError('No
|
|
567
|
+
if (!didUpdate) {
|
|
568
|
+
throw new MethodError('No didUpdate for beacon', 'PROCESS_BEACON_SIGNALS_ERROR', { tx, signalsMetadata });
|
|
565
569
|
}
|
|
566
|
-
// 2.9 If
|
|
567
|
-
updates.push(
|
|
570
|
+
// 2.9 If didUpdate is not null, push didUpdate to updates.
|
|
571
|
+
updates.push(didUpdate);
|
|
568
572
|
// 3. Return updates.
|
|
569
|
-
return
|
|
573
|
+
return didUpdate;
|
|
570
574
|
}
|
|
571
575
|
/**
|
|
572
576
|
* Implements {@link https://dcdpr.github.io/did-btcr2/#confirm-duplicate-update | 7.2.2.4 Confirm Duplicate Update}.
|
|
@@ -581,7 +585,7 @@ export class Resolve {
|
|
|
581
585
|
* @param {DidUpdatePayload} params.update The DID Update Payload to confirm.
|
|
582
586
|
* @param {Array<string>} params.updateHashHistory The history of hashes for previously applied updates.
|
|
583
587
|
* @returns {Promise<void>} A promise that resolves if the update is a duplicate, otherwise throws an error.
|
|
584
|
-
* @throws {
|
|
588
|
+
* @throws {ResolveError} if the update hash does not match the historical hash.
|
|
585
589
|
*/
|
|
586
590
|
static async confirmDuplicateUpdate({ update, updateHashHistory }) {
|
|
587
591
|
// 1. Let unsecuredUpdate be a copy of the update object.
|