Files
herolib/lib/data/mnemonic/vnemonic.v
2025-10-12 12:30:19 +03:00

38 lines
852 B
V

module mnemonic
import incubaid.herolib.ui.console
#include "@VMODROOT/vnemonic.h"
#flag @VMODROOT/vnemonic.o
fn C.mnemonic_from_bytes_en(bytes &u8, len usize) &char
fn C.mnemonic_to_bytes_en(mnemonic &i8, bytes_out &u8, len usize, written &usize) int
pub fn parse(mnemonic string) []u8 {
buffer := []u8{len: 128}
written := usize(0)
C.mnemonic_to_bytes_en(mnemonic.str, buffer.data, 128, &written)
mut target := []u8{len: int(written)}
copy(mut target, buffer)
return target
}
pub fn dumps(buffer []u8) string {
str := C.mnemonic_from_bytes_en(buffer.data, buffer.len)
clean := unsafe { cstring_to_vstring(str) }
return clean
}
fn test() {
source := 'turtle soda patrol vacuum turn fault bracket border angry rookie okay anger'
data := parse(source)
console.print_debug(data)
value := dumps(data)
console.print_debug(value)
}