MarketplaceV3
thirdweb.com
Methods
DEFAULT_ADMIN_ROLE
function DEFAULT_ADMIN_ROLE() external view returns (bytes32)
Returns
| Name | Type | Description | 
|---|
| _0 | bytes32 | undefined | 
_getPluginForFunction
function _getPluginForFunction(bytes4 _selector) external view returns (address)
View address of the plugged-in functionality contract for a given function signature.
Parameters
| Name | Type | Description | 
|---|
| _selector | bytes4 | undefined | 
Returns
| Name | Type | Description | 
|---|
| _0 | address | undefined | 
addPlugin
function addPlugin(IPluginMap.Plugin _plugin) external nonpayable
Parameters
| Name | Type | Description | 
|---|
| _plugin | IPluginMap.Plugin | undefined | 
contractType
function contractType() external pure returns (bytes32)
Returns the type of the contract.
Returns
| Name | Type | Description | 
|---|
| _0 | bytes32 | undefined | 
contractURI
function contractURI() external view returns (string)
Returns the metadata URI of the contract.
Returns
| Name | Type | Description | 
|---|
| _0 | string | undefined | 
contractVersion
function contractVersion() external pure returns (uint8)
Returns the version of the contract.
Returns
| Name | Type | Description | 
|---|
| _0 | uint8 | undefined | 
getAllFunctionsOfPlugin
function getAllFunctionsOfPlugin(address _pluginAddress) external view returns (bytes4[] registered)
View all functionality as list of function signatures.
Parameters
| Name | Type | Description | 
|---|
| _pluginAddress | address | undefined | 
Returns
| Name | Type | Description | 
|---|
| registered | bytes4[] | undefined | 
getAllPlugins
function getAllPlugins() external view returns (struct IPluginMap.Plugin[] registered)
View all functionality existing on the contract.
Returns
| Name | Type | Description | 
|---|
| registered | IPluginMap.Plugin[] | undefined | 
function getPlatformFeeInfo() external view returns (address, uint16)
Returns the platform fee recipient and bps.
Returns
| Name | Type | Description | 
|---|
| _0 | address | undefined | 
| _1 | uint16 | undefined | 
getPluginForFunction
function getPluginForFunction(bytes4 _selector) external view returns (address)
View address of the plugged-in functionality contract for a given function signature.
Parameters
| Name | Type | Description | 
|---|
| _selector | bytes4 | undefined | 
Returns
| Name | Type | Description | 
|---|
| _0 | address | undefined | 
getRoleAdmin
function getRoleAdmin(bytes32 role) external view returns (bytes32)
Returns the admin role that controls the specified role.
See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.
Parameters
| Name | Type | Description | 
|---|
| role | bytes32 | keccak256 hash of the role. e.g. keccak256("TRANSFER_ROLE") | 
Returns
| Name | Type | Description | 
|---|
| _0 | bytes32 | undefined | 
getRoleMember
function getRoleMember(bytes32 role, uint256 index) external view returns (address member)
Returns the role-member from a list of members for a role, at a given index.
Returns member who has role, at index of role-members list. See struct {RoleMembers}, and mapping {roleMembers}
Parameters
| Name | Type | Description | 
|---|
| role | bytes32 | keccak256 hash of the role. e.g. keccak256("TRANSFER_ROLE") | 
| index | uint256 | Index in list of current members for the role. | 
Returns
| Name | Type | Description | 
|---|
| member | address | Address of account that has role | 
getRoleMemberCount
function getRoleMemberCount(bytes32 role) external view returns (uint256 count)
Returns total number of accounts that have a role.
Returns count of accounts that have role. See struct {RoleMembers}, and mapping {roleMembers}
Parameters
| Name | Type | Description | 
|---|
| role | bytes32 | keccak256 hash of the role. e.g. keccak256("TRANSFER_ROLE") | 
Returns
| Name | Type | Description | 
|---|
| count | uint256 | Total number of accounts that have role | 
grantRole
function grantRole(bytes32 role, address account) external nonpayable
Grants a role to an account, if not previously granted.
Caller must have admin role for the role. Emits {RoleGranted Event}.
Parameters
| Name | Type | Description | 
|---|
| role | bytes32 | keccak256 hash of the role. e.g. keccak256("TRANSFER_ROLE") | 
| account | address | Address of the account to which the role is being granted. | 
hasRole
function hasRole(bytes32 role, address account) external view returns (bool)
Checks whether an account has a particular role.
Returns true if account has been granted role.
Parameters
| Name | Type | Description | 
|---|
| role | bytes32 | keccak256 hash of the role. e.g. keccak256("TRANSFER_ROLE") | 
| account | address | Address of the account for which the role is being checked. | 
Returns
| Name | Type | Description | 
|---|
| _0 | bool | undefined | 
hasRoleWithSwitch
function hasRoleWithSwitch(bytes32 role, address account) external view returns (bool)
Checks whether an account has a particular role; role restrictions can be switched on and off.
Returns true if account has been granted role. Role restrictions can be switched on and off: - If address(0) has ROLE, then the ROLE restrictions don't apply. - If address(0) does not have ROLE, then the ROLE restrictions will apply.
Parameters
| Name | Type | Description | 
|---|
| role | bytes32 | keccak256 hash of the role. e.g. keccak256("TRANSFER_ROLE") | 
| account | address | Address of the account for which the role is being checked. | 
Returns
| Name | Type | Description | 
|---|
| _0 | bool | undefined | 
initialize
function initialize(address _defaultAdmin, string _contractURI, address[] _trustedForwarders, address _platformFeeRecipient, uint16 _platformFeeBps) external nonpayable
Initializes the contract, like a constructor.
Parameters
| Name | Type | Description | 
|---|
| _defaultAdmin | address | undefined | 
| _contractURI | string | undefined | 
| _trustedForwarders | address[] | undefined | 
| _platformFeeRecipient | address | undefined | 
| _platformFeeBps | uint16 | undefined | 
isTrustedForwarder
function isTrustedForwarder(address forwarder) external view returns (bool)
Parameters
| Name | Type | Description | 
|---|
| forwarder | address | undefined | 
Returns
| Name | Type | Description | 
|---|
| _0 | bool | undefined | 
multicall
function multicall(bytes[] data) external nonpayable returns (bytes[] results)
Receives and executes a batch of function calls on this contract.
Receives and executes a batch of function calls on this contract.
Parameters
| Name | Type | Description | 
|---|
| data | bytes[] | The bytes data that makes up the batch of function calls to execute. | 
Returns
| Name | Type | Description | 
|---|
| results | bytes[] | The bytes data that makes up the result of the batch of function calls executed. | 
onERC1155BatchReceived
function onERC1155BatchReceived(address, address, uint256[], uint256[], bytes) external nonpayable returns (bytes4)
Parameters
| Name | Type | Description | 
|---|
| _0 | address | undefined | 
| _1 | address | undefined | 
| _2 | uint256[] | undefined | 
| _3 | uint256[] | undefined | 
| _4 | bytes | undefined | 
Returns
| Name | Type | Description | 
|---|
| _0 | bytes4 | undefined | 
onERC1155Received
function onERC1155Received(address, address, uint256, uint256, bytes) external nonpayable returns (bytes4)
Parameters
| Name | Type | Description | 
|---|
| _0 | address | undefined | 
| _1 | address | undefined | 
| _2 | uint256 | undefined | 
| _3 | uint256 | undefined | 
| _4 | bytes | undefined | 
Returns
| Name | Type | Description | 
|---|
| _0 | bytes4 | undefined | 
onERC721Received
function onERC721Received(address, address, uint256, bytes) external pure returns (bytes4)
Parameters
| Name | Type | Description | 
|---|
| _0 | address | undefined | 
| _1 | address | undefined | 
| _2 | uint256 | undefined | 
| _3 | bytes | undefined | 
Returns
| Name | Type | Description | 
|---|
| _0 | bytes4 | undefined | 
pluginMap
function pluginMap() external view returns (address)
Returns
| Name | Type | Description | 
|---|
| _0 | address | undefined | 
removePlugin
function removePlugin(bytes4 _selector) external nonpayable
Remove existing functionality from the contract.
Parameters
| Name | Type | Description | 
|---|
| _selector | bytes4 | undefined | 
renounceRole
function renounceRole(bytes32 role, address account) external nonpayable
Revokes role from the account.
Caller must have the role, with caller being the same as account. Emits {RoleRevoked Event}.
Parameters
| Name | Type | Description | 
|---|
| role | bytes32 | keccak256 hash of the role. e.g. keccak256("TRANSFER_ROLE") | 
| account | address | Address of the account from which the role is being revoked. | 
revokeRole
function revokeRole(bytes32 role, address account) external nonpayable
Revokes role from an account.
Caller must have admin role for the role. Emits {RoleRevoked Event}.
Parameters
| Name | Type | Description | 
|---|
| role | bytes32 | keccak256 hash of the role. e.g. keccak256("TRANSFER_ROLE") | 
| account | address | Address of the account from which the role is being revoked. | 
setContractURI
function setContractURI(string _uri) external nonpayable
Lets a contract admin set the URI for contract-level metadata.
Caller should be authorized to setup contractURI, e.g. contract admin. See {_canSetContractURI}. Emits {ContractURIUpdated Event}.
Parameters
| Name | Type | Description | 
|---|
| _uri | string | keccak256 hash of the role. e.g. keccak256("TRANSFER_ROLE") | 
function setPlatformFeeInfo(address _platformFeeRecipient, uint256 _platformFeeBps) external nonpayable
Updates the platform fee recipient and bps.
Caller should be authorized to set platform fee info. See {_canSetPlatformFeeInfo}. Emits {PlatformFeeInfoUpdated Event}; See {_setupPlatformFeeInfo}.
Parameters
| Name | Type | Description | 
|---|
| _platformFeeRecipient | address | Address to be set as new platformFeeRecipient. | 
| _platformFeeBps | uint256 | Updated platformFeeBps. | 
supportsInterface
function supportsInterface(bytes4 interfaceId) external view returns (bool)
Parameters
| Name | Type | Description | 
|---|
| interfaceId | bytes4 | undefined | 
Returns
| Name | Type | Description | 
|---|
| _0 | bool | undefined | 
updatePlugin
function updatePlugin(IPluginMap.Plugin _plugin) external nonpayable
Parameters
| Name | Type | Description | 
|---|
| _plugin | IPluginMap.Plugin | undefined | 
Events
ContractURIUpdated
event ContractURIUpdated(string prevURI, string newURI)
Parameters
| Name | Type | Description | 
|---|
| prevURI | string | undefined | 
| newURI | string | undefined | 
event PlatformFeeInfoUpdated(address indexed platformFeeRecipient, uint256 platformFeeBps)
Parameters
| Name | Type | Description | 
|---|
| platformFeeRecipient indexed | address | undefined | 
| platformFeeBps | uint256 | undefined | 
PluginAdded
event PluginAdded(bytes4 indexed functionSelector, address indexed pluginAddress)
Parameters
| Name | Type | Description | 
|---|
| functionSelector indexed | bytes4 | undefined | 
| pluginAddress indexed | address | undefined | 
PluginRemoved
event PluginRemoved(bytes4 indexed functionSelector, address indexed pluginAddress)
Parameters
| Name | Type | Description | 
|---|
| functionSelector indexed | bytes4 | undefined | 
| pluginAddress indexed | address | undefined | 
PluginSet
event PluginSet(bytes4 indexed functionSelector, string indexed functionSignature, address indexed pluginAddress)
Parameters
| Name | Type | Description | 
|---|
| functionSelector indexed | bytes4 | undefined | 
| functionSignature indexed | string | undefined | 
| pluginAddress indexed | address | undefined | 
PluginUpdated
event PluginUpdated(bytes4 indexed functionSelector, address indexed oldPluginAddress, address indexed newPluginAddress)
Parameters
| Name | Type | Description | 
|---|
| functionSelector indexed | bytes4 | undefined | 
| oldPluginAddress indexed | address | undefined | 
| newPluginAddress indexed | address | undefined | 
RoleAdminChanged
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
Parameters
| Name | Type | Description | 
|---|
| role indexed | bytes32 | undefined | 
| previousAdminRole indexed | bytes32 | undefined | 
| newAdminRole indexed | bytes32 | undefined | 
RoleGranted
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
Parameters
| Name | Type | Description | 
|---|
| role indexed | bytes32 | undefined | 
| account indexed | address | undefined | 
| sender indexed | address | undefined | 
RoleRevoked
event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
Parameters
| Name | Type | Description | 
|---|
| role indexed | bytes32 | undefined | 
| account indexed | address | undefined | 
| sender indexed | address | undefined |