1616
1717pragma solidity ^ 0.8.9 ;
1818
19- import {Ownable, Ownable2Step} from "openzeppelin/contracts/access/Ownable2Step.sol " ;
20-
21- import {IRiscZeroVerifier, Receipt} from "./IRiscZeroVerifier.sol " ;
19+ import {IRiscZeroVerifier} from "./IRiscZeroVerifier.sol " ;
2220import {RiscZeroVerifierRouter} from "./RiscZeroVerifierRouter.sol " ;
2321
2422/// @notice Router for IRiscZeroVerifier, allowing multiple implementations to be accessible behind a single address
2523/// and a fallback to the canonical router.
2624/// @dev Extends RiscZeroVerifierRouter to add fallback behavior.
2725contract RiscZeroVerifierFallbackRouter is RiscZeroVerifierRouter {
2826 /// @notice The canonical RISC Zero verifier router used as fallback.
29- IRiscZeroVerifier public FALLBACK_ROUTER ;
27+ RiscZeroVerifierRouter public fallbackRouter ;
3028
31- constructor (address owner , IRiscZeroVerifier fallbackRouter ) RiscZeroVerifierRouter (owner) {
32- require (address (fallbackRouter ) != address (0 ), "Fallback router address cannot be zero " );
33- FALLBACK_ROUTER = fallbackRouter ;
29+ constructor (address owner , RiscZeroVerifierRouter canonicalRouter ) RiscZeroVerifierRouter (owner) {
30+ require (address (canonicalRouter ) != address (0 ), "Fallback router address cannot be zero " );
31+ fallbackRouter = canonicalRouter ;
3432 }
3533
3634 /// @notice Sets the canonical RISC Zero verifier router.
37- function setFallbackRouter (IRiscZeroVerifier verifier ) external onlyOwner {
35+ function setFallbackRouter (RiscZeroVerifierRouter verifier ) external onlyOwner {
3836 if (address (verifier) == address (0 )) {
3937 revert VerifierAddressZero ();
4038 }
41- FALLBACK_ROUTER = verifier;
39+ fallbackRouter = verifier;
4240 }
4341
4442 /// @notice Gets the canonical RISC Zero verifier router.
4543 function getFallbackRouter () external view returns (IRiscZeroVerifier) {
46- return FALLBACK_ROUTER ;
44+ return fallbackRouter ;
4745 }
4846
4947 /// @notice Get the associated verifier, falling back to the canonical router if unset.
@@ -52,7 +50,7 @@ contract RiscZeroVerifierFallbackRouter is RiscZeroVerifierRouter {
5250 IRiscZeroVerifier verifier = verifiers[selector];
5351 // If the verifier is unset, fall back to the canonical router.
5452 if (verifier == UNSET) {
55- return FALLBACK_ROUTER ;
53+ return fallbackRouter. getVerifier (selector) ;
5654 }
5755 if (verifier == TOMBSTONE) {
5856 revert SelectorRemoved ({selector: selector});
0 commit comments