-
Notifications
You must be signed in to change notification settings - Fork 7
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
Update interfaces #178
base: develop-archive
Are you sure you want to change the base?
Update interfaces #178
Conversation
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.
Great work on improving the interfaces—they look much more comprehensive now! A few additional suggestions for further enhancements:
- Consider removing the
IAragonVoting.sol
interface, as it appears to be used only in scripts that do not invoke any contract methods. If it is still required for scripts, thetest/utils/interfaces/IAragonAgent.sol
interface could be reused instead. - Add an
executeProposal()
method to theDualGovernance
contract to mirror the functionality ofEmergencyProtectedTimelock.execute()
in theTimelockedGovernance
contract. Alternatively, remove theexecuteProposal()
method from theTimelockedGovernance
contract if it is not strictly necessary, ensuring consistency across both contracts. - For consistency with other interfaces, consider moving the
WithdrawalRequestStatus
struct into theIWithdrawalQueue
interface.
contracts/interfaces/IEscrow.sol
Outdated
/// @param stETHClaimedETH The total amount of ETH claimed from the stETH shares locked in the Escrow. | ||
/// @param unstETHUnfinalizedShares The total number of shares from unstETH NFTs that have not yet been marked as finalized. | ||
/// @param unstETHFinalizedETH The total amount of ETH claimable from unstETH NFTs that have been marked as finalized. | ||
struct LockedAssetsTotals { |
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 propose putting these structures inside the IEscrow
interface. Then, they may be used inside the Escrow
contract without additional imports.
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.
Done
function MAX_EMERGENCY_MODE_DURATION() external view returns (Duration); | ||
function MAX_EMERGENCY_PROTECTION_DURATION() external view returns (Duration); | ||
|
||
function setupDelays(Duration afterSubmitDelay, Duration afterScheduleDelay) external; |
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.
Let's move methods setupDelays()
, transferExecutorOwnership()
, getAfterSubmitDelay()
, getAfterScheduleDelay()
and setAdminExecutor()
into the ITimelock.sol
interface
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.
Done
… contracts and appropriate interfaces. Fix obsolete comments.
@Psirex Thank you for the comments. I've added a method |
No description provided.