Skip to main content

Multiwrap

Methods​

DEFAULT_ADMIN_ROLE​

function DEFAULT_ADMIN_ROLE() external view returns (bytes32)

Returns​

NameTypeDescription
_0bytes32undefined

approve​

function approve(address to, uint256 tokenId) external nonpayable

See {IERC721-approve}.

Parameters​

NameTypeDescription
toaddressundefined
tokenIduint256undefined

balanceOf​

function balanceOf(address owner) external view returns (uint256)

See {IERC721-balanceOf}.

Parameters​

NameTypeDescription
owneraddressundefined

Returns​

NameTypeDescription
_0uint256undefined

contractType​

function contractType() external pure returns (bytes32)

Returns the type of the contract.

Returns​

NameTypeDescription
_0bytes32undefined

contractURI​

function contractURI() external view returns (string)

Returns the contract metadata URI.

Returns​

NameTypeDescription
_0stringundefined

contractVersion​

function contractVersion() external pure returns (uint8)

Returns the version of the contract.

Returns​

NameTypeDescription
_0uint8undefined

getApproved​

function getApproved(uint256 tokenId) external view returns (address)

See {IERC721-getApproved}.

Parameters​

NameTypeDescription
tokenIduint256undefined

Returns​

NameTypeDescription
_0addressundefined

getDefaultRoyaltyInfo​

function getDefaultRoyaltyInfo() external view returns (address, uint16)

Returns the default royalty recipient and BPS for this contract's NFTs.

Returns​

NameTypeDescription
_0addressundefined
_1uint16undefined

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​

NameTypeDescription
rolebytes32keccak256 hash of the role. e.g. keccak256("TRANSFER_ROLE")

Returns​

NameTypeDescription
_0bytes32undefined

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​

NameTypeDescription
rolebytes32keccak256 hash of the role. e.g. keccak256("TRANSFER_ROLE")
indexuint256Index in list of current members for the role.

Returns​

NameTypeDescription
memberaddressAddress 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​

NameTypeDescription
rolebytes32keccak256 hash of the role. e.g. keccak256("TRANSFER_ROLE")

Returns​

NameTypeDescription
countuint256Total number of accounts that have role

getRoyaltyInfoForToken​

function getRoyaltyInfoForToken(uint256 _tokenId) external view returns (address, uint16)

View royalty info for a given token.

Returns royalty recipient and bps for _tokenId.

Parameters​

NameTypeDescription
_tokenIduint256The tokenID of the NFT for which to query royalty info.

Returns​

NameTypeDescription
_0addressundefined
_1uint16undefined

getTokenCountOfBundle​

function getTokenCountOfBundle(uint256 _bundleId) external view returns (uint256)

Returns the total number of assets in a particular bundle.

Parameters​

NameTypeDescription
_bundleIduint256undefined

Returns​

NameTypeDescription
_0uint256undefined

getTokenOfBundle​

function getTokenOfBundle(uint256 _bundleId, uint256 index) external view returns (struct ITokenBundle.Token)

Returns an asset contained in a particular bundle, at a particular index.

Parameters​

NameTypeDescription
_bundleIduint256undefined
indexuint256undefined

Returns​

NameTypeDescription
_0ITokenBundle.Tokenundefined

getUriOfBundle​

function getUriOfBundle(uint256 _bundleId) external view returns (string)

Returns the uri of a particular bundle.

Parameters​

NameTypeDescription
_bundleIduint256undefined

Returns​

NameTypeDescription
_0stringundefined

getWrappedContents​

function getWrappedContents(uint256 _tokenId) external view returns (struct ITokenBundle.Token[] contents)

Returns the underlying contents of a wrapped NFT.

Parameters​

NameTypeDescription
_tokenIduint256undefined

Returns​

NameTypeDescription
contentsITokenBundle.Token[]undefined

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​

NameTypeDescription
rolebytes32keccak256 hash of the role. e.g. keccak256("TRANSFER_ROLE")
accountaddressAddress 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​

NameTypeDescription
rolebytes32keccak256 hash of the role. e.g. keccak256("TRANSFER_ROLE")
accountaddressAddress of the account for which the role is being checked.

Returns​

NameTypeDescription
_0boolundefined

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​

NameTypeDescription
rolebytes32keccak256 hash of the role. e.g. keccak256("TRANSFER_ROLE")
accountaddressAddress of the account for which the role is being checked.

Returns​

NameTypeDescription
_0boolundefined

initialize​

function initialize(address _defaultAdmin, string _name, string _symbol, string _contractURI, address[] _trustedForwarders, address _royaltyRecipient, uint256 _royaltyBps) external nonpayable

Initializes the contract, like a constructor.

Parameters​

NameTypeDescription
_defaultAdminaddressundefined
_namestringundefined
_symbolstringundefined
_contractURIstringundefined
_trustedForwardersaddress[]undefined
_royaltyRecipientaddressundefined
_royaltyBpsuint256undefined

isApprovedForAll​

function isApprovedForAll(address owner, address operator) external view returns (bool)

See {IERC721-isApprovedForAll}.

Parameters​

NameTypeDescription
owneraddressundefined
operatoraddressundefined

Returns​

NameTypeDescription
_0boolundefined

isTrustedForwarder​

function isTrustedForwarder(address forwarder) external view returns (bool)

Parameters​

NameTypeDescription
forwarderaddressundefined

Returns​

NameTypeDescription
_0boolundefined

multicall​

function multicall(bytes[] data) external nonpayable returns (bytes[] results)

Receives and executes a batch of function calls on this contract.

Parameters​

NameTypeDescription
databytes[]undefined

Returns​

NameTypeDescription
resultsbytes[]undefined

name​

function name() external view returns (string)

See {IERC721Metadata-name}.

Returns​

NameTypeDescription
_0stringundefined

nextTokenIdToMint​

function nextTokenIdToMint() external view returns (uint256)

The next token ID of the NFT to mint.

Returns​

NameTypeDescription
_0uint256undefined

onERC1155BatchReceived​

function onERC1155BatchReceived(address, address, uint256[], uint256[], bytes) external nonpayable returns (bytes4)

Parameters​

NameTypeDescription
_0addressundefined
_1addressundefined
_2uint256[]undefined
_3uint256[]undefined
_4bytesundefined

Returns​

NameTypeDescription
_0bytes4undefined

onERC1155Received​

function onERC1155Received(address, address, uint256, uint256, bytes) external nonpayable returns (bytes4)

Parameters​

NameTypeDescription
_0addressundefined
_1addressundefined
_2uint256undefined
_3uint256undefined
_4bytesundefined

Returns​

NameTypeDescription
_0bytes4undefined

onERC721Received​

function onERC721Received(address, address, uint256, bytes) external nonpayable returns (bytes4)

See {IERC721Receiver-onERC721Received}. Always returns IERC721Receiver.onERC721Received.selector.

Parameters​

NameTypeDescription
_0addressundefined
_1addressundefined
_2uint256undefined
_3bytesundefined

Returns​

NameTypeDescription
_0bytes4undefined

owner​

function owner() external view returns (address)

Returns the owner of the contract.

Returns​

NameTypeDescription
_0addressundefined

ownerOf​

function ownerOf(uint256 tokenId) external view returns (address)

See {IERC721-ownerOf}.

Parameters​

NameTypeDescription
tokenIduint256undefined

Returns​

NameTypeDescription
_0addressundefined

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​

NameTypeDescription
rolebytes32keccak256 hash of the role. e.g. keccak256("TRANSFER_ROLE")
accountaddressAddress 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​

NameTypeDescription
rolebytes32keccak256 hash of the role. e.g. keccak256("TRANSFER_ROLE")
accountaddressAddress of the account from which the role is being revoked.

royaltyInfo​

function royaltyInfo(uint256 tokenId, uint256 salePrice) external view returns (address receiver, uint256 royaltyAmount)

View royalty info for a given token and sale price.

Returns royalty amount and recipient for tokenId and salePrice.

Parameters​

NameTypeDescription
tokenIduint256The tokenID of the NFT for which to query royalty info.
salePriceuint256Sale price of the token.

Returns​

NameTypeDescription
receiveraddressAddress of royalty recipient account.
royaltyAmountuint256Royalty amount calculated at current royaltyBps value.

safeTransferFrom​

function safeTransferFrom(address from, address to, uint256 tokenId) external nonpayable

See {IERC721-safeTransferFrom}.

Parameters​

NameTypeDescription
fromaddressundefined
toaddressundefined
tokenIduint256undefined

safeTransferFrom​

function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) external nonpayable

See {IERC721-safeTransferFrom}.

Parameters​

NameTypeDescription
fromaddressundefined
toaddressundefined
tokenIduint256undefined
databytesundefined

setApprovalForAll​

function setApprovalForAll(address operator, bool approved) external nonpayable

See {IERC721-setApprovalForAll}.

Parameters​

NameTypeDescription
operatoraddressundefined
approvedboolundefined

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​

NameTypeDescription
_uristringkeccak256 hash of the role. e.g. keccak256("TRANSFER_ROLE")

setDefaultRoyaltyInfo​

function setDefaultRoyaltyInfo(address _royaltyRecipient, uint256 _royaltyBps) external nonpayable

Updates default royalty recipient and bps.

Caller should be authorized to set royalty info. See {_canSetRoyaltyInfo}. Emits {DefaultRoyalty Event}; See {_setupDefaultRoyaltyInfo}.

Parameters​

NameTypeDescription
_royaltyRecipientaddressAddress to be set as default royalty recipient.
_royaltyBpsuint256Updated royalty bps.

setOwner​

function setOwner(address _newOwner) external nonpayable

Lets an authorized wallet set a new owner for the contract.

Parameters​

NameTypeDescription
_newOwneraddressThe address to set as the new owner of the contract.

setRoyaltyInfoForToken​

function setRoyaltyInfoForToken(uint256 _tokenId, address _recipient, uint256 _bps) external nonpayable

Updates default royalty recipient and bps for a particular token.

Sets royalty info for _tokenId. Caller should be authorized to set royalty info. See {_canSetRoyaltyInfo}. Emits {RoyaltyForToken Event}; See {_setupRoyaltyInfoForToken}.

Parameters​

NameTypeDescription
_tokenIduint256undefined
_recipientaddressAddress to be set as royalty recipient for given token Id.
_bpsuint256Updated royalty bps for the token Id.

supportsInterface​

function supportsInterface(bytes4 interfaceId) external view returns (bool)

See ERC 165

Parameters​

NameTypeDescription
interfaceIdbytes4undefined

Returns​

NameTypeDescription
_0boolundefined

symbol​

function symbol() external view returns (string)

See {IERC721Metadata-symbol}.

Returns​

NameTypeDescription
_0stringundefined

tokenByIndex​

function tokenByIndex(uint256 index) external view returns (uint256)

See {IERC721Enumerable-tokenByIndex}.

Parameters​

NameTypeDescription
indexuint256undefined

Returns​

NameTypeDescription
_0uint256undefined

tokenOfOwnerByIndex​

function tokenOfOwnerByIndex(address owner, uint256 index) external view returns (uint256)

See {IERC721Enumerable-tokenOfOwnerByIndex}.

Parameters​

NameTypeDescription
owneraddressundefined
indexuint256undefined

Returns​

NameTypeDescription
_0uint256undefined

tokenURI​

function tokenURI(uint256 _tokenId) external view returns (string)

Returns the URI for a given tokenId.

Parameters​

NameTypeDescription
_tokenIduint256undefined

Returns​

NameTypeDescription
_0stringundefined

totalSupply​

function totalSupply() external view returns (uint256)

See {IERC721Enumerable-totalSupply}.

Returns​

NameTypeDescription
_0uint256undefined

transferFrom​

function transferFrom(address from, address to, uint256 tokenId) external nonpayable

See {IERC721-transferFrom}.

Parameters​

NameTypeDescription
fromaddressundefined
toaddressundefined
tokenIduint256undefined

unwrap​

function unwrap(uint256 _tokenId, address _recipient) external nonpayable

Unwrap a wrapped NFT to retrieve underlying ERC1155, ERC721, ERC20 tokens.

Parameters​

NameTypeDescription
_tokenIduint256undefined
_recipientaddressundefined

wrap​

function wrap(ITokenBundle.Token[] _tokensToWrap, string _uriForWrappedToken, address _recipient) external payable returns (uint256 tokenId)

Parameters​

NameTypeDescription
_tokensToWrapITokenBundle.Token[]undefined
_uriForWrappedTokenstringundefined
_recipientaddressundefined

Returns​

NameTypeDescription
tokenIduint256undefined

Events​

Approval​

event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)

Parameters​

NameTypeDescription
owner indexedaddressundefined
approved indexedaddressundefined
tokenId indexeduint256undefined

ApprovalForAll​

event ApprovalForAll(address indexed owner, address indexed operator, bool approved)

Parameters​

NameTypeDescription
owner indexedaddressundefined
operator indexedaddressundefined
approvedboolundefined

ContractURIUpdated​

event ContractURIUpdated(string prevURI, string newURI)

Parameters​

NameTypeDescription
prevURIstringundefined
newURIstringundefined

DefaultRoyalty​

event DefaultRoyalty(address indexed newRoyaltyRecipient, uint256 newRoyaltyBps)

Parameters​

NameTypeDescription
newRoyaltyRecipient indexedaddressundefined
newRoyaltyBpsuint256undefined

Initialized​

event Initialized(uint8 version)

Parameters​

NameTypeDescription
versionuint8undefined

OwnerUpdated​

event OwnerUpdated(address indexed prevOwner, address indexed newOwner)

Parameters​

NameTypeDescription
prevOwner indexedaddressundefined
newOwner indexedaddressundefined

RoleAdminChanged​

event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)

Parameters​

NameTypeDescription
role indexedbytes32undefined
previousAdminRole indexedbytes32undefined
newAdminRole indexedbytes32undefined

RoleGranted​

event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)

Parameters​

NameTypeDescription
role indexedbytes32undefined
account indexedaddressundefined
sender indexedaddressundefined

RoleRevoked​

event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)

Parameters​

NameTypeDescription
role indexedbytes32undefined
account indexedaddressundefined
sender indexedaddressundefined

RoyaltyForToken​

event RoyaltyForToken(uint256 indexed tokenId, address indexed royaltyRecipient, uint256 royaltyBps)

Parameters​

NameTypeDescription
tokenId indexeduint256undefined
royaltyRecipient indexedaddressundefined
royaltyBpsuint256undefined

TokensUnwrapped​

event TokensUnwrapped(address indexed unwrapper, address indexed recipientOfWrappedContents, uint256 indexed tokenIdOfWrappedToken)

Parameters​

NameTypeDescription
unwrapper indexedaddressundefined
recipientOfWrappedContents indexedaddressundefined
tokenIdOfWrappedToken indexeduint256undefined

TokensWrapped​

event TokensWrapped(address indexed wrapper, address indexed recipientOfWrappedToken, uint256 indexed tokenIdOfWrappedToken, ITokenBundle.Token[] wrappedContents)

Parameters​

NameTypeDescription
wrapper indexedaddressundefined
recipientOfWrappedToken indexedaddressundefined
tokenIdOfWrappedToken indexeduint256undefined
wrappedContentsITokenBundle.Token[]undefined

Transfer​

event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)

Parameters​

NameTypeDescription
from indexedaddressundefined
to indexedaddressundefined
tokenId indexeduint256undefined