electrum

Electrum Bitcoin wallet
git clone https://git.parazyd.org/electrum
Log | Files | Refs | Submodules

commit fa80fd4bd5d216fe0b876c20828d3438112194c1
parent 517e19ebabf7ccf977e2fa35323836fce625096a
Author: Janus <ysangkok@gmail.com>
Date:   Wed,  2 May 2018 14:22:54 +0200

lnbase: fix custom local to_self_delay, use node privkey derived from timestamp in online test

Diffstat:
Mlib/lnbase.py | 9+++++----
Mlib/tests/test_lnbase.py | 5+++--
Mlib/tests/test_lnbase_online.py | 2+-
3 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/lib/lnbase.py b/lib/lnbase.py @@ -347,7 +347,7 @@ def overall_weight(num_htlc): HTLC_TIMEOUT_WEIGHT = 663 HTLC_SUCCESS_WEIGHT = 703 -def make_htlc_tx_output(amount_msat, local_feerate, revocationpubkey, local_delayedpubkey, success): +def make_htlc_tx_output(amount_msat, local_feerate, revocationpubkey, local_delayedpubkey, success, to_self_delay): assert type(amount_msat) is int assert type(local_feerate) is int assert type(revocationpubkey) is bytes @@ -355,7 +355,7 @@ def make_htlc_tx_output(amount_msat, local_feerate, revocationpubkey, local_dela script = bytes([opcodes.OP_IF]) \ + bfh(push_script(bh2u(revocationpubkey))) \ + bytes([opcodes.OP_ELSE]) \ - + bitcoin.add_number_to_script(144) \ + + bitcoin.add_number_to_script(to_self_delay) \ + bytes([opcodes.OP_CSV, opcodes.OP_DROP]) \ + bfh(push_script(bh2u(local_delayedpubkey))) \ + bytes([opcodes.OP_ENDIF, opcodes.OP_CHECKSIG]) @@ -753,7 +753,7 @@ class Peer(PrintError): htlc_basepoint=keypair_generator(keyfamilyhtlcbase, 0), delayed_basepoint=keypair_generator(keyfamilydelaybase, 0), revocation_basepoint=keypair_generator(keyfamilyrevocationbase, 0), - to_self_delay=144, + to_self_delay=143, dust_limit_sat=10, max_htlc_value_in_flight_msat=500000 * 1000, max_accepted_htlcs=5 @@ -1000,7 +1000,8 @@ class Peer(PrintError): local_feerate = chan.constraints.feerate, revocationpubkey=revocation_pubkey, local_delayedpubkey=remote_delayedpubkey, - success = False) # timeout for the one offering an HTLC + success = False, # timeout for the one offering an HTLC + to_self_delay = chan.local_config.to_self_delay) preimage_script = htlcs_in_remote[0][0] htlc_output_txid = remote_ctx.txid() htlc_tx_inputs = make_htlc_tx_inputs( diff --git a/lib/tests/test_lnbase.py b/lib/tests/test_lnbase.py @@ -196,7 +196,8 @@ class Test_LNBase(unittest.TestCase): local_feerate=local_feerate_per_kw, revocationpubkey=local_revocation_pubkey, local_delayedpubkey=local_delayedpubkey, - success=success) + success=success, + to_self_delay=local_delay) our_htlc_tx_inputs = make_htlc_tx_inputs( htlc_output_txid=our_commit_tx.txid(), htlc_output_index=htlc_output_index, @@ -256,7 +257,7 @@ class Test_LNBase(unittest.TestCase): success=True, cltv_timeout=0) def test_find_path_for_payment(self): - p = Peer('', 0, 'a') + p = Peer('', 0, 'a', bitcoin.sha256('privkeyseed')) p.on_channel_announcement({'node_id_1': 'b', 'node_id_2': 'c', 'short_channel_id': bfh('0000000000000001')}) p.on_channel_announcement({'node_id_1': 'b', 'node_id_2': 'e', 'short_channel_id': bfh('0000000000000002')}) p.on_channel_announcement({'node_id_1': 'b', 'node_id_2': 'a', 'short_channel_id': bfh('0000000000000003')}) diff --git a/lib/tests/test_lnbase_online.py b/lib/tests/test_lnbase_online.py @@ -41,7 +41,7 @@ if __name__ == "__main__": wallet = Wallet(storage) wallet.start_threads(network) # start peer - privkey = sha256('1234567890') + privkey = sha256(str(time.time())) peer = Peer(host, port, pubkey, privkey, request_initial_sync=False, network=network) network.futures.append(asyncio.run_coroutine_threadsafe(peer.main_loop(), network.asyncio_loop))