Skip to content

Commit b90f4be

Browse files
committed
remove unneeded key_type argument
1 parent 0d6d9f0 commit b90f4be

File tree

1 file changed

+14
-38
lines changed

1 file changed

+14
-38
lines changed

rust/signed_doc/bins/mk_signed_doc.rs

Lines changed: 14 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,6 @@ enum Cli {
4141
sk_hex: String,
4242
/// Signer kid
4343
kid: CatalystId,
44-
/// provided `sk_hex` key type
45-
#[clap(default_value_t)]
46-
key_type: KeyType,
4744
},
4845
/// Inspects Catalyst Signed Document
4946
Inspect {
@@ -57,17 +54,6 @@ enum Cli {
5754
},
5855
}
5956

60-
/// Type of the ed25519 private signing key
61-
#[derive(clap::ValueEnum, Default, Clone, strum::Display)]
62-
#[strum(serialize_all = "kebab-case")]
63-
enum KeyType {
64-
/// A regular ed25519
65-
#[default]
66-
Regular,
67-
/// A BIP32 extended ed25519
68-
Bip32Extended,
69-
}
70-
7157
impl Cli {
7258
fn exec(self) -> anyhow::Result<()> {
7359
match self {
@@ -86,36 +72,26 @@ impl Cli {
8672
println!("report {:?}", &signed_doc.problem_report());
8773
save_signed_doc(signed_doc, &output)?;
8874
},
89-
Self::Sign {
90-
doc,
91-
sk_hex,
92-
kid,
93-
key_type,
94-
} => {
75+
Self::Sign { doc, sk_hex, kid } => {
9576
let sk_bytes = hex::decode(sk_hex)?;
9677
let cose_bytes = read_bytes_from_file(&doc)?;
9778
let signed_doc = signed_doc_from_bytes(cose_bytes.as_slice())?;
9879

9980
let builder = signed_doc.into_builder()?;
10081

101-
let builder = match key_type {
102-
KeyType::Regular => {
103-
let sk =
104-
ed25519_dalek::SigningKey::from_bytes(&sk_bytes.try_into().map_err(
105-
|_| anyhow::anyhow!("Provided secret key must be 32 bytes long"),
106-
)?);
107-
builder.add_signature(
108-
|message| sk.sign(&message).to_bytes().to_vec(),
109-
kid.clone(),
110-
)?
111-
},
112-
KeyType::Bip32Extended => {
113-
let sk = ed25519_bip32::XPrv::from_slice_verified(&sk_bytes)?;
114-
builder.add_signature(
115-
|message| sk.sign::<()>(&message).to_bytes().to_vec(),
116-
kid.clone(),
117-
)?
118-
},
82+
let builder = if let Ok(sk) = ed25519_bip32::XPrv::from_slice_verified(&sk_bytes) {
83+
builder.add_signature(
84+
|message| sk.sign::<()>(&message).to_bytes().to_vec(),
85+
kid.clone(),
86+
)?
87+
} else {
88+
let sk = ed25519_dalek::SigningKey::from_bytes(&sk_bytes.try_into().map_err(
89+
|_| anyhow::anyhow!("Provided secret key must be 32 bytes long"),
90+
)?);
91+
builder.add_signature(
92+
|message| sk.sign(&message).to_bytes().to_vec(),
93+
kid.clone(),
94+
)?
11995
};
12096

12197
let new_signed_doc = builder.build()?;

0 commit comments

Comments
 (0)