feat: enable mainnet dSTAKE dLEND rollout#43
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 837c81aa74
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| if (emissionOwner.toLowerCase() !== deployer.toLowerCase()) { | ||
| throw new Error(`Deployer ${deployer} is not EmissionManager owner ${emissionOwner}`); | ||
| } |
There was a problem hiding this comment.
Validate Safe ownership before queueing setClaimer
EmissionManager.setClaimer is guarded by onlyOwner (contracts/dlend/periphery/rewards/EmissionManager.sol), but this branch only checks whether deployer is owner before falling back to Safe queuing. If deployer is not the owner and the configured Safe is also not the owner, the queued transaction will always revert at execution time, and because manualActions are only added when !executor.useSafe, the script no longer reports any actionable fallback for that case.
Useful? React with 👍 / 👎.
| await executor.tryOrQueue( | ||
| async () => { | ||
| throw new Error("Direct execution disabled: queue Safe transaction instead."); | ||
| }, | ||
| () => ({ to: routerDeployment.address, value: "0", data: txData }), |
There was a problem hiding this comment.
Assert router roles before queuing Safe config updates
This script queues setVaultConfigs through Safe without first asserting that the Safe already has VAULT_MANAGER_ROLE/CONFIG_MANAGER_ROLE on the router. The dependency step (setup-ethereum-mainnet-dstake-dlend-role-grants-safe) only creates a role-grant batch and does not execute it on-chain, so this can produce a second batch that reverts if executed before the role-grant batch is mined.
Useful? React with 👍 / 👎.
Summary
Testing