Skip to main content

KeeperRegistry.sol

Details

owned by multisig, probably governance token TODO: add partial slashing functionality (for smaller misbehaviors) and also handle that in leave() function TODO: can slashed keepers rejoin?

Methods

baseTime()

Solidity

function baseTime() external view returns (uint256)

Returns

NameTypeDescription
_0uint256undefined

bondAmount()

Solidity

function bondAmount() external view returns (uint256)

Returns

NameTypeDescription
_0uint256undefined

bondCoin()

Solidity

function bondCoin() external view returns (contract ERC20PermitUpgradeable)

Returns

NameTypeDescription
_0contract ERC20PermitUpgradeableundefined

cancelLeave()

Solidity

function cancelLeave() external nonpayable returns (bool successfulCancel)

Returns

NameTypeDescription
successfulCancelboolundefined

denounce(address)

Solidity

function denounce(address arbitraryAddress) external nonpayable

Parameters

NameTypeDescription
arbitraryAddressaddressundefined

firstEmptyKeeperIndex()

Solidity

function firstEmptyKeeperIndex() external view returns (uint256)

Returns

NameTypeDescription
_0uint256undefined

freeCoin()

Solidity

function freeCoin() external view returns (uint256)

Returns

NameTypeDescription
_0uint256undefined

getRegisteredKeepers()

Solidity

function getRegisteredKeepers() external view returns (address[])

Returns

NameTypeDescription
_0address[]undefined

initialize(address,uint256,uint16,uint256,address[])

Solidity

function initialize(address coinAddress, uint256 keeperTransferDelay, uint16 maxKeepers, uint256 bondSize, address[] _joiners) external nonpayable

Parameters

NameTypeDescription
coinAddressaddressundefined
keeperTransferDelayuint256undefined
maxKeepersuint16undefined
bondSizeuint256undefined
_joinersaddress[]undefined

isKeeper()

Solidity

function isKeeper() external view returns (bool)

Returns

NameTypeDescription
_0boolundefined

isKeeper(address)

Solidity

function isKeeper(address arbitraryAddress) external view returns (bool)

Parameters

NameTypeDescription
arbitraryAddressaddressundefined

Returns

NameTypeDescription
_0boolundefined

isLicenseAvailable()

Solidity

function isLicenseAvailable() external view returns (bool)

Returns

NameTypeDescription
_0boolundefined

join()

Solidity

function join() external nonpayable returns (bool)

Returns

NameTypeDescription
_0boolbool if registration is successful.

joiningForOwner(address[],uint256)

Solidity

function joiningForOwner(address[] joiners, uint256 bondSize) external nonpayable

Parameters

NameTypeDescription
joinersaddress[]undefined
bondSizeuint256undefined

leave()

Solidity

function leave() external nonpayable returns (bool)
Details

Keepers call this after they have queued to leave and waited the requisite amount of time.

Returns

NameTypeDescription
_0booltrue if keeper successfully leaves, false otherwise. TODO: make this a transfer rather than just leaving?

leavingForOwner(address[])

Solidity

function leavingForOwner(address[] joiners) external nonpayable

Parameters

NameTypeDescription
joinersaddress[]undefined

maxNumKeepers()

Solidity

function maxNumKeepers() external view returns (uint16)

Returns

NameTypeDescription
_0uint16undefined

nextFreeTransferSlot()

Solidity

function nextFreeTransferSlot() external view returns (uint256)

Returns

NameTypeDescription
_0uint256undefined

owner()

Solidity

function owner() external view returns (address)
Details

Returns the address of the current owner.

Returns

NameTypeDescription
_0addressundefined

queueToLeave()

Solidity

function queueToLeave() external nonpayable

registeredKeepers(uint256)

Solidity

function registeredKeepers(uint256) external view returns (address)

Parameters

NameTypeDescription
_0uint256undefined

Returns

NameTypeDescription
_0addressundefined

registry(address)

Solidity

function registry(address) external view returns (uint256 arrayIndex, uint256 bondHeld)

Parameters

NameTypeDescription
_0addressundefined

Returns

NameTypeDescription
arrayIndexuint256undefined
bondHelduint256undefined

renounceOwnership()

Solidity

function renounceOwnership() external nonpayable
Details

Leaves the contract without owner. It will not be possible to call onlyOwner functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.

transferDelay()

Solidity

function transferDelay() external view returns (uint256)

Returns

NameTypeDescription
_0uint256undefined

transferOwnership(address)

Solidity

function transferOwnership(address newOwner) external nonpayable
Details

Transfers ownership of the contract to a new account (newOwner). Can only be called by the current owner.

Parameters

NameTypeDescription
newOwneraddressundefined

transferRequests(address)

Solidity

function transferRequests(address) external view returns (uint256)

Parameters

NameTypeDescription
_0addressundefined

Returns

NameTypeDescription
_0uint256undefined

upgradeTo(address)

Solidity

function upgradeTo(address newImplementation) external nonpayable
Details

Upgrade the implementation of the proxy to newImplementation. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.

Parameters

NameTypeDescription
newImplementationaddressundefined

upgradeToAndCall(address,bytes)

Solidity

function upgradeToAndCall(address newImplementation, bytes data) external payable
Details

Upgrade the implementation of the proxy to newImplementation, and subsequently execute the function call encoded in data. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.

Parameters

NameTypeDescription
newImplementationaddressundefined
databytesundefined

withdrawFreeCoin(uint256)

Solidity

function withdrawFreeCoin(uint256 amount) external nonpayable

Parameters

NameTypeDescription
amountuint256undefined

Events

AdminChanged

Solidity

event AdminChanged(address previousAdmin, address newAdmin)

Parameters

NameTypeDescription
previousAdminaddressundefined
newAdminaddressundefined

BeaconUpgraded

Solidity

event BeaconUpgraded(address indexed beacon)

Parameters

NameTypeDescription
beacon indexedaddressundefined

OwnershipTransferred

Solidity

event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)

Parameters

NameTypeDescription
previousOwner indexedaddressundefined
newOwner indexedaddressundefined

Upgraded

Solidity

event Upgraded(address indexed implementation)

Parameters

NameTypeDescription
implementation indexedaddressundefined

leaveQueued

Solidity

event leaveQueued(address keeper, uint256 timestamp)

Parameters

NameTypeDescription
keeperaddressundefined
timestampuint256undefined

permissionChanged

Solidity

event permissionChanged(address _subject, enum KeeperRegistry.permissionType _permissionType)

Parameters

NameTypeDescription
_subjectaddressundefined
_permissionTypeenum KeeperRegistry.permissionTypeundefined