Skip to main content
Version: 2.0.0-beta-4

ReputationProof

Inherits: BaseProof

A class representing a reputation proof. Each of the following are accessible as properties on the object.

import { ReputationProof } from '@unirep/circuits'

const data = new ReputationProof(publicSignals, proof)

epochKey

The epoch key that owns the reputation.

this.epochKey

stateTreeRoot

The state tree root the user is a member of.

this.stateTreeRoot

nonce

The nonce of the epoch key being proven. This value is only set if revealNonce is truthy.

this.nonce

revealNonce

An integer indicating whether or not the nonce should be revealed. If this value is non-zero the nonce is revealed.

this.revealNonce

epoch

The epoch the user is proving membership in.

this.epoch

attesterId

The attester id for the proof.

this.attesterId

data

The signature data included for the proof.

this.data

minRep

A minimum amount of net positive reputation the user controls. This value is only used if proveMinRep is non-zero.

Example: Alice has 10 posRep and 5 negRep. Alice can prove a minRep of 2 because she has a net positive reputation of 5.

this.minRep

proveMinRep

Whether or not to enforce the provided minRep value. If this value is non-zero the minRep will be proven.

this.proveMinRep

maxRep

A maximum amount of net positive reputation the user controls. This value is only used if proveMaxRep is non-zero.

Example: Bob has 10 posRep and 5 negRep. Bob can prove a maxRep of 7 because he has a net positive reputation of 5.

this.maxRep

proveMaxRep

Whether or not to enforce the provided maxRep value. If this value is non-zero the maxRep will be proven.

this.proveMaxRep

proveZeroRep

Whether or not to prove the user has a net 0 reputation balance. If this value is non-zero the user posRep and negRep must be equal.

this.proveZeroRep

proveGraffiti

Whether the user has chosen to prove a graffiti. If this value is non-zero the user graffiti will be proven.

this.proveGraffiti

graffiti

The graffiti controlled by the user, which is defined by data[SUM_FIELD_COUNT] in the circuits. This value is only checked if proveGraffiti is non-zero.

this.graffiti

control

The control field used for the proof. This field contains many signals binary encoded into an array of 256 bit values. This value is automatically decoded into the other properties on this class. See the circuit documentation for more information.

this.control[0]
this.control[1]