tfix encode_msg: optional fields were not sent - electrum - Electrum Bitcoin wallet
HTML git clone https://git.parazyd.org/electrum
DIR Log
DIR Files
DIR Refs
DIR Submodules
---
DIR commit 0f00f4f6554d2afc503b63b9510e9c864fc23111
DIR parent 67f1ade7984e28ce6106c1db4ac803a424f6e8a4
HTML Author: ThomasV <thomasv@electrum.org>
Date: Sat, 8 Jun 2019 15:14:23 +0200
fix encode_msg: optional fields were not sent
Diffstat:
M electrum/lnmsg.py | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
---
DIR diff --git a/electrum/lnmsg.py b/electrum/lnmsg.py
t@@ -115,7 +115,9 @@ class LNSerializer:
lengths = {}
for k in typ["payload"]:
poslenMap = typ["payload"][k]
- if "feature" in poslenMap: continue
+ if k not in kwargs and "feature" in poslenMap:
+ continue
+ param = kwargs.get(k, 0)
leng = _eval_exp_with_ctx(poslenMap["length"], lengths)
try:
clone = dict(lengths)
t@@ -124,10 +126,6 @@ class LNSerializer:
except KeyError:
pass
try:
- param = kwargs[k]
- except KeyError:
- param = 0
- try:
if not isinstance(param, bytes):
assert isinstance(param, int), "field {} is neither bytes or int".format(k)
param = param.to_bytes(leng, 'big')