diff --git a/cln-grpc/src/pb.rs b/cln-grpc/src/pb.rs index 6d72730cf..c02710361 100644 --- a/cln-grpc/src/pb.rs +++ b/cln-grpc/src/pb.rs @@ -13,3 +13,20 @@ impl From for JAmount { JAmount::from_msat(a.msat) } } + +impl From<&Amount> for JAmount { + fn from(a: &Amount) -> Self { + match a { + Amount { + unit: Some(amount::Unit::Millisatoshi(v)), + } => JAmount::Millisatoshi(*v), + Amount { + unit: Some(amount::Unit::Satoshi(v)), + } => JAmount::Satoshi(*v), + Amount { + unit: Some(amount::Unit::Bitcoin(v)), + } => JAmount::Bitcoin(*v), + o => panic!("Unhandled conversion from pb:Amount to json:Amount: {:?}", o), + } + } +}