Skip to content

Commit 14c3dd6

Browse files
committed
Feature gate serde(deny_unknown_fields)
There is a new feature for enabling `serde(deny_unknown_fields)` instead of having it always on. Search and replace all occurances of `#[serde(deny_unknown_fields)]` to only be enabled with the feature.
1 parent ba366fd commit 14c3dd6

File tree

80 files changed

+513
-513
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

80 files changed

+513
-513
lines changed

types/src/lib.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ pub fn compact_size_decode(slice: &mut &[u8]) -> u64 {
180180
/// backwards compatible so we only provide it not a v0.17 specific type. The `mtype::ScriptPubkey`
181181
/// mirrors this design (but with concrete `rust-bitcoin` types).
182182
#[derive(Clone, Debug, PartialEq, Eq, Deserialize, Serialize)]
183-
#[serde(deny_unknown_fields)]
183+
#[cfg_attr(feature = "serde-deny-unknown-fields", serde(deny_unknown_fields))]
184184
pub struct ScriptPubkey {
185185
/// Script assembly.
186186
pub asm: String,
@@ -219,7 +219,7 @@ impl ScriptPubkey {
219219

220220
/// Data returned by Core for a script signature.
221221
#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
222-
#[serde(deny_unknown_fields)]
222+
#[cfg_attr(feature = "serde-deny-unknown-fields", serde(deny_unknown_fields))]
223223
pub struct ScriptSig {
224224
/// Assembly representation of the script.
225225
pub asm: String,

types/src/model/blockchain.rs

Lines changed: 43 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ use crate::ScriptPubkey;
1919

2020
/// Models the result of JSON-RPC method `dumptxoutset`.
2121
#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
22-
#[serde(deny_unknown_fields)]
22+
#[cfg_attr(feature = "serde-deny-unknown-fields", serde(deny_unknown_fields))]
2323
pub struct DumpTxOutSet {
2424
/// The number of coins written in the snapshot.
2525
pub coins_written: Amount,
@@ -37,17 +37,17 @@ pub struct DumpTxOutSet {
3737

3838
/// Models the result of JSON-RPC method `getbestblockhash`.
3939
#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
40-
#[serde(deny_unknown_fields)]
40+
#[cfg_attr(feature = "serde-deny-unknown-fields", serde(deny_unknown_fields))]
4141
pub struct GetBestBlockHash(pub BlockHash);
4242

4343
/// Models the result of JSON-RPC method `getblock` with verbosity set to 0.
4444
#[derive(Clone, Debug, PartialEq, Eq, Deserialize, Serialize)]
45-
#[serde(deny_unknown_fields)]
45+
#[cfg_attr(feature = "serde-deny-unknown-fields", serde(deny_unknown_fields))]
4646
pub struct GetBlockVerboseZero(pub Block);
4747

4848
/// Models the result of JSON-RPC method `getblock` with verbosity set to 1.
4949
#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
50-
#[serde(deny_unknown_fields)]
50+
#[cfg_attr(feature = "serde-deny-unknown-fields", serde(deny_unknown_fields))]
5151
pub struct GetBlockVerboseOne {
5252
/// The block hash (same as provided) in RPC call.
5353
pub hash: BlockHash,
@@ -91,7 +91,7 @@ pub struct GetBlockVerboseOne {
9191

9292
/// Models the result of JSON-RPC method `getblockchaininfo`.
9393
#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
94-
#[serde(deny_unknown_fields)]
94+
#[cfg_attr(feature = "serde-deny-unknown-fields", serde(deny_unknown_fields))]
9595
pub struct GetBlockchainInfo {
9696
/// Current network name as defined in BIP70 (main, test, signet, regtest).
9797
pub chain: Network,
@@ -137,7 +137,7 @@ pub struct GetBlockchainInfo {
137137

138138
/// Softfork status. Part of `getblockchaininfo`.
139139
#[derive(Clone, Debug, PartialEq, Eq, Deserialize, Serialize)]
140-
#[serde(deny_unknown_fields)]
140+
#[cfg_attr(feature = "serde-deny-unknown-fields", serde(deny_unknown_fields))]
141141
pub struct Softfork {
142142
/// The [`SoftforkType`]: one of "buried", "bip9".
143143
#[serde(rename = "type")]
@@ -166,7 +166,7 @@ pub enum SoftforkType {
166166

167167
/// BIP-9 softfork info. Part of `getblockchaininfo`.
168168
#[derive(Clone, PartialEq, Eq, Debug, Deserialize, Serialize)]
169-
#[serde(deny_unknown_fields)]
169+
#[cfg_attr(feature = "serde-deny-unknown-fields", serde(deny_unknown_fields))]
170170
pub struct Bip9SoftforkInfo {
171171
/// One of "defined", "started", "locked_in", "active", "failed".
172172
pub status: Bip9SoftforkStatus,
@@ -201,7 +201,7 @@ pub enum Bip9SoftforkStatus {
201201

202202
/// BIP-9 softfork statistics. Part of `getblockchaininfo`.
203203
#[derive(Clone, PartialEq, Eq, Debug, Deserialize, Serialize)]
204-
#[serde(deny_unknown_fields)]
204+
#[cfg_attr(feature = "serde-deny-unknown-fields", serde(deny_unknown_fields))]
205205
pub struct Bip9SoftforkStatistics {
206206
/// The length in blocks of the BIP9 signalling period.
207207
pub period: u32,
@@ -217,12 +217,12 @@ pub struct Bip9SoftforkStatistics {
217217

218218
/// Models the result of JSON-RPC method `getblockcount`.
219219
#[derive(Clone, Debug, PartialEq, Eq, Deserialize, Serialize)]
220-
#[serde(deny_unknown_fields)]
220+
#[cfg_attr(feature = "serde-deny-unknown-fields", serde(deny_unknown_fields))]
221221
pub struct GetBlockCount(pub u64);
222222

223223
/// Models the result of JSON-RPC method `getblockfilter`.
224224
#[derive(Clone, Debug, PartialEq, Eq, Deserialize, Serialize)]
225-
#[serde(deny_unknown_fields)]
225+
#[cfg_attr(feature = "serde-deny-unknown-fields", serde(deny_unknown_fields))]
226226
pub struct GetBlockFilter {
227227
/// The filter data.
228228
pub filter: Vec<u8>,
@@ -232,17 +232,17 @@ pub struct GetBlockFilter {
232232

233233
/// Models the result of JSON-RPC method `getblockhash`.
234234
#[derive(Clone, Debug, PartialEq, Eq, Deserialize, Serialize)]
235-
#[serde(deny_unknown_fields)]
235+
#[cfg_attr(feature = "serde-deny-unknown-fields", serde(deny_unknown_fields))]
236236
pub struct GetBlockHash(pub BlockHash);
237237

238238
/// Models the result of JSON-RPC method `getblockheader`.
239239
#[derive(Clone, Debug, PartialEq, Eq, Deserialize, Serialize)]
240-
#[serde(deny_unknown_fields)]
240+
#[cfg_attr(feature = "serde-deny-unknown-fields", serde(deny_unknown_fields))]
241241
pub struct GetBlockHeader(pub block::Header);
242242

243243
/// Models the result of JSON-RPC method `getblockheader`.
244244
#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
245-
#[serde(deny_unknown_fields)]
245+
#[cfg_attr(feature = "serde-deny-unknown-fields", serde(deny_unknown_fields))]
246246
pub struct GetBlockHeaderVerbose {
247247
/// the block hash (same as provided).
248248
pub hash: BlockHash,
@@ -278,7 +278,7 @@ pub struct GetBlockHeaderVerbose {
278278

279279
/// Models the result of JSON-RPC method `getblockstats`.
280280
#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
281-
#[serde(deny_unknown_fields)]
281+
#[cfg_attr(feature = "serde-deny-unknown-fields", serde(deny_unknown_fields))]
282282
pub struct GetBlockStats {
283283
/// Average fee in the block.
284284
pub average_fee: Amount,
@@ -348,7 +348,7 @@ pub struct GetBlockStats {
348348

349349
/// Models the result of JSON-RPC method `getchainstates`.
350350
#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
351-
#[serde(deny_unknown_fields)]
351+
#[cfg_attr(feature = "serde-deny-unknown-fields", serde(deny_unknown_fields))]
352352
pub struct GetChainStates {
353353
/// The number of headers seen so far.
354354
pub headers: u32,
@@ -358,7 +358,7 @@ pub struct GetChainStates {
358358

359359
/// A single chainstate. Part of `getchainstates`.
360360
#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
361-
#[serde(deny_unknown_fields)]
361+
#[cfg_attr(feature = "serde-deny-unknown-fields", serde(deny_unknown_fields))]
362362
pub struct ChainState {
363363
/// Number of blocks in this chainstate.
364364
pub blocks: u32,
@@ -384,12 +384,12 @@ pub struct ChainState {
384384

385385
/// Models the result of JSON-RPC method `getchaintips`.
386386
#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
387-
#[serde(deny_unknown_fields)]
387+
#[cfg_attr(feature = "serde-deny-unknown-fields", serde(deny_unknown_fields))]
388388
pub struct GetChainTips(pub Vec<ChainTips>);
389389

390390
/// An individual list item from the result of JSON-RPC method `getchaintips`.
391391
#[derive(Clone, PartialEq, Eq, Debug, Deserialize, Serialize)]
392-
#[serde(deny_unknown_fields)]
392+
#[cfg_attr(feature = "serde-deny-unknown-fields", serde(deny_unknown_fields))]
393393
pub struct ChainTips {
394394
/// Height of the chain tip.
395395
pub height: u32,
@@ -419,7 +419,7 @@ pub enum ChainTipsStatus {
419419

420420
/// Models the result of JSON-RPC method `getchaintxstats`.
421421
#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
422-
#[serde(deny_unknown_fields)]
422+
#[cfg_attr(feature = "serde-deny-unknown-fields", serde(deny_unknown_fields))]
423423
pub struct GetChainTxStats {
424424
/// The timestamp for the final block in the window in UNIX format.
425425
pub time: u32,
@@ -441,7 +441,7 @@ pub struct GetChainTxStats {
441441

442442
/// Models the result of JSON-RPC method `getdeploymentinfo`.
443443
#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
444-
#[serde(deny_unknown_fields)]
444+
#[cfg_attr(feature = "serde-deny-unknown-fields", serde(deny_unknown_fields))]
445445
pub struct GetDeploymentInfo {
446446
/// Requested block hash (or tip).
447447
pub hash: BlockHash,
@@ -453,7 +453,7 @@ pub struct GetDeploymentInfo {
453453

454454
/// Deployment info. Part of `getdeploymentinfo`.
455455
#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
456-
#[serde(deny_unknown_fields)]
456+
#[cfg_attr(feature = "serde-deny-unknown-fields", serde(deny_unknown_fields))]
457457
pub struct DeploymentInfo {
458458
/// One of "buried", "bip9".
459459
pub deployment_type: String,
@@ -467,7 +467,7 @@ pub struct DeploymentInfo {
467467

468468
/// Status of bip9 softforks. Part of `getdeploymentinfo`.
469469
#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
470-
#[serde(deny_unknown_fields)]
470+
#[cfg_attr(feature = "serde-deny-unknown-fields", serde(deny_unknown_fields))]
471471
pub struct Bip9Info {
472472
/// The bit (0-28) in the block version field used to signal this softfork (only for "started" and "locked_in" status).
473473
pub bit: Option<u8>,
@@ -491,7 +491,7 @@ pub struct Bip9Info {
491491

492492
/// Numeric statistics about signalling for a softfork. Part of `getdeploymentinfo`.
493493
#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
494-
#[serde(deny_unknown_fields)]
494+
#[cfg_attr(feature = "serde-deny-unknown-fields", serde(deny_unknown_fields))]
495495
pub struct Bip9Statistics {
496496
/// The length in blocks of the signalling period.
497497
pub period: u32,
@@ -507,7 +507,7 @@ pub struct Bip9Statistics {
507507

508508
/// Models the result of the JSON-RPC method `getdescriptoractivity`.
509509
#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
510-
#[serde(deny_unknown_fields)]
510+
#[cfg_attr(feature = "serde-deny-unknown-fields", serde(deny_unknown_fields))]
511511
pub struct GetDescriptorActivity {
512512
/// A list of activity events related to the descriptors.
513513
pub activity: Vec<ActivityEntry>,
@@ -524,7 +524,7 @@ pub enum ActivityEntry {
524524

525525
/// Models a 'spend' activity event. Part of `getdescriptoractivity`.
526526
#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
527-
#[serde(deny_unknown_fields)]
527+
#[cfg_attr(feature = "serde-deny-unknown-fields", serde(deny_unknown_fields))]
528528
pub struct SpendActivity {
529529
/// The total amount of the spent output.
530530
pub amount: Amount,
@@ -546,7 +546,7 @@ pub struct SpendActivity {
546546

547547
/// Models a 'receive' activity event. Part of `getdescriptoractivity`
548548
#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
549-
#[serde(deny_unknown_fields)]
549+
#[cfg_attr(feature = "serde-deny-unknown-fields", serde(deny_unknown_fields))]
550550
pub struct ReceiveActivity {
551551
/// The total amount in BTC of the new output.
552552
pub amount: Amount,
@@ -564,37 +564,37 @@ pub struct ReceiveActivity {
564564

565565
/// Models the result of JSON-RPC method `getdifficulty`.
566566
#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
567-
#[serde(deny_unknown_fields)]
567+
#[cfg_attr(feature = "serde-deny-unknown-fields", serde(deny_unknown_fields))]
568568
pub struct GetDifficulty(pub f64);
569569

570570
/// Models the result of JSON-RPC method `getmempoolancestors` with verbose set to false.
571571
#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
572-
#[serde(deny_unknown_fields)]
572+
#[cfg_attr(feature = "serde-deny-unknown-fields", serde(deny_unknown_fields))]
573573
pub struct GetMempoolAncestors(pub Vec<Txid>);
574574

575575
/// Models the result of JSON-RPC method `getmempoolancestors` with verbose set to true.
576576
#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
577-
#[serde(deny_unknown_fields)]
577+
#[cfg_attr(feature = "serde-deny-unknown-fields", serde(deny_unknown_fields))]
578578
pub struct GetMempoolAncestorsVerbose(pub BTreeMap<Txid, MempoolEntry>);
579579

580580
/// Models the result of JSON-RPC method `getmempooldescendants` with verbose set to false.
581581
#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
582-
#[serde(deny_unknown_fields)]
582+
#[cfg_attr(feature = "serde-deny-unknown-fields", serde(deny_unknown_fields))]
583583
pub struct GetMempoolDescendants(pub Vec<Txid>);
584584

585585
/// Models the result of JSON-RPC method `getmempooldescendants` with verbose set to true.
586586
#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
587-
#[serde(deny_unknown_fields)]
587+
#[cfg_attr(feature = "serde-deny-unknown-fields", serde(deny_unknown_fields))]
588588
pub struct GetMempoolDescendantsVerbose(pub BTreeMap<Txid, MempoolEntry>);
589589

590590
/// Models the result of JSON-RPC method `getmempoolentry`.
591591
#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
592-
#[serde(deny_unknown_fields)]
592+
#[cfg_attr(feature = "serde-deny-unknown-fields", serde(deny_unknown_fields))]
593593
pub struct GetMempoolEntry(pub MempoolEntry);
594594

595595
/// Mempool data. Part of `getmempoolentry`.
596596
#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
597-
#[serde(deny_unknown_fields)]
597+
#[cfg_attr(feature = "serde-deny-unknown-fields", serde(deny_unknown_fields))]
598598
pub struct MempoolEntry {
599599
/// Virtual transaction size as defined in BIP 141. v0.19 and later only.
600600
///
@@ -637,7 +637,7 @@ pub struct MempoolEntry {
637637

638638
/// Fee object. Part of `getmempoolentry`.
639639
#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
640-
#[serde(deny_unknown_fields)]
640+
#[cfg_attr(feature = "serde-deny-unknown-fields", serde(deny_unknown_fields))]
641641
pub struct MempoolEntryFees {
642642
/// Transaction fee in BTC.
643643
pub base: Amount,
@@ -651,7 +651,7 @@ pub struct MempoolEntryFees {
651651

652652
/// Models the result of JSON-RPC method `getmempoolinfo` with verbose set to true.
653653
#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
654-
#[serde(deny_unknown_fields)]
654+
#[cfg_attr(feature = "serde-deny-unknown-fields", serde(deny_unknown_fields))]
655655
pub struct GetMempoolInfo {
656656
/// True if the mempool is fully loaded. v0.19 and later only.
657657
pub loaded: Option<bool>,
@@ -685,17 +685,17 @@ pub struct GetMempoolInfo {
685685

686686
/// Models the result of JSON-RPC method `getrawmempool` with verbose set to false.
687687
#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
688-
#[serde(deny_unknown_fields)]
688+
#[cfg_attr(feature = "serde-deny-unknown-fields", serde(deny_unknown_fields))]
689689
pub struct GetRawMempool(pub Vec<Txid>);
690690

691691
/// Models the result of JSON-RPC method `getrawmempool` with verbose set to true.
692692
#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
693-
#[serde(deny_unknown_fields)]
693+
#[cfg_attr(feature = "serde-deny-unknown-fields", serde(deny_unknown_fields))]
694694
pub struct GetRawMempoolVerbose(pub BTreeMap<Txid, MempoolEntry>);
695695

696696
/// Models the result of JSON-RPC method `gettxout`.
697697
#[derive(Clone, Debug, PartialEq, Eq, Deserialize, Serialize)]
698-
#[serde(deny_unknown_fields)]
698+
#[cfg_attr(feature = "serde-deny-unknown-fields", serde(deny_unknown_fields))]
699699
pub struct GetTxOut {
700700
/// The hash of the block at the tip of the chain.
701701
pub best_block: BlockHash,
@@ -713,7 +713,7 @@ pub struct GetTxOut {
713713

714714
/// Models the result of JSON-RPC method `gettxoutsetinfo`.
715715
#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
716-
#[serde(deny_unknown_fields)]
716+
#[cfg_attr(feature = "serde-deny-unknown-fields", serde(deny_unknown_fields))]
717717
pub struct GetTxOutSetInfo {
718718
/// The current block height (index).
719719
pub height: u32,
@@ -740,12 +740,12 @@ pub struct GetTxOutSetInfo {
740740

741741
/// Models the result of JSON-RPC method `gettxspendingprevout`.
742742
#[derive(Clone, Debug, PartialEq, Eq, Deserialize, Serialize)]
743-
#[serde(deny_unknown_fields)]
743+
#[cfg_attr(feature = "serde-deny-unknown-fields", serde(deny_unknown_fields))]
744744
pub struct GetTxSpendingPrevout(pub Vec<GetTxSpendingPrevoutItem>);
745745

746746
/// A transaction item. Part of `gettxspendingprevout`.
747747
#[derive(Clone, Debug, PartialEq, Eq, Deserialize, Serialize)]
748-
#[serde(deny_unknown_fields)]
748+
#[cfg_attr(feature = "serde-deny-unknown-fields", serde(deny_unknown_fields))]
749749
pub struct GetTxSpendingPrevoutItem {
750750
/// The outpoint containing the transaction id and vout value of the checked output.
751751
pub outpoint: OutPoint,
@@ -755,7 +755,7 @@ pub struct GetTxSpendingPrevoutItem {
755755

756756
/// Models the result of JSON-RPC method `loadtxoutset`.
757757
#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
758-
#[serde(deny_unknown_fields)]
758+
#[cfg_attr(feature = "serde-deny-unknown-fields", serde(deny_unknown_fields))]
759759
pub struct LoadTxOutSet {
760760
/// The number of coins loaded from the snapshot.
761761
pub coins_loaded: Amount,
@@ -780,5 +780,5 @@ pub struct ScanBlocksStart {
780780

781781
/// Models the result of JSON-RPC method `verifytxoutproof`.
782782
#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
783-
#[serde(deny_unknown_fields)]
783+
#[cfg_attr(feature = "serde-deny-unknown-fields", serde(deny_unknown_fields))]
784784
pub struct VerifyTxOutProof(pub Vec<Txid>);

types/src/model/generating.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ use serde::{Deserialize, Serialize};
1010

1111
/// Models the result of JSON-RPC method `generate`.
1212
#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
13-
#[serde(deny_unknown_fields)]
13+
#[cfg_attr(feature = "serde-deny-unknown-fields", serde(deny_unknown_fields))]
1414
pub struct Generate(pub Vec<BlockHash>);
1515

1616
impl Generate {
@@ -23,7 +23,7 @@ impl Generate {
2323

2424
/// Models the result of JSON-RPC method `generateblock`.
2525
#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
26-
#[serde(deny_unknown_fields)]
26+
#[cfg_attr(feature = "serde-deny-unknown-fields", serde(deny_unknown_fields))]
2727
pub struct GenerateBlock {
2828
/// Hash of generated block.
2929
pub hash: BlockHash,
@@ -33,7 +33,7 @@ pub struct GenerateBlock {
3333

3434
/// Models the result of JSON-RPC method `generatetoaddress`.
3535
#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
36-
#[serde(deny_unknown_fields)]
36+
#[cfg_attr(feature = "serde-deny-unknown-fields", serde(deny_unknown_fields))]
3737
pub struct GenerateToAddress(pub Vec<BlockHash>);
3838

3939
impl GenerateToAddress {
@@ -46,7 +46,7 @@ impl GenerateToAddress {
4646

4747
/// Models the result of JSON-RPC method `generatetodescriptor`.
4848
#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
49-
#[serde(deny_unknown_fields)]
49+
#[cfg_attr(feature = "serde-deny-unknown-fields", serde(deny_unknown_fields))]
5050
pub struct GenerateToDescriptor(pub Vec<BlockHash>);
5151

5252
impl GenerateToDescriptor {

0 commit comments

Comments
 (0)