Prepared by:
HALBORN
Last Updated 07/27/2026
Date of Engagement: July 21st, 2026 - July 21st, 2026
100% of all REPORTED Findings have been addressed
All findings
8
Critical
0
High
1
Medium
0
Low
1
Informational
6
Saucerswap Labs engaged Halborn to conduct a security assessment on their smart contracts beginning and ending on July 21st 2026. The assessment scope was limited to the smart contracts provided to Halborn. Commit hashes and additional details are available in the Scope section of this report.
The reviewed contracts comprise the newly introduced DelegationRegistry contract and the diff-scoped additions to PartialFillLimitOrderReactor contract, which together extend SaucerSwap's partial-fill settlement engine with account-to-account order delegation that enables a delegator to authorize a delegate to sign limit orders on the delegator's behalf, funded from the delegator's own Permit2 allowance, subject to per-token net-outflow caps. DelegationRegistry is a standalone, fund-less policy ledger that stores delegation grants and enforces per-token spending budgets through signed cumulative counters updated atomically on each fill; PartialFillLimitOrderReactor is the settlement engine, extended with a vault-authorized signature mode and an account-delegation mode that recovers the delegate's signature and coordinates with the registry to authorize each partial fill. Both contracts are non-upgradeable with immutable cross-references, owner-gated administration on the reactor, and registry authority scoped by the calling reactor's address as a namespace key.
Halborn was provided with 1 day for this engagement and assigned a full-time security engineer to assess the security of the smart contracts in scope. The assigned engineer possesses deep expertise in blockchain and smart contract security, including hands-on experience with multiple blockchain protocols.
The objective of this assessment is to:
Identify potential security vulnerabilities within the smart contracts.
Verify that the smart contract functionality operates as intended.
In summary, Halborn identified several areas for improvement to reduce the likelihood and impact of security risks, which were partially addressed by the Saucerswap Labs team. The main recommendations were:
Persist the authorization mode on first fill and enforce it on every subsequent fill so that delegated orders cannot be downgraded to the signature-once path.
Record actual transferred amounts using balance deltas rather than nominal values to ensure net-outflow accounting reflects real token movements.
Register delegation-specific error selectors in the skip code classifier so that registry failures are attributed distinctly from maker validation errors.
This assessment only covers the changes introduced between commit 6ef6c59 and commit ed4b604 for the smart contracts listed in the Scope section of this report. All other parts of the codebase are treated as black boxes, and it is assumed that any required security mechanisms are properly implemented elsewhere in the system. This includes, but is not limited to, input validation, business logic enforcement, and access control.
Differential audits focus on identifying security risks introduced or modified in a specific set of changes. While some components added in the diff may interact with each other or with existing logic, these interactions are only reviewed when they are explicitly visible within the diff itself. Implicit assumptions or cross-component dependencies may fall outside the scope unless clearly surfaced through changes or supporting context.
For a more complete understanding of the protocol's security posture and the behavior of interconnected components, a full-scope assessment is recommended.
Halborn performed a combination of manual review of the code and automated security testing to balance efficiency, timeliness, practicality, and accuracy in regard to the scope of the smart contract assessment. While manual testing is recommended to uncover flaws in logic, process, and implementation; automated testing techniques help enhance coverage of smart contracts and can quickly identify items that do not follow security best practices.
The following phases and associated tools were used throughout the term of the assessment:
Research into the architecture and purpose of the in-scope contracts.
Manual code review and walkthrough of the in-scope contracts.
Manual assessment of critical Solidity variables and functions to identify potential vulnerability classes.
Manual testing using custom scripts.
Static Analysis of security for scoped contract, and imported functions (Slither).
Local deployment and testing with (Foundry, Remix IDE).
| EXPLOITABILITY METRIC () | METRIC VALUE | NUMERICAL VALUE |
|---|---|---|
| Attack Origin (AO) | Arbitrary (AO:A) Specific (AO:S) | 1 0.2 |
| Attack Cost (AC) | Low (AC:L) Medium (AC:M) High (AC:H) | 1 0.67 0.33 |
| Attack Complexity (AX) | Low (AX:L) Medium (AX:M) High (AX:H) | 1 0.67 0.33 |
| IMPACT METRIC () | METRIC VALUE | NUMERICAL VALUE |
|---|---|---|
| Confidentiality (C) | None (C:N) Low (C:L) Medium (C:M) High (C:H) Critical (C:C) | 0 0.25 0.5 0.75 1 |
| Integrity (I) | None (I:N) Low (I:L) Medium (I:M) High (I:H) Critical (I:C) | 0 0.25 0.5 0.75 1 |
| Availability (A) | None (A:N) Low (A:L) Medium (A:M) High (A:H) Critical (A:C) | 0 0.25 0.5 0.75 1 |
| Deposit (D) | None (D:N) Low (D:L) Medium (D:M) High (D:H) Critical (D:C) | 0 0.25 0.5 0.75 1 |
| Yield (Y) | None (Y:N) Low (Y:L) Medium (Y:M) High (Y:H) Critical (Y:C) | 0 0.25 0.5 0.75 1 |
| SEVERITY COEFFICIENT () | COEFFICIENT VALUE | NUMERICAL VALUE |
|---|---|---|
| Reversibility () | None (R:N) Partial (R:P) Full (R:F) | 1 0.5 0.25 |
| Scope () | Changed (S:C) Unchanged (S:U) | 1.25 1 |
| Severity | Score Value Range |
|---|---|
| Critical | 9 - 10 |
| High | 7 - 8.9 |
| Medium | 4.5 - 6.9 |
| Low | 2 - 4.4 |
| Informational | 0 - 1.9 |
Critical
0
High
1
Medium
0
Low
1
Informational
6
| Security analysis | Risk level | Remediation Date |
|---|---|---|
| Delegation Authorization Bypass on Subsequent Partial Fills via Signature Mode Byte Switching | High | Solved - 07/25/2026 |
| Custom-fee tokens break the delegation net-outflow cap guarantee | Low | Risk Accepted - 07/25/2026 |
| Delegation registry revert errors misclassified in fault-tolerant skip code attribution | Informational | Acknowledged - 07/25/2026 |
| Asymmetric fault tolerance between taker and maker fee controller calls | Informational | Acknowledged - 07/25/2026 |
| Revoking a non-existent delegation silently succeeds | Informational | Solved - 07/25/2026 |
| Delegation grants can be created with an already-expired expiration | Informational | Solved - 07/25/2026 |
| Grant overwrite resets accumulated net-outflow counters | Informational | Acknowledged - 07/25/2026 |
| Missing token association for fee collection causes unguarded settlement revert | Informational | Acknowledged - 07/25/2026 |
//
//
//
//
//
//
//
//
Halborn strongly recommends conducting a follow-up assessment of the project either within six months or immediately following any material changes to the codebase, whichever comes first. This approach is crucial for maintaining the project’s integrity and addressing potential vulnerabilities introduced by code modifications.
// Download the full report
Smart Contract Assessment
* Use Google Chrome for best results
** Check "Background Graphics" in the print settings if needed