Collab.Land <> reNFT #27
Replies: 5 comments 8 replies
-
@alokt would you like me to write a draft version of the user story? |
Beta Was this translation helpful? Give feedback.
-
@alokt and @calebcgates As a renter, I want to be able to access NFT-gated Discord channels with a rented NFT, so I can benefit from the exclusive perks of the NFT. How? Technical docs: https://docs.renft.io/docs/developers/collateral-free |
Beta Was this translation helpful? Give feedback.
-
This is the suggested template for new CLIPs. Note that an CLIP number will be assigned by an editor. When opening a pull request to submit your CLIP, please use an abbreviated title in the filename, The title should be 44 characters or less. It should not repeat the CLIP number in title, irrespective of the category. AbstractThis CLIP is a proposal to give access to rented assets within token-gated communities. From a technical point of view, this means that the wallet address of a user who verifies with Collab Land is checked in the smart contract of the reNFT protocol to check whether there is an active rental. In case of an active rental, Collab Land enables this NFT for the renter as if the renter owns it. MotivationEnabling rentals opens up new utility for NFT projects. Token-gated channels can be enabled for things you don't want the whole community to see. For example, private Q&As and interviews. By renting out an NFT, holders can earn passive yield, while they keep ownership of the NFT. SpecificationThe technical implementation is described in this integration guide: https://docs.renft.io/docs/Developers/collateral-free RationaleWe chose to use a use-right solution instead of a wrapper solution. The main reason to do this is because it's way more gas-efficient since there's no need to mint an NFT for every rental transaction. Next to that, wrapped NFTs will be useless when the rental period has ended. To prevent useless NFTs from existing, we decided not to wrap NFTs for every rental transaction. Backwards Compatibility (?? Is this relevant - Maybe for more complex changes ??)Not relevant Test Cases (Optional for Initial Proposal - Required for POC)There are multiple partners of ours who want to be a POC case for the Collab Land collaboration. Reference Implementation (Optional for Initial Proposal - Required for POC)POC with Animetas (https://twitter.com/Animetas1/status/1430575155026214912?s=20&t=rQxRz_EKD7OiLzNq3A9u2A) Security Considerations (Initial Considerations - Refined During POC Creation)Although the reNFT smart contract hasn't been hacked ever since it's been published (1.5 years+ ago), it is still possible that it can be hacked. The contract is not formally audited, but it has been reviewed by several developers. You can find the contract here: https://etherscan.io/address/0xa8d3f65b6e2922fed1430b77ac2b557e1fa8da4a If the smart contract gets hacked, escrowed NFTs in the contract are at risk. Similar Reference ImplementationsThe standard token-gated Collab Land feature, which is the main feature of Collab Land, is the most comparable to this feature. Expect for just allowing owned NFTs, we propose to also allow rented NFTs. CopyrightCopyright and related rights waived via CC0. Document adapted from: https://github.com/ethereum/EIPs/edit/master/eip-template.md Originally posted by @calebcgates in #61 |
Beta Was this translation helpful? Give feedback.
-
@patrickkool Are there APIs in your SDK or subgraph to allow us to query what NFTs are rented to a given wallet address? We can treat rented assets similar as staked assets for token gating purposes. |
Beta Was this translation helpful? Give feedback.
-
I tried the graphql query and it seemed to do the job. query getUserRentings($userId: String, $nftAddress: String) {
user(id: $userId) {
id
renting(where: {lending_: {nftAddress: $nftAddress}}) {
id
rentAmount
lending {
id
nftAddress
tokenID
is721
}
}
}
}
} {
"userId": "0x32197cddbdb6d89e79d59be3fffcdad4273c2833",
"nftAddress": "0x67f4732266c7300cca593c814d46bee72e40659f"
} |
Beta Was this translation helpful? Give feedback.
-
User Story
TBD
Beta Was this translation helpful? Give feedback.
All reactions