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.5 KB · 46 lines swift
Raw Blame History
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