MCPcopy Create free account
hub / github.com/BitVM/BitVM / try_from

Method try_from

bridge/src/commitments.rs:52–74  ·  view source on GitHub ↗
(s: String)

Source from the content-addressed store, hash-verified

50 type Error = String;
51
52 fn try_from(s: String) -> Result<Self, Self::Error> {
53 for variant in CommitmentMessageId::iter() {
54 if s == variant.to_string() {
55 return Ok(variant);
56 } else if s.starts_with(&format!("Groth16IntermediateValues{}", VAL_SEPARATOR)) {
57 let parts: Vec<_> = s.split(VAL_SEPARATOR).collect();
58 if parts.len() != 3 {
59 return Err(format!("Invalid Groth16IntermediateValues format: {}", s));
60 }
61 let variable_name = parts[1].to_string();
62 let size = parts[2]
63 .parse::<usize>()
64 .map_err(|e| format!("Invalid size in Groth16IntermediateValues: {}", e))?;
65
66 return Ok(CommitmentMessageId::Groth16IntermediateValues((
67 variable_name,
68 size,
69 )));
70 }
71 }
72
73 Err(format!("Unknown CommitmentMessageId: {}", s))
74 }
75}
76
77impl CommitmentMessageId {

Callers

nothing calls this directly

Calls 1

lenMethod · 0.80

Tested by

no test coverage detected