Skip to content

Commit 800ffed

Browse files
committed
Introducing serde-secrets feature flag
1 parent cd4d6f2 commit 800ffed

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
@@ -200,7 +200,7 @@ impl SecretKey {
200200
}
201201
}
202202

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

931931
#[cfg(feature = "serde")]
932932
#[test]
933-
fn test_serde() {
933+
fn test_serde_pk() {
934934
use serde_test::{Configure, Token, assert_tokens};
935935
static SK_BYTES: [u8; 32] = [
936936
1, 1, 1, 1, 1, 1, 1, 1,
937937
0, 1, 2, 3, 4, 5, 6, 7,
938938
0xff, 0xff, 0, 0, 0xff, 0xff, 0, 0,
939939
99, 99, 99, 99, 99, 99, 99, 99
940940
];
941-
static SK_STR: &'static str = "\
942-
01010101010101010001020304050607ffff0000ffff00006363636363636363\
943-
";
944941
static PK_BYTES: [u8; 33] = [
945942
0x02,
946943
0x18, 0x84, 0x57, 0x81, 0xf6, 0x31, 0xc4, 0x8f,
@@ -962,21 +959,37 @@ mod test {
962959
#[cfg(fuzzing)]
963960
let pk = PublicKey::from_slice(&PK_BYTES).expect("pk");
964961

965-
assert_tokens(&sk.clone().compact(), &[Token::BorrowedBytes(&SK_BYTES[..])]);
966-
assert_tokens(&sk.clone().compact(), &[Token::Bytes(&SK_BYTES)]);
967-
assert_tokens(&sk.clone().compact(), &[Token::ByteBuf(&SK_BYTES)]);
968-
969-
assert_tokens(&sk.clone().readable(), &[Token::BorrowedStr(SK_STR)]);
970-
assert_tokens(&sk.clone().readable(), &[Token::Str(SK_STR)]);
971-
assert_tokens(&sk.clone().readable(), &[Token::String(SK_STR)]);
972-
973962
assert_tokens(&pk.compact(), &[Token::BorrowedBytes(&PK_BYTES[..])]);
974963
assert_tokens(&pk.compact(), &[Token::Bytes(&PK_BYTES)]);
975964
assert_tokens(&pk.compact(), &[Token::ByteBuf(&PK_BYTES)]);
976965

977966
assert_tokens(&pk.readable(), &[Token::BorrowedStr(PK_STR)]);
978967
assert_tokens(&pk.readable(), &[Token::Str(PK_STR)]);
979968
assert_tokens(&pk.readable(), &[Token::String(PK_STR)]);
969+
}
970+
971+
#[cfg(all(feature = "serde", feature = "serde-secrets"))]
972+
#[test]
973+
fn test_serde_sk() {
974+
use serde_test::{Configure, Token, assert_tokens};
975+
static SK_BYTES: [u8; 32] = [
976+
1, 1, 1, 1, 1, 1, 1, 1,
977+
0, 1, 2, 3, 4, 5, 6, 7,
978+
0xff, 0xff, 0, 0, 0xff, 0xff, 0, 0,
979+
99, 99, 99, 99, 99, 99, 99, 99
980+
];
981+
static SK_STR: &'static str = "\
982+
01010101010101010001020304050607ffff0000ffff00006363636363636363\
983+
";
980984

985+
let sk = SecretKey::from_slice(&SK_BYTES).unwrap();
986+
987+
assert_tokens(&sk.clone().compact(), &[Token::BorrowedBytes(&SK_BYTES[..])]);
988+
assert_tokens(&sk.clone().compact(), &[Token::Bytes(&SK_BYTES)]);
989+
assert_tokens(&sk.clone().compact(), &[Token::ByteBuf(&SK_BYTES)]);
990+
991+
assert_tokens(&sk.clone().readable(), &[Token::BorrowedStr(SK_STR)]);
992+
assert_tokens(&sk.clone().readable(), &[Token::Str(SK_STR)]);
993+
assert_tokens(&sk.clone().readable(), &[Token::String(SK_STR)]);
981994
}
982995
}

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)