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

commonMain.money.terra.sdk.tools.transaction.broadcaster.BroadcastResult.kt Maven / Gradle / Ivy

The newest version!
package money.terra.sdk.tools.transaction.broadcaster

import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
import kotlinx.serialization.builtins.LongAsStringSerializer
import money.terra.model.TransactionLog

interface BroadcastResult {
    val transactionHash: String
    val codeSpace: String?
    val code: Int?
    val rawLog: String?
    val logs: List?
}

val BroadcastResult.isSuccess: Boolean
    get() = code == null || code == 0

@Serializable
data class BroadcastAsyncResult(
    @SerialName("txhash") override val transactionHash: String,
    @SerialName("codespace") override val codeSpace: String? = null,
    override val code: Int? = null,
    @SerialName("raw_log") override val rawLog: String? = null,
    override val logs: List? = null,
) : BroadcastResult

@Serializable
data class BroadcastSyncResult(
    @SerialName("txhash") override val transactionHash: String,
    @SerialName("codespace") override val codeSpace: String? = null,
    override val code: Int? = null,
    @SerialName("raw_log") override val rawLog: String? = null,
    override val logs: List? = null,
) : BroadcastResult

@Serializable
data class BroadcastBlockResult(
    @Serializable(LongAsStringSerializer::class) val height: Long,
    @SerialName("txhash") override val transactionHash: String,
    @SerialName("codespace") override val codeSpace: String? = null,
    override val code: Int? = null,
    @SerialName("raw_log") override val rawLog: String? = null,
    override val logs: List? = null,
    val gasUsed: Long? = null,
    val gasWanted: Long? = null,
) : BroadcastResult




© 2015 - 2025 Weber Informatics LLC | Privacy Policy