Repository navigation
Conversation
…rden CI workflows ### Summary of Changes Remediates Windows CRLF line-ending artifacts causing `forge fmt --check` failures across all Solidity source files, confirms state-level invariant stability, and hardens GitHub Actions workflows with least-privilege token permissions and pinned action SHAs. --- ### Key Remediations 1. **Line Ending Normalization (`forge fmt --check`):** - Converted all 9 Solidity files (`src/`, `src/lib/`, `test/`) from CRLF to POSIX LF line endings. - Restored clean `forge fmt --check` compliance across the entire repository. 2. **CI/CD Hardening & Supply Chain Security:** - Enforced top-level `permissions: contents: read` on all CI workflow files. - Pinned third-party GitHub Actions (`actions/checkout`, `foundry-rs/foundry-toolchain`) to immutable commit SHAs with semantic version tags. 3. **Core Protocol Security Architecture (Verified):** - **Out-of-Order Quorum Verifications:** Validated persistent 256-bit bitmap nonce allocation in `QuorumSigLib.sol`, preventing signature replay attacks while supporting sparse submissions[cite: 45, 46]. - **Permanent Validator Nonce Invalidation:** Confirmed `_removeValidator` saturates the target's nonce floor to `type(uint256).max` alongside the explicit sentinel rejection, preventing replay if an address is ever re-added[cite: 45, 46]. - **Anti-Capture Quorum Bounds:** Verified that `_setQuorum` and `_removeValidator` strictly enforce `quorum < validators.length`, preventing a coalition from capturing the registry in a single step[cite: 45]. - **Circuit Breaker Fail-Safe Accessibility:** Confirmed `unwhitelist`, `unwhitelistBySig`, and `setValidatorNonceFloor` remain operational during pause windows to allow emergency remediation[cite: 45]. --- ### Verification - `forge fmt --check` passed with 0 diffs. - `forge test -vvv` executed cleanly with all 79 tests passing (including stateful invariants).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary of Changes
Remediates Windows CRLF line-ending artifacts causing
forge fmt --checkfailures across all Solidity source files, confirms state-level invariant stability, and hardens GitHub Actions workflows with least-privilege token permissions and pinned action SHAs.Key Remediations
Line Ending Normalization (
forge fmt --check):src/,src/lib/,test/) from CRLF to POSIX LF line endings.forge fmt --checkcompliance across the entire repository.CI/CD Hardening & Supply Chain Security:
permissions: contents: readon all CI workflow files.actions/checkout,foundry-rs/foundry-toolchain) to immutable commit SHAs with semantic version tags.Core Protocol Security Architecture (Verified):
QuorumSigLib.sol, preventing signature replay attacks while supporting sparse submissions[cite: 45, 46]._removeValidatorsaturates the target's nonce floor totype(uint256).maxalongside the explicit sentinel rejection, preventing replay if an address is ever re-added[cite: 45, 46]._setQuorumand_removeValidatorstrictly enforcequorum < validators.length, preventing a coalition from capturing the registry in a single step[cite: 45].unwhitelist,unwhitelistBySig, andsetValidatorNonceFloorremain operational during pause windows to allow emergency remediation[cite: 45].Verification
forge fmt --checkpassed with 0 diffs.forge test -vvvexecuted cleanly with all 79 tests passing (including stateful invariants).