mirror of
https://github.com/ElementsProject/lightning.git
synced 2025-02-21 14:24:09 +01:00
msggen: generate deprecated fields in rust.py
This commit is contained in:
parent
22c8cfc374
commit
52be59587c
8 changed files with 358 additions and 337 deletions
|
@ -455,6 +455,7 @@
|
|||
"Getinfo.fees_collected_msat": 13,
|
||||
"Getinfo.id": 1,
|
||||
"Getinfo.lightning-dir": 9,
|
||||
"Getinfo.msatoshi_fees_collected": 18,
|
||||
"Getinfo.network": 12,
|
||||
"Getinfo.num_active_channels": 6,
|
||||
"Getinfo.num_inactive_channels": 7,
|
||||
|
@ -485,6 +486,7 @@
|
|||
"GetRoute.route[].delay": 5,
|
||||
"GetRoute.route[].direction": 3,
|
||||
"GetRoute.route[].id": 1,
|
||||
"GetRoute.route[].msatoshi": 7,
|
||||
"GetRoute.route[].style": 6
|
||||
},
|
||||
"InvoiceRequest": {
|
||||
|
|
2
cln-grpc/proto/node.proto
generated
2
cln-grpc/proto/node.proto
generated
|
@ -72,6 +72,7 @@ message GetinfoResponse {
|
|||
string lightning_dir = 9;
|
||||
uint32 blockheight = 11;
|
||||
string network = 12;
|
||||
optional uint64 msatoshi_fees_collected = 18;
|
||||
Amount fees_collected_msat = 13;
|
||||
repeated GetinfoAddress address = 14;
|
||||
repeated GetinfoBinding binding = 15;
|
||||
|
@ -1194,6 +1195,7 @@ message GetrouteRoute {
|
|||
bytes id = 1;
|
||||
string channel = 2;
|
||||
uint32 direction = 3;
|
||||
optional uint64 msatoshi = 7;
|
||||
Amount amount_msat = 4;
|
||||
uint32 delay = 5;
|
||||
GetrouteRouteStyle style = 6;
|
||||
|
|
2
cln-grpc/src/convert.rs
generated
2
cln-grpc/src/convert.rs
generated
|
@ -50,6 +50,7 @@ impl From<responses::GetinfoResponse> for pb::GetinfoResponse {
|
|||
lightning_dir: c.lightning_dir, // Rule #2 for type string
|
||||
blockheight: c.blockheight, // Rule #2 for type u32
|
||||
network: c.network, // Rule #2 for type string
|
||||
msatoshi_fees_collected: c.msatoshi_fees_collected, // Rule #2 for type u64?
|
||||
fees_collected_msat: Some(c.fees_collected_msat.into()), // Rule #2 for type msat
|
||||
address: c.address.map(|arr| arr.into_iter().map(|i| i.into()).collect()).unwrap_or(vec![]), // Rule #3
|
||||
binding: c.binding.map(|arr| arr.into_iter().map(|i| i.into()).collect()).unwrap_or(vec![]), // Rule #3
|
||||
|
@ -879,6 +880,7 @@ impl From<responses::GetrouteRoute> for pb::GetrouteRoute {
|
|||
id: c.id.serialize().to_vec(), // Rule #2 for type pubkey
|
||||
channel: c.channel.to_string(), // Rule #2 for type short_channel_id
|
||||
direction: c.direction, // Rule #2 for type u32
|
||||
msatoshi: c.msatoshi, // Rule #2 for type u64?
|
||||
amount_msat: Some(c.amount_msat.into()), // Rule #2 for type msat
|
||||
delay: c.delay, // Rule #2 for type u32
|
||||
style: c.style as i32,
|
||||
|
|
6
cln-rpc/src/model.rs
generated
6
cln-rpc/src/model.rs
generated
|
@ -1461,6 +1461,9 @@ pub mod responses {
|
|||
pub blockheight: u32,
|
||||
#[serde(alias = "network")]
|
||||
pub network: String,
|
||||
#[deprecated]
|
||||
#[serde(alias = "msatoshi_fees_collected", skip_serializing_if = "Option::is_none")]
|
||||
pub msatoshi_fees_collected: Option<u64>,
|
||||
#[serde(alias = "fees_collected_msat")]
|
||||
pub fees_collected_msat: Amount,
|
||||
#[serde(alias = "address", skip_serializing_if = "crate::is_none_or_empty")]
|
||||
|
@ -3548,6 +3551,9 @@ pub mod responses {
|
|||
pub channel: ShortChannelId,
|
||||
#[serde(alias = "direction")]
|
||||
pub direction: u32,
|
||||
#[deprecated]
|
||||
#[serde(alias = "msatoshi", skip_serializing_if = "Option::is_none")]
|
||||
pub msatoshi: Option<u64>,
|
||||
#[serde(alias = "amount_msat")]
|
||||
pub amount_msat: Amount,
|
||||
#[serde(alias = "delay")]
|
||||
|
|
|
@ -96,6 +96,8 @@ def gen_enum(e):
|
|||
if e.description != "":
|
||||
decl += f"/// {e.description}\n"
|
||||
|
||||
if e.deprecated:
|
||||
decl += "#[deprecated]\n"
|
||||
decl += f"#[derive(Copy, Clone, Debug, Deserialize, Serialize)]\npub enum {e.typename} {{\n"
|
||||
for v in e.variants:
|
||||
if v is None:
|
||||
|
@ -145,10 +147,12 @@ def gen_primitive(p):
|
|||
typename = typemap.get(p.typename, p.typename)
|
||||
normalize_varname(p)
|
||||
|
||||
if p.deprecated:
|
||||
defi += " #[deprecated]\n"
|
||||
if p.required:
|
||||
defi = f" #[serde(alias = \"{org}\")]\n pub {p.name}: {typename},\n"
|
||||
defi += f" #[serde(alias = \"{org}\")]\n pub {p.name}: {typename},\n"
|
||||
else:
|
||||
defi = f" #[serde(alias = \"{org}\", skip_serializing_if = \"Option::is_none\")]\n pub {p.name}: Option<{typename}>,\n"
|
||||
defi += f" #[serde(alias = \"{org}\", skip_serializing_if = \"Option::is_none\")]\n pub {p.name}: Option<{typename}>,\n"
|
||||
|
||||
return defi, decl
|
||||
|
||||
|
@ -173,10 +177,13 @@ def gen_array(a):
|
|||
|
||||
itemtype = typemap.get(itemtype, itemtype)
|
||||
alias = a.name.normalized()
|
||||
defi = ""
|
||||
if a.deprecated:
|
||||
defi += " #[deprecated]\n"
|
||||
if a.required:
|
||||
defi = f" #[serde(alias = \"{alias}\")]\n pub {name}: {'Vec<'*a.dims}{itemtype}{'>'*a.dims},\n"
|
||||
defi += f" #[serde(alias = \"{alias}\")]\n pub {name}: {'Vec<'*a.dims}{itemtype}{'>'*a.dims},\n"
|
||||
else:
|
||||
defi = f" #[serde(alias = \"{alias}\", skip_serializing_if = \"crate::is_none_or_empty\")]\n pub {name}: Option<{'Vec<'*a.dims}{itemtype}{'>'*a.dims}>,\n"
|
||||
defi += f" #[serde(alias = \"{alias}\", skip_serializing_if = \"crate::is_none_or_empty\")]\n pub {name}: Option<{'Vec<'*a.dims}{itemtype}{'>'*a.dims}>,\n"
|
||||
|
||||
return (defi, decl)
|
||||
|
||||
|
|
|
@ -30,6 +30,7 @@ class Field:
|
|||
def __init__(self, path, description):
|
||||
self.path = path
|
||||
self.description = description
|
||||
self.deprecated = False
|
||||
self.required = False
|
||||
|
||||
@property
|
||||
|
@ -130,10 +131,6 @@ class CompositeField(Field):
|
|||
desc = ftype["description"] if "description" in ftype else ""
|
||||
fpath = f"{path}.{fname}"
|
||||
|
||||
if ftype.get("deprecated", False):
|
||||
logger.warning(f"Unmanaged {fpath}, it is deprecated")
|
||||
continue
|
||||
|
||||
if fpath in overrides:
|
||||
field = copy(overrides[fpath])
|
||||
field.path = fpath
|
||||
|
@ -170,6 +167,7 @@ class CompositeField(Field):
|
|||
)
|
||||
|
||||
if field is not None:
|
||||
field.deprecated = ftype.get("deprecated", False)
|
||||
field.required = fname in required
|
||||
fields.append(field)
|
||||
logger.debug(field)
|
||||
|
@ -320,7 +318,9 @@ class ArrayField(Field):
|
|||
|
||||
elif child_js["type"] in PrimitiveField.types:
|
||||
itemtype = PrimitiveField(
|
||||
child_js["type"], path, child_js.get("description", "")
|
||||
child_js["type"],
|
||||
path,
|
||||
child_js.get("description", ""),
|
||||
)
|
||||
|
||||
logger.debug(f"Array path={path} dims={dims}, type={itemtype}")
|
||||
|
|
|
@ -59,6 +59,7 @@ def getinfo2py(m):
|
|||
"lightning_dir": m.lightning_dir, # PrimitiveField in generate_composite
|
||||
"blockheight": m.blockheight, # PrimitiveField in generate_composite
|
||||
"network": m.network, # PrimitiveField in generate_composite
|
||||
"msatoshi_fees_collected": m.msatoshi_fees_collected, # PrimitiveField in generate_composite
|
||||
"fees_collected_msat": amount2msat(m.fees_collected_msat), # PrimitiveField in generate_composite
|
||||
"address": [getinfo_address2py(i) for i in m.address], # ArrayField[composite] in generate_composite
|
||||
"binding": [getinfo_binding2py(i) for i in m.binding], # ArrayField[composite] in generate_composite
|
||||
|
@ -787,6 +788,7 @@ def getroute_route2py(m):
|
|||
"id": hexlify(m.id), # PrimitiveField in generate_composite
|
||||
"channel": m.channel, # PrimitiveField in generate_composite
|
||||
"direction": m.direction, # PrimitiveField in generate_composite
|
||||
"msatoshi": m.msatoshi, # PrimitiveField in generate_composite
|
||||
"amount_msat": amount2msat(m.amount_msat), # PrimitiveField in generate_composite
|
||||
"delay": m.delay, # PrimitiveField in generate_composite
|
||||
"style": str(m.style), # EnumField in generate_composite
|
||||
|
|
656
contrib/pyln-testing/pyln/testing/node_pb2.py
generated
656
contrib/pyln-testing/pyln/testing/node_pb2.py
generated
File diff suppressed because one or more lines are too long
Loading…
Add table
Reference in a new issue