IMultiwrap
Thirdweb's Multiwrap contract lets you wrap arbitrary ERC20, ERC721 and ERC1155 tokens you own into a single wrapped token / NFT. A wrapped NFT can be unwrapped i.e. burned in exchange for its underlying contents.
Methods
unwrap
function unwrap(uint256 tokenId, address recipient) external nonpayable
Unwrap a wrapped NFT to retrieve underlying ERC1155, ERC721, ERC20 tokens.
Parameters
| Name | Type | Description | 
|---|---|---|
| tokenId | uint256 | The token Id of the wrapped NFT to unwrap. | 
| recipient | address | The recipient of the underlying ERC1155, ERC721, ERC20 tokens of the wrapped NFT. | 
wrap
function wrap(ITokenBundle.Token[] wrappedContents, string uriForWrappedToken, address recipient) external payable returns (uint256 tokenId)
Parameters
| Name | Type | Description | 
|---|---|---|
| wrappedContents | ITokenBundle.Token[] | undefined | 
| uriForWrappedToken | string | undefined | 
| recipient | address | undefined | 
Returns
| Name | Type | Description | 
|---|---|---|
| tokenId | uint256 | undefined | 
Events
TokensUnwrapped
event TokensUnwrapped(address indexed unwrapper, address indexed recipientOfWrappedContents, uint256 indexed tokenIdOfWrappedToken)
Emitted when tokens are unwrapped.
Parameters
| Name | Type | Description | 
|---|---|---|
| unwrapper indexed | address | undefined | 
| recipientOfWrappedContents indexed | address | undefined | 
| tokenIdOfWrappedToken indexed | uint256 | undefined | 
TokensWrapped
event TokensWrapped(address indexed wrapper, address indexed recipientOfWrappedToken, uint256 indexed tokenIdOfWrappedToken, ITokenBundle.Token[] wrappedContents)
Emitted when tokens are wrapped.
Parameters
| Name | Type | Description | 
|---|---|---|
| wrapper indexed | address | undefined | 
| recipientOfWrappedToken indexed | address | undefined | 
| tokenIdOfWrappedToken indexed | uint256 | undefined | 
| wrappedContents | ITokenBundle.Token[] | undefined |