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)
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)))
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)