Browse Source
Rounds out the application of `upfront_shutdown_script`, allowing an accepting node to specify a close_to address. Prior to this, only the opening node could specify one. Changelog-Added: Plugins: Allow the 'accepter' to specify an upfront_shutdown_script for a channel via a `close_to` field in the openchannel hook resulttravis-debug
lisa neigut
5 years ago
committed by
Rusty Russell
6 changed files with 124 additions and 21 deletions
Can't render this file because it has a wrong number of fields in line 6.
|
@ -0,0 +1,35 @@ |
|||
#!/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() |
Loading…
Reference in new issue