Skip to content

Commit

Permalink
Add dispute tests
Browse files Browse the repository at this point in the history
  • Loading branch information
esganesh committed Aug 18, 2023
1 parent 8534ed5 commit f8641fa
Show file tree
Hide file tree
Showing 11 changed files with 244 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,5 @@ alice: is up
bob: is up
bob: parachain 100 is registered within 225 seconds
bob: parachain 100 block height is at least 10 within 200 seconds
alice: reports block height - finalised block is lower than 6 within 20 seconds
bob: reports block height - finalised block is lower than 6 within 20 seconds
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,5 @@ alice: is up
bob: is up
bob: parachain 100 is registered within 225 seconds
bob: parachain 100 block height is at least 10 within 200 seconds
alice: reports block height - finalised block is lower than 6 within 20 seconds
bob: reports block height - finalised block is lower than 6 within 20 seconds
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,5 @@ bob: parachain 100 is registered within 225 seconds
bob: parachain 100 block height is at least 10 within 500 seconds
bob: parachain 100 perform dummy upgrade within 200 seconds
bob: parachain 100 block height is at least 14 within 200 seconds
alice: reports block height - finalised block is lower than 6 within 20 seconds
bob: reports block height - finalised block is lower than 6 within 20 seconds
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,5 @@ bob: parachain 100 is registered within 225 seconds
bob: parachain 100 block height is at least 10 within 500 seconds
bob: parachain 100 perform dummy upgrade within 200 seconds
bob: parachain 100 block height is at least 14 within 200 seconds
alice: reports block height - finalised block is lower than 6 within 20 seconds
bob: reports block height - finalised block is lower than 6 within 20 seconds
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,14 @@ default_command = "polkadot"

[[relaychain.nodes]]
name = "alice"
command = "kagome"
prometheus_prefix = "kagome"

[[relaychain.nodes]]
name = "bob"
command = "kagome"
prometheus_prefix = "kagome"


[[parachains]]
id = 100
add_to_genesis = true
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,5 @@ Creds: config
{% endfor %}
bob: parachain 100 is registered within 225 seconds
bob: parachain 100 block height is at least 10 within 200 seconds
alice: reports block height - finalised block is lower than 6 within 20 seconds
bob: reports block height - finalised block is lower than 6 within 20 seconds
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,5 @@ Creds: config
{% endfor %}
bob: parachain 100 is registered within 225 seconds
bob: parachain 100 block height is at least 10 within 200 seconds
alice: reports block height - finalised block is lower than 6 within 20 seconds
bob: reports block height - finalised block is lower than 6 within 20 seconds
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
[settings]
timeout = 1000

[relaychain]
chain = "rococo-local"
default_command = "polkadot"

[[relaychain.nodes]]
name = "alice"
extra_args = [ "-lparachain=debug" ]

[[relaychain.nodes]]
name = "bob"
command = "kagome"
prometheus_prefix = "kagome"
extra_args = [ "-lparachain=debug" ]

[[relaychain.nodes]]
name = "charlie"
extra_args = [ "-lparachain=debug" ]

[[relaychain.nodes]]
name = "dave"
validator = true
command = "malus dispute-ancestor"
extra_args = ["-lparachain=debug"]


[[parachains]]
id = 100

[parachains.collator]
name = "collator01"
command = "adder-collator"
args = ["-lparachain=debug"]
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
Description: Disputes
Network: ./0005-dispute-valid-block-1-kagome.toml
Creds: config

alice: is up
bob: is up
charlie: is up
dave: is up
alice: reports node_roles is 4
alice: reports sub_libp2p_is_major_syncing is 0

alice: reports block height is at least 2 within 15 seconds
alice: reports peers count is at least 2
bob: reports block height is at least 2
bob: reports peers count is at least 2
charlie: reports block height is at least 2
charlie: reports peers count is at least 2

alice: reports parachain_candidate_disputes_total is at least 1 within 130 seconds
bob: reports parachain_candidate_disputes_total is at least 1 within 10 seconds
charlie: reports parachain_candidate_disputes_total is at least 1 within 10 seconds
alice: reports parachain_candidate_dispute_votes{validity="valid"} is at least 1 within 5 seconds
bob: reports parachain_candidate_dispute_votes{validity="valid"} is at least 2 within 5 seconds
charlie: reports parachain_candidate_dispute_votes{validity="valid"} is at least 2 within 5 seconds
alice: reports parachain_candidate_dispute_concluded{validity="valid"} is at least 1 within 5 seconds
bob: reports parachain_candidate_dispute_concluded{validity="invalid"} is 0 within 200 seconds
bob: reports parachain_candidate_dispute_concluded{validity="valid"} is at least 1 within 5 seconds
charlie: reports parachain_candidate_dispute_concluded{validity="valid"} is at least 1 within 5 seconds

alice: reports block height minus finalised block is lower than 6 within 20 seconds
bob: reports block height minus finalised block is lower than 6 within 20 seconds
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
[settings]
timeout = 1000

[relaychain]
chain = "rococo-local"
default_command = "polkadot"
chain_spec_command = "polkadot build-spec --chain rococo-local --disable-default-bootnode"

[relaychain.default_resources]
limits = { memory = "4G", cpu = "2" }
requests = { memory = "2G", cpu = "1" }

[[relaychain.nodes]]
name = "alice"
command = "malus dispute-ancestor"
args = [ "-lparachain=debug" ]

[[relaychain.nodes]]
name = "bob"
command = "malus dispute-ancestor"
args = [ "--bob", "-lparachain=debug"]

[[relaychain.nodes]]
name = "charlie"
command = "kagome --wasm-execution Compiled --unsafe-cached-wavm-runtime"
prometheus_prefix = "kagome"
args = [ "-lparachain=debug" ]

[[relaychain.nodes]]
name = "dave"
args = [ "-lparachain=debug"]

[[relaychain.nodes]]
name = "ferdie"
args = [ "-lparachain=debug" ]

[[relaychain.nodes]]
name = "eve"
args = [ "-lparachain=debug"]

[[relaychain.nodes]]
name = "one"
args = [ "-lparachain=debug" ]

[[relaychain.nodes]]
name = "two"
args = [ "-lparachain=debug"]

[[parachains]]
id = 2000
add_to_genesis = true
genesis_state_generator = "undying-collator export-genesis-state --pov-size=100000 --pvf-complexity=1"

[parachains.collator]
name = "collator01"
command = "undying-collator"
args = ["-lparachain=debug", "--pov-size=100000", "--pvf-complexity=1", "--parachain-id=2000"]

[[parachains]]
id = 2001
add_to_genesis = true
genesis_state_generator = "undying-collator export-genesis-state --pov-size=100000 --pvf-complexity=2"

[parachains.collator]
name = "collator02"
command = "undying-collator"
args = ["-lparachain=debug", "--pov-size=100000", "--parachain-id=2001", "--pvf-complexity=2"]

[[parachains]]
id = 2002
add_to_genesis = true
genesis_state_generator = "undying-collator export-genesis-state --pov-size=100000 --pvf-complexity=10"

[parachains.collator]
name = "collator03"
command = "undying-collator"
args = ["-lparachain=debug", "--pov-size=100000", "--parachain-id=2002", "--pvf-complexity=10"]

[[parachains]]
id = 2003
add_to_genesis = true
genesis_state_generator = "undying-collator export-genesis-state --pov-size=20000 --pvf-complexity=1000"

[parachains.collator]
name = "collator04"
command = "undying-collator"
args = ["-lparachain=debug", "--pov-size=20000", "--parachain-id=2003", "--pvf-complexity=1000"]

[types.Header]
number = "u64"
parent_hash = "Hash"
post_state = "Hash"
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
Description: Disputes initiation, conclusion and lag
Network: ./0006-parachains-disputes-1-kagome.toml
Creds: config

alice: is up
bob: is up
charlie: is up
dave: is up
eve: is up
ferdie: is up
one: is up
two: is up

# Check authority status and peers.
alice: reports node_roles is 4
bob: reports node_roles is 4
charlie: reports node_roles is 4
dave: reports node_roles is 4
eve: reports node_roles is 4
ferdie: reports node_roles is 4
one: reports node_roles is 4
two: reports node_roles is 4

# Ensure parachains are registered.
alice: parachain 2000 is registered within 30 seconds
bob: parachain 2001 is registered within 30 seconds
charlie: parachain 2002 is registered within 30 seconds
dave: parachain 2003 is registered within 30 seconds

alice: reports peers count is at least 11 within 20 seconds
bob: reports peers count is at least 11 within 20 seconds
charlie: reports peers count is at least 11 within 20 seconds
dave: reports peers count is at least 11 within 20 seconds
ferdie: reports peers count is at least 1 within 20 seconds
eve: reports peers count is at least 11 within 20 seconds
one: reports peers count is at least 11 within 20 seconds
two: reports peers count is at least 11 within 20 seconds

# Ensure parachains made progress.
alice: parachain 2000 block height is at least 10 within 300 seconds
alice: parachain 2001 block height is at least 10 within 300 seconds
alice: parachain 2002 block height is at least 10 within 300 seconds
alice: parachain 2003 block height is at least 10 within 300 seconds

# Check if disputes are initiated and concluded.
# TODO: check if disputes are concluded faster than initiated.
charlie: reports parachain_candidate_disputes_total is at least 10 within 15 seconds
charlie: reports parachain_candidate_dispute_concluded{validity="valid"} is at least 10 within 15 seconds
charlie: reports parachain_candidate_dispute_concluded{validity="invalid"} is 0 within 15 seconds

# Check lag - approval
alice: reports polkadot_parachain_approval_checking_finality_lag is 0
bob: reports polkadot_parachain_approval_checking_finality_lag is 0
charlie: reports polkadot_parachain_approval_checking_finality_lag is 0
dave: reports polkadot_parachain_approval_checking_finality_lag is 0
ferdie: reports polkadot_parachain_approval_checking_finality_lag is 0
eve: reports polkadot_parachain_approval_checking_finality_lag is 0
one: reports polkadot_parachain_approval_checking_finality_lag is 0
two: reports polkadot_parachain_approval_checking_finality_lag is 0

# Check lag - dispute conclusion
alice: reports polkadot_parachain_disputes_finality_lag is 0
bob: reports polkadot_parachain_disputes_finality_lag is 0
charlie: reports polkadot_parachain_disputes_finality_lag is 0
dave: reports polkadot_parachain_disputes_finality_lag is 0
ferdie: reports polkadot_parachain_disputes_finality_lag is 0
eve: reports polkadot_parachain_disputes_finality_lag is 0
one: reports polkadot_parachain_disputes_finality_lag is 0
two: reports polkadot_parachain_disputes_finality_lag is 0

charlie: reports block height minus finalised block is lower than 6 within 20 seconds
dave: reports block height minus finalised block is lower than 6 within 20 seconds

0 comments on commit f8641fa

Please sign in to comment.