@did-btcr2/method 0.22.0 → 0.23.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 +274 -1239
- package/dist/browser.mjs +274 -1239
- package/dist/cjs/core/beacon/aggregation/cohort/index.js +13 -2
- package/dist/cjs/core/beacon/aggregation/cohort/index.js.map +1 -1
- package/dist/cjs/core/beacon/aggregation/cohort/messages/base.js +7 -2
- package/dist/cjs/core/beacon/aggregation/cohort/messages/base.js.map +1 -1
- package/dist/cjs/core/beacon/aggregation/communication/adapter/did-comm.js +5 -10
- package/dist/cjs/core/beacon/aggregation/communication/adapter/did-comm.js.map +1 -1
- package/dist/cjs/core/beacon/aggregation/communication/adapter/nostr.js +4 -7
- package/dist/cjs/core/beacon/aggregation/communication/adapter/nostr.js.map +1 -1
- package/dist/cjs/core/beacon/aggregation/session/index.js +15 -3
- package/dist/cjs/core/beacon/aggregation/session/index.js.map +1 -1
- package/dist/cjs/core/beacon/cas-beacon.js +1 -1
- package/dist/cjs/core/beacon/cas-beacon.js.map +1 -1
- package/dist/cjs/core/beacon/signal-discovery.js +6 -6
- package/dist/cjs/core/beacon/signal-discovery.js.map +1 -1
- package/dist/cjs/core/beacon/singleton.js +13 -12
- package/dist/cjs/core/beacon/singleton.js.map +1 -1
- package/dist/cjs/core/beacon/smt-beacon.js +1 -1
- package/dist/cjs/core/beacon/smt-beacon.js.map +1 -1
- package/dist/cjs/core/identifier.js +11 -13
- package/dist/cjs/core/identifier.js.map +1 -1
- package/dist/cjs/core/resolve.js +14 -15
- package/dist/cjs/core/resolve.js.map +1 -1
- package/dist/cjs/core/update.js +2 -2
- package/dist/cjs/core/update.js.map +1 -1
- package/dist/cjs/did-btcr2.js +11 -14
- package/dist/cjs/did-btcr2.js.map +1 -1
- package/dist/cjs/utils/did-document.js +13 -2
- package/dist/cjs/utils/did-document.js.map +1 -1
- package/dist/esm/core/beacon/aggregation/cohort/index.js +13 -2
- package/dist/esm/core/beacon/aggregation/cohort/index.js.map +1 -1
- package/dist/esm/core/beacon/aggregation/cohort/messages/base.js +7 -2
- package/dist/esm/core/beacon/aggregation/cohort/messages/base.js.map +1 -1
- package/dist/esm/core/beacon/aggregation/communication/adapter/did-comm.js +5 -10
- package/dist/esm/core/beacon/aggregation/communication/adapter/did-comm.js.map +1 -1
- package/dist/esm/core/beacon/aggregation/communication/adapter/nostr.js +4 -7
- package/dist/esm/core/beacon/aggregation/communication/adapter/nostr.js.map +1 -1
- package/dist/esm/core/beacon/aggregation/session/index.js +15 -3
- package/dist/esm/core/beacon/aggregation/session/index.js.map +1 -1
- package/dist/esm/core/beacon/cas-beacon.js +1 -1
- package/dist/esm/core/beacon/cas-beacon.js.map +1 -1
- package/dist/esm/core/beacon/signal-discovery.js +6 -6
- package/dist/esm/core/beacon/signal-discovery.js.map +1 -1
- package/dist/esm/core/beacon/singleton.js +13 -12
- package/dist/esm/core/beacon/singleton.js.map +1 -1
- package/dist/esm/core/beacon/smt-beacon.js +1 -1
- package/dist/esm/core/beacon/smt-beacon.js.map +1 -1
- package/dist/esm/core/identifier.js +11 -13
- package/dist/esm/core/identifier.js.map +1 -1
- package/dist/esm/core/resolve.js +14 -15
- package/dist/esm/core/resolve.js.map +1 -1
- package/dist/esm/core/update.js +2 -2
- package/dist/esm/core/update.js.map +1 -1
- package/dist/esm/did-btcr2.js +11 -14
- package/dist/esm/did-btcr2.js.map +1 -1
- package/dist/esm/utils/did-document.js +13 -2
- package/dist/esm/utils/did-document.js.map +1 -1
- package/dist/types/core/beacon/aggregation/cohort/index.d.ts +1 -1
- package/dist/types/core/beacon/aggregation/cohort/index.d.ts.map +1 -1
- package/dist/types/core/beacon/aggregation/cohort/messages/base.d.ts +1 -1
- package/dist/types/core/beacon/aggregation/cohort/messages/base.d.ts.map +1 -1
- package/dist/types/core/beacon/aggregation/communication/adapter/did-comm.d.ts.map +1 -1
- package/dist/types/core/beacon/aggregation/communication/adapter/nostr.d.ts.map +1 -1
- package/dist/types/core/beacon/aggregation/session/index.d.ts +1 -1
- package/dist/types/core/beacon/aggregation/session/index.d.ts.map +1 -1
- package/dist/types/core/beacon/beacon.d.ts +3 -3
- package/dist/types/core/beacon/beacon.d.ts.map +1 -1
- package/dist/types/core/beacon/cas-beacon.d.ts +3 -3
- package/dist/types/core/beacon/cas-beacon.d.ts.map +1 -1
- package/dist/types/core/beacon/signal-discovery.d.ts +5 -5
- package/dist/types/core/beacon/signal-discovery.d.ts.map +1 -1
- package/dist/types/core/beacon/singleton.d.ts +3 -3
- package/dist/types/core/beacon/singleton.d.ts.map +1 -1
- package/dist/types/core/beacon/smt-beacon.d.ts +3 -3
- package/dist/types/core/beacon/smt-beacon.d.ts.map +1 -1
- package/dist/types/core/identifier.d.ts +17 -21
- package/dist/types/core/identifier.d.ts.map +1 -1
- package/dist/types/core/interfaces.d.ts +2 -2
- package/dist/types/core/interfaces.d.ts.map +1 -1
- package/dist/types/core/resolve.d.ts +3 -3
- package/dist/types/core/resolve.d.ts.map +1 -1
- package/dist/types/core/update.d.ts +2 -2
- package/dist/types/core/update.d.ts.map +1 -1
- package/dist/types/did-btcr2.d.ts +4 -4
- package/dist/types/did-btcr2.d.ts.map +1 -1
- package/dist/types/utils/did-document.d.ts +3 -1
- package/dist/types/utils/did-document.d.ts.map +1 -1
- package/package.json +5 -6
- package/src/core/beacon/aggregation/cohort/index.ts +13 -2
- package/src/core/beacon/aggregation/cohort/messages/base.ts +7 -2
- package/src/core/beacon/aggregation/communication/adapter/did-comm.ts +5 -12
- package/src/core/beacon/aggregation/communication/adapter/nostr.ts +5 -8
- package/src/core/beacon/aggregation/session/index.ts +15 -3
- package/src/core/beacon/beacon.ts +3 -3
- package/src/core/beacon/cas-beacon.ts +3 -3
- package/src/core/beacon/signal-discovery.ts +9 -9
- package/src/core/beacon/singleton.ts +15 -15
- package/src/core/beacon/smt-beacon.ts +3 -3
- package/src/core/identifier.ts +31 -28
- package/src/core/interfaces.ts +2 -2
- package/src/core/resolve.ts +17 -18
- package/src/core/update.ts +4 -4
- package/src/did-btcr2.ts +21 -19
- package/src/utils/did-document.ts +14 -2
|
@@ -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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"}
|
|
@@ -28,7 +28,7 @@ export class CASBeacon extends Beacon {
|
|
|
28
28
|
* Broadcast CAS Beacon signal to the Bitcoin network.
|
|
29
29
|
* @param {SignedBTCR2Update} signedUpdate The signed BTCR2 update to broadcast.
|
|
30
30
|
* @param {KeyBytes} secretKey The secret key for signing the Bitcoin transaction.
|
|
31
|
-
* @param {
|
|
31
|
+
* @param {BitcoinConnection} bitcoin The Bitcoin network connection.
|
|
32
32
|
* @return {Promise<SignedBTCR2Update>} The signed update that was broadcasted.
|
|
33
33
|
* @throws {CASBeaconError} if broadcasting fails.
|
|
34
34
|
*/
|
|
@@ -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,
|
|
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"}
|
|
@@ -12,18 +12,18 @@ export class BeaconSignalDiscovery {
|
|
|
12
12
|
* Retrieves the beacon signals for the given array of BeaconService objects
|
|
13
13
|
* using an esplora/electrs REST API connection via a bitcoin I/O driver.
|
|
14
14
|
* @param {Array<BeaconService>} beaconServices Array of BeaconService objects to retrieve signals for
|
|
15
|
-
* @param {
|
|
15
|
+
* @param {BitcoinConnection} bitcoin Bitcoin network connection to use for REST calls
|
|
16
16
|
* @returns {Promise<Map<BeaconService, Array<BeaconSignal>>>} Map of beacon service to its discovered signals
|
|
17
17
|
*/
|
|
18
18
|
static async indexer(beaconServices, bitcoin) {
|
|
19
19
|
const beaconServiceSignals = new Map();
|
|
20
20
|
// Fetch the current block count once before the loop
|
|
21
|
-
const currentBlockCount = await bitcoin.
|
|
21
|
+
const currentBlockCount = await bitcoin.rest.block.count();
|
|
22
22
|
// Iterate over each beacon
|
|
23
23
|
for (const beaconService of beaconServices) {
|
|
24
24
|
beaconServiceSignals.set(beaconService, []);
|
|
25
25
|
// Get the transactions for the beacon address via REST
|
|
26
|
-
const beaconSignals = await bitcoin.
|
|
26
|
+
const beaconSignals = await bitcoin.rest.address.getTxs(beaconService.serviceEndpoint);
|
|
27
27
|
// If no signals are found, continue
|
|
28
28
|
if (!beaconSignals || !beaconSignals.length) {
|
|
29
29
|
continue;
|
|
@@ -77,7 +77,7 @@ export class BeaconSignalDiscovery {
|
|
|
77
77
|
/**
|
|
78
78
|
* Traverse the full blockchain from genesis to chain top looking for beacon signals.
|
|
79
79
|
* @param {Array<BeaconService>} beaconServices Array of BeaconService objects to search for signals.
|
|
80
|
-
* @param {
|
|
80
|
+
* @param {BitcoinConnection} bitcoin Bitcoin network connection to use for RPC calls.
|
|
81
81
|
* @returns {Promise<Map<BeaconService, Array<BeaconSignal>>>} Map of beacon service to its discovered signals.
|
|
82
82
|
*/
|
|
83
83
|
static async fullnode(beaconServices, bitcoin) {
|
|
@@ -86,7 +86,7 @@ export class BeaconSignalDiscovery {
|
|
|
86
86
|
beaconServiceSignals.set(beaconService, []);
|
|
87
87
|
}
|
|
88
88
|
// Get the RPC connection from the bitcoin network
|
|
89
|
-
const rpc = bitcoin.
|
|
89
|
+
const rpc = bitcoin.rpc;
|
|
90
90
|
// Ensure that the RPC connection is available
|
|
91
91
|
if (!rpc) {
|
|
92
92
|
throw new ResolveError('RPC connection is not available', 'RPC_CONNECTION_ERROR', bitcoin);
|
|
@@ -98,7 +98,7 @@ export class BeaconSignalDiscovery {
|
|
|
98
98
|
// Set genesis height
|
|
99
99
|
let height = 0;
|
|
100
100
|
// Opt into rpc connection to get the block data at the blockhash
|
|
101
|
-
let block = await bitcoin.
|
|
101
|
+
let block = await bitcoin.rpc.getBlock({ height });
|
|
102
102
|
console.info(`Searching for beacon signals, please wait ...`);
|
|
103
103
|
while (block.height <= targetHeight) {
|
|
104
104
|
// Iterate over each transaction in the block
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signal-discovery.js","sourceRoot":"","sources":["../../../../src/core/beacon/signal-discovery.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,aAAa,EAEb,qBAAqB,EACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC;;;;;GAKG;AACH,MAAM,OAAO,qBAAqB;IAEhC;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,OAAO,CAClB,cAAoC,EACpC,
|
|
1
|
+
{"version":3,"file":"signal-discovery.js","sourceRoot":"","sources":["../../../../src/core/beacon/signal-discovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Canonicalization, INVALID_SIDECAR_DATA, MISSING_UPDATE_DATA } from '@did-btcr2/common';
|
|
2
2
|
import { SchnorrKeyPair } from '@did-btcr2/keypair';
|
|
3
|
-
import { Signer } from '@did-btcr2/kms';
|
|
4
3
|
import { opcodes, Psbt, script } from 'bitcoinjs-lib';
|
|
5
4
|
import { base58btc } from 'multiformats/bases/base58';
|
|
6
5
|
import { Beacon } from './beacon.js';
|
|
@@ -38,9 +37,9 @@ export class SingletonBeacon extends Beacon {
|
|
|
38
37
|
if (!signedUpdate) {
|
|
39
38
|
throw new SingletonBeaconError(`BTCR2 Signed Update not found for update hash ${updateHash}.`, MISSING_UPDATE_DATA, signal);
|
|
40
39
|
}
|
|
41
|
-
// Canonicalize, hash and encode to
|
|
42
|
-
const encodedUpdate = Canonicalization.process(signedUpdate, { encoding: '
|
|
43
|
-
// Encode the signal bytes hex string to
|
|
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
|
|
44
43
|
const signalBytes = base58btc.encode(Buffer.from(updateHash, 'hex'));
|
|
45
44
|
// Check for mismatch between found sidecar/cas update hash and onchain beacon signal hash
|
|
46
45
|
if (encodedUpdate !== signalBytes) {
|
|
@@ -57,7 +56,7 @@ export class SingletonBeacon extends Beacon {
|
|
|
57
56
|
* Broadcasts a SingletonBeacon signal to the Bitcoin network.
|
|
58
57
|
* @param {SignedBTCR2Update} signedUpdate The signed BTCR2 update to broadcast.
|
|
59
58
|
* @param {KeyBytes} secretKey The secret key for signing the Bitcoin transaction.
|
|
60
|
-
* @param {
|
|
59
|
+
* @param {BitcoinConnection} bitcoin The Bitcoin network connection.
|
|
61
60
|
* @returns {Promise<SignedBTCR2Update>} The signed update that was broadcast.
|
|
62
61
|
* @throws {SingletonBeaconError} if the bitcoin address is invalid or unfunded.
|
|
63
62
|
*/
|
|
@@ -65,7 +64,7 @@ export class SingletonBeacon extends Beacon {
|
|
|
65
64
|
// Convert the serviceEndpoint to a bitcoin address by removing the 'bitcoin:' prefix
|
|
66
65
|
const bitcoinAddress = this.service.serviceEndpoint.replace('bitcoin:', '');
|
|
67
66
|
// Query the Bitcoin network for UTXOs associated with the bitcoinAddress
|
|
68
|
-
const utxos = await bitcoin.
|
|
67
|
+
const utxos = await bitcoin.rest.address.getUtxos(bitcoinAddress);
|
|
69
68
|
// If no utxos are found, throw an error indicating the address is unfunded.
|
|
70
69
|
if (!utxos.length) {
|
|
71
70
|
throw new SingletonBeaconError('No UTXOs found, please fund address!', 'UNFUNDED_BEACON_ADDRESS', { bitcoinAddress });
|
|
@@ -77,11 +76,11 @@ export class SingletonBeacon extends Beacon {
|
|
|
77
76
|
throw new SingletonBeaconError('Beacon bitcoin address unfunded or utxos unconfirmed.', 'UNFUNDED_BEACON_ADDRESS', { bitcoinAddress });
|
|
78
77
|
}
|
|
79
78
|
// Get the previous tx to the utxo being spent
|
|
80
|
-
const prevTx = await bitcoin.
|
|
79
|
+
const prevTx = await bitcoin.rest.transaction.getHex(utxo.txid);
|
|
81
80
|
// Canonicalize and hash the signed update for OP_RETURN output
|
|
82
81
|
const updateHash = Canonicalization.andHash(signedUpdate);
|
|
83
82
|
// Construct a spend transaction
|
|
84
|
-
const spendTx = new Psbt({ network: bitcoin.
|
|
83
|
+
const spendTx = new Psbt({ network: bitcoin.data })
|
|
85
84
|
// Spend tx contains the utxo as its input
|
|
86
85
|
.addInput({
|
|
87
86
|
hash: utxo.txid,
|
|
@@ -93,17 +92,19 @@ export class SingletonBeacon extends Beacon {
|
|
|
93
92
|
.addOutput({ address: bitcoinAddress, value: BigInt(utxo.value) - BigInt(500) })
|
|
94
93
|
// Add an OP_RETURN output containing the update hash
|
|
95
94
|
.addOutput({ script: script.compile([opcodes.OP_RETURN, updateHash]), value: 0n });
|
|
96
|
-
// Construct a
|
|
95
|
+
// Construct a key pair and PSBT signer from the secret key
|
|
97
96
|
const keyPair = SchnorrKeyPair.fromSecret(secretKey);
|
|
98
|
-
|
|
99
|
-
|
|
97
|
+
const signer = {
|
|
98
|
+
publicKey: keyPair.publicKey.compressed,
|
|
99
|
+
sign: (hash) => keyPair.secretKey.sign(hash, { scheme: 'ecdsa' }),
|
|
100
|
+
};
|
|
100
101
|
// Sign 0th input, finalize extract to hex in prep for broadcast
|
|
101
102
|
const signedTx = spendTx.signInput(0, signer)
|
|
102
103
|
.finalizeAllInputs()
|
|
103
104
|
.extractTransaction()
|
|
104
105
|
.toHex();
|
|
105
106
|
// Broadcast spendTx to the Bitcoin network.
|
|
106
|
-
const txid = await bitcoin.
|
|
107
|
+
const txid = await bitcoin.rest.transaction.send(signedTx);
|
|
107
108
|
// Log the txid of the broadcasted transaction
|
|
108
109
|
console.info(`Singleton Beacon Signal Broadcasted with txid: ${txid}`);
|
|
109
110
|
// Return the signed update
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"singleton.js","sourceRoot":"","sources":["../../../../src/core/beacon/singleton.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAY,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE1G,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"singleton.js","sourceRoot":"","sources":["../../../../src/core/beacon/singleton.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAY,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE1G,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEtD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAGlD;;;;;GAKG;AACH,MAAM,OAAO,eAAgB,SAAQ,MAAM;IAEzC;;;;OAIG;IACH,YAAY,OAAsB;QAChC,KAAK,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;IACjD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,cAAc,CAClB,OAA4B,EAC5B,OAAoB;QAEpB,6DAA6D;QAC7D,MAAM,OAAO,GAAG,IAAI,KAAK,EAAsC,CAAC;QAEhE,sCAAsC;QACtC,KAAI,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC5B,oDAAoD;YACpD,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC;YAEtC,iFAAiF;YACjF,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAEvD,mFAAmF;YACnF,IAAG,CAAC,YAAY,EAAE,CAAC;gBACjB,MAAM,IAAI,oBAAoB,CAC5B,iDAAiD,UAAU,GAAG,EAC9D,mBAAmB,EAAE,MAAM,CAC5B,CAAC;YACJ,CAAC;YAED,8FAA8F;YAC9F,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC;YAExF,kDAAkD;YAClD,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;YAErE,0FAA0F;YAC1F,IAAI,aAAa,KAAK,WAAW,EAAE,CAAC;gBAClC,+CAA+C;gBAC/C,MAAM,IAAI,oBAAoB,CAC5B,iCAAiC,aAAa,qBAAqB,WAAW,GAAG,EACjF,oBAAoB,EAAE,EAAE,aAAa,EAAE,WAAW,EAAE,CACrD,CAAC;YACJ,CAAC;YAED,qCAAqC;YACrC,OAAO,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;QACrD,CAAC;QAED,qCAAqC;QACrC,OAAO,OAAO,CAAC;IACjB,CAAC;IACD;;;;;;;OAOG;IACH,KAAK,CAAC,eAAe,CACnB,YAA+B,EAC/B,SAAmB,EACnB,OAA0B;QAE1B,qFAAqF;QACrF,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAE5E,yEAAyE;QACzE,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAElE,4EAA4E;QAC5E,IAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,oBAAoB,CAC5B,sCAAsC,EACtC,yBAAyB,EAAE,EAAE,cAAc,EAAE,CAC9C,CAAC;QACJ,CAAC;QAED,0DAA0D;QAC1D,MAAM,IAAI,GAA4B,KAAK,CAAC,IAAI,CAC9C,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,YAAY,CACxD,CAAC,KAAK,EAAE,CAAC;QAEV,yCAAyC;QACzC,IAAG,CAAC,IAAI,EAAE,CAAC;YACT,MAAM,IAAI,oBAAoB,CAC5B,uDAAuD,EACvD,yBAAyB,EAAE,EAAE,cAAc,EAAE,CAC9C,CAAC;QACJ,CAAC;QAED,8CAA8C;QAC9C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEhE,+DAA+D;QAC/D,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAE1D,gCAAgC;QAChC,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;YACjD,0CAA0C;aACzC,QAAQ,CAAC;YACR,IAAI,EAAa,IAAI,CAAC,IAAI;YAC1B,KAAK,EAAY,IAAI,CAAC,IAAI;YAC1B,cAAc,EAAG,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC;SAC5C,CAAC;YACF,8CAA8C;YAC9C,uEAAuE;aACtE,SAAS,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YAChF,qDAAqD;aACpD,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QAErF,2DAA2D;QAC3D,MAAM,OAAO,GAAG,cAAc,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG;YACb,SAAS,EAAG,OAAO,CAAC,SAAS,CAAC,UAAU;YACxC,IAAI,EAAQ,CAAC,IAAgB,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;SACpF,CAAC;QAEF,gEAAgE;QAChE,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC;aAC1C,iBAAiB,EAAE;aACnB,kBAAkB,EAAE;aACpB,KAAK,EAAE,CAAC;QAEX,4CAA4C;QAC5C,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE3D,8CAA8C;QAC9C,OAAO,CAAC,IAAI,CAAC,kDAAkD,IAAI,EAAE,CAAC,CAAC;QAEvE,2BAA2B;QAC3B,OAAO,YAAY,CAAC;IACtB,CAAC;CACF"}
|
|
@@ -28,7 +28,7 @@ export class SMTBeacon extends Beacon {
|
|
|
28
28
|
* Broadcast CAS Beacon signal to the Bitcoin network.
|
|
29
29
|
* @param {SignedBTCR2Update} signedUpdate The signed BTCR2 update to broadcast.
|
|
30
30
|
* @param {KeyBytes} secretKey The secret key for signing the Bitcoin transaction.
|
|
31
|
-
* @param {
|
|
31
|
+
* @param {BitcoinConnection} bitcoin The Bitcoin network connection.
|
|
32
32
|
* @return {Promise<SignedBTCR2Update>} The signed update that was broadcasted.
|
|
33
33
|
* @throws {SMTBeaconError} if broadcasting fails.
|
|
34
34
|
*/
|
|
@@ -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,
|
|
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"}
|
|
@@ -24,15 +24,14 @@ export class Identifier {
|
|
|
24
24
|
* - a key-value representing a secp256k1 public key; or
|
|
25
25
|
* - a hash-value representing the hash of an initiating external DID document.
|
|
26
26
|
*
|
|
27
|
-
* @param {
|
|
28
|
-
* @param {
|
|
29
|
-
* @param {string} params.network Bitcoin network name.
|
|
30
|
-
* @param {number} params.version Identifier version.
|
|
31
|
-
* @param {KeyBytes | DocumentBytes} params.genesisBytes Public key or an intermediate document bytes.
|
|
27
|
+
* @param {KeyBytes | DocumentBytes} genesisBytes The genesis bytes (public key or document bytes).
|
|
28
|
+
* @param {DidCreateOptions} options The DID creation options.
|
|
32
29
|
* @returns {string} The new did:btcr2 identifier.
|
|
33
30
|
*/
|
|
34
|
-
static encode(
|
|
35
|
-
//
|
|
31
|
+
static encode(genesisBytes, options) {
|
|
32
|
+
// Deconstruct the options
|
|
33
|
+
const { idType, version = 1, network } = options;
|
|
34
|
+
// If idType is not a valid value per above, raise invalidDid error.
|
|
36
35
|
if (!(idType in IdentifierTypes)) {
|
|
37
36
|
throw new IdentifierError('Expected "idType" to be "KEY" or "EXTERNAL"', INVALID_DID, { idType });
|
|
38
37
|
}
|
|
@@ -223,14 +222,13 @@ export class Identifier {
|
|
|
223
222
|
* @returns {string} The new did:btcr2 identifier.
|
|
224
223
|
*/
|
|
225
224
|
static generate() {
|
|
226
|
-
const
|
|
227
|
-
const did = this.encode({
|
|
228
|
-
idType:
|
|
225
|
+
const keyPair = SchnorrKeyPair.generate();
|
|
226
|
+
const did = this.encode(keyPair.publicKey.compressed, {
|
|
227
|
+
idType: 'KEY',
|
|
229
228
|
version: 1,
|
|
230
|
-
network: '
|
|
231
|
-
genesisBytes: keys.publicKey.compressed
|
|
229
|
+
network: 'regtest'
|
|
232
230
|
});
|
|
233
|
-
return {
|
|
231
|
+
return { keyPair: keyPair.toJSON(), did };
|
|
234
232
|
}
|
|
235
233
|
/**
|
|
236
234
|
* Validates a did:btcr2 identifier.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identifier.js","sourceRoot":"","sources":["../../../src/core/identifier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,
|
|
1
|
+
{"version":3,"file":"identifier.js","sourceRoot":"","sources":["../../../src/core/identifier.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/core/resolve.js
CHANGED
|
@@ -26,10 +26,10 @@ export class Resolve {
|
|
|
26
26
|
* @returns {DidDocument} The resolved DID Document object.
|
|
27
27
|
*/
|
|
28
28
|
static deterministic(didComponents) {
|
|
29
|
-
// Encode the did from the didComponents
|
|
30
|
-
const did = Identifier.encode(didComponents);
|
|
31
29
|
// Deconstruct the bytes from the given components
|
|
32
30
|
const { genesisBytes } = didComponents;
|
|
31
|
+
// Encode the did from the didComponents
|
|
32
|
+
const did = Identifier.encode(genesisBytes, didComponents);
|
|
33
33
|
// Construct a new CompressedSecp256k1PublicKey and deconstruct the publicKey and publicKeyMultibase
|
|
34
34
|
const { multibase: publicKeyMultibase } = new CompressedSecp256k1PublicKey(genesisBytes);
|
|
35
35
|
// Generate the service field for the DID Document
|
|
@@ -60,14 +60,13 @@ export class Resolve {
|
|
|
60
60
|
static async external(didComponents, genesisDocument) {
|
|
61
61
|
// Canonicalize and sha256 hash the currentDocument
|
|
62
62
|
const hashBytes = Canonicalization.process(genesisDocument, { encoding: 'hex' });
|
|
63
|
-
|
|
64
|
-
const genesisBytes = bytesToHex(didComponents.genesisBytes);
|
|
63
|
+
const { genesisBytes } = didComponents;
|
|
65
64
|
// If the genesisBytes do not match the hashBytes, throw an error
|
|
66
|
-
if (genesisBytes !== hashBytes) {
|
|
67
|
-
throw new ResolveError(`Initial document mismatch: genesisBytes ${genesisBytes} !== hashBytes ${hashBytes}`, INVALID_DID_DOCUMENT, { genesisBytes, hashBytes });
|
|
65
|
+
if (bytesToHex(genesisBytes) !== hashBytes) {
|
|
66
|
+
throw new ResolveError(`Initial document mismatch: genesisBytes ${bytesToHex(genesisBytes)} !== hashBytes ${hashBytes}`, INVALID_DID_DOCUMENT, { genesisBytes, hashBytes });
|
|
68
67
|
}
|
|
69
68
|
// Encode the did from the didComponents
|
|
70
|
-
const did = Identifier.encode(didComponents);
|
|
69
|
+
const did = Identifier.encode(genesisBytes, didComponents);
|
|
71
70
|
// Replace the placeholder did with the did throughout the currentDocument.
|
|
72
71
|
const currentDocument = JSON.parse(JSON.stringify(genesisDocument).replaceAll(ID_PLACEHOLDER_VALUE, did));
|
|
73
72
|
// Return a W3C conformant DID Document
|
|
@@ -134,12 +133,12 @@ export class Resolve {
|
|
|
134
133
|
* Signal Bytes (last output in OP_RETURN transaction).
|
|
135
134
|
* @param {Array<BeaconService>} beaconServices The array of BeaconService objects to search for signals.
|
|
136
135
|
* @param {SidecarData} sidecarData The sidecar data containing maps of updates, CAS announcements, and SMT proofs.
|
|
137
|
-
* @param {
|
|
136
|
+
* @param {BitcoinConnection} bitcoin The bitcoin network connection used to fetch beacon signals
|
|
138
137
|
* @returns {Promise<Array<[SignedBTCR2Update, BlockMetadata]>>} The array of BTCR2 Signed Updates announced by the Beacon Signals.
|
|
139
138
|
*/
|
|
140
139
|
static async beaconSignals(beaconServices, sidecarData, bitcoin) {
|
|
141
140
|
// Discover Beacon Signals via indexer server (esplora/electrs) or full node
|
|
142
|
-
const beaconServicesSignals = bitcoin.
|
|
141
|
+
const beaconServicesSignals = bitcoin.rest
|
|
143
142
|
? await BeaconSignalDiscovery.indexer(beaconServices, bitcoin)
|
|
144
143
|
: await BeaconSignalDiscovery.fullnode(beaconServices, bitcoin);
|
|
145
144
|
// Process each beacon's signals in parallel
|
|
@@ -180,7 +179,7 @@ export class Resolve {
|
|
|
180
179
|
// Iterate over each (update block) pair
|
|
181
180
|
for (const [update, block] of updates) {
|
|
182
181
|
// Get the hash of the current document
|
|
183
|
-
const currentDocumentHash = Canonicalization.process(response.didDocument, { encoding: '
|
|
182
|
+
const currentDocumentHash = Canonicalization.process(response.didDocument, { encoding: 'base58btc' });
|
|
184
183
|
// Safely convert block.time to timestamp
|
|
185
184
|
const blocktime = DateUtils.blocktimeToTimestamp(block.time);
|
|
186
185
|
// Set the updated field to the blocktime of the current update
|
|
@@ -212,7 +211,7 @@ export class Resolve {
|
|
|
212
211
|
// Create unsigned_update by removing the proof property from update.
|
|
213
212
|
const unsignedUpdate = JSONUtils.deleteKeys(update, ['proof']);
|
|
214
213
|
// Push the canonicalized unsigned update hash to the updateHashHistory
|
|
215
|
-
updateHashHistory.push(Canonicalization.process(unsignedUpdate, { encoding: '
|
|
214
|
+
updateHashHistory.push(Canonicalization.process(unsignedUpdate, { encoding: 'base58btc' }));
|
|
216
215
|
}
|
|
217
216
|
// If update.targetVersionId > currentVersionId + 1, throw LATE_PUBLISHING error
|
|
218
217
|
else if (update.targetVersionId > currentVersionId + 1) {
|
|
@@ -310,13 +309,13 @@ export class Resolve {
|
|
|
310
309
|
// Verify that updatedDocument is conformant to DID Core v1.1.
|
|
311
310
|
DidDocument.validate(updatedDocument);
|
|
312
311
|
// Canonicalize and hash the updatedDocument to get the currentDocumentHash.
|
|
313
|
-
const currentDocumentHash = Canonicalization.process(updatedDocument, { encoding: '
|
|
312
|
+
const currentDocumentHash = Canonicalization.process(updatedDocument, { encoding: 'base58btc' });
|
|
314
313
|
// Prepare the update targetHash for comparison with currentDocumentHash.
|
|
315
|
-
const updateTargetHash = update.targetHash
|
|
314
|
+
const updateTargetHash = update.targetHash;
|
|
316
315
|
// Make sure the update.targetHash equals currentDocumentHash.
|
|
317
|
-
if (
|
|
316
|
+
if (update.targetHash !== currentDocumentHash) {
|
|
318
317
|
// If they do not match, throw INVALID_DID_UPDATE error.
|
|
319
|
-
throw new ResolveError(`Invalid update:
|
|
318
|
+
throw new ResolveError(`Invalid update: update.targetHash !== currentDocumentHash`, INVALID_DID_UPDATE, { updateTargetHash, currentDocumentHash });
|
|
320
319
|
}
|
|
321
320
|
// Return final updatedDocument.
|
|
322
321
|
return updatedDocument;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../../src/core/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EACX,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,WAAW,EACX,oBAAoB,EACpB,kBAAkB,EAClB,SAAS,EACT,SAAS,EACT,qBAAqB,EACrB,mBAAmB,EACnB,YAAY,EACb,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,eAAe,EAGhB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAiB,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAiB5D;;;;;;;;GAQG;AACH,MAAM,OAAO,OAAO;IAClB;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,aAA4B;QAC/C,
|
|
1
|
+
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../../src/core/resolve.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/core/update.js
CHANGED
|
@@ -37,7 +37,7 @@ export class Update {
|
|
|
37
37
|
patch: patches,
|
|
38
38
|
targetHash: '',
|
|
39
39
|
targetVersionId: sourceVersionId + 1,
|
|
40
|
-
sourceHash: Canonicalization.process(sourceDocument, { encoding: '
|
|
40
|
+
sourceHash: Canonicalization.process(sourceDocument, { encoding: 'base58btc' }),
|
|
41
41
|
};
|
|
42
42
|
// Apply all JSON patches to sourceDocument.
|
|
43
43
|
const targetDocument = JSONPatch.apply(sourceDocument, patches);
|
|
@@ -50,7 +50,7 @@ export class Update {
|
|
|
50
50
|
throw new UpdateError('Error validating targetDocument: ' + (error instanceof Error ? error.message : String(error)), INVALID_DID_UPDATE, targetDocument);
|
|
51
51
|
}
|
|
52
52
|
// Set the targetHash by canonicalizing the targetDocument and encoding it in base58.
|
|
53
|
-
unsignedUpdate.targetHash = Canonicalization.process(targetDocument, { encoding: '
|
|
53
|
+
unsignedUpdate.targetHash = Canonicalization.process(targetDocument, { encoding: 'base58btc' });
|
|
54
54
|
// Return unsignedUpdate.
|
|
55
55
|
return unsignedUpdate;
|
|
56
56
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/core/update.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,SAAS,EAGT,WAAW,EACZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAEL,eAAe,EAGhB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAoB,WAAW,EAAyB,MAAM,0BAA0B,CAAC;AAChG,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,MAAM;IACjB;;;;;;;;;OASG;IACH,MAAM,CAAC,KAAK,CAAC,SAAS,CACpB,cAAgC,EAChC,OAAyB,EACzB,eAAuB;QAEvB,0DAA0D;QAC1D,MAAM,cAAc,GAAwB;YAC1C,UAAU,EAAQ;gBAChB,8BAA8B;gBAC9B,0BAA0B;gBAC1B,mCAAmC;gBACnC,8BAA8B;aAC/B;YACD,KAAK,EAAa,OAAO;YACzB,UAAU,EAAQ,EAAE;YACpB,eAAe,EAAG,eAAe,GAAG,CAAC;YACrC,UAAU,EAAQ,gBAAgB,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/core/update.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/did-btcr2.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { IdentifierHrp, INVALID_DID_DOCUMENT, INVALID_DID_UPDATE, METHOD_NOT_SUPPORTED, MethodError, MISSING_UPDATE_DATA, ResolveError, UpdateError } from '@did-btcr2/common';
|
|
1
|
+
import { IdentifierHrp, INVALID_DID_DOCUMENT, INVALID_DID_UPDATE, METHOD_NOT_SUPPORTED, MethodError, MISSING_RESOLUTION_OPTIONS, MISSING_UPDATE_DATA, ResolveError, UpdateError } from '@did-btcr2/common';
|
|
3
2
|
import { Did, DidError, DidErrorCode, EMPTY_DID_RESOLUTION_RESULT } from '@web5/dids';
|
|
4
3
|
import { initEccLib } from 'bitcoinjs-lib';
|
|
5
4
|
import * as tinysecp from 'tiny-secp256k1';
|
|
@@ -52,7 +51,7 @@ export class DidBtcr2 {
|
|
|
52
51
|
throw new MethodError('idType is required for creating a did:btcr2 identifier', INVALID_DID_DOCUMENT, options);
|
|
53
52
|
}
|
|
54
53
|
// Call identifier encoding algorithm
|
|
55
|
-
return Identifier.encode({ idType,
|
|
54
|
+
return Identifier.encode(genesisBytes, { idType, version, network });
|
|
56
55
|
}
|
|
57
56
|
/**
|
|
58
57
|
* Entry point for section {@link https://dcdpr.github.io/did-btcr2/operations/resolve.html | 7.2 Resolve}.
|
|
@@ -111,12 +110,8 @@ export class DidBtcr2 {
|
|
|
111
110
|
.map(BeaconUtils.parseBeaconServiceEndpoint);
|
|
112
111
|
// Check if bitcoin driver provided
|
|
113
112
|
if (!resolutionOptions?.drivers?.bitcoin) {
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
// Set bitcoin driver to default BitcoinNetworkConnection
|
|
117
|
-
resolutionOptions.drivers.bitcoin = new BitcoinNetworkConnection();
|
|
118
|
-
// Set the network based on the decoded identifier
|
|
119
|
-
resolutionOptions.drivers.bitcoin.setActiveNetwork(didComponents.network);
|
|
113
|
+
throw new ResolveError('Bitcoin connection required for resolve. Pass a configured driver via '
|
|
114
|
+
+ 'resolutionOptions.drivers.bitcoin or use DidBtcr2Api which injects it automatically.', MISSING_RESOLUTION_OPTIONS, resolutionOptions);
|
|
120
115
|
}
|
|
121
116
|
// Get the bitcoin driver from the resolution options
|
|
122
117
|
const bitcoin = resolutionOptions.drivers.bitcoin;
|
|
@@ -141,10 +136,9 @@ export class DidBtcr2 {
|
|
|
141
136
|
return didResolutionResult;
|
|
142
137
|
}
|
|
143
138
|
catch (error) {
|
|
144
|
-
console.error(error);
|
|
145
139
|
// Rethrow any unexpected errors that are not a `ResolveError`.
|
|
146
140
|
if (!(error instanceof ResolveError))
|
|
147
|
-
throw new Error(error);
|
|
141
|
+
throw new Error(error.message ?? error, { cause: error });
|
|
148
142
|
// Return a DID Resolution Result with the appropriate error code.
|
|
149
143
|
return {
|
|
150
144
|
...EMPTY_DID_RESOLUTION_RESULT,
|
|
@@ -170,7 +164,7 @@ export class DidBtcr2 {
|
|
|
170
164
|
* @param {string} params.verificationMethodId The verificationMethod ID to sign the update with.
|
|
171
165
|
* @param {string} params.beaconId The beacon ID associated with the update.
|
|
172
166
|
* @param {KeyBytes | HexString} [params.signingMaterial] Optional signing material (key bytes or hex string).
|
|
173
|
-
* @param {
|
|
167
|
+
* @param {BitcoinConnection} [params.bitcoin] Optional Bitcoin network connection for announcing the update. If not provided, a default connection will be initialized.
|
|
174
168
|
* @return {Promise<SignedBTCR2Update>} Promise resolving to the signed BTCR2 update.
|
|
175
169
|
* @throws {UpdateError} if no verificationMethod, verificationMethod type is not `Multikey` or the publicKeyMultibase
|
|
176
170
|
* header is not `zQ3s`
|
|
@@ -216,8 +210,11 @@ export class DidBtcr2 {
|
|
|
216
210
|
if (!beaconService) {
|
|
217
211
|
throw new UpdateError('No beacon service found for provided beaconId', INVALID_DID_UPDATE, { sourceDocument, beaconId });
|
|
218
212
|
}
|
|
219
|
-
//
|
|
220
|
-
|
|
213
|
+
// Require an explicit bitcoin connection — no silent env-var fallback
|
|
214
|
+
if (!bitcoin) {
|
|
215
|
+
throw new UpdateError('Bitcoin connection required for update. Pass a configured `bitcoin` parameter '
|
|
216
|
+
+ 'or use DidBtcr2Api which injects it automatically.', INVALID_DID_UPDATE, { beaconId });
|
|
217
|
+
}
|
|
221
218
|
// Announce the signed update to the blockchain using the specified beacon(s)
|
|
222
219
|
await Update.announce(beaconService, signed, secretKey, bitcoin);
|
|
223
220
|
// Return signed update if announced successfully
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"did-btcr2.js","sourceRoot":"","sources":["../../src/did-btcr2.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"did-btcr2.js","sourceRoot":"","sources":["../../src/did-btcr2.ts"],"names":[],"mappings":"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"}
|