@bsv/overlay-discovery-services 0.1.2 → 0.1.3
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/SHIP/SHIPTopicManager.js +18 -5
- package/dist/cjs/src/SHIP/SHIPTopicManager.js.map +1 -1
- package/dist/cjs/src/SLAP/SLAPTopicManager.js +18 -4
- package/dist/cjs/src/SLAP/SLAPTopicManager.js.map +1 -1
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/esm/src/SHIP/SHIPTopicManager.js +18 -5
- package/dist/esm/src/SHIP/SHIPTopicManager.js.map +1 -1
- package/dist/esm/src/SLAP/SLAPTopicManager.js +18 -4
- package/dist/esm/src/SLAP/SLAPTopicManager.js.map +1 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/types/src/SHIP/SHIPTopicManager.d.ts +1 -1
- package/dist/types/src/SHIP/SHIPTopicManager.d.ts.map +1 -1
- package/dist/types/src/SLAP/SLAPTopicManager.d.ts +1 -1
- package/dist/types/src/SLAP/SLAPTopicManager.d.ts.map +1 -1
- package/dist/types/tsconfig.types.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/SHIP/SHIPTopicManager.ts +21 -5
- package/src/SLAP/SLAPTopicManager.ts +31 -6
package/dist/cjs/package.json
CHANGED
|
@@ -10,7 +10,7 @@ const verifyToken_js_1 = require("../utils/verifyToken.js");
|
|
|
10
10
|
const isValidDomain_js_1 = require("../utils/isValidDomain.js");
|
|
11
11
|
const getDocumentation_js_1 = require("../utils/getDocumentation.js");
|
|
12
12
|
/**
|
|
13
|
-
* SHIP Topic Manager
|
|
13
|
+
* 🚢 SHIP Topic Manager
|
|
14
14
|
* Implements the TopicManager interface for SHIP (Service Host Interconnect Protocol) tokens.
|
|
15
15
|
*
|
|
16
16
|
* The SHIP Topic Manager identifies admissible outputs based on SHIP protocol requirements.
|
|
@@ -41,21 +41,34 @@ class SHIPTopicManager {
|
|
|
41
41
|
// const topic = result.fields[3].toString()
|
|
42
42
|
if (shipIdentifier !== 'SHIP')
|
|
43
43
|
continue;
|
|
44
|
-
// Validate domain
|
|
44
|
+
// Validate domain
|
|
45
45
|
if (!(0, isValidDomain_js_1.isValidDomain)(domain))
|
|
46
46
|
continue;
|
|
47
|
-
//
|
|
47
|
+
// Additional validations can be added here
|
|
48
48
|
// Verify the token locking key and signature
|
|
49
49
|
(0, verifyToken_js_1.verifyToken)(identityKey, result.lockingPublicKey, result.fields, result.signature);
|
|
50
50
|
outputsToAdmit.push(i);
|
|
51
51
|
}
|
|
52
52
|
catch (error) {
|
|
53
|
-
|
|
53
|
+
// It's common for other outputs to be invalid; no need to log an error here
|
|
54
|
+
continue;
|
|
54
55
|
}
|
|
55
56
|
}
|
|
56
57
|
}
|
|
57
58
|
catch (error) {
|
|
58
|
-
|
|
59
|
+
// Only log an error if no outputs were admitted and no previous coins consumed
|
|
60
|
+
if (outputsToAdmit.length === 0 && (!previousCoins || previousCoins.length === 0)) {
|
|
61
|
+
console.error('⛴️ Error identifying admissible outputs:', error);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
if (outputsToAdmit.length > 0) {
|
|
65
|
+
console.log(`🛳️ Ahoy! Admitted ${outputsToAdmit.length} SHIP ${outputsToAdmit.length === 1 ? 'output' : 'outputs'}!`);
|
|
66
|
+
}
|
|
67
|
+
if (previousCoins && previousCoins.length > 0) {
|
|
68
|
+
console.log(`🚢 Consumed ${previousCoins.length} previous SHIP ${previousCoins.length === 1 ? 'coin' : 'coins'}!`);
|
|
69
|
+
}
|
|
70
|
+
if (outputsToAdmit.length === 0 && (!previousCoins || previousCoins.length === 0)) {
|
|
71
|
+
console.warn('⚓ No SHIP outputs admitted and no previous SHIP coins consumed.');
|
|
59
72
|
}
|
|
60
73
|
return {
|
|
61
74
|
outputsToAdmit,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SHIPTopicManager.js","sourceRoot":"","sources":["../../../../src/SHIP/SHIPTopicManager.ts"],"names":[],"mappings":";;;;;;AACA,kCAAsC;AACtC,wDAA+B;AAC/B,4DAAqD;AACrD,gEAAyD;AACzD,sEAA+D;AAE/D;;;;;;GAMG;AACH,MAAa,gBAAgB;IAC3B;;;;;OAKG;IACH,KAAK,CAAC,yBAAyB,CAAC,IAAc,EAAE,aAAuB;QACrE,MAAM,cAAc,GAAa,EAAE,CAAA;QACnC,IAAI,CAAC;YACH,MAAM,iBAAiB,GAAG,iBAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;YAEpD,KAAK,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,iBAAiB,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC9D,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,kBAAQ,CAAC,MAAM,CAAC;wBAC7B,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE;wBACpC,WAAW,EAAE,QAAQ;qBACtB,CAAC,CAAA;oBAEF,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;wBAAE,SAAQ,CAAC,mCAAmC;oBAE5E,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;oBAClD,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;oBACpD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;oBAC1C,4CAA4C;oBAE5C,IAAI,cAAc,KAAK,MAAM;wBAAE,SAAQ;oBAEvC,
|
|
1
|
+
{"version":3,"file":"SHIPTopicManager.js","sourceRoot":"","sources":["../../../../src/SHIP/SHIPTopicManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ const verifyToken_js_1 = require("../utils/verifyToken.js");
|
|
|
10
10
|
const isValidServiceName_js_1 = require("../utils/isValidServiceName.js");
|
|
11
11
|
const getDocumentation_js_1 = require("../utils/getDocumentation.js");
|
|
12
12
|
/**
|
|
13
|
-
* SLAP Topic Manager
|
|
13
|
+
* 🤚 SLAP Topic Manager
|
|
14
14
|
* Implements the TopicManager interface for SLAP (Service Lookup Availability Protocol) tokens.
|
|
15
15
|
*
|
|
16
16
|
* The SLAP Topic Manager identifies admissible outputs based on SLAP protocol requirements.
|
|
@@ -50,12 +50,26 @@ class SLAPTopicManager {
|
|
|
50
50
|
outputsToAdmit.push(i);
|
|
51
51
|
}
|
|
52
52
|
catch (error) {
|
|
53
|
-
|
|
53
|
+
// It's common for other outputs to be invalid; no need to log an error here
|
|
54
|
+
continue;
|
|
54
55
|
}
|
|
55
56
|
}
|
|
56
57
|
}
|
|
57
58
|
catch (error) {
|
|
58
|
-
|
|
59
|
+
// Only log an error if no outputs were admitted and no previous coins consumed
|
|
60
|
+
if (outputsToAdmit.length === 0 && (!previousCoins || previousCoins.length === 0)) {
|
|
61
|
+
console.error('🤚 Error identifying admissible outputs:', error);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
// Friendly logging with slappy emojis!
|
|
65
|
+
if (outputsToAdmit.length > 0) {
|
|
66
|
+
console.log(`👏 Admitted ${outputsToAdmit.length} SLAP ${outputsToAdmit.length === 1 ? 'output' : 'outputs'}!`);
|
|
67
|
+
}
|
|
68
|
+
if (previousCoins && previousCoins.length > 0) {
|
|
69
|
+
console.log(`✋ Consumed ${previousCoins.length} previous SLAP ${previousCoins.length === 1 ? 'coin' : 'coins'}!`);
|
|
70
|
+
}
|
|
71
|
+
if (outputsToAdmit.length === 0 && (!previousCoins || previousCoins.length === 0)) {
|
|
72
|
+
console.warn('😕 No SLAP outputs admitted and no previous SLAP coins consumed.');
|
|
59
73
|
}
|
|
60
74
|
return {
|
|
61
75
|
outputsToAdmit,
|
|
@@ -76,7 +90,7 @@ class SLAPTopicManager {
|
|
|
76
90
|
async getMetaData() {
|
|
77
91
|
return {
|
|
78
92
|
name: 'SLAP Topic Manager',
|
|
79
|
-
shortDescription: 'Manages SLAP tokens for service lookup availability.'
|
|
93
|
+
shortDescription: 'Manages SLAP tokens for service lookup availability.'
|
|
80
94
|
};
|
|
81
95
|
}
|
|
82
96
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SLAPTopicManager.js","sourceRoot":"","sources":["../../../../src/SLAP/SLAPTopicManager.ts"],"names":[],"mappings":";;;;;;AACA,kCAAsC;AACtC,wDAA+B;AAC/B,4DAAqD;AACrD,0EAAmE;AACnE,sEAA+D;AAE/D;;;;;;GAMG;AACH,MAAa,gBAAgB;IAC3B;;;;;OAKG;IACH,KAAK,CAAC,yBAAyB,
|
|
1
|
+
{"version":3,"file":"SLAPTopicManager.js","sourceRoot":"","sources":["../../../../src/SLAP/SLAPTopicManager.ts"],"names":[],"mappings":"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"}
|