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 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