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