Skip to content

Commit

Permalink
Adjust default post actions response
Browse files Browse the repository at this point in the history
  • Loading branch information
lok52 committed Nov 29, 2023
1 parent 92f7c19 commit dad4035
Show file tree
Hide file tree
Showing 5 changed files with 19 additions and 28 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -215,7 +215,7 @@ fn process_verify_result(
match result {
Ok(res) => {
let post_actions_responses = process_post_actions(&res, &post_actions);
Ok(VerifyResponseWrapper::ok(res, Some(post_actions_responses)))
Ok(VerifyResponseWrapper::ok(res, post_actions_responses))
}
Err(err) => match err {
VerificationError::Compilation(_)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,10 @@ fn process_verification_result(
response: Result<sc_sourcify::Success, Error>,
) -> Result<VerifyResponseWrapper, Status> {
match response {
Ok(verification_success) => Ok(VerifyResponseWrapper::ok(verification_success, None)),
Ok(verification_success) => Ok(VerifyResponseWrapper::ok(
verification_success,
Default::default(),
)),
Err(err) => match err {
Error::Internal(err) => {
tracing::error!("internal error: {err:#?}");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ impl VyperVerifier for VyperVerifierService {
let result = vyper::multi_part::verify(self.client.clone(), request.try_into()?).await;

let response = if let Ok(verification_success) = result {
VerifyResponseWrapper::ok(verification_success, None)
VerifyResponseWrapper::ok(verification_success, Default::default())
} else {
let err = result.unwrap_err();
match err {
Expand Down Expand Up @@ -134,7 +134,7 @@ impl VyperVerifier for VyperVerifierService {
let result = vyper::standard_json::verify(self.client.clone(), verification_request).await;

let response = if let Ok(verification_success) = result {
VerifyResponseWrapper::ok(verification_success, None)
VerifyResponseWrapper::ok(verification_success, Default::default())
} else {
let err = result.unwrap_err();
match err {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -84,17 +84,14 @@ impl VerifyResponseOk for SourcifySuccess {
}

impl VerifyResponseWrapper {
pub fn ok<T: VerifyResponseOk>(
success: T,
post_action_responses: Option<PostActionResponses>,
) -> Self {
pub fn ok<T: VerifyResponseOk>(success: T, post_action_responses: PostActionResponses) -> Self {
let (source, extra_data) = success.result();
VerifyResponse {
message: "OK".to_string(),
status: Status::Success.into(),
source: Some(source),
extra_data: Some(extra_data),
post_action_responses,
post_action_responses: Some(post_action_responses),
}
.into()
}
Expand Down Expand Up @@ -191,9 +188,8 @@ mod tests {
deployed_bytecode_artifacts: Default::default(),
};

let response =
VerifyResponseWrapper::ok(verification_success.clone(), Some(Default::default()))
.into_inner();
let response = VerifyResponseWrapper::ok(verification_success.clone(), Default::default())
.into_inner();

let expected = VerifyResponse {
message: "OK".to_string(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,12 @@ pub fn find_methods_from_compiler_output(
.as_bytes()
.ok_or_else(|| anyhow::anyhow!("invalid bytecode"))?
.0;
let methods = parse_selectors_from_method_ids(&evm.method_identifiers)?;
let abi = &contract
.abi
.as_ref()
.ok_or_else(|| anyhow::anyhow!("abi missing"))?
.abi;
let methods = parse_selectors(abi);

Ok(find_methods_internal(
methods,
Expand All @@ -64,7 +69,7 @@ pub fn find_methods_from_compiler_output(
}

pub fn find_methods(request: LookupMethodsRequest) -> LookupMethodsResponse {
let methods = parse_selectors_from_abi(&request.abi);
let methods = parse_selectors(&request.abi);
find_methods_internal(
methods,
&request.bytecode,
Expand Down Expand Up @@ -158,20 +163,7 @@ fn find_src_map_index(selector: &[u8; 4], opcodes: &[DisassembledOpcode]) -> Opt
None
}

fn parse_selectors_from_method_ids(
methods: &BTreeMap<String, String>,
) -> anyhow::Result<BTreeMap<String, [u8; 4]>> {
let methods: BTreeMap<String, [u8; 4]> = methods
.iter()
.map(|(name, selector)| {
let mut result = [0u8; 4];
hex::decode_to_slice(selector, &mut result).map(|_| (name.to_owned(), result))
})
.collect::<Result<_, _>>()?;
Ok(methods)
}

fn parse_selectors_from_abi(abi: &Abi) -> BTreeMap<String, [u8; 4]> {
fn parse_selectors(abi: &Abi) -> BTreeMap<String, [u8; 4]> {
abi.functions()
.map(|f| (f.signature(), f.short_signature()))
.collect()
Expand Down

0 comments on commit dad4035

Please sign in to comment.