Main Contract
Search…
⌃K

MoCEMACalculator

↗ Extends: Governed ↘ Derived Contracts: MoCState
MoCEMACalculator - version: 0.1.12

Contract Members

Constants & Variables
uint256 internal bitcoinMovingAverage;
uint256 public smoothingFactor;
uint256 public lastEmaCalculation;
uint256 public emaCalculationBlockSpan;
uint256 public constant PRICE_PRECISION;
uint256 public constant FACTOR_PRECISION;
uint256[50] private upgradeGap;

MovingAverageCalculation

Parameters
Name
Type
Description
price
uint256
movingAverage
uint256

Functions

getBitcoinMovingAverage

function getBitcoinMovingAverage() public view
returns(uint256)
Arguments

getSmoothingFactor

function getSmoothingFactor() public view
returns(uint256)
Arguments

setSmoothingFactor

function setSmoothingFactor(uint256 factor) public nonpayable onlyAuthorizedChanger
Arguments
Name
Type
Description
factor
uint256

getGovernorAddress

function getGovernorAddress() public view
returns(address)
Arguments

getEmaCalculationBlockSpan

function getEmaCalculationBlockSpan() public view
returns(uint256)
Arguments

setEmaCalculationBlockSpan

function setEmaCalculationBlockSpan(uint256 blockSpan) public nonpayable onlyAuthorizedChanger
Arguments
Name
Type
Description
blockSpan
uint256
Defines how many blocks should pass between BMA calculations*

shouldCalculateEma

function shouldCalculateEma() public view
returns(bool)
Arguments

getLastEmaCalculation

function getLastEmaCalculation() public view
returns(uint256)
Arguments

initializeMovingAverage

Provides Bitcoin's Price and Moving average. More information of EMA calculation https://en.wikipedia.org/wiki/Exponential_smoothing
function initializeMovingAverage(uint256 initialEma, uint256 smoothFactor, uint256 emaBlockSpan) internal nonpayable
Arguments
Name
Type
Description
initialEma
uint256
Initial ema value
smoothFactor
uint256
Weight coefficient for EMA calculation.
emaBlockSpan
uint256
Block count in a period for EMA calculation

setBitcoinMovingAverage

Calculates a EMA of the price. More information of EMA calculation https://en.wikipedia.org/wiki/Exponential_smoothing
function setBitcoinMovingAverage(uint256 btcPrice) internal nonpayable
Arguments
Name
Type
Description
btcPrice
uint256
Current price.

coefficientComp

Calculates the smoothing factor complement
function coefficientComp() internal view
returns(uint256)
Arguments

initializeGovernor

function initializeGovernor(address _governor) internal nonpayable
Arguments
Name
Type
Description
_governor
address

_doSetSmoothingFactor

function _doSetSmoothingFactor(uint256 factor) private nonpayable
Arguments
Name
Type
Description
factor
uint256