@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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bsv/overlay-discovery-services",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "type": "commonjs",
5
5
  "description": "BSV Blockchain Overlay Services Engine",
6
6
  "files": [
@@ -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 and service
44
+ // Validate domain
45
45
  if (!(0, isValidDomain_js_1.isValidDomain)(domain))
46
46
  continue;
47
- // if (!isValidTopicName(topic)) continue
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
- console.error('Error processing output:', error);
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
- console.error('Error identifying admissible outputs:', error);
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,8BAA8B;oBAC9B,IAAI,CAAC,IAAA,gCAAa,EAAC,MAAM,CAAC;wBAAE,SAAQ;oBACpC,yCAAyC;oBAEzC,6CAA6C;oBAC7C,IAAA,4BAAW,EAAC,WAAW,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;oBAElF,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBACxB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAA;gBAClD,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,KAAK,CAAC,CAAA;QAC/D,CAAC;QAED,OAAO;YACL,cAAc;YACd,aAAa,EAAE,EAAE;SAClB,CAAA;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,gBAAgB;QACpB,OAAO,MAAM,IAAA,sCAAgB,EAAC,oCAAoC,CAAC,CAAA;IACrE,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW;QAOf,OAAO;YACL,IAAI,EAAE,oBAAoB;YAC1B,gBAAgB,EAAE,oDAAoD;SACvE,CAAA;IACH,CAAC;CACF;AA1ED,4CA0EC"}
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
- console.error('Error processing output:', error);
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
- console.error('Error identifying admissible outputs:', error);
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,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,6CAA6C;oBAC7C,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;oBAC3C,IAAI,cAAc,KAAK,MAAM;wBAAE,SAAQ;oBAEvC,8BAA8B;oBAC9B,+CAA+C;oBAC/C,IAAI,CAAC,IAAA,0CAAkB,EAAC,OAAO,CAAC;wBAAE,SAAQ;oBAE1C,6CAA6C;oBAC7C,IAAA,4BAAW,EAAC,WAAW,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;oBAElF,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBACxB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAA;gBAClD,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,KAAK,CAAC,CAAA;QAC/D,CAAC;QAED,OAAO;YACL,cAAc;YACd,aAAa,EAAE,EAAE;SAClB,CAAA;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,gBAAgB;QACpB,OAAO,MAAM,IAAA,sCAAgB,EAAC,oCAAoC,CAAC,CAAA;IACrE,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW;QAOf,OAAO;YACL,IAAI,EAAE,oBAAoB;YAC1B,gBAAgB,EAAE,sDAAsD;SACzE,CAAA;IACH,CAAC;CACF;AAzED,4CAyEC"}
1
+ {"version":3,"file":"SLAPTopicManager.js","sourceRoot":"","sources":["../../../../src/SLAP/SLAPTopicManager.ts"],"names":[],"mappings":"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"}