Only include self in fleet state if you're a VerifiableNode.

pull/547/head
jMyles 2018-11-10 19:56:08 -08:00
parent c4f3f39c1b
commit 75af0140b7
2 changed files with 9 additions and 1 deletions

View File

@ -392,7 +392,7 @@ class Bob(Character):
return cleartexts
class Ursula(Character, VerifiableNode, Miner):
class Ursula(VerifiableNode, Character, Miner):
_internal_splitter = BytestringSplitter((int, 4, {'byteorder': 'big'}),
Signature,
VariableLengthBytestring,

View File

@ -222,6 +222,10 @@ class Learner:
for node in stored_nodes:
self.remember_node(node)
def sorted_nodes(self):
nodes_to_consider = list(self.known_nodes.values())
return sorted(nodes_to_consider, key=lambda n: n.checksum_public_address)
def remember_node(self, node, force_verification_check=False):
if node == self: # No need to remember self.
@ -623,6 +627,10 @@ class VerifiableNode:
certificate = tls_hosting_power.keypair.certificate
return cls(certificate=certificate, certificate_filepath=certificate_filepath, *args, **kwargs)
def sorted_nodes(self):
nodes_to_consider = list(self.known_nodes.values()) + [self]
return sorted(nodes_to_consider, key=lambda n: n.checksum_public_address)
def _stamp_has_valid_wallet_signature(self):
signature_bytes = self._evidence_of_decentralized_identity
if signature_bytes is constants.NOT_SIGNED: