Upgrade Related
Background
Various MantleLSP L1 and L2 core smartcontracts and token smartcontracts are upgradeable using the OpenZeppelin TransparentUpgradeableProxy
standard. Upgrades are handled by a ProxyAdmin smartcontracts that enable features such as: timelock, and separation of functions for proposing, executing, and cancelling.
Mantle Security Council multisigs manage the upgrade process via the ProxyAdmin (Timelock) smartcontracts.
Addresses
Name | Address |
---|---|
eth:0xc26016f1166bE7b6c5611AAB104122E0f6c2aCE2 | |
mantle:0x91a19402818Ec3Da51EAD9Db15A4776827ec65E5 | |
eth:0x4e59e778a0fb77fBb305637435C62FaeD9aED40f | |
mantle:0x09734bB3980906Bb217305EA6Bd34256feEAB105 |
Mapping
All L1 Contracts
Contract | Role and Descriptions | Criticality | Assignment |
---|---|---|---|
All L1 Contracts | UPGRADER | Critical | MLSPTimelockL1 [aCE2] |
TIMELOCK_ADMIN_ROLE | Critical | MSecCouncilL1 [D40f] | |
PROPOSER_ROLE | Critical | MSecCouncilL1 [D40f] | |
EXECUTOR_ROLE | Medium | MSecCouncilL1 [D40f] | |
CANCELLER_ROLE | Medium | MSecCouncilL1 [D40f] |
All L2 Contracts
Contract | Role and Descriptions | Criticality | Assignment |
---|---|---|---|
All L2 Contracts | UPGRADER | Critical | MSLPTimelockL2 [65E5] |
TIMELOCK_ADMIN_ROLE | Critical | MSecCouncilL2 [B105] | |
PROPOSER_ROLE | Critical | MSecCouncilL2 [B105] | |
EXECUTOR_ROLE | Medium | MSecCouncilL2 [B105] | |
CANCELLER_ROLE | Medium | MSecCouncilL2 [B105] |
Other
Checking the Upgrader Role
For ERC1967 proxy contracts, the Upgrader address is stored in the bytes32 internal constant ADMIN_SLOT = 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103. This can be queried using tools such as
https://explorer.sim.io/ for L1.
etherflow.quicknode.io for Mantle L2 (use "https://rpc.mantle.xyz/", Web3 Library = "Ethers.js", Methods = "eth_getStorageAt".
Last updated