Skip to content

Commit c262bea

Browse files
authored
chore: Prover specs and delete txs on reorg (#17930)
2 parents 52f07f2 + 0caef48 commit c262bea

File tree

6 files changed

+77
-61
lines changed

6 files changed

+77
-61
lines changed

spartan/environments/staging-public.env

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ SEQ_MIN_TX_PER_BLOCK=0
2626
SEQ_MAX_TX_PER_BLOCK=1
2727
PROVER_REPLICAS=8
2828

29+
P2P_TX_POOL_DELETE_TXS_AFTER_REORG=true
30+
2931
VALIDATOR_REPLICAS=5
3032
VALIDATORS_PER_NODE=16
3133
PUBLISHERS_PER_VALIDATOR_KEY=2

spartan/environments/testnet.env

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ DEPLOY_INTERNAL_BOOTNODE=false
2828
BOT_TRANSFERS_REPLICAS=0
2929
BOT_SWAPS_REPLICAS=0
3030

31+
P2P_TX_POOL_DELETE_TXS_AFTER_REORG=true
32+
3133
DEPLOY_ARCHIVAL_NODE=true
3234

3335
RPC_INGRESS_ENABLED=true

spartan/scripts/deploy_network.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,7 @@ RPC_INGRESS_SSL_CERT_NAME=${RPC_INGRESS_SSL_CERT_NAME:-}
9999
RPC_REPLICAS=${RPC_REPLICAS:-1}
100100

101101
PROVER_NODE_DISABLE_PROOF_PUBLISH=${PROVER_NODE_DISABLE_PROOF_PUBLISH:-false}
102+
P2P_TX_POOL_DELETE_TXS_AFTER_REORG=${P2P_TX_POOL_DELETE_TXS_AFTER_REORG:-false}
102103

103104
########################
104105
# CHAOS MESH VARIABLES
@@ -382,6 +383,7 @@ DEPLOY_ARCHIVAL_NODE = ${DEPLOY_ARCHIVAL_NODE}
382383
PROVER_REPLICAS = ${PROVER_REPLICAS}
383384
384385
PROVER_NODE_DISABLE_PROOF_PUBLISH = ${PROVER_NODE_DISABLE_PROOF_PUBLISH}
386+
P2P_TX_POOL_DELETE_TXS_AFTER_REORG = ${P2P_TX_POOL_DELETE_TXS_AFTER_REORG}
385387
EOF
386388

387389
tf_run "${DEPLOY_AZTEC_INFRA_DIR}" "${DESTROY_AZTEC_INFRA}" "${CREATE_AZTEC_INFRA}"

spartan/terraform/deploy-aztec-infra/main.tf

Lines changed: 62 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -131,36 +131,37 @@ locals {
131131
"validator-resources-${var.VALIDATOR_RESOURCE_PROFILE}.yaml"
132132
]
133133
custom_settings = {
134-
"validator.web3signerUrl" = "http://${var.RELEASE_PREFIX}-signer-web3signer.${var.NAMESPACE}.svc.cluster.local:9000/"
135-
"validator.mnemonic" = var.VALIDATOR_MNEMONIC
136-
"validator.mnemonicStartIndex" = var.VALIDATOR_MNEMONIC_START_INDEX
137-
"validator.validatorsPerNode" = var.VALIDATORS_PER_NODE
138-
"validator.publishersPerValidatorKey" = var.VALIDATOR_PUBLISHERS_PER_VALIDATOR_KEY
139-
"validator.publisherMnemonicStartIndex" = var.VALIDATOR_PUBLISHER_MNEMONIC_START_INDEX
140-
"validator.replicaCount" = var.VALIDATOR_REPLICAS
141-
"validator.sentinel.enabled" = var.SENTINEL_ENABLED
142-
"validator.slash.minPenaltyPercentage" = var.SLASH_MIN_PENALTY_PERCENTAGE
143-
"validator.slash.maxPenaltyPercentage" = var.SLASH_MAX_PENALTY_PERCENTAGE
144-
"validator.slash.inactivityTargetPercentage" = var.SLASH_INACTIVITY_TARGET_PERCENTAGE
145-
"validator.slash.inactivityPenalty" = var.SLASH_INACTIVITY_PENALTY
146-
"validator.slash.prunePenalty" = var.SLASH_PRUNE_PENALTY
147-
"validator.slash.dataWithholdingPenalty" = var.SLASH_DATA_WITHHOLDING_PENALTY
148-
"validator.slash.proposeInvalidAttestationsPenalty" = var.SLASH_PROPOSE_INVALID_ATTESTATIONS_PENALTY
149-
"validator.slash.attestDescendantOfInvalidPenalty" = var.SLASH_ATTEST_DESCENDANT_OF_INVALID_PENALTY
150-
"validator.slash.unknownPenalty" = var.SLASH_UNKNOWN_PENALTY
151-
"validator.slash.invalidBlockPenalty" = var.SLASH_INVALID_BLOCK_PENALTY
152-
"validator.slash.offenseExpirationRounds" = var.SLASH_OFFENSE_EXPIRATION_ROUNDS
153-
"validator.slash.maxPayloadSize" = var.SLASH_MAX_PAYLOAD_SIZE
154-
"validator.node.env.TRANSACTIONS_DISABLED" = var.TRANSACTIONS_DISABLED
155-
"validator.node.env.NETWORK" = var.NETWORK
156-
"validator.node.env.KEY_INDEX_START" = var.VALIDATOR_MNEMONIC_START_INDEX
157-
"validator.node.env.PUBLISHER_KEY_INDEX_START" = var.VALIDATOR_PUBLISHER_MNEMONIC_START_INDEX
158-
"validator.node.env.VALIDATORS_PER_NODE" = var.VALIDATORS_PER_NODE
159-
"validator.node.env.PUBLISHERS_PER_VALIDATOR_KEY" = var.VALIDATOR_PUBLISHERS_PER_VALIDATOR_KEY
160-
"validator.node.proverRealProofs" = var.PROVER_REAL_PROOFS
161-
"validator.node.env.SEQ_MIN_TX_PER_BLOCK" = var.SEQ_MIN_TX_PER_BLOCK
162-
"validator.node.env.SEQ_MAX_TX_PER_BLOCK" = var.SEQ_MAX_TX_PER_BLOCK
163-
"validator.node.proverRealProofs" = var.PROVER_REAL_PROOFS
134+
"validator.web3signerUrl" = "http://${var.RELEASE_PREFIX}-signer-web3signer.${var.NAMESPACE}.svc.cluster.local:9000/"
135+
"validator.mnemonic" = var.VALIDATOR_MNEMONIC
136+
"validator.mnemonicStartIndex" = var.VALIDATOR_MNEMONIC_START_INDEX
137+
"validator.validatorsPerNode" = var.VALIDATORS_PER_NODE
138+
"validator.publishersPerValidatorKey" = var.VALIDATOR_PUBLISHERS_PER_VALIDATOR_KEY
139+
"validator.publisherMnemonicStartIndex" = var.VALIDATOR_PUBLISHER_MNEMONIC_START_INDEX
140+
"validator.replicaCount" = var.VALIDATOR_REPLICAS
141+
"validator.sentinel.enabled" = var.SENTINEL_ENABLED
142+
"validator.slash.minPenaltyPercentage" = var.SLASH_MIN_PENALTY_PERCENTAGE
143+
"validator.slash.maxPenaltyPercentage" = var.SLASH_MAX_PENALTY_PERCENTAGE
144+
"validator.slash.inactivityTargetPercentage" = var.SLASH_INACTIVITY_TARGET_PERCENTAGE
145+
"validator.slash.inactivityPenalty" = var.SLASH_INACTIVITY_PENALTY
146+
"validator.slash.prunePenalty" = var.SLASH_PRUNE_PENALTY
147+
"validator.slash.dataWithholdingPenalty" = var.SLASH_DATA_WITHHOLDING_PENALTY
148+
"validator.slash.proposeInvalidAttestationsPenalty" = var.SLASH_PROPOSE_INVALID_ATTESTATIONS_PENALTY
149+
"validator.slash.attestDescendantOfInvalidPenalty" = var.SLASH_ATTEST_DESCENDANT_OF_INVALID_PENALTY
150+
"validator.slash.unknownPenalty" = var.SLASH_UNKNOWN_PENALTY
151+
"validator.slash.invalidBlockPenalty" = var.SLASH_INVALID_BLOCK_PENALTY
152+
"validator.slash.offenseExpirationRounds" = var.SLASH_OFFENSE_EXPIRATION_ROUNDS
153+
"validator.slash.maxPayloadSize" = var.SLASH_MAX_PAYLOAD_SIZE
154+
"validator.node.env.TRANSACTIONS_DISABLED" = var.TRANSACTIONS_DISABLED
155+
"validator.node.env.NETWORK" = var.NETWORK
156+
"validator.node.env.KEY_INDEX_START" = var.VALIDATOR_MNEMONIC_START_INDEX
157+
"validator.node.env.PUBLISHER_KEY_INDEX_START" = var.VALIDATOR_PUBLISHER_MNEMONIC_START_INDEX
158+
"validator.node.env.VALIDATORS_PER_NODE" = var.VALIDATORS_PER_NODE
159+
"validator.node.env.PUBLISHERS_PER_VALIDATOR_KEY" = var.VALIDATOR_PUBLISHERS_PER_VALIDATOR_KEY
160+
"validator.node.proverRealProofs" = var.PROVER_REAL_PROOFS
161+
"validator.node.env.SEQ_MIN_TX_PER_BLOCK" = var.SEQ_MIN_TX_PER_BLOCK
162+
"validator.node.env.SEQ_MAX_TX_PER_BLOCK" = var.SEQ_MAX_TX_PER_BLOCK
163+
"validator.node.env.P2P_TX_POOL_DELETE_TXS_AFTER_REORG" = var.P2P_TX_POOL_DELETE_TXS_AFTER_REORG
164+
"validator.node.proverRealProofs" = var.PROVER_REAL_PROOFS
164165
}
165166
boot_node_host_path = "validator.node.env.BOOT_NODE_HOST"
166167
bootstrap_nodes_path = "validator.node.env.BOOTSTRAP_NODES"
@@ -176,23 +177,24 @@ locals {
176177
"prover-resources-${var.PROVER_RESOURCE_PROFILE}.yaml"
177178
]
178179
custom_settings = {
179-
"node.mnemonic" = var.PROVER_MNEMONIC
180-
"node.mnemonicStartIndex" = var.PROVER_PUBLISHER_MNEMONIC_START_INDEX
181-
"node.node.proverRealProofs" = var.PROVER_REAL_PROOFS
182-
"node.web3signerUrl" = "http://${var.RELEASE_PREFIX}-signer-web3signer.${var.NAMESPACE}.svc.cluster.local:9000/"
183-
"node.node.env.NETWORK" = var.NETWORK
184-
"node.node.env.PROVER_FAILED_PROOF_STORE" = var.PROVER_FAILED_PROOF_STORE
185-
"node.node.env.KEY_INDEX_START" = var.PROVER_PUBLISHER_MNEMONIC_START_INDEX
186-
"node.node.env.PUBLISHER_KEY_INDEX_START" = var.PROVER_PUBLISHER_MNEMONIC_START_INDEX
187-
"node.node.env.PUBLISHERS_PER_PROVER" = var.PROVER_PUBLISHERS_PER_PROVER
188-
"node.node.env.PROVER_NODE_DISABLE_PROOF_PUBLISH" = var.PROVER_NODE_DISABLE_PROOF_PUBLISH
189-
"broker.node.proverRealProofs" = var.PROVER_REAL_PROOFS
190-
"broker.node.env.NETWORK" = var.NETWORK
191-
"broker.node.env.BOOTSTRAP_NODES" = "asdf"
192-
"agent.node.proverRealProofs" = var.PROVER_REAL_PROOFS
193-
"agent.node.env.NETWORK" = var.NETWORK
194-
"agent.replicaCount" = var.PROVER_REPLICAS
195-
"agent.node.env.BOOTSTRAP_NODES" = "asdf"
180+
"node.mnemonic" = var.PROVER_MNEMONIC
181+
"node.mnemonicStartIndex" = var.PROVER_PUBLISHER_MNEMONIC_START_INDEX
182+
"node.node.proverRealProofs" = var.PROVER_REAL_PROOFS
183+
"node.web3signerUrl" = "http://${var.RELEASE_PREFIX}-signer-web3signer.${var.NAMESPACE}.svc.cluster.local:9000/"
184+
"node.node.env.NETWORK" = var.NETWORK
185+
"node.node.env.PROVER_FAILED_PROOF_STORE" = var.PROVER_FAILED_PROOF_STORE
186+
"node.node.env.KEY_INDEX_START" = var.PROVER_PUBLISHER_MNEMONIC_START_INDEX
187+
"node.node.env.PUBLISHER_KEY_INDEX_START" = var.PROVER_PUBLISHER_MNEMONIC_START_INDEX
188+
"node.node.env.PUBLISHERS_PER_PROVER" = var.PROVER_PUBLISHERS_PER_PROVER
189+
"node.node.env.PROVER_NODE_DISABLE_PROOF_PUBLISH" = var.PROVER_NODE_DISABLE_PROOF_PUBLISH
190+
"node.node.env.P2P_TX_POOL_DELETE_TXS_AFTER_REORG" = var.P2P_TX_POOL_DELETE_TXS_AFTER_REORG
191+
"broker.node.proverRealProofs" = var.PROVER_REAL_PROOFS
192+
"broker.node.env.NETWORK" = var.NETWORK
193+
"broker.node.env.BOOTSTRAP_NODES" = "asdf"
194+
"agent.node.proverRealProofs" = var.PROVER_REAL_PROOFS
195+
"agent.node.env.NETWORK" = var.NETWORK
196+
"agent.replicaCount" = var.PROVER_REPLICAS
197+
"agent.node.env.BOOTSTRAP_NODES" = "asdf"
196198
"agent.node.env.AGENT_COUNT" = var.PROVER_AGENTS_PER_PROVER
197199
}
198200
boot_node_host_path = "node.node.env.BOOT_NODE_HOST"
@@ -231,14 +233,15 @@ locals {
231233
}
232234
})] : []
233235
custom_settings = {
234-
"nodeType" = "rpc"
235-
"replicaCount" = var.RPC_REPLICAS
236-
"node.env.NETWORK" = var.NETWORK
237-
"node.proverRealProofs" = var.PROVER_REAL_PROOFS
238-
"ingress.rpc.enabled" = var.RPC_INGRESS_ENABLED
239-
"ingress.rpc.host" = var.RPC_INGRESS_HOST
240-
"node.env.AWS_ACCESS_KEY_ID" = var.R2_ACCESS_KEY_ID
241-
"node.env.AWS_SECRET_ACCESS_KEY" = var.R2_SECRET_ACCESS_KEY
236+
"nodeType" = "rpc"
237+
"replicaCount" = var.RPC_REPLICAS
238+
"node.env.NETWORK" = var.NETWORK
239+
"node.proverRealProofs" = var.PROVER_REAL_PROOFS
240+
"ingress.rpc.enabled" = var.RPC_INGRESS_ENABLED
241+
"ingress.rpc.host" = var.RPC_INGRESS_HOST
242+
"node.env.AWS_ACCESS_KEY_ID" = var.R2_ACCESS_KEY_ID
243+
"node.env.AWS_SECRET_ACCESS_KEY" = var.R2_SECRET_ACCESS_KEY
244+
"node.env.P2P_TX_POOL_DELETE_TXS_AFTER_REORG" = var.P2P_TX_POOL_DELETE_TXS_AFTER_REORG
242245
}
243246
boot_node_host_path = "node.env.BOOT_NODE_HOST"
244247
bootstrap_nodes_path = "node.env.BOOTSTRAP_NODES"
@@ -254,9 +257,10 @@ locals {
254257
"archive-resources-dev.yaml"
255258
]
256259
custom_settings = {
257-
"nodeType" = "archive"
258-
"node.env.NETWORK" = var.NETWORK
259-
"node.env.P2P_ARCHIVED_TX_LIMIT" = "10000000"
260+
"nodeType" = "archive"
261+
"node.env.NETWORK" = var.NETWORK
262+
"node.env.P2P_ARCHIVED_TX_LIMIT" = "10000000"
263+
"node.env.P2P_TX_POOL_DELETE_TXS_AFTER_REORG" = var.P2P_TX_POOL_DELETE_TXS_AFTER_REORG
260264
}
261265
boot_node_host_path = "node.env.BOOT_NODE_HOST"
262266
bootstrap_nodes_path = "node.env.BOOTSTRAP_NODES"

spartan/terraform/deploy-aztec-infra/values/prover-resources-prod.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,11 +66,11 @@ agent:
6666

6767
node:
6868
env:
69-
HARDWARE_CONCURRENCY: "15"
69+
HARDWARE_CONCURRENCY: "31"
7070
resources:
7171
requests:
72-
memory: "60Gi"
73-
cpu: "15"
72+
memory: "115Gi"
73+
cpu: "31"
7474

7575
affinity:
7676
nodeAffinity:

spartan/terraform/deploy-aztec-infra/variables.tf

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -483,6 +483,12 @@ variable "RPC_REPLICAS" {
483483
default = 1
484484
}
485485

486+
variable "P2P_TX_POOL_DELETE_TXS_AFTER_REORG" {
487+
description = "Whether to delete transactions from the P2P transaction pool after a reorg"
488+
type = bool
489+
default = false
490+
}
491+
486492
variable "PROVER_AGENTS_PER_PROVER" {
487493
description = "Number of prover agents per prover"
488494
type = string

0 commit comments

Comments
 (0)