Skip to main content

GovernorSpoke

GovernorSpoke#

Governor contract deployed on L2 that receives governance actions from Ethereum.

Functions#

constructor(contract ChildMessengerConsumerInterface _messengerAddress) (public)
processMessageFromParent(bytes data) (public)

Executes governance transaction created on Ethereum.

Can only called by ChildMessenger contract that wants to execute governance action on this child chain that originated from DVM voters on root chain. ChildMessenger should only receive communication from ParentMessenger on mainnet.

Parameters:#

  • data: Contains the target address and the encoded function selector + ABI encoded params to include in delegated transaction.
_preEntranceCheck() (internal)
_preEntranceSet() (internal)
_postEntranceReset() (internal)

Events#

ExecutedGovernanceTransaction(address to, bytes data)
SetChildMessenger(address childMessenger)

Modifiers#

onlyMessenger()
nonReentrant()

Prevents a contract from calling itself, directly or indirectly. Calling a nonReentrant function from another nonReentrant function is not supported. It is possible to prevent this from happening by making the nonReentrant function external, and making it call a private function that does the actual state modification.

nonReentrantView()

Designed to prevent a view-only method from being re-entered during a call to a nonReentrant() state-changing method.