Aere Network public source. Everything here can be checked against the live chain (chain id 2800, https://rpc.aere.network). Scope note, stated up front rather than buried: consensus on chain 2800 is classical secp256k1 ECDSA QBFT. The post-quantum work in this repository is at the signature, precompile, account and transport layers. Nothing here makes the consensus post-quantum, and no document in it should be read as claiming so.
25 lines
955 B
Solidity
25 lines
955 B
Solidity
// SPDX-License-Identifier: MIT
|
|
pragma solidity ^0.8.20;
|
|
|
|
/// @title SP1 Verifier Interface
|
|
/// @author Succinct Labs
|
|
/// @notice This contract is the interface for the SP1 Verifier.
|
|
interface ISP1Verifier {
|
|
/// @notice Verifies a proof with given public values and vkey.
|
|
/// @dev It is expected that the first 4 bytes of proofBytes must match the first 4 bytes of
|
|
/// target verifier's VERIFIER_HASH.
|
|
/// @param programVKey The verification key for the RISC-V program.
|
|
/// @param publicValues The public values encoded as bytes.
|
|
/// @param proofBytes The proof of the program execution the SP1 zkVM encoded as bytes.
|
|
function verifyProof(
|
|
bytes32 programVKey,
|
|
bytes calldata publicValues,
|
|
bytes calldata proofBytes
|
|
) external view;
|
|
}
|
|
|
|
interface ISP1VerifierWithHash is ISP1Verifier {
|
|
/// @notice Returns the hash of the verifier.
|
|
function VERIFIER_HASH() external pure returns (bytes32);
|
|
}
|