Christian Decker
bee7a65170
libhsmd: Migrate handle_sign_remote_commitment_tx
2021-05-04 11:18:52 +09:30
Christian Decker
c2d035d377
libhsmd: Migrate handle_sign_remote_htlc_tx
2021-05-04 11:18:52 +09:30
Christian Decker
7b2c6ec4d3
libhsmd: Migrate handle_sign_local_htlc_tx
2021-05-04 11:18:52 +09:30
Christian Decker
cd8fb641cf
libhsmd: Migrate handle_sign_mutual_tx
2021-05-04 11:18:52 +09:30
Christian Decker
9aa4b5198d
libhsmd: Migrate handle_sign_withdrawal_tx
2021-05-04 11:18:52 +09:30
Christian Decker
e7007a7f36
libhsmd: Migrate handle_get_per_commitment_point
2021-05-04 11:18:52 +09:30
Christian Decker
eab4aeaed3
libhsmd: Migrate handle_channel_update_sig
2021-05-04 11:18:52 +09:30
Christian Decker
166f0ade04
libhsmd: Migrate handle_sign_node_announcement
2021-05-04 11:18:52 +09:30
Christian Decker
4a3f24a737
libhsmd: Migrate handle_cannouncement_sig
2021-05-04 11:18:52 +09:30
Christian Decker
e9cc8644b6
libhsmd: Migrate handle_get_output_scriptpubkey
2021-05-04 11:18:52 +09:30
Christian Decker
ec5d40c0e7
libhsmd: Migrate handle_check_future_secret
2021-05-04 11:18:52 +09:30
Christian Decker
0e61ed32e3
libhsmd: Migrate handle_ecdh
2021-05-04 11:18:52 +09:30
Christian Decker
d1b3a5b1aa
libhsmd: Migrate handle_get_channel_basepoints
2021-05-04 11:18:52 +09:30
Christian Decker
2cb25a16e0
libhsmd: Migrate handle_sign_invoice
2021-05-04 11:18:52 +09:30
Christian Decker
79ec4b4808
libhsmd: Migrate handle_sign_bolt12
2021-05-04 11:18:52 +09:30
Christian Decker
3d959e128d
libhsmd: Add dispatcher function
2021-05-04 11:18:52 +09:30
Christian Decker
ac836bbd1b
libhsmd: Add status functions to report to whoever is listening
...
These are currently just shims that replicate the old behavior, but
when compiling as a library we can relink the status_* functions to
something that makes sense in the context of the user, and not assume
we're running as a subdaemon.
2021-05-04 11:18:52 +09:30
Christian Decker
b5a2ddd384
libhsmd: Migrate check_client_capabilities to libhsmd
2021-05-04 11:18:52 +09:30
Christian Decker
ed4676bea8
libhsmd: Add scaffolding to start separating hsmd from io logic
2021-05-04 11:18:52 +09:30
Nalin Bhardwaj
ae06bb91ed
plugins/bcli: strip trailing whitespace appropriately
...
Changelog-Fixed: Handle windows-style newlines and other trailing whitespaces correctly in bitcoin-cli interface
2021-05-03 19:00:26 +09:30
Rusty Russell
ff6b26b70e
plugins/funder: fix up compilation.
...
I merge Christian's plugin notification API change at the same
time, broke plugins/funder.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2021-05-03 11:42:04 +09:30
Christian Decker
c58b15de19
docs: Document the custom plugin notifications
2021-05-03 11:20:15 +09:30
Christian Decker
ef7f9a8022
pay: Add pay_failure notification
2021-05-03 11:20:15 +09:30
Christian Decker
c6fd849aa3
pay: Add notification for pay_success
2021-05-03 11:20:15 +09:30
Christian Decker
98aa3c3da7
plugin: Make unannounced notification topics no longer fatal
...
Since plugins will start sending them soon, and they are likely to get
it wrong sometimes, be a bit more lenient, warn them in the logs
instead and then make sure it doesn't accidentally work anyway.
2021-05-03 11:20:15 +09:30
Christian Decker
c8c0c4dc99
libplugin: Add functions to start and end notifications
2021-05-03 11:20:15 +09:30
Christian Decker
c1f08a42fe
libplugin: Add notification topics to the manifest response
2021-05-03 11:20:15 +09:30
Christian Decker
f963a6a551
libplugin: Add notification topics to plugin_main
2021-05-03 11:20:15 +09:30
Christian Decker
e02e972729
cleanup: Make lnprototest run only with DEVELOPER=1
2021-05-03 11:20:15 +09:30
Christian Decker
f08ae49134
plugin: Restrict plugin notifications only to announced topics
...
We want to have well-behaved notifications that are clearly announced
during the initialization, kill plugins that don't behave.
2021-05-03 11:20:15 +09:30
Christian Decker
62e3358a5b
plugin: Wrap custom notifications in a dict with additional origin
...
This should allow us to differentiate the origin of the notification,
and further prevent plugins from spoofing native notifications.
2021-05-03 11:20:15 +09:30
Christian Decker
cfb1107244
plugin: Remember the shortname for a plugin
...
We use it in a couple of places, so let's remember it for easier
access.
2021-05-03 11:20:15 +09:30
Christian Decker
2e27e4e443
plugin: Move list of notification topics to each plugin
...
We want to ensure that plugins register their topics before sending
any notification, so we need to remember which plugin registered which
topics.
2021-05-03 11:20:15 +09:30
Christian Decker
c8c2c33952
plugin: Prevent plugins from registering native notification topics
...
They may already have subscribers, and they may crash if presented
with a malformed notification.
2021-05-03 11:20:15 +09:30
Christian Decker
f716c55983
plugin: Implement custom notification dispatch for plugins
...
Changelog-Added: plugin: Plugins may now send custom notifications that other plugins can subscribe to.
2021-05-03 11:20:15 +09:30
Christian Decker
9d310366af
plugin: Store the notification topics announced by the plugins
2021-05-03 11:20:15 +09:30
Christian Decker
f77a0bcd8f
plugin: Move the notification subscription check into a second phase
...
A plugin might subscribe to a notification topic that is only
registered by another plugin later, so push the check to that
consistency check phase where we do hook ordering as well.
2021-05-03 11:20:15 +09:30
Christian Decker
083b41f090
plugin: Add a list of notification topics registered by plugin
...
We will eventually start emitting and dispatching custom notifications
from plugins just like we dispatch internal notifications. In order to
get reasonable error messages we need to make sure that the topics
plugins are asking for were correctly registered. When doing this we
don't really care about whether the plugin that registered the
notification is still alive or not (it might have died, but
subscribers should stay up and running), so we keep a list of all
topics attached to the `struct plugins` which gathers global plugin
information.
2021-05-03 11:20:15 +09:30
niftynei
29155c2fe8
tests: add test for funder options
2021-05-03 11:06:10 +09:30
niftynei
473067859f
pyln-testing: use provided outnum instead of trying to find it
...
Dual-funded channels won't match the old amount check. Good news is
we're already returning the outnum so we just use that.
2021-05-03 11:06:10 +09:30
niftynei
38b992b805
funder: handle RBF callback
...
Fund an RBF same as you would an open. We dont' do anything fancy with
our inputs -- we dont' have a copy of the last PSBT that was sent.
2021-05-03 11:06:10 +09:30
niftynei
a293bf3269
rbf_channel hook: add channel_max_msat parameter
...
Changelog-Added: Plugins: `rbf_channel` hook has `channel_max_msat` parameter
2021-05-03 11:06:10 +09:30
niftynei
4244fc1a53
funder: funderupdate
command to see/set configs
...
Changelog-Added: Plugins: `funder` plugin now has new command `funderupdate` which will show current funding configuration and allow you to modify them
2021-05-03 11:06:10 +09:30
niftynei
6b37b92f8a
funder: sanitize inputs
...
Error out if we've got the wrong info
2021-05-03 11:06:10 +09:30
niftynei
bc7875864b
contrib: if you're in dev mode, use dual-funding (with matching)
...
If you're using the regtest node, turn on dual funding and
automatically attempt to dual fund at a 100% match for every channel
open that you do.
2021-05-03 11:06:10 +09:30
niftynei
2538956b4d
funder-test: tests for our policy configurations
2021-05-03 11:06:10 +09:30
niftynei
89a7479312
funder: use listfunds to fetch utxo data
...
Compute available_funds locally, instead of getting it from the
openchannel2 hook payload.
Suggested-By: Rusty Russell @rustyrussell
2021-05-03 11:06:10 +09:30
niftynei
cd5970243a
funder: add a plugin, funder
. policies for dual-funding
...
Behold! An immaculately concepted plugin for configuring your node to do
amazing things*
*fund channel open requests
Changelog-Added: Plugins: Add `funder` plugin, which allows you to setup a policy for funding v2 channel open requests. Requres --experimental-dual-fund option
2021-05-03 11:06:10 +09:30
niftynei
16c92b7da3
amount: amount_sat_scale
method
...
For scaling/multiplying sats
2021-05-03 11:06:10 +09:30
niftynei
916edaa839
openchannel: add missing string args to format string
...
Oops
2021-05-03 11:06:10 +09:30