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%
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 Biz {1415 /// Returns the encoded hash of the user operation16 /// 17 /// - Parameter chain_id: The chain ID of the user.18 /// - Parameter code_address: The address of the smart contract wallet.19 /// - Parameter code_name: The name of the smart contract wallet.20 /// - Parameter code_version: The version of the smart contract wallet.21 /// - Parameter type_hash: The type hash of the smart contract wallet.22 /// - Parameter domain_separator_hash: The domain separator hash of the smart contract wallet.23 /// - Parameter sender: The sender of the smart contract wallet.24 /// - Parameter user_op_hash: The user operation hash of the smart contract wallet.25 /// - Returns: The encoded hash.26 public static func getEncodedHash(chainId: Data, codeAddress: String, codeName: String, codeVersion: String, typeHash: String, domainSeparatorHash: String, sender: String, userOpHash: String) -> Data? {27 let chainIdData = TWDataCreateWithNSData(chainId)28 defer {29 TWDataDelete(chainIdData)30 }31 let codeAddressString = TWStringCreateWithNSString(codeAddress)32 defer {33 TWStringDelete(codeAddressString)34 }35 let codeNameString = TWStringCreateWithNSString(codeName)36 defer {37 TWStringDelete(codeNameString)38 }39 let codeVersionString = TWStringCreateWithNSString(codeVersion)40 defer {41 TWStringDelete(codeVersionString)42 }43 let typeHashString = TWStringCreateWithNSString(typeHash)44 defer {45 TWStringDelete(typeHashString)46 }47 let domainSeparatorHashString = TWStringCreateWithNSString(domainSeparatorHash)48 defer {49 TWStringDelete(domainSeparatorHashString)50 }51 let senderString = TWStringCreateWithNSString(sender)52 defer {53 TWStringDelete(senderString)54 }55 let userOpHashString = TWStringCreateWithNSString(userOpHash)56 defer {57 TWStringDelete(userOpHashString)58 }59 guard let result = TWBizGetEncodedHash(chainIdData, codeAddressString, codeNameString, codeVersionString, typeHashString, domainSeparatorHashString, senderString, userOpHashString) else {60 return nil61 }62 return TWDataNSData(result)63 }6465 /// Signs a message using the private key66 /// 67 /// - Parameter hash: The hash of the user.68 /// - Parameter private_key: The private key of the user.69 /// - Returns: The signed hash.70 public static func getSignedHash(hash: String, privateKey: String) -> Data? {71 let hashString = TWStringCreateWithNSString(hash)72 defer {73 TWStringDelete(hashString)74 }75 let privateKeyString = TWStringCreateWithNSString(privateKey)76 defer {77 TWStringDelete(privateKeyString)78 }79 guard let result = TWBizGetSignedHash(hashString, privateKeyString) else {80 return nil81 }82 return TWDataNSData(result)83 }8485 /// Signs and encodes `Biz.executeWithPasskeySession` function call to execute a batch of transactions.86 /// 87 /// - Parameter input: The serialized data of `Biz.ExecuteWithSignatureInput` protobuf message.88 /// - Returns: ABI-encoded function call.89 public static func signExecuteWithSignatureCall(input: Data) -> Data? {90 let inputData = TWDataCreateWithNSData(input)91 defer {92 TWDataDelete(inputData)93 }94 guard let result = TWBizSignExecuteWithSignatureCall(inputData) else {95 return nil96 }97 return TWDataNSData(result)98 }99100 let rawValue: OpaquePointer101102 init(rawValue: OpaquePointer) {103 self.rawValue = rawValue104 }105106107}108