-
Notifications
You must be signed in to change notification settings - Fork 37
Expand file tree
/
Copy pathMockPolicy.sol
More file actions
31 lines (23 loc) · 916 Bytes
/
Copy pathMockPolicy.sol
File metadata and controls
31 lines (23 loc) · 916 Bytes
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
// SPDX-License-Identifier: AGPL-3.0-only
pragma solidity ^0.8.15;
import "src/Kernel.sol";
import "./MockModule.sol";
contract MockPolicy is Policy {
MockModule public MOCKY;
constructor(Kernel kernel_) Policy(kernel_) {}
function configureDependencies() external override returns (Keycode[] memory dependencies) {
dependencies = new Keycode[](1);
dependencies[0] = toKeycode("MOCKY");
MOCKY = MockModule(getModuleAddress(dependencies[0]));
}
function requestPermissions() external view override returns (Permissions[] memory requests) {
requests = new Permissions[](1);
requests[0] = Permissions(toKeycode("MOCKY"), MOCKY.permissionedCall.selector);
}
function callPublicFunction() external {
MOCKY.publicCall();
}
function callPermissionedFunction() external onlyRole("tester") {
MOCKY.permissionedCall();
}
}