-
Notifications
You must be signed in to change notification settings - Fork 10
Open
Description
Goal
Spell process is not blocked in case etherscan is down/not available
Context
As per the parent issue #29, currently there are multiple places in process which refer to etherscan as place to check something. But as etherscan is a centralised tool, we have to expect a possibility that 1) it is down 2) it is compromised and prepare accordingly.
Places where we refer to etherscan
- Check
Relyevents
https://github.com/makerdao/pe-checklists/blob/1aa58eeb9044ac332df4351b80e9b9755454972f/spell/spell-reviewer-mainnet-checklist.md?plain=1#L92 - Check source code of a new contract
https://github.com/makerdao/pe-checklists/blob/1aa58eeb9044ac332df4351b80e9b9755454972f/spell/spell-reviewer-mainnet-checklist.md?plain=1#L93 - Check deployed spell (manually)
https://github.com/makerdao/pe-checklists/blob/1aa58eeb9044ac332df4351b80e9b9755454972f/spell/spell-reviewer-mainnet-checklist.md?plain=1#L347
https://github.com/makerdao/pe-checklists/blob/1aa58eeb9044ac332df4351b80e9b9755454972f/spell/spell-reviewer-mainnet-checklist.md?plain=1#L368 - Checks deployed spell (using API)
https://github.com/makerdao/pe-checklists/blob/1aa58eeb9044ac332df4351b80e9b9755454972f/spell/spell-reviewer-mainnet-checklist.md?plain=1#L355-L360 - Get priority fee
https://github.com/makerdao/pe-checklists/blob/1aa58eeb9044ac332df4351b80e9b9755454972f/spell/spell-crafter-mainnet-workflow.md?plain=1#L182
Proposed circumvention
Use multiple different services to verify the source code.
Tasks
- Extend the verification script
- Send flattened code to multiple services (potentially using forge verify-contract instead of making raw requests)
- Ensure requests to services are non-blocking (in case one service is down)
- Editing checklists
- Replace "etherscan" with "at least 2 trusted block scanners"
- Define/refer to a "list of trusted blocks canners" (used by the verification script)
- Get priority fee from a more decentralised source (or otherwise make it a recommendation)
- Replace or remove automatic check of the source code
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels