Skip to main content

JBProjects

Stores project ownership and metadata.

Code

https://github.com/jbx-protocol/juice-contracts-v3/blob/main/contracts/JBProjects.sol

Addresses

Ethereum mainnet: 0xD8B4359143eda5B2d763E127Ed27c77addBc47d3

Goerli testnet: 0x21263a042aFE4bAE34F08Bb318056C181bD96D3b

Interfaces

NameDescription
IJBProjectsGeneral interface for the methods in this contract that interact with the blockchain's state according to the protocol's rules.

Inheritance

ContractDescription
JBOperatableIncludes convenience functionality for checking a message sender's permissions before executing certain transactions.
ERC721VotesA checkpointable standard definition for non-fungible tokens (NFTs).
OwnableIncludes convenience functionality for specifying an address that owns the contract, with modifiers that only allow access by the owner.

Constructor

constructor(IJBOperatorStore _operatorStore)
ERC721('Juicebox Projects', 'JUICEBOX')
EIP712('Juicebox Projects', '1')
JBOperatable(_operatorStore)
{}

Events

NameData
Create
  • uint256 indexed projectId
  • address indexed owner
  • JBProjectMetadata metadata
  • address caller
SetMetadata
SetTokenUriResolver

Properties

NameDefinition
count

Returns

  • uint256
metadataContentOf

Params

  • uint256 _projectId
  • uint256 _domain

Returns

  • string
tokenUriResolver

Returns

Read

FunctionDefinition
tokenURI

Params

  • uint256 _projectId
supportsInterface

Params

  • uint256 _interfaceId

Returns

  • bool

Write

FunctionDefinition
createFor

Params

Returns

  • uint256 projectId
setMetadataOf

Traits

Params

setTokenUriResolver

Traits

Params