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

Name
Type
Description

publisher

address

The address of the publisher.

Returns

Name
Type
Description

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

Name
Type
Description

publisher

address

The address of the publisher.

contractId

string

The identifier for a published contract (that can have multiple verisons).

Returns

Name
Type
Description

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

Name
Type
Description

publisher

address

The address of the publisher.

contractId

string

The identifier for a published contract (that can have multiple verisons).

Returns

Name
Type
Description

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

Name
Type
Description

compilerMetadataUri

string

undefined

Returns

Name
Type
Description

publishedMetadataUris

string[]

undefined

getPublisherProfileUri

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

Get the publisher profile uri for a given publisher.

Parameters

Name
Type
Description

publisher

address

undefined

Returns

Name
Type
Description

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

Name
Type
Description

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

Name
Type
Description

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

Name
Type
Description

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

Name
Type
Description

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

Name
Type
Description

operator indexed

address

undefined

publisher indexed

address

undefined

contractId indexed

string

undefined

Paused

event Paused(bool isPaused)

Emitted when the registry is paused.

Parameters

Name
Type
Description

isPaused

bool

undefined

PublisherProfileUpdated

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

Emitted when a publisher updates their profile URI.

Parameters

Name
Type
Description

publisher indexed

address

undefined

prevURI

string

undefined

newURI

string

undefined

Last updated