From 55fcb4a61ddee69be2cc25bd4eb1439b978d72b0 Mon Sep 17 00:00:00 2001 From: Andrey Pfau Date: Mon, 20 Mar 2023 21:59:21 +0300 Subject: [PATCH] 0.2.16 --- .../api/liteserver/LiteServerAccountId.kt | 8 +++-- .../api/liteserver/LiteServerSignature.kt | 36 +++++-------------- .../functions/LiteServerGetTransactions.kt | 13 ++++--- .../kotlin/org/ton/lite/client/LiteClient.kt | 4 +-- 4 files changed, 21 insertions(+), 40 deletions(-) diff --git a/ton-kotlin-liteapi/src/commonMain/kotlin/org/ton/lite/api/liteserver/LiteServerAccountId.kt b/ton-kotlin-liteapi/src/commonMain/kotlin/org/ton/lite/api/liteserver/LiteServerAccountId.kt index 07f06204..1c3d7b03 100644 --- a/ton-kotlin-liteapi/src/commonMain/kotlin/org/ton/lite/api/liteserver/LiteServerAccountId.kt +++ b/ton-kotlin-liteapi/src/commonMain/kotlin/org/ton/lite/api/liteserver/LiteServerAccountId.kt @@ -6,8 +6,9 @@ import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable import kotlinx.serialization.UseSerializers import org.ton.bitstring.BitString -import org.ton.bitstring.toBitString import org.ton.crypto.HexByteArraySerializer +import org.ton.tl.ByteString +import org.ton.tl.ByteString.Companion.toByteString import org.ton.tl.TlConstructor import org.ton.tl.TlReader import org.ton.tl.TlWriter @@ -19,9 +20,10 @@ public data class LiteServerAccountId( @get:JvmName("workchain") val workchain: Int, @get:JvmName("id") - val id: BitString + val id: ByteString ) { - public constructor(workchain: Int, id: ByteArray) : this(workchain, id.toBitString()) + public constructor(workchain: Int, id: ByteArray) : this(workchain, id.toByteString()) + public constructor(workchain: Int, id: BitString) : this(workchain, id.toByteArray()) public companion object : TlConstructor( schema = "liteServer.accountId workchain:int id:int256 = liteServer.AccountId" diff --git a/ton-kotlin-liteapi/src/commonMain/kotlin/org/ton/lite/api/liteserver/LiteServerSignature.kt b/ton-kotlin-liteapi/src/commonMain/kotlin/org/ton/lite/api/liteserver/LiteServerSignature.kt index 2b96e9b7..fa140108 100644 --- a/ton-kotlin-liteapi/src/commonMain/kotlin/org/ton/lite/api/liteserver/LiteServerSignature.kt +++ b/ton-kotlin-liteapi/src/commonMain/kotlin/org/ton/lite/api/liteserver/LiteServerSignature.kt @@ -2,37 +2,17 @@ package org.ton.lite.api.liteserver import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable -import org.ton.bitstring.BitString -import org.ton.bitstring.toBitString -import org.ton.tl.TlCodec -import org.ton.tl.TlConstructor -import org.ton.tl.TlReader -import org.ton.tl.TlWriter +import org.ton.tl.* +import org.ton.tl.ByteString.Companion.toByteString @Serializable @SerialName("liteServer.signature") public data class LiteServerSignature( @SerialName("node_id_short") - val nodeIdShort: BitString, - val signature: ByteArray + val nodeIdShort: ByteString, + val signature: ByteString ) { - public constructor(nodeIdShort: ByteArray, signature: ByteArray) : this(nodeIdShort.toBitString(), signature) - - override fun equals(other: Any?): Boolean { - if (this === other) return true - if (other !is LiteServerSignature) return false - - if (nodeIdShort != other.nodeIdShort) return false - if (!signature.contentEquals(other.signature)) return false - - return true - } - - override fun hashCode(): Int { - var result = nodeIdShort.hashCode() - result = 31 * result + signature.contentHashCode() - return result - } + public constructor(nodeIdShort: ByteArray, signature: ByteArray) : this(nodeIdShort.toByteString(), signature.toByteString()) public companion object : TlCodec by LiteServerSignatureTlConstructor } @@ -41,13 +21,13 @@ private object LiteServerSignatureTlConstructor : TlConstructor { public constructor(count: Int, account: LiteServerAccountId, lt: Long, hash: ByteArray) : this( - count, account, lt, hash.toBitString() + count, account, lt, hash.toByteString() ) init { - require(hash.size == 256) + require(hash.size == 32) } override fun tlCodec(): TlCodec = LiteServerGetTransactionsTlConstructor @@ -42,7 +41,7 @@ public object LiteServerGetTransactionsTlConstructor : TlConstructor { - val rawTransactionList = liteApi(LiteServerGetTransactions(count, accountAddress.toLiteServer(), fromTransactionId.lt, fromTransactionId.hash)) + val rawTransactionList = liteApi(LiteServerGetTransactions(count, accountAddress.toLiteServer(), fromTransactionId.lt, fromTransactionId.hash.toByteArray())) val transactionsCells = BagOfCells(base64(rawTransactionList.transactions)).roots check(rawTransactionList.ids.size == transactionsCells.size) return List(transactionsCells.size) { index -> @@ -496,5 +496,5 @@ public class LiteClient( knownBlockIds.addLast(blockIdExt) } - private fun AddrStd.toLiteServer() = LiteServerAccountId(workchainId, address) + private fun AddrStd.toLiteServer() = LiteServerAccountId(workchainId, address.toByteArray()) }