Updated on 2026-08-14
This commit is contained in:
parent
e26394399f
commit
f506db9c0e
38 changed files with 1182 additions and 406 deletions
|
|
@ -8,4 +8,5 @@ dependencies {
|
|||
implementation(projects.domain.core)
|
||||
|
||||
implementation(deps.kotlin.serialization)
|
||||
implementation(deps.jodatime)
|
||||
}
|
||||
|
|
@ -0,0 +1,71 @@
|
|||
package com.tangem.domain.staking.model
|
||||
|
||||
enum class NetworkType {
|
||||
AVALANCHE_C,
|
||||
AVALANCHE_ATOMIC,
|
||||
AVALANCHE_P,
|
||||
ARBITRUM,
|
||||
BINANCE,
|
||||
CELO,
|
||||
ETHEREUM,
|
||||
ETHEREUM_GOERLI,
|
||||
ETHEREUM_HOLESKY,
|
||||
FANTOM,
|
||||
HARMONY,
|
||||
OPTIMISM,
|
||||
POLYGON,
|
||||
GNOSIS,
|
||||
MOONRIVER,
|
||||
OKC,
|
||||
ZKSYNC,
|
||||
VICTION,
|
||||
AGORIC,
|
||||
AKASH,
|
||||
AXELAR,
|
||||
BAND_PROTOCOL,
|
||||
BITSONG,
|
||||
CANTO,
|
||||
CHIHUAHUA,
|
||||
COMDEX,
|
||||
COREUM,
|
||||
COSMOS,
|
||||
CRESCENT,
|
||||
CRONOS,
|
||||
CUDOS,
|
||||
DESMOS,
|
||||
DYDX,
|
||||
EVMOS,
|
||||
FETCH_AI,
|
||||
GRAVITY_BRIDGE,
|
||||
INJECTIVE,
|
||||
IRISNET,
|
||||
JUNO,
|
||||
KAVA,
|
||||
KI_NETWORK,
|
||||
MARS_PROTOCOL,
|
||||
NYM,
|
||||
OKEX_CHAIN,
|
||||
ONOMY,
|
||||
OSMOSIS,
|
||||
PERSISTENCE,
|
||||
QUICKSILVER,
|
||||
REGEN,
|
||||
SECRET,
|
||||
SENTINEL,
|
||||
SOMMELIER,
|
||||
STAFI,
|
||||
STARGAZE,
|
||||
STRIDE,
|
||||
TERITORI,
|
||||
TGRADE,
|
||||
UMEE,
|
||||
POLKADOT,
|
||||
KUSAMA,
|
||||
WESTEND,
|
||||
BINANCEBEACON,
|
||||
NEAR,
|
||||
SOLANA,
|
||||
TEZOS,
|
||||
TRON,
|
||||
UNKNOWN,
|
||||
}
|
||||
|
|
@ -107,77 +107,7 @@ data class Token(
|
|||
val coinGeckoId: String?,
|
||||
val logoURI: String?,
|
||||
val isPoints: Boolean?,
|
||||
) {
|
||||
enum class NetworkType {
|
||||
AVALANCHE_C,
|
||||
AVALANCHE_ATOMIC,
|
||||
AVALANCHE_P,
|
||||
ARBITRUM,
|
||||
BINANCE,
|
||||
CELO,
|
||||
ETHEREUM,
|
||||
ETHEREUM_GOERLI,
|
||||
ETHEREUM_HOLESKY,
|
||||
FANTOM,
|
||||
HARMONY,
|
||||
OPTIMISM,
|
||||
POLYGON,
|
||||
GNOSIS,
|
||||
MOONRIVER,
|
||||
OKC,
|
||||
ZKSYNC,
|
||||
VICTION,
|
||||
AGORIC,
|
||||
AKASH,
|
||||
AXELAR,
|
||||
BAND_PROTOCOL,
|
||||
BITSONG,
|
||||
CANTO,
|
||||
CHIHUAHUA,
|
||||
COMDEX,
|
||||
COREUM,
|
||||
COSMOS,
|
||||
CRESCENT,
|
||||
CRONOS,
|
||||
CUDOS,
|
||||
DESMOS,
|
||||
DYDX,
|
||||
EVMOS,
|
||||
FETCH_AI,
|
||||
GRAVITY_BRIDGE,
|
||||
INJECTIVE,
|
||||
IRISNET,
|
||||
JUNO,
|
||||
KAVA,
|
||||
KI_NETWORK,
|
||||
MARS_PROTOCOL,
|
||||
NYM,
|
||||
OKEX_CHAIN,
|
||||
ONOMY,
|
||||
OSMOSIS,
|
||||
PERSISTENCE,
|
||||
QUICKSILVER,
|
||||
REGEN,
|
||||
SECRET,
|
||||
SENTINEL,
|
||||
SOMMELIER,
|
||||
STAFI,
|
||||
STARGAZE,
|
||||
STRIDE,
|
||||
TERITORI,
|
||||
TGRADE,
|
||||
UMEE,
|
||||
POLKADOT,
|
||||
KUSAMA,
|
||||
WESTEND,
|
||||
BINANCEBEACON,
|
||||
NEAR,
|
||||
SOLANA,
|
||||
TEZOS,
|
||||
TRON,
|
||||
UNKNOWN,
|
||||
}
|
||||
}
|
||||
)
|
||||
|
||||
@Serializable
|
||||
data class AddressArgument(
|
||||
|
|
|
|||
|
|
@ -0,0 +1,18 @@
|
|||
package com.tangem.domain.staking.model.action
|
||||
|
||||
import com.tangem.domain.staking.model.transaction.StakingTransaction
|
||||
import org.joda.time.DateTime
|
||||
import java.math.BigDecimal
|
||||
|
||||
data class EnterAction(
|
||||
val id: String,
|
||||
val integrationId: String,
|
||||
val status: StakingActionStatus,
|
||||
val type: StakingActionType,
|
||||
val currentStepIndex: Int,
|
||||
val amount: BigDecimal,
|
||||
val validatorAddress: String?,
|
||||
val validatorAddresses: List<String>?,
|
||||
val transactions: List<StakingTransaction>?,
|
||||
val createdAt: DateTime,
|
||||
)
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
package com.tangem.domain.staking.model.action
|
||||
|
||||
enum class StakingActionStatus {
|
||||
CANCELED,
|
||||
CREATED,
|
||||
WAITING_FOR_NEXT,
|
||||
PROCESSING,
|
||||
FAILED,
|
||||
SUCCESS,
|
||||
UNKNOWN,
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
package com.tangem.domain.staking.model.action
|
||||
|
||||
enum class StakingActionType {
|
||||
STAKE,
|
||||
UNSTAKE,
|
||||
CLAIM_REWARDS,
|
||||
RESTAKE_REWARDS,
|
||||
WITHDRAW,
|
||||
RESTAKE,
|
||||
CLAIM_UNSTAKED,
|
||||
UNLOCK_LOCKED,
|
||||
STAKE_LOCKED,
|
||||
VOTE,
|
||||
REVOKE,
|
||||
VOTE_LOCKED,
|
||||
REVOTE,
|
||||
REBOND,
|
||||
MIGRATE,
|
||||
UNKNOWN,
|
||||
}
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
package com.tangem.domain.staking.model.transaction
|
||||
|
||||
import com.tangem.domain.staking.model.Token
|
||||
import java.math.BigDecimal
|
||||
|
||||
data class StakingGasEstimate(
|
||||
val amount: BigDecimal,
|
||||
val token: Token,
|
||||
val gasLimit: BigDecimal,
|
||||
)
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
package com.tangem.domain.staking.model.transaction
|
||||
|
||||
import com.tangem.domain.staking.model.NetworkType
|
||||
|
||||
data class StakingTransaction(
|
||||
val id: String,
|
||||
val network: NetworkType,
|
||||
val status: StakingTransactionStatus,
|
||||
val type: StakingTransactionType,
|
||||
val hash: String?,
|
||||
val signedTransaction: String?,
|
||||
val unsignedTransaction: String?,
|
||||
val stepIndex: Int,
|
||||
val error: String?,
|
||||
val gasEstimate: StakingGasEstimate?,
|
||||
val stakeId: String?,
|
||||
val explorerUrl: String?,
|
||||
val ledgerHwAppId: String?,
|
||||
val isMessage: Boolean,
|
||||
)
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
package com.tangem.domain.staking.model.transaction
|
||||
|
||||
enum class StakingTransactionStatus {
|
||||
NOT_FOUND,
|
||||
CREATED,
|
||||
BLOCKED,
|
||||
WAITING_FOR_SIGNATURE,
|
||||
SIGNED,
|
||||
BROADCASTED,
|
||||
PENDING,
|
||||
CONFIRMED,
|
||||
FAILED,
|
||||
SKIPPED,
|
||||
UNKNOWN,
|
||||
}
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
package com.tangem.domain.staking.model.transaction
|
||||
|
||||
enum class StakingTransactionType {
|
||||
SWAP,
|
||||
DEPOSIT,
|
||||
APPROVAL,
|
||||
STAKE,
|
||||
CLAIM_UNSTAKED,
|
||||
CLAIM_REWARDS,
|
||||
RESTAKE_REWARDS,
|
||||
UNSTAKE,
|
||||
SPLIT,
|
||||
MERGE,
|
||||
LOCK,
|
||||
UNLOCK,
|
||||
SUPPLY,
|
||||
BRIDGE,
|
||||
VOTE,
|
||||
REVOKE,
|
||||
RESTAKE,
|
||||
REBOND,
|
||||
WITHDRAW,
|
||||
CREATE_ACCOUNT,
|
||||
REVEAL,
|
||||
MIGRATE,
|
||||
UTXO_P_TO_C_IMPORT,
|
||||
UTXO_C_TO_P_IMPORT,
|
||||
UNFREEZE_LEGACY,
|
||||
UNFREEZE_LEGACY_BANDWIDTH,
|
||||
UNFREEZE_LEGACY_ENERGY,
|
||||
UNFREEZE_BANDWIDTH,
|
||||
UNFREEZE_ENERGY,
|
||||
FREEZE_BANDWIDTH,
|
||||
FREEZE_ENERGY,
|
||||
UNDELEGATE_BANDWIDTH,
|
||||
UNDELEGATE_ENERGY,
|
||||
P2P_NODE_REQUEST,
|
||||
LUGANODES_PROVISION,
|
||||
LUGANODES_EXIT_REQUEST,
|
||||
INFSTONES_PROVISION,
|
||||
INFSTONES_EXIT_REQUEST,
|
||||
INFSTONES_CLAIM_REQUEST,
|
||||
UNKNOWN,
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue