# Synor ZK-Rollup Sequencer Configuration

[sequencer]
# Sequencer node ID
node_id = "zk-sequencer-1"
# API listen address
api_addr = "0.0.0.0:3001"
# Prover RPC address
prover_addr = "0.0.0.0:3002"
# Metrics address
metrics_addr = "0.0.0.0:9001"

[batch]
# Maximum transactions per batch
max_size = 1000
# Minimum transactions before proof generation
min_size = 10
# Batch timeout in seconds
timeout_secs = 60
# Enable parallel batch processing
parallel_processing = true

[proof]
# Proof backend: groth16, plonk, stark
backend = "groth16"
# Number of prover threads
prover_threads = 4
# Proof generation timeout in seconds
proof_timeout_secs = 300
# Directory for proof artifacts
proof_dir = "/proofs"

[state]
# State tree depth (32 = ~4 billion accounts)
tree_depth = 32
# State snapshot interval (blocks)
snapshot_interval = 1000
# State database path
db_path = "/data/zk/state"

[l1]
# L1 RPC endpoint
rpc_url = "http://synor-node-1:8545"
# Bridge contract address
bridge_address = ""
# Confirmation blocks before processing
confirmation_blocks = 12
# L1 transaction timeout in seconds
tx_timeout_secs = 120

[network]
# Maximum pending transactions
max_pending_txs = 10000
# Transaction queue timeout in seconds
tx_queue_timeout = 600
# Enable transaction deduplication
dedup_enabled = true

[logging]
# Log level: trace, debug, info, warn, error
level = "info"
# Log format: json, pretty
format = "pretty"
# Enable metrics export
metrics_enabled = true
