From 494243d41c9a95b15240df15793c5b0b87db7e72 Mon Sep 17 00:00:00 2001 From: Christian Decker Date: Thu, 27 Jan 2022 14:07:26 +0100 Subject: [PATCH] msggen: Handle some more types in request conversions --- contrib/msggen/msggen/grpc.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/contrib/msggen/msggen/grpc.py b/contrib/msggen/msggen/grpc.py index 07347c3d7..ee8b0eeb5 100644 --- a/contrib/msggen/msggen/grpc.py +++ b/contrib/msggen/msggen/grpc.py @@ -10,7 +10,7 @@ typemap = { 'boolean': 'bool', 'hex': 'bytes', 'msat': 'Amount', - 'number': 'i64', + 'number': 'sint64', 'pubkey': 'bytes', 'short_channel_id': 'string', 'signature': 'bytes', @@ -20,6 +20,7 @@ typemap = { 'u32': 'uint32', 'u64': 'uint64', 'u16': 'uint32', # Yeah, I know... + 'integer': 'sint64', } @@ -287,10 +288,14 @@ class GrpcUnconverterGenerator(GrpcConverterGenerator): # hex-decoding. Also includes the `Some()` that grpc # requires for non-native types. rhs = { + 'u16': f'c.{name} as u16', + 'u16?': f'c.{name}.map(|v| v as u16)', 'hex': f'hex::encode(&c.{name})', + 'hex?': f'c.{name}.clone().map(|v| hex::encode(v))', 'txid?': f'c.{name}.clone().map(|v| hex::encode(v))', 'pubkey': f'hex::encode(&c.{name})', 'pubkey?': f'c.{name}.clone().map(|v| hex::encode(v))', + 'msat': f'c.{name}.as_ref().unwrap().into()' }.get( typ, f'c.{name}.clone()' # default to just assignment