Skip to content

Protect smart contract mutations against reentrancy#411

Open
TUPM96 wants to merge 1 commit into
Smartdevs17:mainfrom
TUPM96:codex/reentrancy-guard-397
Open

Protect smart contract mutations against reentrancy#411
TUPM96 wants to merge 1 commit into
Smartdevs17:mainfrom
TUPM96:codex/reentrancy-guard-397

Conversation

@TUPM96
Copy link
Copy Markdown

@TUPM96 TUPM96 commented May 25, 2026

Resolves #397

Summary:

  • add a storage-backed reentrancy lock around guarded contract mutations
  • record reentrant attempts, pause further guarded mutations, and no-op the reentrant call path without writing project state
  • add an admin emergency pause/unpause path and a security status view
  • tighten escrow mutation checks for positive amounts, deadline validation, deposit overflow, and overfunding
  • replace placeholder security properties with runnable pause, reentrancy, lock-release, and escrow accounting coverage
  • keep honggfuzz on non-Windows targets so Rust tests run on Windows while preserving fuzz tooling elsewhere

Verification:

  • cargo fmt
  • cargo test (15 passed)
  • cargo build
  • git diff --check
  • forge test not run: forge is not installed in this local PATH

Copilot AI review requested due to automatic review settings May 25, 2026 10:06
@vercel
Copy link
Copy Markdown

vercel Bot commented May 25, 2026

@TUPM96 is attempting to deploy a commit to the smartdevs17's projects Team on Vercel.

A member of the Team first needs to authorize it.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Protect against reentrancy attacks in smart contracts

2 participants