Refuse to sign any block with slot <= min(b.slot for b in data.signed_blocks if b.pubkey == proposer_pubkey), except if it is a repeat signing as determined by the signing_root.
We try to import a block, corresponding to the minimal proposed slot for this pubkey (which is actually the maximum one as well if consider a minimal anti-slashing DB), with the same signing_root.
==> This import should be both valid for minimal anti-slashing DB (should_succeed) as well as for complete anti-slashing DB (should_succeed_complete)
EIP-3076 states:
In test single_validator_resign_block.json, for block proposals for pubkey
0xa99a...
, we have in the interchange file:The minimal anti-slashing DB retains only the proposal with the highest slot:
17
ab
Later, in steps[0].blocks[3], we want to import:
We try to import a block, corresponding to the minimal proposed slot for this pubkey (which is actually the maximum one as well if consider a minimal anti-slashing DB), with the same
signing_root
. ==> This import should be both valid for minimal anti-slashing DB (should_succeed
) as well as for complete anti-slashing DB (should_succeed_complete
)