UpgradeExecutor

Arbitrum One 浏览链

0xcf57572261c7c2bcf21ffd220ea7d1a27d40a827

Proxy 实现合约: 0x3d745b8815f9be5bf053858165f8ab1f58c77932

Solidity v0.8.16+commit.07a7930e

🤖
通过你的 AI 查询此合约
引用: 0xcf57572261c7c2bcf21ffd220ea7d1a27d40a827
示例提示词: "Tell me the current state of arbitrum/0xcf57572261c7c2bcf21ffd220ea7d1a27d40a827"
还没有接入 AI?→ mcp.smarts.md · 浏览链

管理与风险

谁能修改规则?

Detected upgradeable and role based controls from the verified ABI.

Upgradeable Role Based

当前控制

Implementation
0x3d745b8815f9be5bf053858165f8ab1f58c77932 ↗ Arbiscan → smarts proxy

概览

读取函数
6
写入函数
6
事件
6

读取函数

Block #25,287,892 · just now
ADMIN_ROLE() view → 0xa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775

Get the bytes32 identifier for the contract's admin role.✨ AI

返回值

名称 类型 描述
bytes32 The bytes32 identifier used to represent the ADMIN_ROLE.✨ AI
DEFAULT_ADMIN_ROLE() view → 0x0000000000000000000000000000000000000000000000000000000000000000

Returns the bytes32 identifier for the contract's default admin role.✨ AI

返回值

名称 类型 描述
bytes32 The bytes32 role identifier representing the contract's DEFAULT_ADMIN_ROLE.✨ AI
EXECUTOR_ROLE() view → 0xd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63

Returns the bytes32 identifier for the contract's executor role.✨ AI

返回值

名称 类型 描述
bytes32 Bytes32 role identifier used by the access-control system to represent the executor role.✨ AI
getRoleAdmin(role: bytes32) view

Returns the admin role that controls the given role.✨ AI

开发者: Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.

参数

名称 类型 描述
role bytes32 Role identifier to query, provided as a bytes32 value.✨ AI

返回值

名称 类型 描述
bytes32 Admin role identifier (bytes32) that controls the specified role.✨ AI
hasRole(role: bytes32, account: address) view

Checks whether an account holds a specific role in the UpgradeExecutor contract.✨ AI

开发者: Returns `true` if `account` has been granted `role`.

参数

名称 类型 描述
role bytes32 Role identifier (bytes32) to check.✨ AI
account address Address of the account to query.✨ AI

返回值

名称 类型 描述
bool True if the account has the specified role; otherwise false.✨ AI
supportsInterface(interfaceId: bytes4) view

Checks whether the contract implements the interface identified by interfaceId.✨ AI

开发者: See {IERC165-supportsInterface}.

参数

名称 类型 描述
interfaceId bytes4 The ERC-165 interface identifier to query.✨ AI

返回值

名称 类型 描述
bool True if the contract implements the specified interfaceId according to ERC-165; otherwise false.✨ AI

写入函数

execute(upgrade: address, upgradeCallData: bytes) payable

Execute an upgrade by delegate calling an upgrade contract

开发者: Only executor can call this. Since we're using a delegatecall here the Upgrade contract will have access to the state of this contract - including the roles. Only upgrade contracts that do not touch local state should be used.

参数

名称 类型 描述
upgrade address
upgradeCallData bytes
executeCall(target: address, targetCallData: bytes) payable

Execute an upgrade by directly calling target contract

开发者: Only executor can call this.

参数

名称 类型 描述
target address
targetCallData bytes
grantRole(role: bytes32, account: address) nonpayable

Grants the specified role to the given account, enabling it to perform role-restricted operations.✨ AI

开发者: Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.

参数

名称 类型 描述
role bytes32 Role identifier to assign (bytes32 role hash).✨ AI
account address Account address that will receive the role.✨ AI
initialize(admin: address, executors: address[]) nonpayable

Initialise the upgrade executor

参数

名称 类型 描述
admin address The admin who can update other roles, and itself - ADMIN_ROLE
executors address[] Can call the execute function - EXECUTOR_ROLE
renounceRole(role: bytes32, account: address) nonpayable

Renounce a previously granted role for a specific account.✨ AI

开发者: Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.

参数

名称 类型 描述
role bytes32 The role identifier to renounce (bytes32).✨ AI
account address The account address that will lose the role.✨ AI
revokeRole(role: bytes32, account: address) nonpayable

Revokes a role from an account.✨ AI

开发者: Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.

参数

名称 类型 描述
role bytes32 Role identifier to revoke, provided as a bytes32 value.✨ AI
account address Address of the account that will lose the role.✨ AI

事件

Initialized(version: uint8)
名称 类型 已索引 描述
version uint8
RoleAdminChanged(role: bytes32, previousAdminRole: bytes32, newAdminRole: bytes32)
名称 类型 已索引 描述
role bytes32
previousAdminRole bytes32
newAdminRole bytes32
RoleGranted(role: bytes32, account: address, sender: address)
名称 类型 已索引 描述
role bytes32
account address
sender address
RoleRevoked(role: bytes32, account: address, sender: address)
名称 类型 已索引 描述
role bytes32
account address
sender address
TargetCallExecuted(target: address, value: uint256, data: bytes)

Emitted when target call occurs

名称 类型 已索引 描述
target address
value uint256
data bytes
UpgradeExecuted(upgrade: address, value: uint256, data: bytes)

Emitted when an upgrade execution occurs

名称 类型 已索引 描述
upgrade address
value uint256
data bytes