diff --git a/spartan/environments/five-tps-long-epoch.env b/spartan/environments/five-tps-long-epoch.env index ff87b7ef63a2..b5944eb481af 100644 --- a/spartan/environments/five-tps-long-epoch.env +++ b/spartan/environments/five-tps-long-epoch.env @@ -55,7 +55,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 85f36344fc19..503f4d1b0856 100644 --- a/spartan/environments/five-tps-short-epoch.env +++ b/spartan/environments/five-tps-short-epoch.env @@ -55,7 +55,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 daec5d93e53e..6f14c3a02b9c 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 b2ef9110eb44..214785578995 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 bed763852285..89cdcce263a2 100644 --- a/spartan/environments/prove-n-tps-fake.env +++ b/spartan/environments/prove-n-tps-fake.env @@ -39,7 +39,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 63af6079257c..962def7f71a8 100644 --- a/spartan/environments/prove-n-tps-real.env +++ b/spartan/environments/prove-n-tps-real.env @@ -37,7 +37,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 33d66c685ec1..9bbdd78887b6 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 e3fefc644364..8b8b4679c489 100644 --- a/spartan/environments/ten-tps-long-epoch.env +++ b/spartan/environments/ten-tps-long-epoch.env @@ -55,7 +55,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 90f16277c385..86585811d876 100644 --- a/spartan/environments/ten-tps-short-epoch.env +++ b/spartan/environments/ten-tps-short-epoch.env @@ -55,7 +55,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 8702a5335d4e..f8265adf3cdd 100644 --- a/spartan/environments/testnet.env +++ b/spartan/environments/testnet.env @@ -32,6 +32,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 abdaf40948b0..a9b025f7f4e1 100644 --- a/spartan/environments/tps-scenario.env +++ b/spartan/environments/tps-scenario.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=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 93e776ef615a..223cef36b8f7 100755 --- a/spartan/scripts/deploy_network.sh +++ b/spartan/scripts/deploy_network.sh @@ -106,7 +106,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:-} @@ -513,6 +514,7 @@ VALIDATOR_PUBLISHERS_PER_VALIDATOR_KEY = ${PUBLISHERS_PER_VALIDATOR_KEY} 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 5f5370cb2995..9b06ef870bed 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 a37f80a93790..ecf14df0976b 100644 --- a/spartan/terraform/deploy-aztec-infra/variables.tf +++ b/spartan/terraform/deploy-aztec-infra/variables.tf @@ -343,6 +343,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