diff --git a/spartan/environments/alpha-net.env b/spartan/environments/alpha-net.env index fad91bbe53f5..d177ed4baeaa 100644 --- a/spartan/environments/alpha-net.env +++ b/spartan/environments/alpha-net.env @@ -67,7 +67,7 @@ AZTEC_SLASHING_EXECUTION_DELAY_IN_ROUNDS=0 AZTEC_SLASHING_OFFSET_IN_ROUNDS=1 AZTEC_LOCAL_EJECTION_THRESHOLD=90000000000000000000 -SEQ_MAX_TX_PER_BLOCK=10 +SEQ_MAX_TX_PER_CHECKPOINT=72 SEQ_MIN_TX_PER_BLOCK=0 # Override L1 tx utils bump percentages for scenario tests diff --git a/spartan/environments/five-tps-long-epoch.env b/spartan/environments/five-tps-long-epoch.env index a5d3ac217a99..aad096238ac8 100644 --- a/spartan/environments/five-tps-long-epoch.env +++ b/spartan/environments/five-tps-long-epoch.env @@ -54,7 +54,7 @@ AZTEC_SLASHING_EXECUTION_DELAY_IN_ROUNDS=0 AZTEC_SLASHING_OFFSET_IN_ROUNDS=1 AZTEC_LOCAL_EJECTION_THRESHOLD=90000000000000000000 -SEQ_MAX_TX_PER_BLOCK=180 +SEQ_MAX_TX_PER_CHECKPOINT=180 SEQ_MIN_TX_PER_BLOCK=0 # Override L1 tx utils bump percentages for scenario tests diff --git a/spartan/environments/five-tps-short-epoch.env b/spartan/environments/five-tps-short-epoch.env index 6ac77948ca01..c35ed34e45c9 100644 --- a/spartan/environments/five-tps-short-epoch.env +++ b/spartan/environments/five-tps-short-epoch.env @@ -54,7 +54,7 @@ AZTEC_SLASHING_EXECUTION_DELAY_IN_ROUNDS=0 AZTEC_SLASHING_OFFSET_IN_ROUNDS=1 AZTEC_LOCAL_EJECTION_THRESHOLD=90000000000000000000 -SEQ_MAX_TX_PER_BLOCK=180 +SEQ_MAX_TX_PER_CHECKPOINT=180 SEQ_MIN_TX_PER_BLOCK=0 # Override L1 tx utils bump percentages for scenario tests diff --git a/spartan/environments/network-defaults.yml b/spartan/environments/network-defaults.yml index 379c79c7c26e..068f1df60df9 100644 --- a/spartan/environments/network-defaults.yml +++ b/spartan/environments/network-defaults.yml @@ -275,11 +275,11 @@ networks: SPONSORED_FPC: true TRANSACTIONS_DISABLED: false # Sequencer - # Gives ~0.1 TPS @ 72s slot time, 36s publish time, 6s block time - max 4 blocks per slot - SEQ_MAX_TX_PER_BLOCK: 2 + SEQ_MAX_TX_PER_CHECKPOINT: 72 # 1 TPS # Prover PROVER_REAL_PROOFS: true # P2P + P2P_MAX_PENDING_TX_COUNT: 1000 P2P_TX_POOL_DELETE_TXS_AFTER_REORG: true # Slasher penalties SLASH_PRUNE_PENALTY: 10e18 @@ -326,16 +326,16 @@ networks: # Genesis state - no test accounts, no sponsored FPC TEST_ACCOUNTS: false SPONSORED_FPC: false - TRANSACTIONS_DISABLED: true # Initially disabled + TRANSACTIONS_DISABLED: false # Sequencer - SEQ_MAX_TX_PER_BLOCK: 0 + SEQ_MAX_TX_PER_CHECKPOINT: 72 # Prover PROVER_REAL_PROOFS: true # Sync SYNC_SNAPSHOTS_URLS: "https://aztec-labs-snapshots.com/mainnet/" BLOB_ALLOW_EMPTY_SOURCES: true # P2P - P2P_MAX_PENDING_TX_COUNT: 0 + P2P_MAX_PENDING_TX_COUNT: 1000 P2P_TX_POOL_DELETE_TXS_AFTER_REORG: true # Telemetry PUBLIC_OTEL_EXPORTER_OTLP_METRICS_ENDPOINT: "" diff --git a/spartan/environments/next-net.env b/spartan/environments/next-net.env index f01c43e4d19a..b27e1903029f 100644 --- a/spartan/environments/next-net.env +++ b/spartan/environments/next-net.env @@ -29,8 +29,8 @@ TEST_ACCOUNTS=true SPONSORED_FPC=true SEQ_MIN_TX_PER_BLOCK=0 -# Gives ~0.1 TPS @ 72s slot time, 36s publish time, 6s block time - max 4 blocks per slot -SEQ_MAX_TX_PER_BLOCK=2 + +SEQ_MAX_TX_PER_CHECKPOINT=7 # Build checkpoint even if block is empty. SEQ_BUILD_CHECKPOINT_IF_EMPTY=true diff --git a/spartan/environments/prove-n-tps-fake.env b/spartan/environments/prove-n-tps-fake.env index 2fe45c46745e..4903ff3b0bdd 100644 --- a/spartan/environments/prove-n-tps-fake.env +++ b/spartan/environments/prove-n-tps-fake.env @@ -38,7 +38,7 @@ PUBLISHERS_PER_PROVER=1 PROVER_TEST_DELAY_TYPE=realistic PROVER_TEST_VERIFICATION_DELAY_MS=250 -SEQ_MAX_TX_PER_BLOCK=80 +SEQ_MAX_TX_PER_CHECKPOINT=80 SEQ_MIN_TX_PER_BLOCK=0 P2P_MAX_TX_POOL_SIZE=1000000000 DEBUG_P2P_INSTRUMENT_MESSAGES=true diff --git a/spartan/environments/prove-n-tps-real.env b/spartan/environments/prove-n-tps-real.env index cc6442210832..e76e375845df 100644 --- a/spartan/environments/prove-n-tps-real.env +++ b/spartan/environments/prove-n-tps-real.env @@ -36,7 +36,7 @@ PROVER_PUBLISHER_MNEMONIC_START_INDEX=8000 PROVER_AGENT_POLL_INTERVAL_MS=10000 PUBLISHERS_PER_PROVER=1 -SEQ_MAX_TX_PER_BLOCK=18 +SEQ_MAX_TX_PER_CHECKPOINT=72 SEQ_MIN_TX_PER_BLOCK=0 SEQ_BLOCK_DURATION_MS=6000 SEQ_L1_PUBLISHING_TIME_ALLOWANCE_IN_SLOT=36 diff --git a/spartan/environments/staging-public.env b/spartan/environments/staging-public.env index 40fbc48e4f3b..41a53217da1f 100644 --- a/spartan/environments/staging-public.env +++ b/spartan/environments/staging-public.env @@ -26,8 +26,7 @@ TEST_ACCOUNTS=false SPONSORED_FPC=true SEQ_MIN_TX_PER_BLOCK=0 -# Gives ~0.1 TPS @ 72s slot time, 36s publish time, 6s block time - max 4 blocks per slot -SEQ_MAX_TX_PER_BLOCK=2 +SEQ_MAX_TX_PER_CHECKPOINT=7 # 0.1 TPS # Build checkpoint even if block is empty. SEQ_BUILD_CHECKPOINT_IF_EMPTY=true diff --git a/spartan/environments/ten-tps-long-epoch.env b/spartan/environments/ten-tps-long-epoch.env index a91cb0995253..ed85befac3a3 100644 --- a/spartan/environments/ten-tps-long-epoch.env +++ b/spartan/environments/ten-tps-long-epoch.env @@ -54,7 +54,7 @@ AZTEC_SLASHING_EXECUTION_DELAY_IN_ROUNDS=0 AZTEC_SLASHING_OFFSET_IN_ROUNDS=1 AZTEC_LOCAL_EJECTION_THRESHOLD=90000000000000000000 -SEQ_MAX_TX_PER_BLOCK=360 +SEQ_MAX_TX_PER_CHECKPOINT=360 SEQ_MIN_TX_PER_BLOCK=0 # Override L1 tx utils bump percentages for scenario tests diff --git a/spartan/environments/ten-tps-short-epoch.env b/spartan/environments/ten-tps-short-epoch.env index 4114d3b0a928..e475bee370d8 100644 --- a/spartan/environments/ten-tps-short-epoch.env +++ b/spartan/environments/ten-tps-short-epoch.env @@ -54,7 +54,7 @@ AZTEC_SLASHING_EXECUTION_DELAY_IN_ROUNDS=0 AZTEC_SLASHING_OFFSET_IN_ROUNDS=1 AZTEC_LOCAL_EJECTION_THRESHOLD=90000000000000000000 -SEQ_MAX_TX_PER_BLOCK=360 +SEQ_MAX_TX_PER_CHECKPOINT=360 SEQ_MIN_TX_PER_BLOCK=0 # Override L1 tx utils bump percentages for scenario tests diff --git a/spartan/environments/testnet.env b/spartan/environments/testnet.env index f72af734d6a2..eeb37b31e2eb 100644 --- a/spartan/environments/testnet.env +++ b/spartan/environments/testnet.env @@ -64,6 +64,7 @@ BOT_TRANSFERS_FOLLOW_CHAIN=PENDING BOT_SWAPS_REPLICAS=0 P2P_TX_POOL_DELETE_TXS_AFTER_REORG=true +SEQ_MAX_TX_PER_CHECKPOINT=72 DEPLOY_ARCHIVAL_NODE=true diff --git a/spartan/environments/tps-scenario.env b/spartan/environments/tps-scenario.env index 9ebddc63fb33..c99e2e488f91 100644 --- a/spartan/environments/tps-scenario.env +++ b/spartan/environments/tps-scenario.env @@ -66,7 +66,7 @@ AZTEC_SLASHING_EXECUTION_DELAY_IN_ROUNDS=0 AZTEC_SLASHING_OFFSET_IN_ROUNDS=1 AZTEC_LOCAL_EJECTION_THRESHOLD=90000000000000000000 -SEQ_MAX_TX_PER_BLOCK=15 # approx 0.2 TPS +SEQ_MAX_TX_PER_CHECKPOINT=15 # approx 0.2 TPS SEQ_MIN_TX_PER_BLOCK=0 # Override L1 tx utils bump percentages for scenario tests diff --git a/spartan/scripts/deploy_network.sh b/spartan/scripts/deploy_network.sh index 4984fbaa2daa..b7d4f5dc28de 100755 --- a/spartan/scripts/deploy_network.sh +++ b/spartan/scripts/deploy_network.sh @@ -105,7 +105,8 @@ fi PROVER_FAILED_PROOF_STORE=${PROVER_FAILED_PROOF_STORE:-} SEQ_MIN_TX_PER_BLOCK=${SEQ_MIN_TX_PER_BLOCK:-0} -SEQ_MAX_TX_PER_BLOCK=${SEQ_MAX_TX_PER_BLOCK:-8} +SEQ_MAX_TX_PER_BLOCK=${SEQ_MAX_TX_PER_BLOCK:-null} +SEQ_MAX_TX_PER_CHECKPOINT=${SEQ_MAX_TX_PER_CHECKPOINT:-8} SEQ_BLOCK_DURATION_MS=${SEQ_BLOCK_DURATION_MS:-} SEQ_L1_PUBLISHING_TIME_ALLOWANCE_IN_SLOT=${SEQ_L1_PUBLISHING_TIME_ALLOWANCE_IN_SLOT:-} SEQ_BUILD_CHECKPOINT_IF_EMPTY=${SEQ_BUILD_CHECKPOINT_IF_EMPTY:-} @@ -530,6 +531,7 @@ VALIDATOR_PUBLISHERS_PER_REPLICA = ${VALIDATOR_PUBLISHERS_PER_REPLICA} VALIDATOR_HA_REPLICAS = ${VALIDATOR_HA_REPLICAS} SEQ_MIN_TX_PER_BLOCK = ${SEQ_MIN_TX_PER_BLOCK} SEQ_MAX_TX_PER_BLOCK = ${SEQ_MAX_TX_PER_BLOCK} +SEQ_MAX_TX_PER_CHECKPOINT = ${SEQ_MAX_TX_PER_CHECKPOINT} SEQ_BLOCK_DURATION_MS = ${SEQ_BLOCK_DURATION_MS:-null} SEQ_L1_PUBLISHING_TIME_ALLOWANCE_IN_SLOT = ${SEQ_L1_PUBLISHING_TIME_ALLOWANCE_IN_SLOT:-null} SEQ_BUILD_CHECKPOINT_IF_EMPTY = ${SEQ_BUILD_CHECKPOINT_IF_EMPTY:-null} diff --git a/spartan/terraform/deploy-aztec-infra/main.tf b/spartan/terraform/deploy-aztec-infra/main.tf index fc46ee5e3b94..6b039f742b37 100644 --- a/spartan/terraform/deploy-aztec-infra/main.tf +++ b/spartan/terraform/deploy-aztec-infra/main.tf @@ -212,6 +212,7 @@ locals { "validator.node.proverRealProofs" = var.PROVER_REAL_PROOFS "validator.node.env.SEQ_MIN_TX_PER_BLOCK" = var.SEQ_MIN_TX_PER_BLOCK "validator.node.env.SEQ_MAX_TX_PER_BLOCK" = var.SEQ_MAX_TX_PER_BLOCK + "validator.node.env.SEQ_MAX_TX_PER_CHECKPOINT" = var.SEQ_MAX_TX_PER_CHECKPOINT "validator.node.env.SEQ_BLOCK_DURATION_MS" = var.SEQ_BLOCK_DURATION_MS "validator.node.env.SEQ_L1_PUBLISHING_TIME_ALLOWANCE_IN_SLOT" = var.SEQ_L1_PUBLISHING_TIME_ALLOWANCE_IN_SLOT "validator.node.env.SEQ_BUILD_CHECKPOINT_IF_EMPTY" = var.SEQ_BUILD_CHECKPOINT_IF_EMPTY diff --git a/spartan/terraform/deploy-aztec-infra/variables.tf b/spartan/terraform/deploy-aztec-infra/variables.tf index 28caede2a671..2e9bbdb09151 100644 --- a/spartan/terraform/deploy-aztec-infra/variables.tf +++ b/spartan/terraform/deploy-aztec-infra/variables.tf @@ -349,6 +349,12 @@ variable "SEQ_MAX_TX_PER_BLOCK" { default = "8" } +variable "SEQ_MAX_TX_PER_CHECKPOINT" { + description = "Maximum number of sequencer transactions per checkpoint" + type = string + default = null +} + variable "SEQ_ENFORCE_TIME_TABLE" { description = "Whether to enforce the time table when building blocks" type = string