示例#1
0
 def __init__(self, passphrase="", type=0):
     self.passphrase = passphrase
     self.address = None
     self.public_key = None
     self.private_key = None
     try:
         if type == '1':
             keypair = BitcoinKeypair.from_private_key(
                 self.passphrase.encode('ascii'))
         elif type == '2':
             keypair = BitcoinKeypair.from_private_key(
                 deterministic.electrum_stretch(
                     self.passphrase.encode('utf-8')))
         else:
             keypair = BitcoinKeypair.from_passphrase(
                 self.passphrase.encode('utf-8'))
         self.address = keypair.address()
         self.public_key = keypair.public_key()
         self.private_key = keypair.private_key()
         self.wif = keypair.wif_pk()
     except Exception as e:
         logging.warning(
             u"Failed to generate keypair for passphrase '{}'. Error: {}".
             format(passphrase, e.args))
         raise
 def __init__(self, passphrase = "", type = 0):
     self.passphrase = passphrase
     self.address = None
     self.public_key = None
     self.private_key = None
     try:
         if type == '1':
             keypair = BitcoinKeypair.from_private_key(self.passphrase.encode('ascii'))
         elif type == '2':
             keypair = BitcoinKeypair.from_private_key(deterministic.electrum_stretch(self.passphrase.encode('utf-8')))
         else:
             keypair = BitcoinKeypair.from_passphrase(self.passphrase.encode('utf-8'))
         self.address = keypair.address()
         self.public_key = keypair.public_key()
         self.private_key = keypair.private_key()
         self.wif = keypair.wif_pk()
     except Exception as e:
         logging.warning(u"Failed to generate keypair for passphrase '{}'. Error: {}".format(passphrase, e.args))
         raise
示例#3
0
 def __init__(self, passphrase, private_key=False):
     self.passphrase = passphrase
     if private_key:
         self.keypair = BitcoinKeypair.from_private_key(
             self.passphrase.encode('ascii'))
     else:
         try:
             self.keypair = BitcoinKeypair.from_passphrase(self.passphrase)
         except Exception:
             LOG.exception(u'Failed to generate keypair from {0}'.format(
                 self.passphrase))
             raise
 def __init__(self, passphrase, is_private_key = False):
     self.passphrase = passphrase
     self.address = None
     self.public_key = None
     self.private_key = None
     try:
         if is_private_key:
             keypair = BitcoinKeypair.from_private_key(self.passphrase.encode('ascii'))
         else:
             keypair = BitcoinKeypair.from_passphrase(self.passphrase)
         self.address = keypair.address()
         self.public_key = keypair.public_key()
         self.private_key = keypair.private_key()
     except Exception as e:
         logging.warning(u"Failed to generate keypair for passphrase '{}'. Error: {}".format(passphrase, e.args))
         raise
示例#5
0
def sweep_btc(transfer_user, LIVE=False):

    user_id = transfer_user['user_id']
    new_user = new_users.find_one({"_id": user_id})

    if new_user is None:
        return

    old_user = old_users.find_one({'username': new_user['username']})

    if old_user is None:
        return

    new_btc_address = new_user['bitcoin_address']
    old_btc_address = json.loads(old_user['profile'])['bitcoin']['address']

    wif_pk = bip38_decrypt(str(transfer_user['encrypted_private_key']),
                           WALLET_SECRET)

    keypair = BitcoinKeypair.from_private_key(wif_pk)

    if old_btc_address == keypair.address():

        balance = fetch_balance(old_btc_address)

        if balance == float(0):
            return False

        log.debug(new_user['username'])
        log.debug("old btc address: " + old_btc_address)
        bitcoind.importprivkey(keypair.wif_pk())

        if LIVE:
            log.debug("sending " + str(balance) + " to " + new_btc_address)
            tx = bitcoind.sendtoaddress(new_btc_address, balance)
            log.debug(tx)
        else:
            log.debug("need to send " + str(balance) + " to " +
                      new_btc_address)

        log.debug("final balance: %s", balance)
        log.debug('-' * 5)

        return True

    return False
示例#6
0
def sweep_btc(transfer_user, LIVE=False):

    user_id = transfer_user['user_id']
    new_user = new_users.find_one({"_id": user_id})

    if new_user is None:
        return

    old_user = old_users.find_one({'username': new_user['username']})

    if old_user is None:
        return

    new_btc_address = new_user['bitcoin_address']
    old_btc_address = json.loads(old_user['profile'])['bitcoin']['address']

    wif_pk = bip38_decrypt(str(transfer_user['encrypted_private_key']), WALLET_SECRET)

    keypair = BitcoinKeypair.from_private_key(wif_pk)

    if old_btc_address == keypair.address():

        balance = fetch_balance(old_btc_address)

        if balance == float(0):
            return False

        log.debug(new_user['username'])
        log.debug("old btc address: " + old_btc_address)
        bitcoind.importprivkey(keypair.wif_pk())

        if LIVE:
            log.debug("sending " + str(balance) + " to " + new_btc_address)
            tx = bitcoind.sendtoaddress(new_btc_address, balance)
            log.debug(tx)
        else:
            log.debug("need to send " + str(balance) + " to " + new_btc_address)

        log.debug("final balance: %s", balance)
        log.debug('-' * 5)

        return True

    return False
 def __init__(self, passphrase, is_private_key=False):
     self.passphrase = passphrase
     self.address = None
     self.public_key = None
     self.private_key = None
     try:
         if is_private_key:
             keypair = BitcoinKeypair.from_private_key(
                 self.passphrase.encode('ascii'))
         else:
             keypair = BitcoinKeypair.from_passphrase(self.passphrase)
         self.address = keypair.address()
         self.public_key = keypair.public_key()
         self.private_key = keypair.private_key()
     except Exception as e:
         logging.warning(
             u"Failed to generate keypair for passphrase '{}'. Error: {}".
             format(passphrase, e.args))
         raise