## high 01 stale price check not present when fetching price from chainlink https://github.com/BuidlGuidl/Cohort-as-a-Service/blob/main/packages/hardhat/contracts/Libraries/PriceConverter.sol#L19 there is no check that the `timestamp` returned is not stale ## med 01 `setBuilderApprovalRequirement` can be called the approval for the builder can be set to `false` even if `requireApprovalForWithdrawals` is `true` which breaks the protocol invariant ## gas 01 `isAdmin` & `primaryAdmin` storage vars can be removed to save gas as the oz access control lib can be used with a additional `PRIMARY_ADMIN` role as it is used for the `DEFAULT_ADMIN_ROLE` too ## gas 02 `block.timestamp` can be directly read to save gas https://github.com/BuidlGuidl/Cohort-as-a-Service/blob/main/packages/hardhat/contracts/Cohort.sol#L502