Updated on 2026-08-14

This commit is contained in:
Tangem 2024-08-13 15:57:36 +03:00
parent 434c459728
commit 42f276c56f
25 changed files with 308 additions and 157 deletions

View file

@ -3,9 +3,11 @@ package com.tangem.datasource.api.common.adapter
import com.squareup.moshi.JsonAdapter
import com.squareup.moshi.Moshi
import com.squareup.moshi.adapters.EnumJsonAdapter
import com.tangem.datasource.api.stakekit.models.response.model.BalanceDTO
import com.tangem.datasource.api.stakekit.models.response.model.BalanceDTO.BalanceTypeDTO
import com.tangem.datasource.api.stakekit.models.response.model.NetworkTypeDTO
import com.tangem.datasource.api.stakekit.models.response.model.YieldDTO
import com.tangem.datasource.api.stakekit.models.response.model.YieldDTO.MetadataDTO.RewardClaimingDTO
import com.tangem.datasource.api.stakekit.models.response.model.YieldDTO.MetadataDTO.RewardScheduleDTO
import com.tangem.datasource.api.stakekit.models.response.model.YieldDTO.RewardTypeDTO
import com.tangem.datasource.api.stakekit.models.response.model.action.StakingActionStatusDTO
import com.tangem.datasource.api.stakekit.models.response.model.action.StakingActionTypeDTO
import com.tangem.datasource.api.stakekit.models.response.model.transaction.StakingTransactionStatusDTO
@ -24,13 +26,15 @@ object UnknownEnumMoshiAdapter {
fun Moshi.Builder.addStakeKitEnumFallbackAdapters(): Moshi.Builder {
val map = mapOf(
BalanceTypeDTO::class.java to BalanceTypeDTO.UNKNOWN,
NetworkTypeDTO::class.java to NetworkTypeDTO.UNKNOWN,
StakingActionTypeDTO::class.java to StakingActionTypeDTO.UNKNOWN,
YieldDTO.RewardTypeDTO::class.java to YieldDTO.RewardTypeDTO.UNKNOWN,
BalanceDTO.BalanceType::class.java to BalanceDTO.BalanceType.UNKNOWN,
StakingTransactionTypeDTO::class.java to StakingTransactionTypeDTO.UNKNOWN,
StakingTransactionStatusDTO::class.java to StakingTransactionStatusDTO.UNKNOWN,
RewardClaimingDTO::class.java to RewardClaimingDTO.UNKNOWN,
RewardScheduleDTO::class.java to RewardScheduleDTO.UNKNOWN,
RewardTypeDTO::class.java to RewardTypeDTO.UNKNOWN,
StakingActionStatusDTO::class.java to StakingActionStatusDTO.UNKNOWN,
StakingActionTypeDTO::class.java to StakingActionTypeDTO.UNKNOWN,
StakingTransactionStatusDTO::class.java to StakingTransactionStatusDTO.UNKNOWN,
StakingTransactionTypeDTO::class.java to StakingTransactionTypeDTO.UNKNOWN,
)
return apply {

View file

@ -19,7 +19,7 @@ data class BalanceDTO(
@Json(name = "groupId")
val groupId: String,
@Json(name = "type")
val type: BalanceType,
val type: BalanceTypeDTO,
@Json(name = "amount")
val amount: BigDecimal,
@Json(name = "date")
@ -38,7 +38,7 @@ data class BalanceDTO(
val providerId: String?,
) {
enum class BalanceType {
enum class BalanceTypeDTO {
@Json(name = "available")
AVAILABLE,

View file

@ -105,13 +105,13 @@ data class YieldDTO(
@Json(name = "type")
val type: String,
@Json(name = "rewardSchedule")
val rewardSchedule: String,
val rewardSchedule: RewardScheduleDTO,
@Json(name = "cooldownPeriod")
val cooldownPeriod: PeriodDTO,
@Json(name = "warmupPeriod")
val warmupPeriod: PeriodDTO,
@Json(name = "rewardClaiming")
val rewardClaiming: String,
val rewardClaiming: RewardClaimingDTO,
@Json(name = "defaultValidator")
val defaultValidator: String?,
@Json(name = "minimumStake")
@ -135,6 +135,41 @@ data class YieldDTO(
@Json(name = "enabled")
val enabled: Boolean,
)
enum class RewardScheduleDTO {
@Json(name = "block")
BLOCK,
@Json(name = "week")
WEEK,
@Json(name = "hour")
HOUR,
@Json(name = "day")
DAY,
@Json(name = "month")
MONTH,
@Json(name = "era")
ERA,
@Json(name = "epoch")
EPOCH,
UNKNOWN,
}
enum class RewardClaimingDTO {
@Json(name = "auto")
AUTO,
@Json(name = "manual")
MANUAL,
UNKNOWN,
}
}
enum class RewardTypeDTO {