Updated on 2026-08-14

This commit is contained in:
Tangem 2025-04-29 18:34:29 +07:00
parent 3f0e976558
commit 8619b424f5
5 changed files with 179 additions and 16 deletions

View file

@ -8,6 +8,14 @@ sealed interface WcEthMethod : WcMethod {
val humanMsg: String,
) : WcEthMethod
data class SignTypedData(
val params: WcEthSignTypedDataParams,
val account: String,
val dataForSign: String,
) : WcEthMethod {
val humanMsg: String = params.message.contents
}
data class SendTransaction(
val transaction: WcEthTransactionParams,
) : WcEthMethod

View file

@ -0,0 +1,64 @@
package com.tangem.domain.walletconnect.model
import com.squareup.moshi.Json
import com.squareup.moshi.JsonClass
@JsonClass(generateAdapter = true)
data class WcEthSignTypedDataParams(
@Json(name = "domain")
val domain: Domain,
@Json(name = "message")
val message: Message,
@Json(name = "primaryType")
val primaryType: String,
@Json(name = "types")
val types: Types,
) {
@JsonClass(generateAdapter = true)
data class Domain(
@Json(name = "chainId")
val chainId: Int,
@Json(name = "name")
val name: String,
@Json(name = "verifyingContract")
val verifyingContract: String,
@Json(name = "version")
val version: String,
)
@JsonClass(generateAdapter = true)
data class Message(
@Json(name = "contents")
val contents: String,
@Json(name = "from")
val from: Address,
@Json(name = "to")
val to: Address,
) {
@JsonClass(generateAdapter = true)
data class Address(
@Json(name = "name")
val name: String,
@Json(name = "wallet")
val wallet: String,
)
}
@JsonClass(generateAdapter = true)
data class Types(
@Json(name = "EIP712Domain")
val eIP712Domain: List<Type> = listOf(),
@Json(name = "Mail")
val mail: List<Type> = listOf(),
@Json(name = "Person")
val person: List<Type> = listOf(),
) {
@JsonClass(generateAdapter = true)
data class Type(
@Json(name = "name")
val name: String,
@Json(name = "type")
val type: String,
)
}
}