Skip to main content

GovernorSpoke

GovernorSpoke#

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

Functions#

constructor(address _finderAddress) (public)
processMessageFromParent(bytes data) (public)

Executes governance transaction created on Ethereum.

Can only be 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. See the SpokeBase for the onlyMessenger modifier.

Parameters:#

  • data: Contains the target address and the encoded function selector + ABI encoded params to include in delegated transaction.
getChildMessenger() → contract ChildMessengerInterface (public)

Returns the child messenger address set in the finder.

_preEntranceCheck() (internal)
_preEntranceSet() (internal)
_postEntranceReset() (internal)
_startReentrantGuardDisabled() (internal)
_endReentrantGuardDisabled() (internal)

Events#

ExecutedGovernanceTransaction(address to, bytes data)

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.