/*
 * Copyright (c) 2026 QPQ IaaS AG <info@qpq.swiss>. All rights reserved.
 * Project: Gajumaru Core Java Libraries <gajumaru.io>
 *
 * This program is dual-licensed:
 * 1) Under the GNU Affero General Public License as published by the Free
 *    Software Foundation, either version 3 of the License, or (at your option)
 *    any later version (AGPL-3.0-or-later).
 *
 * 2) Under a commercial/proprietary license available directly from QPQ IaaS AG.
 *    If you wish to use this software outside the strict constraints of the
 *    AGPLv3 (e.g. within a closed-source or proprietary product), you must
 *    purchase a commercial license from QPQ IaaS AG.
 *
 * Authors:
 *   - Craig Everett <craigeverett@qpq.swiss>
 *
 * SPDX-License-Identifier: AGPL-3.0-or-later OR LicenseRef-QPQ-Commercial
 */

package swiss.qpq.gajumobile.security

import swiss.qpq.gajumaru.core.tools.SigningProvider

/**
 * NativeSigningProvider implements SigningProvider by delegating to libsodium
 * via GajuNative.
 */
class NativeSigningProvider : SigningProvider {

    override fun cryptoSignSeedKeypair(seed: ByteArray): ByteArray? {
        return GajuNative.cryptoSignSeedKeypair(seed)
    }

    override fun cryptoSignDetached(message: ByteArray, secretKey: ByteArray): ByteArray? {
        return GajuNative.cryptoSignDetached(message, secretKey)
    }
}
