-
Notifications
You must be signed in to change notification settings - Fork 16
Expand file tree
/
Copy pathVerifierProxyUnsetVerifierTest.t.sol
More file actions
42 lines (33 loc) · 1.46 KB
/
VerifierProxyUnsetVerifierTest.t.sol
File metadata and controls
42 lines (33 loc) · 1.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
// SPDX-License-Identifier: UNLICENSED
pragma solidity 0.8.19;
import {VerifierProxy} from "../../../v0.3.0/VerifierProxy.sol";
import {BaseTest, BaseTestWithConfiguredVerifierAndFeeManager} from "./BaseVerifierTest.t.sol";
contract VerifierProxyUnsetVerifierTestV03 is BaseTest {
function test_revertsIfNotAdmin() public {
vm.expectRevert("Only callable by owner");
changePrank(USER);
s_verifierProxy.unsetVerifier(bytes32(""));
}
function test_revertsIfDigestDoesNotExist() public {
vm.expectRevert(abi.encodeWithSelector(VerifierProxy.VerifierNotFound.selector, bytes32("")));
s_verifierProxy.unsetVerifier(bytes32(""));
}
}
contract VerifierProxyUnsetVerifierWithPreviouslySetVerifierTestV03 is BaseTestWithConfiguredVerifierAndFeeManager {
bytes32 internal s_configDigest;
event VerifierUnset(bytes32 configDigest, address verifierAddr);
function setUp() public override {
BaseTestWithConfiguredVerifierAndFeeManager.setUp();
(,, s_configDigest) = s_verifier.latestConfigDetails(FEED_ID);
}
function test_correctlyUnsetsVerifier() public {
s_verifierProxy.unsetVerifier(s_configDigest);
address verifierAddr = s_verifierProxy.getVerifier(s_configDigest);
assertEq(verifierAddr, address(0));
}
function test_emitsAnEventAfterUnsettingVerifier() public {
vm.expectEmit(true, false, false, false);
emit VerifierUnset(s_configDigest, address(s_verifier));
s_verifierProxy.unsetVerifier(s_configDigest);
}
}