Venn
  • Overview
    • Introduction
      • Terminology
    • How does Venn work
    • Why rent NFTs
    • Why use Venn
    • Guides
      • Create an Account
      • Using external Dapps
      • Rent an NFT
      • List an NFT
    • FAQ
  • technical info
    • Protocol Overview
    • Smart Contracts
    • Addresses
    • Compatibility
    • Tutorials (soon)
      • Becoming fully compatible
      • Enabling functional receipt-NFTs
  • Resources
    • What is Account Abstraction
    • What is ERC-4337
Powered by GitBook
On this page
  • Dapps
  • NFTs
  • Market Places
  • Requirements
  • Prescriptions
  1. technical info

Compatibility

Requirements to be compatible with Venn

PreviousAddressesNextTutorials (soon)

Dapps

The best way for dapps to become compatible with Venn Smart Accounts is through EIP-1271. Here is a on how to make the proper adaptation.

NFTs

Our VSA rent functionality supports any contract that implements IERC721. Venn Market Place supports contracts that use ERC721URIStorageor implements IERC721Metadata.

Soon we will be compatible with ERC1155 implementations. Be on the lookout!

Market Places

Any NFT market place platform can make itself compatible with Venn Smart Accounts renting functionality by implementing IMarketPlace and following a few requirements.

IMarketPlacecan be found . Words MUST, REQUIRE, SHOULD in accordance .

interface IMarketPlace {

    function rentNFT (address contract_, uint256 tokenId, uint256 duration) external payable;
    
}

Requirements

Implementations MUST:

  • Use rentNFT, as defined in IMarketPlace, as it's main method (outer most function) to execute rent transactions.

  • REQUIRE callers are Venn Smart Accounts.

  • REQUIRE caller's operator count for contract_ to be ZERO.

Prescriptions

Implementations SHOULD:

  • REQUIRE duration be less then or equal to maximum duration specified by NFT owner.

  • REQUIRE msg.value be enough to cover the rent value and any outstanding service fee.

To see how this can be done, checkout our Tutorials.

nice resource
here
RFC-2119