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%
1.0 KB · 34 lines swift
Raw Blame History
1import Foundation23public struct MessageHeader: Decodable, Equatable {4    static let LENGTH = 356    public internal(set) var numRequiredSignatures: Int = 07    public internal(set) var numReadonlySignedAccounts: Int = 08    public internal(set) var numReadonlyUnsignedAccounts: Int = 0910    var bytes: [UInt8] {11        [UInt8(numRequiredSignatures), UInt8(numReadonlySignedAccounts), UInt8(numReadonlyUnsignedAccounts)]12    }13}1415public struct MessageCompiledInstruction: Equatable {16    public let programIdIndex: UInt817    public let accountKeyIndexes: [UInt8]18    public let data: [UInt8]1920    public init(programIdIndex: UInt8, accountKeyIndexes: [UInt8], data: [UInt8]) {21        self.programIdIndex = programIdIndex22        self.accountKeyIndexes = accountKeyIndexes23        self.data = data24    }2526    var serializedData: Data {27        Data([programIdIndex])28            + Data.encodeLength(accountKeyIndexes.count)29            + Data(accountKeyIndexes)30            + Data.encodeLength(data.count)31            + Data(data)32    }33}34