Git Source

Inherits: IRiskScores, DataModule, IAppLevelEvents

Author: @ShaneDuncan602, @oscarsernarosero, @TJ-Everett

Data contract to store risk scores for user accounts

This contract stores and serves risk scores via an internal mapping

State Variables

scores

mapping(address => uint8) public scores;

MAX_RISK

uint8 constant MAX_RISK = 100;

Functions

constructor

Constructor that sets the app manager address used for permissions. This is required for upgrades.

constructor(address _dataModuleAppManagerAddress) DataModule(_dataModuleAppManagerAddress);

Parameters

NameTypeDescription
_dataModuleAppManagerAddressaddressaddress of the owning app manager

addScore

Add the risk score to the account. Restricted to the owner

function addScore(address _address, uint8 _score) public virtual onlyOwner;

Parameters

NameTypeDescription
_addressaddressaddress of the account
_scoreuint8risk score (0-100)

addMultipleRiskScores

Add the Risk Score at index to Account at index in array. Restricted to Risk Admins.

function addMultipleRiskScores(address[] memory _accounts, uint8[] memory _scores) external onlyOwner;

Parameters

NameTypeDescription
_accountsaddress[]address array upon which to apply the Risk Score
_scoresuint8[]Risk Score array (0-100)

addRiskScoreToMultipleAccounts

Add the Risk Score to each address in array. Restricted to Risk Admins.

function addRiskScoreToMultipleAccounts(address[] memory _accounts, uint8 _score) external virtual onlyOwner;

Parameters

NameTypeDescription
_accountsaddress[]address array upon which to apply the Risk Score
_scoreuint8Risk Score(0-100)

removeScore

Remove the risk score for the account. Restricted to the owner

function removeScore(address _account) external virtual onlyOwner;

Parameters

NameTypeDescription
_accountaddressaddress of the account

getRiskScore

Get the risk score for the account. Restricted to the owner

function getRiskScore(address _account) external view virtual returns (uint8);

Parameters

NameTypeDescription
_accountaddressaddress of the account