-
Notifications
You must be signed in to change notification settings - Fork 11
feat: implement governance features in BigIncGenesis contract #27
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
Conversation
CollinsC1O
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I want you to make some changes. check the details in the comment section
|
Hey @ikemHood Gm Your implementation provides an addition to the withdrawal_progress_amount which is perfect but I want you to improve this because when withdrawal executes or gets cancelled, this amount should be subtracted to free up balance for future requests. i.e you should provide an implementation that reduces progress amount after successful transfer, (subtract from the progress), considering that the withdrawal has been executed. Do same if the request gets canceled Secondly, I see that the WithdrawalRequest struct has a field for is_cancelled which tells if cancelled or not but you did not provide a function implementation for this, Can you implement this. And here you can reduce withdrawal_progress_amount once request is cancelled. Lastly, We using just only URI length + deadline is definitely weak. Consider this, if we’ve another url with same length as this and same deadline it will give same hash I.e (Different URIs with same length + same deadline = same hash!). now I want you to hash the actual milestone_uri content, not just it’s length and use this to get the expectation hash instead. |
…tion hash calculation
…tion hash validation
|
Hello @ikemHood I sent you dm on telegram |
|
Considering what we discussed. This only but a reminder, So the governance parameter implementation would change concerning the threshold and also the request withdrawal function. Also the voting due time should be fixed to limit it to a specific period and also prevent voting afterwards. There should be a trigger mechanism for the execute_withdrawal ensuring all conditions are checked If the request has passed its maturity date and nobody voted, and then somebody tries to vote, that should be a mechanism to trigger it too. Also event should be fully emitted so shareholders get hand on the requested withdrawal This is but a reminder of our discussion, hope you've been making progress |
|
Hello @ikemHood Gm |
|
hello @ikemHood can you ensure that your tests passes successfully and your code well formatted |
|
you will get a respond in no distant time |
|
Hello @ikemHood Gm |
|
Hey @CollinsC1O Done |

Overview
This PR implements comprehensive governance features for the BigIncGenesis contract, enabling decentralized withdrawal management.
Changes
submit_withdrawal_request,execute_withdrawal, andset_governance_parametersget_withdrawal_requestandget_governance_parametersWithdrawalRequestandVoteStatusstructs for managing withdrawal requests and voting statusKey Features
Testing
This implementation ensures that fund withdrawals require community consensus while maintaining the security and integrity of the contract.
Closes #18