Skip to main content

JBSplitsStore

Stores splits for each project.

Code

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

Addresses

Ethereum mainnet: 0x0D25194ABE95185Db8e4B0294F5669E21C534785

Goerli testnet: 0xce2Ce2F37fE5B2C2Dd047908B2F61c9c3f707272

Interfaces

NameDescription
IJBSplitsStoreGeneral 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.

Constructor

/**
@param _operatorStore A contract storing operator assignments.
@param _projects A contract which mints ERC-721's that represent project ownership and transfers.
@param _directory A contract storing directories of terminals and controllers for each project.
*/
constructor(
IJBOperatorStore _operatorStore,
IJBProjects _projects,
IJBDirectory _directory
) JBOperatable(_operatorStore) {
projects = _projects;
directory = _directory;
}
  • _operatorStore is an IJBOperatorStore contract storing operator assignments.
  • _projects is an IJBProjects contract which mints ERC-721's that represent project ownership and transfers.
  • _directory is an IJBDirectory contract storing directories of terminals and controllers for each project.

Events

NameData
SetSplit
  • uint256 indexed projectId
  • uint256 indexed domain
  • uint256 indexed group
  • JBSplit split
  • address caller

Properties

FunctionDefinition
projects

Returns

  • IJBProjects
directory

Returns

  • IJBPaymentTerminal

Read

FunctionDefinition
splitsOf

Params

Returns

Write

FunctionDefinition
set

Traits

Params

  • uint256 _projectId
  • uint256 _domain
  • uint256 _group
  • JBSplit[] _splits