TerminalDirectory
Address
Mainnet: 0x46C9999A2EDCD5aA177ed7E8af90c68b7d75Ba46
Kovan: 0x71BA69044CbD951AC87124cBEdbC0334AB21F26D
Contract
contracts/TerminalDirectory.sol
Purpose
Stores the active Terminal for each project.
Projects can deploy contracts that will forward a direct payment to the Terminal.
Projects can deploy contracts that will forward a direct payment to the Terminal.
Events
event DeployAddress(
    uint256 indexed projectId,
    string memo,
    address indexed caller
)
event SetTerminal(
    uint256 indexed projectId,
    ITerminal indexed terminal,
    address caller
)
event SetPayerPreferences(
    address indexed account,
    address beneficiary,
    bool preferUnstakedTickets
)
Constructor
/**
  @param _projects A Projects contract which mints ERC-721's that represent project ownership and transfers.
  @param _operatorStore A contract storing operator assignments.
*/
constructor(IProjects _projects, IOperatorStore _operatorStore)
    Operatable(_operatorStore)
Read
/// @notice Mints ERC-721's that represent project ownership and transfers.
function projects() external view returns (IProjects)
/// @notice For each project ID, the juicebox terminal that the direct payment addresses are proxies for.
function terminalOf(uint256 _projectId) external view returns (ITerminal)
/// @notice For each address, the address that will be used as the beneficiary of direct payments made.
function beneficiaryOf(address _account) external returns (address)
/// @notice For each address, the preference of whether ticket will be auto claimed as ERC20s when a payment is made.
function unstakedTicketsPreferenceOf(address _account)
    external
    returns (bool)
/**
  @notice
  A list of all direct payment addresses for the specified project ID.
  @param _projectId The ID of the project to get direct payment addresses for.
  @return A list of direct payment addresses for the specified project ID.
*/
function addressesOf(uint256 _projectId)
    external
    view
    override
    returns (IDirectPaymentAddress[] memory)
{
    return _addressesOf[_projectId];
}