Esempio n. 1
0
 def test_address_is_valid(self):
     assert BitcoinAddress.is_valid("2NG68seqhTqLnniguW6efUDKyCHm4LYEFRa", TESTNET) #script addr
     assert BitcoinAddress.is_valid("n4MsBRWD7VxKGsqYRSLaFZC6hQrsrKLaZo", TESTNET) 
     assert BitcoinAddress.is_valid("112z9tWej11X94khKKzofFgWbdhiXLeHPD", MAIN)    
     assert BitcoinAddress.is_valid("3QXvouufrNqSaw4Mpy2nrGLhywYtXx6wsi", MAIN) #script addr 
     #checksum error
     assert not BitcoinAddress.is_valid("n4NsBRWD7VxKGsqYRSLaFZC6hQrsrKLaZo", TESTNET) 
     #invalid base64char l
     assert not BitcoinAddress.is_valid("n4lsBRWD7VxKGsqYRSLaFZC6hQrsrKLaZo", TESTNET) 
     # special case for MAIN, starting with multiple 1s 
     assert BitcoinAddress.is_valid("112z9tWej11X94khKKzofFgWbdhiXLeHPD", MAIN)    
     assert BitcoinAddress.is_valid("1111MJe7b4ZnktoPZabb6DLAKfac8tvx", MAIN)
     assert not BitcoinAddress.is_valid("11111MJe7b4ZnktoPZabb6DLAKfac8tvx", MAIN)
     assert not BitcoinAddress.is_valid("111MJe7b4ZnktoPZabb6DLAKfac8tvx", MAIN)
Esempio n. 2
0
    def on_select_send_value(self, event):
        base58addrstr = self.wallet_view.send_view.address()
        amount_str = self.wallet_view.send_view.amount()
        if not BitcoinAddress.is_valid(base58addrstr,
                                       self.account.wallet.runmode):
            self.messages_view.error("Incorrect bitcoin address: %s" %
                                     (base58addrstr))
            return
        if not is_float(amount_str):
            self.messages_view.error("Incorrect amount: %s" % (amount_str))
            return
        planned_tx = self.account.create_transaction(
            int(float(amount_str) * COIN),
            BitcoinAddress.from_base58addr(base58addrstr), 0)
        self.wallet_view.send_view.close()

        passphrases = []
        try:
            if self.account.is_passphrase_required(planned_tx):
                passphrase = yield self.wallet_view.enter_passphrase_view.get_passphrase(
                )
                passphrases.append(passphrase)
            self.account.send_transaction(planned_tx, passphrases)
        except KeyDecryptException as e:
            self.messages_view.error(
                "Unable to decrypt the private keys: please verify the passphrase and try again."
            )
        except ActionCancelledException:
            pass
        except Exception as e:
            traceback.print_exc()
            self.messages_view.error("Error while sending transaction: %s" %
                                     (str(e)))
Esempio n. 3
0
 def test_address_is_valid(self):
     assert BitcoinAddress.is_valid("2NG68seqhTqLnniguW6efUDKyCHm4LYEFRa",
                                    TESTNET)  #script addr
     assert BitcoinAddress.is_valid("n4MsBRWD7VxKGsqYRSLaFZC6hQrsrKLaZo",
                                    TESTNET)
     assert BitcoinAddress.is_valid("112z9tWej11X94khKKzofFgWbdhiXLeHPD",
                                    MAIN)
     assert BitcoinAddress.is_valid("3QXvouufrNqSaw4Mpy2nrGLhywYtXx6wsi",
                                    MAIN)  #script addr
     #checksum error
     assert not BitcoinAddress.is_valid(
         "n4NsBRWD7VxKGsqYRSLaFZC6hQrsrKLaZo", TESTNET)
     #invalid base64char l
     assert not BitcoinAddress.is_valid(
         "n4lsBRWD7VxKGsqYRSLaFZC6hQrsrKLaZo", TESTNET)
     # special case for MAIN, starting with multiple 1s
     assert BitcoinAddress.is_valid("112z9tWej11X94khKKzofFgWbdhiXLeHPD",
                                    MAIN)
     assert BitcoinAddress.is_valid("1111MJe7b4ZnktoPZabb6DLAKfac8tvx",
                                    MAIN)
     assert not BitcoinAddress.is_valid("11111MJe7b4ZnktoPZabb6DLAKfac8tvx",
                                        MAIN)
     assert not BitcoinAddress.is_valid("111MJe7b4ZnktoPZabb6DLAKfac8tvx",
                                        MAIN)