* fix(miner): ignore lastWork when selecting the best mining candidate
Previously, we only took the new head if it's heavier than the last
head. Unfortunately, this meant that F3 finalization wasn't properly
propagated to the miner.
In terms of impact:
1. It seems likely that this check was simply defensive as, prior to F3,
the new head should never have a lower weight (unless you're talking to
multiple lotus nodes, I guess...).
2. The `lastWork` field is mostly used to track null blocks. Worst-case
scenario, if we switch heads, we'll attempt to re-mine previous heights.
However, that should be relatively fast and, due to the slash filter, we
won't attempt to re-broadcast any of those blocks.
Signed-off-by: Jakub Sztandera <oss@kubuxu.com>
* fix(miner): continue mining if we fail to submit a block
Signed-off-by: Jakub Sztandera <oss@kubuxu.com>
* fix(miner): check the slash filter with the correct parent height
We also perform this check inside `SyncSubmitBlock` so we did have an
effective filter, but this was still wrong.
Signed-off-by: Jakub Sztandera <oss@kubuxu.com>
---------
Signed-off-by: Jakub Sztandera <oss@kubuxu.com>
Co-authored-by: Steven Allen <steven@stebalien.com>
This is a large diff, yet should have exactly zero functional changes
Ideally as a result of this some parts of the depchain will become lighter,
with downstream reaping the same benefits as the team that initiated this split.
P.S. work was done while forming better intuition of current dependency graph
* proofparams alternate
* createminer
* const factored from /build and types updated to use it
* buildconstants for more places
* deprecate msg
* itest cleanup
* alerting interface
* house cleaning
* rm policy and drand from buildconstants
* clean up curio further
* aussie waffle
* pr fixes
* fix lints
* little fixes
* oops this got updated
* unbreak test builds
* test fixes
* comments - cleanups
* itests fix alerting
* rm obsolete alertinginterface
* spelling oops
* changelog
* tests need buildconstants port
* Fully migrate BlockGasTarget
* ulimit should not depend on build
* complete the simplest deprecations
* bringing back versions
- FSM handles the actual cc upgrade process including error states
- PoSting (winning and window) works over upgraded and upgrading sectors
- Integration test and changes to itest framework to reduce flakes
- Update CLI to handle new upgrade
- Update dependencies