-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
certora updates #17
certora updates #17
Changes from 12 commits
719007c
8acea29
23c8fea
d1832fd
0bdb54d
15871d7
3e15dce
793cd2b
cd55e0f
d148d86
fa90c26
4621474
42a611e
4faeef2
9bb3594
4838471
8468755
7da828e
3a42c44
a7943dd
d1e24e1
38073be
8937188
36af4cb
3488644
d9e997a
7950d57
726543b
00723b0
d9ba8a5
5cce3b4
aa7ce02
78040d3
47592d6
a08d26e
c38a54d
04460ac
246506f
c2e66c6
660f315
0bdb6ab
5df7c54
46741e8
743973f
7a5b2d3
335b4f3
ccb2ae4
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,9 @@ | ||
import "../methods/erc20Methods.spec"; | ||
import "../methods/emitMethods.spec"; | ||
|
||
using TermController as servicerAccessController; | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Tip Codebase Verification Inconsistent usage of alias The alias
Please replace Analysis chainValidate the use of alias for The line Scripts executedThe following scripts were executed for the analysis: Script: #!/bin/bash
# Description: Verify consistent usage of the alias `servicerAccessController`.
# Test: Search for inconsistent usage of the alias. Expect: No occurrences of direct `TermController` usage where the alias should be used.
rg --type spec $'TermController' certora/specs/termRepoServicer/accessRoles.spec
Length of output: 226 |
||
|
||
|
||
methods { | ||
function hasRole(bytes32, address) external returns (bool) envfree; | ||
function ADMIN_ROLE() external returns (bytes32) envfree; | ||
|
@@ -9,9 +12,10 @@ methods { | |
function COLLATERAL_MANAGER() external returns (bytes32) envfree; | ||
function DEVOPS_ROLE() external returns (bytes32) envfree; | ||
function INITIALIZER_ROLE() external returns (bytes32) envfree; | ||
function SPECIALIST_ROLE() external returns (bytes32) envfree; | ||
function ROLLOVER_MANAGER() external returns (bytes32) envfree; | ||
function ROLLOVER_TARGET_AUCTIONEER_ROLE() external returns (bytes32) envfree; | ||
|
||
function TermController.verifyMintExposureAccess(address) external returns(bool) envfree; | ||
} | ||
|
||
|
||
|
@@ -36,10 +40,10 @@ rule onlyRoleCanCallRevert(method f, calldataarg args, env e) filtered { | |
|| hasRole(AUCTIONEER(),e.msg.sender) | ||
|| hasRole(COLLATERAL_MANAGER(),e.msg.sender) | ||
|| hasRole(DEVOPS_ROLE(),e.msg.sender) | ||
|| hasRole(SPECIALIST_ROLE(),e.msg.sender) | ||
|| hasRole(ROLLOVER_MANAGER(),e.msg.sender) | ||
|| hasRole(ROLLOVER_TARGET_AUCTIONEER_ROLE(),e.msg.sender) | ||
|| hasRole(INITIALIZER_ROLE(),e.msg.sender); | ||
|| hasRole(INITIALIZER_ROLE(),e.msg.sender) | ||
|| servicerAccessController.verifyMintExposureAccess(e.msg.sender); | ||
} | ||
|
||
rule onlyRoleCanCallStorage(method f, calldataarg args, env e) filtered { | ||
|
@@ -64,8 +68,8 @@ rule onlyRoleCanCallStorage(method f, calldataarg args, env e) filtered { | |
|| hasRole(AUCTIONEER(),e.msg.sender) | ||
|| hasRole(COLLATERAL_MANAGER(),e.msg.sender) | ||
|| hasRole(DEVOPS_ROLE(),e.msg.sender) | ||
|| hasRole(SPECIALIST_ROLE(),e.msg.sender) | ||
|| hasRole(ROLLOVER_MANAGER(),e.msg.sender) | ||
|| hasRole(ROLLOVER_TARGET_AUCTIONEER_ROLE(),e.msg.sender) | ||
|| hasRole(INITIALIZER_ROLE(),e.msg.sender); | ||
|| hasRole(INITIALIZER_ROLE(),e.msg.sender) | ||
|| servicerAccessController.verifyMintExposureAccess(e.msg.sender); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Consider the implications of ignoring all Solidity warnings.
Ignoring all Solidity warnings (
ignore_solidity_warnings: true
) may lead to overlooking significant issues in smart contracts, especially in a production environment. It's crucial to weigh the benefits against potential risks. If this setting is necessary for certain builds or testing scenarios, consider enabling it conditionally or ensuring that all warnings are reviewed manually or through additional automated checks before deployment.