31 lines
		
	
	
		
			749 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			749 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
msc {
 | 
						|
  hscale="2.2";
 | 
						|
   VoteSigner,
 | 
						|
   Validator,
 | 
						|
   Cluster,
 | 
						|
   StakerX,
 | 
						|
   StakerY;
 | 
						|
 | 
						|
   |||;
 | 
						|
  Validator box Validator [label="boot.."];
 | 
						|
 | 
						|
  VoteSigner <:> Validator [label="register\n\n(optional)"];
 | 
						|
  Validator => Cluster [label="VoteState::Initialize(VoteSigner)"];
 | 
						|
  StakerX => Cluster [label="StakeState::Delegate(Validator)"];
 | 
						|
  StakerY => Cluster [label="StakeState::Delegate(Validator)"];
 | 
						|
 | 
						|
     |||;
 | 
						|
  Validator box Cluster [label="\nvalidate\n"];
 | 
						|
  Validator => VoteSigner [label="sign(vote)"];
 | 
						|
  VoteSigner >> Validator [label="signed vote"];
 | 
						|
 | 
						|
  Validator => Cluster [label="gossip(vote)"];
 | 
						|
  ...;
 | 
						|
  ... ;
 | 
						|
  Validator abox Validator [label="\nmax\nlockout\n"];
 | 
						|
       |||;
 | 
						|
  Cluster box Cluster [label="credits redeemed (at epoch)"];
 | 
						|
 | 
						|
 | 
						|
}
 |