Skip to content

Commit 0d8afe6

Browse files
committed
Introducing serde-secrets feature flag
1 parent 739d36f commit 0d8afe6

File tree

4 files changed

+29
-15
lines changed

4 files changed

+29
-15
lines changed

Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ recovery = ["secp256k1-sys/recovery"]
2727
lowmemory = ["secp256k1-sys/lowmemory"]
2828
global-context = ["std", "rand-std", "global-context-less-secure"]
2929
global-context-less-secure = []
30+
serde-secrets = ["serde", "std"]
3031

3132
[dependencies]
3233
secp256k1-sys = { version = "0.4.1", default-features = false, path = "./secp256k1-sys" }

contrib/test.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/bin/sh -ex
22

3-
FEATURES="bitcoin_hashes global-context lowmemory rand rand-std recovery serde"
3+
FEATURES="bitcoin_hashes global-context lowmemory rand rand-std recovery serde serde-secrets"
44

55
# Use toolchain if explicitly specified
66
if [ -n "$TOOLCHAIN" ]

src/key.rs

Lines changed: 26 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@ impl SecretKey {
199199
}
200200
}
201201

202-
#[cfg(feature = "serde")]
202+
#[cfg(all(feature = "serde", feature = "serde-secrets"))]
203203
impl ::serde::Serialize for SecretKey {
204204
fn serialize<S: ::serde::Serializer>(&self, s: S) -> Result<S::Ok, S::Error> {
205205
if s.is_human_readable() {
@@ -933,17 +933,14 @@ mod test {
933933

934934
#[cfg(feature = "serde")]
935935
#[test]
936-
fn test_serde() {
936+
fn test_serde_pk() {
937937
use serde_test::{Configure, Token, assert_tokens};
938938
static SK_BYTES: [u8; 32] = [
939939
1, 1, 1, 1, 1, 1, 1, 1,
940940
0, 1, 2, 3, 4, 5, 6, 7,
941941
0xff, 0xff, 0, 0, 0xff, 0xff, 0, 0,
942942
99, 99, 99, 99, 99, 99, 99, 99
943943
];
944-
static SK_STR: &'static str = "\
945-
01010101010101010001020304050607ffff0000ffff00006363636363636363\
946-
";
947944
static PK_BYTES: [u8; 33] = [
948945
0x02,
949946
0x18, 0x84, 0x57, 0x81, 0xf6, 0x31, 0xc4, 0x8f,
@@ -965,21 +962,37 @@ mod test {
965962
#[cfg(fuzzing)]
966963
let pk = PublicKey::from_slice(&PK_BYTES).expect("pk");
967964

968-
assert_tokens(&sk.compact(), &[Token::BorrowedBytes(&SK_BYTES[..])]);
969-
assert_tokens(&sk.compact(), &[Token::Bytes(&SK_BYTES)]);
970-
assert_tokens(&sk.compact(), &[Token::ByteBuf(&SK_BYTES)]);
971-
972-
assert_tokens(&sk.readable(), &[Token::BorrowedStr(SK_STR)]);
973-
assert_tokens(&sk.readable(), &[Token::Str(SK_STR)]);
974-
assert_tokens(&sk.readable(), &[Token::String(SK_STR)]);
975-
976965
assert_tokens(&pk.compact(), &[Token::BorrowedBytes(&PK_BYTES[..])]);
977966
assert_tokens(&pk.compact(), &[Token::Bytes(&PK_BYTES)]);
978967
assert_tokens(&pk.compact(), &[Token::ByteBuf(&PK_BYTES)]);
979968

980969
assert_tokens(&pk.readable(), &[Token::BorrowedStr(PK_STR)]);
981970
assert_tokens(&pk.readable(), &[Token::Str(PK_STR)]);
982971
assert_tokens(&pk.readable(), &[Token::String(PK_STR)]);
972+
}
973+
974+
#[cfg(all(feature = "serde", feature = "serde-secrets"))]
975+
#[test]
976+
fn test_serde_sk() {
977+
use serde_test::{Configure, Token, assert_tokens};
978+
static SK_BYTES: [u8; 32] = [
979+
1, 1, 1, 1, 1, 1, 1, 1,
980+
0, 1, 2, 3, 4, 5, 6, 7,
981+
0xff, 0xff, 0, 0, 0xff, 0xff, 0, 0,
982+
99, 99, 99, 99, 99, 99, 99, 99
983+
];
984+
static SK_STR: &'static str = "\
985+
01010101010101010001020304050607ffff0000ffff00006363636363636363\
986+
";
987+
988+
let sk = SecretKey::from_slice(&SK_BYTES).unwrap();
989+
990+
assert_tokens(&sk.clone().compact(), &[Token::BorrowedBytes(&SK_BYTES[..])]);
991+
assert_tokens(&sk.clone().compact(), &[Token::Bytes(&SK_BYTES)]);
992+
assert_tokens(&sk.clone().compact(), &[Token::ByteBuf(&SK_BYTES)]);
983993

994+
assert_tokens(&sk.clone().readable(), &[Token::BorrowedStr(SK_STR)]);
995+
assert_tokens(&sk.clone().readable(), &[Token::Str(SK_STR)]);
996+
assert_tokens(&sk.clone().readable(), &[Token::String(SK_STR)]);
984997
}
985998
}

src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -795,7 +795,7 @@ impl<C: Verification> Secp256k1<C> {
795795
/// which OpenSSL would verify but not libsecp256k1, or vice-versa. Requires a
796796
/// verify-capable context.
797797
///
798-
/// ```rust
798+
/// ```
799799
/// # #[cfg(feature="rand")] {
800800
/// # use secp256k1::rand::rngs::OsRng;
801801
/// # use secp256k1::{Secp256k1, Message, Error};

0 commit comments

Comments
 (0)