diff --git a/cln-grpc/src/convert.rs b/cln-grpc/src/convert.rs index 9b0d34f88831..8f4be75aa65e 100644 --- a/cln-grpc/src/convert.rs +++ b/cln-grpc/src/convert.rs @@ -454,7 +454,7 @@ impl From for pb::CloseResponse { fn from(c: responses::CloseResponse) -> Self { Self { // Field: Close.txids[] - txids: c.txids.map(|arr| arr.into_iter().map(|i| i.into()).collect()).unwrap_or(vec![]), // Rule #3 + txids: c.txids.map(|arr| arr.into_iter().map(|i| hex::decode(i).unwrap()).collect()).unwrap_or(vec![]), // Rule #3 // Field: Close.txs[] txs: c.txs.map(|arr| arr.into_iter().map(|i| hex::decode(i).unwrap()).collect()).unwrap_or(vec![]), // Rule #3 item_type: c.item_type as i32, diff --git a/contrib/msggen/msggen/gen/grpc/convert.py b/contrib/msggen/msggen/gen/grpc/convert.py index 3adc7978cd14..a65c447db4fc 100644 --- a/contrib/msggen/msggen/gen/grpc/convert.py +++ b/contrib/msggen/msggen/gen/grpc/convert.py @@ -71,6 +71,7 @@ def generate_composite(self, prefix, field: CompositeField, override=None): "short_channel_id": f"i.to_string()", "short_channel_id_dir": f"i.to_string()", "pubkey": f"i.serialize().to_vec()", + "txid": f"hex::decode(i).unwrap()", }.get(typ, f"i.into()") self.write(f"// Field: {f.path}\n", numindent=3) diff --git a/contrib/msggen/msggen/gen/grpc/unconvert.py b/contrib/msggen/msggen/gen/grpc/unconvert.py index 16a7591d10b6..73984f75a47a 100644 --- a/contrib/msggen/msggen/gen/grpc/unconvert.py +++ b/contrib/msggen/msggen/gen/grpc/unconvert.py @@ -56,6 +56,7 @@ def generate_composite(self, prefix, field: CompositeField, override=None) -> No "short_channel_id": f"cln_rpc::primitives::ShortChannelId::from_str(&s).unwrap()", "short_channel_id_dir": f"cln_rpc::primitives::ShortChannelIdDir::from_str(&s).unwrap()", "pubkey": f"PublicKey::from_slice(&s).unwrap()", + "txid": f"hex::encode(s)", }.get(typ, f"s.into()") # TODO fix properly