@bsv/sdk 1.9.1 → 1.9.2

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.
@@ -2,8 +2,9 @@ import { WalletClient } from '../wallet/index.js';
2
2
  import { Utils } from '../primitives/index.js';
3
3
  import { Transaction } from '../transaction/index.js';
4
4
  import { LookupResolver, TopicBroadcaster } from '../overlay-tools/index.js';
5
- import { PushDrop, LockingScript } from '../script/index.js';
5
+ import { PushDrop } from '../script/index.js';
6
6
  const REGISTRANT_TOKEN_AMOUNT = 1;
7
+ const REGISTRANT_KEY_ID = '1';
7
8
  /**
8
9
  * RegistryClient manages on-chain registry definitions for three types:
9
10
  * - basket (basket-based items)
@@ -14,7 +15,8 @@ const REGISTRANT_TOKEN_AMOUNT = 1;
14
15
  * - Register new definitions using pushdrop-based UTXOs.
15
16
  * - Resolve existing definitions using a lookup service.
16
17
  * - List registry entries associated with the operator's wallet.
17
- * - Revoke an existing registry entry by spending its UTXO.
18
+ * - Remove existing registry entries by spending their UTXOs.
19
+ * - Update existing registry entries.
18
20
  *
19
21
  * Registry operators use this client to establish and manage
20
22
  * canonical references for baskets, protocols, and certificate types.
@@ -22,8 +24,33 @@ const REGISTRANT_TOKEN_AMOUNT = 1;
22
24
  export class RegistryClient {
23
25
  wallet;
24
26
  network;
25
- constructor(wallet = new WalletClient()) {
27
+ resolver;
28
+ cachedIdentityKey;
29
+ acceptDelayedBroadcast;
30
+ constructor(wallet = new WalletClient(), options = {}) {
26
31
  this.wallet = wallet;
32
+ this.acceptDelayedBroadcast = options.acceptDelayedBroadcast ?? false;
33
+ this.resolver = options.resolver ?? new LookupResolver();
34
+ }
35
+ /**
36
+ * Gets the wallet's identity key, caching it after the first call.
37
+ * @returns The public identity key as a hex string.
38
+ */
39
+ async getIdentityKey() {
40
+ if (this.cachedIdentityKey === undefined) {
41
+ this.cachedIdentityKey = (await this.wallet.getPublicKey({ identityKey: true })).publicKey;
42
+ }
43
+ return this.cachedIdentityKey;
44
+ }
45
+ /**
46
+ * Gets the network, initializing and caching it on first call.
47
+ * @returns The network type ('mainnet' or 'testnet').
48
+ */
49
+ async getNetwork() {
50
+ if (this.network === undefined) {
51
+ this.network = (await this.wallet.getNetwork({})).network;
52
+ }
53
+ return this.network;
27
54
  }
28
55
  /**
29
56
  * Publishes a new on-chain definition for baskets, protocols, or certificates.
@@ -36,14 +63,14 @@ export class RegistryClient {
36
63
  * @returns A promise with the broadcast result or failure.
37
64
  */
38
65
  async registerDefinition(data) {
39
- const registryOperator = (await this.wallet.getPublicKey({ identityKey: true })).publicKey;
66
+ const registryOperator = await this.getIdentityKey();
40
67
  const pushdrop = new PushDrop(this.wallet);
41
68
  // Convert definition data into PushDrop fields
42
69
  const fields = this.buildPushDropFields(data, registryOperator);
43
70
  // Convert the user-friendly definitionType to the actual wallet protocol
44
71
  const protocol = this.mapDefinitionTypeToWalletProtocol(data.definitionType);
45
72
  // Lock the fields into a pushdrop-based UTXO
46
- const lockingScript = await pushdrop.lock(fields, protocol, '1', 'anyone', true);
73
+ const lockingScript = await pushdrop.lock(fields, protocol, REGISTRANT_KEY_ID, 'anyone', true);
47
74
  // Create a transaction
48
75
  const { tx } = await this.wallet.createAction({
49
76
  description: `Register a new ${data.definitionType} item`,
@@ -56,6 +83,7 @@ export class RegistryClient {
56
83
  }
57
84
  ],
58
85
  options: {
86
+ acceptDelayedBroadcast: this.acceptDelayedBroadcast,
59
87
  randomizeOutputs: false
60
88
  }
61
89
  });
@@ -64,9 +92,11 @@ export class RegistryClient {
64
92
  }
65
93
  // Broadcast to the relevant topic
66
94
  const broadcaster = new TopicBroadcaster([this.mapDefinitionTypeToTopic(data.definitionType)], {
67
- networkPreset: this.network ??= (await this.wallet.getNetwork({})).network
95
+ networkPreset: await this.getNetwork(),
96
+ resolver: this.resolver
68
97
  });
69
- return await broadcaster.broadcast(Transaction.fromAtomicBEEF(tx));
98
+ const result = await broadcaster.broadcast(Transaction.fromAtomicBEEF(tx));
99
+ return result;
70
100
  }
71
101
  /**
72
102
  * Resolves registrant tokens of a particular type using a lookup service.
@@ -84,10 +114,9 @@ export class RegistryClient {
84
114
  * @returns A promise that resolves to an array of matching registry records.
85
115
  */
86
116
  async resolve(definitionType, query) {
87
- const resolver = new LookupResolver();
88
117
  const serviceName = this.mapDefinitionTypeToServiceName(definitionType);
89
118
  // Make the lookup query
90
- const result = await resolver.query({ service: serviceName, query });
119
+ const result = await this.resolver.query({ service: serviceName, query });
91
120
  if (result.type !== 'output-list') {
92
121
  return [];
93
122
  }
@@ -126,8 +155,8 @@ export class RegistryClient {
126
155
  }
127
156
  try {
128
157
  const [txid, outputIndex] = output.outpoint.split('.');
129
- const tx = Transaction.fromBEEF(BEEF);
130
- const lockingScript = tx.outputs[outputIndex].lockingScript;
158
+ const tx = Transaction.fromBEEF(BEEF, txid);
159
+ const lockingScript = tx.outputs[Number(outputIndex)].lockingScript;
131
160
  const record = await this.parseLockingScript(definitionType, lockingScript);
132
161
  results.push({
133
162
  ...record,
@@ -145,21 +174,21 @@ export class RegistryClient {
145
174
  return results;
146
175
  }
147
176
  /**
148
- * Revokes a registry record by spending its associated UTXO.
177
+ * Removes a registry definition by spending its associated UTXO.
149
178
  *
150
- * @param registryRecord - Must have valid txid, outputIndex, and lockingScript.
179
+ * @param registryRecord - The registry record to remove (must have valid txid, outputIndex, and lockingScript).
151
180
  * @returns Broadcast success/failure.
152
181
  */
153
- async revokeOwnRegistryEntry(registryRecord) {
182
+ async removeDefinition(registryRecord) {
154
183
  if (registryRecord.txid === undefined || typeof registryRecord.outputIndex === 'undefined' || registryRecord.lockingScript === undefined) {
155
184
  throw new Error('Invalid registry record. Missing txid, outputIndex, or lockingScript.');
156
185
  }
157
186
  // Check if the registry record belongs to the current user
158
- const currentIdentityKey = (await this.wallet.getPublicKey({ identityKey: true })).publicKey;
187
+ const currentIdentityKey = await this.getIdentityKey();
159
188
  if (registryRecord.registryOperator !== currentIdentityKey) {
160
189
  throw new Error('This registry token does not belong to the current wallet.');
161
190
  }
162
- // Create a descriptive label for the item were revoking
191
+ // Create a descriptive label for the item we're removing
163
192
  const itemIdentifier = registryRecord.definitionType === 'basket'
164
193
  ? registryRecord.basketID
165
194
  : registryRecord.definitionType === 'protocol'
@@ -169,35 +198,127 @@ export class RegistryClient {
169
198
  : 'unknown';
170
199
  const outpoint = `${registryRecord.txid}.${registryRecord.outputIndex}`;
171
200
  const { signableTransaction } = await this.wallet.createAction({
172
- description: `Revoke ${registryRecord.definitionType} item: ${itemIdentifier}`,
201
+ description: `Remove ${registryRecord.definitionType} item: ${itemIdentifier}`,
173
202
  inputBEEF: registryRecord.beef,
174
203
  inputs: [
175
204
  {
176
205
  outpoint,
177
- unlockingScriptLength: 73,
178
- inputDescription: `Revoking ${registryRecord.definitionType} token`
206
+ unlockingScriptLength: 74,
207
+ inputDescription: `Removing ${registryRecord.definitionType} token`
179
208
  }
180
- ]
209
+ ],
210
+ options: {
211
+ acceptDelayedBroadcast: this.acceptDelayedBroadcast,
212
+ randomizeOutputs: false
213
+ }
181
214
  });
182
215
  if (signableTransaction === undefined) {
183
216
  throw new Error('Failed to create signable transaction.');
184
217
  }
185
- const partialTx = Transaction.fromBEEF(signableTransaction.tx);
218
+ const partialTx = Transaction.fromAtomicBEEF(signableTransaction.tx);
186
219
  // Prepare the unlocker
187
220
  const pushdrop = new PushDrop(this.wallet);
188
- const unlocker = await pushdrop.unlock(this.mapDefinitionTypeToWalletProtocol(registryRecord.definitionType), '1', 'anyone', 'all', false, registryRecord.satoshis, LockingScript.fromHex(registryRecord.lockingScript));
221
+ const unlocker = pushdrop.unlock(this.mapDefinitionTypeToWalletProtocol(registryRecord.definitionType), REGISTRANT_KEY_ID, 'anyone');
189
222
  // Convert to Transaction, apply signature
190
- const finalUnlockScript = await unlocker.sign(partialTx, registryRecord.outputIndex);
223
+ const finalUnlockScript = await unlocker.sign(partialTx, 0);
224
+ // Complete signing with the final unlock script
225
+ const { tx: signedTx } = await this.wallet.signAction({
226
+ reference: signableTransaction.reference,
227
+ spends: {
228
+ 0: {
229
+ unlockingScript: finalUnlockScript.toHex()
230
+ }
231
+ },
232
+ options: {
233
+ acceptDelayedBroadcast: this.acceptDelayedBroadcast
234
+ }
235
+ });
236
+ if (signedTx === undefined) {
237
+ throw new Error('Failed to finalize the transaction signature.');
238
+ }
239
+ // Broadcast
240
+ const broadcaster = new TopicBroadcaster([this.mapDefinitionTypeToTopic(registryRecord.definitionType)], {
241
+ networkPreset: await this.getNetwork(),
242
+ resolver: this.resolver
243
+ });
244
+ const result = await broadcaster.broadcast(Transaction.fromAtomicBEEF(signedTx));
245
+ return result;
246
+ }
247
+ /**
248
+ * Updates an existing registry record by spending its UTXO and creating a new one with updated data.
249
+ *
250
+ * @param registryRecord - The existing registry record to update (must have valid txid, outputIndex, and lockingScript).
251
+ * @param updatedData - The new definition data to replace the old record.
252
+ * @returns Broadcast success/failure.
253
+ */
254
+ async updateDefinition(registryRecord, updatedData) {
255
+ if (registryRecord.txid === undefined || typeof registryRecord.outputIndex === 'undefined' || registryRecord.lockingScript === undefined) {
256
+ throw new Error('Invalid registry record. Missing txid, outputIndex, or lockingScript.');
257
+ }
258
+ // Verify the updated data matches the record type
259
+ if (registryRecord.definitionType !== updatedData.definitionType) {
260
+ throw new Error(`Cannot change definition type from ${registryRecord.definitionType} to ${updatedData.definitionType}`);
261
+ }
262
+ // Check if the registry record belongs to the current user
263
+ const currentIdentityKey = await this.getIdentityKey();
264
+ if (registryRecord.registryOperator !== currentIdentityKey) {
265
+ throw new Error('This registry token does not belong to the current wallet.');
266
+ }
267
+ // Create a descriptive label for the item we're updating
268
+ const itemIdentifier = registryRecord.definitionType === 'basket'
269
+ ? registryRecord.basketID
270
+ : registryRecord.definitionType === 'protocol'
271
+ ? registryRecord.name
272
+ : registryRecord.definitionType === 'certificate'
273
+ ? (registryRecord.name !== undefined ? registryRecord.name : registryRecord.type)
274
+ : 'unknown';
275
+ const pushdrop = new PushDrop(this.wallet);
276
+ // Build the new locking script with updated data
277
+ const fields = this.buildPushDropFields(updatedData, currentIdentityKey);
278
+ const protocol = this.mapDefinitionTypeToWalletProtocol(updatedData.definitionType);
279
+ const newLockingScript = await pushdrop.lock(fields, protocol, REGISTRANT_KEY_ID, 'anyone', true);
280
+ const outpoint = `${registryRecord.txid}.${registryRecord.outputIndex}`;
281
+ const { signableTransaction } = await this.wallet.createAction({
282
+ description: `Update ${registryRecord.definitionType} item: ${itemIdentifier}`,
283
+ inputBEEF: registryRecord.beef,
284
+ inputs: [
285
+ {
286
+ outpoint,
287
+ unlockingScriptLength: 74,
288
+ inputDescription: `Updating ${registryRecord.definitionType} token`
289
+ }
290
+ ],
291
+ outputs: [
292
+ {
293
+ satoshis: REGISTRANT_TOKEN_AMOUNT,
294
+ lockingScript: newLockingScript.toHex(),
295
+ outputDescription: `Updated ${registryRecord.definitionType} registration token`,
296
+ basket: this.mapDefinitionTypeToBasketName(registryRecord.definitionType)
297
+ }
298
+ ],
299
+ options: {
300
+ acceptDelayedBroadcast: this.acceptDelayedBroadcast,
301
+ randomizeOutputs: false
302
+ }
303
+ });
304
+ if (signableTransaction === undefined) {
305
+ throw new Error('Failed to create signable transaction.');
306
+ }
307
+ const partialTx = Transaction.fromAtomicBEEF(signableTransaction.tx);
308
+ // Prepare the unlocker for the input
309
+ const unlocker = pushdrop.unlock(this.mapDefinitionTypeToWalletProtocol(registryRecord.definitionType), REGISTRANT_KEY_ID, 'anyone');
310
+ // Sign the input
311
+ const finalUnlockScript = await unlocker.sign(partialTx, 0);
191
312
  // Complete signing with the final unlock script
192
313
  const { tx: signedTx } = await this.wallet.signAction({
193
314
  reference: signableTransaction.reference,
194
315
  spends: {
195
- [registryRecord.outputIndex]: {
316
+ 0: {
196
317
  unlockingScript: finalUnlockScript.toHex()
197
318
  }
198
319
  },
199
320
  options: {
200
- acceptDelayedBroadcast: false
321
+ acceptDelayedBroadcast: this.acceptDelayedBroadcast
201
322
  }
202
323
  });
203
324
  if (signedTx === undefined) {
@@ -205,7 +326,8 @@ export class RegistryClient {
205
326
  }
206
327
  // Broadcast
207
328
  const broadcaster = new TopicBroadcaster([this.mapDefinitionTypeToTopic(registryRecord.definitionType)], {
208
- networkPreset: this.network ??= (await this.wallet.getNetwork({})).network
329
+ networkPreset: await this.getNetwork(),
330
+ resolver: this.resolver
209
331
  });
210
332
  return await broadcaster.broadcast(Transaction.fromAtomicBEEF(signedTx));
211
333
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RegistryClient.js","sourceRoot":"","sources":["../../../../src/registry/RegistryClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RegistryClient.js","sourceRoot":"","sources":["../../../../src/registry/RegistryClient.ts"],"names":[],"mappings":"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"}