Skip to content

Commit

Permalink
chore: expose submitting SignedIngress in StateMachine tests
Browse files Browse the repository at this point in the history
  • Loading branch information
mraszyk committed Jan 22, 2024
1 parent 45503d9 commit c4c8648
Showing 1 changed file with 22 additions and 25 deletions.
47 changes: 22 additions & 25 deletions rs/state_machine_tests/src/lib.rs
Expand Up @@ -891,12 +891,7 @@ impl StateMachine {
/// will be considered during payload building.
pub fn execute_round(&self) {
// Make sure the latest state is certified and fetch it from `StateManager`.
if self.state_manager.latest_state_height() > self.state_manager.latest_certified_height() {
let state_hashes = self.state_manager.list_state_hashes_to_certify();
let (height, hash) = state_hashes.last().unwrap();
self.state_manager
.deliver_state_certification(self.certify_hash(height, hash));
}
self.certify_latest_state();
let certified_height = self.state_manager.latest_certified_height();
let state = self
.state_manager
Expand Down Expand Up @@ -1269,12 +1264,7 @@ impl StateMachine {
msg_limit: Option<usize>,
byte_limit: Option<usize>,
) -> Result<CertifiedStreamSlice, EncodeStreamError> {
if self.state_manager.latest_state_height() > self.state_manager.latest_certified_height() {
let state_hashes = self.state_manager.list_state_hashes_to_certify();
let (height, hash) = state_hashes.last().unwrap();
self.state_manager
.deliver_state_certification(self.certify_hash(height, hash));
}
self.certify_latest_state();
self.state_manager.encode_certified_stream_slice(
remote_subnet_id,
witness_begin,
Expand Down Expand Up @@ -1305,6 +1295,16 @@ impl StateMachine {
})
}

/// Make sure the latest state is certified.
fn certify_latest_state(&self) {
if self.state_manager.latest_state_height() > self.state_manager.latest_certified_height() {
let state_hashes = self.state_manager.list_state_hashes_to_certify();
let (height, hash) = state_hashes.last().unwrap();
self.state_manager
.deliver_state_certification(self.certify_hash(height, hash));
}
}

/// Submit an ingress message into the ingress pool used by `PayloadBuilderImpl`
/// in `Self::execute_round`.
pub fn submit_ingress_as(
Expand Down Expand Up @@ -1335,14 +1335,17 @@ impl StateMachine {
sender_delegation: None,
})
.unwrap();
self.submit_signed_ingress(msg)
}

/// Submit an ingress message into the ingress pool used by `PayloadBuilderImpl`
/// in `Self::execute_round`.
pub fn submit_signed_ingress(
&self,
msg: SignedIngress,
) -> Result<MessageId, SubmitIngressError> {
// Make sure the latest state is certified and fetch it from `StateManager`.
if self.state_manager.latest_state_height() > self.state_manager.latest_certified_height() {
let state_hashes = self.state_manager.list_state_hashes_to_certify();
let (height, hash) = state_hashes.last().unwrap();
self.state_manager
.deliver_state_certification(self.certify_hash(height, hash));
}
self.certify_latest_state();
let certified_height = self.state_manager.latest_certified_height();
let state = self
.state_manager
Expand Down Expand Up @@ -2029,13 +2032,7 @@ impl StateMachine {
method: impl ToString,
method_payload: Vec<u8>,
) -> Result<WasmResult, UserError> {
if self.state_manager.latest_state_height() > self.state_manager.latest_certified_height() {
let state_hashes = self.state_manager.list_state_hashes_to_certify();
let (height, hash) = state_hashes.last().unwrap();
self.state_manager
.deliver_state_certification(self.certify_hash(height, hash));
}

self.certify_latest_state();
let path = SubTree(flatmap! {
Label::from("canister") => SubTree(
flatmap! {
Expand Down

0 comments on commit c4c8648

Please sign in to comment.