OmnichainExecutorOwner
OmnichainExecutorOwner
Section titled “OmnichainExecutorOwner”OmnichainExecutorOwner at v2.15.0 is the upgradeable access-controlled owner of a destination OmnichainGovernanceExecutor. The previous description incorrectly called this contract OmnichainProposalSender.
Known selectors are registered by their full function-signature strings. The fallback resolves msg.sig, checks the corresponding AccessControlManager permission, and forwards the original calldata to the executor. upsertSignature is owner-only; setTrustedRemoteAddress and transferBridgeOwnership use exact ACM signatures. Ownership renunciation is disabled.
Solidity API
Section titled “Solidity API”OMNICHAIN_GOVERNANCE_EXECUTOR
Section titled “OMNICHAIN_GOVERNANCE_EXECUTOR”@custom:oz-upgrades-unsafe-allow state-variable-immutable
contract IOmnichainGovernanceExecutor OMNICHAIN_GOVERNANCE_EXECUTORfunctionRegistry
Section titled “functionRegistry”Stores function signature corresponding to their 4 bytes hash value
mapping(bytes4 => string) functionRegistryinitialize
Section titled “initialize”Initialize the contract
function initialize(address accessControlManager_) externalParameters
Section titled “Parameters”| Name | Type | Description |
|---|---|---|
| accessControlManager_ | address | Address of access control manager |
setTrustedRemoteAddress
Section titled “setTrustedRemoteAddress”Sets the source message sender address
function setTrustedRemoteAddress(uint16 srcChainId_, bytes srcAddress_) externalParameters
Section titled “Parameters”| Name | Type | Description |
|---|---|---|
| srcChainId_ | uint16 | The LayerZero id of a source chain |
| srcAddress_ | bytes | The address of the contract on the source chain |
📅 Events
Section titled “📅 Events”- Emits SetTrustedRemoteAddress with source chain Id and source address
⛔️ Access Requirements
Section titled “⛔️ Access Requirements”- Controlled by AccessControlManager
fallback
Section titled “fallback”Invoked when called function does not exist in the contract
fallback(bytes data_) external returns (bytes)Parameters
Section titled “Parameters”| Name | Type | Description |
|---|---|---|
| data_ | bytes | Calldata containing the encoded function call |
Return Values
Section titled “Return Values”| Name | Type | Description |
|---|---|---|
| [0] | bytes | Result of function call |
⛔️ Access Requirements
Section titled “⛔️ Access Requirements”- Controlled by Access Control Manager
upsertSignature
Section titled “upsertSignature”A registry of functions that are allowed to be executed from proposals
function upsertSignature(string[] signatures_, bool[] active_) externalParameters
Section titled “Parameters”| Name | Type | Description |
|---|---|---|
| signatures_ | string[] | Function signature to be added or removed |
| active_ | bool[] | bool value, should be true to add function |
⛔️ Access Requirements
Section titled “⛔️ Access Requirements”- Only owner
transferBridgeOwnership
Section titled “transferBridgeOwnership”This function transfer the ownership of the executor from this contract to new owner
function transferBridgeOwnership(address newOwner_) externalParameters
Section titled “Parameters”| Name | Type | Description |
|---|---|---|
| newOwner_ | address | New owner of the governanceExecutor |
⛔️ Access Requirements
Section titled “⛔️ Access Requirements”- Controlled by AccessControlManager
renounceOwnership
Section titled “renounceOwnership”@notice Empty implementation of renounce ownership to avoid any mishappening
function renounceOwnership() public virtual