Package-level declarations
Types
Name | Summary |
---|---|
Crypto | [androidJvm] interface Crypto Secure MPC signature algorithms for ECDSA and EDDSA systems |
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 A simple in-memory key-value storage for client apps |
ProtocolError | [androidJvm] sealed class ProtocolError : Exception |
ProtocolKotlin | [androidJvm] interface ProtocolKotlin Secure MPC signature protocol for ECDSA and EDDSA systems |
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 Constructor |
SpatiumProtocol | [androidJvm] open class SpatiumProtocol(val crypto: Crypto, val transport: TransportDriver, val timeout: UInt?) : ProtocolKotlin SpatiumProtocol Constructor |
StorageData | [androidJvm] typealias StorageData = Any Stored data blob |
StorageDriver | [androidJvm] interface StorageDriver Abstract Storage Driver API |
StorageMeta | [androidJvm] data class StorageMeta(val room: String, val topic: String) Storage entry identification data |
TransportCallback | [androidJvm] typealias TransportCallback = suspend (meta: TransportMeta, data: TransportData, id: String) -> Unit |
TransportData | [androidJvm] typealias TransportData = String Message data blob |
TransportDriver | [androidJvm] interface TransportDriver Abstract Transport Driver API |
TransportFilter | [androidJvm] data class TransportFilter(val room: String? = null, val topic: String? = null) Message filter |
TransportMeta | [androidJvm] data class TransportMeta(val room: String, val topic: String) Message identification data |
TransportPayload | [androidJvm] data class TransportPayload(val room: String, val topic: String, val data: TransportData) |
Version | [androidJvm] enum Version : Enum<Version> |
Properties
Name | Summary |
---|---|
NIL_UUID | [androidJvm] val NIL_UUID: String |
Functions
Name | Summary |
---|---|
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 Get a compound public key from an already performed synchronisation session |
getEddsaPublicKey | [androidJvm] suspend fun getEddsaPublicKey(driver: ProtocolKotlin, secretId: String, syncSessionId: String): String Get a compound public key from an already performed synchronisation session |
matchTransportMeta | [androidJvm] fun matchTransportMeta(meta: TransportMeta, filter: TransportFilter): Boolean Match a filter against a meta |
randomBytes | [androidJvm] fun randomBytes(length: Long): String |
read | [androidJvm] suspend fun read(driver: StorageDriver, meta: StorageMeta): StorageData? Read data stored under provided meta |
receive | [androidJvm] suspend fun receive(driver: TransportDriver, filter: TransportFilter, assert: TransportFilter?, timeout: UInt?): TransportPayload Receive a specific message |
removeDistributedEcdsaKey | [androidJvm] suspend fun removeDistributedEcdsaKey(driver: ProtocolKotlin, secretId: String, syncSessionId: String) Remove an already performed synchronisation session from storage |
removeDistributedEddsaKey | [androidJvm] suspend fun removeDistributedEddsaKey(driver: ProtocolKotlin, secretId: String, syncSessionId: String) Remove an already performed synchronisation session from storage |
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) Send a message via transport |
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 Generate distributed EDDSA signature for a given message |
signEddsaMessage | [androidJvm] suspend fun signEddsaMessage(driver: ProtocolKotlin, secretId: String, syncSessionId: String, signSessionId: String, message: String): EddsaSignature Generate distributed EDDSA signature for a given message |
syncDistributedEcdsaKey | [androidJvm] suspend fun syncDistributedEcdsaKey(driver: ProtocolKotlin, secretId: String, syncSessionId: String, curve: EcdsaCurve, derivationCoin: UInt, derivationAccount: UInt): String Perform distributed key synchronisation procedure |
syncDistributedEddsaKey | [androidJvm] suspend fun syncDistributedEddsaKey(driver: ProtocolKotlin, secretId: String, syncSessionId: String, curve: EddsaCurve, derivationCoin: UInt, derivationAccount: UInt): String Perform distributed key synchronisation procedure |
take | [androidJvm] suspend fun take(driver: StorageDriver, meta: StorageMeta): StorageData? Take data stored under provided meta and remove original |
write | [androidJvm] suspend fun write(driver: StorageDriver, meta: StorageMeta, data: StorageData) Write a unit of data into storage, uniquely identified by meta |