@bsv/sdk 1.6.24 → 1.6.25

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 (29) hide show
  1. package/dist/cjs/package.json +1 -1
  2. package/dist/cjs/src/identity/ContactsManager.js +298 -0
  3. package/dist/cjs/src/identity/ContactsManager.js.map +1 -0
  4. package/dist/cjs/src/identity/IdentityClient.js +26 -0
  5. package/dist/cjs/src/identity/IdentityClient.js.map +1 -1
  6. package/dist/cjs/src/transaction/Transaction.js +3 -0
  7. package/dist/cjs/src/transaction/Transaction.js.map +1 -1
  8. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  9. package/dist/esm/src/identity/ContactsManager.js +295 -0
  10. package/dist/esm/src/identity/ContactsManager.js.map +1 -0
  11. package/dist/esm/src/identity/IdentityClient.js +27 -0
  12. package/dist/esm/src/identity/IdentityClient.js.map +1 -1
  13. package/dist/esm/src/transaction/Transaction.js +3 -0
  14. package/dist/esm/src/transaction/Transaction.js.map +1 -1
  15. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  16. package/dist/types/src/identity/ContactsManager.d.ts +28 -0
  17. package/dist/types/src/identity/ContactsManager.d.ts.map +1 -0
  18. package/dist/types/src/identity/IdentityClient.d.ts +21 -1
  19. package/dist/types/src/identity/IdentityClient.d.ts.map +1 -1
  20. package/dist/types/src/transaction/Transaction.d.ts.map +1 -1
  21. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  22. package/dist/umd/bundle.js +3 -3
  23. package/dist/umd/bundle.js.map +1 -1
  24. package/docs/reference/identity.md +144 -4
  25. package/package.json +1 -1
  26. package/src/identity/ContactsManager.ts +332 -0
  27. package/src/identity/IdentityClient.ts +31 -0
  28. package/src/identity/__tests/IdentityClient.test.ts +326 -2
  29. package/src/transaction/Transaction.ts +2 -0
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bsv/sdk",
3
- "version": "1.6.24",
3
+ "version": "1.6.25",
4
4
  "type": "commonjs",
5
5
  "description": "BSV Blockchain Software Development Kit",
6
6
  "files": [
@@ -0,0 +1,298 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ContactsManager = void 0;
4
+ const index_js_1 = require("../wallet/index.js");
5
+ const index_js_2 = require("../primitives/index.js");
6
+ const index_js_3 = require("../script/index.js");
7
+ const index_js_4 = require("../transaction/index.js");
8
+ const CONTACT_PROTOCOL_ID = [2, 'contact'];
9
+ // Local cache key for performance
10
+ const CONTACTS_CACHE_KEY = 'metanet-contacts';
11
+ class ContactsManager {
12
+ constructor(wallet) {
13
+ this.wallet = wallet ?? new index_js_1.WalletClient();
14
+ }
15
+ /**
16
+ * Load all records from the contacts basket
17
+ * @param identityKey Optional specific identity key to fetch
18
+ * @param forceRefresh Whether to force a check for new contact data
19
+ * @returns A promise that resolves with an array of contacts
20
+ */
21
+ async getContacts(identityKey, forceRefresh = false) {
22
+ // Check localStorage cache first unless forcing refresh
23
+ if (!forceRefresh) {
24
+ const cached = localStorage.getItem(CONTACTS_CACHE_KEY);
25
+ if (cached != null && cached !== '') {
26
+ try {
27
+ const cachedContacts = JSON.parse(cached);
28
+ return identityKey != null
29
+ ? cachedContacts.filter(c => c.identityKey === identityKey)
30
+ : cachedContacts;
31
+ }
32
+ catch (e) {
33
+ console.warn('Invalid cached contacts JSON; will reload from chain', e);
34
+ }
35
+ }
36
+ }
37
+ const tags = [];
38
+ if (identityKey != null) {
39
+ // Hash the identity key to use as a tag for quick lookup
40
+ const { hmac: hashedIdentityKey } = await this.wallet.createHmac({
41
+ protocolID: CONTACT_PROTOCOL_ID,
42
+ keyID: identityKey,
43
+ counterparty: 'self',
44
+ data: index_js_2.Utils.toArray(identityKey, 'utf8')
45
+ });
46
+ tags.push(`identityKey ${index_js_2.Utils.toHex(hashedIdentityKey)}`);
47
+ }
48
+ // Get all contact outputs from the contacts basket
49
+ const outputs = await this.wallet.listOutputs({
50
+ basket: 'contacts',
51
+ include: 'entire transactions',
52
+ tags
53
+ });
54
+ if (outputs.outputs == null || outputs.outputs.length === 0) {
55
+ localStorage.setItem(CONTACTS_CACHE_KEY, JSON.stringify([]));
56
+ return [];
57
+ }
58
+ const contacts = [];
59
+ // Process each contact output
60
+ for (const output of outputs.outputs) {
61
+ try {
62
+ const [txid, outputIndex] = output.outpoint.split('.');
63
+ const tx = index_js_4.Transaction.fromBEEF(outputs.BEEF, txid);
64
+ const lockingScript = tx.outputs[Number(outputIndex)].lockingScript;
65
+ // Decode the PushDrop data
66
+ const decoded = index_js_3.PushDrop.decode(lockingScript);
67
+ if (output.customInstructions == null)
68
+ continue;
69
+ const keyID = JSON.parse(output.customInstructions).keyID;
70
+ // Decrypt the contact data
71
+ const { plaintext } = await this.wallet.decrypt({
72
+ ciphertext: decoded.fields[0],
73
+ protocolID: CONTACT_PROTOCOL_ID,
74
+ keyID,
75
+ counterparty: 'self'
76
+ });
77
+ // Parse the contact data
78
+ const contactData = JSON.parse(index_js_2.Utils.toUTF8(plaintext));
79
+ contacts.push(contactData);
80
+ }
81
+ catch (error) {
82
+ console.warn('ContactsManager: Failed to decode contact output:', error);
83
+ // Skip this contact and continue with others
84
+ }
85
+ }
86
+ // Cache the loaded contacts
87
+ localStorage.setItem(CONTACTS_CACHE_KEY, JSON.stringify(contacts));
88
+ const filteredContacts = identityKey != null
89
+ ? contacts.filter(c => c.identityKey === identityKey)
90
+ : contacts;
91
+ return filteredContacts;
92
+ }
93
+ /**
94
+ * Save or update a Metanet contact
95
+ * @param contact The displayable identity information for the contact
96
+ * @param metadata Optional metadata to store with the contact (ex. notes, aliases, etc)
97
+ */
98
+ async saveContact(contact, metadata) {
99
+ // Update localStorage cache immediately
100
+ const cached = localStorage.getItem(CONTACTS_CACHE_KEY);
101
+ const contacts = (cached != null && cached !== '') ? JSON.parse(cached) : [];
102
+ const existingIndex = contacts.findIndex(c => c.identityKey === contact.identityKey);
103
+ const contactToStore = {
104
+ ...contact,
105
+ metadata
106
+ };
107
+ if (existingIndex >= 0) {
108
+ contacts[existingIndex] = contactToStore;
109
+ }
110
+ else {
111
+ contacts.push(contactToStore);
112
+ }
113
+ localStorage.setItem(CONTACTS_CACHE_KEY, JSON.stringify(contacts));
114
+ const { hmac: hashedIdentityKey } = await this.wallet.createHmac({
115
+ protocolID: CONTACT_PROTOCOL_ID,
116
+ keyID: contact.identityKey,
117
+ counterparty: 'self',
118
+ data: index_js_2.Utils.toArray(contact.identityKey, 'utf8')
119
+ });
120
+ // Check if this contact already exists (to update it)
121
+ const outputs = await this.wallet.listOutputs({
122
+ basket: 'contacts',
123
+ include: 'entire transactions',
124
+ includeCustomInstructions: true,
125
+ tags: [`identityKey ${index_js_2.Utils.toHex(hashedIdentityKey)}`]
126
+ });
127
+ let existingOutput = null;
128
+ let keyID = index_js_2.Utils.toBase64((0, index_js_2.Random)(32));
129
+ if (outputs.outputs != null) {
130
+ // Find output by trying to decrypt and checking identityKey in payload
131
+ for (const output of outputs.outputs) {
132
+ try {
133
+ const [txid, outputIndex] = output.outpoint.split('.');
134
+ const tx = index_js_4.Transaction.fromBEEF(outputs.BEEF, txid);
135
+ const decoded = index_js_3.PushDrop.decode(tx.outputs[Number(outputIndex)].lockingScript);
136
+ if (output.customInstructions == null)
137
+ continue;
138
+ keyID = JSON.parse(output.customInstructions).keyID;
139
+ const { plaintext } = await this.wallet.decrypt({
140
+ ciphertext: decoded.fields[0],
141
+ protocolID: CONTACT_PROTOCOL_ID,
142
+ keyID,
143
+ counterparty: 'self'
144
+ });
145
+ const storedContact = JSON.parse(index_js_2.Utils.toUTF8(plaintext));
146
+ if (storedContact.identityKey === contact.identityKey) {
147
+ // Found the right output
148
+ existingOutput = output;
149
+ break;
150
+ }
151
+ }
152
+ catch (e) {
153
+ // Skip malformed or undecryptable outputs
154
+ }
155
+ }
156
+ }
157
+ // Encrypt the contact data directly
158
+ const contactWithMetadata = {
159
+ ...contact,
160
+ metadata
161
+ };
162
+ const { ciphertext } = await this.wallet.encrypt({
163
+ plaintext: index_js_2.Utils.toArray(JSON.stringify(contactWithMetadata), 'utf8'),
164
+ protocolID: CONTACT_PROTOCOL_ID,
165
+ keyID,
166
+ counterparty: 'self'
167
+ });
168
+ // Create locking script for the new contact token
169
+ const lockingScript = await new index_js_3.PushDrop(this.wallet).lock([ciphertext], CONTACT_PROTOCOL_ID, keyID, 'self');
170
+ if (existingOutput != null) {
171
+ // Update existing contact by spending its output
172
+ const [txid, outputIndex] = String(existingOutput.outpoint).split('.');
173
+ const prevOutpoint = `${txid}.${outputIndex}`;
174
+ const pushdrop = new index_js_3.PushDrop(this.wallet);
175
+ const { signableTransaction } = await this.wallet.createAction({
176
+ description: 'Update Contact',
177
+ inputBEEF: outputs.BEEF,
178
+ inputs: [{
179
+ outpoint: prevOutpoint,
180
+ unlockingScriptLength: 74,
181
+ inputDescription: 'Spend previous contact output'
182
+ }],
183
+ outputs: [{
184
+ basket: 'contacts',
185
+ satoshis: 1,
186
+ lockingScript: lockingScript.toHex(),
187
+ outputDescription: `Updated Contact: ${contact.name ?? contact.identityKey.slice(0, 10)}`,
188
+ tags: [`identityKey ${index_js_2.Utils.toHex(hashedIdentityKey)}`],
189
+ customInstructions: JSON.stringify({ keyID })
190
+ }],
191
+ options: { acceptDelayedBroadcast: false, randomizeOutputs: false } // TODO: Support custom config as needed.
192
+ });
193
+ if (signableTransaction == null)
194
+ throw new Error('Unable to update contact');
195
+ const unlocker = pushdrop.unlock(CONTACT_PROTOCOL_ID, keyID, 'self');
196
+ const unlockingScript = await unlocker.sign(index_js_4.Transaction.fromBEEF(signableTransaction.tx), 0);
197
+ const { tx } = await this.wallet.signAction({
198
+ reference: signableTransaction.reference,
199
+ spends: { 0: { unlockingScript: unlockingScript.toHex() } }
200
+ });
201
+ if (tx == null)
202
+ throw new Error('Failed to update contact output');
203
+ }
204
+ else {
205
+ // Create new contact output
206
+ const { tx } = await this.wallet.createAction({
207
+ description: 'Add Contact',
208
+ outputs: [{
209
+ basket: 'contacts',
210
+ satoshis: 1,
211
+ lockingScript: lockingScript.toHex(),
212
+ outputDescription: `Contact: ${contact.name ?? contact.identityKey.slice(0, 10)}`,
213
+ tags: [`identityKey ${index_js_2.Utils.toHex(hashedIdentityKey)}`],
214
+ customInstructions: JSON.stringify({ keyID })
215
+ }],
216
+ options: { acceptDelayedBroadcast: false, randomizeOutputs: false } // TODO: Support custom config as needed.
217
+ });
218
+ if (tx == null)
219
+ throw new Error('Failed to create contact output');
220
+ }
221
+ }
222
+ /**
223
+ * Remove a contact from the contacts basket
224
+ * @param identityKey The identity key of the contact to remove
225
+ */
226
+ async removeContact(identityKey) {
227
+ // Update localStorage cache
228
+ const cached = localStorage.getItem(CONTACTS_CACHE_KEY);
229
+ if (cached != null && cached !== '') {
230
+ try {
231
+ const contacts = JSON.parse(cached);
232
+ const filteredContacts = contacts.filter(c => c.identityKey !== identityKey);
233
+ localStorage.setItem(CONTACTS_CACHE_KEY, JSON.stringify(filteredContacts));
234
+ }
235
+ catch (e) {
236
+ console.warn('Failed to update cache after contact removal:', e);
237
+ }
238
+ }
239
+ // Find and spend the contact's output
240
+ const outputs = await this.wallet.listOutputs({
241
+ basket: 'contacts',
242
+ include: 'entire transactions',
243
+ includeCustomInstructions: true
244
+ });
245
+ if (outputs.outputs == null)
246
+ return;
247
+ // Find the output for this specific contact by decrypting and checking identityKey
248
+ for (const output of outputs.outputs) {
249
+ try {
250
+ const [txid, outputIndex] = String(output.outpoint).split('.');
251
+ const tx = index_js_4.Transaction.fromBEEF(outputs.BEEF, txid);
252
+ const decoded = index_js_3.PushDrop.decode(tx.outputs[Number(outputIndex)].lockingScript);
253
+ if (output.customInstructions == null)
254
+ continue;
255
+ const keyID = JSON.parse(output.customInstructions).keyID;
256
+ const { plaintext } = await this.wallet.decrypt({
257
+ ciphertext: decoded.fields[0],
258
+ protocolID: CONTACT_PROTOCOL_ID,
259
+ keyID,
260
+ counterparty: 'self'
261
+ });
262
+ const storedContact = JSON.parse(index_js_2.Utils.toUTF8(plaintext));
263
+ if (storedContact.identityKey === identityKey) {
264
+ // Found the contact's output, spend it without creating a new one
265
+ const prevOutpoint = `${txid}.${outputIndex}`;
266
+ const pushdrop = new index_js_3.PushDrop(this.wallet);
267
+ const { signableTransaction } = await this.wallet.createAction({
268
+ description: 'Delete Contact',
269
+ inputBEEF: outputs.BEEF,
270
+ inputs: [{
271
+ outpoint: prevOutpoint,
272
+ unlockingScriptLength: 74,
273
+ inputDescription: 'Spend contact output to delete'
274
+ }],
275
+ outputs: [],
276
+ options: { acceptDelayedBroadcast: false, randomizeOutputs: false } // TODO: Support custom config as needed.
277
+ });
278
+ if (signableTransaction == null)
279
+ throw new Error('Unable to delete contact');
280
+ const unlocker = pushdrop.unlock(CONTACT_PROTOCOL_ID, keyID, 'self');
281
+ const unlockingScript = await unlocker.sign(index_js_4.Transaction.fromBEEF(signableTransaction.tx), 0);
282
+ const { tx: deleteTx } = await this.wallet.signAction({
283
+ reference: signableTransaction.reference,
284
+ spends: { 0: { unlockingScript: unlockingScript.toHex() } }
285
+ });
286
+ if (deleteTx == null)
287
+ throw new Error('Failed to delete contact output');
288
+ return;
289
+ }
290
+ }
291
+ catch (e) {
292
+ // Skip malformed or undecryptable outputs
293
+ }
294
+ }
295
+ }
296
+ }
297
+ exports.ContactsManager = ContactsManager;
298
+ //# sourceMappingURL=ContactsManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContactsManager.js","sourceRoot":"","sources":["../../../../src/identity/ContactsManager.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ const Certificate_js_1 = __importDefault(require("../auth/certificates/Certifica
12
12
  const index_js_5 = require("../script/index.js");
13
13
  const index_js_6 = require("../primitives/index.js");
14
14
  const index_js_7 = require("../overlay-tools/index.js");
15
+ const ContactsManager_js_1 = require("./ContactsManager.js");
15
16
  /**
16
17
  * IdentityClient lets you discover who others are, and let the world know who you are.
17
18
  */
@@ -21,6 +22,7 @@ class IdentityClient {
21
22
  this.originator = originator;
22
23
  this.wallet = wallet ?? new index_js_3.WalletClient();
23
24
  this.authClient = new index_js_1.AuthFetch(this.wallet);
25
+ this.contactsManager = new ContactsManager_js_1.ContactsManager(this.wallet);
24
26
  }
25
27
  /**
26
28
  * Publicly reveals selected fields from a given certificate by creating a publicly verifiable certificate.
@@ -166,6 +168,30 @@ class IdentityClient {
166
168
  // const broadcaster = new SHIPBroadcaster(['tm_identity'])
167
169
  // return await broadcaster.broadcast(Transaction.fromAtomicBEEF(signedTx as number[]))
168
170
  // }
171
+ /**
172
+ * Load all records from the contacts basket
173
+ * @param identityKey Optional specific identity key to fetch
174
+ * @param forceRefresh Whether to force a check for new contact data
175
+ * @returns A promise that resolves with an array of contacts
176
+ */
177
+ async getContacts(identityKey, forceRefresh = false) {
178
+ return await this.contactsManager.getContacts(identityKey, forceRefresh);
179
+ }
180
+ /**
181
+ * Save or update a Metanet contact
182
+ * @param contact The displayable identity information for the contact
183
+ * @param metadata Optional metadata to store with the contact (ex. notes, aliases, etc)
184
+ */
185
+ async saveContact(contact, metadata) {
186
+ return await this.contactsManager.saveContact(contact, metadata);
187
+ }
188
+ /**
189
+ * Remove a contact from the contacts basket
190
+ * @param identityKey The identity key of the contact to remove
191
+ */
192
+ async removeContact(identityKey) {
193
+ return await this.contactsManager.removeContact(identityKey);
194
+ }
169
195
  /**
170
196
  * Parse out identity and certifier attributes to display from an IdentityCertificate
171
197
  * @param identityToParse - The Identity Certificate to parse
@@ -1 +1 @@
1
- {"version":3,"file":"IdentityClient.js","sourceRoot":"","sources":["../../../../src/identity/IdentityClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IdentityClient.js","sourceRoot":"","sources":["../../../../src/identity/IdentityClient.ts"],"names":[],"mappings":"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"}
@@ -698,6 +698,9 @@ class Transaction {
698
698
  verifiedTxids.add(txid);
699
699
  continue;
700
700
  }
701
+ else {
702
+ throw new Error(`Invalid merkle path for transaction ${txid}`);
703
+ }
701
704
  }
702
705
  }
703
706
  // Verify fee if feeModel is provided
@@ -1 +1 @@
1
- {"version":3,"file":"Transaction.js","sourceRoot":"","sources":["../../../../src/transaction/Transaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Transaction.js","sourceRoot":"","sources":["../../../../src/transaction/Transaction.ts"],"names":[],"mappings":"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"}