Skip to content

Commit 13a31ff

Browse files
committed
askrene: askrene-remove-channel-update
Changelog-Added: askrene: askrene-remove-channel-update, a new RPC to remove channel_update entries from layers. Signed-off-by: Lagrang3 <lagrang3@protonmail.com>
1 parent 0c63d01 commit 13a31ff

15 files changed

Lines changed: 578 additions & 257 deletions

File tree

‎.msggen.json‎

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -893,6 +893,10 @@
893893
"Askrene-listreservationsResponse": {
894894
"AskRene-ListReservations.reservations[]": 1
895895
},
896+
"Askrene-remove-channel-updateRequest": {
897+
"AskRene-Remove-Channel-Update.layer": 1,
898+
"AskRene-Remove-Channel-Update.short_channel_id_dir": 2
899+
},
896900
"Askrene-remove-layerRequest": {
897901
"AskRene-Remove-Layer.layer": 1
898902
},
@@ -5017,6 +5021,18 @@
50175021
"added": "v24.11",
50185022
"deprecated": null
50195023
},
5024+
"AskRene-Remove-Channel-Update": {
5025+
"added": "v26.06",
5026+
"deprecated": null
5027+
},
5028+
"AskRene-Remove-Channel-Update.layer": {
5029+
"added": "v26.06",
5030+
"deprecated": null
5031+
},
5032+
"AskRene-Remove-Channel-Update.short_channel_id_dir": {
5033+
"added": "v26.06",
5034+
"deprecated": null
5035+
},
50205036
"AskRene-Remove-Layer": {
50215037
"added": "v24.11",
50225038
"deprecated": null

‎cln-grpc/proto/node.proto‎

Lines changed: 9 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎cln-grpc/src/convert.rs‎

Lines changed: 28 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎cln-grpc/src/server.rs‎

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4114,6 +4114,38 @@ impl Node for Server
41144114

41154115
}
41164116

4117+
async fn ask_rene_remove_channel_update(
4118+
&self,
4119+
request: tonic::Request<pb::AskreneremovechannelupdateRequest>,
4120+
) -> Result<tonic::Response<pb::AskreneremovechannelupdateResponse>, tonic::Status> {
4121+
let req = request.into_inner();
4122+
let req: requests::AskreneremovechannelupdateRequest = req.into();
4123+
debug!("Client asked for ask_rene_remove_channel_update");
4124+
trace!("ask_rene_remove_channel_update request: {:?}", req);
4125+
let mut rpc = ClnRpc::new(&self.rpc_path)
4126+
.await
4127+
.map_err(|e| Status::new(Code::Internal, e.to_string()))?;
4128+
let result = rpc.call(Request::AskReneRemoveChannelUpdate(req))
4129+
.await
4130+
.map_err(|e| Status::new(
4131+
Code::Unknown,
4132+
format!("Error calling method AskReneRemoveChannelUpdate: {:?}", e)))?;
4133+
match result {
4134+
Response::AskReneRemoveChannelUpdate(r) => {
4135+
trace!("ask_rene_remove_channel_update response: {:?}", r);
4136+
Ok(tonic::Response::new(r.into()))
4137+
},
4138+
r => Err(Status::new(
4139+
Code::Internal,
4140+
format!(
4141+
"Unexpected result {:?} to method call AskReneRemoveChannelUpdate",
4142+
r
4143+
)
4144+
)),
4145+
}
4146+
4147+
}
4148+
41174149
async fn ask_rene_reserve(
41184150
&self,
41194151
request: tonic::Request<pb::AskrenereserveRequest>,

‎cln-rpc/src/model.rs‎

Lines changed: 42 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎contrib/msggen/msggen/schema.json‎

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1790,6 +1790,53 @@
17901790
}
17911791
]
17921792
},
1793+
"askrene-remove-channel-update.json": {
1794+
"$schema": "../rpc-schema-draft.json",
1795+
"type": "object",
1796+
"rpc": "askrene-remove-channel-update",
1797+
"title": "Command to remove a channel update entry in a layer",
1798+
"added": "v26.06",
1799+
"description": [
1800+
"The **askrene-remove-channel-update** RPC command removes a channel update entry in the layer."
1801+
],
1802+
"request": {
1803+
"required": [
1804+
"layer",
1805+
"short_channel_id_dir"
1806+
],
1807+
"additionalProperties": false,
1808+
"properties": {
1809+
"layer": {
1810+
"type": "string",
1811+
"description": [
1812+
"The name of the layer to apply this change to."
1813+
]
1814+
},
1815+
"short_channel_id_dir": {
1816+
"type": "short_channel_id_dir",
1817+
"description": [
1818+
"The channel and direction to apply the change to."
1819+
]
1820+
}
1821+
}
1822+
},
1823+
"response": {
1824+
"required": [],
1825+
"additionalProperties": false,
1826+
"properties": {}
1827+
},
1828+
"see_also": [
1829+
"lightning-getroutes(7)",
1830+
"lightning-askrene-create-channel(7)",
1831+
"lightning-askrene-update-channel(7)"
1832+
],
1833+
"author": [
1834+
"Lagrang3 is mainly responsible."
1835+
],
1836+
"resources": [
1837+
"Main web site: [https://github.com/ElementsProject/lightning](https://github.com/ElementsProject/lightning)"
1838+
]
1839+
},
17931840
"askrene-remove-layer.json": {
17941841
"$schema": "../rpc-schema-draft.json",
17951842
"type": "object",

‎contrib/msggen/msggen/utils/utils.py‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,7 @@
136136
"AskRene-ListLayers",
137137
"AskRene-Create-Layer",
138138
"AskRene-Remove-Layer",
139+
"AskRene-Remove-Channel-Update",
139140
"AskRene-Reserve",
140141
"AskRene-Age",
141142
"GetRoutes",

‎contrib/pyln-grpc-proto/pyln/grpc/node_pb2.py‎

Lines changed: 261 additions & 257 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎contrib/pyln-grpc-proto/pyln/grpc/node_pb2_grpc.py‎

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -664,6 +664,11 @@ def __init__(self, channel):
664664
request_serializer=node__pb2.AskreneremovelayerRequest.SerializeToString,
665665
response_deserializer=node__pb2.AskreneremovelayerResponse.FromString,
666666
_registered_method=True)
667+
self.AskReneRemoveChannelUpdate = channel.unary_unary(
668+
'/cln.Node/AskReneRemoveChannelUpdate',
669+
request_serializer=node__pb2.AskreneremovechannelupdateRequest.SerializeToString,
670+
response_deserializer=node__pb2.AskreneremovechannelupdateResponse.FromString,
671+
_registered_method=True)
667672
self.AskReneReserve = channel.unary_unary(
668673
'/cln.Node/AskReneReserve',
669674
request_serializer=node__pb2.AskrenereserveRequest.SerializeToString,
@@ -1655,6 +1660,12 @@ def AskReneRemoveLayer(self, request, context):
16551660
context.set_details('Method not implemented!')
16561661
raise NotImplementedError('Method not implemented!')
16571662

1663+
def AskReneRemoveChannelUpdate(self, request, context):
1664+
"""Missing associated documentation comment in .proto file."""
1665+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
1666+
context.set_details('Method not implemented!')
1667+
raise NotImplementedError('Method not implemented!')
1668+
16581669
def AskReneReserve(self, request, context):
16591670
"""Missing associated documentation comment in .proto file."""
16601671
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
@@ -2564,6 +2575,11 @@ def add_NodeServicer_to_server(servicer, server):
25642575
request_deserializer=node__pb2.AskreneremovelayerRequest.FromString,
25652576
response_serializer=node__pb2.AskreneremovelayerResponse.SerializeToString,
25662577
),
2578+
'AskReneRemoveChannelUpdate': grpc.unary_unary_rpc_method_handler(
2579+
servicer.AskReneRemoveChannelUpdate,
2580+
request_deserializer=node__pb2.AskreneremovechannelupdateRequest.FromString,
2581+
response_serializer=node__pb2.AskreneremovechannelupdateResponse.SerializeToString,
2582+
),
25672583
'AskReneReserve': grpc.unary_unary_rpc_method_handler(
25682584
servicer.AskReneReserve,
25692585
request_deserializer=node__pb2.AskrenereserveRequest.FromString,
@@ -6207,6 +6223,33 @@ def AskReneRemoveLayer(request,
62076223
metadata,
62086224
_registered_method=True)
62096225

6226+
@staticmethod
6227+
def AskReneRemoveChannelUpdate(request,
6228+
target,
6229+
options=(),
6230+
channel_credentials=None,
6231+
call_credentials=None,
6232+
insecure=False,
6233+
compression=None,
6234+
wait_for_ready=None,
6235+
timeout=None,
6236+
metadata=None):
6237+
return grpc.experimental.unary_unary(
6238+
request,
6239+
target,
6240+
'/cln.Node/AskReneRemoveChannelUpdate',
6241+
node__pb2.AskreneremovechannelupdateRequest.SerializeToString,
6242+
node__pb2.AskreneremovechannelupdateResponse.FromString,
6243+
options,
6244+
channel_credentials,
6245+
insecure,
6246+
call_credentials,
6247+
compression,
6248+
wait_for_ready,
6249+
timeout,
6250+
metadata,
6251+
_registered_method=True)
6252+
62106253
@staticmethod
62116254
def AskReneReserve(request,
62126255
target,

‎contrib/pyln-testing/pyln/testing/grpc2py.py‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3169,6 +3169,11 @@ def askrene_remove_layer2py(m):
31693169
})
31703170

31713171

3172+
def askrene_remove_channel_update2py(m):
3173+
return remove_default({
3174+
})
3175+
3176+
31723177
def askrene_reserve2py(m):
31733178
return remove_default({
31743179
})

0 commit comments

Comments
 (0)