mirror of
https://github.com/ElementsProject/lightning.git
synced 2024-12-29 10:04:41 +01:00
35 lines
890 B
Python
35 lines
890 B
Python
|
#!/usr/bin/env python3
|
||
|
"""Use the openchannel hook to selectively opt-into zeroconf
|
||
|
"""
|
||
|
|
||
|
from pyln.client import Plugin
|
||
|
|
||
|
plugin = Plugin()
|
||
|
|
||
|
|
||
|
@plugin.hook('openchannel')
|
||
|
def on_openchannel(openchannel, plugin, **kwargs):
|
||
|
plugin.log(repr(openchannel))
|
||
|
mindepth = int(plugin.options['zeroconf-mindepth']['value'])
|
||
|
|
||
|
if openchannel['id'] == plugin.options['zeroconf-allow']['value']:
|
||
|
plugin.log(f"This peer is in the zeroconf allowlist, setting mindepth={mindepth}")
|
||
|
return {'result': 'continue', 'mindepth': mindepth}
|
||
|
else:
|
||
|
return {'result': 'continue'}
|
||
|
|
||
|
|
||
|
plugin.add_option(
|
||
|
'zeroconf-allow',
|
||
|
'A node_id to allow zeroconf channels from',
|
||
|
'03864ef025fde8fb587d989186ce6a4a186895ee44a926bfc370e2c366597a3f8f'
|
||
|
)
|
||
|
|
||
|
plugin.add_option(
|
||
|
'zeroconf-mindepth',
|
||
|
0,
|
||
|
'Number of confirmations to require from allowlisted peers',
|
||
|
)
|
||
|
|
||
|
plugin.run()
|