@did-btcr2/method 0.56.0 → 0.59.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/README.md +12 -4
- package/dist/.tsbuildinfo +1 -1
- package/dist/browser.js +3 -3
- package/dist/browser.mjs +3 -3
- package/dist/cjs/index.js +183 -42
- package/dist/esm/core/beacon/beacon.js +19 -2
- package/dist/esm/core/beacon/beacon.js.map +1 -1
- package/dist/esm/core/beacon/cas-beacon.js +7 -6
- package/dist/esm/core/beacon/cas-beacon.js.map +1 -1
- package/dist/esm/core/beacon/factory.js +6 -4
- package/dist/esm/core/beacon/factory.js.map +1 -1
- package/dist/esm/core/beacon/signal-discovery.js +24 -3
- package/dist/esm/core/beacon/signal-discovery.js.map +1 -1
- package/dist/esm/core/beacon/singleton-beacon.js +2 -2
- package/dist/esm/core/beacon/singleton-beacon.js.map +1 -1
- package/dist/esm/core/beacon/smt-beacon.js +7 -6
- package/dist/esm/core/beacon/smt-beacon.js.map +1 -1
- package/dist/esm/core/did-sender-resolver.js +8 -2
- package/dist/esm/core/did-sender-resolver.js.map +1 -1
- package/dist/esm/core/resolver.js +79 -28
- package/dist/esm/core/resolver.js.map +1 -1
- package/dist/esm/core/updater.js +17 -4
- package/dist/esm/core/updater.js.map +1 -1
- package/dist/esm/did-btcr2.js +25 -8
- package/dist/esm/did-btcr2.js.map +1 -1
- package/dist/esm/utils/appendix.js +36 -5
- package/dist/esm/utils/appendix.js.map +1 -1
- package/dist/types/core/beacon/beacon.d.ts +10 -1
- package/dist/types/core/beacon/beacon.d.ts.map +1 -1
- package/dist/types/core/beacon/cas-beacon.d.ts +2 -1
- package/dist/types/core/beacon/cas-beacon.d.ts.map +1 -1
- package/dist/types/core/beacon/factory.d.ts +3 -1
- package/dist/types/core/beacon/factory.d.ts.map +1 -1
- package/dist/types/core/beacon/signal-discovery.d.ts +14 -0
- package/dist/types/core/beacon/signal-discovery.d.ts.map +1 -1
- package/dist/types/core/beacon/singleton-beacon.d.ts +1 -1
- package/dist/types/core/beacon/singleton-beacon.d.ts.map +1 -1
- package/dist/types/core/beacon/smt-beacon.d.ts +2 -1
- package/dist/types/core/beacon/smt-beacon.d.ts.map +1 -1
- package/dist/types/core/did-sender-resolver.d.ts.map +1 -1
- package/dist/types/core/interfaces.d.ts +13 -0
- package/dist/types/core/interfaces.d.ts.map +1 -1
- package/dist/types/core/resolver.d.ts +13 -0
- package/dist/types/core/resolver.d.ts.map +1 -1
- package/dist/types/core/updater.d.ts +11 -4
- package/dist/types/core/updater.d.ts.map +1 -1
- package/dist/types/did-btcr2.d.ts.map +1 -1
- package/dist/types/utils/appendix.d.ts +30 -4
- package/dist/types/utils/appendix.d.ts.map +1 -1
- package/package.json +5 -5
- package/src/core/beacon/beacon.ts +26 -4
- package/src/core/beacon/cas-beacon.ts +7 -6
- package/src/core/beacon/factory.ts +6 -4
- package/src/core/beacon/interfaces.ts +1 -1
- package/src/core/beacon/signal-discovery.ts +25 -3
- package/src/core/beacon/singleton-beacon.ts +2 -2
- package/src/core/beacon/smt-beacon.ts +7 -6
- package/src/core/did-sender-resolver.ts +10 -2
- package/src/core/interfaces.ts +14 -0
- package/src/core/resolver.ts +95 -29
- package/src/core/updater.ts +25 -5
- package/src/did-btcr2.ts +30 -9
- package/src/utils/appendix.ts +37 -5
package/dist/cjs/index.js
CHANGED
|
@@ -32,6 +32,7 @@ __export(index_exports, {
|
|
|
32
32
|
CASBeaconError: () => CASBeaconError,
|
|
33
33
|
CHANGE_OUTPUT_VBYTES: () => CHANGE_OUTPUT_VBYTES,
|
|
34
34
|
DEFAULT_FEE_ESTIMATOR: () => DEFAULT_FEE_ESTIMATOR,
|
|
35
|
+
DEFAULT_MIN_CONF: () => DEFAULT_MIN_CONF,
|
|
35
36
|
DID_REGEX: () => DID_REGEX,
|
|
36
37
|
DUST_LIMIT_SATS: () => DUST_LIMIT_SATS,
|
|
37
38
|
DidBtcr2: () => DidBtcr2,
|
|
@@ -169,6 +170,9 @@ function opReturnScript(signalBytes) {
|
|
|
169
170
|
return import_btc_signer.Script.encode(["RETURN", signalBytes]);
|
|
170
171
|
}
|
|
171
172
|
var SPENDABLE_DUST_LIMIT_SATS = 546;
|
|
173
|
+
function isConfirmedUtxo(utxo) {
|
|
174
|
+
return utxo.status.confirmed === true;
|
|
175
|
+
}
|
|
172
176
|
function byDepthThenId(a, b) {
|
|
173
177
|
if (a.status.block_height !== b.status.block_height) {
|
|
174
178
|
return a.status.block_height - b.status.block_height;
|
|
@@ -184,7 +188,7 @@ function selectSpendableUtxo(utxos, address) {
|
|
|
184
188
|
{ address }
|
|
185
189
|
);
|
|
186
190
|
}
|
|
187
|
-
const confirmed = utxos.filter(
|
|
191
|
+
const confirmed = utxos.filter(isConfirmedUtxo);
|
|
188
192
|
const spendable = confirmed.filter((utxo) => utxo.value > SPENDABLE_DUST_LIMIT_SATS);
|
|
189
193
|
if (!spendable.length) {
|
|
190
194
|
const reason = confirmed.length === 0 ? `all ${utxos.length} UTXO(s) are unconfirmed` : `all ${confirmed.length} confirmed UTXO(s) are at or below the ${SPENDABLE_DUST_LIMIT_SATS}-sat dust limit`;
|
|
@@ -280,8 +284,18 @@ var SinglePartyBeacon = class {
|
|
|
280
284
|
* The Beacon service configuration parsed from the DID Document.
|
|
281
285
|
*/
|
|
282
286
|
service;
|
|
283
|
-
|
|
287
|
+
/**
|
|
288
|
+
* The absolute did:btcr2 identifier this beacon instance serves.
|
|
289
|
+
*
|
|
290
|
+
* Injected by the caller rather than recovered from {@link service}. A beacon
|
|
291
|
+
* service `id` is permitted to be a relative DID URL (`#beacon-1`), which
|
|
292
|
+
* carries no DID to strip a fragment from, so deriving the subject from it is
|
|
293
|
+
* only correct for the absolute spelling.
|
|
294
|
+
*/
|
|
295
|
+
did;
|
|
296
|
+
constructor(service, did) {
|
|
284
297
|
this.service = service;
|
|
298
|
+
this.did = did;
|
|
285
299
|
}
|
|
286
300
|
/**
|
|
287
301
|
* Build + sign + broadcast a singleton beacon signal transaction. The beacon
|
|
@@ -424,9 +438,10 @@ var CASBeacon = class extends SinglePartyBeacon {
|
|
|
424
438
|
/**
|
|
425
439
|
* Creates an instance of CASBeacon.
|
|
426
440
|
* @param {BeaconService} service The service of the Beacon.
|
|
441
|
+
* @param {string} did The absolute did:btcr2 identifier this beacon serves.
|
|
427
442
|
*/
|
|
428
|
-
constructor(service) {
|
|
429
|
-
super({ ...service, type: "CASBeacon" });
|
|
443
|
+
constructor(service, did) {
|
|
444
|
+
super({ ...service, type: "CASBeacon" }, did);
|
|
430
445
|
}
|
|
431
446
|
/**
|
|
432
447
|
* Implements {@link https://dcdpr.github.io/did-btcr2/operations/resolve.html#process-cas-beacon | 7.2.e.1 Process CAS Beacon}.
|
|
@@ -444,7 +459,7 @@ var CASBeacon = class extends SinglePartyBeacon {
|
|
|
444
459
|
processSignals(signals, sidecar) {
|
|
445
460
|
const updates = new Array();
|
|
446
461
|
const needs = new Array();
|
|
447
|
-
const did = this.
|
|
462
|
+
const did = this.did;
|
|
448
463
|
for (const signal of signals) {
|
|
449
464
|
const announcementHash = signal.signalBytes;
|
|
450
465
|
const casAnnouncement = sidecar.casMap.get(announcementHash);
|
|
@@ -497,7 +512,7 @@ var CASBeacon = class extends SinglePartyBeacon {
|
|
|
497
512
|
* @throws {BeaconError} if the bitcoin address is invalid, unfunded, or UTXO cannot cover the fee.
|
|
498
513
|
*/
|
|
499
514
|
async broadcastSignal(signedUpdate, signer, bitcoin, options) {
|
|
500
|
-
const did = this.
|
|
515
|
+
const did = this.did;
|
|
501
516
|
const updateHash = (0, import_common2.canonicalHash)(signedUpdate);
|
|
502
517
|
const casAnnouncement = { [did]: updateHash };
|
|
503
518
|
const announcementHash = (0, import_common2.hash)((0, import_common2.canonicalize)(casAnnouncement));
|
|
@@ -519,8 +534,8 @@ var SingletonBeacon = class extends SinglePartyBeacon {
|
|
|
519
534
|
* Creates an instance of SingletonBeacon.
|
|
520
535
|
* @param {BeaconService} service The BeaconService object representing the funded beacon to announce the update to.
|
|
521
536
|
*/
|
|
522
|
-
constructor(service) {
|
|
523
|
-
super({ ...service, type: "SingletonBeacon" });
|
|
537
|
+
constructor(service, did) {
|
|
538
|
+
super({ ...service, type: "SingletonBeacon" }, did);
|
|
524
539
|
}
|
|
525
540
|
/**
|
|
526
541
|
* Processes an array of Beacon Signals associated with a Singleton Beacon Service.
|
|
@@ -575,9 +590,10 @@ var SMTBeacon = class extends SinglePartyBeacon {
|
|
|
575
590
|
/**
|
|
576
591
|
* Creates an instance of SMTBeacon.
|
|
577
592
|
* @param {BeaconService} service The Beacon service.
|
|
593
|
+
* @param {string} did The absolute did:btcr2 identifier this beacon serves.
|
|
578
594
|
*/
|
|
579
|
-
constructor(service) {
|
|
580
|
-
super({ ...service, type: "SMTBeacon" });
|
|
595
|
+
constructor(service, did) {
|
|
596
|
+
super({ ...service, type: "SMTBeacon" }, did);
|
|
581
597
|
}
|
|
582
598
|
/**
|
|
583
599
|
* Implements {@link https://dcdpr.github.io/did-btcr2/operations/resolve.html#process-smt-beacon | 7.2.e.1 Process SMT Beacon}.
|
|
@@ -595,7 +611,7 @@ var SMTBeacon = class extends SinglePartyBeacon {
|
|
|
595
611
|
processSignals(signals, sidecar) {
|
|
596
612
|
const updates = new Array();
|
|
597
613
|
const needs = new Array();
|
|
598
|
-
const did = this.
|
|
614
|
+
const did = this.did;
|
|
599
615
|
for (const signal of signals) {
|
|
600
616
|
const smtProof = sidecar.smtMap.get(signal.signalBytes);
|
|
601
617
|
if (!smtProof) {
|
|
@@ -659,7 +675,7 @@ var SMTBeacon = class extends SinglePartyBeacon {
|
|
|
659
675
|
* @throws {BeaconError} if the bitcoin address is invalid, unfunded, or UTXO cannot cover the fee.
|
|
660
676
|
*/
|
|
661
677
|
async broadcastSignal(signedUpdate, signer, bitcoin, options) {
|
|
662
|
-
const did = this.
|
|
678
|
+
const did = this.did;
|
|
663
679
|
const canonicalBytes = new TextEncoder().encode((0, import_common4.canonicalize)(signedUpdate));
|
|
664
680
|
const nonce = (0, import_utils2.randomBytes)(32);
|
|
665
681
|
const tree = new import_smt.BTCR2MerkleTree();
|
|
@@ -676,16 +692,18 @@ var BeaconFactory = class {
|
|
|
676
692
|
/**
|
|
677
693
|
* Establish a Beacon instance based on the provided service and optional sidecar data.
|
|
678
694
|
* @param {BeaconService} service The beacon service configuration.
|
|
695
|
+
* @param {string} did The absolute did:btcr2 identifier the beacon serves. Supplied
|
|
696
|
+
* by the caller because a beacon service `id` may be a relative DID URL.
|
|
679
697
|
* @returns {SinglePartyBeacon} The established Beacon instance.
|
|
680
698
|
*/
|
|
681
|
-
static establish(service) {
|
|
699
|
+
static establish(service, did) {
|
|
682
700
|
switch (service.type) {
|
|
683
701
|
case "SingletonBeacon":
|
|
684
|
-
return new SingletonBeacon(service);
|
|
702
|
+
return new SingletonBeacon(service, did);
|
|
685
703
|
case "CASBeacon":
|
|
686
|
-
return new CASBeacon(service);
|
|
704
|
+
return new CASBeacon(service, did);
|
|
687
705
|
case "SMTBeacon":
|
|
688
|
-
return new SMTBeacon(service);
|
|
706
|
+
return new SMTBeacon(service, did);
|
|
689
707
|
default:
|
|
690
708
|
throw new import_common5.MethodError("Invalid Beacon Type", "INVALID_BEACON_ERROR", service);
|
|
691
709
|
}
|
|
@@ -706,14 +724,43 @@ var import_dids = require("@web5/dids");
|
|
|
706
724
|
var import_common6 = require("@did-btcr2/common");
|
|
707
725
|
var Appendix = class _Appendix {
|
|
708
726
|
/**
|
|
709
|
-
*
|
|
710
|
-
*
|
|
711
|
-
*
|
|
727
|
+
* Resolves a DID URL that may be written as a relative reference against the
|
|
728
|
+
* DID it appears under. DID Core permits the `id` of a verification method or
|
|
729
|
+
* service, and the entries of a verification relationship, to be a relative
|
|
730
|
+
* DID URL such as `#initialKey`; it denotes that fragment of `did`. Absolute
|
|
731
|
+
* DID URLs are returned unchanged, so both spellings of the same reference
|
|
732
|
+
* compare equal without discarding the DID being compared.
|
|
733
|
+
*
|
|
734
|
+
* @param {unknown} input The DID URL to resolve. Non-strings yield `undefined`.
|
|
735
|
+
* @param {string} did The DID the relative reference is resolved against.
|
|
736
|
+
* @returns {string | undefined} The absolute DID URL, or `undefined` if `input` is not a usable string.
|
|
712
737
|
*/
|
|
713
|
-
static
|
|
738
|
+
static absoluteDidUrl(input, did) {
|
|
714
739
|
if (typeof input !== "string") return void 0;
|
|
715
740
|
if (input.length === 0) return void 0;
|
|
716
|
-
return input;
|
|
741
|
+
return input.startsWith("#") ? `${did}${input}` : input;
|
|
742
|
+
}
|
|
743
|
+
/**
|
|
744
|
+
* Resolves a verification relationship entry to the absolute DID URL of the method it
|
|
745
|
+
* names. A relationship entry is either a reference to a method defined elsewhere in the
|
|
746
|
+
* document, or a method embedded inline, which names itself with its own `id`; either
|
|
747
|
+
* spelling may be a relative DID URL.
|
|
748
|
+
*
|
|
749
|
+
* Every comparison of a relationship entry against a method id goes through this helper,
|
|
750
|
+
* on both the read path and the write path, so the two admit exactly the same spellings.
|
|
751
|
+
*
|
|
752
|
+
* Malformed entries yield `undefined` rather than a placeholder string, so two unusable
|
|
753
|
+
* values never compare equal to each other. Callers comparing a resolved entry must still
|
|
754
|
+
* reject an `undefined` target before comparing, or an unusable target matches an
|
|
755
|
+
* unusable entry.
|
|
756
|
+
*
|
|
757
|
+
* @param {unknown} entry The relationship entry: a reference, or an embedded method.
|
|
758
|
+
* @param {string} did The DID the relative reference is resolved against.
|
|
759
|
+
* @returns {string | undefined} The absolute DID URL, or `undefined` if unusable.
|
|
760
|
+
*/
|
|
761
|
+
static relationshipMethodId(entry, did) {
|
|
762
|
+
const id = typeof entry === "object" && entry !== null && !Array.isArray(entry) ? entry.id : entry;
|
|
763
|
+
return _Appendix.absoluteDidUrl(id, did);
|
|
717
764
|
}
|
|
718
765
|
/**
|
|
719
766
|
* Validates that the given object is a DidVerificationMethod
|
|
@@ -1200,6 +1247,20 @@ var BeaconSignalDiscovery = class _BeaconSignalDiscovery {
|
|
|
1200
1247
|
/**
|
|
1201
1248
|
* Retrieves the beacon signals for the given array of BeaconService objects
|
|
1202
1249
|
* using an esplora/electrs REST API connection via a bitcoin I/O driver.
|
|
1250
|
+
*
|
|
1251
|
+
* The address listing includes mempool transactions. The method skips a
|
|
1252
|
+
* transaction whose `status.confirmed` is not `true`. A mempool transaction
|
|
1253
|
+
* has no block height and no block time, so it cannot carry block metadata.
|
|
1254
|
+
* The specification also says that a resolver must not process an
|
|
1255
|
+
* unconfirmed transaction. An absent flag counts as unconfirmed, as it does
|
|
1256
|
+
* for UTXO selection. The check runs before the OP_RETURN parse, so a
|
|
1257
|
+
* mempool transaction costs no prevout fetch. The {@link fullnode} path
|
|
1258
|
+
* needs no such check: it walks mined blocks only.
|
|
1259
|
+
*
|
|
1260
|
+
* The `confirmations` count uses the block count fetched before the listing.
|
|
1261
|
+
* A block that arrives between the two calls yields a count of `0` for its
|
|
1262
|
+
* transactions. The resolver then excludes them, because its minimum is at
|
|
1263
|
+
* least `1`. An under-count is the safe direction, so keep that order.
|
|
1203
1264
|
* @param {Array<BeaconService>} beaconServices Array of BeaconService objects to retrieve signals for
|
|
1204
1265
|
* @param {BitcoinConnection} bitcoin Bitcoin network connection to use for REST calls
|
|
1205
1266
|
* @returns {Promise<Map<BeaconService, Array<BeaconSignal>>>} Map of beacon service to its discovered signals
|
|
@@ -1215,6 +1276,10 @@ var BeaconSignalDiscovery = class _BeaconSignalDiscovery {
|
|
|
1215
1276
|
continue;
|
|
1216
1277
|
}
|
|
1217
1278
|
for (const beaconSignal of beaconSignals) {
|
|
1279
|
+
const status = beaconSignal.status;
|
|
1280
|
+
if (status.confirmed !== true) {
|
|
1281
|
+
continue;
|
|
1282
|
+
}
|
|
1218
1283
|
const lastSignalVout = beaconSignal.vout.slice(-1)[0];
|
|
1219
1284
|
if (!lastSignalVout) {
|
|
1220
1285
|
continue;
|
|
@@ -1226,14 +1291,14 @@ var BeaconSignalDiscovery = class _BeaconSignalDiscovery {
|
|
|
1226
1291
|
if (!await _BeaconSignalDiscovery.spendsFromAddress(beaconSignal, beaconAddress, bitcoin)) {
|
|
1227
1292
|
continue;
|
|
1228
1293
|
}
|
|
1229
|
-
const confirmations = currentBlockCount -
|
|
1294
|
+
const confirmations = currentBlockCount - status.block_height + 1;
|
|
1230
1295
|
beaconServiceSignals.get(beaconService)?.push({
|
|
1231
1296
|
tx: beaconSignal,
|
|
1232
1297
|
signalBytes: updateHash,
|
|
1233
1298
|
blockMetadata: {
|
|
1234
1299
|
confirmations,
|
|
1235
|
-
height:
|
|
1236
|
-
time:
|
|
1300
|
+
height: status.block_height,
|
|
1301
|
+
time: status.block_time
|
|
1237
1302
|
}
|
|
1238
1303
|
});
|
|
1239
1304
|
}
|
|
@@ -1819,6 +1884,7 @@ var Updater = class _Updater {
|
|
|
1819
1884
|
}
|
|
1820
1885
|
const id = verificationMethod.id.slice(hashIdx);
|
|
1821
1886
|
const multikey = import_cryptosuite.SchnorrMultikey.fromSigner(id, controller, signer);
|
|
1887
|
+
const absoluteMethodId = hashIdx === 0 ? `${did}${id}` : verificationMethod.id;
|
|
1822
1888
|
const signerKey = multikey.publicKey.multibase.encoded;
|
|
1823
1889
|
if (verificationMethod.publicKeyMultibase && signerKey !== verificationMethod.publicKeyMultibase) {
|
|
1824
1890
|
throw new import_common11.UpdateError(
|
|
@@ -1840,7 +1906,12 @@ var Updater = class _Updater {
|
|
|
1840
1906
|
],
|
|
1841
1907
|
cryptosuite: "bip340-jcs-2025",
|
|
1842
1908
|
type: "DataIntegrityProof",
|
|
1843
|
-
|
|
1909
|
+
// The proof names the signing method by absolute DID URL, even when the document
|
|
1910
|
+
// spells that method's own id relatively: a proof travels apart from the document
|
|
1911
|
+
// that defines the method, so a bare `#initialKey` in it resolves against nothing.
|
|
1912
|
+
// For a document that already spells its ids absolutely this is the id unchanged,
|
|
1913
|
+
// so proofs over such documents are byte-identical to before.
|
|
1914
|
+
verificationMethod: absoluteMethodId,
|
|
1844
1915
|
proofPurpose: "capabilityInvocation",
|
|
1845
1916
|
capability: `urn:zcap:root:${encodeURIComponent(did)}`,
|
|
1846
1917
|
capabilityAction: "Write"
|
|
@@ -1853,6 +1924,8 @@ var Updater = class _Updater {
|
|
|
1853
1924
|
* Announces a signed update to the Bitcoin blockchain via the specified beacon.
|
|
1854
1925
|
*
|
|
1855
1926
|
* @param {BeaconService} beaconService The beacon service to broadcast through.
|
|
1927
|
+
* @param {string} did The DID being updated. Required because a beacon service
|
|
1928
|
+
* `id` may be a relative DID URL and so cannot supply the subject.
|
|
1856
1929
|
* @param {SignedBTCR2Update} update The signed update to announce.
|
|
1857
1930
|
* @param {Signer} signer Signer that produces the ECDSA signature for the Bitcoin transaction.
|
|
1858
1931
|
* @param {BitcoinConnection} bitcoin The Bitcoin network connection.
|
|
@@ -1862,8 +1935,8 @@ var Updater = class _Updater {
|
|
|
1862
1935
|
* @returns {Promise<BroadcastResult>} The broadcast artifacts: the signed update, the signal
|
|
1863
1936
|
* txid, and any per-beacon-type sidecar data (CAS announcement / SMT proof).
|
|
1864
1937
|
*/
|
|
1865
|
-
static async announce(beaconService, update, signer, bitcoin, options) {
|
|
1866
|
-
const beacon = BeaconFactory.establish(beaconService);
|
|
1938
|
+
static async announce(beaconService, did, update, signer, bitcoin, options) {
|
|
1939
|
+
const beacon = BeaconFactory.establish(beaconService, did);
|
|
1867
1940
|
return beacon.broadcastSignal(update, signer, bitcoin, options);
|
|
1868
1941
|
}
|
|
1869
1942
|
// Private instance wrappers
|
|
@@ -1922,7 +1995,8 @@ var Updater = class _Updater {
|
|
|
1922
1995
|
needs: [{
|
|
1923
1996
|
kind: "NeedBroadcast",
|
|
1924
1997
|
beaconService: this.#beaconService,
|
|
1925
|
-
signedUpdate: this.#state.signedUpdate
|
|
1998
|
+
signedUpdate: this.#state.signedUpdate,
|
|
1999
|
+
did: this.#sourceDocument.id
|
|
1926
2000
|
}]
|
|
1927
2001
|
};
|
|
1928
2002
|
}
|
|
@@ -2064,7 +2138,8 @@ var DidBtcr2 = class {
|
|
|
2064
2138
|
versionId: resolutionOptions.versionId,
|
|
2065
2139
|
versionTime: resolutionOptions.versionTime,
|
|
2066
2140
|
genesisDocument: resolutionOptions.sidecar?.genesisDocument,
|
|
2067
|
-
maxDiscoveryRounds: resolutionOptions.maxDiscoveryRounds
|
|
2141
|
+
maxDiscoveryRounds: resolutionOptions.maxDiscoveryRounds,
|
|
2142
|
+
minConf: resolutionOptions.minConf
|
|
2068
2143
|
});
|
|
2069
2144
|
}
|
|
2070
2145
|
/**
|
|
@@ -2097,7 +2172,11 @@ var DidBtcr2 = class {
|
|
|
2097
2172
|
verificationMethodId,
|
|
2098
2173
|
beaconId
|
|
2099
2174
|
}) {
|
|
2100
|
-
|
|
2175
|
+
const authorizedMethodId = Appendix.relationshipMethodId(verificationMethodId, sourceDocument.id);
|
|
2176
|
+
const authorized = authorizedMethodId !== void 0 && sourceDocument.capabilityInvocation?.some(
|
|
2177
|
+
(entry) => Appendix.relationshipMethodId(entry, sourceDocument.id) === authorizedMethodId
|
|
2178
|
+
);
|
|
2179
|
+
if (!authorized) {
|
|
2101
2180
|
throw new import_common12.UpdateError(
|
|
2102
2181
|
"Invalid verificationMethodId: not authorized for capabilityInvocation",
|
|
2103
2182
|
import_common12.INVALID_DID_DOCUMENT,
|
|
@@ -2126,7 +2205,8 @@ var DidBtcr2 = class {
|
|
|
2126
2205
|
verificationMethod
|
|
2127
2206
|
);
|
|
2128
2207
|
}
|
|
2129
|
-
const
|
|
2208
|
+
const targetBeaconId = Appendix.absoluteDidUrl(beaconId, sourceDocument.id);
|
|
2209
|
+
const beaconService = sourceDocument.service.filter((service) => targetBeaconId !== void 0 && Appendix.absoluteDidUrl(service.id, sourceDocument.id) === targetBeaconId).filter((service) => !!service).shift();
|
|
2130
2210
|
if (!beaconService) {
|
|
2131
2211
|
throw new import_common12.UpdateError(
|
|
2132
2212
|
"No beacon service found for provided beaconId",
|
|
@@ -2158,8 +2238,9 @@ var DidBtcr2 = class {
|
|
|
2158
2238
|
if (parsedDid && parsedDid.method !== this.methodName) {
|
|
2159
2239
|
throw new import_common12.MethodError(`Method not supported: ${parsedDid.method}`, import_common12.METHOD_NOT_SUPPORTED, { identifier: didDocument.id });
|
|
2160
2240
|
}
|
|
2161
|
-
const
|
|
2162
|
-
|
|
2241
|
+
const targetId = Appendix.absoluteDidUrl(methodId, didDocument.id) ?? Appendix.relationshipMethodId(didDocument.assertionMethod?.[0], didDocument.id);
|
|
2242
|
+
const verificationMethod = targetId === void 0 ? void 0 : didDocument.verificationMethod?.find(
|
|
2243
|
+
(vm) => Appendix.absoluteDidUrl(vm.id, didDocument.id) === targetId
|
|
2163
2244
|
);
|
|
2164
2245
|
if (!(verificationMethod && verificationMethod.publicKeyMultibase)) {
|
|
2165
2246
|
throw new import_dids2.DidError(
|
|
@@ -2173,6 +2254,7 @@ var DidBtcr2 = class {
|
|
|
2173
2254
|
|
|
2174
2255
|
// src/core/resolver.ts
|
|
2175
2256
|
var import_utils6 = require("@noble/curves/utils.js");
|
|
2257
|
+
var DEFAULT_MIN_CONF = 6;
|
|
2176
2258
|
function isRecord(value) {
|
|
2177
2259
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
2178
2260
|
}
|
|
@@ -2187,10 +2269,15 @@ function isSMTProof(value) {
|
|
|
2187
2269
|
if (!isRecord(value)) return false;
|
|
2188
2270
|
return typeof value.id === "string" && typeof value.collapsed === "string" && Array.isArray(value.hashes);
|
|
2189
2271
|
}
|
|
2190
|
-
function
|
|
2191
|
-
|
|
2192
|
-
if (typeof
|
|
2193
|
-
|
|
2272
|
+
function validateMinConf(value) {
|
|
2273
|
+
if (value === void 0) return DEFAULT_MIN_CONF;
|
|
2274
|
+
if (typeof value === "number" && Number.isInteger(value) && value >= 1) return value;
|
|
2275
|
+
const shown = typeof value === "string" ? JSON.stringify(value) : String(value);
|
|
2276
|
+
throw new import_common13.ResolveError(
|
|
2277
|
+
`Invalid resolution option minConf: expected a positive integer (minimum 1), got ${shown}.`,
|
|
2278
|
+
import_common13.INVALID_OPTIONS,
|
|
2279
|
+
{ minConf: value }
|
|
2280
|
+
);
|
|
2194
2281
|
}
|
|
2195
2282
|
var Resolver = class _Resolver {
|
|
2196
2283
|
// --- Immutable inputs ---
|
|
@@ -2231,6 +2318,14 @@ var Resolver = class _Resolver {
|
|
|
2231
2318
|
#maxDiscoveryRounds;
|
|
2232
2319
|
/** Count of beacon-discovery passes driven by updates adding new beacon services. */
|
|
2233
2320
|
#discoveryRounds = 0;
|
|
2321
|
+
/**
|
|
2322
|
+
* Minimum block confirmations a Beacon Signal must have before this resolver
|
|
2323
|
+
* processes it: `ResolutionOptions.minConf`, default {@link DEFAULT_MIN_CONF}.
|
|
2324
|
+
* Applied at signal intake in the BeaconProcess phase. A signal below the
|
|
2325
|
+
* threshold is excluded from the resolution; the rest of the signals are
|
|
2326
|
+
* processed.
|
|
2327
|
+
*/
|
|
2328
|
+
#minConf;
|
|
2234
2329
|
/**
|
|
2235
2330
|
* @internal Use {@link DidBtcr2.resolve} to create instances.
|
|
2236
2331
|
*/
|
|
@@ -2242,6 +2337,7 @@ var Resolver = class _Resolver {
|
|
|
2242
2337
|
this.#versionTime = options?.versionTime;
|
|
2243
2338
|
const rounds = options?.maxDiscoveryRounds;
|
|
2244
2339
|
this.#maxDiscoveryRounds = typeof rounds === "number" && rounds > 0 ? rounds : Infinity;
|
|
2340
|
+
this.#minConf = validateMinConf(options?.minConf);
|
|
2245
2341
|
if (options?.genesisDocument) {
|
|
2246
2342
|
this.#providedGenesisDocument = options.genesisDocument;
|
|
2247
2343
|
}
|
|
@@ -2331,6 +2427,10 @@ var Resolver = class _Resolver {
|
|
|
2331
2427
|
* Version counter and update-hash history carried from earlier discovery rounds.
|
|
2332
2428
|
* Standalone callers omit it and start fresh at version 1 with an empty history.
|
|
2333
2429
|
* @returns {DidResolutionResponse} The updated DID Document, number of confirmations, and version id.
|
|
2430
|
+
*
|
|
2431
|
+
* Confirmation depth is not checked here. The BeaconProcess phase excludes a
|
|
2432
|
+
* signal below `ResolutionOptions.minConf` before its update reaches this method,
|
|
2433
|
+
* so every tuple here comes from a block at or above the threshold.
|
|
2334
2434
|
*/
|
|
2335
2435
|
static updates(currentDocument, unsortedUpdates, versionTime, versionId, resolutionState = { currentVersionId: 1, updateHashHistory: [] }) {
|
|
2336
2436
|
let currentVersionId = resolutionState.currentVersionId;
|
|
@@ -2463,9 +2563,9 @@ var Resolver = class _Resolver {
|
|
|
2463
2563
|
if (!verificationMethodId) {
|
|
2464
2564
|
throw new import_common13.ResolveError("No verificationMethod found in update", import_common13.INVALID_DID_UPDATE, update);
|
|
2465
2565
|
}
|
|
2466
|
-
const authorizedMethodId = relationshipMethodId(currentDocument.id
|
|
2566
|
+
const authorizedMethodId = Appendix.relationshipMethodId(verificationMethodId, currentDocument.id);
|
|
2467
2567
|
const authorized = authorizedMethodId !== void 0 && currentDocument.capabilityInvocation?.some(
|
|
2468
|
-
(entry) => relationshipMethodId(currentDocument.id
|
|
2568
|
+
(entry) => Appendix.relationshipMethodId(entry, currentDocument.id) === authorizedMethodId
|
|
2469
2569
|
);
|
|
2470
2570
|
if (!authorized) {
|
|
2471
2571
|
throw new import_common13.ResolveError(
|
|
@@ -2558,8 +2658,10 @@ var Resolver = class _Resolver {
|
|
|
2558
2658
|
const allNeeds = [];
|
|
2559
2659
|
for (const [service, signals] of this.#beaconServicesSignals) {
|
|
2560
2660
|
if (this.#processedServices.has(service.id) || !signals.length) continue;
|
|
2561
|
-
const
|
|
2562
|
-
|
|
2661
|
+
const eligible = this.#eligibleSignals(signals);
|
|
2662
|
+
if (!eligible.length) continue;
|
|
2663
|
+
const beacon = BeaconFactory.establish(service, this.#currentDocument.id);
|
|
2664
|
+
const result = beacon.processSignals(eligible, this.#sidecarData);
|
|
2563
2665
|
if (result.needs.length > 0) {
|
|
2564
2666
|
allNeeds.push(...result.needs);
|
|
2565
2667
|
} else {
|
|
@@ -2623,6 +2725,41 @@ var Resolver = class _Resolver {
|
|
|
2623
2725
|
}
|
|
2624
2726
|
}
|
|
2625
2727
|
}
|
|
2728
|
+
/**
|
|
2729
|
+
* Return the signals of one beacon service that resolution may process: the
|
|
2730
|
+
* signals with at least `#minConf` confirmations. The specification removes a
|
|
2731
|
+
* transaction below the threshold from the set of Beacon Signals, so an
|
|
2732
|
+
* excluded signal emits no data need and applies no update. A signal with no
|
|
2733
|
+
* integer confirmation count is excluded too: that is a mempool transaction
|
|
2734
|
+
* from a driver that did not skip it.
|
|
2735
|
+
*
|
|
2736
|
+
* An eligible signal must carry a finite block height and block time. A
|
|
2737
|
+
* signal that passes the count but lacks them is malformed. It fails fast
|
|
2738
|
+
* here with a typed error, in the style of the {@link provide} guards, and
|
|
2739
|
+
* not later with an invalid date inside {@link updates}.
|
|
2740
|
+
* @param {Array<BeaconSignal>} signals The signals the caller provided for one service.
|
|
2741
|
+
* @returns {Array<BeaconSignal>} The signals at or above the threshold, in the given order.
|
|
2742
|
+
* @throws {ResolveError} `INVALID_DID_UPDATE` for an eligible signal with no valid block metadata.
|
|
2743
|
+
*/
|
|
2744
|
+
#eligibleSignals(signals) {
|
|
2745
|
+
const eligible = [];
|
|
2746
|
+
for (const signal of signals) {
|
|
2747
|
+
const block = signal.blockMetadata;
|
|
2748
|
+
const confirmations = block?.confirmations;
|
|
2749
|
+
if (!Number.isInteger(confirmations) || confirmations < this.#minConf) {
|
|
2750
|
+
continue;
|
|
2751
|
+
}
|
|
2752
|
+
if (!Number.isFinite(block?.height) || !Number.isFinite(block?.time)) {
|
|
2753
|
+
throw new import_common13.ResolveError(
|
|
2754
|
+
`Beacon signal ${signal.signalBytes} has ${confirmations} confirmations but no valid block height or block time.`,
|
|
2755
|
+
import_common13.INVALID_DID_UPDATE,
|
|
2756
|
+
{ signalBytes: signal.signalBytes, confirmations, height: block?.height, time: block?.time }
|
|
2757
|
+
);
|
|
2758
|
+
}
|
|
2759
|
+
eligible.push(signal);
|
|
2760
|
+
}
|
|
2761
|
+
return eligible;
|
|
2762
|
+
}
|
|
2626
2763
|
provide(need, data) {
|
|
2627
2764
|
switch (need.kind) {
|
|
2628
2765
|
case "NeedGenesisDocument": {
|
|
@@ -2720,7 +2857,10 @@ function getAggregationCommunicationKey(document) {
|
|
|
2720
2857
|
{ id: document.id }
|
|
2721
2858
|
);
|
|
2722
2859
|
}
|
|
2723
|
-
const
|
|
2860
|
+
const invocationId = Appendix.absoluteDidUrl(invocation, document.id);
|
|
2861
|
+
const vm = typeof invocation === "string" ? invocationId === void 0 ? void 0 : document.verificationMethod?.find(
|
|
2862
|
+
(method) => Appendix.absoluteDidUrl(method.id, document.id) === invocationId
|
|
2863
|
+
) : invocation;
|
|
2724
2864
|
if (!vm) {
|
|
2725
2865
|
throw new import_common14.DidDocumentError(
|
|
2726
2866
|
`Cannot derive aggregation communication key: capabilityInvocation[0] "${invocation}" does not resolve to a verification method`,
|
|
@@ -2813,6 +2953,7 @@ var DidDocumentBuilder = class {
|
|
|
2813
2953
|
CASBeaconError,
|
|
2814
2954
|
CHANGE_OUTPUT_VBYTES,
|
|
2815
2955
|
DEFAULT_FEE_ESTIMATOR,
|
|
2956
|
+
DEFAULT_MIN_CONF,
|
|
2816
2957
|
DID_REGEX,
|
|
2817
2958
|
DUST_LIMIT_SATS,
|
|
2818
2959
|
DidBtcr2,
|
|
@@ -168,6 +168,13 @@ export function opReturnScript(signalBytes) {
|
|
|
168
168
|
* kind; this bounds the incoming UTXO chosen to fund the transaction.
|
|
169
169
|
*/
|
|
170
170
|
export const SPENDABLE_DUST_LIMIT_SATS = 546;
|
|
171
|
+
/**
|
|
172
|
+
* True if the UTXO is confirmed. Narrows the status to the confirmed arm, so the
|
|
173
|
+
* block height reads as a number. An absent flag counts as unconfirmed.
|
|
174
|
+
*/
|
|
175
|
+
function isConfirmedUtxo(utxo) {
|
|
176
|
+
return utxo.status.confirmed === true;
|
|
177
|
+
}
|
|
171
178
|
/**
|
|
172
179
|
* Deterministic ordering for spendable UTXO selection: deepest first (ascending
|
|
173
180
|
* block height, so the most-confirmed UTXO sorts first), tie-broken by `txid` then
|
|
@@ -205,7 +212,7 @@ export function selectSpendableUtxo(utxos, address) {
|
|
|
205
212
|
if (!utxos.length) {
|
|
206
213
|
throw new BeaconError('No UTXOs found, please fund address!', 'UNFUNDED_BEACON_ADDRESS', { address });
|
|
207
214
|
}
|
|
208
|
-
const confirmed = utxos.filter(
|
|
215
|
+
const confirmed = utxos.filter(isConfirmedUtxo);
|
|
209
216
|
const spendable = confirmed.filter(utxo => utxo.value > SPENDABLE_DUST_LIMIT_SATS);
|
|
210
217
|
if (!spendable.length) {
|
|
211
218
|
const reason = confirmed.length === 0
|
|
@@ -372,8 +379,18 @@ export class SinglePartyBeacon {
|
|
|
372
379
|
* The Beacon service configuration parsed from the DID Document.
|
|
373
380
|
*/
|
|
374
381
|
service;
|
|
375
|
-
|
|
382
|
+
/**
|
|
383
|
+
* The absolute did:btcr2 identifier this beacon instance serves.
|
|
384
|
+
*
|
|
385
|
+
* Injected by the caller rather than recovered from {@link service}. A beacon
|
|
386
|
+
* service `id` is permitted to be a relative DID URL (`#beacon-1`), which
|
|
387
|
+
* carries no DID to strip a fragment from, so deriving the subject from it is
|
|
388
|
+
* only correct for the absolute spelling.
|
|
389
|
+
*/
|
|
390
|
+
did;
|
|
391
|
+
constructor(service, did) {
|
|
376
392
|
this.service = service;
|
|
393
|
+
this.did = did;
|
|
377
394
|
}
|
|
378
395
|
/**
|
|
379
396
|
* Build + sign + broadcast a singleton beacon signal transaction. The beacon
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"beacon.js","sourceRoot":"","sources":["../../../../src/core/beacon/beacon.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"beacon.js","sourceRoot":"","sources":["../../../../src/core/beacon/beacon.ts"],"names":[],"mappings":"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"}
|
|
@@ -39,9 +39,10 @@ export class CASBeacon extends SinglePartyBeacon {
|
|
|
39
39
|
/**
|
|
40
40
|
* Creates an instance of CASBeacon.
|
|
41
41
|
* @param {BeaconService} service The service of the Beacon.
|
|
42
|
+
* @param {string} did The absolute did:btcr2 identifier this beacon serves.
|
|
42
43
|
*/
|
|
43
|
-
constructor(service) {
|
|
44
|
-
super({ ...service, type: 'CASBeacon' });
|
|
44
|
+
constructor(service, did) {
|
|
45
|
+
super({ ...service, type: 'CASBeacon' }, did);
|
|
45
46
|
}
|
|
46
47
|
/**
|
|
47
48
|
* Implements {@link https://dcdpr.github.io/did-btcr2/operations/resolve.html#process-cas-beacon | 7.2.e.1 Process CAS Beacon}.
|
|
@@ -59,8 +60,8 @@ export class CASBeacon extends SinglePartyBeacon {
|
|
|
59
60
|
processSignals(signals, sidecar) {
|
|
60
61
|
const updates = new Array();
|
|
61
62
|
const needs = new Array();
|
|
62
|
-
//
|
|
63
|
-
const did = this.
|
|
63
|
+
// The DID under resolution keys this beacon's announcement entry.
|
|
64
|
+
const did = this.did;
|
|
64
65
|
for (const signal of signals) {
|
|
65
66
|
// Signal bytes are hex, matches hex-keyed sidecar maps directly
|
|
66
67
|
const announcementHash = signal.signalBytes;
|
|
@@ -121,8 +122,8 @@ export class CASBeacon extends SinglePartyBeacon {
|
|
|
121
122
|
* @throws {BeaconError} if the bitcoin address is invalid, unfunded, or UTXO cannot cover the fee.
|
|
122
123
|
*/
|
|
123
124
|
async broadcastSignal(signedUpdate, signer, bitcoin, options) {
|
|
124
|
-
//
|
|
125
|
-
const did = this.
|
|
125
|
+
// The DID this beacon serves keys its announcement entry.
|
|
126
|
+
const did = this.did;
|
|
126
127
|
// Hash the signed update (base64urlnopad for the CAS Announcement entry per spec)
|
|
127
128
|
const updateHash = canonicalHash(signedUpdate);
|
|
128
129
|
// Create the CAS Announcement mapping this DID to its update hash
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cas-beacon.js","sourceRoot":"","sources":["../../../../src/core/beacon/cas-beacon.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAMtF,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAahD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,OAAO,SAAU,SAAQ,iBAAiB;IAC9C
|
|
1
|
+
{"version":3,"file":"cas-beacon.js","sourceRoot":"","sources":["../../../../src/core/beacon/cas-beacon.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,16 +11,18 @@ export class BeaconFactory {
|
|
|
11
11
|
/**
|
|
12
12
|
* Establish a Beacon instance based on the provided service and optional sidecar data.
|
|
13
13
|
* @param {BeaconService} service The beacon service configuration.
|
|
14
|
+
* @param {string} did The absolute did:btcr2 identifier the beacon serves. Supplied
|
|
15
|
+
* by the caller because a beacon service `id` may be a relative DID URL.
|
|
14
16
|
* @returns {SinglePartyBeacon} The established Beacon instance.
|
|
15
17
|
*/
|
|
16
|
-
static establish(service) {
|
|
18
|
+
static establish(service, did) {
|
|
17
19
|
switch (service.type) {
|
|
18
20
|
case 'SingletonBeacon':
|
|
19
|
-
return new SingletonBeacon(service);
|
|
21
|
+
return new SingletonBeacon(service, did);
|
|
20
22
|
case 'CASBeacon':
|
|
21
|
-
return new CASBeacon(service);
|
|
23
|
+
return new CASBeacon(service, did);
|
|
22
24
|
case 'SMTBeacon':
|
|
23
|
-
return new SMTBeacon(service);
|
|
25
|
+
return new SMTBeacon(service, did);
|
|
24
26
|
default:
|
|
25
27
|
throw new MethodError('Invalid Beacon Type', 'INVALID_BEACON_ERROR', service);
|
|
26
28
|
}
|