SPB Git

spb/os-vault Public

Self-custody, multi-chain crypto wallet for macOS. One recovery phrase, six chain families, zero API keys — nothing leaves your Mac.

Swift 96% Shell 3.4% Makefile 0.6%
3.6 KB · 95 lines swift
Raw Blame History
1import WalletCoreC2import Foundation3// SPDX-License-Identifier: Apache-2.04//5// Copyright © 2017 Trust Wallet.6//7// This is a GENERATED FILE, changes made here WILL BE LOST.8//910import Foundation111213public final class BizPasskeySession {1415    /// Encodes `BizPasskeySession.registerSession` function call to register a session passkey public key.16    /// 17    /// - Parameter session_passkey_public_key: The nist256p1 (aka secp256p1) public key of the session passkey.18    /// - Parameter valid_until_timestamp: The timestamp until which the session is valid. Big endian uint64.19    /// - Returns: ABI-encoded function call.20    public static func encodeRegisterSessionCall(sessionPasskeyPublicKey: PublicKey, validUntilTimestamp: Data) -> Data? {21        let validUntilTimestampData = TWDataCreateWithNSData(validUntilTimestamp)22        defer {23            TWDataDelete(validUntilTimestampData)24        }25        guard let result = TWBizPasskeySessionEncodeRegisterSessionCall(sessionPasskeyPublicKey.rawValue, validUntilTimestampData) else {26            return nil27        }28        return TWDataNSData(result)29    }3031    /// Encodes `BizPasskeySession.removeSession` function call to deregister a session passkey public key.32    /// 33    /// - Parameter session_passkey_public_key: The nist256p1 (aka secp256p1) public key of the session passkey.34    /// - Returns: ABI-encoded function call.35    public static func encodeRemoveSessionCall(sessionPasskeyPublicKey: PublicKey) -> Data? {36        guard let result = TWBizPasskeySessionEncodeRemoveSessionCall(sessionPasskeyPublicKey.rawValue) else {37            return nil38        }39        return TWDataNSData(result)40    }4142    /// Encodes `BizPasskeySession` nonce.43    /// 44    /// - Parameter nonce: The nonce of the Biz Passkey Session account.45    /// - Returns: uint256 represented as [passkey_nonce_key_192, nonce_64].46    public static func encodePasskeySessionNonce(nonce: Data) -> Data? {47        let nonceData = TWDataCreateWithNSData(nonce)48        defer {49            TWDataDelete(nonceData)50        }51        guard let result = TWBizPasskeySessionEncodePasskeySessionNonce(nonceData) else {52            return nil53        }54        return TWDataNSData(result)55    }5657    /// Signs and encodes `BizPasskeySession.executeWithPasskeySession` function call to execute a batch of transactions.58    /// 59    /// - Parameter input: The serialized data of `BizPasskeySession.ExecuteWithSignatureInput` protobuf message.60    /// - Returns: ABI-encoded function call.61    public static func signExecuteWithSignatureCall(input: Data) -> Data? {62        let inputData = TWDataCreateWithNSData(input)63        defer {64            TWDataDelete(inputData)65        }66        guard let result = TWBizPasskeySessionSignExecuteWithSignatureCall(inputData) else {67            return nil68        }69        return TWDataNSData(result)70    }7172    /// Encodes `BizPasskeySession.executeWithPasskeySession` function call to execute a batch of transactions.73    /// 74    /// - Parameter input: The serialized data of `BizPasskeySession.ExecuteWithPasskeySessionInput` protobuf message.75    /// - Returns: ABI-encoded function call.76    public static func encodeExecuteWithPasskeySessionCall(input: Data) -> Data? {77        let inputData = TWDataCreateWithNSData(input)78        defer {79            TWDataDelete(inputData)80        }81        guard let result = TWBizPasskeySessionEncodeExecuteWithPasskeySessionCall(inputData) else {82            return nil83        }84        return TWDataNSData(result)85    }8687    let rawValue: OpaquePointer8889    init(rawValue: OpaquePointer) {90        self.rawValue = rawValue91    }929394}95