Return a random 32 byte secret except the 0 secret since it's not accepted in the contracts

def random_secret() -> Secret:
    """ Return a random 32 byte secret except the 0 secret since it's not accepted in the contracts
    """
    while True:
        secret = os.urandom(32)
        if secret != constants.EMPTY_HASH:
            return Secret(secret)