Skip to main content

CommitmentAxis

Trait CommitmentAxis 

Source
pub trait CommitmentAxis: AxisExtension {
    const AXIS_ADDRESS: &'static str = "https://uor.foundation/axis/CommitmentAxis";
    const MAX_OUTPUT_BYTES: usize = 96;

    // Required method
    fn commit(input: &[u8], out: &mut [u8]) -> Result<usize, ShapeViolation>;
}
Expand description

Wiki ADR-031 commitment schemes (Merkle, Pedersen, KZG).

Provided Associated Constants§

Source

const AXIS_ADDRESS: &'static str = "https://uor.foundation/axis/CommitmentAxis"

Source

const MAX_OUTPUT_BYTES: usize = 96

Required Methods§

Source

fn commit(input: &[u8], out: &mut [u8]) -> Result<usize, ShapeViolation>

Commit to input — emits the commitment bytes into out.

§Errors

Returns ShapeViolation on malformed input.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<H, const LEAF_BYTES: usize> CommitmentAxis for MerkleRoot<H, LEAF_BYTES>
where H: HashAxis,

Source§

const AXIS_ADDRESS: &'static str = "https://uor.foundation/axis/CommitmentAxis/MerkleRootParametric"

Source§

const MAX_OUTPUT_BYTES: usize = LEAF_BYTES