Перейти к содержанию

Spatium SDK

Объявления на уровне пакета

Типы

Имя Описание
Crypto [androidJvm]
interface Crypto
Надежные MPC алгоритмы подписания для ECDSA и EDDSA систем
CryptoError [androidJvm]
sealed class CryptoError : Exception
EcdsaCurve [androidJvm]
enum EcdsaCurve : Enum<EcdsaCurve>
EcdsaKeyCommitmentSchema [androidJvm]
@Serializable
data class EcdsaKeyCommitmentSchema(val version: Version, val syncSessionId: String, val secretId: String, val curve: EcdsaCurve, val derivationCoin: UInt, val derivationAccount: UInt, val keyCommitment: String)
EcdsaSignature [androidJvm]
@Serializable
data class EcdsaSignature(val s: String, val r: String, val recovery: UInt)
EddsaCurve [androidJvm]
enum EddsaCurve : Enum<EddsaCurve>
EddsaSignature [androidJvm]
@Serializable
data class EddsaSignature(val s: String, val r: String)
MemoryStorageDriver [androidJvm]
open class MemoryStorageDriver : StorageDriver
Простоe in-memory ключ-значение хранилище для клиентских приложений
ProtocolError [androidJvm]
sealed class ProtocolError : Exception
ProtocolKotlin [androidJvm]
interface ProtocolKotlin
Надежный MPC протокол подписания для ECDSA и EDDSA систем
RandomBytesSource [androidJvm]
class RandomBytesSource(val generateBytes: (Long) -> String)
ReceiveError [androidJvm]
sealed class ReceiveError : Exception
SCVersion [androidJvm]
enum SCVersion : Enum<SCVersion>
SpatiumCrypto [androidJvm]
open class SpatiumCrypto(val cache: StorageDriver, val storage: StorageDriver) : Crypto
SpatiumCrypto конструктор
SpatiumProtocol [androidJvm]
open class SpatiumProtocol(val crypto: Crypto, val transport: TransportDriver, val timeout: UInt?) : ProtocolKotlin
SpatiumProtocol конструктор
StorageData [androidJvm]
typealias StorageData = Any
Хранение blob данных
StorageDriver [androidJvm]
interface StorageDriver
Абстрактный Storage Driver API
StorageMeta [androidJvm]
data class StorageMeta(val room: String, val topic: String)
Идентификационные данные хранилища
TransportCallback [androidJvm]
typealias TransportCallback = suspend (meta: TransportMeta, data: TransportData, id: String) -> Unit
TransportData [androidJvm]
typealias TransportData = String
Blob данных сообщения
TransportDriver [androidJvm]
interface TransportDriver
Абстрактный Transport Driver API
TransportFilter [androidJvm]
data class TransportFilter(val room: String? = null, val topic: String? = null)
Фильтрация сообщений
TransportMeta [androidJvm]
data class TransportMeta(val room: String, val topic: String)
Идентификационные данные сообщения
TransportPayload [androidJvm]
data class TransportPayload(val room: String, val topic: String, val data: TransportData)
Version [androidJvm]
enum Version : Enum<Version>

Свойства

Имя Описание
NIL_UUID [androidJvm]
val NIL_UUID: String

Функции

Имя Описание
decrypt [androidJvm]
fun decrypt(data: String, key: String): String
deriveHDKey [androidJvm]
fun deriveHDKey(secret: String, coin: UInt, account: UInt): String
deserialize [androidJvm]
fun <T : Any> deserialize(scheme: Class<T>, data: String): T?
encrypt [androidJvm]
fun encrypt(data: String, key: String, randomSource: (Long) -> String): String
getEcdsaPublicKey [androidJvm]
suspend fun getEcdsaPublicKey(driver: ProtocolKotlin, secretId: String, syncSessionId: String): String
Получение составного публичного ключа из уже выполненного сеанса синхронизации
getEddsaPublicKey [androidJvm]
suspend fun getEddsaPublicKey(driver: ProtocolKotlin, secretId: String, syncSessionId: String): String
Получение составного публичного ключа из уже выполненного сеанса синхронизации
matchTransportMeta [androidJvm]
fun matchTransportMeta(meta: TransportMeta, filter: TransportFilter): Boolean
Сравнение меты с фильтром
randomBytes [androidJvm]
fun randomBytes(length: Long): String
read [androidJvm]
suspend fun read(driver: StorageDriver, meta: StorageMeta): StorageData?
Чтение данных, хранящихся в предоставленной мете
receive [androidJvm]
suspend fun receive(driver: TransportDriver, filter: TransportFilter, assert: TransportFilter?, timeout: UInt?): TransportPayload
Получение определенного сообщения
removeDistributedEcdsaKey [androidJvm]
suspend fun removeDistributedEcdsaKey(driver: ProtocolKotlin, secretId: String, syncSessionId: String)
Удаляет уже существующую сессию синхронизации из хранилища
removeDistributedEddsaKey [androidJvm]
suspend fun removeDistributedEddsaKey(driver: ProtocolKotlin, secretId: String, syncSessionId: String)
Удаляет уже существующую сессию синхронизации из хранилища
safeDeserialize [androidJvm]
fun <T : Any> safeDeserialize(scheme: Class<T>, data: String): T?
safeSecurePack [androidJvm]
fun <T : Any> safeSecurePack(v: T, randomSource: (Long) -> String): String?
safeSecureUnpack [androidJvm]
fun <T : Any> safeSecureUnpack(schema: Class<T>, data: String): T?
safeSerialize [androidJvm]
fun <T : Any> safeSerialize(data: T): String?
securePack [androidJvm]
fun <T : Any> securePack(v: T, randomSource: (Long) -> String): String
secureUnpack [androidJvm]
fun <T : Any> secureUnpack(schema: Class<T>, data: String): T
send [androidJvm]
suspend fun send(driver: TransportDriver, meta: TransportMeta, data: TransportData)
Отправка сообщения с помощью транспорта
serialize [androidJvm]
fun <T : Any> serialize(data: T): String
signEcdsaMessage [androidJvm]
suspend fun signEcdsaMessage(driver: ProtocolKotlin, secretId: String, syncSessionId: String, signSessionId: String, message: String): EcdsaSignature
Генерирует распределенную ECDSA подпись для данного сообщения
signEddsaMessage [androidJvm]
suspend fun signEddsaMessage(driver: ProtocolKotlin, secretId: String, syncSessionId: String, signSessionId: String, message: String): EddsaSignature
Генерирует распределенную EDDSA подпись для данного сообщения
syncDistributedEcdsaKey [androidJvm]
suspend fun syncDistributedEcdsaKey(driver: ProtocolKotlin, secretId: String, syncSessionId: String, curve: EcdsaCurve, derivationCoin: UInt, derivationAccount: UInt): String
Выполняет процедуру синхронизации распределенного ключа
syncDistributedEddsaKey [androidJvm]
suspend fun syncDistributedEddsaKey(driver: ProtocolKotlin, secretId: String, syncSessionId: String, curve: EddsaCurve, derivationCoin: UInt, derivationAccount: UInt): String
Выполняет процедуру синхронизации распределенного ключа
take [androidJvm]
suspend fun take(driver: StorageDriver, meta: StorageMeta): StorageData?
Принимает данные, хранящиеся внутри предоставленной меты и удаляет оригинал
write [androidJvm]
suspend fun write(driver: StorageDriver, meta: StorageMeta, data: StorageData)
Записывает блок данных в хранилище, уникально идентифицируется метой