Skip to main content

IJBDirectory

Code​

https://github.com/jbx-protocol/juice-contracts-v3/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;
}