MoCEMACalculator

View Source: contracts/MoCEMACalculator.sol

↗ 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

Last updated