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%
768 B · 25 lines swift
Raw Blame History
1import Foundation23public struct TransactionInstruction: Codable, Equatable {4    public let keys: [AccountMeta]5    public let programId: PublicKey6    public let data: [UInt8]78    public init(keys: [AccountMeta], programId: PublicKey, data: [BytesEncodable]) {9        self.keys = keys10        self.programId = programId11        self.data = data.bytes12    }1314    enum CodingKeys: String, CodingKey {15        case keys, programId, data16    }1718    public func encode(to encoder: Encoder) throws {19        var container = encoder.container(keyedBy: CodingKeys.self)20        try container.encode(keys, forKey: .keys)21        try container.encode(programId.base58EncodedString, forKey: .programId)22        try container.encode(data.toHexString(), forKey: .data)23    }24}25