Projects
Mainnet: 0x9b5a4053FfBB11cA9cd858AAEE43cc95ab435418
Inherits: ERC721
, IProjects
, Operatable
Stores project ownership and identifying information.
Projects are represented as ERC-721's.
State Variables
SECONDS_IN_YEAR
uint256 private constant SECONDS_IN_YEAR = 31536000;
count
A running count of project IDs.
uint256 public override count = 0;
uriOf
Optional mapping for project URIs
mapping(uint256 => string) public override uriOf;
handleOf
Each project's handle.
mapping(uint256 => bytes32) public override handleOf;
projectFor
The project that each unique handle represents.
mapping(bytes32 => uint256) public override projectFor;
transferAddressFor
Handles that have been transfered to the specified address.
mapping(bytes32 => address) public override transferAddressFor;
challengeExpiryOf
The timestamps when each handle is claimable. A value of 0 means a handle isn't being challenged.
mapping(bytes32 => uint256) public override challengeExpiryOf;
Functions
exists
Whether the specified project exists.
function exists(uint256 _projectId) external view override returns (bool);
Parameters
Name | Type | Description |
---|---|---|
_projectId | uint256 | The project to check the existence of. |
Returns
Name | Type | Description |
---|---|---|
<none> | bool | A flag indicating if the project exists. |
constructor
constructor(IOperatorStore _operatorStore) ERC721("Juicebox project", "JUICEBOX PROJECT") Operatable(_operatorStore);
Parameters
Name | Type | Description |
---|---|---|
_operatorStore | IOperatorStore | A contract storing operator assignments. |
create
Create a new project.
Anyone can create a project on an owner's behalf.
function create(address _owner, bytes32 _handle, string calldata _uri, ITerminal _terminal)
external
override
returns (uint256);