Main Contract
Search…
Introduction
Money on Chain platform
Main concepts
System states
Public actions
Contracts architecture
Contract mocks
Relevant patterns and choices
Data dictionary
Getting started
Integration with MoC platform
Introduction to MoC
Getting BPros
Getting DoCs
Getting BTCx
Commission fees values
Vendors
Fees calculation
From outside the blockchain
Smart contracts
Contracts verification
ABIs documentation
BProToken
BtcPriceProviderMock
DocToken
ERC20Mintable
Governed
Initializable
MakeStoppable
MakeUnstoppable
MoC
MoCBProxManager
MoCBProxManagerUpdater
MoCBucketContainer
MoCConnector
MoCConverter
MoCEMACalculator
MoCExchange
MoCHelperLib
MoCHelperLibMock
MoCInrate
MoCLibConnection
MoCPriceProviderMock
MoCSettlement
MoCSettlementMock
MoCState
MoCStateMock
MoCToken
MoCVendors
MoCWhitelist
MockMakeStoppable
MockMakeUnstoppable
MockStopper
MockUpgradeDelegator
MockUpgraderTemplate
OwnerBurnableToken
Pausable
PriceFeed
PriceFeederAdder
PriceFeederRemover
PriceProvider
RevertingOnSend
Stoppable
Stopper
UpgradeDelegator
UpgraderTemplate
Powered By
GitBook
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()
​
​
getSmoothingFactor()
​
​
setSmoothingFactor(uint256 factor)
​
​
getGovernorAddress()
​
​
getEmaCalculationBlockSpan()
​
​
setEmaCalculationBlockSpan(uint256 blockSpan)
​
​
shouldCalculateEma()
​
​
getLastEmaCalculation()
​
​
initializeMovingAverage(uint256 initialEma, uint256 smoothFactor, uint256 emaBlockSpan)
​
​
setBitcoinMovingAverage(uint256 btcPrice)
​
​
coefficientComp()
​
​
initializeGovernor(address _governor)
​
​
_doSetSmoothingFactor(uint256 factor)
​
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
​
Previous
MoCConverter
Next
MoCExchange
Last modified
9mo ago
Copy link
Outline
Contract Members
MovingAverageCalculation
Functions
getBitcoinMovingAverage
getSmoothingFactor
setSmoothingFactor
getGovernorAddress
getEmaCalculationBlockSpan
setEmaCalculationBlockSpan
shouldCalculateEma
getLastEmaCalculation
initializeMovingAverage
setBitcoinMovingAverage
coefficientComp
initializeGovernor
_doSetSmoothingFactor