teor
8a4245daab
Improve zebra-consensus logging and metrics ( #989 )
2020-09-04 08:06:21 +10:00
teor
78201b456d
feature: Implement checkpoint_sync for checkpoint verification
...
* add CheckpointList::new_up_to(limit: NetworkUpgrade)
* if checkpoint_sync is false, limit checkpoints to Sapling
* update tests for CheckpointList and chain::init
2020-08-24 15:34:46 +10:00
Henry de Valence
103b663c40
chain: rename BlockHeight to block::Height
2020-08-17 11:46:34 -07:00
Henry de Valence
61dea90e2f
chain: rename BlockHeaderHash to block::Hash
...
This is the first in a sequence of changes that change the block:: items
to not include Block as a prefix in their name, in accordance with the
Rust API guidelines.
2020-08-17 11:46:34 -07:00
Henry de Valence
948b067808
chain: move Network, NetworkUpgrade to parameters
...
Also, avoid using star-imports of the enum variants, which pollutes the
namespace.
2020-08-17 11:46:34 -07:00
Henry de Valence
dad6340cd3
chain: move BlockHeight into block
2020-08-17 11:46:34 -07:00
teor
ee6f0de14d
refactor: Move NetworkUpgrade to zebra-chain
2020-08-10 18:54:42 +10:00
teor
65c3c503d5
fix: Improve verifier diagnostics
...
Log a message with the height when we get duplicate blocks.
Downgrade some verifier errors and warnings to info and debug, because
some peers on mainnet consistently provide bad blocks.
2020-08-10 15:12:08 +10:00
teor
d4d1edad5a
fix: Use types to avoid ChainVerifier inconsistencies ( #797 )
2020-07-31 10:21:20 +10:00
teor
5b9703f95a
fix: Avoid creating a CheckpointVerifier if it is not needed
...
Also:
* make sure the checkpoints cover all pre-Sapling blocks
* do some minor refactoring to reduce duplicate code
2020-07-30 13:30:18 +10:00
teor
fbeae99328
fix: Only warn on unexpected high blocks
...
High blocks are expected when we restart with most of the chain in our
state.
Also downgrade the message from warn to info.
2020-07-30 13:30:18 +10:00
teor
2acfcf3a90
Make the CheckpointVerifier handle partial restarts ( #736 )
...
Also put generic bounds on the BlockVerifier struct,
so we get better compilation errors.
2020-07-24 11:47:48 +10:00
teor
132875198e
fix: Simplify ChainVerifier
2020-07-23 03:46:24 -04:00
Henry de Valence
c2c2a28e8b
Improve tracing output in chain verifier
2020-07-22 21:59:00 -07:00
teor
cf9bd2c974
diagnostic: Warn on unexpected high blocks
2020-07-23 10:26:25 +10:00
teor
52002ac3c5
feature: Add tracing to chain and checkpoint verifiers
2020-07-23 10:26:25 +10:00
teor
e75697300b
fix: Remove some dead code lints
2020-07-23 10:26:25 +10:00
teor
a998346f4c
refactor: Split out a simpler chain::init function
...
This new chain::init function will let us hide the BlockVerifier and
CheckpointVerifier from the zebra-consensus public interface.
(If needed.)
2020-07-23 10:26:25 +10:00
teor
b8b1239ac4
feature: Implement a basic ChainVerifier service
...
The ChainVerifier service chooses between CheckpointVerifier and
BlockVerifier, based on the block's height.
2020-07-22 12:51:19 +10:00