sbpf-linker 0.1.2

Upstream BPF linker for SBPF V0 programs
pub mod byteparser;

use byteparser::parse_bytecode;

use sbpf_assembler::Program;

use anyhow::Result;

pub fn link_program(source: &Vec<u8>) -> Result<Vec<u8>, String> {
    let parse_result = match parse_bytecode(source) {
        Ok(program) => program,
        Err(errors) => {
            return Err(errors);
        }
    };
    let program = Program::from_parse_result(parse_result);
    let bytecode = program.emit_bytecode();
    Ok(bytecode)
}