Updated on 2026-08-14
This commit is contained in:
parent
3eb843a05f
commit
9c6d5fc4fa
15 changed files with 192 additions and 73 deletions
|
|
@ -3,6 +3,7 @@ package com.tangem.datasource.api.stakekit.models.response.model
|
|||
import com.squareup.moshi.Json
|
||||
import com.squareup.moshi.JsonClass
|
||||
import com.tangem.datasource.api.stakekit.models.request.Address
|
||||
import com.tangem.datasource.api.stakekit.models.response.model.BalanceDTO.PendingAction.PendingActionArgs.Amount
|
||||
import com.tangem.datasource.api.stakekit.models.response.model.action.StakingActionTypeDTO
|
||||
import org.joda.time.DateTime
|
||||
import java.math.BigDecimal
|
||||
|
|
@ -31,6 +32,8 @@ data class BalanceDTO(
|
|||
val pricePerShare: BigDecimal,
|
||||
@Json(name = "pendingActions")
|
||||
val pendingActions: List<PendingAction>,
|
||||
@Json(name = "pendingActionConstraints")
|
||||
val pendingActionConstraints: List<PendingActionConstraints>?,
|
||||
@Json(name = "token")
|
||||
val tokenDTO: TokenDTO,
|
||||
@Json(name = "validatorAddress")
|
||||
|
|
@ -99,7 +102,7 @@ data class BalanceDTO(
|
|||
@JsonClass(generateAdapter = true)
|
||||
data class Amount(
|
||||
@Json(name = "required")
|
||||
val required: Boolean,
|
||||
val required: Boolean = true,
|
||||
@Json(name = "minimum")
|
||||
val minimum: BigDecimal?,
|
||||
@Json(name = "maximum")
|
||||
|
|
@ -136,6 +139,14 @@ data class BalanceDTO(
|
|||
}
|
||||
}
|
||||
|
||||
@JsonClass(generateAdapter = true)
|
||||
data class PendingActionConstraints(
|
||||
@Json(name = "type")
|
||||
val type: StakingActionTypeDTO,
|
||||
@Json(name = "amount")
|
||||
val amountArg: Amount,
|
||||
)
|
||||
|
||||
@JsonClass(generateAdapter = true)
|
||||
data class Required(
|
||||
@Json(name = "required")
|
||||
|
|
|
|||
|
|
@ -0,0 +1,20 @@
|
|||
package com.tangem.datasource.local.token.converter
|
||||
|
||||
import com.tangem.datasource.api.stakekit.models.response.model.BalanceDTO
|
||||
import com.tangem.domain.staking.model.stakekit.PendingAction
|
||||
import com.tangem.domain.staking.model.stakekit.PendingActionConstraints
|
||||
import com.tangem.utils.converter.Converter
|
||||
|
||||
internal object PendingActionConstraintsConverter :
|
||||
Converter<BalanceDTO.PendingActionConstraints, PendingActionConstraints> {
|
||||
override fun convert(value: BalanceDTO.PendingActionConstraints): PendingActionConstraints {
|
||||
return PendingActionConstraints(
|
||||
type = StakingActionTypeConverter.convert(value.type),
|
||||
amountArg = PendingAction.PendingActionArgs.Amount(
|
||||
required = value.amountArg.required,
|
||||
minimum = value.amountArg.minimum,
|
||||
maximum = value.amountArg.maximum,
|
||||
),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
@ -38,6 +38,8 @@ internal class YieldBalanceConverter(
|
|||
pendingActions = PendingActionConverter
|
||||
.convertList(item.pendingActions)
|
||||
.sortedBy { it.passthrough },
|
||||
pendingActionsConstraints = PendingActionConstraintsConverter
|
||||
.convertList(item.pendingActionConstraints.orEmpty()),
|
||||
isPending = false,
|
||||
)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue