mirror of
https://github.com/ElementsProject/lightning.git
synced 2025-03-15 11:59:16 +01:00
pyln-client, libplugin, rust cln-plugin: explicitly flag that we allow non-numeric JSON ids.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
parent
d5ce5cbab3
commit
ece77840f9
5 changed files with 6 additions and 15 deletions
|
@ -917,6 +917,7 @@ class Plugin(object):
|
|||
'subscriptions': list(self.subscriptions.keys()),
|
||||
'hooks': hooks,
|
||||
'dynamic': self.dynamic,
|
||||
'nonnumericids': True,
|
||||
'notifications': [
|
||||
{"method": name} for name in self.notification_topics
|
||||
],
|
||||
|
|
|
@ -888,6 +888,7 @@ handle_getmanifest(struct command *getmanifest_cmd,
|
|||
}
|
||||
|
||||
json_add_bool(params, "dynamic", p->restartability == PLUGIN_RESTARTABLE);
|
||||
json_add_bool(params, "nonnumericids", true);
|
||||
|
||||
json_array_start(params, "notifications");
|
||||
for (size_t i = 0; p->notif_topics && i < p->num_notif_topics; i++) {
|
||||
|
|
|
@ -46,6 +46,7 @@ where
|
|||
rpcmethods: HashMap<String, RpcMethod<S>>,
|
||||
subscriptions: HashMap<String, Subscription<S>>,
|
||||
dynamic: bool,
|
||||
nonnumericids: bool,
|
||||
}
|
||||
|
||||
/// A plugin that has registered with the lightning daemon, and gotten
|
||||
|
@ -115,6 +116,7 @@ where
|
|||
options: vec![],
|
||||
rpcmethods: HashMap::new(),
|
||||
dynamic: false,
|
||||
nonnumericids: true,
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -318,6 +320,7 @@ where
|
|||
hooks: self.hooks.keys().map(|s| s.clone()).collect(),
|
||||
rpcmethods,
|
||||
dynamic: self.dynamic,
|
||||
nonnumericids: true,
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -157,6 +157,7 @@ pub(crate) struct GetManifestResponse {
|
|||
pub(crate) subscriptions: Vec<String>,
|
||||
pub(crate) hooks: Vec<String>,
|
||||
pub(crate) dynamic: bool,
|
||||
pub(crate) nonnumericids: bool,
|
||||
}
|
||||
|
||||
#[derive(Serialize, Default, Debug)]
|
||||
|
|
|
@ -3238,18 +3238,3 @@ def test_block_added_notifications(node_factory, bitcoind):
|
|||
sync_blockheight(bitcoind, [l2])
|
||||
ret = l2.rpc.call("blockscatched")
|
||||
assert len(ret) == 3 and ret[1] == next_l2_base + 1 and ret[2] == next_l2_base + 2
|
||||
|
||||
|
||||
def test_numeric_json_ids(node_factory):
|
||||
"""Test that we use numeric json IDs when in deprecated mode (unless
|
||||
plugin says otherwise!)"""
|
||||
l1 = node_factory.get_node(options={'allow-deprecated-apis': True,
|
||||
'log-level': 'io'})
|
||||
|
||||
# getmanifest and init
|
||||
l1.daemon.logsearch_start = 0
|
||||
l1.daemon.wait_for_logs([r"plugin-commando: [0-9]*\[OUT\]"] * 2)
|
||||
|
||||
# This is in a plugin.
|
||||
l1.rpc.commando_rune()
|
||||
l1.daemon.wait_for_log(r"plugin-commando: [0-9]*\[OUT\]")
|
||||
|
|
Loading…
Add table
Reference in a new issue