def public_key_to_coords(public_key): length = len(public_key) if length == 33: flag, x = int.from_bytes(public_key[:1], "big"), int.from_bytes(public_key[1:], "big") y = x_to_y(x, flag & 1) elif length == 65: x, y = int.from_bytes(public_key[1:33], "big"), int.from_bytes(public_key[33:], "big") else: raise ValueError(f"{length} is an invalid length for a public key.") return x, y
def public_key_to_coords(public_key): length = len(public_key) if length == 33: flag, x = int.from_bytes(public_key[:1], 'big'), int.from_bytes(public_key[1:], 'big') y = x_to_y(x, flag & 1) elif length == 65: x, y = int.from_bytes(public_key[1:33], 'big'), int.from_bytes(public_key[33:], 'big') else: raise ValueError( '{} is an invalid length for a public key.'.format(length)) return x, y
def test_x_to_y_incorrect_first_solution(self): assert x_to_y(X_INCORRECT, Y_INCORRECT & 1) == Y_INCORRECT