From e36fd22d7f997573bea63fb5590dc4a8f764abac Mon Sep 17 00:00:00 2001 From: chengwenxi <22697326+chengwenxi@users.noreply.github.com> Date: Fri, 21 Mar 2025 13:23:06 +0800 Subject: [PATCH 1/2] add coinbase to block context --- prover/crates/morph-executor/client/src/lib.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/prover/crates/morph-executor/client/src/lib.rs b/prover/crates/morph-executor/client/src/lib.rs index 2e630930a..2af211e8e 100644 --- a/prover/crates/morph-executor/client/src/lib.rs +++ b/prover/crates/morph-executor/client/src/lib.rs @@ -11,11 +11,12 @@ pub fn verify(input: &ClientInput) -> Result { let num_blocks = input.l2_traces.len(); let (versioned_hash, batch_data) = BlobVerifier::verify(&input.blob_info, num_blocks).unwrap(); println!("cycle-tracker-start: traces-to-data"); - let mut batch_from_trace: Vec = Vec::with_capacity(num_blocks * 60); + let mut batch_from_trace: Vec = Vec::with_capacity(num_blocks * 80); let mut tx_bytes: Vec = vec![]; for trace in &input.l2_traces { // BlockContext - let mut block_ctx: Vec = Vec::with_capacity(60); + // Number(8) || Timestamp(8) || BaseFee(32) || GasLimit(8) || numTxs(2) || numL1Messages(2) || Miner(20) + let mut block_ctx: Vec = Vec::with_capacity(80); block_ctx.extend_from_slice(&trace.number().to_be_bytes()); block_ctx.extend_from_slice(&trace.timestamp().to::().to_be_bytes()); block_ctx @@ -23,6 +24,7 @@ pub fn verify(input: &ClientInput) -> Result { block_ctx.extend_from_slice(&trace.gas_limit().to::().to_be_bytes()); block_ctx.extend_from_slice(&(trace.transactions.len() as u16).to_be_bytes()); block_ctx.extend_from_slice(&(trace.num_l1_txs() as u16).to_be_bytes()); + block_ctx.extend_from_slice(trace.coinbase().as_slice()); batch_from_trace.extend(block_ctx); // Collect txns From e8f4223fc511f7a01175b4747f88582a298fcb98 Mon Sep 17 00:00:00 2001 From: chengwenxi <22697326+chengwenxi@users.noreply.github.com> Date: Fri, 21 Mar 2025 13:33:00 +0800 Subject: [PATCH 2/2] cargo fmt --- prover/crates/morph-executor/client/src/lib.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/prover/crates/morph-executor/client/src/lib.rs b/prover/crates/morph-executor/client/src/lib.rs index 2af211e8e..975985c23 100644 --- a/prover/crates/morph-executor/client/src/lib.rs +++ b/prover/crates/morph-executor/client/src/lib.rs @@ -15,7 +15,8 @@ pub fn verify(input: &ClientInput) -> Result { let mut tx_bytes: Vec = vec![]; for trace in &input.l2_traces { // BlockContext - // Number(8) || Timestamp(8) || BaseFee(32) || GasLimit(8) || numTxs(2) || numL1Messages(2) || Miner(20) + // Number(8) || Timestamp(8) || BaseFee(32) || GasLimit(8) || numTxs(2) || numL1Messages(2) + // || Miner(20) let mut block_ctx: Vec = Vec::with_capacity(80); block_ctx.extend_from_slice(&trace.number().to_be_bytes()); block_ctx.extend_from_slice(&trace.timestamp().to::().to_be_bytes());