Updated on 2026-08-14
This commit is contained in:
parent
e04ac1fb2c
commit
99d32963b5
20 changed files with 336 additions and 27 deletions
|
|
@ -219,6 +219,9 @@ interface TangemTechApi {
|
|||
@POST("v2/transaction-events")
|
||||
suspend fun transactionEvents(@Body name: TransactionEventBody): ApiResponse<Unit>
|
||||
|
||||
@GET("v1/coins/settings")
|
||||
suspend fun getCoinsSettings(): ApiResponse<CoinsSettingsResponse>
|
||||
|
||||
// region Earn
|
||||
@GET("v1/earn/markets")
|
||||
suspend fun getEarnTokens(
|
||||
|
|
|
|||
|
|
@ -0,0 +1,22 @@
|
|||
package com.tangem.datasource.api.tangemTech.models
|
||||
|
||||
import com.squareup.moshi.Json
|
||||
import com.squareup.moshi.JsonClass
|
||||
import java.math.BigDecimal
|
||||
|
||||
@JsonClass(generateAdapter = true)
|
||||
data class CoinsSettingsResponse(
|
||||
@Json(name = "staking") val staking: StakingSettingsDTO?,
|
||||
)
|
||||
|
||||
@JsonClass(generateAdapter = true)
|
||||
data class StakingSettingsDTO(
|
||||
@Json(name = "vaults") val vaults: List<VaultSettingsDTO> = emptyList(),
|
||||
)
|
||||
|
||||
@JsonClass(generateAdapter = true)
|
||||
data class VaultSettingsDTO(
|
||||
@Json(name = "vaultAddress") val vaultAddress: String,
|
||||
@Json(name = "limit") val limit: BigDecimal?,
|
||||
@Json(name = "coefficient") val coefficient: BigDecimal?,
|
||||
)
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
package com.tangem.datasource.local.token
|
||||
|
||||
import com.tangem.datasource.local.datastore.RuntimeStateStore
|
||||
import com.tangem.domain.staking.model.ethpool.VaultLimitInfo
|
||||
import javax.inject.Inject
|
||||
import javax.inject.Singleton
|
||||
|
||||
/**
|
||||
* In-memory store for P2P vault limits from Tangem API /v1/coins/settings.
|
||||
* Map key is vaultAddress.lowercase(). Null map value means limits not yet fetched.
|
||||
* A missing key means the vault is full (null-limit vaults are excluded at fetch time).
|
||||
*/
|
||||
@Singleton
|
||||
class P2PVaultLimitsStore @Inject constructor() :
|
||||
RuntimeStateStore<Map<String, VaultLimitInfo>?> by RuntimeStateStore(defaultValue = null)
|
||||
Loading…
Add table
Add a link
Reference in a new issue