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 Foundation1112/// Tezos message signing, verification and utilities.13public struct TezosMessageSigner {1415 /// Implement format input as described in https://tezostaquito.io/docs/signing/16 ///17 /// - Parameter message: message to format e.g: Hello, World18 /// - Parameter dAppUrl: the app url, e.g: testUrl19 /// - Returns:s the formatted message as a string20 public static func formatMessage(message: String, url: String) -> String {21 let messageString = TWStringCreateWithNSString(message)22 defer {23 TWStringDelete(messageString)24 }25 let urlString = TWStringCreateWithNSString(url)26 defer {27 TWStringDelete(urlString)28 }29 return TWStringNSString(TWTezosMessageSignerFormatMessage(messageString, urlString))30 }3132 /// Implement input to payload as described in: https://tezostaquito.io/docs/signing/33 ///34 /// - Parameter message: formatted message to be turned into an hex payload35 /// - Returns: the hexpayload of the formated message as a hex string36 public static func inputToPayload(message: String) -> String {37 let messageString = TWStringCreateWithNSString(message)38 defer {39 TWStringDelete(messageString)40 }41 return TWStringNSString(TWTezosMessageSignerInputToPayload(messageString))42 }4344 /// Sign a message as described in https://tezostaquito.io/docs/signing/45 ///46 /// - Parameter privateKey:: the private key used for signing47 /// - Parameter message:: A custom message payload (hex) which is input to the signing.48 /// - Returns:s the signature, Hex-encoded. On invalid input empty string is returned. Returned object needs to be deleted after use.49 public static func signMessage(privateKey: PrivateKey, message: String) -> String {50 let messageString = TWStringCreateWithNSString(message)51 defer {52 TWStringDelete(messageString)53 }54 return TWStringNSString(TWTezosMessageSignerSignMessage(privateKey.rawValue, messageString))55 }5657 /// Verify signature for a message as described in https://tezostaquito.io/docs/signing/58 ///59 /// - Parameter pubKey:: pubKey that will verify the message from the signature60 /// - Parameter message:: the message signed as a payload (hex)61 /// - Parameter signature:: in Base58-encoded form.62 /// - Returns:s false on any invalid input (does not throw), true if the message can be verified from the signature63 public static func verifyMessage(pubKey: PublicKey, message: String, signature: String) -> Bool {64 let messageString = TWStringCreateWithNSString(message)65 defer {66 TWStringDelete(messageString)67 }68 let signatureString = TWStringCreateWithNSString(signature)69 defer {70 TWStringDelete(signatureString)71 }72 return TWTezosMessageSignerVerifyMessage(pubKey.rawValue, messageString, signatureString)73 }747576 init() {77 }787980}81