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