Skip to content

Commit 5dab24f

Browse files
daywalker90endothermicdev
authored andcommitted
msggen: add channel_state_changed notification
Changelog-None
1 parent 6368aa9 commit 5dab24f

File tree

15 files changed

+1054
-912
lines changed

15 files changed

+1054
-912
lines changed

.msggen.json

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,14 @@
2424
"channel": 2,
2525
"onchain_fee": 0
2626
},
27+
"Channel_state_changedCause": {
28+
"local": 1,
29+
"onchain": 5,
30+
"protocol": 4,
31+
"remote": 3,
32+
"unknown": 0,
33+
"user": 2
34+
},
2735
"CloseType": {
2836
"mutual": 0,
2937
"unilateral": 1,
@@ -1016,6 +1024,16 @@
10161024
"channel_opened.funding_txid": 3,
10171025
"channel_opened.id": 1
10181026
},
1027+
"ChannelStateChangedNotification": {
1028+
"channel_state_changed.cause": 7,
1029+
"channel_state_changed.channel_id": 2,
1030+
"channel_state_changed.message": 8,
1031+
"channel_state_changed.new_state": 6,
1032+
"channel_state_changed.old_state": 5,
1033+
"channel_state_changed.peer_id": 1,
1034+
"channel_state_changed.short_channel_id": 3,
1035+
"channel_state_changed.timestamp": 4
1036+
},
10191037
"CheckmessageRequest": {
10201038
"CheckMessage.message": 1,
10211039
"CheckMessage.pubkey": 3,
@@ -13091,6 +13109,42 @@
1309113109
"added": "pre-v0.10.1",
1309213110
"deprecated": null
1309313111
},
13112+
"channel_state_changed": {
13113+
"added": "pre-v0.10.1",
13114+
"deprecated": null
13115+
},
13116+
"channel_state_changed.cause": {
13117+
"added": "pre-v0.10.1",
13118+
"deprecated": null
13119+
},
13120+
"channel_state_changed.channel_id": {
13121+
"added": "pre-v0.10.1",
13122+
"deprecated": null
13123+
},
13124+
"channel_state_changed.message": {
13125+
"added": "pre-v0.10.1",
13126+
"deprecated": null
13127+
},
13128+
"channel_state_changed.new_state": {
13129+
"added": "pre-v0.10.1",
13130+
"deprecated": null
13131+
},
13132+
"channel_state_changed.old_state": {
13133+
"added": "pre-v0.10.1",
13134+
"deprecated": null
13135+
},
13136+
"channel_state_changed.peer_id": {
13137+
"added": "pre-v0.10.1",
13138+
"deprecated": null
13139+
},
13140+
"channel_state_changed.short_channel_id": {
13141+
"added": "pre-v0.10.1",
13142+
"deprecated": null
13143+
},
13144+
"channel_state_changed.timestamp": {
13145+
"added": "pre-v0.10.1",
13146+
"deprecated": null
13147+
},
1309413148
"connect": {
1309513149
"added": "pre-v0.10.1",
1309613150
"deprecated": null

cln-grpc/proto/node.proto

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

cln-grpc/proto/primitives.proto

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@ enum ChannelState {
3737
DualopendOpenInit = 9;
3838
DualopendAwaitingLockin = 10;
3939
ChanneldAwaitingSplice = 11;
40+
DualopendOpenCommitted = 12;
41+
DualopendOpenCommittReady = 13;
4042
}
4143

4244
enum HtlcState {
@@ -62,8 +64,6 @@ enum HtlcState {
6264
SentRemoveAckRevocation = 19;
6365
}
6466

65-
message ChannelStateChangeCause {}
66-
6767
message Outpoint {
6868
bytes txid = 1;
6969
uint32 outnum = 2;

cln-grpc/src/convert.rs

Lines changed: 32 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: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4463,4 +4463,29 @@ impl Node for Server
44634463
};
44644464
Ok(tonic::Response::new(result))
44654465
}
4466+
4467+
4468+
type SubscribeChannelStateChangedStream = NotificationStream<pb::ChannelStateChangedNotification>;
4469+
4470+
async fn subscribe_channel_state_changed(
4471+
&self,
4472+
_request : tonic::Request<pb::StreamChannelStateChangedRequest>
4473+
) -> Result<tonic::Response<Self::SubscribeChannelStateChangedStream>, tonic::Status> {
4474+
let receiver = self.events.subscribe();
4475+
let stream = BroadcastStream::new(receiver);
4476+
let boxed = Box::pin(stream);
4477+
4478+
let result = NotificationStream {
4479+
inner : boxed,
4480+
fn_filter_map : |x| {
4481+
match x {
4482+
Notification::ChannelStateChanged(x) => {
4483+
Some(x.into())
4484+
}
4485+
_ => None
4486+
}
4487+
}
4488+
};
4489+
Ok(tonic::Response::new(result))
4490+
}
44664491
}

cln-rpc/src/model.rs

Lines changed: 1 addition & 78 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)