diff --git a/bdk-ffi/src/bitcoin.rs b/bdk-ffi/src/bitcoin.rs index 223f874c..1951ed22 100644 --- a/bdk-ffi/src/bitcoin.rs +++ b/bdk-ffi/src/bitcoin.rs @@ -217,8 +217,15 @@ impl_into_core_type!(FeeRate, BdkFeeRate); /// underflow occurs. Also note that since the internal representation of amounts is unsigned, /// subtracting below zero is considered an underflow and will cause a panic. #[derive(Debug, Clone, PartialEq, Eq, uniffi::Object)] +#[uniffi::export(Display)] pub struct Amount(pub(crate) BdkAmount); +impl Display for Amount { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + write!(f, "{}", self.0) + } +} + #[uniffi::export] impl Amount { /// Create an Amount with satoshi precision and the given number of satoshis. @@ -1389,8 +1396,15 @@ impl From<&BdkOutput> for Output { /// A Partially Signed Transaction. #[derive(uniffi::Object)] +#[uniffi::export(Display)] pub struct Psbt(pub(crate) Mutex); +impl Display for Psbt { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + write!(f, "{}", self.0.lock().unwrap()) + } +} + #[uniffi::export] impl Psbt { /// Creates a new `Psbt` instance from a base64-encoded string.