axelar-gmp-sdk-solidity

Solidity API

IBaseMultisig

An interface defining the base operations for a multi-signature contract.

NotSigner

error NotSigner()

AlreadyVoted

error AlreadyVoted()

InvalidSigners

error InvalidSigners()

InvalidSignerThreshold

error InvalidSignerThreshold()

DuplicateSigner

error DuplicateSigner(address account)

MultisigVoted

event MultisigVoted(bytes32 topic, uint256 signerEpoch, address voter, uint256 voteCount, uint256 threshold)

MultisigOperationExecuted

event MultisigOperationExecuted(bytes32 topic, uint256 signerEpoch, address voter, uint256 threshold)

SignersRotated

event SignersRotated(address[] newAccounts, uint256 newThreshold)

signerEpoch

function signerEpoch() external view returns (uint256)

Gets the current epoch.

Return Values

Name Type Description
[0] uint256 uint The current epoch

signerThreshold

function signerThreshold() external view returns (uint256)

Gets the threshold of current signers.

Return Values

Name Type Description
[0] uint256 uint The threshold number

signerAccounts

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

Gets the array of current signers.

Return Values

Name Type Description
[0] address[] array of signer addresses

isSigner

function isSigner(address account) external view returns (bool)

Getter to determine if an account is a signer

Return Values

Name Type Description
[0] bool boolean indicating if the account is a signer

hasSignerVoted

function hasSignerVoted(address account, bytes32 topic) external view returns (bool)

Getter to determine if an account has voted on a topic

Return Values

Name Type Description
[0] bool boolean indicating if the account has voted

getSignerVotesCount

function getSignerVotesCount(bytes32 topic) external view returns (uint256)

Get the number of votes for a topic

Return Values

Name Type Description
[0] uint256 uint256 indicating the number of votes for a topic

rotateSigners

function rotateSigners(address[] newAccounts, uint256 newThreshold) external

Update the signers and threshold for the multisig contract.

Parameters

Name Type Description
newAccounts address[] The array of new signers
newThreshold uint256 The new threshold of signers required