diff --git a/crates/l2/contracts/src/l1/OnChainProposer.sol b/crates/l2/contracts/src/l1/OnChainProposer.sol index 05adb0c5d0..ae5de121f3 100644 --- a/crates/l2/contracts/src/l1/OnChainProposer.sol +++ b/crates/l2/contracts/src/l1/OnChainProposer.sol @@ -169,7 +169,10 @@ contract OnChainProposer is IOnChainProposer, ReentrancyGuard { uint256 blockNumber, bytes calldata blockProof, bytes32 imageId, - bytes32 journalDigest + bytes32 journalDigest, + bytes32 programVKey, + bytes calldata publicValues, + bytes calldata proofBytes ) external override onlySequencer { require( blockNumber == lastVerifiedBlock + 1, @@ -191,11 +194,6 @@ contract OnChainProposer is IOnChainProposer, ReentrancyGuard { } if (SP1VERIFIER != DEV_MODE) { - // TODO: remove - // used as placeholders - bytes32 programVKey = bytes32(0); - bytes memory publicValues; - bytes memory proofBytes; // If the verification fails, it will revert. ISP1Verifier(SP1VERIFIER).verifyProof( programVKey, diff --git a/crates/l2/contracts/src/l1/interfaces/IOnChainProposer.sol b/crates/l2/contracts/src/l1/interfaces/IOnChainProposer.sol index 14006d1fb4..e641ed5f4a 100644 --- a/crates/l2/contracts/src/l1/interfaces/IOnChainProposer.sol +++ b/crates/l2/contracts/src/l1/interfaces/IOnChainProposer.sol @@ -55,10 +55,17 @@ interface IOnChainProposer { /// @param blockProof is the proof of the block to be verified. /// @param imageId Digest of the zkVM imageid. /// @param journalDigest Digest of the public_inputs aka journal + /// ---------------------------------------------------------------------- + /// @param programVKey Public verifying key + /// @param publicValues Values used to perform the execution + /// @param proofBytes Groth16 proof function verify( uint256 blockNumber, bytes calldata blockProof, bytes32 imageId, - bytes32 journalDigest + bytes32 journalDigest, + bytes32 programVKey, + bytes calldata publicValues, + bytes calldata proofBytes ) external; }