QA Report #199
Labels
bug
Something isn't working
QA (Quality Assurance)
Assets are not at risk. State handling, function incorrect as to spec, issues with clarity, syntax
Overview
Findings
[L-01] Make
revokePolicyApprovals
stricterTreasuryCustodian.sol#L54
As
revokePolicyApprovals
can be called by anyone, it is possible to revoke a non-policy contract that was given a treasury approval, if the contract has a publicisActive
function that returnsfalse
value.Consider making the address validation stricter by also checking whether the address has a public
kernel
function which returns the same address asTreasuryCustodian
's kernel.[L-02] Missing zero address check in
KernelAdapter
constructorKernel.sol#L65-L67
A faulty deployment script might deploy a module/policy with zero address which would render the contract useless, incurring a gas cost for contract the re-deployment.
Consider adding a zero address check for
kernel
.[L-03] Missing validation for
cushionFactor
Operator.sol#L134
In
Operator.constructor()
, there is no check to make sure thatcushionFactor
/configParams[0]
is within acceptable range (100
to10000
). A faulty deployment script might set a wrong value that could cause irregular behaviour during bond market creations.Consider adding a check in
constructor()
to make sure the value is within acceptable range:[N-01] Comment Typo
PRICE.sol#L126
// Cache numbe of observations to save gas.
should be:
// Cache number of observations to save gas.
The text was updated successfully, but these errors were encountered: