Revision 86adc2c89f80fa21579877d3f3e198f794e2ab9a authored by Anton Kaliaev on 13 January 2020, 07:56:48 UTC, committed by GitHub on 13 January 2020, 07:56:48 UTC
* rename adjusted to adjacent Refs https://github.com/tendermint/tendermint/pull/3989#discussion_r352140829 * rename ErrTooMuchChange to ErrNotEnoughVotingPowerSigned Refs https://github.com/tendermint/tendermint/pull/3989#discussion_r352142785 * verify commit is properly signed * remove no longer trusted headers * restore trustedHeader and trustedNextVals * check trustedHeader using options Refs https://github.com/tendermint/tendermint/pull/4209#issuecomment-562462165 * use correct var when checking if headers are adjacent in bisection func + replace TODO with a comment https://github.com/tendermint/tendermint/pull/3989#discussion_r352125455 * return header in VerifyHeaderAtHeight because that way we avoid DB call + add godoc comments + check if there are no headers yet in AutoClient https://github.com/tendermint/tendermint/pull/3989#pullrequestreview-315454506 * TestVerifyAdjacentHeaders: add 2 more test-cases + add TestVerifyReturnsErrorIfTrustLevelIsInvalid * lite: avoid overflow when parsing key in db store! * lite: rename AutoClient#Err to Errs * lite: add a test for AutoClient * lite: fix keyPattern and call itr.Next in db store * lite: add two tests for db store * lite: add TestClientRemovesNoLongerTrustedHeaders * lite: test Client#Cleanup * lite: test restoring trustedHeader https://github.com/tendermint/tendermint/pull/4209#issuecomment-562462165 * lite: comment out unused code in test_helpers * fix TestVerifyReturnsErrorIfTrustLevelIsInvalid after merge * change defaultRemoveNoLongerTrustedHeadersPeriod and add docs * write more doc * lite: uncomment testable examples * use stdlog.Fatal to stop AutoClient tests * make lll linter happy * separate errors for 2 cases - the validator set of a skipped header cannot be trusted, i.e. <1/3rd of h1 validator set has signed (new error, something like ErrNewValSetCantBeTrusted) - the validator set is trusted but < 2/3rds has signed (ErrNewHeaderCantBeTrusted) https://github.com/tendermint/tendermint/pull/4209#discussion_r360331253 * remove all headers (even the last one) that are outside of the trusting period. By doing this, we avoid checking the trustedHeader's hash in checkTrustedHeaderUsingOptions (case #1). https://github.com/tendermint/tendermint/pull/4209#discussion_r360332460 * explain restoreTrustedHeaderAndNextVals better https://github.com/tendermint/tendermint/pull/4209#discussion_r360602328 * add ConfirmationFunction option for optionally prompting for user input Y/n before removing headers Refs https://github.com/tendermint/tendermint/pull/4209#discussion_r360602945 * make cleaning optional https://github.com/tendermint/tendermint/pull/4209#discussion_r364838189 * return error when user refused to remove headers * check for double votes in VerifyCommitTrusting * leave only ErrNewValSetCantBeTrusted error to differenciate between h2Vals.VerifyCommit and h1NextVals.VerifyCommitTrusting * fix example tests * remove unnecessary if condition https://github.com/tendermint/tendermint/pull/4209#discussion_r365171847 It will be handled by the above switch. * verifyCommitBasic does not depend on vals Co-authored-by: Marko <marbar3778@yahoo.com>
1 parent db235c8
File | Mode | Size |
---|---|---|
proto3 | ||
time | ||
block.go | -rw-r--r-- | 26.8 KB |
block_meta.go | -rw-r--r-- | 1.6 KB |
block_meta_test.go | -rw-r--r-- | 92 bytes |
block_test.go | -rw-r--r-- | 17.7 KB |
canonical.go | -rw-r--r-- | 2.4 KB |
codec.go | -rw-r--r-- | 528 bytes |
encoding_helper.go | -rw-r--r-- | 271 bytes |
errors.go | -rw-r--r-- | 1.0 KB |
event_bus.go | -rw-r--r-- | 8.7 KB |
event_bus_test.go | -rw-r--r-- | 10.8 KB |
events.go | -rw-r--r-- | 5.9 KB |
events_test.go | -rw-r--r-- | 379 bytes |
evidence.go | -rw-r--r-- | 10.4 KB |
evidence_test.go | -rw-r--r-- | 5.9 KB |
genesis.go | -rw-r--r-- | 3.9 KB |
genesis_test.go | -rw-r--r-- | 4.8 KB |
keys.go | -rw-r--r-- | 80 bytes |
params.go | -rw-r--r-- | 6.0 KB |
params_test.go | -rw-r--r-- | 3.5 KB |
part_set.go | -rw-r--r-- | 6.3 KB |
part_set_test.go | -rw-r--r-- | 3.9 KB |
priv_validator.go | -rw-r--r-- | 3.3 KB |
proposal.go | -rw-r--r-- | 2.7 KB |
proposal_test.go | -rw-r--r-- | 3.9 KB |
proto3_test.go | -rw-r--r-- | 2.8 KB |
protobuf.go | -rw-r--r-- | 6.4 KB |
protobuf_test.go | -rw-r--r-- | 5.2 KB |
results.go | -rw-r--r-- | 2.0 KB |
results_test.go | -rw-r--r-- | 1.5 KB |
signable.go | -rw-r--r-- | 713 bytes |
signed_msg_type.go | -rw-r--r-- | 440 bytes |
test_util.go | -rw-r--r-- | 1.8 KB |
tx.go | -rw-r--r-- | 4.2 KB |
tx_test.go | -rw-r--r-- | 4.9 KB |
utils.go | -rw-r--r-- | 762 bytes |
validation.go | -rw-r--r-- | 1.2 KB |
validator.go | -rw-r--r-- | 2.7 KB |
validator_set.go | -rw-r--r-- | 30.0 KB |
validator_set_test.go | -rw-r--r-- | 42.3 KB |
vote.go | -rw-r--r-- | 4.6 KB |
vote_set.go | -rw-r--r-- | 18.0 KB |
vote_set_test.go | -rw-r--r-- | 15.4 KB |
vote_test.go | -rw-r--r-- | 9.0 KB |
Computing file changes ...