Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 34 additions & 0 deletions client/library/library/audits/veda-92.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
<page
clientName="Veda Labs"
reportDate="July 15th, 2026"
auditTitle="Veda A-92"
auditVersion="1.0.0"
repoUrl="https://github.com/Veda-Labs/boring-vault"
layout="/library/audits/_layout.html"
customRepoInfo
>

<content-for name="schedule">
The audit was performed by the Macro security team on July 15th, 2026.
</content-for>

<content-for name="spec">
<ul>
<li>Discussions with the {{page.clientName}} team.</li>
<li>Available documentation in the repository.</li>
</ul>
</content-for>

<content-for name="repo-info">
<ul>

<li class="break-words break-all">
<b>AccountantWithRateProviders constructor bound checks (from <a href="https://github.com/Veda-Labs/boring-vault/pull/748">PR 748</a>)</b> </br>
Commit Hash: <code>ee1bbf1b4e1a223d9d624dc8eb709d3b421a2ecf</code>
<template type="file-hashes">
532c78d6e6cd6dc27335067009dab8b63f7ac027640bd372e02a3cbc7773ba8a src/base/Roles/AccountantWithRateProviders.sol
</template>
</li>
</ul>
</content-for>
</page>
12 changes: 12 additions & 0 deletions content/collections/public/veda-92-issues.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<item>
<field name="topic">Scoped Impact</field>
<field name="content">
## [I-1] Constructor bound checks apply only to newly deployed accountants

[PR 748](https://github.com/Veda-Labs/boring-vault/pull/748) adds five input-validation guards to the `AccountantWithRateProviders` constructor so that an accountant can no longer be *deployed* with parameters its own setters would reject.

Previously, the five setters (`updateUpper`, `updatePlatformFee`, etc.) enforced these bounds, but the constructor, as written, would write those same values straight into `accountantState` unchecked. In theory, an accountant could have been deployed in a state that normal operation would never reach.

This change closes that gap by creating consistent checks across both the setters *and* the constructor. No onchain behavior is affected with this change.
</field>
</item>