Arithmetic PLASMASnooze Streaming API

Table of Contents

Include this API as

#include <wtk/bolt/ArithmeticPLASMASnoozeHandler.h>

Members of this API live in the following namespace

namespace wtk { namespace bolt { ...

The BOLT API is parameterized on two templates.

Number_T

This template is the same integer-like template which the Parser API uses for numeric literals.

Wire_T

This template is an opaque structure supplied by the Backend for encapsulating data related to a wire. PLASMASnooze requires it to be default constructible/destructible, and mutable/overwritable.

template<template Wire_T, typename Number_T> class ArithmeticPLASMASnoozeHandler

The wtk::bolt::ArithmeticPLASMASnoozeHandler<Wire_T, Number_T> implements the wtk::ArithmeticStreamHandler<Number_T> abstract class with callbacks for interpreting wire-numbers and making calls to the wtk::bolt::Backend<Wire_T, Number_T> callback API.

ArithmeticPLASMASnoozeHandler(wtk::bolt::Backend<Wire_T, Number_T>* const b, wtk::InputStream<Number_T>* const ins, wtk::InputStream<Number_T>* const wit)

The constructor requires a wtk::bolt::Backend<Wire_T, Number_T>* for ZK callbacks, as well as two wtk::InputStream<Number_T>* parameters for the instance and short witness. The second input stream (short witness) may be nullptr, as may be necessary for verifier implementations.

ArithmeticPLASMASnoozeHandler(
    wtk::bolt::Backend<Wire_T, Number_T>* const b,
    wtk::InputStream<Number_T>* const ins,
    wtk::InputStream<Number_T>* const wit);

wtk::Bolt::PLASMASnoozeStatus check()

After stream parsing/processing the check() method retrieves a status (wtk::PLASMASnoozeStatus).

wtk::bolt::PLASMASnoozeStatus check();