@bsv/sdk 1.4.2 → 1.4.4
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/cjs/package.json +1 -1
- package/dist/cjs/src/overlay-tools/SHIPBroadcaster.js +1 -1
- package/dist/cjs/src/overlay-tools/SHIPBroadcaster.js.map +1 -1
- package/dist/cjs/src/registry/RegistryClient.js +112 -89
- package/dist/cjs/src/registry/RegistryClient.js.map +1 -1
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/esm/src/overlay-tools/SHIPBroadcaster.js +1 -1
- package/dist/esm/src/overlay-tools/SHIPBroadcaster.js.map +1 -1
- package/dist/esm/src/registry/RegistryClient.js +110 -88
- package/dist/esm/src/registry/RegistryClient.js.map +1 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/types/src/registry/RegistryClient.d.ts +24 -24
- package/dist/types/src/registry/RegistryClient.d.ts.map +1 -1
- package/dist/types/src/registry/types/index.d.ts +46 -19
- package/dist/types/src/registry/types/index.d.ts.map +1 -1
- package/dist/types/tsconfig.types.tsbuildinfo +1 -1
- package/dist/umd/bundle.js +1 -1
- package/package.json +1 -1
- package/src/overlay-tools/SHIPBroadcaster.ts +1 -1
- package/src/registry/RegistryClient.ts +142 -114
- package/src/registry/__tests/RegistryClient.test.ts +136 -100
- package/src/registry/types/index.ts +50 -20
package/dist/cjs/package.json
CHANGED
|
@@ -11,7 +11,7 @@ const MAX_SHIP_QUERY_TIMEOUT = 1000;
|
|
|
11
11
|
class HTTPSOverlayBroadcastFacilitator {
|
|
12
12
|
constructor(httpClient = fetch, allowHTTP = false) {
|
|
13
13
|
this.httpClient = httpClient;
|
|
14
|
-
this.allowHTTP =
|
|
14
|
+
this.allowHTTP = allowHTTP;
|
|
15
15
|
}
|
|
16
16
|
async send(url, taggedBEEF) {
|
|
17
17
|
if (!url.startsWith('https:') && !this.allowHTTP) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SHIPBroadcaster.js","sourceRoot":"","sources":["../../../../src/overlay-tools/SHIPBroadcaster.ts"],"names":[],"mappings":";;;;;;AAAA,sDAKgC;AAChC,4EAAgD;AAChD,kGAAsE;AAqEtE,MAAM,sBAAsB,GAAG,IAAI,CAAA;AAEnC,MAAa,gCAAgC;IAI3C,YAAa,UAAU,GAAG,KAAK,EAAE,YAAqB,KAAK;QACzD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,SAAS,GAAG,
|
|
1
|
+
{"version":3,"file":"SHIPBroadcaster.js","sourceRoot":"","sources":["../../../../src/overlay-tools/SHIPBroadcaster.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.RegistryClient = void 0;
|
|
3
|
+
exports.deserializeWalletProtocol = exports.RegistryClient = void 0;
|
|
4
4
|
const index_js_1 = require("../wallet/index.js");
|
|
5
5
|
const index_js_2 = require("../primitives/index.js");
|
|
6
6
|
const index_js_3 = require("../transaction/index.js");
|
|
@@ -9,18 +9,18 @@ const index_js_5 = require("../script/index.js");
|
|
|
9
9
|
const REGISTRANT_TOKEN_AMOUNT = 1;
|
|
10
10
|
/**
|
|
11
11
|
* RegistryClient manages on-chain registry definitions for three types:
|
|
12
|
-
* -
|
|
13
|
-
* -
|
|
14
|
-
* -
|
|
12
|
+
* - basket (basket-based items)
|
|
13
|
+
* - protocol (protocol-based items)
|
|
14
|
+
* - certificate (certificate-based items)
|
|
15
15
|
*
|
|
16
16
|
* It provides methods to:
|
|
17
17
|
* - Register new definitions using pushdrop-based UTXOs.
|
|
18
|
-
* - Resolve existing definitions using a
|
|
18
|
+
* - Resolve existing definitions using a lookup service.
|
|
19
19
|
* - List registry entries associated with the operator's wallet.
|
|
20
20
|
* - Revoke an existing registry entry by spending its UTXO.
|
|
21
21
|
*
|
|
22
22
|
* Registry operators use this client to establish and manage
|
|
23
|
-
* canonical references for baskets, protocols, and
|
|
23
|
+
* canonical references for baskets, protocols, and certificate types.
|
|
24
24
|
*/
|
|
25
25
|
class RegistryClient {
|
|
26
26
|
constructor(wallet = new index_js_1.WalletClient()) {
|
|
@@ -33,18 +33,19 @@ class RegistryClient {
|
|
|
33
33
|
* Registry operators (i.e., identity key owners) can create these definitions
|
|
34
34
|
* to establish canonical references for basket IDs, protocol specs, or certificate schemas.
|
|
35
35
|
*
|
|
36
|
-
* @param data -
|
|
36
|
+
* @param data - Structured information about a 'basket', 'protocol', or 'certificate'.
|
|
37
37
|
* @returns A promise with the broadcast result or failure.
|
|
38
38
|
*/
|
|
39
39
|
async registerDefinition(data) {
|
|
40
40
|
var _a;
|
|
41
41
|
const registryOperator = (await this.wallet.getPublicKey({ identityKey: true })).publicKey;
|
|
42
42
|
const pushdrop = new index_js_5.PushDrop(this.wallet);
|
|
43
|
-
//
|
|
43
|
+
// Convert definition data into PushDrop fields
|
|
44
44
|
const fields = this.buildPushDropFields(data, registryOperator);
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
45
|
+
// Convert the user-friendly definitionType to the actual wallet protocol
|
|
46
|
+
const protocol = this.mapDefinitionTypeToWalletProtocol(data.definitionType);
|
|
47
|
+
// Lock the fields into a pushdrop-based UTXO
|
|
48
|
+
const lockingScript = await pushdrop.lock(fields, protocol, '1', 'anyone', true);
|
|
48
49
|
// Create a transaction
|
|
49
50
|
const { tx } = await this.wallet.createAction({
|
|
50
51
|
description: `Register a new ${data.definitionType} item`,
|
|
@@ -52,16 +53,20 @@ class RegistryClient {
|
|
|
52
53
|
{
|
|
53
54
|
satoshis: REGISTRANT_TOKEN_AMOUNT,
|
|
54
55
|
lockingScript: lockingScript.toHex(),
|
|
55
|
-
outputDescription: `New ${data.definitionType} registration token
|
|
56
|
+
outputDescription: `New ${data.definitionType} registration token`,
|
|
57
|
+
basket: this.mapDefinitionTypeToBasketName(data.definitionType)
|
|
56
58
|
}
|
|
57
|
-
]
|
|
59
|
+
],
|
|
60
|
+
options: {
|
|
61
|
+
randomizeOutputs: false
|
|
62
|
+
}
|
|
58
63
|
});
|
|
59
64
|
if (tx === undefined) {
|
|
60
65
|
throw new Error(`Failed to create ${data.definitionType} registration transaction!`);
|
|
61
66
|
}
|
|
62
|
-
// Broadcast
|
|
63
|
-
const broadcaster = new index_js_4.TopicBroadcaster([this.
|
|
64
|
-
networkPreset: (_a = this.network) !== null && _a !== void 0 ? _a : (this.network = (await
|
|
67
|
+
// Broadcast to the relevant topic
|
|
68
|
+
const broadcaster = new index_js_4.TopicBroadcaster([this.mapDefinitionTypeToTopic(data.definitionType)], {
|
|
69
|
+
networkPreset: (_a = this.network) !== null && _a !== void 0 ? _a : (this.network = (await this.wallet.getNetwork({})).network)
|
|
65
70
|
});
|
|
66
71
|
return await broadcaster.broadcast(index_js_3.Transaction.fromAtomicBEEF(tx));
|
|
67
72
|
}
|
|
@@ -72,7 +77,7 @@ class RegistryClient {
|
|
|
72
77
|
* - For "basket", the query is of type BasketMapQuery:
|
|
73
78
|
* { basketID?: string; name?: string; registryOperators?: string[]; }
|
|
74
79
|
* - For "protocol", the query is of type ProtoMapQuery:
|
|
75
|
-
* { name?: string; registryOperators?: string[]; protocolID?:
|
|
80
|
+
* { name?: string; registryOperators?: string[]; protocolID?: WalletProtocol; }
|
|
76
81
|
* - For "certificate", the query is of type CertMapQuery:
|
|
77
82
|
* { type?: string; name?: string; registryOperators?: string[]; }
|
|
78
83
|
*
|
|
@@ -82,24 +87,22 @@ class RegistryClient {
|
|
|
82
87
|
*/
|
|
83
88
|
async resolve(definitionType, query) {
|
|
84
89
|
const resolver = new index_js_4.LookupResolver();
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
const result = await resolver.query({
|
|
88
|
-
service: serviceName,
|
|
89
|
-
query
|
|
90
|
-
});
|
|
90
|
+
const serviceName = this.mapDefinitionTypeToServiceName(definitionType);
|
|
91
|
+
// Make the lookup query
|
|
92
|
+
const result = await resolver.query({ service: serviceName, query });
|
|
91
93
|
if (result.type !== 'output-list') {
|
|
92
94
|
return [];
|
|
93
95
|
}
|
|
94
96
|
const parsedRegistryRecords = [];
|
|
95
97
|
for (const output of result.outputs) {
|
|
96
98
|
try {
|
|
97
|
-
const parsedTx = index_js_3.Transaction.
|
|
98
|
-
const
|
|
99
|
+
const parsedTx = index_js_3.Transaction.fromBEEF(output.beef);
|
|
100
|
+
const lockingScript = parsedTx.outputs[output.outputIndex].lockingScript;
|
|
101
|
+
const record = await this.parseLockingScript(definitionType, lockingScript);
|
|
99
102
|
parsedRegistryRecords.push(record);
|
|
100
103
|
}
|
|
101
104
|
catch {
|
|
102
|
-
//
|
|
105
|
+
// Skip invalid or non-pushdrop outputs
|
|
103
106
|
}
|
|
104
107
|
}
|
|
105
108
|
return parsedRegistryRecords;
|
|
@@ -113,29 +116,32 @@ class RegistryClient {
|
|
|
113
116
|
* @returns A promise that resolves to an array of RegistryRecord objects.
|
|
114
117
|
*/
|
|
115
118
|
async listOwnRegistryEntries(definitionType) {
|
|
116
|
-
const relevantBasketName = this.
|
|
117
|
-
const { outputs } = await this.wallet.listOutputs({
|
|
119
|
+
const relevantBasketName = this.mapDefinitionTypeToBasketName(definitionType);
|
|
120
|
+
const { outputs, BEEF } = await this.wallet.listOutputs({
|
|
118
121
|
basket: relevantBasketName,
|
|
119
|
-
include: '
|
|
122
|
+
include: 'entire transactions'
|
|
120
123
|
});
|
|
121
124
|
const results = [];
|
|
122
125
|
for (const output of outputs) {
|
|
123
|
-
if (output.spendable) {
|
|
126
|
+
if (!output.spendable) {
|
|
124
127
|
continue;
|
|
125
128
|
}
|
|
126
129
|
try {
|
|
127
|
-
const record = await this.parseLockingScript(definitionType, index_js_5.LockingScript.fromHex(output.lockingScript));
|
|
128
130
|
const [txid, outputIndex] = output.outpoint.split('.');
|
|
131
|
+
const tx = index_js_3.Transaction.fromBEEF(BEEF);
|
|
132
|
+
const lockingScript = tx.outputs[outputIndex].lockingScript;
|
|
133
|
+
const record = await this.parseLockingScript(definitionType, lockingScript);
|
|
129
134
|
results.push({
|
|
130
135
|
...record,
|
|
131
136
|
txid,
|
|
132
137
|
outputIndex: Number(outputIndex),
|
|
133
138
|
satoshis: output.satoshis,
|
|
134
|
-
lockingScript:
|
|
139
|
+
lockingScript: lockingScript.toHex(),
|
|
140
|
+
beef: BEEF
|
|
135
141
|
});
|
|
136
142
|
}
|
|
137
143
|
catch {
|
|
138
|
-
//
|
|
144
|
+
// Ignore parse errors
|
|
139
145
|
}
|
|
140
146
|
}
|
|
141
147
|
return results;
|
|
@@ -143,22 +149,15 @@ class RegistryClient {
|
|
|
143
149
|
/**
|
|
144
150
|
* Revokes a registry record by spending its associated UTXO.
|
|
145
151
|
*
|
|
146
|
-
*
|
|
147
|
-
*
|
|
148
|
-
* builds a signable transaction, signs it, and then broadcasts the finalized transaction.
|
|
149
|
-
*
|
|
150
|
-
* @param registryRecord - The registry record to revoke. It must include a valid txid, outputIndex, and lockingScript.
|
|
151
|
-
* @returns A promise that resolves with either a BroadcastResponse upon success or a BroadcastFailure on error.
|
|
152
|
-
* @throws If required fields are missing or if transaction creation/signing fails.
|
|
152
|
+
* @param registryRecord - Must have valid txid, outputIndex, and lockingScript.
|
|
153
|
+
* @returns Broadcast success/failure.
|
|
153
154
|
*/
|
|
154
155
|
async revokeOwnRegistryEntry(registryRecord) {
|
|
155
156
|
var _a;
|
|
156
157
|
if (registryRecord.txid === undefined || typeof registryRecord.outputIndex === 'undefined' || registryRecord.lockingScript === undefined) {
|
|
157
|
-
throw new Error('Invalid record. Missing txid, outputIndex, or lockingScript.');
|
|
158
|
+
throw new Error('Invalid registry record. Missing txid, outputIndex, or lockingScript.');
|
|
158
159
|
}
|
|
159
|
-
//
|
|
160
|
-
const pushdrop = new index_js_5.PushDrop(this.wallet);
|
|
161
|
-
const unlocker = await pushdrop.unlock(this.getWalletProtocol(registryRecord.definitionType), '1', 'anyone');
|
|
160
|
+
// Create a descriptive label for the item we’re revoking
|
|
162
161
|
const itemIdentifier = registryRecord.definitionType === 'basket'
|
|
163
162
|
? registryRecord.basketID
|
|
164
163
|
: registryRecord.definitionType === 'protocol'
|
|
@@ -166,12 +165,10 @@ class RegistryClient {
|
|
|
166
165
|
: registryRecord.definitionType === 'certificate'
|
|
167
166
|
? (registryRecord.name !== undefined ? registryRecord.name : registryRecord.type)
|
|
168
167
|
: 'unknown';
|
|
169
|
-
const description = `Revoke ${registryRecord.definitionType} item: ${String(itemIdentifier)}`;
|
|
170
|
-
// Create a new transaction that spends the UTXO
|
|
171
168
|
const outpoint = `${registryRecord.txid}.${registryRecord.outputIndex}`;
|
|
172
169
|
const { signableTransaction } = await this.wallet.createAction({
|
|
173
|
-
|
|
174
|
-
|
|
170
|
+
description: `Revoke ${registryRecord.definitionType} item: ${itemIdentifier}`,
|
|
171
|
+
inputBEEF: registryRecord.beef,
|
|
175
172
|
inputs: [
|
|
176
173
|
{
|
|
177
174
|
outpoint,
|
|
@@ -183,30 +180,40 @@ class RegistryClient {
|
|
|
183
180
|
if (signableTransaction === undefined) {
|
|
184
181
|
throw new Error('Failed to create signable transaction.');
|
|
185
182
|
}
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
const
|
|
189
|
-
|
|
183
|
+
const partialTx = index_js_3.Transaction.fromBEEF(signableTransaction.tx);
|
|
184
|
+
// Prepare the unlocker
|
|
185
|
+
const pushdrop = new index_js_5.PushDrop(this.wallet);
|
|
186
|
+
const unlocker = await pushdrop.unlock(this.mapDefinitionTypeToWalletProtocol(registryRecord.definitionType), '1', 'anyone', 'all', false, registryRecord.satoshis, index_js_5.LockingScript.fromHex(registryRecord.lockingScript));
|
|
187
|
+
// Convert to Transaction, apply signature
|
|
188
|
+
const finalUnlockScript = await unlocker.sign(partialTx, registryRecord.outputIndex);
|
|
189
|
+
// Complete signing with the final unlock script
|
|
190
190
|
const { tx: signedTx } = await this.wallet.signAction({
|
|
191
191
|
reference: signableTransaction.reference,
|
|
192
192
|
spends: {
|
|
193
193
|
[registryRecord.outputIndex]: {
|
|
194
194
|
unlockingScript: finalUnlockScript.toHex()
|
|
195
195
|
}
|
|
196
|
+
},
|
|
197
|
+
options: {
|
|
198
|
+
acceptDelayedBroadcast: false
|
|
196
199
|
}
|
|
197
200
|
});
|
|
198
201
|
if (signedTx === undefined) {
|
|
199
202
|
throw new Error('Failed to finalize the transaction signature.');
|
|
200
203
|
}
|
|
201
204
|
// Broadcast
|
|
202
|
-
const broadcaster = new index_js_4.TopicBroadcaster([this.
|
|
203
|
-
networkPreset: (_a = this.network) !== null && _a !== void 0 ? _a : (this.network = (await
|
|
205
|
+
const broadcaster = new index_js_4.TopicBroadcaster([this.mapDefinitionTypeToTopic(registryRecord.definitionType)], {
|
|
206
|
+
networkPreset: (_a = this.network) !== null && _a !== void 0 ? _a : (this.network = (await this.wallet.getNetwork({})).network)
|
|
204
207
|
});
|
|
205
208
|
return await broadcaster.broadcast(index_js_3.Transaction.fromAtomicBEEF(signedTx));
|
|
206
209
|
}
|
|
207
210
|
// --------------------------------------------------------------------------
|
|
208
|
-
// INTERNAL
|
|
211
|
+
// INTERNAL UTILITY METHODS
|
|
209
212
|
// --------------------------------------------------------------------------
|
|
213
|
+
/**
|
|
214
|
+
* Convert definition data into an array of pushdrop fields (strings).
|
|
215
|
+
* Each definition type has a slightly different shape.
|
|
216
|
+
*/
|
|
210
217
|
buildPushDropFields(data, registryOperator) {
|
|
211
218
|
let fields;
|
|
212
219
|
switch (data.definitionType) {
|
|
@@ -221,8 +228,7 @@ class RegistryClient {
|
|
|
221
228
|
break;
|
|
222
229
|
case 'protocol':
|
|
223
230
|
fields = [
|
|
224
|
-
data.
|
|
225
|
-
data.protocolID,
|
|
231
|
+
JSON.stringify(data.protocolID),
|
|
226
232
|
data.name,
|
|
227
233
|
data.iconURL,
|
|
228
234
|
data.description,
|
|
@@ -240,14 +246,14 @@ class RegistryClient {
|
|
|
240
246
|
];
|
|
241
247
|
break;
|
|
242
248
|
default:
|
|
243
|
-
throw new Error('
|
|
249
|
+
throw new Error('Unsupported definition type');
|
|
244
250
|
}
|
|
245
|
-
// Append the
|
|
251
|
+
// Append the operator's public identity key last
|
|
246
252
|
fields.push(registryOperator);
|
|
247
253
|
return fields.map(field => index_js_2.Utils.toArray(field));
|
|
248
254
|
}
|
|
249
255
|
/**
|
|
250
|
-
* Decodes a pushdrop locking script for a given
|
|
256
|
+
* Decodes a pushdrop locking script for a given definition type,
|
|
251
257
|
* returning a typed record with the appropriate fields.
|
|
252
258
|
*/
|
|
253
259
|
async parseLockingScript(definitionType, lockingScript) {
|
|
@@ -256,15 +262,15 @@ class RegistryClient {
|
|
|
256
262
|
throw new Error('Not a valid registry pushdrop script.');
|
|
257
263
|
}
|
|
258
264
|
let registryOperator;
|
|
259
|
-
let
|
|
265
|
+
let parsedData;
|
|
260
266
|
switch (definitionType) {
|
|
261
267
|
case 'basket': {
|
|
262
|
-
if (decoded.fields.length !==
|
|
268
|
+
if (decoded.fields.length !== 7) {
|
|
263
269
|
throw new Error('Unexpected field count for basket type.');
|
|
264
270
|
}
|
|
265
271
|
const [basketID, name, iconURL, description, docURL, operator] = decoded.fields;
|
|
266
272
|
registryOperator = index_js_2.Utils.toUTF8(operator);
|
|
267
|
-
|
|
273
|
+
parsedData = {
|
|
268
274
|
definitionType: 'basket',
|
|
269
275
|
basketID: index_js_2.Utils.toUTF8(basketID),
|
|
270
276
|
name: index_js_2.Utils.toUTF8(name),
|
|
@@ -276,14 +282,13 @@ class RegistryClient {
|
|
|
276
282
|
}
|
|
277
283
|
case 'protocol': {
|
|
278
284
|
if (decoded.fields.length !== 7) {
|
|
279
|
-
throw new Error('Unexpected field count for
|
|
285
|
+
throw new Error('Unexpected field count for protocol type.');
|
|
280
286
|
}
|
|
281
|
-
const [
|
|
287
|
+
const [protocolID, name, iconURL, description, docURL, operator] = decoded.fields;
|
|
282
288
|
registryOperator = index_js_2.Utils.toUTF8(operator);
|
|
283
|
-
|
|
289
|
+
parsedData = {
|
|
284
290
|
definitionType: 'protocol',
|
|
285
|
-
|
|
286
|
-
protocolID: index_js_2.Utils.toUTF8(protocolID),
|
|
291
|
+
protocolID: deserializeWalletProtocol(index_js_2.Utils.toUTF8(protocolID)),
|
|
287
292
|
name: index_js_2.Utils.toUTF8(name),
|
|
288
293
|
iconURL: index_js_2.Utils.toUTF8(iconURL),
|
|
289
294
|
description: index_js_2.Utils.toUTF8(description),
|
|
@@ -292,19 +297,19 @@ class RegistryClient {
|
|
|
292
297
|
break;
|
|
293
298
|
}
|
|
294
299
|
case 'certificate': {
|
|
295
|
-
if (decoded.fields.length !==
|
|
300
|
+
if (decoded.fields.length !== 8) {
|
|
296
301
|
throw new Error('Unexpected field count for certificate type.');
|
|
297
302
|
}
|
|
298
303
|
const [certType, name, iconURL, description, docURL, fieldsJSON, operator] = decoded.fields;
|
|
299
304
|
registryOperator = index_js_2.Utils.toUTF8(operator);
|
|
300
|
-
let parsedFields;
|
|
305
|
+
let parsedFields = {};
|
|
301
306
|
try {
|
|
302
307
|
parsedFields = JSON.parse(index_js_2.Utils.toUTF8(fieldsJSON));
|
|
303
308
|
}
|
|
304
309
|
catch {
|
|
305
|
-
|
|
310
|
+
// If there's a JSON parse error, assume empty
|
|
306
311
|
}
|
|
307
|
-
|
|
312
|
+
parsedData = {
|
|
308
313
|
definitionType: 'certificate',
|
|
309
314
|
type: index_js_2.Utils.toUTF8(certType),
|
|
310
315
|
name: index_js_2.Utils.toUTF8(name),
|
|
@@ -316,21 +321,20 @@ class RegistryClient {
|
|
|
316
321
|
break;
|
|
317
322
|
}
|
|
318
323
|
default:
|
|
319
|
-
throw new Error(
|
|
324
|
+
throw new Error(`Unsupported definition type: ${definitionType}`);
|
|
320
325
|
}
|
|
326
|
+
// Enforce that the pushdrop belongs to the CURRENT identity key
|
|
321
327
|
const currentIdentityKey = (await this.wallet.getPublicKey({ identityKey: true })).publicKey;
|
|
322
328
|
if (registryOperator !== currentIdentityKey) {
|
|
323
329
|
throw new Error('This registry token does not belong to the current wallet.');
|
|
324
330
|
}
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
registryOperator
|
|
328
|
-
};
|
|
331
|
+
// Return the typed data plus the operator key
|
|
332
|
+
return { ...parsedData, registryOperator };
|
|
329
333
|
}
|
|
330
334
|
/**
|
|
331
|
-
*
|
|
335
|
+
* Convert our definitionType to the wallet protocol format ([protocolID, keyID]).
|
|
332
336
|
*/
|
|
333
|
-
|
|
337
|
+
mapDefinitionTypeToWalletProtocol(definitionType) {
|
|
334
338
|
switch (definitionType) {
|
|
335
339
|
case 'basket':
|
|
336
340
|
return [1, 'basketmap'];
|
|
@@ -339,13 +343,13 @@ class RegistryClient {
|
|
|
339
343
|
case 'certificate':
|
|
340
344
|
return [1, 'certmap'];
|
|
341
345
|
default:
|
|
342
|
-
throw new Error(`Unknown
|
|
346
|
+
throw new Error(`Unknown definition type: ${definitionType}`);
|
|
343
347
|
}
|
|
344
348
|
}
|
|
345
349
|
/**
|
|
346
|
-
*
|
|
350
|
+
* Convert 'basket'|'protocol'|'certificate' to the basket name used by the wallet.
|
|
347
351
|
*/
|
|
348
|
-
|
|
352
|
+
mapDefinitionTypeToBasketName(definitionType) {
|
|
349
353
|
switch (definitionType) {
|
|
350
354
|
case 'basket':
|
|
351
355
|
return 'basketmap';
|
|
@@ -354,13 +358,13 @@ class RegistryClient {
|
|
|
354
358
|
case 'certificate':
|
|
355
359
|
return 'certmap';
|
|
356
360
|
default:
|
|
357
|
-
throw new Error(`Unknown
|
|
361
|
+
throw new Error(`Unknown definition type: ${definitionType}`);
|
|
358
362
|
}
|
|
359
363
|
}
|
|
360
364
|
/**
|
|
361
|
-
*
|
|
365
|
+
* Convert 'basket'|'protocol'|'certificate' to the broadcast topic name.
|
|
362
366
|
*/
|
|
363
|
-
|
|
367
|
+
mapDefinitionTypeToTopic(definitionType) {
|
|
364
368
|
switch (definitionType) {
|
|
365
369
|
case 'basket':
|
|
366
370
|
return 'tm_basketmap';
|
|
@@ -369,13 +373,13 @@ class RegistryClient {
|
|
|
369
373
|
case 'certificate':
|
|
370
374
|
return 'tm_certmap';
|
|
371
375
|
default:
|
|
372
|
-
throw new Error(`Unknown
|
|
376
|
+
throw new Error(`Unknown definition type: ${definitionType}`);
|
|
373
377
|
}
|
|
374
378
|
}
|
|
375
379
|
/**
|
|
376
|
-
*
|
|
380
|
+
* Convert 'basket'|'protocol'|'certificate' to the lookup service name.
|
|
377
381
|
*/
|
|
378
|
-
|
|
382
|
+
mapDefinitionTypeToServiceName(definitionType) {
|
|
379
383
|
switch (definitionType) {
|
|
380
384
|
case 'basket':
|
|
381
385
|
return 'ls_basketmap';
|
|
@@ -384,9 +388,28 @@ class RegistryClient {
|
|
|
384
388
|
case 'certificate':
|
|
385
389
|
return 'ls_certmap';
|
|
386
390
|
default:
|
|
387
|
-
throw new Error(`Unknown
|
|
391
|
+
throw new Error(`Unknown definition type: ${definitionType}`);
|
|
388
392
|
}
|
|
389
393
|
}
|
|
390
394
|
}
|
|
391
395
|
exports.RegistryClient = RegistryClient;
|
|
396
|
+
function deserializeWalletProtocol(str) {
|
|
397
|
+
// Parse the JSON string back into a JavaScript value.
|
|
398
|
+
const parsed = JSON.parse(str);
|
|
399
|
+
// Validate that the parsed value is an array with exactly two elements.
|
|
400
|
+
if (!Array.isArray(parsed) || parsed.length !== 2) {
|
|
401
|
+
throw new Error('Invalid wallet protocol format.');
|
|
402
|
+
}
|
|
403
|
+
const [security, protocolString] = parsed;
|
|
404
|
+
// Validate that the security level is one of the allowed numbers.
|
|
405
|
+
if (![0, 1, 2].includes(security)) {
|
|
406
|
+
throw new Error('Invalid security level.');
|
|
407
|
+
}
|
|
408
|
+
// Validate that the protocol string is a string and its length is within the allowed bounds.
|
|
409
|
+
if (typeof protocolString !== 'string') {
|
|
410
|
+
throw new Error('Invalid protocolID');
|
|
411
|
+
}
|
|
412
|
+
return [security, protocolString];
|
|
413
|
+
}
|
|
414
|
+
exports.deserializeWalletProtocol = deserializeWalletProtocol;
|
|
392
415
|
//# sourceMappingURL=RegistryClient.js.map
|
|
@@ -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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"}
|