The following reflects the views of L2BEAT’s governance team, composed of @krst, @Sinkas, and @Manugotsuka, and it’s based on their combined research, fact-checking, and ideation.
We voted FOR.
During the temp-check stage, we supported the Removal of the Cost Cap on Nova and the Update of the Upgrade Executors, and we continue to support these changes for the onchain vote. On the other hand, we abstained on the Disable Legacy Tether Bridge proposal because we were not comfortable endorsing the USDT0 setup and the liveness and safety trust assumptions associated with it (you can read our full rationale here).
In our view, this concern does not prevent us from voting in favor of the broader package, as long as we’re clear that our favorable vote in the onchain vote does not translate to an endorsement of the USDT0 setup, just like in the off-chain vote.
However, on the occasion of this vote, we’d like to point out the obvious challenge of bundling proposals together for the onchain vote. If we had been fully opposed to the proposal to disable the legacy USDT bridge, it would have made voting for this proposal impossible. We do understand that bundling proposals together saves time and makes it easier to meet quorum, but at the same time, it introduces different problems that are not necessarily outweighed.
Before casting our vote, and since it’s a technical proposal, we asked L2BEAT’s research team to review and confirm the contents of the executable payload. They confirmed that the contents matched the outlined changes, without adding anything that shouldn’t be there.
Here’s the breakdown of the changes reviewed and confirmed by our research team:
- Updating the Upgrade Executors (Ethereum / Arbitrum One / Arbitrum Nova)
-
L1 (Ethereum):
targets[0] = UpgradeExecutor 0x3ffF...c3CeDdwith payloadProxyUpgradeAction.perform(ProxyAdmin 0x5613...0678, target 0x3ffF...c3CeDd, newLogic 0x3d745b...7932)→ upgrades the L1 Upgrade Executor implementation to the new one. This address is listed in the DAO’s official deployment table. -
Arbitrum One (via L1 Inbox 0x4dbd…AB3f):
targets[1]posts to Inbox → L2 call toUpgradeExecutor 0xCF57...A827withProxyUpgradeAction.perform(ProxyAdmin 0xDB21...961e, target 0xCF57...A827, newLogic 0x3d745b...7932). Addresses match the DAO docs. -
Arbitrum Nova (via L1 Inbox 0xC444…3949):
targets[2]posts to Inbox → L2 call toUpgradeExecutor 0x86a0...7482withProxyUpgradeAction.perform(ProxyAdmin 0xF58e...C2b9, target 0x86a0...7482, newLogic 0x3d745b...7932). Addresses match the DAO docs.
- Disabling Legacy USDT0 Bridge (L1)
-
L1 action:
targets[3] = DisableGatewayAction 0x8d34...4188fwithperform([USDT 0xdAC1...1ec7], _maxGas=0, _gasPriceBid=0, _maxSubmissionCost=5e14)and the batch’s only non-zero msg.value (values[3] = 500,000,000,000,000 wei) funding the retryable ticket. This matches the “Disable Legacy Tether Bridge” spec; the router address in the spec is the canonical L1GatewayRouter 0x72Ce…31ef.
- Removing Arbitrum Nova’s amortized cost cap (L2 Arbitrum Nova)
-
L1→Nova call:
targets[4]posts to Nova Inbox → L2 call toUpgradeExecutor 0x86a0...7482usingexecuteCallto directly call the ArbOwner precompile0x000...0070withsetAmortizedCostCapBips(0), setting it to 0 is the documented way to remove/disable the cap.
Timelock details match
- Function:
sendTxToL1(L1ArbitrumTimelock 0xE684...7f49, scheduleBatch(...))is the right L1 timelock - Delay:
259,200seconds = 3 days, which matches the constitutional L1 execution delay shown in the Tally timeline
Extra checks
- Inboxes used are the correct contracts for Arb One (
0x4dbd…AB3f) and Nova (0xC444…3949) - DAO addresses (Upgrade Executors, ProxyAdmins) match the official deployment list.