ERC721NonTaggedRuleFacet
Inherits: AppAdministratorOrOwnerOnlyDiamondVersion, HandlerAccountApproveDenyOracle, HandlerUtils, HandlerTokenMaxSupplyVolatility, HandlerTokenMaxTradingVolume, HandlerTokenMinTxSize, HandlerTokenMinHoldTime, HandlerTokenMaxDailyTrades
Functions
checkNonTaggedRules
This function uses the protocol’s ruleProcessorto perform the actual rule checks.
Parameters
Name | Type | Description |
---|---|---|
action | ActionTypes | if selling or buying (of ActionTypes type) |
_from | address | address of the from account |
_to | address | address of the to account |
_sender | address | address of the caller |
_amount | uint256 | number of tokens transferred |
_tokenId | uint256 | id 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
Parameters
Name | Type | Description |
---|---|---|
_amount | uint256 | number of tokens transferred |
action | ActionTypes | if selling or buying (of ActionTypes type) |
handlerBase | address | address of the handler proxy |
_checkAccountApproveDenyOraclesRule
Internal function to check the Account Approve Deny Oracle Rules
Parameters
Name | Type | Description |
---|---|---|
_from | address | address of the from account |
_to | address | address of the to account |
_sender | address | address of the caller |
action | ActionTypes | if selling or buying (of ActionTypes type) |
handlerBase | address | address 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
Parameters
Name | Type | Description |
---|---|---|
_amount | uint256 | number of tokens transferred |
handlerBase | address | address of the handler proxy |
_checkTokenMaxSupplyVolatilityRule
Internal function to check the Token Max Supply Volatility rule
Parameters
Name | Type | Description |
---|---|---|
_to | address | address of the to account |
_amount | uint256 | number of tokens transferred |
handlerBase | address | address 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
Parameters
Name | Type | Description |
---|---|---|
action | ActionTypes | if selling or buying (of ActionTypes type) |
_tokenId | uint256 | id of the NFT being transferred |
_checkMinHoldTimeRules
This function uses the protocol’s ruleProcessor to perform the Min Hold Time Rule Check.
Parameters
Name | Type | Description |
---|---|---|
_action | ActionTypes | action to be checked |
_tokenId | uint256 | the specific token to check |
handlerBase | address | address of the handler proxy |
_from | address | |
_to | address | |
_sender | address |