Merge remote-tracking branch 'origin/feature/handle-exceptions' into feature/caller-replacement

This commit is contained in:
Omar Abdulla
2025-07-22 06:47:19 +03:00
2 changed files with 21 additions and 23 deletions
+16 -18
View File
@@ -18,6 +18,22 @@ pub struct Case {
} }
impl Case { impl Case {
pub fn inputs_iterator(&self) -> impl Iterator<Item = Input> {
let inputs_len = self.inputs.len();
self.inputs
.clone()
.into_iter()
.enumerate()
.map(move |(idx, mut input)| {
if idx + 1 == inputs_len {
input.expected = self.expected.clone();
input
} else {
input
}
})
}
pub fn handle_address_replacement( pub fn handle_address_replacement(
&mut self, &mut self,
old_to_new_mapping: &mut AddressReplacementMap, old_to_new_mapping: &mut AddressReplacementMap,
@@ -37,21 +53,3 @@ define_wrapper_type!(
#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)]
CaseIdx(usize); CaseIdx(usize);
); );
impl Case {
pub fn inputs_iterator(&self) -> impl Iterator<Item = Input> {
let inputs_len = self.inputs.len();
self.inputs
.clone()
.into_iter()
.enumerate()
.map(move |(idx, mut input)| {
if idx + 1 == inputs_len {
input.expected = self.expected.clone();
input
} else {
input
}
})
}
}
+5 -5
View File
@@ -558,7 +558,7 @@ mod tests {
} }
#[test] #[test]
fn test_encoded_input_address() { fn test_encoded_input_address_with_signature() {
let raw_abi = r#"[ let raw_abi = r#"[
{ {
"inputs": [{"name": "recipient", "type": "address"}], "inputs": [{"name": "recipient", "type": "address"}],
@@ -579,8 +579,8 @@ mod tests {
.0; .0;
let input: Input = Input { let input: Input = Input {
instance: ContractInstance::new_from("Contract"), instance: "Contract".to_owned().into(),
method: Method::FunctionName("send".to_owned()), method: Method::FunctionName("send(address)".to_owned()),
calldata: Calldata::Compound(vec![ calldata: Calldata::Compound(vec![
"0x1000000000000000000000000000000000000001".to_string(), "0x1000000000000000000000000000000000000001".to_string(),
]), ]),
@@ -605,7 +605,7 @@ mod tests {
} }
#[test] #[test]
fn test_encoded_input_address_with_signature() { fn test_encoded_input_address() {
let raw_abi = r#"[ let raw_abi = r#"[
{ {
"inputs": [{"name": "recipient", "type": "address"}], "inputs": [{"name": "recipient", "type": "address"}],
@@ -627,7 +627,7 @@ mod tests {
let input: Input = Input { let input: Input = Input {
instance: ContractInstance::new_from("Contract"), instance: ContractInstance::new_from("Contract"),
method: Method::FunctionName("send(address)".to_owned()), method: Method::FunctionName("send".to_owned()),
calldata: Calldata::Compound(vec![ calldata: Calldata::Compound(vec![
"0x1000000000000000000000000000000000000001".to_string(), "0x1000000000000000000000000000000000000001".to_string(),
]), ]),