@bsv/sdk 1.3.32 → 1.3.34
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/auth/certificates/MasterCertificate.js +25 -15
- package/dist/cjs/src/auth/certificates/MasterCertificate.js.map +1 -1
- package/dist/cjs/src/auth/certificates/VerifiableCertificate.js +6 -2
- package/dist/cjs/src/auth/certificates/VerifiableCertificate.js.map +1 -1
- package/dist/cjs/src/overlay-tools/LookupResolver.js +22 -23
- package/dist/cjs/src/overlay-tools/LookupResolver.js.map +1 -1
- package/dist/cjs/src/overlay-tools/SHIPBroadcaster.js +17 -15
- package/dist/cjs/src/overlay-tools/SHIPBroadcaster.js.map +1 -1
- package/dist/cjs/src/overlay-tools/index.js +8 -2
- package/dist/cjs/src/overlay-tools/index.js.map +1 -1
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/esm/src/auth/certificates/MasterCertificate.js +25 -15
- package/dist/esm/src/auth/certificates/MasterCertificate.js.map +1 -1
- package/dist/esm/src/auth/certificates/VerifiableCertificate.js +6 -2
- package/dist/esm/src/auth/certificates/VerifiableCertificate.js.map +1 -1
- package/dist/esm/src/overlay-tools/LookupResolver.js +22 -22
- package/dist/esm/src/overlay-tools/LookupResolver.js.map +1 -1
- package/dist/esm/src/overlay-tools/SHIPBroadcaster.js +17 -14
- package/dist/esm/src/overlay-tools/SHIPBroadcaster.js.map +1 -1
- package/dist/esm/src/overlay-tools/index.js +4 -0
- package/dist/esm/src/overlay-tools/index.js.map +1 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/types/src/auth/certificates/MasterCertificate.d.ts +10 -4
- package/dist/types/src/auth/certificates/MasterCertificate.d.ts.map +1 -1
- package/dist/types/src/auth/certificates/VerifiableCertificate.d.ts +3 -1
- package/dist/types/src/auth/certificates/VerifiableCertificate.d.ts.map +1 -1
- package/dist/types/src/overlay-tools/LookupResolver.d.ts +12 -1
- package/dist/types/src/overlay-tools/LookupResolver.d.ts.map +1 -1
- package/dist/types/src/overlay-tools/SHIPBroadcaster.d.ts +13 -4
- package/dist/types/src/overlay-tools/SHIPBroadcaster.d.ts.map +1 -1
- package/dist/types/src/overlay-tools/index.d.ts +2 -0
- package/dist/types/src/overlay-tools/index.d.ts.map +1 -1
- package/dist/types/tsconfig.types.tsbuildinfo +1 -1
- package/dist/umd/bundle.js +1 -1
- package/docs/auth.md +25 -9
- package/docs/overlay-tools.md +58 -14
- package/package.json +1 -1
- package/src/auth/certificates/MasterCertificate.ts +37 -13
- package/src/auth/certificates/VerifiableCertificate.ts +8 -2
- package/src/overlay-tools/LookupResolver.ts +30 -30
- package/src/overlay-tools/SHIPBroadcaster.ts +25 -21
- package/src/overlay-tools/__tests/LookupResolver.test.ts +3 -3
- package/src/overlay-tools/__tests/SHIPBroadcaster.test.ts +3 -3
- package/src/overlay-tools/index.ts +5 -0
|
@@ -3,25 +3,28 @@ import OverlayAdminTokenTemplate from './OverlayAdminTokenTemplate.js';
|
|
|
3
3
|
/** Default SLAP trackers */
|
|
4
4
|
export const DEFAULT_SLAP_TRACKERS = [
|
|
5
5
|
// Babbage primary overlay service
|
|
6
|
-
'https://
|
|
7
|
-
// Babbage example overlay
|
|
8
|
-
'https://overlay-example.babbage.systems',
|
|
9
|
-
// The Babbage office building
|
|
10
|
-
'https://office.babbage.systems'
|
|
6
|
+
'https://users.bapp.dev'
|
|
11
7
|
// NOTE: Other entities may submit pull requests to the library if they maintain SLAP overlay services.
|
|
12
8
|
// Additional trackers run by different entities contribute to greater network resiliency.
|
|
13
9
|
// It also generally doesn't hurt to have more trackers in this list.
|
|
14
10
|
// DISCLAIMER:
|
|
15
11
|
// Trackers known to host invalid or illegal records will be removed at the discretion of the BSV Association.
|
|
16
12
|
];
|
|
13
|
+
/** Default testnet SLAP trackers */
|
|
14
|
+
export const DEFAULT_TESTNET_SLAP_TRACKERS = [
|
|
15
|
+
// Babbage primary testnet overlay service
|
|
16
|
+
'https://testnet-users.bapp.dev'
|
|
17
|
+
];
|
|
17
18
|
const MAX_TRACKER_WAIT_TIME = 1000;
|
|
18
19
|
export class HTTPSOverlayLookupFacilitator {
|
|
19
20
|
fetchClient;
|
|
20
|
-
|
|
21
|
+
allowHTTP;
|
|
22
|
+
constructor(httpClient = fetch, allowHTTP = false) {
|
|
21
23
|
this.fetchClient = httpClient;
|
|
24
|
+
this.allowHTTP = allowHTTP;
|
|
22
25
|
}
|
|
23
26
|
async lookup(url, question, timeout = 5000) {
|
|
24
|
-
if (!url.startsWith('https:')) {
|
|
27
|
+
if (!url.startsWith('https:') && !this.allowHTTP) {
|
|
25
28
|
throw new Error('HTTPS facilitator can only use URLs that start with "https:"');
|
|
26
29
|
}
|
|
27
30
|
const timeoutPromise = new Promise((resolve, reject) => setTimeout(() => reject(new Error('Request timed out')), timeout));
|
|
@@ -55,18 +58,13 @@ export default class LookupResolver {
|
|
|
55
58
|
slapTrackers;
|
|
56
59
|
hostOverrides;
|
|
57
60
|
additionalHosts;
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
};
|
|
65
|
-
const { facilitator = defaultConfig.facilitator, slapTrackers = defaultConfig.slapTrackers, hostOverrides = defaultConfig.hostOverrides, additionalHosts = defaultConfig.additionalHosts } = config ?? defaultConfig; // ✅ Use a default object directly
|
|
66
|
-
this.facilitator = facilitator ?? new HTTPSOverlayLookupFacilitator();
|
|
67
|
-
this.slapTrackers = slapTrackers ?? [];
|
|
68
|
-
this.hostOverrides = hostOverrides ?? {};
|
|
69
|
-
this.additionalHosts = additionalHosts ?? {};
|
|
61
|
+
networkPreset;
|
|
62
|
+
constructor(config = {}) {
|
|
63
|
+
this.networkPreset = config.networkPreset ?? 'mainnet';
|
|
64
|
+
this.facilitator = config.facilitator ?? new HTTPSOverlayLookupFacilitator(undefined, this.networkPreset === 'local');
|
|
65
|
+
this.slapTrackers = config.slapTrackers ?? (this.networkPreset === 'mainnet' ? DEFAULT_SLAP_TRACKERS : DEFAULT_TESTNET_SLAP_TRACKERS);
|
|
66
|
+
this.hostOverrides = config.hostOverrides ?? {};
|
|
67
|
+
this.additionalHosts = config.additionalHosts ?? {};
|
|
70
68
|
}
|
|
71
69
|
/**
|
|
72
70
|
* Given a LookupQuestion, returns a LookupAnswer. Aggregates across multiple services and supports resiliency.
|
|
@@ -74,11 +72,14 @@ export default class LookupResolver {
|
|
|
74
72
|
async query(question, timeout) {
|
|
75
73
|
let competentHosts = [];
|
|
76
74
|
if (question.service === 'ls_slap') {
|
|
77
|
-
competentHosts = this.slapTrackers;
|
|
75
|
+
competentHosts = this.networkPreset === 'local' ? ['http://localhost:8080'] : this.slapTrackers;
|
|
78
76
|
}
|
|
79
77
|
else if (this.hostOverrides[question.service] != null) {
|
|
80
78
|
competentHosts = this.hostOverrides[question.service];
|
|
81
79
|
}
|
|
80
|
+
else if (this.networkPreset === 'local') {
|
|
81
|
+
competentHosts = ['http://localhost:8080'];
|
|
82
|
+
}
|
|
82
83
|
else {
|
|
83
84
|
competentHosts = await this.findCompetentHosts(question.service);
|
|
84
85
|
}
|
|
@@ -89,7 +90,7 @@ export default class LookupResolver {
|
|
|
89
90
|
];
|
|
90
91
|
}
|
|
91
92
|
if (competentHosts.length < 1) {
|
|
92
|
-
throw new Error(`No competent hosts found by the SLAP trackers for lookup service: ${question.service}`);
|
|
93
|
+
throw new Error(`No competent ${this.networkPreset} hosts found by the SLAP trackers for lookup service: ${question.service}`);
|
|
93
94
|
}
|
|
94
95
|
// Use Promise.allSettled to handle individual host failures
|
|
95
96
|
const hostResponses = await Promise.allSettled(competentHosts.map(async (host) => await this.facilitator.lookup(host, question, timeout)));
|
|
@@ -131,7 +132,6 @@ export default class LookupResolver {
|
|
|
131
132
|
console.error('Error processing response outputs:', error);
|
|
132
133
|
}
|
|
133
134
|
}
|
|
134
|
-
// ✅ Ensure function always returns a value
|
|
135
135
|
return {
|
|
136
136
|
type: 'output-list',
|
|
137
137
|
outputs: Array.from(outputs.values())
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LookupResolver.js","sourceRoot":"","sources":["../../../../src/overlay-tools/LookupResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,yBAAyB,MAAM,gCAAgC,CAAA;AAmCtE,4BAA4B;AAC5B,MAAM,CAAC,MAAM,qBAAqB,GAAa;IAC7C,kCAAkC;IAClC,
|
|
1
|
+
{"version":3,"file":"LookupResolver.js","sourceRoot":"","sources":["../../../../src/overlay-tools/LookupResolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,11 +4,13 @@ import OverlayAdminTokenTemplate from './OverlayAdminTokenTemplate.js';
|
|
|
4
4
|
const MAX_SHIP_QUERY_TIMEOUT = 1000;
|
|
5
5
|
export class HTTPSOverlayBroadcastFacilitator {
|
|
6
6
|
httpClient;
|
|
7
|
-
|
|
7
|
+
allowHTTP;
|
|
8
|
+
constructor(httpClient = fetch, allowHTTP = false) {
|
|
8
9
|
this.httpClient = httpClient;
|
|
10
|
+
this.allowHTTP = false;
|
|
9
11
|
}
|
|
10
12
|
async send(url, taggedBEEF) {
|
|
11
|
-
if (!url.startsWith('https:')) {
|
|
13
|
+
if (!url.startsWith('https:') && !this.allowHTTP) {
|
|
12
14
|
throw new Error('HTTPS facilitator can only use URLs that start with "https:"');
|
|
13
15
|
}
|
|
14
16
|
const response = await fetch(`${url}/submit`, {
|
|
@@ -28,22 +30,23 @@ export class HTTPSOverlayBroadcastFacilitator {
|
|
|
28
30
|
}
|
|
29
31
|
}
|
|
30
32
|
/**
|
|
31
|
-
*
|
|
33
|
+
* Broadcasts transactions to one or more overlay topics.
|
|
32
34
|
*/
|
|
33
|
-
export default class
|
|
35
|
+
export default class TopicBroadcaster {
|
|
34
36
|
topics;
|
|
35
37
|
facilitator;
|
|
36
38
|
resolver;
|
|
37
39
|
requireAcknowledgmentFromAllHostsForTopics;
|
|
38
40
|
requireAcknowledgmentFromAnyHostForTopics;
|
|
39
41
|
requireAcknowledgmentFromSpecificHostsForTopics;
|
|
42
|
+
networkPreset;
|
|
40
43
|
/**
|
|
41
44
|
* Constructs an instance of the SHIP broadcaster.
|
|
42
45
|
*
|
|
43
46
|
* @param {string[]} topics - The list of SHIP topic names where transactions are to be sent.
|
|
44
47
|
* @param {SHIPBroadcasterConfig} config - Configuration options for the SHIP broadcaster.
|
|
45
48
|
*/
|
|
46
|
-
constructor(topics, config) {
|
|
49
|
+
constructor(topics, config = {}) {
|
|
47
50
|
if (topics.length === 0) {
|
|
48
51
|
throw new Error('At least one topic is required for broadcast.');
|
|
49
52
|
}
|
|
@@ -51,15 +54,15 @@ export default class SHIPBroadcaster {
|
|
|
51
54
|
throw new Error('Every topic must start with "tm_".');
|
|
52
55
|
}
|
|
53
56
|
this.topics = topics;
|
|
54
|
-
|
|
55
|
-
this.facilitator = facilitator ?? new HTTPSOverlayBroadcastFacilitator();
|
|
56
|
-
this.resolver = resolver ?? new LookupResolver();
|
|
57
|
+
this.networkPreset = config.networkPreset ?? 'mainnet';
|
|
58
|
+
this.facilitator = config.facilitator ?? new HTTPSOverlayBroadcastFacilitator(undefined, this.networkPreset === 'local');
|
|
59
|
+
this.resolver = config.resolver ?? new LookupResolver({ networkPreset: this.networkPreset });
|
|
57
60
|
this.requireAcknowledgmentFromAllHostsForTopics =
|
|
58
|
-
requireAcknowledgmentFromAllHostsForTopics ?? [];
|
|
61
|
+
config.requireAcknowledgmentFromAllHostsForTopics ?? [];
|
|
59
62
|
this.requireAcknowledgmentFromAnyHostForTopics =
|
|
60
|
-
requireAcknowledgmentFromAnyHostForTopics ?? 'all';
|
|
63
|
+
config.requireAcknowledgmentFromAnyHostForTopics ?? 'all';
|
|
61
64
|
this.requireAcknowledgmentFromSpecificHostsForTopics =
|
|
62
|
-
requireAcknowledgmentFromSpecificHostsForTopics ?? {};
|
|
65
|
+
config.requireAcknowledgmentFromSpecificHostsForTopics ?? {};
|
|
63
66
|
}
|
|
64
67
|
/**
|
|
65
68
|
* Broadcasts a transaction to Overlay Services via SHIP.
|
|
@@ -75,12 +78,12 @@ export default class SHIPBroadcaster {
|
|
|
75
78
|
catch (error) {
|
|
76
79
|
throw new Error('Transactions sent via SHIP to Overlay Services must be serializable to BEEF format.');
|
|
77
80
|
}
|
|
78
|
-
const interestedHosts = await this.findInterestedHosts();
|
|
81
|
+
const interestedHosts = this.networkPreset === 'local' ? ['http://localhost:8080'] : await this.findInterestedHosts();
|
|
79
82
|
if (Object.keys(interestedHosts).length === 0) {
|
|
80
83
|
return {
|
|
81
84
|
status: 'error',
|
|
82
85
|
code: 'ERR_NO_HOSTS_INTERESTED',
|
|
83
|
-
description:
|
|
86
|
+
description: `No ${this.networkPreset} hosts are interested in receiving this transaction.`
|
|
84
87
|
};
|
|
85
88
|
}
|
|
86
89
|
const hostPromises = Object.entries(interestedHosts).map(async ([host, topics]) => {
|
|
@@ -105,7 +108,7 @@ export default class SHIPBroadcaster {
|
|
|
105
108
|
return {
|
|
106
109
|
status: 'error',
|
|
107
110
|
code: 'ERR_ALL_HOSTS_REJECTED',
|
|
108
|
-
description:
|
|
111
|
+
description: `All ${this.networkPreset} topical hosts have rejected the transaction.`
|
|
109
112
|
};
|
|
110
113
|
}
|
|
111
114
|
// Collect host acknowledgments
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SHIPBroadcaster.js","sourceRoot":"","sources":["../../../../src/overlay-tools/SHIPBroadcaster.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EAIZ,MAAM,yBAAyB,CAAA;AAChC,OAAO,cAAc,MAAM,qBAAqB,CAAA;AAChD,OAAO,yBAAyB,MAAM,gCAAgC,CAAA;
|
|
1
|
+
{"version":3,"file":"SHIPBroadcaster.js","sourceRoot":"","sources":["../../../../src/overlay-tools/SHIPBroadcaster.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,5 +2,9 @@ export * from './LookupResolver.js';
|
|
|
2
2
|
export * from './SHIPBroadcaster.js';
|
|
3
3
|
export { default as OverlayAdminTokenTemplate } from './OverlayAdminTokenTemplate.js';
|
|
4
4
|
export { default as LookupResolver } from './LookupResolver.js';
|
|
5
|
+
// For intuitive clarity, we name this the Topic Broadcaster.
|
|
6
|
+
export { default as TopicBroadcaster } from './SHIPBroadcaster.js';
|
|
7
|
+
// Historically, it was also known by two other names:
|
|
5
8
|
export { default as SHIPBroadcaster } from './SHIPBroadcaster.js';
|
|
9
|
+
export { default as SHIPCast } from './SHIPBroadcaster.js';
|
|
6
10
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/overlay-tools/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA;AACpC,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AACrF,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/overlay-tools/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA;AACpC,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AACrF,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAE/D,6DAA6D;AAC7D,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAClE,sDAAsD;AACtD,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACjE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,sBAAsB,CAAA"}
|