call the correct method on is_valid_address

This commit is contained in:
Victor Shyba 2019-09-18 10:46:54 -03:00 committed by Lex Berezhny
parent 79727f0e97
commit 817f01593e
2 changed files with 17 additions and 1 deletions

View file

@ -171,3 +171,19 @@ class AccountManagement(CommandTestCase):
})
self.assertEqual(history[6]['value'], '0.0')
self.assertEqual(history[7]['value'], '10.0')
async def test_address_validation(self):
address = await self.daemon.jsonrpc_address_unused()
bad_address = address[0:20] + '9999999' + address[27:]
self.assertEqual(len(address), len(bad_address))
self.assertNotEqual(bad_address, address)
with self.assertRaises(Exception) as send_error:
await self.daemon.jsonrpc_account_send('0.1', addresses=[bad_address])
self.assertEqual(f"'{bad_address}' is not a valid address", send_error.exception.args[0])
tx = await self.daemon.jsonrpc_account_send('0.1', addresses=[address])
for output in tx.outputs:
if output.get_address(self.ledger) == bad_address:
self.fail("account")
elif output.get_address(self.ledger) == address:
return 'yay'
self.fail("account_send sent to bad address!")

View file

@ -161,7 +161,7 @@ class BaseLedger(metaclass=LedgerRegistry):
@classmethod
def is_valid_address(cls, address):
decoded = Base58.decode(address)
decoded = Base58.decode_check(address)
return decoded[0] == cls.pubkey_address_prefix[0]
@classmethod