pub const Contract = struct { id: []const u8, factionSymbol: []const u8, type: Type = .PROCUREMENT, terms: Terms = .{}, accepted: bool = false, fullfilled: bool = false, deadlineToAccept: []const u8, }; pub const Type = enum { PROCUREMENT, TRANSPORT, SHUTTLE, }; pub const Terms = struct { deadline: []const u8 = "", payment: Payment = .{}, deliver: []Deliver = &.{}, }; pub const Payment = struct { onAccepted: u64 = 0, onFulfilled: u64 = 0, }; pub const Deliver = struct { tradeSymbol: []const u8, destinationSymbol: []const u8, unitsRequired: u64, unitsFulfilled: u64, };