JBDirectory
Keeps a reference of which terminal contracts each project is currently accepting funds through, and which controller contract is managing each project's tokens and funding cycles.
Code
https://github.com/jbx-protocol/juice-contracts-v3/blob/main/contracts/JBDirectory.sol
Addresses
Ethereum mainnet: 0x65572FB928b46f9aDB7cfe5A4c41226F636161ea
Goerli testnet: 0x8E05bcD2812E1449f0EC3aE24E2C395F533d9A99
Interfaces
| Name | Description | 
|---|---|
IJBDirectory | General interface for the methods in this contract that interact with the blockchain's state according to the protocol's rules. | 
Inheritance
| Contract | Description | 
|---|---|
JBOperatable | Includes convenience functionality for checking a message sender's permissions before executing certain transactions. | 
Ownable | Includes 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 _fundingCycleStore A contract storing all funding cycle configurations.
  @param _owner The address that will own the contract.
*/
constructor(
  IJBOperatorStore _operatorStore,
  IJBProjects _projects,
  IJBFundingCycleStore _fundingCycleStore,
  address _owner
) JBOperatable(_operatorStore) {
  projects = _projects;
  fundingCycleStore = _fundingCycleStore;
  _transferOwnership(_owner);
}
_operatorStoreis anIJBOperatorStorecontract storing operator assignments._projectsis anIJBProjectscontract which mints ERC-721's that represent project ownership and transfers._fundingCycleStoreis anIJBFundingCycleStorecontract storing all funding cycle configurations._owneris the address that will own the contract.
Events
| Name | Data | 
|---|---|
SetController | 
  | 
AddTerminal | 
  | 
SetTerminals | 
  | 
SetPrimaryTerminal | 
  | 
SetIsAllowedToSetFirstController | 
  | 
Properties
| Function | Definition | 
|---|---|
projects | Traits 
 Returns  | 
fundingCycleStore | Traits 
 Returns  | 
controllerOf | Params 
 Returns 
  | 
isAllowedToSetFirstController | Params 
 Returns 
  | 
Read
| Function | Definition | 
|---|---|
terminalsOf | Params 
 Returns 
  | 
isTerminalOf | Params 
 Returns 
  | 
primaryTerminalOf | Params 
 Returns 
  | 
Write
| Function | Definition | 
|---|---|
setControllerOf | Traits Params 
  | 
setTerminalsOf | Traits Params 
  | 
setPrimaryTerminalOf | Traits Params 
  | 
setIsAllowedToSetFirstController | Traits Params 
  |