Page MenuHomePhabricator

[avalanche] First iteration on Proof
ClosedPublic

Authored by deadalnix on Jul 9 2020, 12:14.

Details

Reviewers
jasonbcox
Fabien
Group Reviewers
Restricted Project
Commits
rABC4bb3a0b738ee: [avalanche] First iteration on Proof
Summary

This is an iteration on what proofs might look like.

Test Plan
ninja all check-avalanche

Event Timeline

Snippet of first build failure:

[224/283] bitcoin: testing base64_tests
[225/283] bitcoin: testing server_tests
[226/283] bitcoin: testing work_comparator_tests
[227/283] bitcoin: testing op_reversebytes_tests
[228/283] bitcoin: testing psbt_wallet_tests
[229/283] bitcoin: testing merkle_tests
[230/283] bitcoin: testing rcu_tests
[231/283] bitcoin: testing dbwrapper_tests
[232/283] bitcoin: testing mempool_tests
[233/283] bitcoin: testing wallet_tests
[234/283] bitcoin: testing blockfilter_tests
[235/283] bitcoin: testing config_tests
[236/283] bitcoin: testing init_tests
[237/283] bitcoin: testing multisig_tests
[238/283] bitcoin: testing scheduler_tests
[239/283] bitcoin: testing checkqueue_tests
[240/283] bitcoin: testing policyestimator_tests
[241/283] bitcoin: testing blockfilter_index_tests
[242/283] bitcoin: testing key_tests
[243/283] bitcoin: testing blockindex_tests
[244/283] bitcoin: testing merkleblock_tests
[245/283] bitcoin: testing script_commitment_tests
[246/283] bitcoin: testing sighashtype_tests
[247/283] bitcoin: testing bip32_tests
[248/283] bitcoin: testing finalization_tests
[249/283] bitcoin: testing sync_tests
[250/283] bitcoin: testing torcontrol_tests
[251/283] bitcoin: testing schnorr_tests
[252/283] bitcoin: testing denialofservice_tests
[253/283] bitcoin: testing timedata_tests
[254/283] bitcoin: testing blockcheck_tests
[255/283] bitcoin: testing undo_tests
[256/283] bitcoin: testing uint256_tests
[257/283] bitcoin: testing util_threadnames_tests
[258/283] bitcoin: testing serialize_tests
[259/283] bitcoin: testing walletdb_tests
[260/283] bitcoin: testing checkpoints_tests
[261/283] bitcoin: testing sigencoding_tests
[262/283] bitcoin: testing validationinterface_tests
[263/283] bitcoin: testing addrman_tests
[264/283] bitcoin: testing script_standard_tests
[265/283] bitcoin: testing ismine_tests
[266/283] bitcoin: testing blockstatus_tests
[267/283] bitcoin: testing radix_tests
[268/283] bitcoin: testing bswap_tests
[269/283] bitcoin: testing validation_block_tests
[270/283] bitcoin: testing cashaddr_tests
[271/283] bitcoin: testing hash_tests
[272/283] bitcoin: testing crypto_tests
[273/283] bitcoin: testing versionbits_tests
[274/283] bitcoin: testing monolith_opcodes_tests
[275/283] bitcoin: testing validation_tests
[276/283] bitcoin: testing util_tests
[277/283] bitcoin: testing cuckoocache_tests
[278/283] bitcoin: testing coins_tests
[279/283] bitcoin: testing coinselector_tests
[280/283] bitcoin: testing transaction_tests
[281/283] Running bitcoin test suite
PASSED: bitcoin test suite
Build build-clang-10 timed out after 1200.0s

Some reordering/renaming for consistency

Fabien added inline comments.
src/avalanche/proof.h
57

Talked offline, there is no error here.
I think it deserves a comment to explain that height is actually not the height, but but (height << 1) & isCoinbase(). Or maybe name it like coins.h, heightAndIsCoinbase.

84

You should use std::chrono::steady_clock::time_point to allow for adding expiration delay as a number of units

src/avalanche/proof.h
84

This cannot be serialized in a predictable manner.

Fabien retitled this revision from [avalanche] First iterration on Proof to [avalanche] First iteration on Proof.Jul 9 2020, 17:48
Fabien edited the summary of this revision. (Show Details)
This revision is now accepted and ready to land.Jul 9 2020, 17:52
This revision was automatically updated to reflect the committed changes.