@@ -26,9 +26,9 @@ use std::time::Duration;
2626use aligned_sdk:: core:: constants:: {
2727 ADDITIONAL_SUBMISSION_GAS_COST_PER_PROOF , BATCHER_SUBMISSION_BASE_GAS_COST ,
2828 BUMP_BACKOFF_FACTOR , BUMP_MAX_RETRIES , BUMP_MAX_RETRY_DELAY , BUMP_MIN_RETRY_DELAY ,
29- CONNECTION_TIMEOUT , DEFAULT_MAX_FEE_PER_PROOF , ETHEREUM_CALL_BACKOFF_FACTOR ,
30- ETHEREUM_CALL_MAX_RETRIES , ETHEREUM_CALL_MAX_RETRY_DELAY , ETHEREUM_CALL_MIN_RETRY_DELAY ,
31- GAS_PRICE_PERCENTAGE_MULTIPLIER , PERCENTAGE_DIVIDER ,
29+ CBOR_ARRAY_MAX_OVERHEAD , CONNECTION_TIMEOUT , DEFAULT_MAX_FEE_PER_PROOF ,
30+ ETHEREUM_CALL_BACKOFF_FACTOR , ETHEREUM_CALL_MAX_RETRIES , ETHEREUM_CALL_MAX_RETRY_DELAY ,
31+ ETHEREUM_CALL_MIN_RETRY_DELAY , GAS_PRICE_PERCENTAGE_MULTIPLIER , PERCENTAGE_DIVIDER ,
3232 RESPOND_TO_TASK_FEE_LIMIT_PERCENTAGE_MULTIPLIER ,
3333} ;
3434use aligned_sdk:: core:: types:: {
@@ -115,6 +115,16 @@ impl Batcher {
115115 let s3_client = s3:: create_client ( upload_endpoint) . await ;
116116
117117 let config = ConfigFromYaml :: new ( config_file) ;
118+ // Ensure max_batch_bytes_size can at least hold one proof of max_proof_size,
119+ // including the overhead introduced by serialization
120+ assert ! (
121+ config. batcher. max_proof_size + CBOR_ARRAY_MAX_OVERHEAD
122+ <= config. batcher. max_batch_byte_size,
123+ "max_batch_bytes_size ({}) not big enough for one max_proof_size ({}) proof" ,
124+ config. batcher. max_batch_byte_size,
125+ config. batcher. max_proof_size
126+ ) ;
127+
118128 let deployment_output =
119129 ContractDeploymentOutput :: new ( config. aligned_layer_deployment_config_file_path ) ;
120130
0 commit comments