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/// Cardano helper functions13public struct Cardano {1415 /// Calculates the minimum ADA amount needed for a UTXO.16 ///17 /// \deprecated consider using `TWCardanoOutputMinAdaAmount` instead.18 /// - SeeAlso: reference https://docs.cardano.org/native-tokens/minimum-ada-value-requirement19 /// - Parameter tokenBundle: serialized data of TW.Cardano.Proto.TokenBundle.20 /// - Returns: the minimum ADA amount.21 public static func minAdaAmount(tokenBundle: Data) -> UInt64 {22 let tokenBundleData = TWDataCreateWithNSData(tokenBundle)23 defer {24 TWDataDelete(tokenBundleData)25 }26 return TWCardanoMinAdaAmount(tokenBundleData)27 }2829 /// Calculates the minimum ADA amount needed for an output.30 ///31 /// - SeeAlso: reference https://docs.cardano.org/native-tokens/minimum-ada-value-requirement32 /// - Parameter toAddress: valid destination address, as string.33 /// - Parameter tokenBundle: serialized data of TW.Cardano.Proto.TokenBundle.34 /// - Parameter coinsPerUtxoByte: cost per one byte of a serialized UTXO (Base-10 decimal string).35 /// - Returns: the minimum ADA amount (Base-10 decimal string).36 public static func outputMinAdaAmount(toAddress: String, tokenBundle: Data, coinsPerUtxoByte: String) -> String? {37 let toAddressString = TWStringCreateWithNSString(toAddress)38 defer {39 TWStringDelete(toAddressString)40 }41 let tokenBundleData = TWDataCreateWithNSData(tokenBundle)42 defer {43 TWDataDelete(tokenBundleData)44 }45 let coinsPerUtxoByteString = TWStringCreateWithNSString(coinsPerUtxoByte)46 defer {47 TWStringDelete(coinsPerUtxoByteString)48 }49 guard let result = TWCardanoOutputMinAdaAmount(toAddressString, tokenBundleData, coinsPerUtxoByteString) else {50 return nil51 }52 return TWStringNSString(result)53 }5455 /// Return the staking address associated to (contained in) this address. Must be a Base address.56 /// Empty string is returned on error. Result must be freed.57 /// - Parameter baseAddress: A valid base address, as string.58 /// - Returns: the associated staking (reward) address, as string, or empty string on error.59 public static func getStakingAddress(baseAddress: String) -> String {60 let baseAddressString = TWStringCreateWithNSString(baseAddress)61 defer {62 TWStringDelete(baseAddressString)63 }64 return TWStringNSString(TWCardanoGetStakingAddress(baseAddressString))65 }6667 /// Return the legacy(byron) address.68 /// - Parameter publicKey: A valid public key with TWPublicKeyTypeED25519Cardano type.69 /// - Returns: the legacy(byron) address, as string, or empty string on error.70 public static func getByronAddress(publicKey: PublicKey) -> String {71 return TWStringNSString(TWCardanoGetByronAddress(publicKey.rawValue))72 }737475 init() {76 }777879}80