IContractPublisher
Methods
getAllPublishedContracts
function getAllPublishedContracts(address publisher) external view returns (struct IContractPublisher.CustomContractInstance[] published)
Returns the latest version of all contracts published by a publisher.
Parameters
publisher
address
The address of the publisher.
Returns
published
IContractPublisher.CustomContractInstance[]
An array of all contracts published by the publisher.
getPublishedContract
function getPublishedContract(address publisher, string contractId) external view returns (struct IContractPublisher.CustomContractInstance published)
Returns the latest version of a contract published by a publisher.
Parameters
publisher
address
The address of the publisher.
contractId
string
The identifier for a published contract (that can have multiple verisons).
Returns
published
IContractPublisher.CustomContractInstance
The desired contract published by the publisher.
getPublishedContractVersions
function getPublishedContractVersions(address publisher, string contractId) external view returns (struct IContractPublisher.CustomContractInstance[] published)
Returns all versions of a published contract.
Parameters
publisher
address
The address of the publisher.
contractId
string
The identifier for a published contract (that can have multiple verisons).
Returns
published
IContractPublisher.CustomContractInstance[]
The desired contracts published by the publisher.
getPublishedUriFromCompilerUri
function getPublishedUriFromCompilerUri(string compilerMetadataUri) external view returns (string[] publishedMetadataUris)
Retrieve the published metadata URI from a compiler metadata URI.
Parameters
compilerMetadataUri
string
undefined
Returns
publishedMetadataUris
string[]
undefined
getPublisherProfileUri
function getPublisherProfileUri(address publisher) external view returns (string uri)
Get the publisher profile uri for a given publisher.
Parameters
publisher
address
undefined
Returns
uri
string
undefined
publishContract
function publishContract(address publisher, string contractId, string publishMetadataUri, string compilerMetadataUri, bytes32 bytecodeHash, address implementation) external nonpayable
Let's an account publish a contract.
Parameters
publisher
address
The address of the publisher.
contractId
string
The identifier for a published contract (that can have multiple verisons).
publishMetadataUri
string
The IPFS URI of the publish metadata.
compilerMetadataUri
string
The IPFS URI of the compiler metadata.
bytecodeHash
bytes32
The keccak256 hash of the contract bytecode.
implementation
address
(Optional) An implementation address that proxy contracts / clones can point to. Default value if such an implementation does not exist - address(0);
setPublisherProfileUri
function setPublisherProfileUri(address publisher, string uri) external nonpayable
Lets an account set its publisher profile uri
Parameters
publisher
address
undefined
uri
string
undefined
unpublishContract
function unpublishContract(address publisher, string contractId) external nonpayable
Lets a publisher unpublish a contract and all its versions.
Parameters
publisher
address
The address of the publisher.
contractId
string
The identifier for a published contract (that can have multiple verisons).
Events
ContractPublished
event ContractPublished(address indexed operator, address indexed publisher, IContractPublisher.CustomContractInstance publishedContract)
Emitted when a contract is published.
Parameters
operator indexed
address
undefined
publisher indexed
address
undefined
publishedContract
IContractPublisher.CustomContractInstance
undefined
ContractUnpublished
event ContractUnpublished(address indexed operator, address indexed publisher, string indexed contractId)
Emitted when a contract is unpublished.
Parameters
operator indexed
address
undefined
publisher indexed
address
undefined
contractId indexed
string
undefined
Paused
event Paused(bool isPaused)
Emitted when the registry is paused.
Parameters
isPaused
bool
undefined
PublisherProfileUpdated
event PublisherProfileUpdated(address indexed publisher, string prevURI, string newURI)
Emitted when a publisher updates their profile URI.
Parameters
publisher indexed
address
undefined
prevURI
string
undefined
newURI
string
undefined
Last updated