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%
7.7 KB · 250 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 Foundation1112/// Hash functions13public struct Hash {1415    /// Computes the SHA1 of a block of data.16    ///17    /// - Parameter data: Non-null block of data18    /// - Returns: Non-null computed SHA1 block of data19    public static func sha1(data: Data) -> Data {20        let dataData = TWDataCreateWithNSData(data)21        defer {22            TWDataDelete(dataData)23        }24        return TWDataNSData(TWHashSHA1(dataData))25    }2627    /// Computes the SHA256 of a block of data.28    ///29    /// - Parameter data: Non-null block of data30    /// - Returns: Non-null computed SHA256 block of data31    public static func sha256(data: Data) -> Data {32        let dataData = TWDataCreateWithNSData(data)33        defer {34            TWDataDelete(dataData)35        }36        return TWDataNSData(TWHashSHA256(dataData))37    }3839    /// Computes the SHA512 of a block of data.40    ///41    /// - Parameter data: Non-null block of data42    /// - Returns: Non-null computed SHA512 block of data43    public static func sha512(data: Data) -> Data {44        let dataData = TWDataCreateWithNSData(data)45        defer {46            TWDataDelete(dataData)47        }48        return TWDataNSData(TWHashSHA512(dataData))49    }5051    /// Computes the SHA512_256 of a block of data.52    ///53    /// - Parameter data: Non-null block of data54    /// - Returns: Non-null computed SHA512_256 block of data55    public static func sha512_256(data: Data) -> Data {56        let dataData = TWDataCreateWithNSData(data)57        defer {58            TWDataDelete(dataData)59        }60        return TWDataNSData(TWHashSHA512_256(dataData))61    }6263    /// Computes the Keccak256 of a block of data.64    ///65    /// - Parameter data: Non-null block of data66    /// - Returns: Non-null computed Keccak256 block of data67    public static func keccak256(data: Data) -> Data {68        let dataData = TWDataCreateWithNSData(data)69        defer {70            TWDataDelete(dataData)71        }72        return TWDataNSData(TWHashKeccak256(dataData))73    }7475    /// Computes the Keccak512 of a block of data.76    ///77    /// - Parameter data: Non-null block of data78    /// - Returns: Non-null computed Keccak512 block of data79    public static func keccak512(data: Data) -> Data {80        let dataData = TWDataCreateWithNSData(data)81        defer {82            TWDataDelete(dataData)83        }84        return TWDataNSData(TWHashKeccak512(dataData))85    }8687    /// Computes the SHA3_256 of a block of data.88    ///89    /// - Parameter data: Non-null block of data90    /// - Returns: Non-null computed SHA3_256 block of data91    public static func sha3_256(data: Data) -> Data {92        let dataData = TWDataCreateWithNSData(data)93        defer {94            TWDataDelete(dataData)95        }96        return TWDataNSData(TWHashSHA3_256(dataData))97    }9899    /// Computes the SHA3_512 of a block of data.100    ///101    /// - Parameter data: Non-null block of data102    /// - Returns: Non-null computed SHA3_512 block of data103    public static func sha3_512(data: Data) -> Data {104        let dataData = TWDataCreateWithNSData(data)105        defer {106            TWDataDelete(dataData)107        }108        return TWDataNSData(TWHashSHA3_512(dataData))109    }110111    /// Computes the RIPEMD of a block of data.112    ///113    /// - Parameter data: Non-null block of data114    /// - Returns: Non-null computed RIPEMD block of data115    public static func ripemd(data: Data) -> Data {116        let dataData = TWDataCreateWithNSData(data)117        defer {118            TWDataDelete(dataData)119        }120        return TWDataNSData(TWHashRIPEMD(dataData))121    }122123    /// Computes the Blake256 of a block of data.124    ///125    /// - Parameter data: Non-null block of data126    /// - Returns: Non-null computed Blake256 block of data127    public static func blake256(data: Data) -> Data {128        let dataData = TWDataCreateWithNSData(data)129        defer {130            TWDataDelete(dataData)131        }132        return TWDataNSData(TWHashBlake256(dataData))133    }134135    /// Computes the Blake2b of a block of data.136    ///137    /// - Parameter data: Non-null block of data138    /// - Returns: Non-null computed Blake2b block of data139    public static func blake2b(data: Data, size: Int) -> Data {140        let dataData = TWDataCreateWithNSData(data)141        defer {142            TWDataDelete(dataData)143        }144        return TWDataNSData(TWHashBlake2b(dataData, size))145    }146147    /// Computes the Groestl512 of a block of data.148    ///149    /// - Parameter data: Non-null block of data150    /// - Returns: Non-null computed Groestl512 block of data151    public static func blake2bPersonal(data: Data, personal: Data, outlen: Int) -> Data {152        let dataData = TWDataCreateWithNSData(data)153        defer {154            TWDataDelete(dataData)155        }156        let personalData = TWDataCreateWithNSData(personal)157        defer {158            TWDataDelete(personalData)159        }160        return TWDataNSData(TWHashBlake2bPersonal(dataData, personalData, outlen))161    }162163164    public static func groestl512(data: Data) -> Data {165        let dataData = TWDataCreateWithNSData(data)166        defer {167            TWDataDelete(dataData)168        }169        return TWDataNSData(TWHashGroestl512(dataData))170    }171172    /// Computes the SHA256D of a block of data.173    ///174    /// - Parameter data: Non-null block of data175    /// - Returns: Non-null computed SHA256D block of data176    public static func sha256SHA256(data: Data) -> Data {177        let dataData = TWDataCreateWithNSData(data)178        defer {179            TWDataDelete(dataData)180        }181        return TWDataNSData(TWHashSHA256SHA256(dataData))182    }183184    /// Computes the SHA256RIPEMD of a block of data.185    ///186    /// - Parameter data: Non-null block of data187    /// - Returns: Non-null computed SHA256RIPEMD block of data188    public static func sha256RIPEMD(data: Data) -> Data {189        let dataData = TWDataCreateWithNSData(data)190        defer {191            TWDataDelete(dataData)192        }193        return TWDataNSData(TWHashSHA256RIPEMD(dataData))194    }195196    /// Computes the SHA3_256RIPEMD of a block of data.197    ///198    /// - Parameter data: Non-null block of data199    /// - Returns: Non-null computed SHA3_256RIPEMD block of data200    public static func sha3_256RIPEMD(data: Data) -> Data {201        let dataData = TWDataCreateWithNSData(data)202        defer {203            TWDataDelete(dataData)204        }205        return TWDataNSData(TWHashSHA3_256RIPEMD(dataData))206    }207208    /// Computes the Blake256D of a block of data.209    ///210    /// - Parameter data: Non-null block of data211    /// - Returns: Non-null computed Blake256D block of data212    public static func blake256Blake256(data: Data) -> Data {213        let dataData = TWDataCreateWithNSData(data)214        defer {215            TWDataDelete(dataData)216        }217        return TWDataNSData(TWHashBlake256Blake256(dataData))218    }219220    /// Computes the Blake256RIPEMD of a block of data.221    ///222    /// - Parameter data: Non-null block of data223    /// - Returns: Non-null computed Blake256RIPEMD block of data224    public static func blake256RIPEMD(data: Data) -> Data {225        let dataData = TWDataCreateWithNSData(data)226        defer {227            TWDataDelete(dataData)228        }229        return TWDataNSData(TWHashBlake256RIPEMD(dataData))230    }231232    /// Computes the Groestl512D of a block of data.233    ///234    /// - Parameter data: Non-null block of data235    /// - Returns: Non-null computed Groestl512D block of data236    public static func groestl512Groestl512(data: Data) -> Data {237        let dataData = TWDataCreateWithNSData(data)238        defer {239            TWDataDelete(dataData)240        }241        return TWDataNSData(TWHashGroestl512Groestl512(dataData))242    }243244245    init() {246    }247248249}250