Skip to main content

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​

NameTypeDescription
publisheraddressThe address of the publisher.

Returns​

NameTypeDescription
publishedIContractPublisher.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​

NameTypeDescription
publisheraddressThe address of the publisher.
contractIdstringThe identifier for a published contract (that can have multiple versions).

Returns​

NameTypeDescription
publishedIContractPublisher.CustomContractInstanceThe 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​

NameTypeDescription
publisheraddressThe address of the publisher.
contractIdstringThe identifier for a published contract (that can have multiple versions).

Returns​

NameTypeDescription
publishedIContractPublisher.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​

NameTypeDescription
compilerMetadataUristringundefined

Returns​

NameTypeDescription
publishedMetadataUrisstring[]undefined

getPublisherProfileUri​

function getPublisherProfileUri(address publisher) external view returns (string uri)

Get the publisher profile uri for a given publisher.

Parameters​

NameTypeDescription
publisheraddressundefined

Returns​

NameTypeDescription
uristringundefined

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​

NameTypeDescription
publisheraddressThe address of the publisher.
contractIdstringThe identifier for a published contract (that can have multiple versions).
publishMetadataUristringThe IPFS URI of the publish metadata.
compilerMetadataUristringThe IPFS URI of the compiler metadata.
bytecodeHashbytes32The keccak256 hash of the contract bytecode.
implementationaddress(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​

NameTypeDescription
publisheraddressundefined
uristringundefined

unpublishContract​

function unpublishContract(address publisher, string contractId) external nonpayable

Lets a publisher unpublish a contract and all its versions.

Parameters​

NameTypeDescription
publisheraddressThe address of the publisher.
contractIdstringThe identifier for a published contract (that can have multiple versions).

Events​

ContractPublished​

event ContractPublished(address indexed operator, address indexed publisher, IContractPublisher.CustomContractInstance publishedContract)

Emitted when a contract is published.

Parameters​

NameTypeDescription
operator indexedaddressundefined
publisher indexedaddressundefined
publishedContractIContractPublisher.CustomContractInstanceundefined

ContractUnpublished​

event ContractUnpublished(address indexed operator, address indexed publisher, string indexed contractId)

Emitted when a contract is unpublished.

Parameters​

NameTypeDescription
operator indexedaddressundefined
publisher indexedaddressundefined
contractId indexedstringundefined

Paused​

event Paused(bool isPaused)

Emitted when the registry is paused.

Parameters​

NameTypeDescription
isPausedboolundefined

PublisherProfileUpdated​

event PublisherProfileUpdated(address indexed publisher, string prevURI, string newURI)

Emitted when a publisher updates their profile URI.

Parameters​

NameTypeDescription
publisher indexedaddressundefined
prevURIstringundefined
newURIstringundefined