package swiss.qpq.gajumobile.data.models

import kotlinx.serialization.Serializable

@Serializable
data class Endpoint(
    val host: String,
    val port: Int = 3013,
    val useTls: Boolean = false,
)

@Serializable
data class Wallet(
    val id: String,
    val name: String,
    val networkId: String = "groot.mainnet",
    val accounts: List<Account> = emptyList(),
    val createdAt: Long = System.currentTimeMillis(),
    val endpoints: List<Endpoint> = emptyList()
) {
    companion object {
        val DEFAULT_MAINNET = listOf(
            Endpoint("groot.mainnet.gajumaru.io", 3013, useTls = true),
            Endpoint("tsuriai.jp", 3013, useTls = true)
        )
        
        val DEFAULT_TESTNET = listOf(
            Endpoint("groot.testnet.gajumaru.io", 3013, useTls = true),
            Endpoint("tsuriai.jp", 4013, useTls = true)
        )
    }
}
