trac-msb 0.0.83 → 0.0.85
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/Whitelist/pubkeys.csv +9 -1
- package/package.json +1 -1
- package/src/index.js +7 -5
- package/src/network.js +8 -8
package/Whitelist/pubkeys.csv
CHANGED
|
@@ -3,4 +3,12 @@ e247a9ceefb8a83e28d3c5845055910bc61e0b418c7578d297354708f276af04
|
|
|
3
3
|
a3590854889d059927fed4dfdf329b75447bc9f5885b6a843b317d1c2d38258a
|
|
4
4
|
dd2f83c9cb1d146c8be6c1d98822cbbb3f631a0659b765c9e4564960acf6e228
|
|
5
5
|
726b2885e551a98c20b37675b113476390f57321768a303e1b6c029ffca509a9
|
|
6
|
-
7da7f48e1c805b551fd69a2b6e59b99c00740dea699c66e10b88bd1efb932815
|
|
6
|
+
7da7f48e1c805b551fd69a2b6e59b99c00740dea699c66e10b88bd1efb932815
|
|
7
|
+
b54b21197bc35c4c3da4900c39f6c6657ff4d7de03c6da7d5f72b87b26cae108
|
|
8
|
+
b1226d4a4d9e44226a69c9109769c2437dfa3f7ee551bfd3e79226dd3c1706e3
|
|
9
|
+
0771f4cb2e3bb22b8f6f91d4c2d0cf83dcef7f20499e773bd940c428caae99e9
|
|
10
|
+
3f6e5959f61c2fca1704dbe03273d03729a7170e1a09515d2cdc302d47771ddd
|
|
11
|
+
e74ea17cc6e05f0b09588a70d8573fca63de715a763420ff7e14b68a0c1d1d14
|
|
12
|
+
9dedf2e9f8f63c2ffbdccba6a3e28ace22c3788fbdbcf71b030b8574eeaa92c1
|
|
13
|
+
656c9a53cbed98f9e783b6fd53667a2793c4fd74975cd26971582ea3ab9955f1
|
|
14
|
+
1184e8f926a2f76f12685c9e3fa6b3cd542277ab6c7a09fd02a7391240ceeb18
|
package/package.json
CHANGED
package/src/index.js
CHANGED
|
@@ -437,11 +437,16 @@ export class MainSettlementBus extends ReadyResource {
|
|
|
437
437
|
return !!(this.#wallet.publicKey === adminEntry.tracPublicKey && adminEntry.wk === this.#writingKey);
|
|
438
438
|
}
|
|
439
439
|
|
|
440
|
-
async isAllowedToRequestRole(key, adminEntry) {
|
|
440
|
+
async #isAllowedToRequestRole(key, adminEntry) {
|
|
441
441
|
const isWhitelisted = await this.#isWhitelisted(key);
|
|
442
442
|
return !!(isWhitelisted && !this.#isAdmin(adminEntry));
|
|
443
443
|
}
|
|
444
444
|
|
|
445
|
+
async _isAllowedToRequestRole(key, adminEntry) {
|
|
446
|
+
const isWhitelisted = await this.#isWhitelisted(key);
|
|
447
|
+
return isWhitelisted && this.#isAdmin(adminEntry);
|
|
448
|
+
}
|
|
449
|
+
|
|
445
450
|
async #isWhitelisted(key) {
|
|
446
451
|
const whitelistEntry = await this.getWhitelistEntry(key)
|
|
447
452
|
return !!whitelistEntry;
|
|
@@ -644,7 +649,7 @@ export class MainSettlementBus extends ReadyResource {
|
|
|
644
649
|
const isAlreadyWriter = !!(nodeEntry && nodeEntry.isWriter)
|
|
645
650
|
let assembledMessage = null;
|
|
646
651
|
if (toAdd) {
|
|
647
|
-
const isAllowedToRequestRole = await this
|
|
652
|
+
const isAllowedToRequestRole = await this.#isAllowedToRequestRole(this.#wallet.publicKey, adminEntry);
|
|
648
653
|
const canAddWriter = !!(!this.#base.writable && !isAlreadyWriter && isAllowedToRequestRole);
|
|
649
654
|
if (canAddWriter) {
|
|
650
655
|
assembledMessage = await MsgUtils.assembleAddWriterMessage(this.#wallet, this.#writingKey);
|
|
@@ -656,12 +661,9 @@ export class MainSettlementBus extends ReadyResource {
|
|
|
656
661
|
}
|
|
657
662
|
}
|
|
658
663
|
|
|
659
|
-
console.log(assembledMessage);
|
|
660
|
-
|
|
661
664
|
if (assembledMessage) {
|
|
662
665
|
this.#sendMessageToAdmin(adminEntry, assembledMessage);
|
|
663
666
|
}
|
|
664
|
-
|
|
665
667
|
}
|
|
666
668
|
|
|
667
669
|
async #updateIndexerRole(tracPublicKey, toAdd) {
|
package/src/network.js
CHANGED
|
@@ -70,15 +70,15 @@ class Network {
|
|
|
70
70
|
if(msg === 'get_writer_key'){
|
|
71
71
|
await connection.send(b4a.from(JSON.stringify({op:'writer_key', key : writingKey})));
|
|
72
72
|
} else if(msg.op !== undefined && msg.message !== undefined && msg.op === 'add_writer'){
|
|
73
|
-
msg = msg.
|
|
73
|
+
msg = msg.message;
|
|
74
74
|
const adminEntry = await msb.getSigned(EntryType.ADMIN);
|
|
75
|
-
|
|
76
|
-
const
|
|
77
|
-
const
|
|
78
|
-
const
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
await base.append(msg
|
|
75
|
+
if(null === adminEntry || (adminEntry.tracPublicKey !== wallet.publicKey)) return;
|
|
76
|
+
const nodeEntry = await msb.getSigned(msg.value.pub);
|
|
77
|
+
const isAlreadyWriter = null !== nodeEntry && nodeEntry.isWriter;
|
|
78
|
+
const isAllowedToRequestRole = await msb._isAllowedToRequestRole(msg.value.pub, adminEntry);
|
|
79
|
+
const canAddWriter = base.writable && !isAlreadyWriter && isAllowedToRequestRole;
|
|
80
|
+
if(msg.value.pub !== wallet.publicKey && canAddWriter){
|
|
81
|
+
await base.append(msg);
|
|
82
82
|
}
|
|
83
83
|
} else {
|
|
84
84
|
if (base.isIndexer || !base.writable) return;
|