Skip to main content

IFlareSystemsManager

Manages system protocols like the Signing Policy Definition, Uptime Voting, and Reward Voting.

Sourced from IFlareSystemsManager.sol on GitHub.

Functions

firstRewardEpochStartTs

Timestamp when the first reward epoch started, in seconds since UNIX epoch.

function firstRewardEpochStartTs(
) external view returns (
uint64
);

firstVotingRoundStartTs

Timestamp when the first voting epoch started, in seconds since UNIX epoch.

function firstVotingRoundStartTs(
) external view returns (
uint64
);

getCurrentRewardEpoch

Returns the current reward epoch id (backwards compatibility).

function getCurrentRewardEpoch(
) external view returns (
uint256
);

getCurrentRewardEpochId

Returns the current reward epoch id.

function getCurrentRewardEpochId(
) external view returns (
uint24
);

getCurrentVotingEpochId

Returns the current voting epoch id.

function getCurrentVotingEpochId(
) external view returns (
uint32
);

getSeed

Returns the seed for given reward epoch id.

function getSeed(
uint256 _rewardEpochId
) external view returns (
uint256
);

getStartVotingRoundId

Returns the start voting round id for given reward epoch id.

function getStartVotingRoundId(
uint256 _rewardEpochId
) external view returns (
uint32
);

getThreshold

Returns the threshold for given reward epoch id.

function getThreshold(
uint256 _rewardEpochId
) external view returns (
uint16
);

getVotePowerBlock

Returns the vote power block for given reward epoch id.

function getVotePowerBlock(
uint256 _rewardEpochId
) external view returns (
uint64 _votePowerBlock
);

getVoterRegistrationData

Returns voter rgistration data for given reward epoch id.

function getVoterRegistrationData(
uint256 _rewardEpochId
) external view returns (
uint256 _votePowerBlock,
bool _enabled
);

Parameters

  • _rewardEpochId: Reward epoch id.

Returns

  • _votePowerBlock: Vote power block.
  • _enabled: Indicates if voter registration is enabled.

isVoterRegistrationEnabled

Indicates if voter registration is currently enabled.

function isVoterRegistrationEnabled(
) external view returns (
bool
);

rewardEpochDurationSeconds

Duration of reward epoch, in seconds.

function rewardEpochDurationSeconds(
) external view returns (
uint64
);

signNewSigningPolicy

Method for collecting signatures for the new signing policy.

function signNewSigningPolicy(
uint24 _rewardEpochId,
bytes32 _newSigningPolicyHash,
struct IFlareSystemsManager.Signature _signature
) external;

Parameters

  • _rewardEpochId: Reward epoch id of the new signing policy.
  • _newSigningPolicyHash: New signing policy hash.
  • _signature: Signature.

signRewards

Method for collecting signatures for the rewards.

function signRewards(
uint24 _rewardEpochId,
struct IFlareSystemsManager.NumberOfWeightBasedClaims[] _noOfWeightBasedClaims,
bytes32 _rewardsHash,
struct IFlareSystemsManager.Signature _signature
) external;

Parameters

  • _rewardEpochId: Reward epoch id of the rewards.
  • _noOfWeightBasedClaims: Number of weight based claims list.
  • _rewardsHash: Rewards hash.
  • _signature: Signature.

signUptimeVote

Method for collecting signatures for the uptime vote.

function signUptimeVote(
uint24 _rewardEpochId,
bytes32 _uptimeVoteHash,
struct IFlareSystemsManager.Signature _signature
) external;

Parameters

  • _rewardEpochId: Reward epoch id of the uptime vote.
  • _uptimeVoteHash: Uptime vote hash.
  • _signature: Signature.

submitUptimeVote

Method for submitting node ids with high enough uptime.

function submitUptimeVote(
uint24 _rewardEpochId,
bytes20[] _nodeIds,
struct IFlareSystemsManager.Signature _signature
) external;

Parameters

  • _rewardEpochId: Reward epoch id of the uptime vote.
  • _nodeIds: Node ids with high enough uptime.
  • _signature: Signature.

votingEpochDurationSeconds

Duration of voting epoch, in seconds.

function votingEpochDurationSeconds(
) external view returns (
uint64
);

Events

RandomAcquisitionStarted

Event emitted when random acquisition phase starts.

event RandomAcquisitionStarted(
uint24 rewardEpochId,
uint64 timestamp
)

RewardEpochStarted

Event emitted when reward epoch starts.

event RewardEpochStarted(
uint24 rewardEpochId,
uint32 startVotingRoundId,
uint64 timestamp
)

RewardsSigned

Event emitted when rewards are signed.

event RewardsSigned(
uint24 rewardEpochId,
address signingPolicyAddress,
address voter,
bytes32 rewardsHash,
struct IFlareSystemsManager.NumberOfWeightBasedClaims[] noOfWeightBasedClaims,
uint64 timestamp,
bool thresholdReached
)

SignUptimeVoteEnabled

Event emitted when it is time to sign uptime vote.

event SignUptimeVoteEnabled(
uint24 rewardEpochId,
uint64 timestamp
)

SigningPolicySigned

Event emitted when signing policy is signed.

event SigningPolicySigned(
uint24 rewardEpochId,
address signingPolicyAddress,
address voter,
uint64 timestamp,
bool thresholdReached
)

UptimeVoteSigned

Event emitted when uptime vote is signed.

event UptimeVoteSigned(
uint24 rewardEpochId,
address signingPolicyAddress,
address voter,
bytes32 uptimeVoteHash,
uint64 timestamp,
bool thresholdReached
)

UptimeVoteSubmitted

Event emitted when uptime vote is submitted.

event UptimeVoteSubmitted(
uint24 rewardEpochId,
address signingPolicyAddress,
address voter,
bytes20[] nodeIds,
uint64 timestamp
)

VotePowerBlockSelected

Event emitted when vote power block is selected.

event VotePowerBlockSelected(
uint24 rewardEpochId,
uint64 votePowerBlock,
uint64 timestamp
)

Structures

NumberOfWeightBasedClaims

Number of weight based claims structure

struct NumberOfWeightBasedClaims {
uint256 rewardManagerId;
uint256 noOfWeightBasedClaims;
}

Signature

Signature structure

struct Signature {
uint8 v;
bytes32 r;
bytes32 s;
}