clvm_tools
Version:
Javascript implementation of clvm_tools
24 lines (23 loc) • 1.15 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.run_program = exports.brun = exports.run = void 0;
const clvm_1 = require("clvm");
const binutils = require("../clvm_tools/binutils");
exports.run = binutils.assemble("(a 2 3)");
exports.brun = exports.run;
function run_program(program, args, option) {
let operator_lookup = (option && option.operator_lookup) || clvm_1.OPERATOR_LOOKUP;
const strict = (option && option.strict) || false;
const max_cost = (option && typeof option.max_cost === "number") ? option.max_cost : clvm_1.None;
const pre_eval_f = (option && option.pre_eval_f) ? option.pre_eval_f : clvm_1.None;
if (strict) {
const fatal_error = (op, args) => {
const errMsg = "unimplemented operator";
// printError(`EvalError: ${errMsg} ${op}`);
throw new clvm_1.EvalError(errMsg, clvm_1.SExp.to(op));
};
operator_lookup = clvm_1.OperatorDict(operator_lookup, { unknown_op_handler: fatal_error });
}
return clvm_1.run_program(program, args, operator_lookup, max_cost, pre_eval_f);
}
exports.run_program = run_program;