Skip to main content

PCOERC721Facet

Summary

The PCOERC721Facet contract implements the ERC-721 Non-Fungible Token Standard for Geo Web land parcels.

ERC-721 functions reside in this facet, but the state is held in the RegistryDiamond (per the Diamonds specification).

This facet "isn't aware" of the additional functionality in other facets used to implement land parcel definition or the partial common ownership ruleset.

Code

PCOERC721Facet.sol

Contract Functions

PCOERC721Facet

onlyOwner

modifier onlyOwner()

initializeERC721

function initializeERC721(string name, string symbol, string baseURI) external

_isApprovedOrOwner

function _isApprovedOrOwner(address spender, uint256 tokenId) internal view virtual returns (bool)

_Override isApprovedOrOwner to include corresponding beacon proxy

_beforeTokenTransfer

function _beforeTokenTransfer(address from, address to, uint256 tokenId) internal virtual

ERC721 hook, called before all transfers including mint and burn

function should be overridden and new implementation must call super

Parameters

NameTypeDescription
fromaddresssender of token
toaddressreceiver of token
tokenIduint256id of transferred token