mirror of
https://github.com/ElementsProject/lightning.git
synced 2025-03-26 20:30:59 +01:00
coin moves tests: save updates to disk
If we don't save to disk, if the node restarts we'll lose them all and the resulting balance check at the end will be incorrect.
This commit is contained in:
parent
5d58f125c5
commit
41d3471c7f
1 changed files with 23 additions and 2 deletions
|
@ -2,12 +2,22 @@
|
|||
|
||||
from pyln.client import Plugin
|
||||
|
||||
import json
|
||||
import os.path
|
||||
|
||||
|
||||
plugin = Plugin()
|
||||
|
||||
|
||||
@plugin.init()
|
||||
def init(configuration, options, plugin):
|
||||
plugin.coin_moves = []
|
||||
if os.path.exists('moves.json'):
|
||||
jd = {}
|
||||
with open('moves.json', 'r') as f:
|
||||
jd = f.read()
|
||||
plugin.coin_moves = json.loads(jd)
|
||||
else:
|
||||
plugin.coin_moves = []
|
||||
|
||||
|
||||
@plugin.subscribe("coin_movement")
|
||||
|
@ -30,10 +40,21 @@ def notify_coin_movement(plugin, coin_movement, **kwargs):
|
|||
|
||||
plugin.coin_moves.append(coin_movement)
|
||||
|
||||
# we save to disk so that we don't get borked if the node restarts
|
||||
# assumes notification calls are synchronous (not thread safe)
|
||||
with open('moves.json', 'w') as f:
|
||||
f.write(json.dumps(plugin.coin_moves))
|
||||
|
||||
|
||||
@plugin.method('listcoinmoves_plugin')
|
||||
def return_moves(plugin):
|
||||
return {'coin_moves': plugin.coin_moves}
|
||||
result = []
|
||||
if os.path.exists('moves.json'):
|
||||
jd = {}
|
||||
with open('moves.json', 'r') as f:
|
||||
jd = f.read()
|
||||
result = json.loads(jd)
|
||||
return {'coin_moves': result}
|
||||
|
||||
|
||||
plugin.run()
|
||||
|
|
Loading…
Add table
Reference in a new issue