Skip to content

Conversation

@prkpndy
Copy link
Contributor

@prkpndy prkpndy commented Nov 10, 2025

Pull Request type

Please add the labels corresponding to the type of changes your PR introduces:

  • Bugfix
  • Feature
  • Code style update (formatting, renaming)
  • Refactoring (no functional changes, no API changes)
  • Build-related changes
  • Documentation content changes
  • Testing
  • Other (please describe):

What is the current behavior?

E2E fails. Settlement fails on Ethereum sepolia

Resolves: #NA

What is the new behavior?

This PR fixes the issue in the E2E test because of 0.14.0 update in Madara. It also updates the state update job (and ethereum settlement client) to handle the fusaka upgrade on sepolia.

  • bumps the SNOS to use 0.14.1 blockifier
  • bump c-kzg library to create cell proof
  • update trusted_setup.txt file

Does this introduce a breaking change?

Other information

@prkpndy prkpndy self-assigned this Nov 10, 2025
@prkpndy prkpndy changed the title fix: 0.14.0 E2E tests fix: 0.14.0 E2E tests and change settlement to handle fusaka upgrade Nov 14, 2025
Comment on lines 157 to 159
for proof in proofs.iter() {
blob_cell_proofs.push(FixedBytes::new(proof.to_bytes().into_inner()));
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

instead of iter, you can probably use something like extend

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sorted

/// Method to create a cell transaction (post-Fusaka, for sepolia/testnet)
/// Creates transaction with cell proofs
/// Returns the signed transaction variant with EIP7594 sidecar
async fn create_cell_transaction(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if the only difference is a sidecar, we don't need to copy paste the entire code.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sorted

Copy link
Contributor

@heemankv heemankv left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good,
I think we can make the code more idiomatic tho,
specially in eth settlement's conversion.rs and lib.rs

match nonce {
Some(nonce) => self.execute_v3(calls).nonce(nonce.into()),
None => self.execute_v3(calls),
None => self.execute_v3(calls).l1_gas(0).l2_gas(0).l1_data_gas(0),
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment on why this is needed would be helpful !

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

l1_endpoint: None,
l1_gas_price: 0,
blob_gas_price: 0,
l1_gas_price: 1,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment explaining this would be helpful

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

Comment on lines +15 to +31
pub type DefaultHttpProvider = alloy::providers::fillers::FillProvider<
alloy::providers::fillers::JoinFill<
alloy::providers::Identity,
alloy::providers::fillers::JoinFill<
alloy::providers::fillers::GasFiller,
alloy::providers::fillers::JoinFill<
alloy::providers::fillers::BlobGasFiller,
alloy::providers::fillers::JoinFill<
alloy::providers::fillers::NonceFiller,
alloy::providers::fillers::ChainIdFiller,
>,
>,
>,
>,
alloy::providers::RootProvider<alloy::network::Ethereum>,
alloy::network::Ethereum,
>;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The same type is being used in prover-clients as well, can we create it in utils and use it from there ?
Also comment in why this is the way it is now would be great!


/// Whether settling on Ethereum mainnet (true) or Sepolia testnet (false).
/// Mainnet uses blob proofs (pre-Fusaka), Sepolia uses cell proofs (post-Fusaka).
#[arg(env = "MADARA_ORCHESTRATOR_ETHEREUM_IS_MAINNET", long, default_value = "false")]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is only till December 3 2025 (Fusaka launch date on Mainnet) right ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated the flag to make it more specific to the usecase as discusses with @apoorvsadana. Not it's called disable-peerdas.
Yes, it's till mainnet also have fusaka. After that we can forget about this flag

Copy link
Contributor

@apoorvsadana apoorvsadana left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

prepare_sidecar functions looks good now!

@apoorvsadana
Copy link
Contributor

btw, do we also need to enable it back in the CI in this PR?

@prkpndy prkpndy marked this pull request as ready for review November 21, 2025 04:28
@prkpndy prkpndy marked this pull request as draft November 21, 2025 09:53
@prkpndy prkpndy marked this pull request as ready for review November 21, 2025 13:57
@prkpndy prkpndy merged commit fb30030 into main Nov 21, 2025
43 checks passed
@github-project-automation github-project-automation bot moved this to Done in Madara Nov 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

5 participants