From 8caa6e04b895f756e5c4a95e3caf151c6bb3a69b Mon Sep 17 00:00:00 2001 From: Mark Spanbroek Date: Mon, 9 Dec 2024 16:02:04 +0100 Subject: [PATCH] keep identity (private key) outside of the validator --- mysticeti/validator.nim | 11 +++++------ tests/mysticeti/simulator.nim | 2 +- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/mysticeti/validator.nim b/mysticeti/validator.nim index 18b1e9b..bca8b80 100644 --- a/mysticeti/validator.nim +++ b/mysticeti/validator.nim @@ -9,28 +9,27 @@ export slots export checks type Validator*[Dependencies] = ref object - identity: Dependencies.Identity + identifier: Dependencies.Identifier committee: Committee[Dependencies.Identifier] membership: CommitteeMember rounds: Rounds[Dependencies] func new*[Dependencies]( _: type Validator[Dependencies], - identity: Dependencies.Identity, + identifier: Dependencies.Identifier, committee: Committee[Dependencies.Identifier] ): Validator[Dependencies] = - without membership =? committee.membership(identity.identifier): + without membership =? committee.membership(identifier): raiseAssert "identity is not a member of the committee" Validator[Dependencies]( - identity: identity, + identifier: identifier, committee: committee, membership: membership, rounds: Rounds[Dependencies].init(committee.size) ) func identifier*(validator: Validator): auto = - mixin identifier - validator.identity.identifier + validator.identifier func membership*(validator: Validator): CommitteeMember = validator.membership diff --git a/tests/mysticeti/simulator.nim b/tests/mysticeti/simulator.nim index 6370ba1..d05be61 100644 --- a/tests/mysticeti/simulator.nim +++ b/tests/mysticeti/simulator.nim @@ -17,7 +17,7 @@ proc init*(_: type NetworkSimulator, numberOfValidators = 4): NetworkSimulator = let identities = newSeqWith(numberOfValidators, Identity.init()) let stakes = identities.mapIt( (it.identifier, 1/numberOfValidators) ) let committee = Committee.new(stakes) - let validators = identities.mapIt(Validator.new(it, committee)) + let validators = identities.mapIt(Validator.new(it.identifier, committee)) NetworkSimulator(identities: identities, validators: validators) func identities*(simulator: NetworkSimulator): seq[Identity] =