Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TODOs tracking issue #1676

Open
28 tasks
rakanalh opened this issue Jan 7, 2025 · 0 comments
Open
28 tasks

TODOs tracking issue #1676

rakanalh opened this issue Jan 7, 2025 · 0 comments

Comments

@rakanalh
Copy link
Contributor

rakanalh commented Jan 7, 2025

This issue tracks all TODOs in the codebase for further investigation and decision making. However, the following list excludes:

  • Test TODOs
  • Sov-SDK TODOs

Rollup

  • Placeholder for issue
    // TODO: Double check what kind of storage needed here.
    // Maybe whole "prev_root" can be initialized inside runner
    // Getting block here, so prover_service doesn't have to be `Send`

It seems to me that the ProverService trait does not enforce Send. More context is needed here.

This points to an issue Sovereign-Labs/sovereign-sdk#1218

  • Placeholder for issue

    citrea/Cargo.toml

    Lines 56 to 58 in a6f1edd

    # TODO: Consider replacing this serialization format
    # https://github.com/Sovereign-Labs/sovereign-sdk/issues/283
    bincode = "1.3.3"

Risc0 crate

Bitcoin-DA crate

EVM crate

  • Placeholder for issue

    fn code_by_hash(&mut self, code_hash: B256) -> Result<Bytecode, Self::Error> {
    // TODO move to new_raw_with_hash for better performance

  • Placeholder for issue

    /// TODO: docs + discuss finalized, safe and pending
    pub fn convert_block_number(

  • Placeholder for issue

    // TODO: Is there a better way to handle this instead of giving the latest block?
    BlockNumberOrTag::Finalized => start_block,
    // TODO: Is there a better way to handle this instead of giving the latest block?
    BlockNumberOrTag::Safe => start_block,

  • Placeholder for issue

    // TODO check: Nonce for CREATE will be bumped in `handle_create`.
    if context.evm.env.tx.transact_to.is_call() {

  • Placeholder for issue

    // TODO: this assumes all blocks have the same gas limit
    // if gas limit ever changes this should be updated
    let last_block = self
    .blocks
    .last(&mut working_set.accessory_state())
    .expect("Head block must be set");

  • Placeholder for issue

    citrea/crates/evm/src/query.rs

    Lines 1320 to 1322 in a6f1edd

    // EvmDB is the replacement of revm::CacheDB because cachedb requires immutable state
    // TODO: Move to CacheDB once immutable state is implemented
    let mut evm_db = self.get_db(working_set, current_spec);

  • Placeholder for issue

    citrea/crates/evm/src/query.rs

    Lines 1324 to 1326 in a6f1edd

    // TODO: Convert below steps to blocking task like in reth after implementing the semaphores
    let mut traces = Vec::new();
    let mut transactions = block_txs.into_iter().enumerate().peekable();

  • Placeholder for issue

    citrea/crates/evm/src/query.rs

    Lines 1494 to 1496 in a6f1edd

    // TODO: Understand how to handle this
    // TAG - true when the log was removed, due to a chain reorganization. false if its a valid log.
    let removed = false;

  • EVM: implement MuxTracer #251

    // TODO: either implement or return unsupported
    GethDebugBuiltInTracerType::MuxTracer => Err(EthApiError::Unsupported("MuxTracer")),

  • Placeholder for issue

    // TODO: maybe be able to genesis with Fork1
    pub(crate) fn init_module(

  • Placeholder for issue

    // TODO: Check this for genesis hash - is it completely fine?
    l1_hash: B256::default(),

  • Placeholder for issue

    // TODO: write hardhat and unit tests for this
    if request.max_fee_per_gas == Some(0) {

Sequencer

  • Placeholder for issue

    let validator = TransactionValidationTaskExecutor::eth_builder(Arc::new(chain_spec))
    .no_cancun()
    .no_eip4844()
    // TODO: if we ever increase block gas limits, we need to pull this from
    // somewhere else
    .set_block_gas_limit(evm_config.block_gas_limit)

  • Placeholder for issue

    // TODO: handle this error
    .expect("dry_run_transactions should have already checked this");

  • Placeholder for issue

    // TODO: this will only work for mock da
    // when https://github.com/Sovereign-Labs/sovereign-sdk/issues/1218
    // is merged, rpc will access up to date storage then we won't need to finalize rigth away.
    // however we need much better DA + finalization logic here
    self.storage_manager.finalize_l2(l2_height)?;

Also related to Sovereign-Labs/sovereign-sdk#1218

Guests

(these three will be handled while releasing Fork1 for devnet and testnet, let them stay thoug no need for issues)

@rakanalh rakanalh changed the title TODOs in the codebase TODOs tracking issue Jan 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant