You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
trezor-firmware/core/tests/test_apps.bitcoin.signtx.om...

35 lines
1.2 KiB

from common import *
from apps.bitcoin.sign_tx.omni import is_valid, parse
class TestSignTxOmni(unittest.TestCase):
def test_is_valid(self):
VECTORS = {
"6f6d6e69": False,
"6f6d6e69000000": False,
"6f6d6e6900000000": True,
"6f6d6e69000000000000001f0000000020c85580": True,
"0f6d6e69000000000000001f0000000020c85580": False,
"6f6d6e69000000000000001f0000000020c8558000": True,
"6f6d6e69000000000000001f0000000020c855": True,
}
for k, v in VECTORS.items():
k = unhexlify(k)
self.assertEqual(is_valid(k), v)
def test_parse(self):
VECTORS = {
"6f6d6e69000000000000001f000000002b752ee0": "Simple send of 7.291 USDT",
"6f6d6e69000000000000001f0000000020c85580": "Simple send of 5.5 USDT",
"6f6d6e690000000000000003000000002b752ee0": "Simple send of 729,100,000 MAID",
"6f6d6e690000000000000000000000002b752ee0": "Simple send of 729,100,000 UNKN",
"6f6d6e6901000000": "Unknown transaction",
}
for k, v in VECTORS.items():
k = unhexlify(k)
self.assertEqual(parse(k), v)
if __name__ == '__main__':
unittest.main()