FtsoManager
#
Source | Inherits from IIFtsoManager, GovernedAndFlareDaemonized, AddressUpdatable, RevertErrorTracking
FTSO Manager contract.
It is in charge of:
- Defining reward epochs (few days).
- Choosing a single block each reward epoch that represents vote power of this epoch.
- Keeping track of all FTSO contracts.
- Every price epoch (few minutes):
- Randomly choose one FTSO for rewarding calculations.
- Trigger finalize price reveal epoch.
- Determine addresses and reward weights and triggers reward distribution.
Functions#
activate
#
function activate(
) external;
Activates FTSO manager (daemonize
will run jobs).
Only governance
can call this method.
active
#
function active(
) external view returns (
bool);
Returns whether the FTSO Manager is active
or not.
Returns | Type | Description |
---|---|---|
[0] | bool |
bool Active status. |
addFtso
#
function addFtso(
contract IIFtso _ftso
) external;
Adds FTSO to the list of managed FTSOs, to support a new price pair. All FTSOs in a multi-asset FTSO must be managed by the same FTSO manager.
Only governance
can call this method.
Parameters | Type | Description |
---|---|---|
_ftso |
contract IIFtso |
FTSO contract address to add. |
addFtsosBulk
#
function addFtsosBulk(
contract IIFtso[] _ftsos
) external;
Adds a list of FTSOs to the list of managed FTSOs, to support new price pairs. All FTSOs in a multi-asset FTSO must be managed by the same FTSO manager.
Only governance
can call this method.
Parameters | Type | Description |
---|---|---|
_ftsos |
contract IIFtso[] |
Array of FTSO contract addresses to add. |
cancelGovernanceCall
#
function cancelGovernanceCall(
bytes4 _selector
) external;
Cancel a timelocked governance
call before it has been executed.
Only governance
can call this method.
Parameters | Type | Description |
---|---|---|
_selector |
bytes4 |
The method selector. |
constructor
#
constructor(
address _governance,
contract FlareDaemon _flareDaemon,
address _addressUpdater,
contract IIFtsoManagerV1 _oldFtsoManager,
uint256 _firstPriceEpochStartTs,
uint256 _priceEpochDurationSeconds,
uint256 _revealEpochDurationSeconds,
uint256 _firstRewardEpochStartTs,
uint256 _rewardEpochDurationSeconds,
uint256 _votePowerIntervalFraction
) public;
constructor
#
constructor(
address _governance,
contract FlareDaemon _flareDaemon
) public;
constructor
#
constructor(
address _governance
) public;
Parameters | Type | Description |
---|---|---|
_governance |
address |
Governance contract. Must not be zero. |
currentRewardEpochEnds
#
function currentRewardEpochEnds(
) external view returns (
uint256);
Returns when the current reward epoch finishes.
Returns | Type | Description |
---|---|---|
[0] | uint256 |
uint256 Time in seconds since the UNIX epoch when the current reward epoch will finish. |
daemonize
#
function daemonize(
) external returns (
bool);
Implement this function to receive a trigger from the FlareDaemon
.
The trigger method is called by the validator right at the end of block state transition.
Only flareDaemon
can call this method.
Returns | Type | Description |
---|---|---|
[0] | bool |
bool Whether the contract is still active after the call. Currently unused. |
deactivateFtsos
#
function deactivateFtsos(
contract IIFtso[] _ftsos
) external;
Deactivates FTSOs that are no longer used on FTSO registry.
Only governance
can call this method.
Parameters | Type | Description |
---|---|---|
_ftsos |
contract IIFtso[] |
Array of FTSO contract addresses to deactivate. |
executeGovernanceCall
#
function executeGovernanceCall(
bytes4 _selector
) external;
Execute the timelocked governance
calls once the timelock period expires.
Only executor can call this method.
Parameters | Type | Description |
---|---|---|
_selector |
bytes4 |
The method selector (only one timelocked call per method is stored). |
ftsoRegistry
#
function ftsoRegistry(
) external view returns (
contract IIFtsoRegistry);
Returns the FtsoRegistry
contract address.
getAddressUpdater
#
function getAddressUpdater(
) public view returns (
address _addressUpdater);
Returns the configured address updater.
Returns | Type | Description |
---|---|---|
_addressUpdater |
address |
The AddresUpdater contract that can update our contract address list, as a response to a governance call. |
getContractName
#
function getContractName(
) external pure returns (
string);
Implement this function to allow updating daemonized contracts through the AddressUpdater
.
Returns | Type | Description |
---|---|---|
[0] | string |
string Contract name. |
getCurrentPriceEpochData
#
function getCurrentPriceEpochData(
) external view returns (
uint256 _priceEpochId,
uint256 _priceEpochStartTimestamp,
uint256 _priceEpochEndTimestamp,
uint256 _priceEpochRevealEndTimestamp,
uint256 _currentTimestamp);
Returns timing information for the current price epoch. All intervals are half-closed: end time is not included. All timestamps are in seconds since UNIX epoch.
See the FTSO page for information about the different submission phases.
Returns | Type | Description |
---|---|---|
_priceEpochId |
uint256 |
Price epoch ID. |
_priceEpochStartTimestamp |
uint256 |
Beginning of the commit phase. |
_priceEpochEndTimestamp |
uint256 |
End of the commit phase. |
_priceEpochRevealEndTimestamp |
uint256 |
End of the reveal phase. |
_currentTimestamp |
uint256 |
Current time. |
getCurrentPriceEpochId
#
function getCurrentPriceEpochId(
) external view returns (
uint256 _priceEpochId);
Returns current price epoch ID.
Returns | Type | Description |
---|---|---|
_priceEpochId |
uint256 |
Currently running epoch ID. IDs are consecutive numbers starting from zero. |
getCurrentRewardEpoch
#
function getCurrentRewardEpoch(
) external view returns (
uint256);
Returns current reward epoch ID (the one currently running).
Returns | Type | Description |
---|---|---|
[0] | uint256 |
Reward epoch ID. A monotonically increasing integer. |
getElasticBandWidthPPMFtso
#
function getElasticBandWidthPPMFtso(
contract IIFtso _ftso
) external view returns (
uint256);
Returns the secondary band's width in PPM (parts-per-million) of the median value, for a given FTSO.
Parameters | Type | Description |
---|---|---|
_ftso |
contract IIFtso |
The queried FTSO contract address. |
Returns | Type | Description |
---|---|---|
[0] | uint256 |
uint256 Secondary band width in PPM. To obtain the actual band width, divide this number by 10^6 and multiply by the price median value. |
getFallbackMode
#
function getFallbackMode(
) external view returns (
bool _fallbackMode,
contract IIFtso[] _ftsos,
bool[] _ftsoInFallbackMode);
Returns whether the FTSO Manager is currently in fallback mode.
In this mode only submissions from trusted providers are used.
Returns | Type | Description |
---|---|---|
_fallbackMode |
bool |
True if fallback mode is enabled for the manager. |
_ftsos |
contract IIFtso[] |
Array of all currently active FTSO assets. |
_ftsoInFallbackMode |
bool[] |
Boolean array indicating which FTSO assets are in fallback mode. If the FTSO Manager is in fallback mode then ALL FTSOs are in fallback mode. |
getFtsos
#
function getFtsos(
) external view returns (
contract IIFtso[] _ftsos);
Returns the list of currently active
FTSOs.
Returns | Type | Description |
---|---|---|
_ftsos |
contract IIFtso[] |
Array of contract addresses for the FTSOs. |
getGovernanceParameters
#
function getGovernanceParameters(
) external view returns (
uint256 _maxVotePowerNatThresholdFraction,
uint256 _maxVotePowerAssetThresholdFraction,
uint256 _lowAssetUSDThreshold,
uint256 _highAssetUSDThreshold,
uint256 _highAssetTurnoutThresholdBIPS,
uint256 _lowNatTurnoutThresholdBIPS,
uint256 _elasticBandRewardBIPS,
uint256 _rewardExpiryOffsetSeconds,
address[] _trustedAddresses,
bool _initialized,
bool _changed);
Returns governance
parameters for FTSOs.
Returns | Type | Description |
---|---|---|
_maxVotePowerNatThresholdFraction |
uint256 |
High threshold for native token vote power per voter. |
_maxVotePowerAssetThresholdFraction |
uint256 |
High threshold for asset vote power per voter |
_lowAssetUSDThreshold |
uint256 |
Threshold for low asset vote power (in scaled USD). |
_highAssetUSDThreshold |
uint256 |
Threshold for high asset vote power (in scaled USD). |
_highAssetTurnoutThresholdBIPS |
uint256 |
Threshold for high asset turnout (in BIPS). |
_lowNatTurnoutThresholdBIPS |
uint256 |
Threshold for low nat turnout (in BIPS). |
_elasticBandRewardBIPS |
uint256 |
Secondary reward band, where _elasticBandRewardBIPS goes to the secondary band and 10000 - _elasticBandRewardBIPS to the primary (IQR) band. |
_rewardExpiryOffsetSeconds |
uint256 |
Reward epochs closed earlier than block.timestamp - _rewardExpiryOffsetSeconds expire. |
_trustedAddresses |
address[] |
Trusted addresses will be used as a fallback mechanism for setting the price. |
_initialized |
bool |
|
_changed |
bool |
getLastUnprocessedPriceEpochData
#
function getLastUnprocessedPriceEpochData(
) external view returns (
uint256 _lastUnprocessedPriceEpoch,
uint256 _lastUnprocessedPriceEpochRevealEnds,
bool _lastUnprocessedPriceEpochInitialized);
Returns information regarding the currently unprocessed price epoch. This epoch is not necessarily the last one, in case the network halts for some time due to validator node problems, for example.
Returns | Type | Description |
---|---|---|
_lastUnprocessedPriceEpoch |
uint256 |
ID of the price epoch that is currently waiting finalization. |
_lastUnprocessedPriceEpochRevealEnds |
uint256 |
When that price epoch can be finalized, in seconds since UNIX epoch. |
_lastUnprocessedPriceEpochInitialized |
bool |
Whether this price epoch has been already initialized and therefore it must be finalized before the corresponding reward epoch can be finalized. |
getPriceEpochConfiguration
#
function getPriceEpochConfiguration(
) external view returns (
uint256 _firstPriceEpochStartTs,
uint256 _priceEpochDurationSeconds,
uint256 _revealEpochDurationSeconds);
Returns the current values for price epoch timing configuration.
See the FTSO page for information about the different submission phases.
Returns | Type | Description |
---|---|---|
_firstPriceEpochStartTs |
uint256 |
Timestamp, in seconds since UNIX epoch, of the first price epoch. |
_priceEpochDurationSeconds |
uint256 |
Duration in seconds of the commit phase. |
_revealEpochDurationSeconds |
uint256 |
Duration in seconds of the reveal phase. |
getPriceSubmitter
#
function getPriceSubmitter(
) external view returns (
contract IIPriceSubmitter);
Returns the PriceSubmitter
contract.
getRewardEpochConfiguration
#
function getRewardEpochConfiguration(
) external view returns (
uint256 _firstRewardEpochStartTs,
uint256 _rewardEpochDurationSeconds);
Returns the current values for reward epoch timing configuration.
See the Reward epochs box.
Returns | Type | Description |
---|---|---|
_firstRewardEpochStartTs |
uint256 |
Timestamp, in seconds since UNIX epoch, of the first reward epoch. |
_rewardEpochDurationSeconds |
uint256 |
Duration in seconds of the reward epochs. |
getRewardEpochData
#
function getRewardEpochData(
uint256 _rewardEpochId
) public view returns (
struct IIFtsoManager.RewardEpochData);
Returns data regarding a specific reward epoch ID.
Parameters | Type | Description |
---|---|---|
_rewardEpochId |
uint256 |
Epoch ID. |
Returns | Type | Description |
---|---|---|
[0] | struct IIFtsoManager.RewardEpochData |
RewardEpochData Its associated data. |
getRewardEpochToExpireNext
#
function getRewardEpochToExpireNext(
) external view returns (
uint256);
Return reward epoch that will expire next, when a new reward epoch is initialized.
Reward epochs older than 90 days expire, and any unclaimed rewards in them become inaccessible.
Returns | Type | Description |
---|---|---|
[0] | uint256 |
uint256 Reward epoch ID. |
getRewardEpochVotePowerBlock
#
function getRewardEpochVotePowerBlock(
uint256 _rewardEpoch
) external view returns (
uint256 _votepowerBlock);
Returns the vote power block that was used for a past reward epoch.
Parameters | Type | Description |
---|---|---|
_rewardEpoch |
uint256 |
The queried reward epoch ID. |
Returns | Type | Description |
---|---|---|
_votepowerBlock |
uint256 |
uint256 The block number of that reward epoch's vote power block. |
getRewardExpiryOffsetSeconds
#
function getRewardExpiryOffsetSeconds(
) external view returns (
uint256);
Returns the currently configured reward expiration time.
Returns | Type | Description |
---|---|---|
[0] | uint256 |
uint256 Unclaimed rewards accrued in reward epochs more than this amount of seconds in the past expire and become inaccessible. |
getUpdateGovernanceParametersTs
#
function getUpdateGovernanceParametersTs(
) external view returns (
uint256);
Returns the timestamp, in seconds since UNIX epoch, when the scheduled new settings will take effect.
getVotePowerIntervalFraction
#
function getVotePowerIntervalFraction(
) external view returns (
uint256);
governance
#
function governance(
) public view returns (
address);
Returns the current effective governance
address.
notInitializedFtsos
#
function notInitializedFtsos(
contract IIFtso _ftso
) external view returns (
bool);
Returns whether an FTSO has been initialized.
Returns | Type | Description |
---|---|---|
[0] | bool |
bool Initialization state. |
removeFtso
#
function removeFtso(
contract IIFtso _ftso
) external;
Removes an FTSO from the list of managed FTSOs.
Reverts if FTSO is used in a multi-asset FTSO.
Deactivates the _ftso
.
Only governance
can call this method.
Parameters | Type | Description |
---|---|---|
_ftso |
contract IIFtso |
FTSO contract address to remove. |
replaceFtso
#
function replaceFtso(
contract IIFtso _ftsoToAdd,
bool _copyCurrentPrice,
bool _copyAssetOrAssetFtsos
) external;
Replaces one FTSO with another with the same symbol. All FTSOs in a multi-asset FTSO must be managed by the same FTSO manager. Deactivates the old FTSO.
Only governance
can call this method.
Parameters | Type | Description |
---|---|---|
_ftsoToAdd |
contract IIFtso |
FTSO contract address to add. An existing FTSO with the same symbol will be removed. |
_copyCurrentPrice |
bool |
|
_copyAssetOrAssetFtsos |
bool |
replaceFtsosBulk
#
function replaceFtsosBulk(
contract IIFtso[] _ftsosToAdd,
bool _copyCurrentPrice,
bool _copyAssetOrAssetFtsos
) external;
Replaces a list of FTSOs with other FTSOs with the same symbol. All FTSOs in a multi-asset FTSO must be managed by the same FTSO manager. Deactivates the old FTSOs.
Only governance
can call this method.
Parameters | Type | Description |
---|---|---|
_ftsosToAdd |
contract IIFtso[] |
Array of FTSO contract addresses to add. Every existing FTSO with the same symbols will be removed. |
_copyCurrentPrice |
bool |
|
_copyAssetOrAssetFtsos |
bool |
rewardEpochDurationSeconds
#
function rewardEpochDurationSeconds(
) external view returns (
uint256);
Currently configured reward epoch duration.
Returns | Type | Description |
---|---|---|
[0] | uint256 |
uint256 Reward epoch duration, in seconds. |
rewardEpochs
#
function rewardEpochs(
uint256 _rewardEpochId
) external view returns (
uint256 _votepowerBlock,
uint256 _startBlock,
uint256 _startTimestamp);
Returns information about a reward epoch.
Parameters | Type | Description |
---|---|---|
_rewardEpochId |
uint256 |
The epoch ID to query. |
Returns | Type | Description |
---|---|---|
_votepowerBlock |
uint256 |
The vote power block of the epoch. |
_startBlock |
uint256 |
The first block of the epoch. |
_startTimestamp |
uint256 |
Timestamp of the epoch start, in seconds since UNIX epoch. |
rewardEpochsStartTs
#
function rewardEpochsStartTs(
) external view returns (
uint256);
Time when the current reward epoch started.
Returns | Type | Description |
---|---|---|
[0] | uint256 |
uint256 Timestamp, in seconds since UNIX epoch. |
setElasticBandWidthPPMFtsos
#
function setElasticBandWidthPPMFtsos(
uint256 _updateTs,
contract IIFtso[] _ftsos,
uint256[] _widths
) external;
Sets elastic band widths in PPM (parts-per-million) for given FTSOs.
Only governance
can call this method.
Parameters | Type | Description |
---|---|---|
_updateTs |
uint256 |
Timestamp when the changes will take effect, in seconds from UNIX epoch. |
_ftsos |
contract IIFtso[] |
Array of FTSO contract addresses to update. |
_widths |
uint256[] |
Array of secondary band widths in PPM. To obtain the actual band width, this number is divided by 10^6 and multiplied by the price median value. |
setFallbackMode
#
function setFallbackMode(
bool _fallbackMode
) external;
Sets whether the FTSO Manager is currently in fallback mode. In this mode only submissions from trusted providers are used.
Only governance
can call this method.
Parameters | Type | Description |
---|---|---|
_fallbackMode |
bool |
True if fallback mode is enabled. |
setFtsoAsset
#
function setFtsoAsset(
contract IIFtso _ftso,
contract IIVPToken _asset
) external;
Sets the asset tracked by an FTSO.
Only governance
can call this method.
Parameters | Type | Description |
---|---|---|
_ftso |
contract IIFtso |
The FTSO contract address. |
_asset |
contract IIVPToken |
The VPToken contract address of the asset to track. |
setFtsoAssetFtsos
#
function setFtsoAssetFtsos(
contract IIFtso _ftso,
contract IIFtso[] _assetFtsos
) external;
Sets an array of FTSOs to be tracked by a multi-asset FTSO. FTSOs implicitly determine the FTSO assets.
Only governance
can call this method.
Parameters | Type | Description |
---|---|---|
_ftso |
contract IIFtso |
The multi-asset FTSO contract address. |
_assetFtsos |
contract IIFtso[] |
Array of FTSOs to be tracked. |
setFtsoFallbackMode
#
function setFtsoFallbackMode(
contract IIFtso _ftso,
bool _fallbackMode
) external;
Sets whether an FTSO is currently in fallback mode. In this mode only submissions from trusted providers are used.
Only governance
can call this method.
Parameters | Type | Description |
---|---|---|
_ftso |
contract IIFtso |
The FTSO contract address. |
_fallbackMode |
bool |
Fallback mode. |
setGovernanceParameters
#
function setGovernanceParameters(
uint256 _updateTs,
uint256 _maxVotePowerNatThresholdFraction,
uint256 _maxVotePowerAssetThresholdFraction,
uint256 _lowAssetUSDThreshold,
uint256 _highAssetUSDThreshold,
uint256 _highAssetTurnoutThresholdBIPS,
uint256 _lowNatTurnoutThresholdBIPS,
uint256 _elasticBandRewardBIPS,
uint256 _rewardExpiryOffsetSeconds,
address[] _trustedAddresses
) external;
Sets governance
parameters for FTSOs
Only governance
can call this method.
Parameters | Type | Description |
---|---|---|
_updateTs |
uint256 |
Time, in seconds since UNIX epoch, when updated settings should be pushed to FTSOs. |
_maxVotePowerNatThresholdFraction |
uint256 |
High threshold for native token vote power per voter. |
_maxVotePowerAssetThresholdFraction |
uint256 |
High threshold for asset vote power per voter |
_lowAssetUSDThreshold |
uint256 |
Threshold for low asset vote power (in scaled USD). |
_highAssetUSDThreshold |
uint256 |
Threshold for high asset vote power (in scaled USD). |
_highAssetTurnoutThresholdBIPS |
uint256 |
Threshold for high asset turnout (in BIPS). |
_lowNatTurnoutThresholdBIPS |
uint256 |
Threshold for low nat turnout (in BIPS). |
_elasticBandRewardBIPS |
uint256 |
Secondary reward band, where _elasticBandRewardBIPS goes to the secondary band and 10000 - _elasticBandRewardBIPS to the primary (IQR) band. |
_rewardExpiryOffsetSeconds |
uint256 |
Reward epochs closed earlier than block.timestamp - _rewardExpiryOffsetSeconds expire. |
_trustedAddresses |
address[] |
Trusted addresses will be used as a fallback mechanism for setting the price. |
setInitialRewardData
#
function setInitialRewardData(
uint256 _nextRewardEpochToExpire,
uint256 _rewardEpochsLength,
uint256 _currentRewardEpochEnds
) external;
Set reward data to values from old ftso manager. Can only be called before activation.
Only governance
can call this method.
Parameters | Type | Description |
---|---|---|
_nextRewardEpochToExpire |
uint256 |
See getRewardEpochToExpireNext . |
_rewardEpochsLength |
uint256 |
See getRewardEpochConfiguration . |
_currentRewardEpochEnds |
uint256 |
See getCurrentRewardEpoch . |
setRewardEpochDurationSeconds
#
function setRewardEpochDurationSeconds(
uint256 _rewardEpochDurationSeconds
) external;
Sets the reward epoch duration.
Only governance
can call this method.
If the reward epoch is very short and the expiry offset is very long, the list of reward epochs to be checked becomes very long. Therefore reward epoch time has to be capped to expiry offset.
setUpdateOnRewardEpochSwitchover
#
function setUpdateOnRewardEpochSwitchover(
contract IUpdateValidators _updateValidators
) external;
Unused.
setUseGoodRandom
#
function setUseGoodRandom(
bool _useGoodRandom,
uint256 _maxWaitForGoodRandomSeconds
) external;
Allow governance
to switch to good random numbers only.
Only governance
can call this method.
See IFtsoManager
.UseGoodRandomSet
.
Parameters | Type | Description |
---|---|---|
_useGoodRandom |
bool |
Whether good random numbers should be used or not. |
_maxWaitForGoodRandomSeconds |
uint256 |
Max time in seconds to wait for the good random. If there is none after given time, reward epoch finalization should proceed anyway. |
setVotePowerIntervalFraction
#
function setVotePowerIntervalFraction(
uint256 _votePowerIntervalFraction
) external;
showLastRevertedError
#
function showLastRevertedError(
) external view returns (
uint256[] _lastErrorBlock,
uint256[] _numErrors,
string[] _errorString,
address[] _erroringContract,
uint256 _totalRevertedErrors);
Returns latest error information. All arrays will contain only one entry.
Returns | Type | Description |
---|---|---|
_lastErrorBlock |
uint256[] |
Array of block numbers where the errors occurred. |
_numErrors |
uint256[] |
Array of number of times same error with same contract address has been reverted. |
_errorString |
string[] |
Array of revert error messages. |
_erroringContract |
address[] |
Array of addresses of the reverting contracts. |
_totalRevertedErrors |
uint256 |
Total number of revert errors across all contracts. |
showRevertedErrors
#
function showRevertedErrors(
uint256 startIndex,
uint256 numErrorTypesToShow
) public view returns (
uint256[] _lastErrorBlock,
uint256[] _numErrors,
string[] _errorString,
address[] _erroringContract,
uint256 _totalRevertedErrors);
Returns latest errors.
Parameters | Type | Description |
---|---|---|
startIndex |
uint256 |
Starting index in the error list array. |
numErrorTypesToShow |
uint256 |
Number of errors to show. The total amount can be found in errorData . |
Returns | Type | Description |
---|---|---|
_lastErrorBlock |
uint256[] |
Array of block numbers where the errors occurred. |
_numErrors |
uint256[] |
Array of number of times same error with same contract address has been reverted. |
_errorString |
string[] |
Array of revert error messages. |
_erroringContract |
address[] |
Array of addresses of the reverting contracts. |
_totalRevertedErrors |
uint256 |
Total number of revert errors across all contracts. |
switchToFallbackMode
#
function switchToFallbackMode(
) external returns (
bool);
This function will be called after an error is caught in daemonize
.
It will switch the contract to a simpler fallback mode, which hopefully works when full mode doesn't.
Not every contract needs to support fallback mode (FtsoManager
does), so this method may be empty.
Switching back to normal mode is left to the contract (typically a governed method call).
This function may be called due to low-gas error, so it shouldn't use more than ~30.000 gas.
Only flareDaemon
can call this method.
Returns | Type | Description |
---|---|---|
[0] | bool |
True if switched to fallback mode, false if already in fallback mode or if fallback mode is not supported. |
switchToProductionMode
#
function switchToProductionMode(
) external;
Enter the production mode after all the initial governance
settings have been set.
This enables timelocks and the governance
can be obtained afterward by calling
governanceSettings
.getGovernanceAddress().
Emits GovernedProductionModeEntered
.
updateContractAddresses
#
function updateContractAddresses(
bytes32[] _contractNameHashes,
address[] _contractAddresses
) external;
External method called from AddressUpdater
only.
voterWhitelister
#
function voterWhitelister(
) external view returns (
contract IIVoterWhitelister);
Returns the VoterWhitelister
contract address.
Variables#
MAX_TRUSTED_ADDRESSES_LENGTH
#
uint256 MAX_TRUSTED_ADDRESSES_LENGTH
Maximum number of trusted addresses allowed.
cleanupBlockNumberManager
#
contract CleanupBlockNumberManager cleanupBlockNumberManager
Address of the CleanupBlockNumberManager
contract.
currentRewardEpochEnds
#
uint256 currentRewardEpochEnds
Timestamp when the current reward epoch finishes, in seconds since UNIX epoch.
errorData
#
struct RevertErrorTracking.LastErrorData errorData
Most recent error information.
flareDaemon
#
contract FlareDaemon flareDaemon
The FlareDaemon
contract, set at construction time.
governanceSettings
#
contract IGovernanceSettings governanceSettings
Governance Settings.
lastRewardedFtsoAddress
#
address lastRewardedFtsoAddress
Address of the FTSO contract that was last chosen for reward calculations.
maxWaitForGoodRandomSeconds
#
uint256 maxWaitForGoodRandomSeconds
Used only when useGoodRandom
flag is set.
oldFtsoManager
#
contract IIFtsoManagerV1 oldFtsoManager
Previous FTSO Manager, in case of a redeployment.
priceSubmitter
#
contract IIPriceSubmitter priceSubmitter
Address of the PriceSubmitter
contract.
productionMode
#
bool productionMode
When true, governance
is enabled and cannot be disabled. See switchToProductionMode
.
rewardEpochDurationSeconds
#
uint256 rewardEpochDurationSeconds
Duration of reward epochs, in seconds.
rewardEpochsStartTs
#
uint256 rewardEpochsStartTs
Timestamp when the first reward epoch started, in seconds since UNIX epoch.
rewardManager
#
contract IIFtsoRewardManager rewardManager
Address of the RewardManager
contract.
timelockedCalls
#
mapping(bytes4 => struct GovernedBase.TimelockedCall) timelockedCalls
List of pending timelocked governance
calls.
updateOnRewardEpochSwitchover
#
contract IUpdateValidators updateOnRewardEpochSwitchover
Unused.
useGoodRandom
#
bool useGoodRandom
Whether use of good random numbers is enforced. See IFtsoManager
.UseGoodRandomSet
.
waitingForGoodRandomSinceTs
#
uint256 waitingForGoodRandomSinceTs
Used only when useGoodRandom
flag is set.