ProtocolAuthority functions¶
Governance, operations, and emergency role registry. Direct deployment; constructor-initialized Ownable.
This page lists every ABI-exposed function: 13 total, comprising 0 user functions, 8 state-changing, and 5 read-only calls.
User functions are state-changing calls expected from wallets, SDKs, traders, market makers, builders, or relayers. Internal settlement, deployment, governance, keeper, proxy, and maintenance calls remain available under the other filters.
About public and external visibility
The ABI proves that every function below is externally callable. It does not retain whether Solidity declared an individual function public or external, so the page does not invent a per-function visibility label.
Showing all 13 functions
State-changing functions¶
These payable and nonpayable calls can change protocol or contract state. Check the caller, requirements, effects, events, and errors before integrating one.
cancelOwnershipHandover()¶¶
Sets the caller's handover-request expiry to zero, including when no request existed.
Parameters and behavior
Inputs
- None.
Returns
- No return value.
Access and behavior
- Who can call: Any requester, for its own pending request.
- Requirements: No current-owner requirement and no request-existence requirement.
- State effects: Sets the caller's handover-request expiry to zero, including when no request existed.
- Units and rounding: No protocol arithmetic.
- Event families:
OwnershipHandoverCanceled. - Expected errors: No contract-defined revert path.
Exact call data
cancelOwnershipHandover()
- Selector:
0x54d1f13d - Mutability:
payable - Semantic rule:
ownership.handover-cancel - Call path:
ownership-candidate
completeOwnershipHandover(address)¶¶
Transfers ownership to the requesting address and consumes the request.
Parameters and behavior
Inputs
pendingOwner—address. EVM address; zero-address allowance/sentinel meaning is stated by the function semantics.
Returns
- No return value.
Access and behavior
- Who can call: Current owner.
- Requirements: The nominated pending owner must have an unexpired request.
- State effects: Transfers ownership to the requesting address and consumes the request.
- Units and rounding: Request validity is timestamp-based.
- Event families:
OwnershipTransferredonly; clearing the request emits noOwnershipHandoverCanceled. - Expected errors:
Unauthorized,NoHandoverRequest.
Exact call data
completeOwnershipHandover(address)
- Selector:
0xf04e283e - Mutability:
payable - Semantic rule:
ownership.handover-complete - Call path:
owner
renounceOwnership()¶¶
Sets the owner to the zero address; owner-gated paths then become unreachable.
Parameters and behavior
Inputs
- None.
Returns
- No return value.
Access and behavior
- Who can call: Current owner.
- Requirements: Owner authorization.
- State effects: Sets the owner to the zero address; owner-gated paths then become unreachable.
- Units and rounding: No numeric units.
- Event families:
OwnershipTransferred. - Expected errors:
Unauthorized.
Exact call data
renounceOwnership()
- Selector:
0x715018a6 - Mutability:
payable - Semantic rule:
ownership.renounce - Call path:
owner
requestOwnershipHandover()¶¶
Creates or refreshes the caller's ownership handover request to expire at block.timestamp + 172800.
Parameters and behavior
Inputs
- None.
Returns
- No return value.
Access and behavior
- Who can call: Any prospective owner, for its own address.
- Requirements: No current-owner requirement; always succeeds absent an EVM-level failure.
- State effects: Creates or refreshes the caller's ownership handover request to expire at
block.timestamp + 172800. - Units and rounding: Expiry is a Unix timestamp in seconds; validity is exactly 48 hours (172,800 seconds).
- Event families:
OwnershipHandoverRequested. - Expected errors: No contract-defined revert path.
Exact call data
requestOwnershipHandover()
- Selector:
0x25692962 - Mutability:
payable - Semantic rule:
ownership.handover-request - Call path:
ownership-candidate
setEmergency(address)¶¶
Replaces the emergency role observed immediately by every contract pointing to this authority.
Parameters and behavior
Inputs
newEmergency—address. EVM address; zero-address allowance/sentinel meaning is stated by the function semantics.
Returns
- No return value.
Access and behavior
- Who can call: ProtocolAuthority owner.
- Requirements: New emergency address must be nonzero.
- State effects: Replaces the emergency role observed immediately by every contract pointing to this authority.
- Units and rounding: EVM address; no arithmetic.
- Event families:
EmergencyUpdatedwith old and new emergency. - Expected errors:
Unauthorized,ZeroAddress.
Exact call data
setEmergency(address)
- Selector:
0xeb02a115 - Mutability:
nonpayable - Semantic rule:
authority.roles.set-emergency - Call path:
owner
setGovernance(address)¶¶
Replaces the governance role observed immediately by every contract pointing to this authority.
Parameters and behavior
Inputs
newGovernance—address. EVM address; zero-address allowance/sentinel meaning is stated by the function semantics.
Returns
- No return value.
Access and behavior
- Who can call: ProtocolAuthority owner.
- Requirements: New governance address must be nonzero.
- State effects: Replaces the governance role observed immediately by every contract pointing to this authority.
- Units and rounding: EVM address; no arithmetic.
- Event families:
GovernanceUpdatedwith old and new governance. - Expected errors:
Unauthorized,ZeroAddress.
Exact call data
setGovernance(address)
- Selector:
0xab033ea9 - Mutability:
nonpayable - Semantic rule:
authority.roles.set-governance - Call path:
owner
setOps(address)¶¶
Replaces the operations role observed immediately by every contract pointing to this authority.
Parameters and behavior
Inputs
newOps—address. EVM address; zero-address allowance/sentinel meaning is stated by the function semantics.
Returns
- No return value.
Access and behavior
- Who can call: ProtocolAuthority owner.
- Requirements: New ops address must be nonzero.
- State effects: Replaces the operations role observed immediately by every contract pointing to this authority.
- Units and rounding: EVM address; no arithmetic.
- Event families:
OpsUpdatedwith old and new ops. - Expected errors:
Unauthorized,ZeroAddress.
Exact call data
setOps(address)
- Selector:
0x5c7e9db8 - Mutability:
nonpayable - Semantic rule:
authority.roles.set-ops - Call path:
owner
transferOwnership(address)¶¶
Transfers direct upgrade/administrative ownership.
Parameters and behavior
Inputs
newOwner—address. EVM address; zero-address allowance/sentinel meaning is stated by the function semantics.
Returns
- No return value.
Access and behavior
- Who can call: Current owner.
- Requirements: New owner must be nonzero.
- State effects: Transfers direct upgrade/administrative ownership.
- Units and rounding: Address only; no rounding.
- Event families:
OwnershipTransferred. - Expected errors:
Unauthorizedand zero/new-owner errors.
Exact call data
transferOwnership(address)
- Selector:
0xf2fde38b - Mutability:
payable - Semantic rule:
ownership.transfer - Call path:
owner
Read-only functions¶
These view and pure calls expose configuration or protocol state without mutating it.
emergency()¶¶
Returns the configured emergency-role address.
Parameters and behavior
Inputs
- None.
Returns
result0—address. EVM address; zero-address allowance/sentinel meaning is stated by the function semantics.
Access and behavior
- Who can call: Any caller; no state mutation.
- Requirements: No caller authorization unless stated in NatSpec; input-dependent existence/configuration validation may revert.
- State effects: Returns
_:address— EVM address; zero-address allowance/sentinel meaning is stated by the function semantics. - Units and rounding: Return/input units follow ABI names, tuple definitions, constants, and NatSpec; no state-changing rounding occurs.
- Event families: None;
view/purecall. - Expected errors: Input, missing entity, invalid configuration, arithmetic, or delegated read errors declared in the error catalog.
Exact call data
emergency()
- Selector:
0xcaa6fea4 - Mutability:
view - Semantic rule:
read.public - Call path:
public-read
governance()¶¶
Returns the configured governance-role address.
Parameters and behavior
Inputs
- None.
Returns
result0—address. EVM address; zero-address allowance/sentinel meaning is stated by the function semantics.
Access and behavior
- Who can call: Any caller; no state mutation.
- Requirements: No caller authorization unless stated in NatSpec; input-dependent existence/configuration validation may revert.
- State effects: Returns
_:address— EVM address; zero-address allowance/sentinel meaning is stated by the function semantics. - Units and rounding: Return/input units follow ABI names, tuple definitions, constants, and NatSpec; no state-changing rounding occurs.
- Event families: None;
view/purecall. - Expected errors: Input, missing entity, invalid configuration, arithmetic, or delegated read errors declared in the error catalog.
Exact call data
governance()
- Selector:
0x5aa6e675 - Mutability:
view - Semantic rule:
read.public - Call path:
public-read
ops()¶¶
Returns the configured operations-role address.
Parameters and behavior
Inputs
- None.
Returns
result0—address. EVM address; zero-address allowance/sentinel meaning is stated by the function semantics.
Access and behavior
- Who can call: Any caller; no state mutation.
- Requirements: No caller authorization unless stated in NatSpec; input-dependent existence/configuration validation may revert.
- State effects: Returns
_:address— EVM address; zero-address allowance/sentinel meaning is stated by the function semantics. - Units and rounding: Return/input units follow ABI names, tuple definitions, constants, and NatSpec; no state-changing rounding occurs.
- Event families: None;
view/purecall. - Expected errors: Input, missing entity, invalid configuration, arithmetic, or delegated read errors declared in the error catalog.
Exact call data
ops()
- Selector:
0xe70abe92 - Mutability:
view - Semantic rule:
read.public - Call path:
public-read
owner()¶¶
Returns the contract owner.
Parameters and behavior
Inputs
- None.
Returns
result—address. EVM address; zero-address allowance/sentinel meaning is stated by the function semantics.
Access and behavior
- Who can call: Any caller; no state mutation.
- Requirements: No caller authorization unless stated in NatSpec; input-dependent existence/configuration validation may revert.
- State effects: Returns
result:address— EVM address; zero-address allowance/sentinel meaning is stated by the function semantics. Returns the owner of the contract. - Units and rounding: Return/input units follow ABI names, tuple definitions, constants, and NatSpec; no state-changing rounding occurs.
- Event families: None;
view/purecall. - Expected errors: Input, missing entity, invalid configuration, arithmetic, or delegated read errors declared in the error catalog.
Exact call data
owner()
- Selector:
0x8da5cb5b - Mutability:
view - Semantic rule:
read.public - Call path:
public-read
ownershipHandoverExpiresAt(address)¶¶
Returns when a pending ownership handover expires.
Parameters and behavior
Inputs
pendingOwner—address. EVM address; zero-address allowance/sentinel meaning is stated by the function semantics.
Returns
result—uint256. Unix timestamp in seconds; zero-sentinel behavior is function-specific.
Access and behavior
- Who can call: Any caller; no state mutation.
- Requirements: No caller authorization unless stated in NatSpec; input-dependent existence/configuration validation may revert.
- State effects: Returns
result:uint256— Unix timestamp in seconds; zero-sentinel behavior is function-specific. Returns the expiry timestamp for the two-step ownership handover topendingOwner. - Units and rounding: Return/input units follow ABI names, tuple definitions, constants, and NatSpec; no state-changing rounding occurs.
- Event families: None;
view/purecall. - Expected errors: Input, missing entity, invalid configuration, arithmetic, or delegated read errors declared in the error catalog.
Exact call data
ownershipHandoverExpiresAt(address)
- Selector:
0xfee81cf4 - Mutability:
view - Semantic rule:
read.public - Call path:
public-read