MethodWhitelist
Managing and retrieving whitelisted method selectors
SENTINEL_SELECTOR
bytes4 SENTINEL_SELECTORSpecial selector value threated as sentinel
_restrictedMethods
mapping(bytes4 => bool) _restrictedMethodsThis is applied to all tokens in collection
Method selector to boolean if method whitelisting is restricted
_whitelistedMethods
mapping(uint256 => struct IMethodWhitelist.Whitelisted[]) _whitelistedMethodsThis is applied per token
Token ID to array of whitelisted method selectors
_selectorToIndex
mapping(uint256 => mapping(bytes4 => uint256)) _selectorToIndexIf index is bigger then sentinel index is threated as invalid value
setRestrictedMethods
function setRestrictedMethods(bytes4[] restricted) public virtualSets methods as restricted for whitelisting
Parameters
restricted
bytes4[]
Array of selectors
setWhitelistedMethods
function setWhitelistedMethods(uint256 tokenId, struct WhitelistedParams[] whitelistParams) public virtualSets whitelisted methods for given token
Parameters
tokenId
uint256
Token identifier
whitelistParams
struct WhitelistedParams[]
getMethodRestricted
function getMethodRestricted(bytes4 selector) external view returns (bool)Returns if selector is restricted for whitelisting
Parameters
selector
bytes4
Method selector
Return Values
[0]
bool
Flag if method is restricted
getMethodWhitelisted
function getMethodWhitelisted(uint256 tokenId, bytes4 selector) public view returns (bool whitelisted)Returns if method is whitelisted
Parameters
tokenId
uint256
Token identifier
selector
bytes4
Method selector
Return Values
whitelisted
bool
Flag if method is whitelisted
getWhitelistedMethods
function getWhitelistedMethods(uint256 tokenId) external view returns (struct IMethodWhitelist.Whitelisted[] whitelist)Returns all whitelisted methods as array of Whitelisted structs
Parameters
tokenId
uint256
Token identifier
Return Values
whitelist
struct IMethodWhitelist.Whitelisted[]
Array of Whitelisted methods
getSentinelIndex
function getSentinelIndex(uint256 tokenId) public view returns (uint256)Returns sentinel index for given tokenId
Parameters
tokenId
uint256
Token identifier
Return Values
[0]
uint256
Sentinel index
_incWhitelistedCallCount
function _incWhitelistedCallCount(uint256 tokenId, bytes4 selector) internalIncements call count for given selector and token
Parameters
tokenId
uint256
Token identifier
selector
bytes4
Method selector
_resetWhitelistedCallCount
function _resetWhitelistedCallCount(uint256 tokenId) internalResets call count for given token
Parameters
tokenId
uint256
Token identifier
__gap
uint256[47] __gapLast updated