Updated on 2026-08-14
This commit is contained in:
parent
434c459728
commit
42f276c56f
25 changed files with 308 additions and 157 deletions
|
|
@ -2,8 +2,10 @@ package com.tangem.data.staking.converters
|
|||
|
||||
import com.tangem.datasource.api.stakekit.models.response.model.AddressArgumentDTO
|
||||
import com.tangem.datasource.api.stakekit.models.response.model.YieldDTO
|
||||
import com.tangem.datasource.api.stakekit.models.response.model.YieldDTO.MetadataDTO.RewardScheduleDTO
|
||||
import com.tangem.domain.staking.model.stakekit.AddressArgument
|
||||
import com.tangem.domain.staking.model.stakekit.Yield
|
||||
import com.tangem.domain.staking.model.stakekit.Yield.Metadata.RewardSchedule
|
||||
import com.tangem.utils.converter.Converter
|
||||
|
||||
class YieldConverter(
|
||||
|
|
@ -80,10 +82,10 @@ class YieldConverter(
|
|||
token = tokenConverter.convert(metadataDTO.tokenDTO),
|
||||
tokens = metadataDTO.tokensDTO.map { tokenConverter.convert(it) },
|
||||
type = metadataDTO.type,
|
||||
rewardSchedule = metadataDTO.rewardSchedule,
|
||||
rewardSchedule = convertRewardSchedule(metadataDTO.rewardSchedule),
|
||||
cooldownPeriod = convertPeriod(metadataDTO.cooldownPeriod),
|
||||
warmupPeriod = convertPeriod(metadataDTO.warmupPeriod),
|
||||
rewardClaiming = metadataDTO.rewardClaiming,
|
||||
rewardClaiming = convertRewardClaiming(metadataDTO.rewardClaiming),
|
||||
defaultValidator = metadataDTO.defaultValidator,
|
||||
minimumStake = metadataDTO.minimumStake,
|
||||
supportsMultipleValidators = metadataDTO.supportsMultipleValidators,
|
||||
|
|
@ -127,6 +129,29 @@ class YieldConverter(
|
|||
}
|
||||
}
|
||||
|
||||
private fun convertRewardSchedule(rewardTypeDTO: RewardScheduleDTO): RewardSchedule {
|
||||
return when (rewardTypeDTO) {
|
||||
RewardScheduleDTO.BLOCK -> RewardSchedule.BLOCK
|
||||
RewardScheduleDTO.WEEK -> RewardSchedule.WEEK
|
||||
RewardScheduleDTO.HOUR -> RewardSchedule.HOUR
|
||||
RewardScheduleDTO.DAY -> RewardSchedule.DAY
|
||||
RewardScheduleDTO.MONTH -> RewardSchedule.MONTH
|
||||
RewardScheduleDTO.ERA -> RewardSchedule.ERA
|
||||
RewardScheduleDTO.EPOCH -> RewardSchedule.EPOCH
|
||||
else -> RewardSchedule.UNKNOWN
|
||||
}
|
||||
}
|
||||
|
||||
private fun convertRewardClaiming(
|
||||
rewardClaimingDTO: YieldDTO.MetadataDTO.RewardClaimingDTO,
|
||||
): Yield.Metadata.RewardClaiming {
|
||||
return when (rewardClaimingDTO) {
|
||||
YieldDTO.MetadataDTO.RewardClaimingDTO.AUTO -> Yield.Metadata.RewardClaiming.AUTO
|
||||
YieldDTO.MetadataDTO.RewardClaimingDTO.MANUAL -> Yield.Metadata.RewardClaiming.MANUAL
|
||||
else -> Yield.Metadata.RewardClaiming.UNKNOWN
|
||||
}
|
||||
}
|
||||
|
||||
private fun convertArgType(value: String): Yield.Args.ArgType {
|
||||
return when (value) {
|
||||
"address" -> Yield.Args.ArgType.ADDRESS
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue