Skip to content

fix(contracts): fix #392 event hub emit gas and #395 flash loan reentry tests#482

Open
Dopezapha wants to merge 1 commit into
ceejaylaboratory:mainfrom
Dopezapha:feature-fix-392-395-smart-contracts
Open

fix(contracts): fix #392 event hub emit gas and #395 flash loan reentry tests#482
Dopezapha wants to merge 1 commit into
ceejaylaboratory:mainfrom
Dopezapha:feature-fix-392-395-smart-contracts

Conversation

@Dopezapha
Copy link
Copy Markdown

Closes #395
Closes #392

PR Description

Fixes #392 by optimizing the Event Hub capture path so each captured event is stored by event ID instead of rewriting a growing persistent event log vector on every emit. This keeps the emit/archive write path constant time while preserving existing event query behavior for indexers.

Fixes #395 by adding focused Flash Loan reentrancy coverage with malicious receiver contracts that attempt nested single and batch flash loans during callbacks. The flash loan entry points now also use a temporary-storage reentrancy lock as defense in depth, while the tests assert Soroban rejects same-contract reentry.

Changed

@drips-wave
Copy link
Copy Markdown

drips-wave Bot commented May 29, 2026

@Dopezapha 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! 🚀

Learn more about application limits

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.

[Smart Contracts] Flash Loan: Add reentrancy guard tests [Smart Contracts] Event Hub: Optimize gas usage on emit

1 participant