clvk-utils 0.50.0

Utility functions for processing clvk programs and structures
Documentation

CLVK Utils

This provides various commonly needed utilities for working with CLVK values.

Currying Example

use clvk_utils::CurriedProgram;
use clvk_traits::{ToClvk, clvk_curried_args};
use clvkr::{Allocator, serde::node_to_bytes};

let a = &mut Allocator::new();

let program = a.one();

let ptr = CurriedProgram {
    program,
    args: clvk_curried_args!(42, 75),
}
.to_clvk(a)
.unwrap();

let hex = hex::encode(node_to_bytes(a, ptr).unwrap());

// (a (q . 1) (c (q . 42) (c (q . 75) 1)))
assert_eq!(hex, "ff02ffff0101ffff04ffff012affff04ffff014bff01808080");