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

io.provenance.explorer.model.AccountModels.kt Maven / Gradle / Ivy

The newest version!
package io.provenance.explorer.model

import io.provenance.explorer.model.base.CoinStr
import io.provenance.explorer.model.base.CoinStrWithPrice
import org.joda.time.DateTime

data class AccountDetail(
    val accountType: String,
    val address: String,
    val accountNumber: Long?,
    val sequence: Int?,
    val publicKey: AccountSigInfo,
    val accountName: String?,
    val attributes: List,
    val tokens: TokenCounts,
    @Deprecated("Use this.flags.isContract instead") val isContract: Boolean,
    val accountAum: CoinStr,
    @Deprecated("Use this.flags.isVesting instead") val isVesting: Boolean,
    val flags: AccountFlags, // added to eventually remove the standalone vals in this object
    val accountOwner: String?
)

data class AttributeObj(
    val attribute: String,
    val data: String
)

data class TokenCounts(
    val fungibleCount: Int,
    val nonFungibleCount: Int
)

data class AccountFlags(
    val isContract: Boolean,
    val isVesting: Boolean,
    val isIca: Boolean
)

data class AccountSigInfo(
    val type: String?,
    val base64: String?,
    val sigList: List
)

data class AccountSignature(
    val idx: Int,
    val address: String
)

data class AccountRewards(
    val rewards: List,
    val total: List
)

data class Reward(
    val validatorAddress: String,
    val reward: List
)

data class DenomBalanceBreakdown(
    val total: CoinStrWithPrice,
    val spendable: CoinStrWithPrice,
    val locked: CoinStrWithPrice
)

data class AccountVestingInfo(
    val dataAsOfDate: DateTime,
    val endTime: DateTime,
    val originalVestingList: List,
    val startTime: DateTime? = null,
    val periodicVestingList: List = emptyList()
)

data class PeriodicVestingInfo(
    val length: Long, // in seconds
    val coins: List,
    val vestingDate: DateTime,
    val isVested: Boolean
)




© 2015 - 2024 Weber Informatics LLC | Privacy Policy