mirror of
https://github.com/ElementsProject/lightning.git
synced 2025-01-03 20:44:54 +01:00
36 lines
1.3 KiB
Python
36 lines
1.3 KiB
Python
|
#!/usr/bin/env python3
|
||
|
"""Simple plugin to test the openchannel_hook's
|
||
|
'close_to' address functionality.
|
||
|
|
||
|
If the funding amount is:
|
||
|
- a multiple of 11: we send back a valid address (regtest)
|
||
|
- a multiple of 7: we send back an empty address
|
||
|
- a multiple of 5: we send back an address for the wrong chain (mainnet)
|
||
|
- otherwise: we don't include the close_to
|
||
|
"""
|
||
|
|
||
|
from lightning import Plugin, Millisatoshi
|
||
|
|
||
|
plugin = Plugin()
|
||
|
|
||
|
|
||
|
@plugin.hook('openchannel')
|
||
|
def on_openchannel(openchannel, plugin, **kwargs):
|
||
|
# - a multiple of 11: we send back a valid address (regtest)
|
||
|
if Millisatoshi(openchannel['funding_satoshis']).to_satoshi() % 11 == 0:
|
||
|
return {'result': 'continue', 'close_to': 'bcrt1q7gtnxmlaly9vklvmfj06amfdef3rtnrdazdsvw'}
|
||
|
|
||
|
# - a multiple of 7: we send back an empty address
|
||
|
if Millisatoshi(openchannel['funding_satoshis']).to_satoshi() % 7 == 0:
|
||
|
return {'result': 'continue', 'close_to': ''}
|
||
|
|
||
|
# - a multiple of 5: we send back an address for the wrong chain (mainnet)
|
||
|
if Millisatoshi(openchannel['funding_satoshis']).to_satoshi() % 5 == 0:
|
||
|
return {'result': 'continue', 'close_to': 'bc1qlq8srqnz64wgklmqvurv7qnr4rvtq2u96hhfg2'}
|
||
|
|
||
|
# - otherwise: we don't include the close_to
|
||
|
return {'result': 'continue'}
|
||
|
|
||
|
|
||
|
plugin.run()
|