teor
0f5eced5c7
Reject duplicate sprout nullifiers in the state ( #2477 )
...
* Reject duplicate sprout nullifiers in the state
* Improve docs and error messages
* Clarify "must be present" assert logs
* Move nullifier checks to their own module
Also:
* make non-finalized nullifier checks and errors generic over
sprout, sapling, and orchard
* create and update module and function documentation
* Fix a block type name in docs
* Move state assertions or skip them during tests
These changes enable state testing, while still asserting in production.
* Add sprout duplicate nullifier tests
* Improve comments
* Set value balance to 0 to pass future chain value pool checks
* Test finalized state in sprout nullifier accept test
* Replace assert with expect
* Improve assertion messages
2021-07-14 09:06:43 -03:00
teor
e49f96caf7
Move zebra_state::service::check tests to their own module ( #2483 )
2021-07-13 10:32:51 +10:00
Conrado Gouvea
c9e93a75f7
Replace primitives_types with uint ( #2350 )
2021-06-18 15:35:05 -03:00
teor
9da220517b
Update docs for Sapling to Canopy checkpoint change
2021-03-18 10:13:47 +10:00
Alfredo Garcia
436ce00fc2
Move height check to NetworkUpgrade ( #1505 )
...
* move height check to NetworkUpgrade
* refactor the max block time height check
Co-authored-by: teor <teor@riseup.net>
2020-12-15 08:30:38 +10:00
teor
394634c933
Remove a redundant argument ( #1456 )
2020-12-14 11:05:31 +10:00
teor
b72d095d6b
Fix a comment typo
...
Co-authored-by: Deirdre Connolly <durumcrustulum@gmail.com>
2020-12-04 10:44:36 +10:00
teor
2d3c41f0af
Rename a constant for consistency
2020-12-04 10:44:36 +10:00
teor
7f823e7c5a
Activate the max time rule on testnet at block 653606
2020-12-04 10:44:36 +10:00
teor
23e07a94cf
Implement the block header time consensus rules
2020-12-04 10:44:36 +10:00
teor
0bac2dafcc
Split out a separate `median_time_past` function
2020-12-04 10:44:36 +10:00
teor
ab486d336f
Update the contextual difficulty module doc
2020-12-04 10:44:36 +10:00
teor
d1ba1146d4
Add intra-doc links
2020-12-01 07:27:30 +10:00
teor
ec6ef93b7b
Simplify an ExpandedDifficulty division
2020-12-01 07:27:30 +10:00
teor
d64c2976e3
Rewrite iterator processing using unzip
...
Co-authored-by: Jane Lusby <jlusby42@gmail.com>
2020-12-01 07:27:30 +10:00
teor
91476535d3
Doc comment formatting
...
Co-authored-by: Jane Lusby <jlusby42@gmail.com>
2020-12-01 07:27:30 +10:00
teor
750f096a99
Implement testnet minimum difficulty
2020-12-01 07:27:30 +10:00
teor
bb9c4918bf
Implement threshold_bits
2020-12-01 07:27:30 +10:00
teor
f0a49d64bf
Split out a median_timespan function
2020-12-01 07:27:30 +10:00
teor
054d6f0525
Implement median_timespan_bounded
2020-12-01 07:27:30 +10:00
teor
bcabf75fe9
Replace integer lengths with named constants
2020-12-01 07:27:30 +10:00
teor
e07b0bc8da
Implement median_time
...
And enough stubs to run it on real data.
2020-12-01 07:27:30 +10:00
teor
741c44cd55
Implement mean_target_difficulty
...
And enough stub code to actually run it on the context.
2020-12-01 07:27:30 +10:00
teor
939c2b97a6
Implement AdjustedDifficulty creation
...
Also:
* call the difficulty check from `block_is_contextually_valid`
* add a stub `difficulty_threshold_is_valid` function
2020-12-01 07:27:30 +10:00