Skip to content

Commit

Permalink
Remove HashStf (#1558)
Browse files Browse the repository at this point in the history
  • Loading branch information
jfldde authored Dec 5, 2024
1 parent b610149 commit 7b3d816
Show file tree
Hide file tree
Showing 7 changed files with 82 additions and 482 deletions.
1 change: 0 additions & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

80 changes: 80 additions & 0 deletions bin/citrea/tests/bitcoin_e2e/full_node.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
use async_trait::async_trait;
use citrea_e2e::config::TestCaseConfig;
use citrea_e2e::framework::TestFramework;
use citrea_e2e::test_case::{TestCase, TestCaseRunner};
use citrea_e2e::traits::Restart;
use citrea_e2e::Result;
use sov_ledger_rpc::client::RpcClient;

use super::get_citrea_path;

struct FullNodeRestartTest;

#[async_trait]
impl TestCase for FullNodeRestartTest {
fn test_config() -> TestCaseConfig {
TestCaseConfig {
with_sequencer: true,
with_full_node: true,
..Default::default()
}
}

async fn run_test(&mut self, f: &mut TestFramework) -> Result<()> {
let sequencer = f.sequencer.as_ref().unwrap();
let full_node = f.full_node.as_mut().unwrap();

let genesis_state_root = full_node
.client
.http_client()
.get_l2_genesis_state_root()
.await?
.unwrap();

full_node.restart(None).await?;

let genesis_state_root_after = full_node
.client
.http_client()
.get_l2_genesis_state_root()
.await?
.unwrap();

// Verify genesis is not reprocessed
assert_eq!(genesis_state_root, genesis_state_root_after);

sequencer.client.send_publish_batch_request().await?;
full_node.wait_for_l2_height(1, None).await?;

let state_root_before = full_node
.client
.http_client()
.get_head_soft_confirmation()
.await?
.unwrap()
.state_root;

full_node.restart(None).await?;

let state_root_after = full_node
.client
.http_client()
.get_head_soft_confirmation()
.await?
.unwrap()
.state_root;

// Verify state root persists across restarts
assert_eq!(state_root_before, state_root_after);

Ok(())
}
}

#[tokio::test]
async fn test_full_node_restart() -> Result<()> {
TestCaseRunner::new(FullNodeRestartTest)
.set_citrea_path(get_citrea_path())
.run()
.await
}
1 change: 1 addition & 0 deletions bin/citrea/tests/bitcoin_e2e/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ pub mod batch_prover_test;
pub mod light_client_test;
// pub mod mempool_accept;
pub mod bitcoin_test;
pub mod full_node;
pub mod sequencer_commitments;
pub mod sequencer_test;
pub mod tx_chain;
Expand Down
1 change: 0 additions & 1 deletion crates/fullnode/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,5 @@ tempfile = { workspace = true }

citrea-primitives = { path = "../primitives", features = ["testing"] }
sov-mock-da = { path = "../sovereign-sdk/adapters/mock-da", features = ["native"] }
sov-mock-zkvm = { path = "../sovereign-sdk/adapters/mock-zkvm" }
sov-prover-storage-manager = { path = "../sovereign-sdk/full-node/sov-prover-storage-manager", features = ["test-utils"] }
sov-state = { path = "../sovereign-sdk/module-system/sov-state", features = ["native"] }
Loading

0 comments on commit 7b3d816

Please sign in to comment.