pub const Implementation = struct { pub const KEY_SIZE = 32; pub const SIGNATURE_SIZE = 64; sign: *const fn (key: *const [KEY_SIZE]u8, data: *const []const u8, signature_out: *const [SIGNATURE_SIZE]u8) void, verify: *const fn (key: *const [KEY_SIZE]u8, data: *const []const u8, signature: *const [SIGNATURE_SIZE]u8) void, }; // TODO pub const defaultImplementation = struct { fn sign(key: *const [32]u8, data: *const []const u8, signature_out: *const [64]u8) void { _ = key; _ = data; _ = signature_out; } fn verify(signature: *const [64]u8, data: *const []const u8) void { _ = signature; _ = data; } };