mirror of https://github.com/nucypher/nucypher.git
Various changes in response to RFCs.
parent
abf485a2b7
commit
57bd9007ce
|
@ -76,7 +76,7 @@ class Character(Learner):
|
|||
|
||||
def __init__(self,
|
||||
domains: Set = None,
|
||||
node_class: object = None,
|
||||
known_node_class: object = None,
|
||||
is_me: bool = True,
|
||||
federated_only: bool = False,
|
||||
checksum_address: str = NO_BLOCKCHAIN_CONNECTION.bool_value(False),
|
||||
|
@ -118,17 +118,17 @@ class Character(Learner):
|
|||
# Operating Mode
|
||||
|
||||
if is_me:
|
||||
if not node_class:
|
||||
if not known_node_class:
|
||||
# Once in a while, in tests or demos, we init a plain Character who doesn't already know about its node class.
|
||||
from nucypher.characters.lawful import Ursula
|
||||
node_class = Ursula
|
||||
known_node_class = Ursula
|
||||
# If we're federated only, we assume that all other nodes in our domain are as well.
|
||||
node_class.set_federated_mode(federated_only)
|
||||
known_node_class.set_federated_mode(federated_only)
|
||||
else:
|
||||
# What an awful hack. The last convulsions of #466.
|
||||
# TODO: Anything else.
|
||||
with suppress(AttributeError):
|
||||
federated_only = node_class._federated_only_instances
|
||||
federated_only = known_node_class._federated_only_instances
|
||||
|
||||
if federated_only:
|
||||
if registry or provider_uri:
|
||||
|
@ -201,7 +201,7 @@ class Character(Learner):
|
|||
Learner.__init__(self,
|
||||
domains=domains,
|
||||
network_middleware=self.network_middleware,
|
||||
node_class=node_class,
|
||||
node_class=known_node_class,
|
||||
*args, **kwargs)
|
||||
|
||||
#
|
||||
|
|
|
@ -128,7 +128,7 @@ class Alice(Character, BlockchainPolicyAuthor):
|
|||
self.n = STRANGER_ALICE
|
||||
|
||||
Character.__init__(self,
|
||||
node_class=Ursula,
|
||||
known_node_class=Ursula,
|
||||
is_me=is_me,
|
||||
federated_only=federated_only,
|
||||
checksum_address=checksum_address,
|
||||
|
@ -463,7 +463,7 @@ class Bob(Character):
|
|||
self.evidence = evidence
|
||||
|
||||
def __init__(self, controller: bool = True, *args, **kwargs) -> None:
|
||||
Character.__init__(self, node_class=Ursula, *args, **kwargs)
|
||||
Character.__init__(self, known_node_class=Ursula, *args, **kwargs)
|
||||
|
||||
if controller:
|
||||
self.controller = self._controller_class(bob=self)
|
||||
|
@ -848,7 +848,7 @@ class Ursula(Teacher, Character, Worker):
|
|||
abort_on_learning_error=abort_on_learning_error,
|
||||
known_nodes=known_nodes,
|
||||
domains=domains,
|
||||
node_class=Ursula,
|
||||
known_node_class=Ursula,
|
||||
**character_kwargs)
|
||||
|
||||
#
|
||||
|
@ -1125,7 +1125,7 @@ class Ursula(Teacher, Character, Worker):
|
|||
seednode_stake = staking_agent.get_locked_tokens(staker_address=checksum_address)
|
||||
if seednode_stake < minimum_stake:
|
||||
raise Learner.NotATeacher(
|
||||
f"{checksum_address} is staking less then the specified minimum stake value ({minimum_stake}).")
|
||||
f"{checksum_address} is staking less than the specified minimum stake value ({minimum_stake}).")
|
||||
|
||||
# OK - everyone get out
|
||||
temp_node_storage.forget()
|
||||
|
@ -1323,7 +1323,7 @@ class Enrico(Character):
|
|||
|
||||
# Encrico never uses the blockchain, hence federated_only)
|
||||
kwargs['federated_only'] = True
|
||||
kwargs['node_class'] = Ursula
|
||||
kwargs['known_node_class'] = Ursula
|
||||
super().__init__(*args, **kwargs)
|
||||
|
||||
if controller:
|
||||
|
|
|
@ -913,7 +913,8 @@ class Learner:
|
|||
# Do we want both of these to be decided by `eager`?
|
||||
eager=eager,
|
||||
grow_node_sprout_into_node=eager)
|
||||
remembered.append(node_or_false)
|
||||
if node_or_false is not False:
|
||||
remembered.append(node_or_false)
|
||||
|
||||
#
|
||||
# Report Failure
|
||||
|
@ -958,11 +959,11 @@ class Learner:
|
|||
|
||||
|
||||
learning_round_log_message = "Learning round {}. Teacher: {} knew about {} nodes, {} were new."
|
||||
# self.log.info(learning_round_log_message.format(self._learning_round,
|
||||
# current_teacher,
|
||||
# len(node_list),
|
||||
# len(new_nodes)))
|
||||
if any(remembered):
|
||||
self.log.info(learning_round_log_message.format(self._learning_round,
|
||||
current_teacher,
|
||||
len(sprouts),
|
||||
len(remembered)))
|
||||
if remembered:
|
||||
self.known_nodes.record_fleet_state()
|
||||
return sprouts
|
||||
|
||||
|
@ -1353,7 +1354,7 @@ class Teacher:
|
|||
def nickname_icon_html(self):
|
||||
icon_template = """
|
||||
<div class="nucypher-nickname-icon" style="border-top-color:{first_color}; border-left-color:{first_color}; border-bottom-color:{second_color}; border-right-color:{second_color};">
|
||||
<span class="small">{node_class} v{version}</span>
|
||||
<span class="small">{known_node_class} v{version}</span>
|
||||
<div class="symbols">
|
||||
<span class="single-symbol" style="color: {first_color}">{first_symbol}︎</span>
|
||||
<span class="single-symbol" style="color: {second_color}">{second_symbol}︎</span>
|
||||
|
|
Loading…
Reference in New Issue