ethereum-optimism / superchain-ops

35 stars 31 forks source link

Duplicate signatures in nested approval call #267

Open sebastianst opened 1 month ago

sebastianst commented 1 month ago

The execution of the approve foundation call for the Fjord-related DGF.setImplementation task had a duplicate signature in it, causing the call to revert. @zchn fixed it by manually removing the duplicate signature from the array and then manually crafting and sending the transaction from one of his 1-1 multisigs.

The input SIGNATURES env var array had a pre-approved signature in it, which probably caused the duplication.

zchn commented 1 month ago

From @mds1 : " This is because the tooling automatically discovers those pre-validated ones and appends those to the SIGNATURES array: https://github.com/base-org/contracts/blob/c14278a67d6eb029d3b9b505eea67d2b2ea637af/script/universal/NestedMultisigBuilder.sol#L117C49-L117C71 So since it was provided once in the SIGNATURES array, it was appended again in that line of code. We should document this better, or (preferred solution) make the tool smart enough to not add the sig if it's already present."