Git Source

Inherits: AppAdministratorOrOwnerOnlyDiamondVersion, HandlerAccountApproveDenyOracle, HandlerUtils, HandlerTokenMaxSupplyVolatility, HandlerTokenMaxTradingVolume, HandlerTokenMinTxSize, HandlerTokenMinHoldTime, HandlerTokenMaxDailyTrades

Functions

checkNonTaggedRules

This function uses the protocol’s ruleProcessorto perform the actual rule checks.

function checkNonTaggedRules(
    ActionTypes action,
    address _from,
    address _to,
    address _sender,
    uint256 _amount,
    uint256 _tokenId
) external onlyOwner;

Parameters

NameTypeDescription
actionActionTypesif selling or buying (of ActionTypes type)
_fromaddressaddress of the from account
_toaddressaddress of the to account
_senderaddressaddress of the caller
_amountuint256number of tokens transferred
_tokenIduint256id of the NFT being transferred

_checkTokenMinTxSizeRule

tokenMaxTradingVolume Burn tokenMinTxSize Burn tokenMaxDailyTrades BURN tokenMaxTradingVolume Mint tokenMinTxSize Mint tokenMaxDailyTrades MINT tokenMaxTradingVolume P2P_TRANSFER tokenMinTxSize P2P_TRANSFER tokenMaxDailyTrades P2P_TRANSFER non custodial buy tokenMaxTradingVolume BUY tokenMaxTradingVolume uses single rule id for all actions so check if Buy has rule id set ELSE check if sell has ruleId set else if conditional used for tokenMaxTrading as there is only one ruleId used for this rule tokenMinTxSize SELL Side tokenMaxDailyTrades SELL Side custodial buy tokenMinTxSize BUY tokenMaxDailyTrades BUY non custodial sell tokenMaxTradingVolume SELL tokenMaxTradingVolume uses single rule id for all actions so check if Sell has rule id set ELSE check if sell has ruleId set else if conditional used for tokenMaxTrading as there is only one ruleId used for this rule tokenMinTxSize BUY Side tokenMaxDailyTrades BUY Side custodial sell tokenMaxTradingVolume SELL tokenMinTxSize SELL tokenMaxDailyTrades SELL

Internal function to check the Token Min Transaction Size rule

function _checkTokenMinTxSizeRule(uint256 _amount, ActionTypes action, address handlerBase) internal view;

Parameters

NameTypeDescription
_amountuint256number of tokens transferred
actionActionTypesif selling or buying (of ActionTypes type)
handlerBaseaddressaddress of the handler proxy

_checkAccountApproveDenyOraclesRule

Internal function to check the Account Approve Deny Oracle Rules

function _checkAccountApproveDenyOraclesRule(
    address _from,
    address _to,
    address _sender,
    ActionTypes action,
    address handlerBase
) internal view;

Parameters

NameTypeDescription
_fromaddressaddress of the from account
_toaddressaddress of the to account
_senderaddressaddress of the caller
actionActionTypesif selling or buying (of ActionTypes type)
handlerBaseaddressaddress of the handler proxy

_checkTokenMaxTradingVolumeRule

The action type determines if the _to or _from is checked by the oracle _from address is checked for Burn _to address is checked for Mint _from and _to address are checked for BUY, SELL, and P2P_TRANSFER non custodial buy custodial buy non custodial sell custodial sell

Internal function to check the Token Max Trading Volume rule

function _checkTokenMaxTradingVolumeRule(uint256 _amount, address handlerBase) internal;

Parameters

NameTypeDescription
_amountuint256number of tokens transferred
handlerBaseaddressaddress of the handler proxy

_checkTokenMaxSupplyVolatilityRule

Internal function to check the Token Max Supply Volatility rule

function _checkTokenMaxSupplyVolatilityRule(address _to, uint256 _amount, address handlerBase) internal;

Parameters

NameTypeDescription
_toaddressaddress of the to account
_amountuint256number of tokens transferred
handlerBaseaddressaddress of the handler proxy

_checkTokenMaxDailyTradesRule

rule requires ruleID and either to or from address be zero address (mint/burn)

Internal function to check the TokenMaxDailyTrades rule

function _checkTokenMaxDailyTradesRule(ActionTypes action, uint256 _tokenId) internal;

Parameters

NameTypeDescription
actionActionTypesif selling or buying (of ActionTypes type)
_tokenIduint256id of the NFT being transferred

_checkMinHoldTimeRules

This function uses the protocol’s ruleProcessor to perform the Min Hold Time Rule Check.

function _checkMinHoldTimeRules(
    ActionTypes _action,
    uint256 _tokenId,
    address handlerBase,
    address _from,
    address _to,
    address _sender
) internal;

Parameters

NameTypeDescription
_actionActionTypesaction to be checked
_tokenIduint256the specific token to check
handlerBaseaddressaddress of the handler proxy
_fromaddress
_toaddress
_senderaddress