Functions
checkAccountMaxValueByRiskScore
_maxValue array size must be equal to _riskScore array size. The positioning of the arrays is ascendant in terms of risk scores, and descendant in the value array. (i.e. if highest risk score is 99, the last balanceLimit will apply to all risk scores of 100.) eg. risk scores balances resultant logic0-24 = NO LIMIT 25 500 25-49 = 500 50 250 50-74 = 250 75 100 75-99 = 100 Account Max Value By Risk Score
Name | Type | Description |
---|---|---|
_ruleId | uint32 | Rule Identifier for rule arguments |
_toAddress | address | Address of the recipient |
_riskScore | uint8 | The Risk Score of the recepient account |
_totalValueTo | uint128 | Recipient account’s beginning balance in USD with 18 decimals of precision |
_amountToTransfer | uint128 | Total dollar amount to be transferred in USD with 18 decimals of precision |
getAccountMaxValueByRiskScore
If recipient address being checked is zero address the rule passes (This allows for burning) Function to get the Account Max Value By Risk Score rule by indexName | Type | Description |
---|---|---|
_index | uint32 | position of rule in array |
Name | Type | Description |
---|---|---|
<none> | ApplicationRuleStorage.AccountMaxValueByRiskScore | AccountMaxValueByRiskScore rule |
getTotalAccountMaxValueByRiskScore
Function to get total Account Max Value By Risk Score rules registeredName | Type | Description |
---|---|---|
<none> | uint32 | Total length of array |
checkAccountMaxTxValueByRiskScore
that these max value ranges are set by risk score ranges. _maxValue size must be equal to _riskScore The positioning of the arrays is ascendant in terms of risk scores, and descendant in the size of transactions. (i.e. if highest risk score is 99, the last balanceLimit will apply to all risk scores of 100.) eg. risk scores balances resultant logic0-24 = NO LIMIT 25 500 25-49 = 500 50 250 50-74 = 250 75 100 75-99 = 100 Rule that checks if the tx exceeds the limit size in USD for a specific risk profile within a specified period of time. this check will cause a revert if the new value of _valueTransactedInPeriod in USD exceeds the limit for the address risk profile.
Name | Type | Description |
---|---|---|
ruleId | uint32 | to check against. |
_valueTransactedInPeriod | uint128 | the cumulative amount of tokens recorded in the last period. |
txValue | uint128 | in USD of the current transaction with 18 decimals of precision. |
lastTxDate | uint64 | timestamp of the last transfer of this token by this address. |
_riskScore | uint8 | of the address (0 -> 100) |
Name | Type | Description |
---|---|---|
<none> | uint128 | updated value for the _valueTransactedInPeriod. If _valueTransactedInPeriod are inside the current period, then this value is accumulated. If not, it is reset to current amount. |
getAccountMaxTxValueByRiskScore
Function to get the Account Max Transaction Value By Risk Score rule.Name | Type | Description |
---|---|---|
_index | uint32 | position of rule in array |
Name | Type | Description |
---|---|---|
<none> | ApplicationRuleStorage.AccountMaxTxValueByRiskScore | a touple of arrays, a uint8 and a uint64. The first array will be the _maxValue, the second will be the _riskScore, the uint8 will be the period, and the last value will be the starting date. |
getTotalAccountMaxTxValueByRiskScore
Function to get total Account Max Transaction Value By Risk Score rulesName | Type | Description |
---|---|---|
<none> | uint32 | Total length of array |