diff --git a/README.md b/README.md index 74e1cc3..8749fad 100644 --- a/README.md +++ b/README.md @@ -114,4 +114,13 @@ Secret key encryption and signing/verifying uses Edwards curves 25519 algorithms - SHA3 256, 384, more are on the way. - CRC-protected binary ID with magic numbers to implement human-friendly IDS with type checks +## Licensing +# Licensing + +This is work in progress, not yet moved to public domain; +you need to obtain a license from https://8-rays.dev or [Sergey Chernov]. For open source projects it will most be free on some special terms. + +It will be moved to open source; we also guarantee that it will be moved to open source immediately if the software export restrictions will be lifted. We do not support such practices here at 8-rays.dev and assume open source must be open. + +[Sergey Chernov]: https://t.me/real_sergeych \ No newline at end of file diff --git a/bin/pubdocs b/bin/pubdocs index a2c5957..609bea3 100755 --- a/bin/pubdocs +++ b/bin/pubdocs @@ -1,4 +1,14 @@ #!/bin/bash +# +# Copyright (c) 2025. Sergey S. Chernov - All Rights Reserved +# +# You may use, distribute and modify this code under the +# terms of the private license, which you must obtain from the author +# +# To obtain the license, contact the author: https://t.me/real_sergeych or email to +# real dot sergeych at gmail. +# + set -e ./gradlew dokkaHtml rsync -avz ./build/dokka/* code.sergeych.net:/bigstore/sergeych_pub/code/docs/crypto2 diff --git a/build.gradle.kts b/build.gradle.kts index 3d784d7..8f094e1 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,3 +1,13 @@ +/* + * Copyright (c) 2025. Sergey S. Chernov - All Rights Reserved + * + * You may use, distribute and modify this code under the + * terms of the private license, which you must obtain from the author + * + * To obtain the license, contact the author: https://t.me/real_sergeych or email to + * real dot sergeych at gmail. + */ + import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi import org.jetbrains.kotlin.gradle.ExperimentalWasmDsl import org.jetbrains.kotlin.gradle.dsl.JvmTarget diff --git a/gradle.properties b/gradle.properties index 7fc6f1f..7a7674f 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1 +1,11 @@ +# +# Copyright (c) 2025. Sergey S. Chernov - All Rights Reserved +# +# You may use, distribute and modify this code under the +# terms of the private license, which you must obtain from the author +# +# To obtain the license, contact the author: https://t.me/real_sergeych or email to +# real dot sergeych at gmail. +# + kotlin.code.style=official diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 06febab..0e287ab 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,3 +1,13 @@ +# +# Copyright (c) 2025. Sergey S. Chernov - All Rights Reserved +# +# You may use, distribute and modify this code under the +# terms of the private license, which you must obtain from the author +# +# To obtain the license, contact the author: https://t.me/real_sergeych or email to +# real dot sergeych at gmail. +# + distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-bin.zip diff --git a/gradlew b/gradlew index 1b6c787..1df0458 100755 --- a/gradlew +++ b/gradlew @@ -1,19 +1,13 @@ #!/bin/sh # -# Copyright © 2015-2021 the original authors. +# Copyright (c) 2025. Sergey S. Chernov - All Rights Reserved # -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at +# You may use, distribute and modify this code under the +# terms of the private license, which you must obtain from the author # -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. +# To obtain the license, contact the author: https://t.me/real_sergeych or email to +# real dot sergeych at gmail. # ############################################################################## diff --git a/settings.gradle.kts b/settings.gradle.kts index ee4fb19..b15cbbe 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1,3 +1,13 @@ +/* + * Copyright (c) 2025. Sergey S. Chernov - All Rights Reserved + * + * You may use, distribute and modify this code under the + * terms of the private license, which you must obtain from the author + * + * To obtain the license, contact the author: https://t.me/real_sergeych or email to + * real dot sergeych at gmail. + */ + pluginManagement { repositories { mavenCentral() diff --git a/src/commonMain/kotlin/net/sergeych/crypto2/Asymmetric.kt b/src/commonMain/kotlin/net/sergeych/crypto2/Asymmetric.kt index 5c85910..78ec9af 100644 --- a/src/commonMain/kotlin/net/sergeych/crypto2/Asymmetric.kt +++ b/src/commonMain/kotlin/net/sergeych/crypto2/Asymmetric.kt @@ -1,3 +1,13 @@ +/* + * Copyright (c) 2025. Sergey S. Chernov - All Rights Reserved + * + * You may use, distribute and modify this code under the + * terms of the private license, which you must obtain from the author + * + * To obtain the license, contact the author: https://t.me/real_sergeych or email to + * real dot sergeych at gmail. + */ + package net.sergeych.crypto2 import com.ionspin.kotlin.crypto.box.Box diff --git a/src/commonMain/kotlin/net/sergeych/crypto2/BinaryId.kt b/src/commonMain/kotlin/net/sergeych/crypto2/BinaryId.kt index 2333af6..3482020 100644 --- a/src/commonMain/kotlin/net/sergeych/crypto2/BinaryId.kt +++ b/src/commonMain/kotlin/net/sergeych/crypto2/BinaryId.kt @@ -1,3 +1,13 @@ +/* + * Copyright (c) 2025. Sergey S. Chernov - All Rights Reserved + * + * You may use, distribute and modify this code under the + * terms of the private license, which you must obtain from the author + * + * To obtain the license, contact the author: https://t.me/real_sergeych or email to + * real dot sergeych at gmail. + */ + package net.sergeych.crypto2 import com.ionspin.kotlin.crypto.util.encodeToUByteArray diff --git a/src/commonMain/kotlin/net/sergeych/crypto2/ByteChunk.kt b/src/commonMain/kotlin/net/sergeych/crypto2/ByteChunk.kt index 6fd01e0..b619b7a 100644 --- a/src/commonMain/kotlin/net/sergeych/crypto2/ByteChunk.kt +++ b/src/commonMain/kotlin/net/sergeych/crypto2/ByteChunk.kt @@ -1,3 +1,13 @@ +/* + * Copyright (c) 2025. Sergey S. Chernov - All Rights Reserved + * + * You may use, distribute and modify this code under the + * terms of the private license, which you must obtain from the author + * + * To obtain the license, contact the author: https://t.me/real_sergeych or email to + * real dot sergeych at gmail. + */ + package net.sergeych.crypto2 import kotlinx.serialization.Serializable diff --git a/src/commonMain/kotlin/net/sergeych/crypto2/Container.kt b/src/commonMain/kotlin/net/sergeych/crypto2/Container.kt index 7ae260c..ebbadc3 100644 --- a/src/commonMain/kotlin/net/sergeych/crypto2/Container.kt +++ b/src/commonMain/kotlin/net/sergeych/crypto2/Container.kt @@ -1,3 +1,13 @@ +/* + * Copyright (c) 2025. Sergey S. Chernov - All Rights Reserved + * + * You may use, distribute and modify this code under the + * terms of the private license, which you must obtain from the author + * + * To obtain the license, contact the author: https://t.me/real_sergeych or email to + * real dot sergeych at gmail. + */ + package net.sergeych.crypto2 import kotlinx.serialization.SerialName diff --git a/src/commonMain/kotlin/net/sergeych/crypto2/Contrail.kt b/src/commonMain/kotlin/net/sergeych/crypto2/Contrail.kt index db12b02..68e61d8 100644 --- a/src/commonMain/kotlin/net/sergeych/crypto2/Contrail.kt +++ b/src/commonMain/kotlin/net/sergeych/crypto2/Contrail.kt @@ -1,3 +1,13 @@ +/* + * Copyright (c) 2025. Sergey S. Chernov - All Rights Reserved + * + * You may use, distribute and modify this code under the + * terms of the private license, which you must obtain from the author + * + * To obtain the license, contact the author: https://t.me/real_sergeych or email to + * real dot sergeych at gmail. + */ + package net.sergeych.crypto2 import net.sergeych.bintools.CRC diff --git a/src/commonMain/kotlin/net/sergeych/crypto2/DecryptingKey.kt b/src/commonMain/kotlin/net/sergeych/crypto2/DecryptingKey.kt index 460ff45..fd6ecbf 100644 --- a/src/commonMain/kotlin/net/sergeych/crypto2/DecryptingKey.kt +++ b/src/commonMain/kotlin/net/sergeych/crypto2/DecryptingKey.kt @@ -1,3 +1,13 @@ +/* + * Copyright (c) 2025. Sergey S. Chernov - All Rights Reserved + * + * You may use, distribute and modify this code under the + * terms of the private license, which you must obtain from the author + * + * To obtain the license, contact the author: https://t.me/real_sergeych or email to + * real dot sergeych at gmail. + */ + package net.sergeych.crypto2 import com.ionspin.kotlin.crypto.util.decodeFromUByteArray diff --git a/src/commonMain/kotlin/net/sergeych/crypto2/EncryptingKey.kt b/src/commonMain/kotlin/net/sergeych/crypto2/EncryptingKey.kt index ee62e4b..d47bad1 100644 --- a/src/commonMain/kotlin/net/sergeych/crypto2/EncryptingKey.kt +++ b/src/commonMain/kotlin/net/sergeych/crypto2/EncryptingKey.kt @@ -1,3 +1,13 @@ +/* + * Copyright (c) 2025. Sergey S. Chernov - All Rights Reserved + * + * You may use, distribute and modify this code under the + * terms of the private license, which you must obtain from the author + * + * To obtain the license, contact the author: https://t.me/real_sergeych or email to + * real dot sergeych at gmail. + */ + package net.sergeych.crypto2 import com.ionspin.kotlin.crypto.util.encodeToUByteArray diff --git a/src/commonMain/kotlin/net/sergeych/crypto2/Hash.kt b/src/commonMain/kotlin/net/sergeych/crypto2/Hash.kt index 7b2f21b..18bdee9 100644 --- a/src/commonMain/kotlin/net/sergeych/crypto2/Hash.kt +++ b/src/commonMain/kotlin/net/sergeych/crypto2/Hash.kt @@ -1,3 +1,13 @@ +/* + * Copyright (c) 2025. Sergey S. Chernov - All Rights Reserved + * + * You may use, distribute and modify this code under the + * terms of the private license, which you must obtain from the author + * + * To obtain the license, contact the author: https://t.me/real_sergeych or email to + * real dot sergeych at gmail. + */ + package net.sergeych.crypto2 import com.ionspin.kotlin.crypto.generichash.GenericHash diff --git a/src/commonMain/kotlin/net/sergeych/crypto2/InitCrypto.kt b/src/commonMain/kotlin/net/sergeych/crypto2/InitCrypto.kt index 21199de..20b47c1 100644 --- a/src/commonMain/kotlin/net/sergeych/crypto2/InitCrypto.kt +++ b/src/commonMain/kotlin/net/sergeych/crypto2/InitCrypto.kt @@ -1,3 +1,13 @@ +/* + * Copyright (c) 2025. Sergey S. Chernov - All Rights Reserved + * + * You may use, distribute and modify this code under the + * terms of the private license, which you must obtain from the author + * + * To obtain the license, contact the author: https://t.me/real_sergeych or email to + * real dot sergeych at gmail. + */ + package net.sergeych.crypto2 import com.ionspin.kotlin.crypto.LibsodiumInitializer diff --git a/src/commonMain/kotlin/net/sergeych/crypto2/KeyId.kt b/src/commonMain/kotlin/net/sergeych/crypto2/KeyId.kt index 24ae071..8d543a8 100644 --- a/src/commonMain/kotlin/net/sergeych/crypto2/KeyId.kt +++ b/src/commonMain/kotlin/net/sergeych/crypto2/KeyId.kt @@ -1,3 +1,13 @@ +/* + * Copyright (c) 2025. Sergey S. Chernov - All Rights Reserved + * + * You may use, distribute and modify this code under the + * terms of the private license, which you must obtain from the author + * + * To obtain the license, contact the author: https://t.me/real_sergeych or email to + * real dot sergeych at gmail. + */ + package net.sergeych.crypto2 import kotlinx.serialization.Serializable diff --git a/src/commonMain/kotlin/net/sergeych/crypto2/KeyInstance.kt b/src/commonMain/kotlin/net/sergeych/crypto2/KeyInstance.kt index 8900c08..2c1d516 100644 --- a/src/commonMain/kotlin/net/sergeych/crypto2/KeyInstance.kt +++ b/src/commonMain/kotlin/net/sergeych/crypto2/KeyInstance.kt @@ -1,3 +1,13 @@ +/* + * Copyright (c) 2025. Sergey S. Chernov - All Rights Reserved + * + * You may use, distribute and modify this code under the + * terms of the private license, which you must obtain from the author + * + * To obtain the license, contact the author: https://t.me/real_sergeych or email to + * real dot sergeych at gmail. + */ + package net.sergeych.crypto2 /** diff --git a/src/commonMain/kotlin/net/sergeych/crypto2/MagickNumbers.kt b/src/commonMain/kotlin/net/sergeych/crypto2/MagickNumbers.kt index 67388e5..f5d5941 100644 --- a/src/commonMain/kotlin/net/sergeych/crypto2/MagickNumbers.kt +++ b/src/commonMain/kotlin/net/sergeych/crypto2/MagickNumbers.kt @@ -1,3 +1,13 @@ +/* + * Copyright (c) 2025. Sergey S. Chernov - All Rights Reserved + * + * You may use, distribute and modify this code under the + * terms of the private license, which you must obtain from the author + * + * To obtain the license, contact the author: https://t.me/real_sergeych or email to + * real dot sergeych at gmail. + */ + package net.sergeych.crypto2 enum class KeysmagicNumber(val label: String) { diff --git a/src/commonMain/kotlin/net/sergeych/crypto2/Multikey.kt b/src/commonMain/kotlin/net/sergeych/crypto2/Multikey.kt index 65906c1..5e6ced5 100644 --- a/src/commonMain/kotlin/net/sergeych/crypto2/Multikey.kt +++ b/src/commonMain/kotlin/net/sergeych/crypto2/Multikey.kt @@ -1,3 +1,13 @@ +/* + * Copyright (c) 2025. Sergey S. Chernov - All Rights Reserved + * + * You may use, distribute and modify this code under the + * terms of the private license, which you must obtain from the author + * + * To obtain the license, contact the author: https://t.me/real_sergeych or email to + * real dot sergeych at gmail. + */ + package net.sergeych.crypto2 import kotlinx.serialization.SerialName diff --git a/src/commonMain/kotlin/net/sergeych/crypto2/NonceBased.kt b/src/commonMain/kotlin/net/sergeych/crypto2/NonceBased.kt index a41baf7..35f9a12 100644 --- a/src/commonMain/kotlin/net/sergeych/crypto2/NonceBased.kt +++ b/src/commonMain/kotlin/net/sergeych/crypto2/NonceBased.kt @@ -1,3 +1,13 @@ +/* + * Copyright (c) 2025. Sergey S. Chernov - All Rights Reserved + * + * You may use, distribute and modify this code under the + * terms of the private license, which you must obtain from the author + * + * To obtain the license, contact the author: https://t.me/real_sergeych or email to + * real dot sergeych at gmail. + */ + package net.sergeych.crypto2 interface NonceBased { diff --git a/src/commonMain/kotlin/net/sergeych/crypto2/NumericNonce.kt b/src/commonMain/kotlin/net/sergeych/crypto2/NumericNonce.kt index caf45c6..d1d10c4 100644 --- a/src/commonMain/kotlin/net/sergeych/crypto2/NumericNonce.kt +++ b/src/commonMain/kotlin/net/sergeych/crypto2/NumericNonce.kt @@ -1,3 +1,13 @@ +/* + * Copyright (c) 2025. Sergey S. Chernov - All Rights Reserved + * + * You may use, distribute and modify this code under the + * terms of the private license, which you must obtain from the author + * + * To obtain the license, contact the author: https://t.me/real_sergeych or email to + * real dot sergeych at gmail. + */ + package net.sergeych.crypto2 /** diff --git a/src/commonMain/kotlin/net/sergeych/crypto2/PBKD.kt b/src/commonMain/kotlin/net/sergeych/crypto2/PBKD.kt index 6b3a435..398ab42 100644 --- a/src/commonMain/kotlin/net/sergeych/crypto2/PBKD.kt +++ b/src/commonMain/kotlin/net/sergeych/crypto2/PBKD.kt @@ -1,3 +1,13 @@ +/* + * Copyright (c) 2025. Sergey S. Chernov - All Rights Reserved + * + * You may use, distribute and modify this code under the + * terms of the private license, which you must obtain from the author + * + * To obtain the license, contact the author: https://t.me/real_sergeych or email to + * real dot sergeych at gmail. + */ + package net.sergeych.crypto2 import com.ionspin.kotlin.crypto.util.encodeToUByteArray diff --git a/src/commonMain/kotlin/net/sergeych/crypto2/PublicKey.kt b/src/commonMain/kotlin/net/sergeych/crypto2/PublicKey.kt index d040741..13c6ca5 100644 --- a/src/commonMain/kotlin/net/sergeych/crypto2/PublicKey.kt +++ b/src/commonMain/kotlin/net/sergeych/crypto2/PublicKey.kt @@ -1,3 +1,13 @@ +/* + * Copyright (c) 2025. Sergey S. Chernov - All Rights Reserved + * + * You may use, distribute and modify this code under the + * terms of the private license, which you must obtain from the author + * + * To obtain the license, contact the author: https://t.me/real_sergeych or email to + * real dot sergeych at gmail. + */ + package net.sergeych.crypto2 import kotlinx.serialization.SerialName diff --git a/src/commonMain/kotlin/net/sergeych/crypto2/SafeKeyExchange.kt b/src/commonMain/kotlin/net/sergeych/crypto2/SafeKeyExchange.kt index a62d548..dc8ea73 100644 --- a/src/commonMain/kotlin/net/sergeych/crypto2/SafeKeyExchange.kt +++ b/src/commonMain/kotlin/net/sergeych/crypto2/SafeKeyExchange.kt @@ -1,3 +1,13 @@ +/* + * Copyright (c) 2025. Sergey S. Chernov - All Rights Reserved + * + * You may use, distribute and modify this code under the + * terms of the private license, which you must obtain from the author + * + * To obtain the license, contact the author: https://t.me/real_sergeych or email to + * real dot sergeych at gmail. + */ + package net.sergeych.crypto2 import com.ionspin.kotlin.crypto.keyexchange.KeyExchange diff --git a/src/commonMain/kotlin/net/sergeych/crypto2/Seal.kt b/src/commonMain/kotlin/net/sergeych/crypto2/Seal.kt index f650fd0..1c0b8b2 100644 --- a/src/commonMain/kotlin/net/sergeych/crypto2/Seal.kt +++ b/src/commonMain/kotlin/net/sergeych/crypto2/Seal.kt @@ -1,3 +1,13 @@ +/* + * Copyright (c) 2025. Sergey S. Chernov - All Rights Reserved + * + * You may use, distribute and modify this code under the + * terms of the private license, which you must obtain from the author + * + * To obtain the license, contact the author: https://t.me/real_sergeych or email to + * real dot sergeych at gmail. + */ + package net.sergeych.crypto2 import kotlinx.datetime.Instant diff --git a/src/commonMain/kotlin/net/sergeych/crypto2/SealedBox.kt b/src/commonMain/kotlin/net/sergeych/crypto2/SealedBox.kt index 4841fec..f04e95e 100644 --- a/src/commonMain/kotlin/net/sergeych/crypto2/SealedBox.kt +++ b/src/commonMain/kotlin/net/sergeych/crypto2/SealedBox.kt @@ -1,3 +1,13 @@ +/* + * Copyright (c) 2025. Sergey S. Chernov - All Rights Reserved + * + * You may use, distribute and modify this code under the + * terms of the private license, which you must obtain from the author + * + * To obtain the license, contact the author: https://t.me/real_sergeych or email to + * real dot sergeych at gmail. + */ + package net.sergeych.crypto2 import kotlinx.datetime.Instant @@ -82,6 +92,7 @@ class SealedBox( /** * Unpack bipack-encoded payload */ + @Suppress("unused") inline fun unpack(): T = BipackDecoder.decode(message) init { diff --git a/src/commonMain/kotlin/net/sergeych/crypto2/SecretKey.kt b/src/commonMain/kotlin/net/sergeych/crypto2/SecretKey.kt index 96be114..a6e5ee1 100644 --- a/src/commonMain/kotlin/net/sergeych/crypto2/SecretKey.kt +++ b/src/commonMain/kotlin/net/sergeych/crypto2/SecretKey.kt @@ -1,3 +1,13 @@ +/* + * Copyright (c) 2025. Sergey S. Chernov - All Rights Reserved + * + * You may use, distribute and modify this code under the + * terms of the private license, which you must obtain from the author + * + * To obtain the license, contact the author: https://t.me/real_sergeych or email to + * real dot sergeych at gmail. + */ + package net.sergeych.crypto2 import com.ionspin.kotlin.crypto.box.Box diff --git a/src/commonMain/kotlin/net/sergeych/crypto2/SigningKey.kt b/src/commonMain/kotlin/net/sergeych/crypto2/SigningKey.kt index 117f28c..7b4e35f 100644 --- a/src/commonMain/kotlin/net/sergeych/crypto2/SigningKey.kt +++ b/src/commonMain/kotlin/net/sergeych/crypto2/SigningKey.kt @@ -1,3 +1,13 @@ +/* + * Copyright (c) 2025. Sergey S. Chernov - All Rights Reserved + * + * You may use, distribute and modify this code under the + * terms of the private license, which you must obtain from the author + * + * To obtain the license, contact the author: https://t.me/real_sergeych or email to + * real dot sergeych at gmail. + */ + package net.sergeych.crypto2 import kotlinx.datetime.Instant diff --git a/src/commonMain/kotlin/net/sergeych/crypto2/SigningSecretKey.kt b/src/commonMain/kotlin/net/sergeych/crypto2/SigningSecretKey.kt index 8ba1241..4f60f0c 100644 --- a/src/commonMain/kotlin/net/sergeych/crypto2/SigningSecretKey.kt +++ b/src/commonMain/kotlin/net/sergeych/crypto2/SigningSecretKey.kt @@ -1,3 +1,13 @@ +/* + * Copyright (c) 2025. Sergey S. Chernov - All Rights Reserved + * + * You may use, distribute and modify this code under the + * terms of the private license, which you must obtain from the author + * + * To obtain the license, contact the author: https://t.me/real_sergeych or email to + * real dot sergeych at gmail. + */ + package net.sergeych.crypto2 import com.ionspin.kotlin.crypto.signature.Signature diff --git a/src/commonMain/kotlin/net/sergeych/crypto2/SymmetricKey.kt b/src/commonMain/kotlin/net/sergeych/crypto2/SymmetricKey.kt index 7d5fc89..7c689de 100644 --- a/src/commonMain/kotlin/net/sergeych/crypto2/SymmetricKey.kt +++ b/src/commonMain/kotlin/net/sergeych/crypto2/SymmetricKey.kt @@ -1,3 +1,13 @@ +/* + * Copyright (c) 2025. Sergey S. Chernov - All Rights Reserved + * + * You may use, distribute and modify this code under the + * terms of the private license, which you must obtain from the author + * + * To obtain the license, contact the author: https://t.me/real_sergeych or email to + * real dot sergeych at gmail. + */ + package net.sergeych.crypto2 import com.ionspin.kotlin.crypto.secretbox.SecretBox diff --git a/src/commonMain/kotlin/net/sergeych/crypto2/UniversalKey.kt b/src/commonMain/kotlin/net/sergeych/crypto2/UniversalKey.kt index dbf72cf..e66503f 100644 --- a/src/commonMain/kotlin/net/sergeych/crypto2/UniversalKey.kt +++ b/src/commonMain/kotlin/net/sergeych/crypto2/UniversalKey.kt @@ -1,3 +1,13 @@ +/* + * Copyright (c) 2025. Sergey S. Chernov - All Rights Reserved + * + * You may use, distribute and modify this code under the + * terms of the private license, which you must obtain from the author + * + * To obtain the license, contact the author: https://t.me/real_sergeych or email to + * real dot sergeych at gmail. + */ + package net.sergeych.crypto2 import kotlinx.serialization.Serializable diff --git a/src/commonMain/kotlin/net/sergeych/crypto2/UniversalPrivateKey.kt b/src/commonMain/kotlin/net/sergeych/crypto2/UniversalPrivateKey.kt index f8e9a66..b0c394b 100644 --- a/src/commonMain/kotlin/net/sergeych/crypto2/UniversalPrivateKey.kt +++ b/src/commonMain/kotlin/net/sergeych/crypto2/UniversalPrivateKey.kt @@ -1,3 +1,13 @@ +/* + * Copyright (c) 2025. Sergey S. Chernov - All Rights Reserved + * + * You may use, distribute and modify this code under the + * terms of the private license, which you must obtain from the author + * + * To obtain the license, contact the author: https://t.me/real_sergeych or email to + * real dot sergeych at gmail. + */ + package net.sergeych.crypto2 import kotlinx.serialization.SerialName diff --git a/src/commonMain/kotlin/net/sergeych/crypto2/UniversalPublicKey.kt b/src/commonMain/kotlin/net/sergeych/crypto2/UniversalPublicKey.kt index 2119356..44f3851 100644 --- a/src/commonMain/kotlin/net/sergeych/crypto2/UniversalPublicKey.kt +++ b/src/commonMain/kotlin/net/sergeych/crypto2/UniversalPublicKey.kt @@ -1,3 +1,13 @@ +/* + * Copyright (c) 2025. Sergey S. Chernov - All Rights Reserved + * + * You may use, distribute and modify this code under the + * terms of the private license, which you must obtain from the author + * + * To obtain the license, contact the author: https://t.me/real_sergeych or email to + * real dot sergeych at gmail. + */ + package net.sergeych.crypto2 import kotlinx.serialization.SerialName diff --git a/src/commonMain/kotlin/net/sergeych/crypto2/UniversalRing.kt b/src/commonMain/kotlin/net/sergeych/crypto2/UniversalRing.kt index a3c686d..9b76eeb 100644 --- a/src/commonMain/kotlin/net/sergeych/crypto2/UniversalRing.kt +++ b/src/commonMain/kotlin/net/sergeych/crypto2/UniversalRing.kt @@ -1,3 +1,13 @@ +/* + * Copyright (c) 2025. Sergey S. Chernov - All Rights Reserved + * + * You may use, distribute and modify this code under the + * terms of the private license, which you must obtain from the author + * + * To obtain the license, contact the author: https://t.me/real_sergeych or email to + * real dot sergeych at gmail. + */ + package net.sergeych.crypto2 import kotlinx.serialization.Serializable diff --git a/src/commonMain/kotlin/net/sergeych/crypto2/VerifyingKey.kt b/src/commonMain/kotlin/net/sergeych/crypto2/VerifyingKey.kt index 2fbf483..bed9bf0 100644 --- a/src/commonMain/kotlin/net/sergeych/crypto2/VerifyingKey.kt +++ b/src/commonMain/kotlin/net/sergeych/crypto2/VerifyingKey.kt @@ -1,3 +1,13 @@ +/* + * Copyright (c) 2025. Sergey S. Chernov - All Rights Reserved + * + * You may use, distribute and modify this code under the + * terms of the private license, which you must obtain from the author + * + * To obtain the license, contact the author: https://t.me/real_sergeych or email to + * real dot sergeych at gmail. + */ + package net.sergeych.crypto2 interface VerifyingKey: KeyInstance { diff --git a/src/commonMain/kotlin/net/sergeych/crypto2/VerifyingPublicKey.kt b/src/commonMain/kotlin/net/sergeych/crypto2/VerifyingPublicKey.kt index d2d0946..0f44578 100644 --- a/src/commonMain/kotlin/net/sergeych/crypto2/VerifyingPublicKey.kt +++ b/src/commonMain/kotlin/net/sergeych/crypto2/VerifyingPublicKey.kt @@ -1,3 +1,13 @@ +/* + * Copyright (c) 2025. Sergey S. Chernov - All Rights Reserved + * + * You may use, distribute and modify this code under the + * terms of the private license, which you must obtain from the author + * + * To obtain the license, contact the author: https://t.me/real_sergeych or email to + * real dot sergeych at gmail. + */ + package net.sergeych.crypto2 import com.ionspin.kotlin.crypto.signature.InvalidSignatureException diff --git a/src/commonMain/kotlin/net/sergeych/crypto2/WithFill.kt b/src/commonMain/kotlin/net/sergeych/crypto2/WithFill.kt index 0f16ec1..b4a3bb2 100644 --- a/src/commonMain/kotlin/net/sergeych/crypto2/WithFill.kt +++ b/src/commonMain/kotlin/net/sergeych/crypto2/WithFill.kt @@ -1,3 +1,13 @@ +/* + * Copyright (c) 2025. Sergey S. Chernov - All Rights Reserved + * + * You may use, distribute and modify this code under the + * terms of the private license, which you must obtain from the author + * + * To obtain the license, contact the author: https://t.me/real_sergeych or email to + * real dot sergeych at gmail. + */ + package net.sergeych.crypto2 import kotlinx.serialization.Serializable diff --git a/src/commonMain/kotlin/net/sergeych/crypto2/exceptions.kt b/src/commonMain/kotlin/net/sergeych/crypto2/exceptions.kt index a114cea..9c0cd61 100644 --- a/src/commonMain/kotlin/net/sergeych/crypto2/exceptions.kt +++ b/src/commonMain/kotlin/net/sergeych/crypto2/exceptions.kt @@ -1,3 +1,13 @@ +/* + * Copyright (c) 2025. Sergey S. Chernov - All Rights Reserved + * + * You may use, distribute and modify this code under the + * terms of the private license, which you must obtain from the author + * + * To obtain the license, contact the author: https://t.me/real_sergeych or email to + * real dot sergeych at gmail. + */ + package net.sergeych.crypto2 /** diff --git a/src/commonMain/kotlin/net/sergeych/crypto2/kdf.kt b/src/commonMain/kotlin/net/sergeych/crypto2/kdf.kt index 18e1a72..a99ea9c 100644 --- a/src/commonMain/kotlin/net/sergeych/crypto2/kdf.kt +++ b/src/commonMain/kotlin/net/sergeych/crypto2/kdf.kt @@ -1,3 +1,13 @@ +/* + * Copyright (c) 2025. Sergey S. Chernov - All Rights Reserved + * + * You may use, distribute and modify this code under the + * terms of the private license, which you must obtain from the author + * + * To obtain the license, contact the author: https://t.me/real_sergeych or email to + * real dot sergeych at gmail. + */ + package net.sergeych.crypto2 import com.ionspin.kotlin.crypto.pwhash.* diff --git a/src/commonMain/kotlin/net/sergeych/crypto2/tools.kt b/src/commonMain/kotlin/net/sergeych/crypto2/tools.kt index 280a91f..928adf5 100644 --- a/src/commonMain/kotlin/net/sergeych/crypto2/tools.kt +++ b/src/commonMain/kotlin/net/sergeych/crypto2/tools.kt @@ -1,3 +1,13 @@ +/* + * Copyright (c) 2025. Sergey S. Chernov - All Rights Reserved + * + * You may use, distribute and modify this code under the + * terms of the private license, which you must obtain from the author + * + * To obtain the license, contact the author: https://t.me/real_sergeych or email to + * real dot sergeych at gmail. + */ + @file:Suppress("unused") package net.sergeych.crypto2 diff --git a/src/commonMain/kotlin/net/sergeych/crypto2/utools.kt b/src/commonMain/kotlin/net/sergeych/crypto2/utools.kt index f4b150d..14d0ef1 100644 --- a/src/commonMain/kotlin/net/sergeych/crypto2/utools.kt +++ b/src/commonMain/kotlin/net/sergeych/crypto2/utools.kt @@ -1,3 +1,13 @@ +/* + * Copyright (c) 2025. Sergey S. Chernov - All Rights Reserved + * + * You may use, distribute and modify this code under the + * terms of the private license, which you must obtain from the author + * + * To obtain the license, contact the author: https://t.me/real_sergeych or email to + * real dot sergeych at gmail. + */ + @file:Suppress("unused") package net.sergeych.crypto2 diff --git a/src/commonMain/kotlin/net/sergeych/tools/AtomicCounter.kt b/src/commonMain/kotlin/net/sergeych/tools/AtomicCounter.kt index d124318..d8d042a 100644 --- a/src/commonMain/kotlin/net/sergeych/tools/AtomicCounter.kt +++ b/src/commonMain/kotlin/net/sergeych/tools/AtomicCounter.kt @@ -1,3 +1,13 @@ +/* + * Copyright (c) 2025. Sergey S. Chernov - All Rights Reserved + * + * You may use, distribute and modify this code under the + * terms of the private license, which you must obtain from the author + * + * To obtain the license, contact the author: https://t.me/real_sergeych or email to + * real dot sergeych at gmail. + */ + package net.sergeych.tools @Suppress("unused") diff --git a/src/commonMain/kotlin/net/sergeych/tools/AtomicValue.kt b/src/commonMain/kotlin/net/sergeych/tools/AtomicValue.kt index 50d4f43..dd3969d 100644 --- a/src/commonMain/kotlin/net/sergeych/tools/AtomicValue.kt +++ b/src/commonMain/kotlin/net/sergeych/tools/AtomicValue.kt @@ -1,3 +1,13 @@ +/* + * Copyright (c) 2025. Sergey S. Chernov - All Rights Reserved + * + * You may use, distribute and modify this code under the + * terms of the private license, which you must obtain from the author + * + * To obtain the license, contact the author: https://t.me/real_sergeych or email to + * real dot sergeych at gmail. + */ + package net.sergeych.tools import net.sergeych.synctools.ProtectedOp @@ -5,7 +15,7 @@ import net.sergeych.synctools.invoke /** * Multiplatform (JS and battery included) atomically mutable value. - * Actual value can be either changed in a block of [mutuate] when + * Actual value can be either changed in a block of [mutate] when * new value _depends on the current value_ or use a same [value] * property that is thread-safe where there are threads and just safe * otherwise ;) diff --git a/src/commonMain/kotlin/net/sergeych/tools/flow_tools.kt b/src/commonMain/kotlin/net/sergeych/tools/flow_tools.kt index 9f4aefc..eccc25f 100644 --- a/src/commonMain/kotlin/net/sergeych/tools/flow_tools.kt +++ b/src/commonMain/kotlin/net/sergeych/tools/flow_tools.kt @@ -1,3 +1,13 @@ +/* + * Copyright (c) 2025. Sergey S. Chernov - All Rights Reserved + * + * You may use, distribute and modify this code under the + * terms of the private license, which you must obtain from the author + * + * To obtain the license, contact the author: https://t.me/real_sergeych or email to + * real dot sergeych at gmail. + */ + @file:Suppress("unused") package net.sergeych.tools diff --git a/src/commonMain/kotlin/net/sergeych/tools/pack_tools.kt b/src/commonMain/kotlin/net/sergeych/tools/pack_tools.kt index d616ee9..b664a85 100644 --- a/src/commonMain/kotlin/net/sergeych/tools/pack_tools.kt +++ b/src/commonMain/kotlin/net/sergeych/tools/pack_tools.kt @@ -1,3 +1,13 @@ +/* + * Copyright (c) 2025. Sergey S. Chernov - All Rights Reserved + * + * You may use, distribute and modify this code under the + * terms of the private license, which you must obtain from the author + * + * To obtain the license, contact the author: https://t.me/real_sergeych or email to + * real dot sergeych at gmail. + */ + package net.sergeych.tools import net.sergeych.bipack.BipackDecoder diff --git a/src/commonMain/kotlin/net/sergeych/utools/collections.kt b/src/commonMain/kotlin/net/sergeych/utools/collections.kt index d27dea5..2d23047 100644 --- a/src/commonMain/kotlin/net/sergeych/utools/collections.kt +++ b/src/commonMain/kotlin/net/sergeych/utools/collections.kt @@ -1,3 +1,13 @@ +/* + * Copyright (c) 2025. Sergey S. Chernov - All Rights Reserved + * + * You may use, distribute and modify this code under the + * terms of the private license, which you must obtain from the author + * + * To obtain the license, contact the author: https://t.me/real_sergeych or email to + * real dot sergeych at gmail. + */ + @file:Suppress("unused") package net.sergeych.utools diff --git a/src/commonMain/kotlin/net/sergeych/utools/packing.kt b/src/commonMain/kotlin/net/sergeych/utools/packing.kt index 7040e8e..f164f2a 100644 --- a/src/commonMain/kotlin/net/sergeych/utools/packing.kt +++ b/src/commonMain/kotlin/net/sergeych/utools/packing.kt @@ -1,3 +1,13 @@ +/* + * Copyright (c) 2025. Sergey S. Chernov - All Rights Reserved + * + * You may use, distribute and modify this code under the + * terms of the private license, which you must obtain from the author + * + * To obtain the license, contact the author: https://t.me/real_sergeych or email to + * real dot sergeych at gmail. + */ + package net.sergeych.utools import kotlinx.serialization.KSerializer diff --git a/src/commonMain/kotlin/net/sergeych/utools/time.kt b/src/commonMain/kotlin/net/sergeych/utools/time.kt index 6c0ae50..e4c4939 100644 --- a/src/commonMain/kotlin/net/sergeych/utools/time.kt +++ b/src/commonMain/kotlin/net/sergeych/utools/time.kt @@ -1,3 +1,13 @@ +/* + * Copyright (c) 2025. Sergey S. Chernov - All Rights Reserved + * + * You may use, distribute and modify this code under the + * terms of the private license, which you must obtain from the author + * + * To obtain the license, contact the author: https://t.me/real_sergeych or email to + * real dot sergeych at gmail. + */ + @file:Suppress("unused") package net.sergeych.utools diff --git a/src/commonMain/kotlin/org/komputing/khash/keccak/Keccak.kt b/src/commonMain/kotlin/org/komputing/khash/keccak/Keccak.kt index a15f822..ed476ec 100644 --- a/src/commonMain/kotlin/org/komputing/khash/keccak/Keccak.kt +++ b/src/commonMain/kotlin/org/komputing/khash/keccak/Keccak.kt @@ -1,3 +1,13 @@ +/* + * Copyright (c) 2025. Sergey S. Chernov - All Rights Reserved + * + * You may use, distribute and modify this code under the + * terms of the private license, which you must obtain from the author + * + * To obtain the license, contact the author: https://t.me/real_sergeych or email to + * real dot sergeych at gmail. + */ + package org.komputing.khash.keccak import com.ionspin.kotlin.bignum.integer.BigInteger diff --git a/src/commonMain/kotlin/org/komputing/khash/keccak/KeccakParameter.kt b/src/commonMain/kotlin/org/komputing/khash/keccak/KeccakParameter.kt index 57570e9..ba8bc53 100644 --- a/src/commonMain/kotlin/org/komputing/khash/keccak/KeccakParameter.kt +++ b/src/commonMain/kotlin/org/komputing/khash/keccak/KeccakParameter.kt @@ -1,3 +1,13 @@ +/* + * Copyright (c) 2025. Sergey S. Chernov - All Rights Reserved + * + * You may use, distribute and modify this code under the + * terms of the private license, which you must obtain from the author + * + * To obtain the license, contact the author: https://t.me/real_sergeych or email to + * real dot sergeych at gmail. + */ + @file:Suppress("unused") package org.komputing.khash.keccak diff --git a/src/commonMain/kotlin/org/komputing/khash/keccak/extensions/IntArrayExtensions.kt b/src/commonMain/kotlin/org/komputing/khash/keccak/extensions/IntArrayExtensions.kt index c36c21a..ca53baf 100644 --- a/src/commonMain/kotlin/org/komputing/khash/keccak/extensions/IntArrayExtensions.kt +++ b/src/commonMain/kotlin/org/komputing/khash/keccak/extensions/IntArrayExtensions.kt @@ -1,3 +1,13 @@ +/* + * Copyright (c) 2025. Sergey S. Chernov - All Rights Reserved + * + * You may use, distribute and modify this code under the + * terms of the private license, which you must obtain from the author + * + * To obtain the license, contact the author: https://t.me/real_sergeych or email to + * real dot sergeych at gmail. + */ + package org.komputing.khash.keccak.extensions /** diff --git a/src/commonMain/kotlin/org/komputing/khash/keccak/extensions/PublicExtensions.kt b/src/commonMain/kotlin/org/komputing/khash/keccak/extensions/PublicExtensions.kt index d408301..94eb6da 100644 --- a/src/commonMain/kotlin/org/komputing/khash/keccak/extensions/PublicExtensions.kt +++ b/src/commonMain/kotlin/org/komputing/khash/keccak/extensions/PublicExtensions.kt @@ -1,3 +1,13 @@ +/* + * Copyright (c) 2025. Sergey S. Chernov - All Rights Reserved + * + * You may use, distribute and modify this code under the + * terms of the private license, which you must obtain from the author + * + * To obtain the license, contact the author: https://t.me/real_sergeych or email to + * real dot sergeych at gmail. + */ + @file:Suppress("unused") package org.komputing.khash.keccak.extensions diff --git a/src/commonTest/kotlin/BinaryIdTest.kt b/src/commonTest/kotlin/BinaryIdTest.kt index f6ec93a..e00f50a 100644 --- a/src/commonTest/kotlin/BinaryIdTest.kt +++ b/src/commonTest/kotlin/BinaryIdTest.kt @@ -1,3 +1,13 @@ +/* + * Copyright (c) 2025. Sergey S. Chernov - All Rights Reserved + * + * You may use, distribute and modify this code under the + * terms of the private license, which you must obtain from the author + * + * To obtain the license, contact the author: https://t.me/real_sergeych or email to + * real dot sergeych at gmail. + */ + import kotlinx.coroutines.test.runTest import net.sergeych.bintools.toDump import net.sergeych.bipack.BipackEncoder diff --git a/src/commonTest/kotlin/ContainerTest.kt b/src/commonTest/kotlin/ContainerTest.kt index 572e1f4..e9ba1c5 100644 --- a/src/commonTest/kotlin/ContainerTest.kt +++ b/src/commonTest/kotlin/ContainerTest.kt @@ -1,3 +1,13 @@ +/* + * Copyright (c) 2025. Sergey S. Chernov - All Rights Reserved + * + * You may use, distribute and modify this code under the + * terms of the private license, which you must obtain from the author + * + * To obtain the license, contact the author: https://t.me/real_sergeych or email to + * real dot sergeych at gmail. + */ + import com.ionspin.kotlin.crypto.util.encodeToUByteArray import kotlinx.coroutines.test.runTest import kotlinx.serialization.encodeToString diff --git a/src/commonTest/kotlin/HashTest.kt b/src/commonTest/kotlin/HashTest.kt index 28a0528..93eba85 100644 --- a/src/commonTest/kotlin/HashTest.kt +++ b/src/commonTest/kotlin/HashTest.kt @@ -1,3 +1,13 @@ +/* + * Copyright (c) 2025. Sergey S. Chernov - All Rights Reserved + * + * You may use, distribute and modify this code under the + * terms of the private license, which you must obtain from the author + * + * To obtain the license, contact the author: https://t.me/real_sergeych or email to + * real dot sergeych at gmail. + */ + import kotlinx.coroutines.flow.asFlow import kotlinx.coroutines.test.runTest import kotlinx.datetime.Clock diff --git a/src/commonTest/kotlin/KDFTest.kt b/src/commonTest/kotlin/KDFTest.kt index 4620930..5c55b5f 100644 --- a/src/commonTest/kotlin/KDFTest.kt +++ b/src/commonTest/kotlin/KDFTest.kt @@ -1,3 +1,13 @@ +/* + * Copyright (c) 2025. Sergey S. Chernov - All Rights Reserved + * + * You may use, distribute and modify this code under the + * terms of the private license, which you must obtain from the author + * + * To obtain the license, contact the author: https://t.me/real_sergeych or email to + * real dot sergeych at gmail. + */ + import kotlinx.coroutines.test.runTest import net.sergeych.crypto2.KDF import net.sergeych.crypto2.initCrypto diff --git a/src/commonTest/kotlin/KeysTest.kt b/src/commonTest/kotlin/KeysTest.kt index eda80ab..242a9b1 100644 --- a/src/commonTest/kotlin/KeysTest.kt +++ b/src/commonTest/kotlin/KeysTest.kt @@ -1,3 +1,13 @@ +/* + * Copyright (c) 2025. Sergey S. Chernov - All Rights Reserved + * + * You may use, distribute and modify this code under the + * terms of the private license, which you must obtain from the author + * + * To obtain the license, contact the author: https://t.me/real_sergeych or email to + * real dot sergeych at gmail. + */ + import com.ionspin.kotlin.crypto.util.decodeFromUByteArray import com.ionspin.kotlin.crypto.util.encodeToUByteArray import kotlinx.coroutines.test.runTest diff --git a/src/commonTest/kotlin/PBKDTest.kt b/src/commonTest/kotlin/PBKDTest.kt index 9f10b39..98ca674 100644 --- a/src/commonTest/kotlin/PBKDTest.kt +++ b/src/commonTest/kotlin/PBKDTest.kt @@ -1,3 +1,13 @@ +/* + * Copyright (c) 2025. Sergey S. Chernov - All Rights Reserved + * + * You may use, distribute and modify this code under the + * terms of the private license, which you must obtain from the author + * + * To obtain the license, contact the author: https://t.me/real_sergeych or email to + * real dot sergeych at gmail. + */ + import kotlinx.coroutines.test.runTest import net.sergeych.crypto2.PBKD import net.sergeych.crypto2.initCrypto diff --git a/src/commonTest/kotlin/PackTest.kt b/src/commonTest/kotlin/PackTest.kt index 6a774b4..8be7901 100644 --- a/src/commonTest/kotlin/PackTest.kt +++ b/src/commonTest/kotlin/PackTest.kt @@ -1,3 +1,13 @@ +/* + * Copyright (c) 2025. Sergey S. Chernov - All Rights Reserved + * + * You may use, distribute and modify this code under the + * terms of the private license, which you must obtain from the author + * + * To obtain the license, contact the author: https://t.me/real_sergeych or email to + * real dot sergeych at gmail. + */ + import kotlinx.coroutines.test.runTest import kotlinx.datetime.Instant import net.sergeych.crypto2.initCrypto diff --git a/src/commonTest/kotlin/RingTest.kt b/src/commonTest/kotlin/RingTest.kt index ac010ed..017410c 100644 --- a/src/commonTest/kotlin/RingTest.kt +++ b/src/commonTest/kotlin/RingTest.kt @@ -1,3 +1,13 @@ +/* + * Copyright (c) 2025. Sergey S. Chernov - All Rights Reserved + * + * You may use, distribute and modify this code under the + * terms of the private license, which you must obtain from the author + * + * To obtain the license, contact the author: https://t.me/real_sergeych or email to + * real dot sergeych at gmail. + */ + import com.ionspin.kotlin.crypto.util.encodeToUByteArray import kotlinx.coroutines.test.runTest import net.sergeych.bintools.toDump diff --git a/src/commonTest/kotlin/ToolsTest.kt b/src/commonTest/kotlin/ToolsTest.kt index 9763fd9..268d807 100644 --- a/src/commonTest/kotlin/ToolsTest.kt +++ b/src/commonTest/kotlin/ToolsTest.kt @@ -1,3 +1,13 @@ +/* + * Copyright (c) 2025. Sergey S. Chernov - All Rights Reserved + * + * You may use, distribute and modify this code under the + * terms of the private license, which you must obtain from the author + * + * To obtain the license, contact the author: https://t.me/real_sergeych or email to + * real dot sergeych at gmail. + */ + import kotlinx.coroutines.test.runTest import net.sergeych.bintools.encodeToHex import net.sergeych.crypto2.BinaryId diff --git a/src/commonTest/kotlin/assertThrows.kt b/src/commonTest/kotlin/assertThrows.kt index dc63eeb..7f4db51 100644 --- a/src/commonTest/kotlin/assertThrows.kt +++ b/src/commonTest/kotlin/assertThrows.kt @@ -1,3 +1,13 @@ +/* + * Copyright (c) 2025. Sergey S. Chernov - All Rights Reserved + * + * You may use, distribute and modify this code under the + * terms of the private license, which you must obtain from the author + * + * To obtain the license, contact the author: https://t.me/real_sergeych or email to + * real dot sergeych at gmail. + */ + import kotlin.test.fail inline fun assertThrows(f: ()->Unit): T { diff --git a/src/commonTest/kotlin/test_tools.kt b/src/commonTest/kotlin/test_tools.kt index e8716ce..7a43d2f 100644 --- a/src/commonTest/kotlin/test_tools.kt +++ b/src/commonTest/kotlin/test_tools.kt @@ -1,3 +1,13 @@ +/* + * Copyright (c) 2025. Sergey S. Chernov - All Rights Reserved + * + * You may use, distribute and modify this code under the + * terms of the private license, which you must obtain from the author + * + * To obtain the license, contact the author: https://t.me/real_sergeych or email to + * real dot sergeych at gmail. + */ + import net.sergeych.bipack.BipackDecoder import net.sergeych.bipack.BipackEncoder