Browse Source

refactor create_wallet, add wallet generate dependencies to -Qt

master
Adam Gibson 9 years ago
parent
commit
55b5618c3d
No known key found for this signature in database
GPG Key ID: B3AE09F1E9A3197A
  1. 3
      jmclient/jmclient/__init__.py
  2. 12
      jmclient/jmclient/wallet.py
  3. 2
      scripts/joinmarket-qt.py

3
jmclient/jmclient/__init__.py

@ -17,7 +17,8 @@ from .old_mnemonic import mn_decode, mn_encode
from .slowaes import decryptData, encryptData
from .taker import Taker
from .wallet import (AbstractWallet, BitcoinCoreInterface, Wallet,
BitcoinCoreWallet, estimate_tx_fee, WalletError)
BitcoinCoreWallet, estimate_tx_fee, WalletError,
create_wallet_file)
from .configure import load_program_config, jm_single, get_p2pk_vbyte, \
get_network, jm_single, get_network, validate_address, get_irc_mchannels, \
check_utxo_blacklist

12
jmclient/jmclient/wallet.py

@ -3,13 +3,14 @@ import json
import os
import pprint
import sys
import datetime
from decimal import Decimal
from ConfigParser import NoSectionError
from getpass import getpass
import btc
from jmclient.slowaes import decryptData
from jmclient.slowaes import encryptData, decryptData
from jmclient.blockchaininterface import BitcoinCoreInterface, RegtestBitcoinCoreInterface
from jmclient.configure import jm_single, get_network, get_p2pk_vbyte
from jmbase.support import get_log
@ -37,6 +38,15 @@ def estimate_tx_fee(ins, outs, txtype='p2pkh'):
log.debug("got estimated tx bytes: "+str(tx_estimated_bytes))
return int((tx_estimated_bytes * fee_per_kb)/Decimal(1000.0))
def create_wallet_file(pwd, seed):
password_key = btc.bin_dbl_sha256(pwd)
encrypted_seed = encryptData(password_key, seed.decode('hex'))
timestamp = datetime.datetime.now().strftime("%Y/%m/%d %H:%M:%S")
return json.dumps({'creator': 'joinmarket project',
'creation_time': timestamp,
'encrypted_seed': encrypted_seed.encode('hex'),
'network': get_network()})
class AbstractWallet(object):
"""
Abstract wallet for use with JoinMarket

2
scripts/joinmarket-qt.py

@ -46,7 +46,7 @@ from jmclient import (load_program_config, get_network, Wallet,
get_log, weighted_order_choose, Taker,
JMTakerClientProtocolFactory, WalletError,
start_reactor, get_schedule, get_tumble_schedule,
schedule_to_text)
schedule_to_text, mn_decode, mn_encode, create_wallet_file)
from qtsupport import (ScheduleWizard, warnings, config_tips, config_types,
TaskThread, QtHandler, XStream, Buttons, CloseButton,

Loading…
Cancel
Save