diff --git a/nucypher/blockchain/eth/actors.py b/nucypher/blockchain/eth/actors.py index 4bc94663a..35c33e6d1 100644 --- a/nucypher/blockchain/eth/actors.py +++ b/nucypher/blockchain/eth/actors.py @@ -1459,15 +1459,14 @@ class Worker(NucypherTokenActor): self.__start_time = WORKER_NOT_RUNNING self.__uptime_period = WORKER_NOT_RUNNING - # Workers cannot be started without being assigned a stake first. if is_me: if block_until_ready: + # Workers cannot be started before bonding. self.block_until_ready() - + self.stakes = StakeList(registry=self.registry, checksum_address=self.checksum_address) + self.stakes.refresh() + self.work_tracker = work_tracker or WorkTracker(worker=self) if start_working_now: - self.stakes = StakeList(registry=self.registry, checksum_address=self.checksum_address) - self.stakes.refresh() - self.work_tracker = work_tracker or WorkTracker(worker=self) self.work_tracker.start(act_now=start_working_now) def block_until_ready(self, poll_rate: int = None, timeout: int = None, feedback_rate: int = None): diff --git a/nucypher/characters/lawful.py b/nucypher/characters/lawful.py index 1fa687d7f..4d1a4cd94 100644 --- a/nucypher/characters/lawful.py +++ b/nucypher/characters/lawful.py @@ -1057,7 +1057,7 @@ class Ursula(Teacher, Character, Worker): block_until_ready: bool = True, # TODO: Must be true in order to set staker address - Allow for manual staker addr to be passed too! work_tracker: WorkTracker = None, - start_working_now: bool = True, + start_working_now: bool = False, client_password: str = None, # Character @@ -1260,14 +1260,14 @@ class Ursula(Teacher, Character, Worker): def run(self, emitter: StdoutEmitter = None, - hendrix: bool = True, - learning: bool = True, + discovery: bool = True, availability: bool = True, worker: bool = True, pruning: bool = True, interactive: bool = False, + hendrix: bool = True, start_reactor: bool = True, - prometheus_config: 'PrometheusMetricsConfig' = None, + prometheus_config: 'PrometheusMetricsConfig' = None ) -> None: """Schedule and start select ursula services, then optionally start the reactor."""