Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[I-05] Race condition in _executeOperations due to limited governancePot #62

Open
softstackio opened this issue Dec 10, 2024 · 3 comments
Assignees

Comments

@softstackio
Copy link

Description:
When multiple Open proposals execute in quick succession, they may drain the governancePot. Subsequent proposals attempting to execute transfers could fail if insufficient funds remain. This creates a race condition where early proposal executors get fully funded, while later ones might not.

Recommendation:
Consider adding logic to partially fulfill transfers or fail gracefully. For accepted Open proposal that do not get get executed because of lack of funds, you can consider a roll-over mechanism that allows them to be executed even after the 28 days window.

@Kris-DMD
Copy link

The UI task is created for solving the issue, we are going to add a warning message for the users. Please read the details here DMDcoin/diamond-ui#58

@softstackio
Copy link
Author

Acknowledged

@Kris-DMD Kris-DMD moved this to In Progress in Diamond Beta Feb 7, 2025
@SurfingNerd
Copy link
Collaborator

We will add additional data to the DAO contracts for the previous voting cycle.
The reasoning behind this is that beneficiary might not have claimed their goods, once the DAO is in the voting phase.

Therefore we need a fast way for the UI to scan the proposals in question.
To do this, we will introduce a storage for the proposals:

mapping(uint256 => uint256[]) public daoEpochProposals;

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: In Progress
Development

No branches or pull requests

4 participants