///|
async fn main {
run_cli() catch {
e => @cli.exit_error(e)
}
}
///|
async fn run_cli() -> Unit {
let args = @env.args()
if args.length() != 6 {
raise @jieheng.Invalid(
code="arguments",
path="cli",
message="usage: moon run cmd/verify -- PLAN.json USAGE.json EVIDENCE.json SCALE half-even|half-up|down|up",
)
}
let scale = @cli.scale(args[4])
let rounding = @cli.rounding(args[5])
let plan = @jieheng.decode_plan(@cli.read_input(args[1]))
let usage = @jieheng.decode_usage(@cli.read_input(args[2]))
let evidence = @jieheng.decode_evidence(@cli.read_input(args[3]))
@jieheng.verify_evidence(plan, usage, evidence, scale~, rounding~)
@stdio.stdout.write(
"verified: \{evidence.settlement.currency} \{evidence.settlement.amount}\n",
)
}