Skip to content
Merged
Show file tree
Hide file tree
Changes from 10 commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ contract AlignedProofAggregationServiceDeployer is Script {
address risc0VerifierAddress = stdJson.readAddress(config_data, ".address.risc0VerifierAddress");
bytes32 risc0AggregationProgramImageId =
stdJson.readBytes32(config_data, ".programs_id.risc0AggregationProgramImageId");
bool devMode = stdJson.readBool(config_data, ".devMode");

address ownerAddress = stdJson.readAddress(config_data, ".permissions.owner");

Expand All @@ -27,13 +28,14 @@ contract AlignedProofAggregationServiceDeployer is Script {
ERC1967Proxy proxy = new ERC1967Proxy(
address(alignedProofAggregationService),
abi.encodeWithSignature(
"initialize(address,address,address,address,bytes32,bytes32)",
"initialize(address,address,address,address,bytes32,bytes32,bool)",
ownerAddress,
alignedAggregatorAddress,
sp1VerifierAddress,
risc0VerifierAddress,
risc0AggregationProgramImageId,
sp1AggregationProgramVKHash
sp1AggregationProgramVKHash,
devMode
)
);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,6 @@
},
"permissions": {
"owner": "0x14dC79964da2C08b23698B3D3cc7Ca32193d9955"
}
},
"devMode": false
}
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,6 @@
},
"permissions": {
"owner": "0x14dC79964da2C08b23698B3D3cc7Ca32193d9955"
}
},
"devMode": true
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,6 @@
},
"permissions": {
"owner": "0x97aEC5F28181abe5d2aD40dBe7FbaEe014529b7D"
}
},
"devMode": false
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,6 @@
},
"permissions": {
"owner": "0xE3C695b73dbe27106aF4530b152de3e57456B385"
}
},
"devMode": false
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,6 @@
},
"permissions": {
"owner": "0xF138043AC49a0cbB1C8fF03433B51861eA0AE927"
}
},
"devMode": false
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,6 @@
},
"permissions": {
"owner": "<owner_address>"
}
},
"devMode": false
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,6 @@
},
"permissions": {
"owner": "<owner_address>"
}
},
"devMode": false
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,6 @@
},
"permissions": {
"owner": "0x771C1aB81C81A774B66C4386Eb50D6DFC8538106"
}
},
"devMode": false
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,6 @@
},
"permissions": {
"owner": ""
}
},
"devMode": false
}

Large diffs are not rendered by default.

21 changes: 8 additions & 13 deletions contracts/src/core/AlignedProofAggregationService.sol
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,9 @@ contract AlignedProofAggregationService is
address public risc0VerifierAddress;

/// @notice whether we are in dev mode or not
/// if the sp1 verifier address is set to this address, then we skip verification
address public constant VERIFIER_MOCK_ADDRESS = address(0xFF);
/// if true, verification checks are skipped (only for test deployments)
/// This flag is set only at initialization and cannot be changed afterwards.
bool public devMode;
Comment thread
JuArce marked this conversation as resolved.
Outdated

/// The unique identifier (image ID) of the RISC Zero aggregator program.
/// This ensures that only proofs generated by a trusted Risc0 program can be verified.
Expand All @@ -55,7 +56,8 @@ contract AlignedProofAggregationService is
address _sp1VerifierAddress,
address _risc0VerifierAddress,
bytes32 _risc0AggregatorProgramImageId,
bytes32 _sp1AggregatorProgramVKHash
bytes32 _sp1AggregatorProgramVKHash,
bool _devMode
) public initializer {
__Ownable_init();
__UUPSUpgradeable_init();
Expand All @@ -65,6 +67,7 @@ contract AlignedProofAggregationService is
risc0VerifierAddress = _risc0VerifierAddress;
risc0AggregatorProgramImageId = _risc0AggregatorProgramImageId;
sp1AggregatorProgramVKHash = _sp1AggregatorProgramVKHash;
devMode = _devMode;
}

function verifySP1(bytes32 blobVersionedHash, bytes calldata sp1PublicValues, bytes calldata sp1ProofBytes)
Expand All @@ -74,7 +77,7 @@ contract AlignedProofAggregationService is
(bytes32 merkleRoot) = abi.decode(sp1PublicValues, (bytes32));

// In dev mode, poofs are mocked, so we skip the verification part
if (_isSP1VerificationEnabled()) {
if (!devMode) {
ISP1Verifier(sp1VerifierAddress).verifyProof(sp1AggregatorProgramVKHash, sp1PublicValues, sp1ProofBytes);
}

Expand All @@ -89,7 +92,7 @@ contract AlignedProofAggregationService is
(bytes32 merkleRoot) = abi.decode(risc0JournalBytes, (bytes32));

// In dev mode, poofs are mocked, so we skip the verification part
if (_isRisc0VerificationEnabled()) {
if (!devMode) {
bytes32 risc0JournalDigest = sha256(risc0JournalBytes);
IRiscZeroVerifier(risc0VerifierAddress).verify(
risc0ReceiptSeal, risc0AggregatorProgramImageId, risc0JournalDigest
Expand Down Expand Up @@ -125,14 +128,6 @@ contract AlignedProofAggregationService is
return aggregatedProofs[merkleRoot];
}

function _isSP1VerificationEnabled() internal view returns (bool) {
return sp1VerifierAddress != VERIFIER_MOCK_ADDRESS;
}

function _isRisc0VerificationEnabled() internal view returns (bool) {
return risc0VerifierAddress != VERIFIER_MOCK_ADDRESS;
}

function _authorizeUpgrade(address newImplementation)
internal
override
Expand Down
14 changes: 7 additions & 7 deletions network_params.yaml

Large diffs are not rendered by default.

Loading