@did-btcr2/method 0.23.0 → 0.25.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 (160) hide show
  1. package/README.md +96 -50
  2. package/dist/browser.js +36332 -37280
  3. package/dist/browser.mjs +36331 -37279
  4. package/dist/cjs/core/beacon/aggregation/communication/adapter/did-comm.js +1 -1
  5. package/dist/cjs/core/beacon/aggregation/communication/adapter/did-comm.js.map +1 -1
  6. package/dist/cjs/core/beacon/aggregation/communication/adapter/nostr.js +1 -1
  7. package/dist/cjs/core/beacon/aggregation/communication/adapter/nostr.js.map +1 -1
  8. package/dist/cjs/core/beacon/aggregation/coordinator.js +40 -44
  9. package/dist/cjs/core/beacon/aggregation/coordinator.js.map +1 -1
  10. package/dist/cjs/core/beacon/aggregation/participant.js +35 -38
  11. package/dist/cjs/core/beacon/aggregation/participant.js.map +1 -1
  12. package/dist/cjs/core/beacon/aggregation/session/index.js +3 -4
  13. package/dist/cjs/core/beacon/aggregation/session/index.js.map +1 -1
  14. package/dist/cjs/core/beacon/beacon.js.map +1 -1
  15. package/dist/cjs/core/beacon/cas-beacon.js +119 -7
  16. package/dist/cjs/core/beacon/cas-beacon.js.map +1 -1
  17. package/dist/cjs/core/beacon/factory.js +1 -1
  18. package/dist/cjs/core/beacon/factory.js.map +1 -1
  19. package/dist/cjs/core/beacon/{singleton.js → singleton-beacon.js} +19 -27
  20. package/dist/cjs/core/beacon/singleton-beacon.js.map +1 -0
  21. package/dist/cjs/core/beacon/smt-beacon.js +1 -1
  22. package/dist/cjs/core/beacon/smt-beacon.js.map +1 -1
  23. package/dist/cjs/core/identifier.js +1 -1
  24. package/dist/cjs/core/identifier.js.map +1 -1
  25. package/dist/{esm/core/resolve.js → cjs/core/resolver.js} +244 -92
  26. package/dist/cjs/core/resolver.js.map +1 -0
  27. package/dist/cjs/core/update.js +7 -7
  28. package/dist/cjs/core/update.js.map +1 -1
  29. package/dist/cjs/did-btcr2.js +34 -94
  30. package/dist/cjs/did-btcr2.js.map +1 -1
  31. package/dist/cjs/index.js +2 -3
  32. package/dist/cjs/index.js.map +1 -1
  33. package/dist/cjs/utils/did-document.js +9 -19
  34. package/dist/cjs/utils/did-document.js.map +1 -1
  35. package/dist/esm/core/beacon/aggregation/communication/adapter/did-comm.js +1 -1
  36. package/dist/esm/core/beacon/aggregation/communication/adapter/did-comm.js.map +1 -1
  37. package/dist/esm/core/beacon/aggregation/communication/adapter/nostr.js +1 -1
  38. package/dist/esm/core/beacon/aggregation/communication/adapter/nostr.js.map +1 -1
  39. package/dist/esm/core/beacon/aggregation/coordinator.js +40 -44
  40. package/dist/esm/core/beacon/aggregation/coordinator.js.map +1 -1
  41. package/dist/esm/core/beacon/aggregation/participant.js +35 -38
  42. package/dist/esm/core/beacon/aggregation/participant.js.map +1 -1
  43. package/dist/esm/core/beacon/aggregation/session/index.js +3 -4
  44. package/dist/esm/core/beacon/aggregation/session/index.js.map +1 -1
  45. package/dist/esm/core/beacon/beacon.js.map +1 -1
  46. package/dist/esm/core/beacon/cas-beacon.js +119 -7
  47. package/dist/esm/core/beacon/cas-beacon.js.map +1 -1
  48. package/dist/esm/core/beacon/factory.js +1 -1
  49. package/dist/esm/core/beacon/factory.js.map +1 -1
  50. package/dist/esm/core/beacon/{singleton.js → singleton-beacon.js} +19 -27
  51. package/dist/esm/core/beacon/singleton-beacon.js.map +1 -0
  52. package/dist/esm/core/beacon/smt-beacon.js +1 -1
  53. package/dist/esm/core/beacon/smt-beacon.js.map +1 -1
  54. package/dist/esm/core/identifier.js +1 -1
  55. package/dist/esm/core/identifier.js.map +1 -1
  56. package/dist/{cjs/core/resolve.js → esm/core/resolver.js} +244 -92
  57. package/dist/esm/core/resolver.js.map +1 -0
  58. package/dist/esm/core/update.js +7 -7
  59. package/dist/esm/core/update.js.map +1 -1
  60. package/dist/esm/did-btcr2.js +34 -94
  61. package/dist/esm/did-btcr2.js.map +1 -1
  62. package/dist/esm/index.js +2 -3
  63. package/dist/esm/index.js.map +1 -1
  64. package/dist/esm/utils/did-document.js +9 -19
  65. package/dist/esm/utils/did-document.js.map +1 -1
  66. package/dist/types/core/beacon/aggregation/cohort/index.d.ts +1 -0
  67. package/dist/types/core/beacon/aggregation/cohort/messages/base.d.ts +1 -0
  68. package/dist/types/core/beacon/aggregation/cohort/messages/constants.d.ts +1 -0
  69. package/dist/types/core/beacon/aggregation/cohort/messages/index.d.ts +1 -0
  70. package/dist/types/core/beacon/aggregation/cohort/messages/keygen/cohort-advert.d.ts +1 -0
  71. package/dist/types/core/beacon/aggregation/cohort/messages/keygen/cohort-ready.d.ts +2 -2
  72. package/dist/types/core/beacon/aggregation/cohort/messages/keygen/cohort-ready.d.ts.map +1 -1
  73. package/dist/types/core/beacon/aggregation/cohort/messages/keygen/opt-in-accept.d.ts +1 -0
  74. package/dist/types/core/beacon/aggregation/cohort/messages/keygen/opt-in.d.ts +1 -0
  75. package/dist/types/core/beacon/aggregation/cohort/messages/keygen/subscribe.d.ts +1 -0
  76. package/dist/types/core/beacon/aggregation/cohort/messages/sign/aggregated-nonce.d.ts +1 -0
  77. package/dist/types/core/beacon/aggregation/cohort/messages/sign/authorization-request.d.ts +1 -0
  78. package/dist/types/core/beacon/aggregation/cohort/messages/sign/nonce-contribution.d.ts +1 -0
  79. package/dist/types/core/beacon/aggregation/cohort/messages/sign/request-signature.d.ts +1 -0
  80. package/dist/types/core/beacon/aggregation/cohort/messages/sign/signature-authorization.d.ts +1 -0
  81. package/dist/types/core/beacon/aggregation/cohort/status.d.ts +1 -0
  82. package/dist/types/core/beacon/aggregation/communication/adapter/did-comm.d.ts +4 -3
  83. package/dist/types/core/beacon/aggregation/communication/adapter/did-comm.d.ts.map +1 -1
  84. package/dist/types/core/beacon/aggregation/communication/adapter/nostr.d.ts +5 -3
  85. package/dist/types/core/beacon/aggregation/communication/adapter/nostr.d.ts.map +1 -1
  86. package/dist/types/core/beacon/aggregation/communication/error.d.ts +1 -0
  87. package/dist/types/core/beacon/aggregation/communication/factory.d.ts +1 -0
  88. package/dist/types/core/beacon/aggregation/communication/service.d.ts +3 -2
  89. package/dist/types/core/beacon/aggregation/communication/service.d.ts.map +1 -1
  90. package/dist/types/core/beacon/aggregation/coordinator.d.ts +1 -0
  91. package/dist/types/core/beacon/aggregation/coordinator.d.ts.map +1 -1
  92. package/dist/types/core/beacon/aggregation/participant.d.ts +1 -0
  93. package/dist/types/core/beacon/aggregation/participant.d.ts.map +1 -1
  94. package/dist/types/core/beacon/aggregation/session/index.d.ts +1 -0
  95. package/dist/types/core/beacon/aggregation/session/index.d.ts.map +1 -1
  96. package/dist/types/core/beacon/aggregation/session/status.d.ts +1 -0
  97. package/dist/types/core/beacon/beacon.d.ts +10 -4
  98. package/dist/types/core/beacon/beacon.d.ts.map +1 -1
  99. package/dist/types/core/beacon/cas-beacon.d.ts +27 -7
  100. package/dist/types/core/beacon/cas-beacon.d.ts.map +1 -1
  101. package/dist/types/core/beacon/error.d.ts +1 -0
  102. package/dist/types/core/beacon/factory.d.ts +1 -0
  103. package/dist/types/core/beacon/interfaces.d.ts +1 -0
  104. package/dist/types/core/beacon/signal-discovery.d.ts +1 -0
  105. package/dist/types/core/beacon/{singleton.d.ts → singleton-beacon.d.ts} +7 -5
  106. package/dist/types/core/beacon/singleton-beacon.d.ts.map +1 -0
  107. package/dist/types/core/beacon/smt-beacon.d.ts +5 -3
  108. package/dist/types/core/beacon/smt-beacon.d.ts.map +1 -1
  109. package/dist/types/core/beacon/utils.d.ts +1 -0
  110. package/dist/types/core/identifier.d.ts +1 -0
  111. package/dist/types/core/interfaces.d.ts +6 -15
  112. package/dist/types/core/interfaces.d.ts.map +1 -1
  113. package/dist/types/core/resolver.d.ts +167 -0
  114. package/dist/types/core/resolver.d.ts.map +1 -0
  115. package/dist/types/core/types.d.ts +1 -0
  116. package/dist/types/core/update.d.ts +4 -3
  117. package/dist/types/core/update.d.ts.map +1 -1
  118. package/dist/types/did-btcr2.d.ts +17 -16
  119. package/dist/types/did-btcr2.d.ts.map +1 -1
  120. package/dist/types/index.d.ts +3 -3
  121. package/dist/types/index.d.ts.map +1 -1
  122. package/dist/types/utils/appendix.d.ts +1 -0
  123. package/dist/types/utils/did-document-builder.d.ts +1 -0
  124. package/dist/types/utils/did-document.d.ts +2 -6
  125. package/dist/types/utils/did-document.d.ts.map +1 -1
  126. package/package.json +5 -5
  127. package/src/core/beacon/aggregation/cohort/messages/keygen/cohort-ready.ts +1 -1
  128. package/src/core/beacon/aggregation/communication/adapter/did-comm.ts +4 -3
  129. package/src/core/beacon/aggregation/communication/adapter/nostr.ts +4 -3
  130. package/src/core/beacon/aggregation/communication/service.ts +2 -2
  131. package/src/core/beacon/aggregation/coordinator.ts +40 -44
  132. package/src/core/beacon/aggregation/participant.ts +38 -40
  133. package/src/core/beacon/aggregation/session/index.ts +3 -4
  134. package/src/core/beacon/beacon.ts +9 -5
  135. package/src/core/beacon/cas-beacon.ts +156 -10
  136. package/src/core/beacon/factory.ts +1 -1
  137. package/src/core/beacon/{singleton.ts → singleton-beacon.ts} +20 -36
  138. package/src/core/beacon/smt-beacon.ts +4 -3
  139. package/src/core/identifier.ts +1 -1
  140. package/src/core/interfaces.ts +5 -16
  141. package/src/core/resolver.ts +706 -0
  142. package/src/core/update.ts +9 -9
  143. package/src/did-btcr2.ts +37 -130
  144. package/src/index.ts +2 -3
  145. package/src/utils/did-document.ts +10 -18
  146. package/dist/cjs/core/beacon/singleton.js.map +0 -1
  147. package/dist/cjs/core/resolve.js.map +0 -1
  148. package/dist/cjs/utils/general.js +0 -195
  149. package/dist/cjs/utils/general.js.map +0 -1
  150. package/dist/esm/core/beacon/singleton.js.map +0 -1
  151. package/dist/esm/core/resolve.js.map +0 -1
  152. package/dist/esm/utils/general.js +0 -195
  153. package/dist/esm/utils/general.js.map +0 -1
  154. package/dist/types/core/beacon/singleton.d.ts.map +0 -1
  155. package/dist/types/core/resolve.d.ts +0 -92
  156. package/dist/types/core/resolve.d.ts.map +0 -1
  157. package/dist/types/utils/general.d.ts +0 -85
  158. package/dist/types/utils/general.d.ts.map +0 -1
  159. package/src/core/resolve.ts +0 -474
  160. package/src/utils/general.ts +0 -204
@@ -1 +1 @@
1
- {"version":3,"file":"participant.js","sourceRoot":"","sources":["../../../../../src/core/beacon/aggregation/participant.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"participant.js","sourceRoot":"","sources":["../../../../../src/core/beacon/aggregation/participant.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- import { Logger } from '@did-btcr2/common';
2
1
  import * as musig2 from '@scure/btc-signer/musig2';
3
2
  import { Transaction } from 'bitcoinjs-lib';
4
3
  import { AggregateBeaconError } from '../../error.js';
@@ -129,7 +128,7 @@ export class BeaconCohortSigningSession {
129
128
  throw new AggregateBeaconError(`Invalid nonce contribution. Expected 2 points, received ${nonceContribution.length}.`);
130
129
  }
131
130
  if (this.nonceContributions.get(from)) {
132
- Logger.warn(`WARNING: Nonce contribution already received from ${from}.`);
131
+ console.warn(`WARNING: Nonce contribution already received from ${from}.`);
133
132
  }
134
133
  this.nonceContributions.set(from, nonceContribution);
135
134
  if (this.nonceContributions.size === this.cohort?.participants.length) {
@@ -165,7 +164,7 @@ export class BeaconCohortSigningSession {
165
164
  throw new AggregateBeaconError(`Partial signatures not expected. Current status: ${this.status}`);
166
165
  }
167
166
  if (this.partialSignatures.get(from)) {
168
- Logger.warn(`WARNING: Partial signature already received from ${from}.`);
167
+ console.warn(`WARNING: Partial signature already received from ${from}.`);
169
168
  }
170
169
  this.partialSignatures.set(from, partialSignature);
171
170
  }
@@ -186,7 +185,7 @@ export class BeaconCohortSigningSession {
186
185
  throw new AggregateBeaconError('Previous output script is missing for the input to sign.');
187
186
  }
188
187
  const sigSum = [...this.partialSignatures.values()].reduce((sum, sig) => sum + bigEndianToInt(sig), 0n);
189
- Logger.info(`Aggregated Signature computed: ${sigSum}`);
188
+ console.info(`Aggregated Signature computed: ${sigSum}`);
190
189
  this.aggregatedNonce ??= this.generateAggregatedNonce();
191
190
  const session = new musig2.Session(this.aggregatedNonce, this.cohort.cohortKeys, this.cohort.trMerkleRoot);
192
191
  this.signature = session.partialSigAgg([...this.partialSignatures.values()]);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/core/beacon/aggregation/session/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/core/beacon/aggregation/session/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"beacon.js","sourceRoot":"","sources":["../../../../src/core/beacon/beacon.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAgB,MAAM;IAC1B;;OAEG;IACM,OAAO,CAAgB;IAEhC,YAAY,OAAsB;QAChC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CA4BF"}
1
+ {"version":3,"file":"beacon.js","sourceRoot":"","sources":["../../../../src/core/beacon/beacon.ts"],"names":[],"mappings":"AAOA;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAgB,MAAM;IAC1B;;OAEG;IACM,OAAO,CAAgB;IAEhC,YAAY,OAAsB;QAChC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CA+BF"}
@@ -1,7 +1,17 @@
1
+ import { canonicalHash, canonicalize, decode, encode, hash } from '@did-btcr2/common';
2
+ import { SchnorrKeyPair } from '@did-btcr2/keypair';
3
+ import { opcodes, Psbt, script } from 'bitcoinjs-lib';
1
4
  import { Beacon } from './beacon.js';
2
5
  import { CASBeaconError } from './error.js';
3
6
  /**
4
7
  * Implements {@link https://dcdpr.github.io/did-btcr2/terminology.html#cas-beacon | CAS Beacon}.
8
+ *
9
+ * A CAS (Content-Addressed Store) Beacon aggregates updates for multiple DIDs
10
+ * into a single CAS Announcement — a mapping of DIDs to their update hashes.
11
+ * The hash of the CAS Announcement is broadcast on-chain via OP_RETURN.
12
+ * During resolution, the CAS Announcement is retrieved from the sidecar (or CAS)
13
+ * and used to look up the individual signed update for the DID being resolved.
14
+ *
5
15
  * @class CASBeacon
6
16
  * @type {CASBeacon}
7
17
  * @extends {Beacon}
@@ -16,24 +26,126 @@ export class CASBeacon extends Beacon {
16
26
  }
17
27
  /**
18
28
  * Implements {@link https://dcdpr.github.io/did-btcr2/operations/resolve.html#process-cas-beacon | 7.2.e.1 Process CAS Beacon}.
29
+ *
30
+ * For each signal, the signalBytes contain the hex-encoded hash of a CAS Announcement.
31
+ * The CAS Announcement maps DIDs to their base64url-encoded update hashes.
32
+ * This method looks up the CAS Announcement from the sidecar, extracts the update
33
+ * hash for the DID being resolved, and retrieves the corresponding signed update.
34
+ *
19
35
  * @param {Array<BeaconSignal>} signals The array of Beacon Signals to process.
20
36
  * @param {SidecarData} sidecar The sidecar data associated with the CAS Beacon.
21
- * @returns {Promise<Array<[SignedBTCR2Update, BlockMetadata]>>} The processed signals.
22
- * @throws {CASBeaconError} if processing fails.
37
+ * @returns {BeaconProcessResult} Successfully resolved updates and any data needs.
38
+ * @throws {CASBeaconError} if hash verification fails (validation errors only).
23
39
  */
24
40
  processSignals(signals, sidecar) {
25
- throw new CASBeaconError('Method not implemented.', `METHOD_NOT_IMPLEMENTED`, { signals, sidecar });
41
+ const updates = new Array();
42
+ const needs = new Array();
43
+ // Extract the DID from the beacon service id (strip the #fragment)
44
+ const did = this.service.id.split('#')[0];
45
+ for (const signal of signals) {
46
+ // Decode signal bytes from hex and re-encode to base64url for sidecar lookup
47
+ const announcementHash = encode(decode(signal.signalBytes, 'hex'));
48
+ // Look up the CAS Announcement in sidecar casMap
49
+ const casAnnouncement = sidecar.casMap.get(announcementHash);
50
+ if (!casAnnouncement) {
51
+ // CAS Announcement not available — emit a need
52
+ needs.push({
53
+ kind: 'NeedCASAnnouncement',
54
+ announcementHash,
55
+ beaconServiceId: this.service.id
56
+ });
57
+ continue;
58
+ }
59
+ // Look up this DID's update hash in the CAS Announcement
60
+ const updateHash = casAnnouncement[did];
61
+ // If no entry for this DID, this announcement doesn't contain an update for us — skip
62
+ if (!updateHash) {
63
+ continue;
64
+ }
65
+ // Look up the signed update in sidecar updateMap
66
+ const signedUpdate = sidecar.updateMap.get(updateHash);
67
+ if (!signedUpdate) {
68
+ // Signed update not available — emit a need
69
+ needs.push({
70
+ kind: 'NeedSignedUpdate',
71
+ updateHash,
72
+ beaconServiceId: this.service.id
73
+ });
74
+ continue;
75
+ }
76
+ updates.push([signedUpdate, signal.blockMetadata]);
77
+ }
78
+ return { updates, needs };
26
79
  }
27
80
  /**
28
- * Broadcast CAS Beacon signal to the Bitcoin network.
81
+ * Broadcasts a CAS Beacon signal to the Bitcoin network.
82
+ *
83
+ * Creates a CAS Announcement mapping the DID to the update hash, then broadcasts
84
+ * the hash of the announcement via OP_RETURN. The CAS Announcement is distributed
85
+ * to resolvers via sidecar data.
86
+ *
29
87
  * @param {SignedBTCR2Update} signedUpdate The signed BTCR2 update to broadcast.
30
88
  * @param {KeyBytes} secretKey The secret key for signing the Bitcoin transaction.
31
89
  * @param {BitcoinConnection} bitcoin The Bitcoin network connection.
32
- * @return {Promise<SignedBTCR2Update>} The signed update that was broadcasted.
33
- * @throws {CASBeaconError} if broadcasting fails.
90
+ * @returns {Promise<SignedBTCR2Update>} The signed update that was broadcast.
91
+ * @throws {CASBeaconError} if the bitcoin address is invalid or unfunded.
34
92
  */
35
93
  async broadcastSignal(signedUpdate, secretKey, bitcoin) {
36
- throw new CASBeaconError('Method not implemented.', `METHOD_NOT_IMPLEMENTED`, { signedUpdate, secretKey, bitcoin });
94
+ // Extract the DID from the beacon service id (strip the #fragment)
95
+ const did = this.service.id.split('#')[0];
96
+ // Hash the signed update (base64url for the CAS Announcement entry)
97
+ const updateHash = canonicalHash(signedUpdate);
98
+ // Create the CAS Announcement mapping this DID to its update hash
99
+ const casAnnouncement = { [did]: updateHash };
100
+ // TODO: Publish CAS Announcement to content-addressed store (e.g., IPFS via Helia)
101
+ // Canonicalize and hash the CAS Announcement for the OP_RETURN output
102
+ const announcementHash = hash(canonicalize(casAnnouncement));
103
+ // Convert the serviceEndpoint to a bitcoin address by removing the 'bitcoin:' prefix
104
+ const bitcoinAddress = this.service.serviceEndpoint.replace('bitcoin:', '');
105
+ // Query the Bitcoin network for UTXOs associated with the bitcoinAddress
106
+ const utxos = await bitcoin.rest.address.getUtxos(bitcoinAddress);
107
+ // If no utxos are found, throw an error indicating the address is unfunded.
108
+ if (!utxos.length) {
109
+ throw new CASBeaconError('No UTXOs found, please fund address!', 'UNFUNDED_BEACON_ADDRESS', { bitcoinAddress });
110
+ }
111
+ // Sort utxos by block height and take the most recent one
112
+ const utxo = utxos.sort((a, b) => b.status.block_height - a.status.block_height).shift();
113
+ // If no utxos are found, throw an error.
114
+ if (!utxo) {
115
+ throw new CASBeaconError('Beacon bitcoin address unfunded or utxos unconfirmed.', 'UNFUNDED_BEACON_ADDRESS', { bitcoinAddress });
116
+ }
117
+ // Get the previous tx to the utxo being spent
118
+ const prevTx = await bitcoin.rest.transaction.getHex(utxo.txid);
119
+ // Construct a spend transaction
120
+ const spendTx = new Psbt({ network: bitcoin.data })
121
+ // Spend tx contains the utxo as its input
122
+ .addInput({
123
+ hash: utxo.txid,
124
+ index: utxo.vout,
125
+ nonWitnessUtxo: Buffer.from(prevTx, 'hex')
126
+ })
127
+ // Add a change output minus a fee of 500 sats
128
+ // TODO: calculate fee based on transaction vsize and current fee rates
129
+ .addOutput({ address: bitcoinAddress, value: BigInt(utxo.value) - BigInt(500) })
130
+ // Add an OP_RETURN output containing the CAS Announcement hash
131
+ .addOutput({ script: script.compile([opcodes.OP_RETURN, announcementHash]), value: 0n });
132
+ // Construct a key pair and PSBT signer from the secret key
133
+ const keyPair = SchnorrKeyPair.fromSecret(secretKey);
134
+ const signer = {
135
+ publicKey: keyPair.publicKey.compressed,
136
+ sign: (hash) => keyPair.secretKey.sign(hash, { scheme: 'ecdsa' }),
137
+ };
138
+ // Sign 0th input, finalize extract to hex in prep for broadcast
139
+ const signedTx = spendTx.signInput(0, signer)
140
+ .finalizeAllInputs()
141
+ .extractTransaction()
142
+ .toHex();
143
+ // Broadcast spendTx to the Bitcoin network.
144
+ const txid = await bitcoin.rest.transaction.send(signedTx);
145
+ // Log the txid of the broadcasted transaction
146
+ console.info(`CAS Beacon Signal Broadcasted with txid: ${txid}`);
147
+ // Return the signed update
148
+ return signedUpdate;
37
149
  }
38
150
  }
39
151
  //# sourceMappingURL=cas-beacon.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cas-beacon.js","sourceRoot":"","sources":["../../../../src/core/beacon/cas-beacon.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAG5C;;;;;GAKG;AACH,MAAM,OAAO,SAAU,SAAQ,MAAM;IACnC;;;OAGG;IACH,YAAY,OAAsB;QAChC,KAAK,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;;OAMG;IACH,cAAc,CACZ,OAA4B,EAC5B,OAAoB;QAEpB,MAAM,IAAI,cAAc,CAAC,yBAAyB,EAAE,wBAAwB,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IACtG,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,eAAe,CACnB,YAA+B,EAC/B,SAAmB,EACnB,OAA0B;QAE1B,MAAM,IAAI,cAAc,CAAC,yBAAyB,EAAE,wBAAwB,EAAE,EAAC,YAAY,EAAE,SAAS,EAAE,OAAO,EAAC,CAAC,CAAC;IACpH,CAAC;CACF"}
1
+ {"version":3,"file":"cas-beacon.js","sourceRoot":"","sources":["../../../../src/core/beacon/cas-beacon.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { MethodError } from '@did-btcr2/common';
2
2
  import { CASBeacon } from './cas-beacon.js';
3
- import { SingletonBeacon } from './singleton.js';
3
+ import { SingletonBeacon } from './singleton-beacon.js';
4
4
  import { SMTBeacon } from './smt-beacon.js';
5
5
  /**
6
6
  * Beacon Factory pattern to create Beacon instances.
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../../src/core/beacon/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C;;;;GAIG;AACH,MAAM,OAAO,aAAa;IACxB;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,OAAsB;QACrC,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;YACrB,KAAK,iBAAiB;gBACpB,OAAO,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC;YACtC,KAAK,WAAW;gBACd,OAAO,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC;YAChC,KAAK,WAAW;gBACd,OAAO,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC;YAChC;gBACE,MAAM,IAAI,WAAW,CAAC,qBAAqB,EAAE,sBAAsB,EAAE,OAAO,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../../src/core/beacon/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C;;;;GAIG;AACH,MAAM,OAAO,aAAa;IACxB;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,OAAsB;QACrC,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;YACrB,KAAK,iBAAiB;gBACpB,OAAO,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC;YACtC,KAAK,WAAW;gBACd,OAAO,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC;YAChC,KAAK,WAAW;gBACd,OAAO,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC;YAChC;gBACE,MAAM,IAAI,WAAW,CAAC,qBAAqB,EAAE,sBAAsB,EAAE,OAAO,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;CACF"}
@@ -1,7 +1,6 @@
1
- import { Canonicalization, INVALID_SIDECAR_DATA, MISSING_UPDATE_DATA } from '@did-btcr2/common';
1
+ import { canonicalize, decode, encode, hash } from '@did-btcr2/common';
2
2
  import { SchnorrKeyPair } from '@did-btcr2/keypair';
3
3
  import { opcodes, Psbt, script } from 'bitcoinjs-lib';
4
- import { base58btc } from 'multiformats/bases/base58';
5
4
  import { Beacon } from './beacon.js';
6
5
  import { SingletonBeaconError } from './error.js';
7
6
  /**
@@ -14,43 +13,36 @@ export class SingletonBeacon extends Beacon {
14
13
  /**
15
14
  * Creates an instance of SingletonBeacon.
16
15
  * @param {BeaconService} service The BeaconService object representing the funded beacon to announce the update to.
17
- *
18
16
  */
19
17
  constructor(service) {
20
18
  super({ ...service, type: 'SingletonBeacon' });
21
19
  }
22
20
  /**
23
21
  * Processes an array of Beacon Signals associated with a Singleton Beacon Service.
24
- * @returns {Promise<SignedBTCR2Update | undefined>} The DID Update payload announced by the Beacon Signal.
25
- * @throws {SingletonBeaconError} if the signalTx is invalid or the signalSidecarData is invalid.
22
+ * @param {Array<BeaconSignal>} signals The beacon signals discovered on-chain.
23
+ * @param {SidecarData} sidecar The processed sidecar data.
24
+ * @returns {BeaconProcessResult} Successfully resolved updates and any data needs.
26
25
  */
27
- async processSignals(signals, sidecar) {
28
- // Initialize an empty array to hold the BTCR2 signed updates
26
+ processSignals(signals, sidecar) {
29
27
  const updates = new Array();
30
- // Loop through each signal in signals
28
+ const needs = new Array();
31
29
  for (const signal of signals) {
32
- // Grab the beacon signal bytes hash from the signal
33
- const updateHash = signal.signalBytes;
34
- // Use the updateHash as the sidecar data lookup key to retrieve the btcr2 update
30
+ // Decode signal bytes from hex and re-encode to base64url for sidecar lookup
31
+ const updateHash = encode(decode(signal.signalBytes, 'hex'));
32
+ // Look up the signed update in sidecar updateMap
35
33
  const signedUpdate = sidecar.updateMap.get(updateHash);
36
- // If no btcr2 update is found in sidecar data maps, throw missingUpdateData error.
37
34
  if (!signedUpdate) {
38
- throw new SingletonBeaconError(`BTCR2 Signed Update not found for update hash ${updateHash}.`, MISSING_UPDATE_DATA, signal);
35
+ // Data not available emit a need instead of throwing
36
+ needs.push({
37
+ kind: 'NeedSignedUpdate',
38
+ updateHash,
39
+ beaconServiceId: this.service.id
40
+ });
41
+ continue;
39
42
  }
40
- // Canonicalize, hash and encode to base58btc the signed update object found in sidecar or CAS
41
- const encodedUpdate = Canonicalization.process(signedUpdate, { encoding: 'base58btc' });
42
- // Encode the signal bytes hex string to base58btc
43
- const signalBytes = base58btc.encode(Buffer.from(updateHash, 'hex'));
44
- // Check for mismatch between found sidecar/cas update hash and onchain beacon signal hash
45
- if (encodedUpdate !== signalBytes) {
46
- // If mismatch, throw invalidSidecarData error.
47
- throw new SingletonBeaconError(`Hash mismatch: sidecar update ${encodedUpdate} !== signal bytes ${signalBytes}.`, INVALID_SIDECAR_DATA, { encodedUpdate, signalBytes });
48
- }
49
- // Push signedUpdate to updates array
50
43
  updates.push([signedUpdate, signal.blockMetadata]);
51
44
  }
52
- // Return the array of signed updates
53
- return updates;
45
+ return { updates, needs };
54
46
  }
55
47
  /**
56
48
  * Broadcasts a SingletonBeacon signal to the Bitcoin network.
@@ -78,7 +70,7 @@ export class SingletonBeacon extends Beacon {
78
70
  // Get the previous tx to the utxo being spent
79
71
  const prevTx = await bitcoin.rest.transaction.getHex(utxo.txid);
80
72
  // Canonicalize and hash the signed update for OP_RETURN output
81
- const updateHash = Canonicalization.andHash(signedUpdate);
73
+ const updateHash = hash(canonicalize(signedUpdate));
82
74
  // Construct a spend transaction
83
75
  const spendTx = new Psbt({ network: bitcoin.data })
84
76
  // Spend tx contains the utxo as its input
@@ -111,4 +103,4 @@ export class SingletonBeacon extends Beacon {
111
103
  return signedUpdate;
112
104
  }
113
105
  }
114
- //# sourceMappingURL=singleton.js.map
106
+ //# sourceMappingURL=singleton-beacon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"singleton-beacon.js","sourceRoot":"","sources":["../../../../src/core/beacon/singleton-beacon.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,7 @@ export class SMTBeacon extends Beacon {
18
18
  * Implements {@link https://dcdpr.github.io/did-btcr2/operations/resolve.html#process-smt-beacon | 7.2.e.1 Process SMT Beacon}.
19
19
  * @param {Array<BeaconSignal>} signals The array of Beacon Signals to process.
20
20
  * @param {SidecarData} sidecar The sidecar data associated with the SMT Beacon.
21
- * @returns {Promise<Array<[SignedBTCR2Update, BlockMetadata]>>} The processed signals.
21
+ * @returns {BeaconProcessResult} The processed signals.
22
22
  * @throws {SMTBeaconError} if processing fails.
23
23
  */
24
24
  processSignals(signals, sidecar) {
@@ -1 +1 @@
1
- {"version":3,"file":"smt-beacon.js","sourceRoot":"","sources":["../../../../src/core/beacon/smt-beacon.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAG5C;;;;;GAKG;AACH,MAAM,OAAO,SAAU,SAAQ,MAAM;IACnC;;;OAGG;IACH,YAAY,OAAsB;QAChC,KAAK,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;;OAMG;IACH,cAAc,CACZ,OAA4B,EAC5B,OAAoB;QAEpB,MAAM,IAAI,cAAc,CAAC,yBAAyB,EAAE,wBAAwB,EAAE,EAAC,OAAO,EAAE,OAAO,EAAC,CAAC,CAAC;IACpG,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,eAAe,CACnB,YAA+B,EAC/B,SAAmB,EACnB,OAA0B;QAE1B,MAAM,IAAI,cAAc,CAAC,yBAAyB,EAAE,wBAAwB,EAAE,EAAC,YAAY,EAAE,SAAS,EAAE,OAAO,EAAC,CAAC,CAAC;IACpH,CAAC;CACF"}
1
+ {"version":3,"file":"smt-beacon.js","sourceRoot":"","sources":["../../../../src/core/beacon/smt-beacon.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAG5C;;;;;GAKG;AACH,MAAM,OAAO,SAAU,SAAQ,MAAM;IACnC;;;OAGG;IACH,YAAY,OAAsB;QAChC,KAAK,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;;OAMG;IACH,cAAc,CACZ,OAA4B,EAC5B,OAAoB;QAEpB,MAAM,IAAI,cAAc,CAAC,yBAAyB,EAAE,wBAAwB,EAAE,EAAC,OAAO,EAAE,OAAO,EAAC,CAAC,CAAC;IACpG,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,eAAe,CACnB,YAA+B,EAC/B,SAAmB,EACnB,OAA0B;QAE1B,MAAM,IAAI,cAAc,CAAC,yBAAyB,EAAE,wBAAwB,EAAE,EAAC,YAAY,EAAE,SAAS,EAAE,OAAO,EAAC,CAAC,CAAC;IACpH,CAAC;CACF"}
@@ -228,7 +228,7 @@ export class Identifier {
228
228
  version: 1,
229
229
  network: 'regtest'
230
230
  });
231
- return { keyPair: keyPair.toJSON(), did };
231
+ return { keyPair: keyPair.exportJSON(), did };
232
232
  }
233
233
  /**
234
234
  * Validates a did:btcr2 identifier.
@@ -1 +1 @@
1
- {"version":3,"file":"identifier.js","sourceRoot":"","sources":["../../../src/core/identifier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"identifier.js","sourceRoot":"","sources":["../../../src/core/identifier.ts"],"names":[],"mappings":"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"}