Skip to content

chores: kill veANGLE script#44

Open
sogipec wants to merge 1 commit intofix-lineafrom
kill-veANGLE
Open

chores: kill veANGLE script#44
sogipec wants to merge 1 commit intofix-lineafrom
kill-veANGLE

Conversation

@sogipec
Copy link
Copy Markdown
Contributor

@sogipec sogipec commented Jan 27, 2025

No description provided.


assertEq(IVeAngle(veANGLE).emergency_withdrawal(), true);
assertEq(IOwnable(proposalSender).owner(), govMultisig);
assertEq(IAccessControl(timelock).hasRole(PROPOSER_ROLE, onchainGovernorContract), false);
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

worth checking that the onchain governor ahas no rights anymore

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

The timelock keeps its roles, but onchain governor no longer has anything (its sole role is proposer role on timelock and on the proposalSender).
Typically coreBorrow on Ethereum has two governors

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

But timelock should have no role anymore

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I left it a role, but with sole proposer the multisig. It's easier if we want at some point to remove again the msig and put everything behind a timelock

address govMultisig = 0xdC4e6DFe07EFCa50a197DF15D9200883eF4Eb1c8;

// Activate veANGLE emergency withdrawal
subCalls.push(SubCall(chainId, veANGLE, 0, abi.encodeWithSelector(IVeAngle.set_emergency_withdrawal.selector)));
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

worth doing this at the very end, just to be extra sure all are passing and not just this one

bytes[] memory newCalldatas = new bytes[](calldatas.length + 1);
uint256[] memory newChainIds = new uint256[](chainIds2.length + 1);

// Need to switch proposalSender owner
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

why don't you batch it with the others?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Because the _wrap function wraps for a proposal to be submitted to the Timelock when the admin of proposalSender is the governor contract itself

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.

2 participants