Skip to content

Commit

Permalink
fix update to new codec sigil
Browse files Browse the repository at this point in the history
Signed-off-by: Dave Huseby <dwh@linuxprogrammer.org>
  • Loading branch information
dhuseby committed Aug 27, 2024
1 parent 19238d9 commit 8f1fd42
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 26 deletions.
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "multikey"
version = "1.0.5"
version = "1.0.6"

This comment has been minimized.

Copy link
@DougAnderson444

DougAnderson444 Aug 27, 2024

Collaborator

@dhuseby isn't this a breaking change worth of a minor revision? Or were you just keeping everything at 1.0.x for now?

This comment has been minimized.

Copy link
@dhuseby

dhuseby Aug 28, 2024

Author Member

I suppose it is isn't. I'll bump the minor number for multikey, multisig, and provenance-logs.

edition = "2021"
authors = ["Dave Grantham <dwg@linuxprogrammer.org>"]
description = "Multikey self-describing cryptographic key data"
Expand Down
24 changes: 16 additions & 8 deletions src/mk.rs
Original file line number Diff line number Diff line change
Expand Up @@ -905,6 +905,15 @@ mod tests {
.with_comment("test key")
.try_build()
.unwrap();
let (vpk, epk) = {
let conv = mk.conv_view().unwrap();
let pk = conv.to_public_key().unwrap();
(Into::<Vec<u8>>::into(pk.clone()), EncodedMultikey::from(pk))
};
println!("encoded pubkey: {}: {}", codec, epk);
println!("encoded pubkey v: {}: {}", codec, hex::encode(vpk));
println!("encoded privkey: {}: {}", codec, EncodedMultikey::from(mk.clone()));
println!("encoded privkey v: {}: {}", codec, hex::encode(Into::<Vec<u8>>::into(mk.clone())));
let _v: Vec<u8> = mk.into();
}
}
Expand All @@ -920,7 +929,7 @@ mod tests {
.try_build_encoded()
.unwrap();
let s = mk.to_string();
println!("{}: {}", codec, s);
//println!("encoded privkey: {}: {}", codec, s);
assert_eq!(mk, EncodedMultikey::try_from(s.as_str()).unwrap());
}
}
Expand Down Expand Up @@ -1283,11 +1292,11 @@ mod tests {

#[test]
fn test_pub_from_string() {
let s = "zVQSE6EFkZ7inH63w9bBj9jtkj1wL8LHrQ3mW1P9db6JBLnf3aEaesMak9p8Jinmb".to_string();
let s = "fba24ed010874657374206b6579010120f9ddcd5118319cc69e6985ef3f4ee3b6c591d46255e1ae5569c8662111b7d3c2".to_string();
let mk = EncodedMultikey::try_from(s.as_str()).unwrap();
let attr = mk.attr_view().unwrap();
assert_eq!(mk.codec(), Codec::Ed25519Pub);
assert_eq!(mk.encoding(), Base::Base58Btc);
assert_eq!(mk.encoding(), Base::Base16Lower);
assert_eq!(mk.comment, "test key".to_string());
assert_eq!(false, attr.is_encrypted());
assert_eq!(true, attr.is_public_key());
Expand All @@ -1299,12 +1308,11 @@ mod tests {

#[test]
fn test_priv_from_string() {
let s = "bhkacmcdumvzxiidlmv4qcaja5nk775jrjosqisq42b45vfsxzkah2753vhkjzzg3jdteo2zqrp2a"
.to_string();
let s = "fba2480260874657374206b657901012064e58adf88f85cbec6a0448a0803f9d28cf9231a7141be413f83cf6aa883cd04".to_string();
let mk = EncodedMultikey::try_from(s.as_str()).unwrap();
let attr = mk.attr_view().unwrap();
assert_eq!(mk.codec(), Codec::Ed25519Priv);
assert_eq!(mk.encoding(), Base::Base32Lower);
assert_eq!(mk.encoding(), Base::Base16Lower);
assert_eq!(mk.comment, "test key".to_string());
assert_eq!(false, attr.is_encrypted());
assert_eq!(false, attr.is_public_key());
Expand All @@ -1316,7 +1324,7 @@ mod tests {

#[test]
fn test_pub_from_vec() {
let b = hex::decode("3aed010874657374206b6579010120552da9e68c94a11c75da53e66d269a992647ca6cfabca4283e1fd322cceb75d4").unwrap();
let b = hex::decode("ba24ed010874657374206b6579010120f9ddcd5118319cc69e6985ef3f4ee3b6c591d46255e1ae5569c8662111b7d3c2").unwrap();
let mk = Multikey::try_from(b.as_slice()).unwrap();
let attr = mk.attr_view().unwrap();
assert_eq!(mk.codec(), Codec::Ed25519Pub);
Expand All @@ -1331,7 +1339,7 @@ mod tests {

#[test]
fn test_priv_from_vec() {
let b = hex::decode("3a80260874657374206b65790101201e0d7193b676e03b2ba4f329c3817d569de404eef2809b7f401111435dcf3f6b").unwrap();
let b = hex::decode("ba2480260874657374206b657901012064e58adf88f85cbec6a0448a0803f9d28cf9231a7141be413f83cf6aa883cd04").unwrap();
let mk = Multikey::try_from(b.as_slice()).unwrap();
let attr = mk.attr_view().unwrap();
assert_eq!(mk.codec(), Codec::Ed25519Priv);
Expand Down
28 changes: 11 additions & 17 deletions src/serde/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ mod tests {
&mk.compact(),
&[
Token::BorrowedBytes(&[
0x3a, // Multikey sigil
0xba, 0x24, // Multikey sigil
0xed, 0x01, // Ed25519 public key as varuint
0x08, // comment length
0x74, 0x65, 0x73, 0x74, 0x20, 0x6b, 0x65, 0x79, // comment
Expand Down Expand Up @@ -109,7 +109,7 @@ mod tests {
assert_tokens(
&pk.readable(),
&[Token::Str(
"zVCYiTqf3RfiqqE4RxExy5XEvCWJKnHH4P67PLC1VuAuA1N8X1qQhM3Y3Bp1xmTQ5",
"z7q2yVpRpajoAeCS88yKcpYdNB5dtDEDvKqPGXAyTEebE8qxx8Zgh8MwFcbbvbMTSjT",
)],
);
}
Expand Down Expand Up @@ -215,7 +215,7 @@ mod tests {
&mk2.compact(),
&[
Token::BorrowedBytes(&[
0x3a, // Multikey sigil
0xba, 0x24, // Multikey sigil
0x80, 0x26, // Ed25519 private codec as varuint
0x08, // comment of 8 bytes
// comment
Expand Down Expand Up @@ -414,12 +414,12 @@ mod tests {
.with_key_bytes(&bytes)
.try_build_encoded()
.unwrap();
println!("{}", emk);
println!("encoded bls private: {}", emk);
*/

// build a secret key share multikey
let emk = EncodedMultikey::try_from(
"zVDXiufT1nH3FWqLCAq9zvngU8nLUv1jvrkp8hGajy38caidL18ML9E5fYYfJkXQJ",
"z7q2zUpseNi9mxc7jQjYD1aUdcdaAFPMenhrwDvLXotf6NJYJdNfz4zjSADxfEhSWjg",
)
.unwrap();
let mk1 = emk.to_inner();
Expand Down Expand Up @@ -501,13 +501,7 @@ mod tests {
assert_tokens(
&n.compact(),
&[
Token::BorrowedBytes(&[
59, 32, 118, 137, 82, 114, 197, 206,
92, 12, 114, 181, 236, 84, 148, 78,
173, 115, 148, 130, 248, 112, 72, 219,
191, 193, 59, 135, 48, 8, 179, 29,
89, 149
]),
Token::BorrowedBytes(&[187, 36, 32, 118, 137, 82, 114, 197, 206, 92, 12, 114, 181, 236, 84, 148, 78, 173, 115, 148, 130, 248, 112, 72, 219, 191, 193, 59, 135, 48, 8, 179, 29, 89, 149]),
],
);
}
Expand All @@ -523,7 +517,7 @@ mod tests {
assert_tokens(
&n.readable(),
&[Token::Str(
"f3b2076895272c5ce5c0c72b5ec54944ead739482f87048dbbfc13b873008b31d5995",
"fbb242076895272c5ce5c0c72b5ec54944ead739482f87048dbbfc13b873008b31d5995",
)],
);
}
Expand Down Expand Up @@ -556,7 +550,7 @@ mod tests {
assert_tokens(
&mk.compact(),
&[
Token::BorrowedBytes(&[0x3a, 0x0, 0x0, 0x0]),
Token::BorrowedBytes(&[186, 36, 0, 0, 0]),
]
);
}
Expand Down Expand Up @@ -586,7 +580,7 @@ mod tests {
assert_tokens(
&mk.readable(),
&[
Token::Str("f3a000000"),
Token::Str("fba24000000"),
]
);
}
Expand All @@ -597,7 +591,7 @@ mod tests {
assert_tokens(
&n.compact(),
&[
Token::BorrowedBytes(&[59, 0]),
Token::BorrowedBytes(&[187, 36, 0]),
]
);
}
Expand All @@ -622,7 +616,7 @@ mod tests {
assert_tokens(
&n.readable(),
&[
Token::Str("f3b00"),
Token::Str("fbb2400"),
]
);
}
Expand Down

0 comments on commit 8f1fd42

Please sign in to comment.