Project Registry
Interface

Interface and Spec

This documentation covers methods and events available through the Project Registry implementation. See Getting Started for more information on interacting with the Project Registry.

Functions

getProjectOwners

function getProjectOwners(uint256 projectID) external view returns (address[])

Behaviors

StatusResponseNotes
Successreturns a list of project owners for the given project id

projectOwnersCount

function projectOwnersCount(uint256 projectID) external view returns(uint256)

Behaviors

StatusResponseNotes
Successreturns an int with the number of project owners for the given id

removeProjectOwner

function removeProjectOwner(uint256 projectID, address prevOwner, address owner)

Behaviors

StatusResponseNotes
Successreplaces the prevOwner with the owner in the project owner list for the given project
Error"PR000"Returned if function caller is not a project owner
Error"PR001"Returned if 'owner' is the zero-address
Error"PR003"Returned when 'prevOwner' is the same as 'owner'
Error"PR004"Returned if the project only has a single owner

createProject

function createProject(MetaPtr calldata metadata)

Behaviors

StatusResponseNotes
SuccessProject is added to project registry.
Project ID is created.
Project owner is set to msg.sender
2 events are emitted containing the project id, project owner, and project metadata.

updateProjectMetadata

function updateProjectMetadata(uint256 projectID, MetaPtr calldata metadata)

Behaviors

StatusResponseNotes
SuccessMetadata is updated.
Error"PR000"Returned if function caller is not a project owner

addProjectOwner

function addProjectOwner(uint256 projectID, address newOwner)

Behaviors

StatusResponseNotes
Success'newOwner' is added to the list of project owners for the given project Id.
Error"PR000"Returned if function caller is not a project owner
Error"PR001"Returned if the 'newOwner' is the zero-address
Error"PR002"Returned if 'newOwner' is already in the owner list.