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 InterestBearingConfigExtensionState: Token2022ExtensionState {4 public var length: UInt1656 public let rateAuthority: PublicKey7 public let initializationTimestamp: Int648 public let preUpdateAverageRate: Int169 public let lastUpdateTimestamp: Int6410 public let currentRate: Int161112 public init(from reader: inout BinaryReader) throws {13 length = try UInt16(from: &reader)14 rateAuthority = try PublicKey(from: &reader)15 initializationTimestamp = try Int64(from: &reader)16 preUpdateAverageRate = try Int16(from: &reader)17 lastUpdateTimestamp = try Int64(from: &reader)18 currentRate = try Int16(from: &reader)19 }2021 public func serialize(to data: inout Data) throws {22 try length.serialize(to: &data)23 try rateAuthority.serialize(to: &data)24 try initializationTimestamp.serialize(to: &data)25 try preUpdateAverageRate.serialize(to: &data)26 try lastUpdateTimestamp.serialize(to: &data)27 try currentRate.serialize(to: &data)28 }2930 init(31 length: UInt16,32 rateAuthority: PublicKey,33 initializationTimestamp: Int64,34 preUpdateAverageRate: Int16,35 lastUpdateTimestamp: Int64,36 currentRate: Int1637 ) {38 self.length = length39 self.rateAuthority = rateAuthority40 self.initializationTimestamp = initializationTimestamp41 self.preUpdateAverageRate = preUpdateAverageRate42 self.lastUpdateTimestamp = lastUpdateTimestamp43 self.currentRate = currentRate44 }45}46