mirror of
https://github.com/signalapp/libsignal.git
synced 2026-04-25 17:25:18 +02:00
- Java: org.whispersystems:signal-client-java ->
org.signal:libsignal-client
- Java: org.whispersystems:signal-client-android ->
org.signal:libsignal-android
- Java: org.whispersystems:libsignal-server ->
org.signal:libsignal-server
- Swift: SignalClient -> LibSignalClient
- NPM: @signalapp/signal-client -> @signalapp/libsignal-client
- Repository: github.com/signalapp/libsignal-client ->
github.com/signalapp/libsignal
62 lines
2.7 KiB
Swift
62 lines
2.7 KiB
Swift
//
|
|
// Copyright 2020-2021 Signal Messenger, LLC.
|
|
// SPDX-License-Identifier: AGPL-3.0-only
|
|
//
|
|
|
|
import Foundation
|
|
import SignalFfi
|
|
|
|
public class ClientZkReceiptOperations {
|
|
|
|
let serverPublicParams: ServerPublicParams
|
|
|
|
public init(serverPublicParams: ServerPublicParams) {
|
|
self.serverPublicParams = serverPublicParams
|
|
}
|
|
|
|
public func createReceiptCredentialRequestContext(receiptSerial: ReceiptSerial) throws -> ReceiptCredentialRequestContext {
|
|
return try createReceiptCredentialRequestContext(randomness: Randomness.generate(), receiptSerial: receiptSerial)
|
|
}
|
|
|
|
public func createReceiptCredentialRequestContext(randomness: Randomness, receiptSerial: ReceiptSerial) throws -> ReceiptCredentialRequestContext {
|
|
return try serverPublicParams.withUnsafePointerToSerialized { serverPublicParams in
|
|
try randomness.withUnsafePointerToBytes { randomness in
|
|
try receiptSerial.withUnsafePointerToSerialized { receiptSerial in
|
|
try invokeFnReturningSerialized {
|
|
signal_server_public_params_create_receipt_credential_request_context_deterministic($0, serverPublicParams, randomness, receiptSerial)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
public func receiveReceiptCredential(receiptCredentialRequestContext: ReceiptCredentialRequestContext, receiptCredentialResponse: ReceiptCredentialResponse) throws -> ReceiptCredential {
|
|
return try serverPublicParams.withUnsafePointerToSerialized { serverPublicParams in
|
|
try receiptCredentialRequestContext.withUnsafePointerToSerialized { requestContext in
|
|
try receiptCredentialResponse.withUnsafePointerToSerialized { response in
|
|
try invokeFnReturningSerialized {
|
|
signal_server_public_params_receive_receipt_credential($0, serverPublicParams, requestContext, response)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
public func createReceiptCredentialPresentation(receiptCredential: ReceiptCredential) throws -> ReceiptCredentialPresentation {
|
|
return try createReceiptCredentialPresentation(randomness: Randomness.generate(), receiptCredential: receiptCredential)
|
|
}
|
|
|
|
public func createReceiptCredentialPresentation(randomness: Randomness, receiptCredential: ReceiptCredential) throws -> ReceiptCredentialPresentation {
|
|
return try serverPublicParams.withUnsafePointerToSerialized { serverPublicParams in
|
|
try randomness.withUnsafePointerToBytes { randomness in
|
|
try receiptCredential.withUnsafePointerToSerialized { receiptCredential in
|
|
try invokeFnReturningSerialized {
|
|
signal_server_public_params_create_receipt_credential_presentation_deterministic($0, serverPublicParams, randomness, receiptCredential)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|