BaseVerifierHelper.sol
This is a basic verifier helper contract. It contains signals and error codes used across verifier helper contracts.
chainid
Get the current chain ID.
EpochKeySignals
Signals inside a epoch key proof and epoch key lite proof.
caution
stateTreeRoot
will be 0 in an epoch key lite proof.
struct EpochKeySignals {
uint256 epochKey;
uint256 stateTreeRoot;
uint256 data;
uint160 attesterId;
uint48 epoch;
uint48 chainId;
uint8 nonce;
bool revealNonce;
}
ReputationSignals
Signals inside a reputation proof.
struct ReputationSignals {
uint256 epochKey;
uint256 stateTreeRoot;
uint256 minRep;
uint256 maxRep;
uint256 graffiti;
uint256 data;
uint160 attesterId;
uint48 epoch;
uint48 chainId;
uint8 nonce;
bool revealNonce;
bool proveMinRep;
bool proveMaxRep;
bool proveZeroRep;
bool proveGraffiti;
}
decodeEpochKeyControl
Decode an epoch key related control from epoch key lite proof, epoch key proof, and reputation proof into named variables.
function decodeEpochKeyControl(uint256 control)
public
pure
returns (
uint8 nonce,
uint48 epoch,
uint160 attesterId,
bool revealNonce,
uint48 chainId
)
shift
Get data in certain range of bits.
data | |
---|---|
Variable bits | Shift bits |
It will return a variable from data within variable bits.
function shiftAndParse(
uint256 data,
uint8 shiftBits,
uint8 variableBits
) public pure returns (uint256)