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 .slowaes import decryptData, encryptData
from .taker import Taker from .taker import Taker
from .wallet import (AbstractWallet, BitcoinCoreInterface, Wallet, 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, \ from .configure import load_program_config, jm_single, get_p2pk_vbyte, \
get_network, jm_single, get_network, validate_address, get_irc_mchannels, \ get_network, jm_single, get_network, validate_address, get_irc_mchannels, \
check_utxo_blacklist check_utxo_blacklist

12
jmclient/jmclient/wallet.py

@ -3,13 +3,14 @@ import json
import os import os
import pprint import pprint
import sys import sys
import datetime
from decimal import Decimal from decimal import Decimal
from ConfigParser import NoSectionError from ConfigParser import NoSectionError
from getpass import getpass from getpass import getpass
import btc import btc
from jmclient.slowaes import decryptData from jmclient.slowaes import encryptData, decryptData
from jmclient.blockchaininterface import BitcoinCoreInterface, RegtestBitcoinCoreInterface from jmclient.blockchaininterface import BitcoinCoreInterface, RegtestBitcoinCoreInterface
from jmclient.configure import jm_single, get_network, get_p2pk_vbyte from jmclient.configure import jm_single, get_network, get_p2pk_vbyte
from jmbase.support import get_log 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)) log.debug("got estimated tx bytes: "+str(tx_estimated_bytes))
return int((tx_estimated_bytes * fee_per_kb)/Decimal(1000.0)) 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): class AbstractWallet(object):
""" """
Abstract wallet for use with JoinMarket 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, get_log, weighted_order_choose, Taker,
JMTakerClientProtocolFactory, WalletError, JMTakerClientProtocolFactory, WalletError,
start_reactor, get_schedule, get_tumble_schedule, 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, from qtsupport import (ScheduleWizard, warnings, config_tips, config_types,
TaskThread, QtHandler, XStream, Buttons, CloseButton, TaskThread, QtHandler, XStream, Buttons, CloseButton,

Loading…
Cancel
Save