feat: emergency circuit breaker, contributor wiki, key management & formal verification - #478
Conversation
…ormal verification - Add CircuitBreaker Soroban contract (global/contract/function pause, 3-of-5 governance override with timelock, 72h auto-expiry) (closes ExcelDsigN-tech#458) - Integrate breaker into lending_pool, agent_vault, loan_manager - Add contributor wiki (architecture, deployment, troubleshooting, onboarding) (closes ExcelDsigN-tech#438) - Add secure key-management docs + HSM/MPC provider scaffold, rotation & emergency-revocation scripts, and a no-hardcoded-secrets scan (closes ExcelDsigN-tech#463) - Document formal verification strategy + invariants (CVL-style) and add an invariants fuzz target (closes ExcelDsigN-tech#464)
|
@Junman140 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
|
Important Review skippedToo many files! This PR contains 106 files, which is 6 over the limit of 100. To get a review, reduce the PR to 100 files or fewer by splitting it into smaller PRs or changing its base branch. Upgrade to a paid plan to raise the limit. This review couldn't start because sufficient usage credits or metered capacity aren't available. Add credits or update usage-based reviews in the billing tab, then retry. ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (106)
You can disable this status message by setting the Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
| // --- CLI entrypoint used by provider.sh ------------------------------- | ||
|
|
||
| async function main() { | ||
| const [action, type, ref] = process.argv.slice(2); |
Summary
Implements the protocol's security & operability hardening across four issues:
circuit_breakerSoroban contract (global / contract / function pause, 3-of-5 governance override with timelock, 72h auto-expiry, events) and integration intolending_pool,agent_vault,loan_managerviaassert_circuit_ok/require_not_paused.docs/wiki/system architecture, deployment runbooks, troubleshooting, and onboarding, linked fromdocs/wiki/README.md.docs/security/key-management.md(HSM/MPC architecture, rotation schedules, key ceremony, emergency revocation), provider-agnosticscripts/key-management/scaffold (CloudHSM + Fireblocks), and a no-hardcoded-secrets scan (scan-secrets.sh) that passes.contracts/FORMAL_VERIFICATION.mddocumenting the invariants (CVL-style) and why Certora (Solidity-only) does not apply to Soroban/Rust; aninvariants_fuzztarget encoding INV-1/INV-6/INV-7; verification status table.Verification
cargo fmt --all --check,cargo clippy -p circuit_breaker -p lending_pool -p agent_vault -p loan_manager --lib, andcargo testall pass.scripts/key-management/scan-secrets.shpasses (no hardcoded secrets).Closes #458
Closes #438
Closes #463
Closes #464