ECDSANodeManagement

Methods

closeKeep

function closeKeep() external nonpayable

Closes keep when owner decides that they no longer need it. Releases bonds to the keep members.

The function can be called only by the owner of the keep and only if the keep has not been already closed.

getMembers

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

Returns members of the keep.

Returns

NameTypeDescription

_0

address[]

List of the keep members' addresses.

getOpenedTimestamp

function getOpenedTimestamp() external view returns (uint256)

Gets the timestamp the keep was opened at.

Returns

NameTypeDescription

_0

uint256

Timestamp the keep was opened at.

getOwner

function getOwner() external view returns (address)

Gets the owner of the keep.

Returns

NameTypeDescription

_0

address

Address of the keep owner.

getPublicKey

function getPublicKey() external view returns (bytes)

Returns keep's ECDSA public key.

Returns

NameTypeDescription

_0

bytes

Keep's ECDSA public key.

honestThreshold

function honestThreshold() external view returns (uint256)

Returns

NameTypeDescription

_0

uint256

undefined

initialize

function initialize(address _owner, address[] _members, uint256 _honestThreshold) external nonpayable

Initialization function.

We use clone factory to create new keep. That is why this contract doesn't have a constructor. We provide keep parameters for each instance function after cloning instances from the master contract. Initialization must happen in the same transaction in which the clone is created.

Parameters

NameTypeDescription

_owner

address

Address of the keep owner.

_members

address[]

Addresses of the keep members.

_honestThreshold

uint256

Minimum number of honest keep members.

isActive

function isActive() external view returns (bool)

Returns true if the keep is active.

Returns

NameTypeDescription

_0

bool

true if the keep is active, false otherwise.

isClosed

function isClosed() external view returns (bool)

Returns true if the keep is closed and members no longer support this keep.

Returns

NameTypeDescription

_0

bool

true if the keep is closed, false otherwise.

isTerminated

function isTerminated() external view returns (bool)

Returns true if the keep has been terminated. Keep is terminated when bonds are seized and members no longer support this keep.

Returns

NameTypeDescription

_0

bool

true if the keep has been terminated, false otherwise.

members

function members(uint256) external view returns (address)

Parameters

NameTypeDescription

_0

uint256

undefined

Returns

NameTypeDescription

_0

address

undefined

owner

function owner() external view returns (address)

Returns

NameTypeDescription

_0

address

undefined

publicKey

function publicKey() external view returns (bytes)

Returns

NameTypeDescription

_0

bytes

undefined

submitPublicKey

function submitPublicKey(bytes _publicKey) external nonpayable

Submits a public key to the keep.

Public key is published successfully if all members submit the same value. In case of conflicts with others members submissions it will emit ConflictingPublicKeySubmitted event. When all submitted keys match it will store the key as keep's public key and emit a PublicKeyPublished event.

Parameters

NameTypeDescription

_publicKey

bytes

Signer's public key.

Events

ConflictingPublicKeySubmitted

event ConflictingPublicKeySubmitted(address indexed submittingMember, bytes conflictingPublicKey)

Parameters

NameTypeDescription

submittingMember indexed

address

undefined

conflictingPublicKey

bytes

undefined

KeepClosed

event KeepClosed()

KeepTerminated

event KeepTerminated()

PublicKeyPublished

event PublicKeyPublished(bytes publicKey)

Parameters

NameTypeDescription

publicKey

bytes

undefined

Last updated