feat: wrappers and debugging get/set for the closed groups in user groups

This commit is contained in:
0x330a
2023-08-31 15:03:29 +10:00
parent 51716e718a
commit 63e156cce5
12 changed files with 223 additions and 75 deletions

View File

@@ -275,9 +275,9 @@ object MessageSender {
else -> {}
}
val messageSender = if (serverCapabilities.contains(Capability.BLIND.name.lowercase()) && blindedPublicKey != null) {
SessionId(IdPrefix.BLINDED, blindedPublicKey!!).hexString
SessionId(IdPrefix.BLINDED, blindedPublicKey!!).hexString()
} else {
SessionId(IdPrefix.UN_BLINDED, userEdKeyPair.publicKey.asBytes).hexString
SessionId(IdPrefix.UN_BLINDED, userEdKeyPair.publicKey.asBytes).hexString()
}
message.sender = messageSender
// Set the failure handler (need it here already for precondition failure handling)

View File

@@ -9,7 +9,7 @@ import com.goterl.lazysodium.utils.Key
import com.goterl.lazysodium.utils.KeyPair
import org.session.libsignal.utilities.Hex
import org.session.libsignal.utilities.IdPrefix
import org.session.libsignal.utilities.toHexString
import org.session.libsignal.utilities.SessionId
import org.whispersystems.curve25519.Curve25519
import kotlin.experimental.xor
@@ -231,22 +231,3 @@ object SodiumUtilities {
}
}
class SessionId {
var prefix: IdPrefix?
var publicKey: String
constructor(id: String) {
prefix = IdPrefix.fromValue(id)
publicKey = id.drop(2)
}
constructor(prefix: IdPrefix, publicKey: ByteArray) {
this.prefix = prefix
this.publicKey = publicKey.toHexString()
}
val hexString
get() = prefix?.value + publicKey
}