Make serde attribute usage more terse

The `serde` attribute can be made more terse in docs and tests with no
loss of clarity.

Refactor and docs only, no logic change.
This commit is contained in:
Tobin C. Harding 2025-05-14 12:13:38 +10:00
parent fc373f3a37
commit 87d6f1718c
No known key found for this signature in database
GPG Key ID: 40BF9E4C269D6607
3 changed files with 23 additions and 22 deletions

View File

@ -13,11 +13,11 @@
//!
//! ```
//! use serde::{Serialize, Deserialize};
//! use bitcoin_units::Amount;
//! use bitcoin_units::{amount, Amount};
//!
//! #[derive(Serialize, Deserialize)]
//! pub struct HasAmount {
//! #[serde(with = "bitcoin_units::amount::serde::as_sat")]
//! #[serde(with = "amount::serde::as_sat")]
//! pub amount: Amount,
//! }
//! ```
@ -396,6 +396,7 @@ pub mod as_str {
#[cfg(test)]
mod tests {
use super::*;
use crate::amount;
#[test]
fn sanity_check() {
@ -407,7 +408,7 @@ mod tests {
fn can_serde_as_sat() {
#[derive(Debug, PartialEq, Eq, Serialize, Deserialize)]
pub struct HasAmount {
#[serde(with = "crate::amount::serde::as_sat")]
#[serde(with = "amount::serde::as_sat")]
pub amount: Amount,
}
@ -426,7 +427,7 @@ mod tests {
fn can_serde_as_btc() {
#[derive(Debug, PartialEq, Eq, Serialize, Deserialize)]
pub struct HasAmount {
#[serde(with = "crate::amount::serde::as_btc")]
#[serde(with = "amount::serde::as_btc")]
pub amount: Amount,
}
@ -445,7 +446,7 @@ mod tests {
fn can_serde_as_str() {
#[derive(Debug, PartialEq, Eq, Serialize, Deserialize)]
pub struct HasAmount {
#[serde(with = "crate::amount::serde::as_str")]
#[serde(with = "amount::serde::as_str")]
pub amount: Amount,
}

View File

@ -14,11 +14,11 @@
//!
//! ```
//! use serde::{Serialize, Deserialize};
//! use bitcoin_units::FeeRate;
//! use bitcoin_units::{fee_rate, FeeRate};
//!
//! #[derive(Serialize, Deserialize)]
//! pub struct Foo {
//! #[serde(with = "bitcoin_units::fee_rate::serde::as_sat_per_kwu")]
//! #[serde(with = "fee_rate::serde::as_sat_per_kwu")]
//! pub fee_rate: FeeRate,
//! }
//! ```

View File

@ -7,41 +7,41 @@
use bincode::serialize;
use bitcoin_units::locktime::{absolute, relative};
use bitcoin_units::{Amount, BlockHeight, BlockInterval, FeeRate, SignedAmount, Weight};
use bitcoin_units::{amount, fee_rate, Amount, BlockHeight, BlockInterval, FeeRate, SignedAmount, Weight};
use serde::{Deserialize, Serialize};
/// A struct that includes all the types that implement or support `serde` traits.
#[derive(Debug, Serialize, Deserialize)]
struct Serde {
#[serde(with = "bitcoin_units::amount::serde::as_sat")]
#[serde(with = "amount::serde::as_sat")]
unsigned_as_sat: Amount,
#[serde(with = "bitcoin_units::amount::serde::as_btc")]
#[serde(with = "amount::serde::as_btc")]
unsigned_as_btc: Amount,
#[serde(with = "bitcoin_units::amount::serde::as_sat::opt")]
#[serde(with = "amount::serde::as_sat::opt")]
unsigned_opt_as_sat: Option<Amount>,
#[serde(with = "bitcoin_units::amount::serde::as_btc::opt")]
#[serde(with = "amount::serde::as_btc::opt")]
unsigned_opt_as_btc: Option<Amount>,
#[serde(with = "bitcoin_units::amount::serde::as_sat")]
#[serde(with = "amount::serde::as_sat")]
signed_as_sat: SignedAmount,
#[serde(with = "bitcoin_units::amount::serde::as_btc")]
#[serde(with = "amount::serde::as_btc")]
signed_as_btc: SignedAmount,
#[serde(with = "bitcoin_units::amount::serde::as_sat::opt")]
#[serde(with = "amount::serde::as_sat::opt")]
signed_opt_as_sat: Option<SignedAmount>,
#[serde(with = "bitcoin_units::amount::serde::as_btc::opt")]
#[serde(with = "amount::serde::as_btc::opt")]
signed_opt_as_btc: Option<SignedAmount>,
#[serde(with = "bitcoin_units::fee_rate::serde::as_sat_per_vb_floor")]
#[serde(with = "fee_rate::serde::as_sat_per_vb_floor")]
vb_floor: FeeRate,
#[serde(with = "bitcoin_units::fee_rate::serde::as_sat_per_vb_ceil")]
#[serde(with = "fee_rate::serde::as_sat_per_vb_ceil")]
vb_ceil: FeeRate,
#[serde(with = "bitcoin_units::fee_rate::serde::as_sat_per_kwu")]
#[serde(with = "fee_rate::serde::as_sat_per_kwu")]
kwu: FeeRate,
#[serde(with = "bitcoin_units::fee_rate::serde::as_sat_per_vb_floor::opt")]
#[serde(with = "fee_rate::serde::as_sat_per_vb_floor::opt")]
opt_vb_floor: Option<FeeRate>,
#[serde(with = "bitcoin_units::fee_rate::serde::as_sat_per_vb_ceil::opt")]
#[serde(with = "fee_rate::serde::as_sat_per_vb_ceil::opt")]
opt_vb_ceil: Option<FeeRate>,
#[serde(with = "bitcoin_units::fee_rate::serde::as_sat_per_kwu::opt")]
#[serde(with = "fee_rate::serde::as_sat_per_kwu::opt")]
opt_kwu: Option<FeeRate>,
a: BlockHeight,