JSONExtensionRegistry
JSONExtensionRegistry#
This contract is an extension registry for any address or contract owned by another address to reference a theming configuration file on-chain to update their zora.co minting profile. On the UI level, this is also known as the Personalize feature - applicable to profile pages, collection and edition pages.
This contract is statically deployed at 0xABCDEFEd93200601e1dFe26D6644758801D732E8 on the following chains: | chain | address | etherscan | |-------|---------|----| | zora | 0xABCDEFEd93200601e1dFe26D6644758801D732E8 | ↗ | | zora sepolia | 0xABCDEFEd93200601e1dFe26D6644758801D732E8 | ↗ | | optimism | 0xABCDEFEd93200601e1dFe26D6644758801D732E8 | ↗ | | base | 0xABCDEFEd93200601e1dFe26D6644758801D732E8 | ↗ | | mainnet | 0xABCDEFEd93200601e1dFe26D6644758801D732E8 | ↗ | | sepolia | 0xABCDEFEd93200601e1dFe26D6644758801D732E8 | ↗ | | arbitrum | 0xABCDEFEd93200601e1dFe26D6644758801D732E8 | ↗ |
We will deploy on further chains as needed and we use an open CREATE2 bytecode-based deploy scheme where anyone can deploy this hyperstructure to any chain as desired.
Updating your configuration#
function setJSONExtension(address target, string memory uri) external;
Call this function to set the JSON extension for your own address or an owned target address. We lookup ownership first via AccessControl then the owner() function.
Reading your configuration#
function getJSONExtension(address target) external returns (string memory);
This function gets the latest registered JSON extension file.
Checking your admin status#
function getIsAdmin(address target, address expectedAdmin) external view returns (bool);
For front-ends checking for updates you can use the getIsAdmin function to determine if the ad.
Source#
View source at github.com/ourzora/json-extension-registry