mirror of
https://github.com/aljazceru/lightning.git
synced 2025-12-20 07:34:24 +01:00
msggen: generate deprecated fields in rust.py
This commit is contained in:
committed by
Christian Decker
parent
22c8cfc374
commit
52be59587c
@@ -455,6 +455,7 @@
|
|||||||
"Getinfo.fees_collected_msat": 13,
|
"Getinfo.fees_collected_msat": 13,
|
||||||
"Getinfo.id": 1,
|
"Getinfo.id": 1,
|
||||||
"Getinfo.lightning-dir": 9,
|
"Getinfo.lightning-dir": 9,
|
||||||
|
"Getinfo.msatoshi_fees_collected": 18,
|
||||||
"Getinfo.network": 12,
|
"Getinfo.network": 12,
|
||||||
"Getinfo.num_active_channels": 6,
|
"Getinfo.num_active_channels": 6,
|
||||||
"Getinfo.num_inactive_channels": 7,
|
"Getinfo.num_inactive_channels": 7,
|
||||||
@@ -485,6 +486,7 @@
|
|||||||
"GetRoute.route[].delay": 5,
|
"GetRoute.route[].delay": 5,
|
||||||
"GetRoute.route[].direction": 3,
|
"GetRoute.route[].direction": 3,
|
||||||
"GetRoute.route[].id": 1,
|
"GetRoute.route[].id": 1,
|
||||||
|
"GetRoute.route[].msatoshi": 7,
|
||||||
"GetRoute.route[].style": 6
|
"GetRoute.route[].style": 6
|
||||||
},
|
},
|
||||||
"InvoiceRequest": {
|
"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;
|
string lightning_dir = 9;
|
||||||
uint32 blockheight = 11;
|
uint32 blockheight = 11;
|
||||||
string network = 12;
|
string network = 12;
|
||||||
|
optional uint64 msatoshi_fees_collected = 18;
|
||||||
Amount fees_collected_msat = 13;
|
Amount fees_collected_msat = 13;
|
||||||
repeated GetinfoAddress address = 14;
|
repeated GetinfoAddress address = 14;
|
||||||
repeated GetinfoBinding binding = 15;
|
repeated GetinfoBinding binding = 15;
|
||||||
@@ -1194,6 +1195,7 @@ message GetrouteRoute {
|
|||||||
bytes id = 1;
|
bytes id = 1;
|
||||||
string channel = 2;
|
string channel = 2;
|
||||||
uint32 direction = 3;
|
uint32 direction = 3;
|
||||||
|
optional uint64 msatoshi = 7;
|
||||||
Amount amount_msat = 4;
|
Amount amount_msat = 4;
|
||||||
uint32 delay = 5;
|
uint32 delay = 5;
|
||||||
GetrouteRouteStyle style = 6;
|
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
|
lightning_dir: c.lightning_dir, // Rule #2 for type string
|
||||||
blockheight: c.blockheight, // Rule #2 for type u32
|
blockheight: c.blockheight, // Rule #2 for type u32
|
||||||
network: c.network, // Rule #2 for type string
|
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
|
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
|
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
|
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
|
id: c.id.serialize().to_vec(), // Rule #2 for type pubkey
|
||||||
channel: c.channel.to_string(), // Rule #2 for type short_channel_id
|
channel: c.channel.to_string(), // Rule #2 for type short_channel_id
|
||||||
direction: c.direction, // Rule #2 for type u32
|
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
|
amount_msat: Some(c.amount_msat.into()), // Rule #2 for type msat
|
||||||
delay: c.delay, // Rule #2 for type u32
|
delay: c.delay, // Rule #2 for type u32
|
||||||
style: c.style as i32,
|
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,
|
pub blockheight: u32,
|
||||||
#[serde(alias = "network")]
|
#[serde(alias = "network")]
|
||||||
pub network: String,
|
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")]
|
#[serde(alias = "fees_collected_msat")]
|
||||||
pub fees_collected_msat: Amount,
|
pub fees_collected_msat: Amount,
|
||||||
#[serde(alias = "address", skip_serializing_if = "crate::is_none_or_empty")]
|
#[serde(alias = "address", skip_serializing_if = "crate::is_none_or_empty")]
|
||||||
@@ -3548,6 +3551,9 @@ pub mod responses {
|
|||||||
pub channel: ShortChannelId,
|
pub channel: ShortChannelId,
|
||||||
#[serde(alias = "direction")]
|
#[serde(alias = "direction")]
|
||||||
pub direction: u32,
|
pub direction: u32,
|
||||||
|
#[deprecated]
|
||||||
|
#[serde(alias = "msatoshi", skip_serializing_if = "Option::is_none")]
|
||||||
|
pub msatoshi: Option<u64>,
|
||||||
#[serde(alias = "amount_msat")]
|
#[serde(alias = "amount_msat")]
|
||||||
pub amount_msat: Amount,
|
pub amount_msat: Amount,
|
||||||
#[serde(alias = "delay")]
|
#[serde(alias = "delay")]
|
||||||
|
|||||||
@@ -96,6 +96,8 @@ def gen_enum(e):
|
|||||||
if e.description != "":
|
if e.description != "":
|
||||||
decl += f"/// {e.description}\n"
|
decl += f"/// {e.description}\n"
|
||||||
|
|
||||||
|
if e.deprecated:
|
||||||
|
decl += "#[deprecated]\n"
|
||||||
decl += f"#[derive(Copy, Clone, Debug, Deserialize, Serialize)]\npub enum {e.typename} {{\n"
|
decl += f"#[derive(Copy, Clone, Debug, Deserialize, Serialize)]\npub enum {e.typename} {{\n"
|
||||||
for v in e.variants:
|
for v in e.variants:
|
||||||
if v is None:
|
if v is None:
|
||||||
@@ -145,10 +147,12 @@ def gen_primitive(p):
|
|||||||
typename = typemap.get(p.typename, p.typename)
|
typename = typemap.get(p.typename, p.typename)
|
||||||
normalize_varname(p)
|
normalize_varname(p)
|
||||||
|
|
||||||
|
if p.deprecated:
|
||||||
|
defi += " #[deprecated]\n"
|
||||||
if p.required:
|
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:
|
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
|
return defi, decl
|
||||||
|
|
||||||
@@ -173,10 +177,13 @@ def gen_array(a):
|
|||||||
|
|
||||||
itemtype = typemap.get(itemtype, itemtype)
|
itemtype = typemap.get(itemtype, itemtype)
|
||||||
alias = a.name.normalized()
|
alias = a.name.normalized()
|
||||||
|
defi = ""
|
||||||
|
if a.deprecated:
|
||||||
|
defi += " #[deprecated]\n"
|
||||||
if a.required:
|
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:
|
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)
|
return (defi, decl)
|
||||||
|
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ class Field:
|
|||||||
def __init__(self, path, description):
|
def __init__(self, path, description):
|
||||||
self.path = path
|
self.path = path
|
||||||
self.description = description
|
self.description = description
|
||||||
|
self.deprecated = False
|
||||||
self.required = False
|
self.required = False
|
||||||
|
|
||||||
@property
|
@property
|
||||||
@@ -130,10 +131,6 @@ class CompositeField(Field):
|
|||||||
desc = ftype["description"] if "description" in ftype else ""
|
desc = ftype["description"] if "description" in ftype else ""
|
||||||
fpath = f"{path}.{fname}"
|
fpath = f"{path}.{fname}"
|
||||||
|
|
||||||
if ftype.get("deprecated", False):
|
|
||||||
logger.warning(f"Unmanaged {fpath}, it is deprecated")
|
|
||||||
continue
|
|
||||||
|
|
||||||
if fpath in overrides:
|
if fpath in overrides:
|
||||||
field = copy(overrides[fpath])
|
field = copy(overrides[fpath])
|
||||||
field.path = fpath
|
field.path = fpath
|
||||||
@@ -170,6 +167,7 @@ class CompositeField(Field):
|
|||||||
)
|
)
|
||||||
|
|
||||||
if field is not None:
|
if field is not None:
|
||||||
|
field.deprecated = ftype.get("deprecated", False)
|
||||||
field.required = fname in required
|
field.required = fname in required
|
||||||
fields.append(field)
|
fields.append(field)
|
||||||
logger.debug(field)
|
logger.debug(field)
|
||||||
@@ -320,7 +318,9 @@ class ArrayField(Field):
|
|||||||
|
|
||||||
elif child_js["type"] in PrimitiveField.types:
|
elif child_js["type"] in PrimitiveField.types:
|
||||||
itemtype = PrimitiveField(
|
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}")
|
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
|
"lightning_dir": m.lightning_dir, # PrimitiveField in generate_composite
|
||||||
"blockheight": m.blockheight, # PrimitiveField in generate_composite
|
"blockheight": m.blockheight, # PrimitiveField in generate_composite
|
||||||
"network": m.network, # 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
|
"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
|
"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
|
"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
|
"id": hexlify(m.id), # PrimitiveField in generate_composite
|
||||||
"channel": m.channel, # PrimitiveField in generate_composite
|
"channel": m.channel, # PrimitiveField in generate_composite
|
||||||
"direction": m.direction, # 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
|
"amount_msat": amount2msat(m.amount_msat), # PrimitiveField in generate_composite
|
||||||
"delay": m.delay, # PrimitiveField in generate_composite
|
"delay": m.delay, # PrimitiveField in generate_composite
|
||||||
"style": str(m.style), # EnumField 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
Reference in New Issue
Block a user