Description: Test dispute finality lag when 1/3 of parachain validators always attempt to include an invalid block Network: ./0004-parachains-garbage-candidate.toml Creds: config # Check authority status. honest-validator-0: reports node_roles is 4 honest-validator-1: reports node_roles is 4 honest-validator-2: reports node_roles is 4 malus-validator-0: reports node_roles is 4 # Parachains should be making progress even if we have up to 1/3 malicious validators. honest-validator-0: parachain 2000 block height is at least 2 within 240 seconds honest-validator-1: parachain 2001 block height is at least 2 within 180 seconds honest-validator-2: parachain 2002 block height is at least 2 within 180 seconds # Check there is an offence report after dispute conclusion honest-validator-0: system event contains "There is an offence reported" within 180 seconds honest-validator-1: system event contains "There is an offence reported" within 180 seconds honest-validator-2: system event contains "There is an offence reported" within 180 seconds # Check for chain reversion after dispute conclusion. honest-validator-0: log line contains "reverted due to a bad parachain block" within 180 seconds honest-validator-1: log line contains "reverted due to a bad parachain block" within 180 seconds honest-validator-2: log line contains "reverted due to a bad parachain block" within 180 seconds # Check if disputes are concluded in less than 2 blocks. honest-validator-0: reports polkadot_parachain_disputes_finality_lag is lower than 2 honest-validator-1: reports polkadot_parachain_disputes_finality_lag is lower than 2 honest-validator-2: reports polkadot_parachain_disputes_finality_lag is lower than 2 # Allow more time for malicious validator activity. sleep 30 seconds # Check that garbage parachain blocks included by malicious validators are being disputed. honest-validator-0: reports polkadot_parachain_candidate_disputes_total is at least 2 within 15 seconds honest-validator-1: reports polkadot_parachain_candidate_disputes_total is at least 2 within 15 seconds honest-validator-2: reports polkadot_parachain_candidate_disputes_total is at least 2 within 15 seconds # Disputes should always end as "invalid" honest-validator-0: reports polkadot_parachain_candidate_dispute_concluded{validity="invalid"} is at least 2 within 15 seconds honest-validator-1: reports polkadot_parachain_candidate_dispute_concluded{validity="valid"} is 0 within 15 seconds # Check participating in the losing side of a dispute logged malus-validator: log line contains "Voted for a candidate that was concluded invalid." within 180 seconds