Line data Source code
1 : #ifndef HEADER_fd_src_choreo_fd_choreo_base_h 2 : #define HEADER_fd_src_choreo_fd_choreo_base_h 3 : 4 : /* Choreo consensus library: 5 : 6 : - eqvoc: Block and vote equivocation. 7 : 8 : - forks: Frontier of banks. 9 : 10 : - ghost: Fork choice rule. 11 : 12 : - tower: TowerBFT algorithm. 13 : 14 : - voter: Voter tracking. 15 : 16 : */ 17 : 18 : #include "../flamenco/fd_flamenco.h" 19 : #include "../flamenco/types/fd_types.h" 20 : 21 : /* The Alpenglow VAT caps the voting set of validators to 2000. Round 22 : up to the nearest power of 2 and double for a reasonable fill ratio 23 : of 0.5 for maps, and we have an upper bound of 4096 to use in various 24 : choreo structures. 25 : 26 : https://github.com/solana-foundation/solana-improvement-documents/blob/main/proposals/0357-alpenglow_validator_admission_ticket.md */ 27 : 28 0 : #define FD_VOTER_MAX (4096) /* the maximum # of unique voters ie. node pubkeys. */ 29 : 30 : static const fd_pubkey_t pubkey_null = {{ 0 }}; 31 : static const fd_hash_t hash_null = {{ 0 }}; 32 : 33 : #endif /* HEADER_fd_src_choreo_fd_choreo_base_h */