Skip to content

Commit

Permalink
Merge branch 'feat_get_batch_pubdata_endpoint' of github.com:lambdacl…
Browse files Browse the repository at this point in the history
…ass/zksync-era into feat_da_manager_example
  • Loading branch information
ilitteri committed Jan 30, 2024
2 parents c622c3c + aa7fc16 commit 25dc4e3
Showing 1 changed file with 3 additions and 31 deletions.
34 changes: 3 additions & 31 deletions core/lib/dal/src/blocks_dal.rs
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ use zksync_types::{
aggregated_operations::AggregatedActionType,
block::{BlockGasCount, L1BatchHeader, MiniblockHeader},
commitment::{L1BatchMetadata, L1BatchWithMetadata},
utils::construct_pubdata,
Address, L1BatchNumber, LogQuery, MiniblockNumber, ProtocolVersionId, H256, U256,
};

Expand Down Expand Up @@ -2151,44 +2152,15 @@ impl BlocksDal<'_, '_> {
&mut self,
l1_batch_number: L1BatchNumber,
) -> anyhow::Result<Option<Vec<u8>>> {
let l1_batch_header = self
.get_l1_batch_header(l1_batch_number)
.await?
.context("L1 batch pubdata not found: get_l1_batch_metadata()")?;
let Some(l1_batch_metadata) = self
let Some(l1_batch_with_metadata) = self
.get_l1_batch_metadata(l1_batch_number)
.await
.context("L1 batch pubdata not found: get_l1_batch_metadata()")?
else {
return Ok(None);
};

let mut res = Vec::new();

// Process and Pack Logs
res.extend((l1_batch_header.l2_to_l1_logs.len() as u32).to_be_bytes());
for l2_to_l1_log in &l1_batch_header.l2_to_l1_logs {
res.extend(l2_to_l1_log.0.to_bytes());
}

// Process and Pack Messages
res.extend((l1_batch_header.l2_to_l1_messages.len() as u32).to_be_bytes());
for msg in &l1_batch_header.l2_to_l1_messages {
res.extend((msg.len() as u32).to_be_bytes());
res.extend(msg);
}

// Process and Pack Bytecodes
res.extend((l1_batch_metadata.factory_deps.len() as u32).to_be_bytes());
for bytecode in &l1_batch_metadata.factory_deps {
res.extend((bytecode.len() as u32).to_be_bytes());
res.extend(bytecode);
}

// Extend with Compressed StateDiffs
res.extend(&l1_batch_metadata.metadata.state_diffs_compressed);

Ok(Some(res))
Ok(Some(construct_pubdata(&l1_batch_with_metadata)))
}
}

Expand Down

0 comments on commit 25dc4e3

Please sign in to comment.