Git Source

Inherits: RuleAdministratorOnly, ActionTypesArray, ITokenHandlerEvents, IAssetHandlerErrors

Author: @ShaneDuncan602 @oscarsernarosero @TJ-Everett

Setters and getters for the rule in the handler. Meant to be inherited by a handler facet to easily support the rule.

Functions

getAccountMaxTradeSizeId

Rule Setters and Getters

Retrieve the Account Max Trade Size Rule Id

function getAccountMaxTradeSizeId(ActionTypes _actions) external view returns (uint32);

Parameters

NameTypeDescription
_actionsActionTypesthe action types

Returns

NameTypeDescription
<none>uint32accountMaxTradeSizeId

setAccountMaxTradeSizeId

that setting a rule will automatically activate it.

Set the AccountMaxTradeSizeRuleId. Restricted to rule administrators only.

function setAccountMaxTradeSizeId(ActionTypes[] calldata _actions, uint32 _ruleId)
    external
    ruleAdministratorOnly(lib.handlerBaseStorage().appManager);

Parameters

NameTypeDescription
_actionsActionTypes[]the action types
_ruleIduint32Rule Id to set

setAccountMaxTradeSizeIdFull

that setting a rule will automatically activate it.

This function does not check that the array length is greater than zero to allow for clearing out of the action types data

Set the AccountMaxTradeSizeRule suite. Restricted to rule administrators only.

function setAccountMaxTradeSizeIdFull(ActionTypes[] calldata _actions, uint32[] calldata _ruleIds)
    external
    ruleAdministratorOnly(lib.handlerBaseStorage().appManager);

Parameters

NameTypeDescription
_actionsActionTypes[]actions to have the rule applied to
_ruleIdsuint32[]Rule Id corresponding to the actions

clearAccountMaxTradeSize

Clear the rule data structure

function clearAccountMaxTradeSize() internal;

setAccountMaxTradeSizeIdUpdate

that setting a rule will automatically activate it.

Set the AccountMaxTradeSizeRuleId.

function setAccountMaxTradeSizeIdUpdate(ActionTypes _action, uint32 _ruleId) internal;

Parameters

NameTypeDescription
_actionActionTypesthe action type to set the rule
_ruleIduint32Rule Id to set

resetAccountMaxTradeSize

reset the ruleChangeDate within the rule data struct. This will signal the rule check to clear the accumulator data prior to checking the rule.

function resetAccountMaxTradeSize() internal;

activateAccountMaxTradeSize

enable/disable rule. Disabling a rule will save gas on transfer transactions.

function activateAccountMaxTradeSize(ActionTypes[] calldata _actions, bool _on)
    external
    ruleAdministratorOnly(lib.handlerBaseStorage().appManager);

Parameters

NameTypeDescription
_actionsActionTypes[]the action type to set the rule
_onboolboolean representing if a rule must be checked or not.

isAccountMaxTradeSizeActive

Tells you if the Account Max Trade Size Rule is active or not.

function isAccountMaxTradeSizeActive(ActionTypes _action) external view returns (bool);

Parameters

NameTypeDescription
_actionActionTypesthe action type

Returns

NameTypeDescription
<none>boolboolean representing if the rule is active