Skip to content

Latest commit

 

History

History
310 lines (155 loc) · 4.72 KB

ECDSANodeManagement.md

File metadata and controls

310 lines (155 loc) · 4.72 KB

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

function getOwner() external view returns (address)

Gets the owner of the keep.

Returns

Name Type Description
_0 address Address of the keep owner.

getPublicKey

function getPublicKey() external view returns (bytes)

Returns keep's ECDSA public key.

Returns

Name Type Description
_0 bytes Keep's ECDSA public key.

honestThreshold

function honestThreshold() external view returns (uint256)

Returns

Name Type Description
_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

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

function isActive() external view returns (bool)

Returns true if the keep is active.

Returns

Name Type Description
_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

Name Type Description
_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

Name Type Description
_0 bool true if the keep has been terminated, false otherwise.

members

function members(uint256) external view returns (address)

Parameters

Name Type Description
_0 uint256 undefined

Returns

Name Type Description
_0 address undefined

owner

function owner() external view returns (address)

Returns

Name Type Description
_0 address undefined

publicKey

function publicKey() external view returns (bytes)

Returns

Name Type Description
_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

Name Type Description
_publicKey bytes Signer's public key.

Events

ConflictingPublicKeySubmitted

event ConflictingPublicKeySubmitted(address indexed submittingMember, bytes conflictingPublicKey)

Parameters

Name Type Description
submittingMember indexed address undefined
conflictingPublicKey bytes undefined

KeepClosed

event KeepClosed()

KeepTerminated

event KeepTerminated()

PublicKeyPublished

event PublicKeyPublished(bytes publicKey)

Parameters

Name Type Description
publicKey bytes undefined