All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.tatum.ledger.vc.kt Maven / Gradle / Ivy

package io.tatum.ledger

import io.tatum.getObjectFrom
import io.tatum.model.request.CreateCurrency
import io.tatum.model.request.CurrencyOperation
import io.tatum.model.request.UpdateCurrency
import io.tatum.model.response.ledger.Account
import io.tatum.model.response.ledger.Reference
import io.tatum.model.response.ledger.VC
import io.tatum.postObjectTo
import io.tatum.putObjectTo

/**
 * For more details, see Tatum API documentation
 */
fun getVirtualCurrencyByName(name: String): VC =
    getObjectFrom("/ledger/virtualCurrency/$name")

/**
 * For more details, see Tatum API documentation
 */
fun createVirtualCurrency(data: CreateCurrency): Account =
    postObjectTo(
        endpoint = "/ledger/virtualCurrency",
        payload = data,
    )

/**
 * For more details, see Tatum API documentation
 */
fun updateVirtualCurrency(data: UpdateCurrency): Unit =
    putObjectTo(
        endpoint = "/ledger/virtualCurrency",
        payload = data,
    )

/**
 * For more details, see Tatum API documentation
 */
fun mintVirtualCurrency(data: CurrencyOperation): String {
    val referenceWrapper: Reference = putObjectTo(
        endpoint = "/ledger/virtualCurrency/mint",
        payload = data,
    )
    return referenceWrapper.reference
}

/**
 * For more details, see Tatum API documentation
 */
fun revokeVirtualCurrency(data: CurrencyOperation): String {
    val referenceWrapper: Reference = putObjectTo(
        endpoint = "/ledger/virtualCurrency/revoke",
        payload = data,
    )
    return referenceWrapper.reference
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy