githubEdit

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

Name
Type
Description

_0

address[]

List of the keep members' addresses.

getOpenedTimestamp

function getOpenedTimestamp() external view returns (uint256)

Gets the timestamp the keep was opened at.

Returns

Name
Type
Description

_0

uint256

Timestamp the keep was opened at.

getOwner

Gets the owner of the keep.

Returns

Name
Type
Description

_0

address

Address of the keep owner.

getPublicKey

Returns keep's ECDSA public key.

Returns

Name
Type
Description

_0

bytes

Keep's ECDSA public key.

honestThreshold

Returns

Name
Type
Description

_0

uint256

undefined

initialize

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

Name
Type
Description

_owner

address

Address of the keep owner.

_members

address[]

Addresses of the keep members.

_honestThreshold

uint256

Minimum number of honest keep members.

isActive

Returns true if the keep is active.

Returns

Name
Type
Description

_0

bool

true if the keep is active, false otherwise.

isClosed

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

Returns

Name
Type
Description

_0

bool

true if the keep is closed, false otherwise.

isTerminated

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

Returns

Name
Type
Description

_0

bool

true if the keep has been terminated, false otherwise.

members

Parameters

Name
Type
Description

_0

uint256

undefined

Returns

Name
Type
Description

_0

address

undefined

owner

Returns

Name
Type
Description

_0

address

undefined

publicKey

Returns

Name
Type
Description

_0

bytes

undefined

submitPublicKey

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

Name
Type
Description

_publicKey

bytes

Signer's public key.

Events

ConflictingPublicKeySubmitted

Parameters

Name
Type
Description

submittingMember indexed

address

undefined

conflictingPublicKey

bytes

undefined

KeepClosed

KeepTerminated

PublicKeyPublished

Parameters

Name
Type
Description

publicKey

bytes

undefined

Last updated

Was this helpful?