# This testnet is run by CI, and attempts to cover a broad range of
# functionality with a single network.

disable_legacy_p2p = false
evidence = 5
initial_height = 1000
initial_state = {initial01 = "a", initial02 = "b", initial03 = "c"}
queue_type = "priority"

[validators]
validator01 = 100

[validator_update.0]
validator01 = 10
validator02 = 20
validator03 = 30
validator04 = 40

[validator_update.1010]
validator05 = 50

# validator03 gets killed and validator05 has lots of perturbations, so weight them low.
[validator_update.1020]
validator01 = 100
validator02 = 100
validator03 = 50
validator04 = 100
validator05 = 50

[node.seed01]
mode = "seed"
perturb = ["restart"]
seeds = ["seed02"]

[node.seed02]
mode = "seed"
seeds = ["seed01"]

[node.validator01]
perturb = ["disconnect"]
seeds = ["seed01"]
snapshot_interval = 5

[node.validator02]
abci_protocol = "tcp"
database = "boltdb"
persist_interval = 0
perturb = ["restart"]
privval_protocol = "tcp"
seeds = ["seed02"]

[node.validator03]
database = "badgerdb"
seeds = ["seed01"]
# FIXME: should be grpc, disabled due to https://github.com/tendermint/tendermint/issues/5439
#abci_protocol = "grpc"
persist_interval = 3
perturb = ["kill"]
privval_protocol = "grpc"
retain_blocks = 5

[node.validator04]
abci_protocol = "builtin"
database = "rocksdb"
persistent_peers = ["validator01"]
perturb = ["pause"]

[node.validator05]
database = "cleveldb" 
fast_sync = "v0" 
seeds = ["seed02"] 
start_at = 1005 # Becomes part of the validator set at 1010
# FIXME: should be grpc, disabled due to https://github.com/tendermint/tendermint/issues/5439
#abci_protocol = "grpc"
perturb = ["kill", "pause", "disconnect", "restart"]
privval_protocol = "tcp"

[node.full01]
mode = "full"
start_at = 1010
# FIXME: should be v2, disabled due to flake
fast_sync = "v0"
persistent_peers = ["validator01", "validator02", "validator03", "validator04", "validator05"]
perturb = ["restart"]
retain_blocks = 5

[node.full02]
mode = "full"
start_at = 1015
# FIXME: should be v2, disabled due to flake
fast_sync = "v0"
perturb = ["restart"]
seeds = ["seed01"]
state_sync = true

[node.light01]
mode = "light"
persistent_peers = ["validator01", "validator02", "validator03"]
start_at = 1010
