IJBDirectory
Codeβ
https://github.com/jbx-protocol/juice-contracts-v2/blob/main/contracts/interfaces/IJBDirectory.sol
Definitionβ
interface IJBDirectory {
  event SetController(uint256 indexed projectId, address indexed controller, address caller);
  event AddTerminal(uint256 indexed projectId, IJBPaymentTerminal indexed terminal, address caller);
  event SetTerminals(uint256 indexed projectId, IJBPaymentTerminal[] terminals, address caller);
  event SetPrimaryTerminal(
    uint256 indexed projectId,
    address indexed token,
    IJBPaymentTerminal indexed terminal,
    address caller
  );
  event SetIsAllowedToSetFirstController(address indexed addr, bool indexed flag, address caller);
  function projects() external view returns (IJBProjects);
  function fundingCycleStore() external view returns (IJBFundingCycleStore);
  function controllerOf(uint256 _projectId) external view returns (address);
  function isAllowedToSetFirstController(address _address) external view returns (bool);
  function terminalsOf(uint256 _projectId) external view returns (IJBPaymentTerminal[] memory);
  function isTerminalOf(uint256 _projectId, IJBPaymentTerminal _terminal)
    external
    view
    returns (bool);
  function primaryTerminalOf(uint256 _projectId, address _token)
    external
    view
    returns (IJBPaymentTerminal);
  function setControllerOf(uint256 _projectId, address _controller) external;
  function setTerminalsOf(uint256 _projectId, IJBPaymentTerminal[] calldata _terminals) external;
  function setPrimaryTerminalOf(
    uint256 _projectId,
    address _token,
    IJBPaymentTerminal _terminal
  ) external;
  function setIsAllowedToSetFirstController(address _address, bool _flag) external;
}