Comment on page
First Steps
Welcome to the NFT Rental quickstart 👋
Using our Rental protocol you can easily rent and lend any new and existing ERC721 tokens by interaction with Unfreeze smart contract protocol.
Rental protocol requires collection to have support for an EIP-4907 standard, otherwise appropriate wrapper will be created. In both scenarios Integration will be done using the contract identifiers, there is no need to manage wrapper addresses Unfreeze will take care of it.
Steps required to enable rental for NFT collection:
1. NFT contact registration with an Unfreeze registry 🚀
Before processing further make sure that you are register as a partner to our registry smart contract.
There are three ways to register a collection, depending on whether you want to register an existing collection that extends the EIP-4907 standard, create a compatible wrapper on a collection that does not extend the standard or register collection with your own ERC-4907 wrapper.
1. Register collection (without EIP-4907 support)
On a
Protocol Registry
execute registerRentContractAndDeployWrapper
method.
Unfreeze will create and deploy wrapper that supports rental standard.
ParametersParam Name | Param Type | Description |
---|---|---|
partnerName_ | string | Unique Identifier of a partner from a Partner registry |
contractName_ | string | Collection name unique for the partner |
owner_ | address | Address of collection administrator/owner |
originalNftAddr_ | IERC721 | Address of the NFT collection that doesn't support EIP-4907 |
Function
function registerRentContractAndDeployWrapper(
string memory partnerName_,
string memory contractName_,
address owner_,
IERC721 originalNftAddr_
)
2. Register collection (with EIP-4907 support)
On a
Protocol Registry
execute registerRentContract
method
ParametersParam Name | Param Type | Description |
---|---|---|
partnerName_ | string | Unique Identifier of a partner from a Partner registry |
contractName_ | string | Collection name unique for the partner |
owner_ | address | Address of collection administrator/owner |
originalNftAddr_ | IERC721 | Address of the NFT collection that supports EIP-4907 |
Function
function registerRentContract(
string memory partnerName_,
string memory contractName_,
address owner_,
IERC721 originalNftAddr_
)
3. Register collection (with existing wrapper that supports EIP-4907)
On a
Protocol Registry
execute registerRentContractWithWrapper
methodUnfreeze will use wrapped contract to perform rental actions.
Parameters
Param Name | Param Type | Description |
---|---|---|
partnerName_ | string | Unique Identifier of a partner from a Partner registry |
contractName_ | string | Collection name unique for the partner |
owner_ | address | Address of collection administrator/owner |
wrapperContractAddr_ | IERC4907 | Address for a ERC721 wrapped contract with a support for ERC4907 |
originalNftAddr_ | IERC721 | Address of the NFT collection that doesn't support EIP-4907 |
Function
function registerRentContractWithWrapper(
string memory partnerName_,
string memory contractName_,
address owner_,
IERC4907 wrapperContractAddr_,
IERC721 originalNftAddr_
)
Last modified 1yr ago