from common import * from apps.common import HARDENED from apps.common.paths import validate_path_for_get_public_key, is_hardened class TestPaths(unittest.TestCase): def test_is_hardened(self): self.assertTrue(is_hardened(44 | HARDENED)) self.assertTrue(is_hardened(0 | HARDENED)) self.assertTrue(is_hardened(99999 | HARDENED)) self.assertFalse(is_hardened(44)) self.assertFalse(is_hardened(0)) self.assertFalse(is_hardened(99999)) def test_path_for_get_public_key(self): # 44'/41'/0' self.assertTrue(validate_path_for_get_public_key([44 | HARDENED, 41 | HARDENED, 0 | HARDENED], 41)) # 44'/111'/0' self.assertTrue(validate_path_for_get_public_key([44 | HARDENED, 111 | HARDENED, 0 | HARDENED], 111)) # 44'/0'/0'/0 self.assertTrue(validate_path_for_get_public_key([44 | HARDENED, 0 | HARDENED, 0 | HARDENED, 0], 0)) # 44'/0'/0'/0/0 self.assertTrue(validate_path_for_get_public_key([44 | HARDENED, 0 | HARDENED, 0 | HARDENED, 0, 0], 0)) # 44'/41' self.assertFalse(validate_path_for_get_public_key([44 | HARDENED, 41 | HARDENED], 41)) # 44'/41'/0 self.assertFalse(validate_path_for_get_public_key([44 | HARDENED, 41 | HARDENED, 0], 41)) # 44'/41'/0' slip44 mismatch self.assertFalse(validate_path_for_get_public_key([44 | HARDENED, 41 | HARDENED, 0 | HARDENED], 99)) # # 44'/41'/0'/0' self.assertFalse(validate_path_for_get_public_key([44 | HARDENED, 41 | HARDENED, 0 | HARDENED, 0 | HARDENED], 41)) # # 44'/41'/0'/0'/0 self.assertFalse(validate_path_for_get_public_key([44 | HARDENED, 41 | HARDENED, 0 | HARDENED, 0 | HARDENED, 0], 41)) # # 44'/41'/0'/0'/0' self.assertFalse(validate_path_for_get_public_key([44 | HARDENED, 41 | HARDENED, 0 | HARDENED, 0 | HARDENED, 0 | HARDENED], 41)) # # 44'/41'/0'/0/0/0 self.assertFalse(validate_path_for_get_public_key([44 | HARDENED, 41 | HARDENED, 0 | HARDENED, 0, 0, 0], 41)) # # 44'/41'/0'/0/0' self.assertFalse(validate_path_for_get_public_key([44 | HARDENED, 41 | HARDENED, 0 | HARDENED, 0, 0 | HARDENED], 41)) if __name__ == '__main__': unittest.main()