v2.0.1: derive the fork target from the parent header #43
No reviewers
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
pool
post-quantum
question
third-party
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
ignotusnemo/parano1d!43
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "v2"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
At mainnet H210537, competing blocks with the same parent must share one ASERT target. The current v2.0.0 calculation uses each candidate's own timestamp, allowing an earlier timestamp to give that sibling more work. This patch derives the v2 target from the parent header and canonical anchor. The legacy rule remains unchanged through H210536. The v2 activation height is unchanged.
The patch also exposes the public opening of a pending contract call through getMempoolEntry and marks retained contract calls and closes in getBlockDetails. These fields help indexers retain already-public terms. The workspace version and release notes advance to 2.0.1. Release tooling now checks the active canonical, GitHub and GitLab repositories.
Verification
The isolated three-node test produced competing H10 blocks with different timestamps and the same target, then reconnected the nodes and confirmed a common H11. A separate isolated test reorganized across the H9/H10 boundary and verified contract rollback and recovery. The targeted difficulty, header, mempool contract, RPC classification and release-input tests pass.