core-lightning/tests/plugins/openchannel_hook_delay.py

33 lines
837 B
Python
Raw Normal View History

#!/usr/bin/env python3
"""Plugin to test openchannel_hook
Will simply accept any channel. Useful fot testing chained hook.
"""
from pyln.client import Plugin
import time
plugin = Plugin()
@plugin.hook('openchannel')
def on_openchannel(openchannel, plugin, **kwargs):
delaytime = float(plugin.get_option('delaytime'))
msg = f'delaying WIRE_ACCEPT_CHANNEL for {delaytime}s'
plugin.log(msg)
time.sleep(delaytime)
return {'result': 'continue'}
@plugin.hook('openchannel2')
def on_openchannel2(openchannel2, plugin, **kwargs):
delaytime = float(plugin.get_option('delaytime'))
msg = f'delaying WIRE_ACCEPT_CHANNEL for {delaytime}s'
plugin.log(msg)
time.sleep(delaytime)
return {'result': 'continue'}
plugin.add_option('delaytime', '10', 'How long to hold the WIRE_OPEN_CHANNEL.')
plugin.run()