Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

0.3.0 #112

Merged
merged 2 commits into from
Dec 12, 2023
Merged

0.3.0 #112

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
45 changes: 33 additions & 12 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,24 +9,45 @@ jobs:
strategy:
matrix:
include:
- os: ubuntu-latest
gradle_args: publishKotlinMultiplatformPublicationToSonatypeRepository
- os: ubuntu-latest
gradle_args: jvmTest publishJvmPublicationToSonatypeRepository
- os: ubuntu-latest
gradle_args: publishMingwX64PublicationToSonatypeRepository
- os: ubuntu-latest
gradle_args: publishLinuxX64PublicationToSonatypeRepository
- os: macos-latest
gradle_args: publishMacosX64PublicationToSonatypeRepository
- os: macos-latest
gradle_args: publishMacosArm64PublicationToSonatypeRepository
- os: macos-latest
gradle_args: publishIosX64PublicationToSonatypeRepository
- os: macos-latest
gradle_args: publishIosArm64PublicationToSonatypeRepository
- os: macos-latest
gradle_args: publishIosSimulatorArm64PublicationToSonatypeRepository
- os: macos-latest
gradle_args: publishTvosX64PublicationToSonatypeRepository
- os: macos-latest
gradle_args: publishTvosArm64PublicationToSonatypeRepository
- os: macos-latest
gradle_args: publishTvosSimulatorArm64PublicationToSonatypeRepository
- os: macos-latest
gradle_args: publishTvosSimulatorArm64PublicationToSonatypeRepository
- os: macos-latest
gradle_args: publishWatchosArm32PublicationToSonatypeRepository
- os: macos-latest
gradle_args: publishWatchosArm64PublicationToSonatypeRepository
- os: macos-latest
gradle_args: publishWatchosX64PublicationToSonatypeRepository
- os: macos-latest
gradle_args: publishWatchosSimulatorArm64PublicationToSonatypeRepository

- os: macos-latest
gradle_args: publishMacosX64PublicationToSonatypeRepository
- os: macos-latest
gradle_args: publishMacosArm64PublicationToSonatypeRepository

- os: ubuntu-latest
gradle_args: publishKotlinMultiplatformPublicationToSonatypeRepository
- os: ubuntu-latest
gradle_args: jvmTest publishJvmPublicationToSonatypeRepository
- os: ubuntu-latest
gradle_args: publishLinuxX64PublicationToSonatypeRepository
- os: ubuntu-latest
gradle_args: publishArmX64PublicationToSonatypeRepository
- os: ubuntu-latest
gradle_args: publishMingwX64PublicationToSonatypeRepository

runs-on: ${{ matrix.os }}
steps:
- name: Checkout project sources
Expand Down
31 changes: 31 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# 0.3.0

### New features

- Added `WalletV4R2Contract` to `ton-kotlin-contract` ([#109](https://github.com/ton-community/ton-kotlin/issues/109))
- Added support for `MsgAddressExt` for wallet contracts

### Fixes

- Fixed LibraryReference Cell creation ([#101](https://github.com/ton-community/ton-kotlin/issues/101))

### Module structure refactoring

- `ton-kotlin-boc` moved into `ton-kotlin-tvm`
- `ton-kotlin-cell` moved into `ton-kotlin-tvm`
- `ton-kotlin-mnemonic` module merged into `ton-kotlin-crypto`
- `ton-kotlin-block` renamed to `ton-kotlin-block-tlb`
- `ton-kotlin-hashmap` renamed to `ton-kotlin-hashmap-tlb`
- `ton-kotlin-api` renamed to `ton-kotlin-tonapi-tl`
- `ton-kotlin-liteapi` renamed to `ton-kotlin-liteapi-tl`

### Removed

- `ton-kotlin-fift` removed due to lack of interest
- `ton-kotlin-logger` removed due uselessness

## Deprecated

- [VarUInteger](https://github.com/ton-community/ton-kotlin/blob/main/ton-kotlin-block/src/commonMain/kotlin/org/ton/block/VarUInteger.kt#L18)
arithmetic operators will be removed in the next release due separation of serialization objects
and actual arithmetics, use `BigInt` instead. ([#102](https://github.com/ton-community/ton-kotlin/issues/102))
278 changes: 278 additions & 0 deletions adnl/api/ton-kotlin-adnl.api
Original file line number Diff line number Diff line change
@@ -0,0 +1,278 @@
public abstract interface class org/ton/adnl/Adnl {
public static final field Companion Lorg/ton/adnl/Adnl$Companion;
public abstract fun addLocalId (Lorg/ton/api/pk/PrivateKey;)V
public abstract fun addPeer (Lorg/ton/api/adnl/AdnlIdShort;Lorg/ton/api/pub/PublicKey;Lorg/ton/api/adnl/AdnlAddressList;)V
public fun getHugePacketMaxSize ()I
public fun getMtu ()I
public abstract fun getNetworkEngine ()Lorg/ton/adnl/engine/AdnlNetworkEngine;
public abstract fun sendMessage (Lorg/ton/api/adnl/AdnlIdShort;Lorg/ton/api/adnl/AdnlIdShort;Lorg/ton/tl/ByteString;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public abstract fun sendQuery-gwCluXo (Lorg/ton/api/adnl/AdnlIdShort;Lorg/ton/api/adnl/AdnlIdShort;Lorg/ton/tl/ByteString;JILkotlin/coroutines/Continuation;)Ljava/lang/Object;
public static synthetic fun sendQuery-gwCluXo$default (Lorg/ton/adnl/Adnl;Lorg/ton/api/adnl/AdnlIdShort;Lorg/ton/api/adnl/AdnlIdShort;Lorg/ton/tl/ByteString;JILkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
public abstract fun subscribeMessage (Lorg/ton/api/adnl/AdnlIdShort;Lorg/ton/adnl/Adnl$MessageHandler;)Lorg/ton/adnl/Adnl$MessageHandler;
public abstract fun subscribeQuery (Lorg/ton/api/adnl/AdnlIdShort;Lorg/ton/adnl/Adnl$QueryHandler;)Lorg/ton/adnl/Adnl$QueryHandler;
}

public final class org/ton/adnl/Adnl$Companion {
public final fun create (Lorg/ton/adnl/engine/AdnlNetworkEngine;)Lorg/ton/adnl/Adnl;
}

public abstract interface class org/ton/adnl/Adnl$MessageHandler {
public abstract fun onMessage (Lorg/ton/api/adnl/AdnlIdShort;Lorg/ton/api/adnl/AdnlIdShort;Lorg/ton/tl/ByteString;)V
}

public abstract interface class org/ton/adnl/Adnl$QueryHandler {
public abstract fun onQuery (Lorg/ton/api/adnl/AdnlIdShort;Lorg/ton/api/adnl/AdnlIdShort;Lorg/ton/tl/ByteString;)Lorg/ton/tl/ByteString;
}

public abstract interface class org/ton/adnl/AdnlPeer {
public abstract fun handlePacket (Lorg/ton/api/adnl/AdnlIdShort;Lorg/ton/api/adnl/AdnlPacketContents;)V
public abstract fun sendMessages (Lorg/ton/api/adnl/AdnlIdShort;[Lorg/ton/api/adnl/message/AdnlMessage;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public abstract fun sendQuery-exY8QGI (Lorg/ton/api/adnl/AdnlIdShort;Lorg/ton/tl/ByteString;JLkotlin/coroutines/Continuation;)Ljava/lang/Object;
public static synthetic fun sendQuery-exY8QGI$default (Lorg/ton/adnl/AdnlPeer;Lorg/ton/api/adnl/AdnlIdShort;Lorg/ton/tl/ByteString;JLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
}

public abstract interface class org/ton/adnl/AdnlPeerSession {
public abstract fun getAdnl ()Lorg/ton/adnl/Adnl;
public fun getHugePacketMaxSize ()I
public fun getMtu ()I
public fun handleMessage (Lorg/ton/api/adnl/message/AdnlMessage;)V
public abstract fun handleMessage (Lorg/ton/api/adnl/message/AdnlMessageAnswer;)V
public abstract fun handleMessage (Lorg/ton/api/adnl/message/AdnlMessageConfirmChannel;)V
public abstract fun handleMessage (Lorg/ton/api/adnl/message/AdnlMessageCreateChannel;)V
public abstract fun handleMessage (Lorg/ton/api/adnl/message/AdnlMessageCustom;)V
public fun handleMessage (Lorg/ton/api/adnl/message/AdnlMessageNop;)V
public abstract fun handleMessage (Lorg/ton/api/adnl/message/AdnlMessagePart;)V
public abstract fun handleMessage (Lorg/ton/api/adnl/message/AdnlMessageQuery;)V
public abstract fun handleMessage (Lorg/ton/api/adnl/message/AdnlMessageReinit;)V
public abstract fun handlePacket (Lorg/ton/api/adnl/AdnlPacketContents;)V
public abstract fun sendMessages ([Lorg/ton/api/adnl/message/AdnlMessage;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public abstract fun sendQuery-8Mi8wO0 (Lorg/ton/tl/ByteString;JLkotlin/coroutines/Continuation;)Ljava/lang/Object;
public static synthetic fun sendQuery-8Mi8wO0$default (Lorg/ton/adnl/AdnlPeerSession;Lorg/ton/tl/ByteString;JLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
}

public abstract interface class org/ton/adnl/connection/AdnlClient {
public abstract fun sendQuery-8Mi8wO0 (Lio/ktor/utils/io/core/ByteReadPacket;JLkotlin/coroutines/Continuation;)Ljava/lang/Object;
}

public final class org/ton/adnl/connection/AdnlClientImpl : org/ton/adnl/connection/AdnlClient {
public static final field Companion Lorg/ton/adnl/connection/AdnlClientImpl$Companion;
public fun <init> (Lorg/ton/api/liteserver/LiteServerDesc;)V
public fun sendQuery-8Mi8wO0 (Lio/ktor/utils/io/core/ByteReadPacket;JLkotlin/coroutines/Continuation;)Ljava/lang/Object;
}

public final class org/ton/adnl/connection/AdnlClientImpl$Companion {
}

public final class org/ton/adnl/connection/AdnlConnection : java/io/Closeable, kotlinx/coroutines/CoroutineScope {
public static final field CONNECTION_ATTEMPTS I
public static final field Companion Lorg/ton/adnl/connection/AdnlConnection$Companion;
public fun <init> (Lorg/ton/api/liteserver/LiteServerDesc;Lorg/ton/adnl/connection/AdnlConnectionFactory;Lkotlin/coroutines/CoroutineContext;Lkotlin/jvm/functions/Function0;)V
public fun close ()V
public final fun execute (Lorg/ton/adnl/connection/AdnlRequestData;Lkotlin/coroutines/CoroutineContext;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public fun getCoroutineContext ()Lkotlin/coroutines/CoroutineContext;
public final fun getLiteServerDesc ()Lorg/ton/api/liteserver/LiteServerDesc;
}

public final class org/ton/adnl/connection/AdnlConnection$Companion {
public final fun getCONNECT_TIMEOUT-UwyO8pc ()J
public final fun getMAX_IDLE_TIME-UwyO8pc ()J
}

public final class org/ton/adnl/connection/AdnlConnectionFactory {
public fun <init> ()V
public final fun connect (Lorg/ton/api/liteserver/LiteServerDesc;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
}

public final class org/ton/adnl/connection/AdnlConnectionPool : java/io/Closeable, kotlinx/coroutines/CoroutineScope {
public fun <init> ()V
public fun close ()V
public fun getCoroutineContext ()Lkotlin/coroutines/CoroutineContext;
public final fun selectConnection (Lorg/ton/api/liteserver/LiteServerDesc;)Lorg/ton/adnl/connection/AdnlConnection;
}

public final class org/ton/adnl/connection/AdnlRequestData {
public fun <init> ([BLkotlinx/coroutines/Job;)V
public final fun getBody ()[B
public final fun getExecutionContext ()Lkotlinx/coroutines/Job;
}

public final class org/ton/adnl/connection/AdnlResponseData {
public fun <init> (Lkotlinx/datetime/Instant;Lio/ktor/utils/io/core/ByteReadPacket;Lkotlin/coroutines/CoroutineContext;)V
public final fun getBody ()Lio/ktor/utils/io/core/ByteReadPacket;
public final fun getCallContext ()Lkotlin/coroutines/CoroutineContext;
public final fun getRequestTime ()Lkotlinx/datetime/Instant;
public final fun getResponseTime ()Lkotlinx/datetime/Instant;
}

public abstract interface class org/ton/adnl/engine/AdnlNetworkEngine {
public abstract fun receiveDatagram (Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public abstract fun sendDatagram (Lorg/ton/api/adnl/AdnlAddressUdp;Lio/ktor/utils/io/core/ByteReadPacket;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
}

public final class org/ton/adnl/engine/CIOAdnlNetworkEngine : org/ton/adnl/engine/AdnlNetworkEngine {
public static final field Companion Lorg/ton/adnl/engine/CIOAdnlNetworkEngine$Companion;
public fun <init> ()V
public fun <init> (I)V
public fun <init> (Lorg/ton/api/adnl/AdnlAddressUdp;)V
public synthetic fun <init> (Lorg/ton/api/adnl/AdnlAddressUdp;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
public final fun getSocket ()Lio/ktor/network/sockets/BoundDatagramSocket;
public fun receiveDatagram (Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public fun sendDatagram (Lorg/ton/api/adnl/AdnlAddressUdp;Lio/ktor/utils/io/core/ByteReadPacket;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
}

public final class org/ton/adnl/engine/CIOAdnlNetworkEngine$Companion {
}

public final class org/ton/adnl/exception/AdnlOldPacketSeqnoException : java/lang/RuntimeException {
public fun <init> (JJ)V
public final fun getLocalSeqno ()J
public final fun getPacketSeqno ()J
}

public final class org/ton/adnl/exception/AdnlOldPeerReinitDateException : java/lang/RuntimeException {
public fun <init> (Lkotlinx/datetime/Instant;)V
public final fun getReinitDate ()Lkotlinx/datetime/Instant;
}

public final class org/ton/adnl/exception/AdnlTooNewAckSeqnoException : java/lang/RuntimeException {
public fun <init> (JJ)V
public final fun getAckSeqno ()J
public final fun getLocalSeqno ()J
}

public final class org/ton/adnl/exception/AdnlTooNewAddressListReinitDateException : java/lang/RuntimeException {
public fun <init> (Lkotlinx/datetime/Instant;Lorg/ton/api/adnl/AdnlAddressList;)V
public final fun getAddressList ()Lorg/ton/api/adnl/AdnlAddressList;
public final fun getReinitDate ()Lkotlinx/datetime/Instant;
}

public final class org/ton/adnl/exception/AdnlTooNewLocalReinitDateException : java/lang/RuntimeException {
public fun <init> (Lkotlinx/datetime/Instant;)V
public final fun getReinitDate ()Lkotlinx/datetime/Instant;
}

public final class org/ton/adnl/exception/AdnlTooNewRemoteReinitDateException : java/lang/RuntimeException {
public fun <init> (Lkotlinx/datetime/Instant;)V
public final fun getReinitDate ()Lkotlinx/datetime/Instant;
}

public final class org/ton/adnl/exception/UnknownAdnlDestinationException : java/lang/RuntimeException {
public fun <init> (Lorg/ton/api/adnl/AdnlIdShort;)V
public final fun getDestination ()Lorg/ton/api/adnl/AdnlIdShort;
}

public abstract interface class org/ton/adnl/network/IPAddress {
public static final field Companion Lorg/ton/adnl/network/IPAddress$Companion;
public abstract fun getHost ()Ljava/lang/String;
public abstract fun getPort ()I
public static fun ipv4 (II)Lorg/ton/adnl/network/IPAddress;
public static fun ipv4 (Ljava/lang/String;I)Lorg/ton/adnl/network/IPAddress;
public static fun ipv6 ([BI)Lorg/ton/adnl/network/IPAddress;
public abstract fun toAdnlAddress ()Lorg/ton/api/adnl/AdnlAddress;
}

public final class org/ton/adnl/network/IPAddress$Companion {
public final fun ipv4 (II)Lorg/ton/adnl/network/IPAddress;
public final fun ipv4 (Ljava/lang/String;I)Lorg/ton/adnl/network/IPAddress;
public final fun ipv6 ([BI)Lorg/ton/adnl/network/IPAddress;
}

public final class org/ton/adnl/network/IPv4Address : org/ton/adnl/network/IPAddress {
public fun <init> (II)V
public fun <init> (Ljava/lang/String;I)V
public final fun component1 ()I
public final fun component2 ()I
public final fun copy (II)Lorg/ton/adnl/network/IPv4Address;
public static synthetic fun copy$default (Lorg/ton/adnl/network/IPv4Address;IIILjava/lang/Object;)Lorg/ton/adnl/network/IPv4Address;
public fun equals (Ljava/lang/Object;)Z
public final fun getAddress ()I
public fun getHost ()Ljava/lang/String;
public fun getPort ()I
public fun hashCode ()I
public synthetic fun toAdnlAddress ()Lorg/ton/api/adnl/AdnlAddress;
public fun toAdnlAddress ()Lorg/ton/api/adnl/AdnlAddressUdp;
public fun toString ()Ljava/lang/String;
}

public final class org/ton/adnl/network/IPv6Address : org/ton/adnl/network/IPAddress {
public fun <init> ([BI)V
public final fun component1 ()[B
public final fun component2 ()I
public final fun copy ([BI)Lorg/ton/adnl/network/IPv6Address;
public static synthetic fun copy$default (Lorg/ton/adnl/network/IPv6Address;[BIILjava/lang/Object;)Lorg/ton/adnl/network/IPv6Address;
public fun equals (Ljava/lang/Object;)Z
public final fun getAddress ()[B
public fun getHost ()Ljava/lang/String;
public fun getPort ()I
public fun hashCode ()I
public synthetic fun toAdnlAddress ()Lorg/ton/api/adnl/AdnlAddress;
public fun toAdnlAddress ()Lorg/ton/api/adnl/AdnlAddressUdp6;
public fun toString ()Ljava/lang/String;
}

public abstract interface class org/ton/adnl/network/TcpClient : java/io/Closeable, kotlinx/coroutines/DisposableHandle {
public abstract fun close (Ljava/lang/Throwable;)V
public abstract fun connect (Ljava/lang/String;ILkotlin/coroutines/Continuation;)Ljava/lang/Object;
public fun dispose ()V
public abstract fun getInput ()Lio/ktor/utils/io/ByteReadChannel;
public abstract fun getOutput ()Lio/ktor/utils/io/ByteWriteChannel;
}

public final class org/ton/adnl/network/TcpClientImpl : org/ton/adnl/network/TcpClient {
public static final field Companion Lorg/ton/adnl/network/TcpClientImpl$Companion;
public fun <init> ()V
public fun close ()V
public fun close (Ljava/lang/Throwable;)V
public fun connect (Ljava/lang/String;ILkotlin/coroutines/Continuation;)Ljava/lang/Object;
public fun getInput ()Lio/ktor/utils/io/ByteReadChannel;
public fun getOutput ()Lio/ktor/utils/io/ByteWriteChannel;
}

public final class org/ton/adnl/network/TcpClientImpl$Companion {
}

public abstract interface class org/ton/adnl/network/UdpServer : kotlinx/coroutines/CoroutineScope {
public static final field Companion Lorg/ton/adnl/network/UdpServer$Companion;
public abstract fun send (Lorg/ton/adnl/network/IPAddress;Lio/ktor/utils/io/core/ByteReadPacket;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
}

public abstract interface class org/ton/adnl/network/UdpServer$Callback {
public abstract fun receive (Lorg/ton/adnl/network/IPAddress;Lio/ktor/utils/io/core/ByteReadPacket;)V
}

public final class org/ton/adnl/network/UdpServer$Companion {
public final fun create (Lkotlin/coroutines/CoroutineContext;ILorg/ton/adnl/network/UdpServer$Callback;)Lorg/ton/adnl/network/UdpServer;
}

public final class org/ton/adnl/peer/AdnlMessagePartDecoder {
public fun <init> ()V
public fun <init> (I)V
public synthetic fun <init> (IILkotlin/jvm/internal/DefaultConstructorMarker;)V
public final fun decode (Lorg/ton/api/adnl/message/AdnlMessagePart;)Lorg/ton/api/adnl/message/AdnlMessage;
}

public final class org/ton/adnl/peer/AdnlMessagePartEncoder {
public fun <init> (II)V
public synthetic fun <init> (IIILkotlin/jvm/internal/DefaultConstructorMarker;)V
public final fun encode (Lorg/ton/api/adnl/message/AdnlMessage;)Ljava/util/List;
public final fun getMaxSize ()I
public final fun getMtu ()I
}

public abstract interface class org/ton/adnl/resolver/AdnlAddressResolver {
public abstract fun resolve (Lorg/ton/api/adnl/AdnlIdShort;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public fun resolve (Lorg/ton/api/pub/PublicKey;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public static synthetic fun resolve$suspendImpl (Lorg/ton/adnl/resolver/AdnlAddressResolver;Lorg/ton/api/pub/PublicKey;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
}

public final class org/ton/adnl/resolver/MapAdnlAddressResolver : org/ton/adnl/resolver/AdnlAddressResolver {
public fun <init> (Ljava/util/Map;)V
public fun resolve (Lorg/ton/api/adnl/AdnlIdShort;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
}

public final class org/ton/adnl/utils/IpKt {
public static final fun toAdnlUdpAddress (Lio/ktor/network/sockets/InetSocketAddress;)Lorg/ton/api/adnl/AdnlAddressUdp;
public static final fun toAdnlUdpAddress (Lio/ktor/network/sockets/SocketAddress;)Lorg/ton/api/adnl/AdnlAddressUdp;
public static final fun toSocketAddress (Lorg/ton/api/adnl/AdnlAddressUdp;)Lio/ktor/network/sockets/InetSocketAddress;
}

Loading