@bsv/sdk 2.1.1 → 2.1.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.
- package/dist/cjs/package.json +1 -1
- package/dist/cjs/src/identity/ContactsManager.js +44 -6
- package/dist/cjs/src/identity/ContactsManager.js.map +1 -1
- package/dist/cjs/src/identity/IdentityClient.js +106 -37
- package/dist/cjs/src/identity/IdentityClient.js.map +1 -1
- package/dist/cjs/src/overlay-tools/LookupResolver.js +85 -58
- package/dist/cjs/src/overlay-tools/LookupResolver.js.map +1 -1
- package/dist/cjs/src/primitives/Hash.js +173 -50
- package/dist/cjs/src/primitives/Hash.js.map +1 -1
- package/dist/cjs/src/primitives/SymmetricKey.js +123 -1
- package/dist/cjs/src/primitives/SymmetricKey.js.map +1 -1
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/esm/src/identity/ContactsManager.js +44 -6
- package/dist/esm/src/identity/ContactsManager.js.map +1 -1
- package/dist/esm/src/identity/IdentityClient.js +106 -37
- package/dist/esm/src/identity/IdentityClient.js.map +1 -1
- package/dist/esm/src/overlay-tools/LookupResolver.js +85 -58
- package/dist/esm/src/overlay-tools/LookupResolver.js.map +1 -1
- package/dist/esm/src/primitives/Hash.js +177 -50
- package/dist/esm/src/primitives/Hash.js.map +1 -1
- package/dist/esm/src/primitives/SymmetricKey.js +123 -1
- package/dist/esm/src/primitives/SymmetricKey.js.map +1 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/types/src/identity/ContactsManager.d.ts +13 -2
- package/dist/types/src/identity/ContactsManager.d.ts.map +1 -1
- package/dist/types/src/identity/IdentityClient.d.ts +50 -24
- package/dist/types/src/identity/IdentityClient.d.ts.map +1 -1
- package/dist/types/src/overlay-tools/LookupResolver.d.ts +14 -1
- package/dist/types/src/overlay-tools/LookupResolver.d.ts.map +1 -1
- package/dist/types/src/primitives/Hash.d.ts +21 -16
- package/dist/types/src/primitives/Hash.d.ts.map +1 -1
- package/dist/types/src/primitives/SymmetricKey.d.ts.map +1 -1
- package/dist/types/src/wallet/Wallet.interfaces.d.ts +16 -1
- package/dist/types/src/wallet/Wallet.interfaces.d.ts.map +1 -1
- package/dist/types/src/wallet/WalletClient.d.ts +1 -1
- package/dist/types/src/wallet/WalletClient.d.ts.map +1 -1
- package/dist/types/src/wallet/substrates/window.CWI.d.ts +1 -1
- package/dist/types/src/wallet/substrates/window.CWI.d.ts.map +1 -1
- package/dist/types/tsconfig.types.tsbuildinfo +1 -1
- package/dist/umd/bundle.js +3 -3
- package/package.json +1 -1
- package/src/identity/ContactsManager.ts +47 -6
- package/src/identity/IdentityClient.ts +137 -53
- package/src/identity/__tests/IdentityClient.additional.test.ts +150 -1
- package/src/identity/__tests/IdentityClient.test.ts +4 -4
- package/src/overlay-tools/LookupResolver.ts +94 -57
- package/src/primitives/Hash.ts +232 -96
- package/src/primitives/SymmetricKey.ts +145 -1
- package/src/primitives/__tests/Hash.additional.test.ts +65 -0
- package/src/primitives/__tests/Hash.test.ts +6 -1
- package/src/wallet/Wallet.interfaces.ts +16 -1
- package/src/wallet/WalletClient.ts +1 -1
- package/src/wallet/substrates/window.CWI.ts +1 -1
package/dist/cjs/package.json
CHANGED
|
@@ -28,31 +28,64 @@ class ContactsManager {
|
|
|
28
28
|
constructor(wallet, originator) {
|
|
29
29
|
this.cache = new MemoryCache();
|
|
30
30
|
this.CONTACTS_CACHE_KEY = 'metanet-contacts';
|
|
31
|
+
// Performance state — prevents thundering herd of concurrent contact loads and
|
|
32
|
+
// short-circuits the overlay path entirely when we've previously observed an
|
|
33
|
+
// empty contacts basket. Both are invalidated by saveContact/removeContact and
|
|
34
|
+
// by an explicit forceRefresh.
|
|
35
|
+
this.inFlightLoad = null;
|
|
36
|
+
this.knownEmpty = false;
|
|
31
37
|
this.wallet = wallet ?? new index_js_1.WalletClient();
|
|
32
38
|
this.originator = originator;
|
|
33
39
|
}
|
|
34
40
|
/**
|
|
35
|
-
* Load all records from the contacts basket
|
|
41
|
+
* Load all records from the contacts basket.
|
|
42
|
+
*
|
|
43
|
+
* Concurrent calls share a single in-flight load (no thundering herd). After
|
|
44
|
+
* the basket has been observed empty once, subsequent calls return `[]`
|
|
45
|
+
* synchronously without hitting the wallet — until `forceRefresh` is passed
|
|
46
|
+
* or a contact is saved/removed.
|
|
47
|
+
*
|
|
36
48
|
* @param identityKey Optional specific identity key to fetch
|
|
37
49
|
* @param forceRefresh Whether to force a check for new contact data
|
|
38
50
|
* @param limit Maximum number of contacts to return
|
|
39
|
-
* @returns A promise that resolves with an array of contacts
|
|
40
51
|
*/
|
|
41
52
|
async getContacts(identityKey, forceRefresh = false, limit = 1000) {
|
|
53
|
+
if (forceRefresh)
|
|
54
|
+
this.invalidate();
|
|
55
|
+
if (this.knownEmpty)
|
|
56
|
+
return [];
|
|
42
57
|
if (!forceRefresh) {
|
|
43
58
|
const fromCache = this.loadCachedContacts(identityKey);
|
|
44
59
|
if (fromCache !== null)
|
|
45
60
|
return fromCache;
|
|
46
61
|
}
|
|
47
|
-
|
|
48
|
-
|
|
62
|
+
// Coalesce concurrent loads onto a single Promise so a fan-out of N
|
|
63
|
+
// identity calls produces ONE listOutputs + decrypt batch, not N.
|
|
64
|
+
this.inFlightLoad ?? (this.inFlightLoad = this.loadContactsFromWallet(limit).finally(() => {
|
|
65
|
+
this.inFlightLoad = null;
|
|
66
|
+
}));
|
|
67
|
+
const all = await this.inFlightLoad;
|
|
68
|
+
return identityKey == null ? all : all.filter(c => c.identityKey === identityKey);
|
|
69
|
+
}
|
|
70
|
+
/** Reset cached state. Call after writes. */
|
|
71
|
+
invalidate() {
|
|
72
|
+
this.cache.removeItem(this.CONTACTS_CACHE_KEY);
|
|
73
|
+
this.knownEmpty = false;
|
|
74
|
+
this.inFlightLoad = null;
|
|
75
|
+
}
|
|
76
|
+
/** Underlying wallet load — invoked at most once concurrently via `inFlightLoad`. */
|
|
77
|
+
async loadContactsFromWallet(limit) {
|
|
78
|
+
// Always load the full basket so subsequent filters (by identityKey) hit cache.
|
|
79
|
+
// Tag filtering is reserved for explicit per-key write paths.
|
|
80
|
+
const outputs = await this.wallet.listOutputs({ basket: 'contacts', include: 'locking scripts', includeCustomInstructions: true, tags: [], limit }, this.originator);
|
|
49
81
|
if (outputs.outputs == null || outputs.outputs.length === 0) {
|
|
50
82
|
this.cache.setItem(this.CONTACTS_CACHE_KEY, JSON.stringify([]));
|
|
83
|
+
this.knownEmpty = true;
|
|
51
84
|
return [];
|
|
52
85
|
}
|
|
53
86
|
const contacts = await this.decryptContactOutputs(outputs.outputs);
|
|
54
87
|
this.cache.setItem(this.CONTACTS_CACHE_KEY, JSON.stringify(contacts));
|
|
55
|
-
return
|
|
88
|
+
return contacts;
|
|
56
89
|
}
|
|
57
90
|
/** Returns cached contacts (optionally filtered) or null if cache is missing/invalid. */
|
|
58
91
|
loadCachedContacts(identityKey) {
|
|
@@ -140,6 +173,8 @@ class ContactsManager {
|
|
|
140
173
|
await this.createContactOutput(lockingScript, keyID, hashedIdentityKey, contact);
|
|
141
174
|
}
|
|
142
175
|
this.cache.setItem(this.CONTACTS_CACHE_KEY, JSON.stringify(contacts));
|
|
176
|
+
this.knownEmpty = false;
|
|
177
|
+
this.inFlightLoad = null;
|
|
143
178
|
}
|
|
144
179
|
/** Computes the HMAC-based hash of an identity key for tag indexing. */
|
|
145
180
|
async hashIdentityKey(identityKey) {
|
|
@@ -233,12 +268,15 @@ class ContactsManager {
|
|
|
233
268
|
if (cached != null && cached !== '') {
|
|
234
269
|
try {
|
|
235
270
|
const contacts = JSON.parse(cached);
|
|
236
|
-
|
|
271
|
+
const remaining = contacts.filter(c => c.identityKey !== identityKey);
|
|
272
|
+
this.cache.setItem(this.CONTACTS_CACHE_KEY, JSON.stringify(remaining));
|
|
273
|
+
this.knownEmpty = remaining.length === 0;
|
|
237
274
|
}
|
|
238
275
|
catch (e) {
|
|
239
276
|
console.warn('Failed to update cache after contact removal:', e);
|
|
240
277
|
}
|
|
241
278
|
}
|
|
279
|
+
this.inFlightLoad = null;
|
|
242
280
|
const tags = await this.buildIdentityKeyTags(identityKey);
|
|
243
281
|
const outputs = await this.wallet.listOutputs({ basket: 'contacts', include: 'entire transactions', includeCustomInstructions: true, tags, limit: 100 }, this.originator);
|
|
244
282
|
if (outputs.outputs == null)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContactsManager.js","sourceRoot":"","sources":["../../../../src/identity/ContactsManager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ContactsManager.js","sourceRoot":"","sources":["../../../../src/identity/ContactsManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,32 @@ const index_js_4 = require("../script/index.js");
|
|
|
12
12
|
const index_js_5 = require("../primitives/index.js");
|
|
13
13
|
const index_js_6 = require("../overlay-tools/index.js");
|
|
14
14
|
const ContactsManager_js_1 = require("./ContactsManager.js");
|
|
15
|
+
/**
|
|
16
|
+
* Maximum number of identity certificates to parse synchronously before yielding to the
|
|
17
|
+
* event loop. Keeps the main thread responsive when an overlay query returns many results
|
|
18
|
+
* (e.g. a bulk enrichment of N identityKeys).
|
|
19
|
+
*/
|
|
20
|
+
const PARSE_BATCH_SIZE = 32;
|
|
21
|
+
/**
|
|
22
|
+
* Yield control to the event loop so queued microtasks / timers can run. Uses
|
|
23
|
+
* `scheduler.yield()` when available (Chromium) or a 0ms macrotask fallback.
|
|
24
|
+
*/
|
|
25
|
+
async function yieldToEventLoop() {
|
|
26
|
+
const sched = globalThis.scheduler;
|
|
27
|
+
if (sched != null && typeof sched.yield === 'function') {
|
|
28
|
+
return await sched.yield();
|
|
29
|
+
}
|
|
30
|
+
return await new Promise((resolve) => setTimeout(resolve, 0));
|
|
31
|
+
}
|
|
32
|
+
/** Normalize either legacy boolean / new options object into a canonical { useContacts, parallel }. */
|
|
33
|
+
function normalizeOpts(raw) {
|
|
34
|
+
if (raw === undefined)
|
|
35
|
+
return { useContacts: false, parallel: false };
|
|
36
|
+
if (typeof raw === 'boolean')
|
|
37
|
+
return { useContacts: raw, parallel: false };
|
|
38
|
+
const useContacts = raw.overrideWithContacts ?? raw.useContacts ?? false;
|
|
39
|
+
return { useContacts, parallel: raw.parallel === true };
|
|
40
|
+
}
|
|
15
41
|
/**
|
|
16
42
|
* IdentityClient lets you discover who others are, and let the world know who you are.
|
|
17
43
|
*/
|
|
@@ -84,77 +110,84 @@ class IdentityClient {
|
|
|
84
110
|
throw new Error('Public reveal failed: failed to create action!');
|
|
85
111
|
}
|
|
86
112
|
/**
|
|
87
|
-
* Resolves displayable identity certificates
|
|
113
|
+
* Resolves displayable identity certificates issued to a given identity key.
|
|
88
114
|
*
|
|
89
|
-
*
|
|
90
|
-
*
|
|
91
|
-
*
|
|
115
|
+
* **Default behavior (changed): contacts are NOT consulted.** Most clients have no
|
|
116
|
+
* contacts saved locally, so the previous "contacts-first" default paid setup cost for no
|
|
117
|
+
* gain. Pass `{ useContacts: true }` to opt in — appropriate when you know the user has
|
|
118
|
+
* saved contacts and prefers a local hit over a fresh overlay answer.
|
|
119
|
+
*
|
|
120
|
+
* When `useContacts: true`:
|
|
121
|
+
* - Default short-circuits: if a contact matches, the overlay is skipped entirely.
|
|
122
|
+
* - `{ parallel: true }` fires contacts and overlay in parallel; contact wins on hit.
|
|
92
123
|
*
|
|
93
124
|
* @param args - Arguments for requesting the discovery based on the identity key.
|
|
94
|
-
* @param
|
|
95
|
-
* contacts are skipped entirely and the overlay is queried directly. Boolean kept for legacy
|
|
96
|
-
* call sites; new code should prefer the options-object form.
|
|
97
|
-
* @returns The promise resolves to displayable identities.
|
|
125
|
+
* @param opts - Boolean (legacy) or options object. Boolean `true` ≡ `{ useContacts: true }`.
|
|
98
126
|
*/
|
|
99
|
-
async resolveByIdentityKey(args,
|
|
100
|
-
const
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
127
|
+
async resolveByIdentityKey(args, opts = false) {
|
|
128
|
+
const { useContacts, parallel } = normalizeOpts(opts);
|
|
129
|
+
// Fast path: skip contacts entirely. Default — straight overlay query,
|
|
130
|
+
// no listOutputs / decrypt / cache churn.
|
|
131
|
+
if (!useContacts) {
|
|
132
|
+
const certificatesResult = await this.wallet.discoverByIdentityKey(args, this.originator);
|
|
133
|
+
const certs = certificatesResult?.certificates ?? [];
|
|
134
|
+
return await IdentityClient.parseIdentities(certs);
|
|
135
|
+
}
|
|
136
|
+
if (!parallel) {
|
|
106
137
|
const contacts = await this.contactsManager.getContacts(args.identityKey);
|
|
107
138
|
if (contacts.length > 0)
|
|
108
139
|
return contacts;
|
|
109
140
|
const certificatesResult = await this.wallet.discoverByIdentityKey(args, this.originator);
|
|
110
141
|
const certs = certificatesResult?.certificates ?? [];
|
|
111
|
-
return
|
|
142
|
+
return await IdentityClient.parseIdentities(certs);
|
|
112
143
|
}
|
|
113
144
|
const [contacts, certificatesResult] = await Promise.all([
|
|
114
|
-
|
|
115
|
-
? this.contactsManager.getContacts(args.identityKey)
|
|
116
|
-
: Promise.resolve([]),
|
|
145
|
+
this.contactsManager.getContacts(args.identityKey),
|
|
117
146
|
this.wallet.discoverByIdentityKey(args, this.originator)
|
|
118
147
|
]);
|
|
119
148
|
if (contacts.length > 0)
|
|
120
149
|
return contacts;
|
|
121
150
|
const certs = certificatesResult?.certificates ?? [];
|
|
122
|
-
return
|
|
151
|
+
return await IdentityClient.parseIdentities(certs);
|
|
123
152
|
}
|
|
124
153
|
/**
|
|
125
|
-
* Resolves displayable identity certificates by specific identity attributes
|
|
154
|
+
* Resolves displayable identity certificates by specific identity attributes.
|
|
126
155
|
*
|
|
127
|
-
*
|
|
128
|
-
*
|
|
156
|
+
* **Default behavior (changed): contacts are NOT consulted.** See
|
|
157
|
+
* {@link resolveByIdentityKey} for the reasoning. Pass `{ useContacts: true }` to opt in.
|
|
129
158
|
*
|
|
130
159
|
* @param args - Attributes and optional parameters used to discover certificates.
|
|
131
|
-
* @param
|
|
132
|
-
* for legacy call sites; new code should prefer the options-object form.
|
|
133
|
-
* @returns The promise resolves to displayable identities.
|
|
160
|
+
* @param opts - Boolean (legacy) or options object. Boolean `true` ≡ `{ useContacts: true }`.
|
|
134
161
|
*/
|
|
135
|
-
async resolveByAttributes(args,
|
|
136
|
-
const
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
162
|
+
async resolveByAttributes(args, opts = false) {
|
|
163
|
+
const { useContacts, parallel } = normalizeOpts(opts);
|
|
164
|
+
// Fast path: skip contacts entirely.
|
|
165
|
+
if (!useContacts) {
|
|
166
|
+
const certificatesResult = await this.wallet.discoverByAttributes(args, this.originator);
|
|
167
|
+
const certs = certificatesResult?.certificates ?? [];
|
|
168
|
+
return await IdentityClient.parseIdentities(certs);
|
|
169
|
+
}
|
|
170
|
+
if (!parallel) {
|
|
142
171
|
const contacts = await this.contactsManager.getContacts();
|
|
143
172
|
const matches = this.matchContactsByAttributes(contacts, args);
|
|
144
173
|
if (matches.length > 0)
|
|
145
174
|
return matches;
|
|
146
175
|
const certificatesResult = await this.wallet.discoverByAttributes(args, this.originator);
|
|
147
176
|
const certs = certificatesResult?.certificates ?? [];
|
|
177
|
+
if (contacts.length === 0)
|
|
178
|
+
return await IdentityClient.parseIdentities(certs);
|
|
148
179
|
const contactByKey = new Map(contacts.map((contact) => [contact.identityKey, contact]));
|
|
149
|
-
return
|
|
180
|
+
return await IdentityClient.parseIdentitiesWithOverrides(certs, contactByKey);
|
|
150
181
|
}
|
|
151
182
|
const [contacts, certificatesResult] = await Promise.all([
|
|
152
|
-
|
|
183
|
+
this.contactsManager.getContacts(),
|
|
153
184
|
this.wallet.discoverByAttributes(args, this.originator)
|
|
154
185
|
]);
|
|
155
|
-
const contactByKey = new Map(contacts.map((contact) => [contact.identityKey, contact]));
|
|
156
186
|
const certs = certificatesResult?.certificates ?? [];
|
|
157
|
-
|
|
187
|
+
if (contacts.length === 0)
|
|
188
|
+
return await IdentityClient.parseIdentities(certs);
|
|
189
|
+
const contactByKey = new Map(contacts.map((contact) => [contact.identityKey, contact]));
|
|
190
|
+
return await IdentityClient.parseIdentitiesWithOverrides(certs, contactByKey);
|
|
158
191
|
}
|
|
159
192
|
/**
|
|
160
193
|
* Best-effort match of contacts against a `DiscoverByAttributesArgs.attributes` shape.
|
|
@@ -274,6 +307,42 @@ class IdentityClient {
|
|
|
274
307
|
async removeContact(identityKey) {
|
|
275
308
|
return await this.contactsManager.removeContact(identityKey);
|
|
276
309
|
}
|
|
310
|
+
/**
|
|
311
|
+
* Parse an array of certificates into DisplayableIdentity records, yielding to the
|
|
312
|
+
* event loop every {@link PARSE_BATCH_SIZE} entries so large result sets don't hog
|
|
313
|
+
* the main thread. Equivalent to `certs.map(parseIdentity)` for small inputs.
|
|
314
|
+
*/
|
|
315
|
+
static async parseIdentities(certs) {
|
|
316
|
+
const n = certs.length;
|
|
317
|
+
if (n <= PARSE_BATCH_SIZE) {
|
|
318
|
+
return certs.map((c) => IdentityClient.parseIdentity(c));
|
|
319
|
+
}
|
|
320
|
+
const out = new Array(n);
|
|
321
|
+
for (let i = 0; i < n; i++) {
|
|
322
|
+
out[i] = IdentityClient.parseIdentity(certs[i]);
|
|
323
|
+
if ((i + 1) % PARSE_BATCH_SIZE === 0)
|
|
324
|
+
await yieldToEventLoop();
|
|
325
|
+
}
|
|
326
|
+
return out;
|
|
327
|
+
}
|
|
328
|
+
/**
|
|
329
|
+
* Same as {@link parseIdentities} but consults a contact override map keyed by subject
|
|
330
|
+
* identity key. Used by `resolveByAttributes` when contacts are loaded.
|
|
331
|
+
*/
|
|
332
|
+
static async parseIdentitiesWithOverrides(certs, contactByKey) {
|
|
333
|
+
const n = certs.length;
|
|
334
|
+
if (n <= PARSE_BATCH_SIZE) {
|
|
335
|
+
return certs.map((cert) => contactByKey.get(cert.subject) ?? IdentityClient.parseIdentity(cert));
|
|
336
|
+
}
|
|
337
|
+
const out = new Array(n);
|
|
338
|
+
for (let i = 0; i < n; i++) {
|
|
339
|
+
const cert = certs[i];
|
|
340
|
+
out[i] = contactByKey.get(cert.subject) ?? IdentityClient.parseIdentity(cert);
|
|
341
|
+
if ((i + 1) % PARSE_BATCH_SIZE === 0)
|
|
342
|
+
await yieldToEventLoop();
|
|
343
|
+
}
|
|
344
|
+
return out;
|
|
345
|
+
}
|
|
277
346
|
/**
|
|
278
347
|
* Parse out identity and certifier attributes to display from an IdentityCertificate
|
|
279
348
|
* @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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"}
|
|
@@ -38,6 +38,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
39
|
exports.HTTPSOverlayLookupFacilitator = exports.DEFAULT_TESTNET_SLAP_TRACKERS = exports.DEFAULT_SLAP_TRACKERS = void 0;
|
|
40
40
|
const index_js_1 = require("../transaction/index.js");
|
|
41
|
+
const Beef_js_1 = require("../transaction/Beef.js");
|
|
41
42
|
const OverlayAdminTokenTemplate_js_1 = __importDefault(require("./OverlayAdminTokenTemplate.js"));
|
|
42
43
|
const Utils = __importStar(require("../primitives/utils.js"));
|
|
43
44
|
const HostReputationTracker_js_1 = require("./HostReputationTracker.js");
|
|
@@ -98,48 +99,58 @@ class HTTPSOverlayLookupFacilitator {
|
|
|
98
99
|
if (!response.ok)
|
|
99
100
|
throw new Error(`Failed to facilitate lookup (HTTP ${response.status})`);
|
|
100
101
|
if (response.headers.get('content-type') === 'application/octet-stream') {
|
|
101
|
-
|
|
102
|
-
const r = new Utils.Reader([...new Uint8Array(payload)]);
|
|
103
|
-
const nOutpoints = r.readVarIntNum();
|
|
104
|
-
const outpoints = [];
|
|
105
|
-
for (let i = 0; i < nOutpoints; i++) {
|
|
106
|
-
const txid = Utils.toHex(r.read(32));
|
|
107
|
-
const outputIndex = r.readVarIntNum();
|
|
108
|
-
const contextLength = r.readVarIntNum();
|
|
109
|
-
let context;
|
|
110
|
-
if (contextLength > 0) {
|
|
111
|
-
context = r.read(contextLength);
|
|
112
|
-
}
|
|
113
|
-
outpoints.push({
|
|
114
|
-
txid,
|
|
115
|
-
outputIndex,
|
|
116
|
-
context
|
|
117
|
-
});
|
|
118
|
-
}
|
|
119
|
-
const beef = r.read();
|
|
120
|
-
return {
|
|
121
|
-
type: 'output-list',
|
|
122
|
-
outputs: outpoints.map(x => ({
|
|
123
|
-
outputIndex: x.outputIndex,
|
|
124
|
-
context: x.context,
|
|
125
|
-
beef: index_js_1.Transaction.fromBEEF(beef, x.txid).toBEEF()
|
|
126
|
-
}))
|
|
127
|
-
};
|
|
128
|
-
}
|
|
129
|
-
else {
|
|
130
|
-
return await response.json();
|
|
102
|
+
return await this.parseOctetStreamLookup(response);
|
|
131
103
|
}
|
|
104
|
+
return await response.json();
|
|
132
105
|
}
|
|
133
106
|
catch (e) {
|
|
134
107
|
// Normalize timeouts to a consistent error message
|
|
135
|
-
if (e?.name === 'AbortError')
|
|
108
|
+
if (e?.name === 'AbortError') {
|
|
136
109
|
throw new Error('Request timed out');
|
|
110
|
+
}
|
|
137
111
|
throw e;
|
|
138
112
|
}
|
|
139
113
|
finally {
|
|
140
114
|
clearTimeout(timer);
|
|
141
115
|
}
|
|
142
116
|
}
|
|
117
|
+
/** Parse the aggregated octet-stream lookup response into an output-list LookupAnswer. */
|
|
118
|
+
async parseOctetStreamLookup(response) {
|
|
119
|
+
const payload = await response.arrayBuffer();
|
|
120
|
+
const r = new Utils.Reader([...new Uint8Array(payload)]);
|
|
121
|
+
const nOutpoints = r.readVarIntNum();
|
|
122
|
+
const outpoints = [];
|
|
123
|
+
for (let i = 0; i < nOutpoints; i++) {
|
|
124
|
+
const txid = Utils.toHex(r.read(32));
|
|
125
|
+
const outputIndex = r.readVarIntNum();
|
|
126
|
+
const contextLength = r.readVarIntNum();
|
|
127
|
+
const context = contextLength > 0 ? r.read(contextLength) : undefined;
|
|
128
|
+
outpoints.push({ txid, outputIndex, context });
|
|
129
|
+
}
|
|
130
|
+
const beef = r.read();
|
|
131
|
+
const beefObj = Beef_js_1.Beef.fromBinary(beef);
|
|
132
|
+
const outputs = await this.extractAtomicOutputs(outpoints, beefObj);
|
|
133
|
+
return { type: 'output-list', outputs };
|
|
134
|
+
}
|
|
135
|
+
/** Memoize per-txid atomic BEEF extraction, yielding to the event loop between outputs. */
|
|
136
|
+
async extractAtomicOutputs(outpoints, beefObj) {
|
|
137
|
+
const beefByTxid = new Map();
|
|
138
|
+
const outputs = new Array(outpoints.length);
|
|
139
|
+
for (let idx = 0; idx < outpoints.length; idx++) {
|
|
140
|
+
const x = outpoints[idx];
|
|
141
|
+
let beefBytes = beefByTxid.get(x.txid);
|
|
142
|
+
if (beefBytes === undefined) {
|
|
143
|
+
beefBytes = beefObj.toBinaryAtomic(x.txid);
|
|
144
|
+
beefByTxid.set(x.txid, beefBytes);
|
|
145
|
+
}
|
|
146
|
+
outputs[idx] = { outputIndex: x.outputIndex, context: x.context, beef: beefBytes, txid: x.txid };
|
|
147
|
+
// Yield to event loop so UI animations and other JS don't starve.
|
|
148
|
+
if (idx > 0 && idx < outpoints.length - 1) {
|
|
149
|
+
await new Promise((resolve) => setTimeout(resolve, 0));
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
return outputs;
|
|
153
|
+
}
|
|
143
154
|
}
|
|
144
155
|
exports.HTTPSOverlayLookupFacilitator = HTTPSOverlayLookupFacilitator;
|
|
145
156
|
/**
|
|
@@ -180,13 +191,20 @@ class LookupResolver {
|
|
|
180
191
|
* answered (or with an empty result if no host has answered by `softTimeoutMs`).
|
|
181
192
|
*/
|
|
182
193
|
async query(question, timeout, options) {
|
|
183
|
-
let last = null;
|
|
184
194
|
// Existing fast-but-narrow contract: return at the first cumulative emission
|
|
185
195
|
// (the post-grace aggregate, or the final emission when every host settles
|
|
186
196
|
// before the grace window). Callers wanting progressive enrichment use query$().
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
197
|
+
// Take only the first emission, then explicitly close the iterator so the
|
|
198
|
+
// generator's `finally` block runs and clears any outstanding timers.
|
|
199
|
+
const iter = this.query$(question, timeout, options)[Symbol.asyncIterator]();
|
|
200
|
+
let last = null;
|
|
201
|
+
try {
|
|
202
|
+
const { value, done } = await iter.next();
|
|
203
|
+
if (done !== true && value != null)
|
|
204
|
+
last = value;
|
|
205
|
+
}
|
|
206
|
+
finally {
|
|
207
|
+
await iter.return?.(undefined);
|
|
190
208
|
}
|
|
191
209
|
return {
|
|
192
210
|
type: 'output-list',
|
|
@@ -271,33 +289,17 @@ class LookupResolver {
|
|
|
271
289
|
let graceTimer = null;
|
|
272
290
|
let graceFired = false;
|
|
273
291
|
let emittedOnce = false;
|
|
274
|
-
const beefKey = (beef) => {
|
|
275
|
-
if (typeof beef !== 'object' || beef == null)
|
|
276
|
-
return '';
|
|
277
|
-
return beef.join(',');
|
|
278
|
-
};
|
|
279
292
|
const mergeAnswer = (answer) => {
|
|
280
293
|
let added = false;
|
|
294
|
+
const now = Date.now();
|
|
281
295
|
for (const output of answer.outputs) {
|
|
282
|
-
const
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
try {
|
|
287
|
-
const txId = index_js_1.Transaction.fromBEEF(output.beef).id('hex');
|
|
288
|
-
memo = { txId, expiresAt: now + this.txMemoTtlMs };
|
|
289
|
-
if (this.txMemo.size > 4096)
|
|
290
|
-
this.evictOldest(this.txMemo);
|
|
291
|
-
this.txMemo.set(keyForBeef, memo);
|
|
292
|
-
}
|
|
293
|
-
catch {
|
|
294
|
-
continue;
|
|
295
|
-
}
|
|
296
|
-
}
|
|
297
|
-
const uniqKey = `${memo.txId}.${output.outputIndex}`;
|
|
296
|
+
const txId = this.resolveTxIdForOutput(output, now);
|
|
297
|
+
if (txId === null)
|
|
298
|
+
continue;
|
|
299
|
+
const uniqKey = `${txId}.${output.outputIndex}`;
|
|
298
300
|
if (!outputsMap.has(uniqKey)) {
|
|
299
301
|
outputsMap.set(uniqKey, output);
|
|
300
|
-
txIds.push(
|
|
302
|
+
txIds.push(txId);
|
|
301
303
|
added = true;
|
|
302
304
|
}
|
|
303
305
|
}
|
|
@@ -483,7 +485,32 @@ class LookupResolver {
|
|
|
483
485
|
}
|
|
484
486
|
});
|
|
485
487
|
}
|
|
486
|
-
/**
|
|
488
|
+
/**
|
|
489
|
+
* Resolve a txid for an aggregated lookup output. Uses the threaded-through `output.txid`
|
|
490
|
+
* fast path when present; otherwise memoizes Transaction.fromBEEF(beef).id('hex') keyed by
|
|
491
|
+
* the BEEF byte sequence. Returns null when the BEEF is unparseable.
|
|
492
|
+
*/
|
|
493
|
+
resolveTxIdForOutput(output, now) {
|
|
494
|
+
if (typeof output.txid === 'string' && output.txid.length > 0) {
|
|
495
|
+
return output.txid;
|
|
496
|
+
}
|
|
497
|
+
const keyForBeef = Array.isArray(output.beef) ? output.beef.join(',') : '';
|
|
498
|
+
const memo = this.txMemo.get(keyForBeef);
|
|
499
|
+
if (typeof memo === 'object' && memo !== null && memo.expiresAt > now) {
|
|
500
|
+
return memo.txId;
|
|
501
|
+
}
|
|
502
|
+
try {
|
|
503
|
+
const txId = index_js_1.Transaction.fromBEEF(output.beef).id('hex');
|
|
504
|
+
if (this.txMemo.size > 4096)
|
|
505
|
+
this.evictOldest(this.txMemo);
|
|
506
|
+
this.txMemo.set(keyForBeef, { txId, expiresAt: now + this.txMemoTtlMs });
|
|
507
|
+
return txId;
|
|
508
|
+
}
|
|
509
|
+
catch {
|
|
510
|
+
return null;
|
|
511
|
+
}
|
|
512
|
+
}
|
|
513
|
+
/** Evict an arbitrary "oldest" entry from a Map (iteration order). */
|
|
487
514
|
evictOldest(m) {
|
|
488
515
|
const firstKey = m.keys().next().value;
|
|
489
516
|
if (firstKey !== undefined)
|