mirror of
https://github.com/JoinMarket-Org/joinmarket-clientserver.git
synced 2026-08-13 12:33:40 +02:00
make sure new addresses always get imported
This commit is contained in:
parent
914a40e3a1
commit
8ca6cfc057
4 changed files with 30 additions and 1 deletions
|
|
@ -216,3 +216,11 @@ class Maker(object):
|
|||
if len(oldorder_s) > 0:
|
||||
self.offerlist.remove(oldorder_s[0])
|
||||
self.offerlist += to_announce
|
||||
|
||||
def import_new_addresses(self, addr_list):
|
||||
# FIXME: same code as in taker.py
|
||||
bci = jm_single().bc_interface
|
||||
if not hasattr(bci, 'import_addresses'):
|
||||
return
|
||||
assert hasattr(bci, 'get_wallet_name')
|
||||
bci.import_addresses(addr_list, bci.get_wallet_name(self.wallet))
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@ from __future__ import print_function
|
|||
import base64
|
||||
import pprint
|
||||
import random
|
||||
from itertools import chain
|
||||
|
||||
import btc
|
||||
from jmclient.configure import jm_single, get_p2pk_vbyte, get_p2sh_vbyte
|
||||
|
|
@ -184,6 +183,7 @@ class Taker(object):
|
|||
jlog.info("Choosing a destination from mixdepth: " + str(next_mixdepth))
|
||||
self.my_cj_addr = self.wallet.get_internal_addr(next_mixdepth)
|
||||
jlog.info("Chose destination address: " + self.my_cj_addr)
|
||||
self.import_new_addresses([self.my_cj_addr])
|
||||
self.outputs = []
|
||||
self.cjfee_total = 0
|
||||
self.maker_txfee_contributions = 0
|
||||
|
|
@ -268,6 +268,7 @@ class Taker(object):
|
|||
if self.cjamount != 0:
|
||||
try:
|
||||
self.my_change_addr = self.wallet.get_internal_addr(self.mixdepth)
|
||||
self.import_new_addresses([self.my_change_addr])
|
||||
except:
|
||||
self.taker_info_callback("ABORT", "Failed to get a change address")
|
||||
return False
|
||||
|
|
@ -806,3 +807,11 @@ class Taker(object):
|
|||
waittime = self.schedule[self.schedule_index][4]
|
||||
self.on_finished_callback(True, fromtx=fromtx, waittime=waittime,
|
||||
txdetails=(txd, txid))
|
||||
|
||||
def import_new_addresses(self, addr_list):
|
||||
# FIXME: same code as in maker.py
|
||||
bci = jm_single().bc_interface
|
||||
if not hasattr(bci, 'import_addresses'):
|
||||
return
|
||||
assert hasattr(bci, 'get_wallet_name')
|
||||
bci.import_addresses(addr_list, bci.get_wallet_name(self.wallet))
|
||||
|
|
|
|||
|
|
@ -67,6 +67,7 @@ def direct_send(wallet, amount, mixdepth, destaddr, answeryes=False,
|
|||
changeval = total_inputs_val - fee_est - amount
|
||||
outs = [{"value": amount, "address": destaddr}]
|
||||
change_addr = wallet.get_internal_addr(mixdepth)
|
||||
import_new_addresses(wallet, [change_addr])
|
||||
outs.append({"value": changeval, "address": change_addr})
|
||||
|
||||
#Now ready to construct transaction
|
||||
|
|
@ -104,6 +105,16 @@ def direct_send(wallet, amount, mixdepth, destaddr, answeryes=False,
|
|||
cb(successmsg)
|
||||
return txid
|
||||
|
||||
|
||||
def import_new_addresses(wallet, addr_list):
|
||||
# FIXME: same code as in maker.py and taker.py
|
||||
bci = jm_single().bc_interface
|
||||
if not hasattr(bci, 'import_addresses'):
|
||||
return
|
||||
assert hasattr(bci, 'get_wallet_name')
|
||||
bci.import_addresses(addr_list, bci.get_wallet_name(wallet))
|
||||
|
||||
|
||||
def get_tumble_log(logsdir):
|
||||
tumble_log = logging.getLogger('tumbler')
|
||||
tumble_log.setLevel(logging.DEBUG)
|
||||
|
|
|
|||
|
|
@ -132,6 +132,7 @@ class YieldGeneratorBasic(YieldGenerator):
|
|||
cj_addr = self.wallet.get_internal_addr((mixdepth + 1) %
|
||||
self.wallet.max_mix_depth)
|
||||
change_addr = self.wallet.get_internal_addr(mixdepth)
|
||||
self.import_new_addresses([cj_addr, change_addr])
|
||||
|
||||
utxos = self.wallet.select_utxos(mixdepth, total_amount)
|
||||
my_total_in = sum([va['value'] for va in utxos.values()])
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue