Skip to content

Commit abf3681

Browse files
committed
Make serde dependency optional
1 parent 6ec1efb commit abf3681

File tree

4 files changed

+13
-4
lines changed

4 files changed

+13
-4
lines changed

Cargo.toml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,17 @@ description = "Wallet library for Bitcoin"
1010
keywords = [ "crypto", "bitcoin" ]
1111
readme = "README.md"
1212

13+
[features]
14+
use-serde = ["serde", "bitcoin/use-serde"]
15+
1316
[dependencies]
14-
bitcoin = { version = "0.23", features = ["use-serde"] }
17+
bitcoin = "0.23"
1518
rand = "0.7"
1619
rust-crypto = "0.2"
17-
serde = { version = "1", features = ["derive"] }
20+
21+
serde = { version = "1", optional = true, features = ["derive"] }
1822

1923
[dev-dependencies]
2024
bitcoin = { version = "0.23", features = ["use-serde", "bitcoinconsensus"] }
25+
serde = { version = "1", features = ["derive"] }
2126
serde_json = "1"

src/account.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -758,7 +758,8 @@ impl Account {
758758
}
759759

760760
/// instantiated key of an account
761-
#[derive(Clone, Serialize, Deserialize)]
761+
#[derive(Clone)]
762+
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
762763
pub struct InstantiatedKey {
763764
pub public: PublicKey,
764765
pub script_code: Script,

src/lib.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@
2424
pub extern crate bitcoin;
2525
pub extern crate crypto;
2626
extern crate rand;
27+
28+
#[cfg(feature = "serde")]
2729
#[macro_use]
2830
extern crate serde;
2931

src/proved.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@ use bitcoin::hashes::{sha256d, Hash, HashEngine};
2222
use bitcoin::{BitcoinHash, Block, Transaction};
2323

2424
/// A confirmed transaction with its SPV proof
25-
#[derive(Clone, Serialize, Deserialize, Debug, Eq, PartialEq)]
25+
#[derive(Clone, Debug, Eq, PartialEq)]
26+
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
2627
pub struct ProvedTransaction {
2728
transaction: Transaction,
2829
merkle_path: Vec<(bool, sha256d::Hash)>,

0 commit comments

Comments
 (0)