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

NameAddress

eth:0xc26016f1166bE7b6c5611AAB104122E0f6c2aCE2

mantle:0x91a19402818Ec3Da51EAD9Db15A4776827ec65E5

eth:0x4e59e778a0fb77fBb305637435C62FaeD9aED40f

mantle:0x09734bB3980906Bb217305EA6Bd34256feEAB105

Mapping

All L1 Contracts

ContractRole and DescriptionsCriticalityAssignment

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

ContractRole and DescriptionsCriticalityAssignment

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

Last updated