/* Crafted with love by Fueled on Bacon https://fueledonbacon.com */ //SPDX-License-Identifier: MIT pragma solidity ^0.8.15; interface IVenueRegistar { event NewVenue(address indexed newVenue, address splitter, address indexed owner, uint256 indexed blockNumber); error RegistarInvalidPrice(); error RegistarVenueNotFound(); error RegistarSBTVersionNotSupported(); error RegistarWrongVenueRegistar(); error RegistarVenueAlreadyRegistered(); error RegistarInvalidReceiver(); error RegistarUnableToWithdrawETH(); error RegistarWrongVenueFactory(); error RegistarUndefinedVenueFactory(); function whitelistPaymentToken(address token, bool whitelist) external; function versionRegistar() external pure returns (string memory); function setVenueFactory(address venueFactory) external; function setTokenCreator(address newTokenCreator) external; function setTokenReviewParams( address tokenReview, address tokenReviewPaymaster, uint256 minBalance ) external; function setForwarder(address forwarder) external; function setVenueSBTVersion(string memory newVersion) external; function setPrice(uint256 publicPrice) external; function deployVenue( string memory name, string memory symbol, string memory baseUri ) external payable; function ownerDeployVenue( string memory name, string memory symbol, string memory baseUri, address owner ) external; function removeVenue(address venue) external; function registerVenue(address venue) external; function getTokenReviewParams() external view returns (address, address, uint256); function getMinBalance() external returns (uint256); function getVenues() external view returns (address[] memory); function withdrawToken(address token, address to) external; function withdrawETH(address receiver) external; function isTrustedForwarder(address forwarder) external view returns(bool); function getForwarder() external view returns(address); function getVenueSBTVersion() external view returns (string memory); function isVenue(address venue) external view returns(bool); function getWhitelistedPaymentTokens() external view returns(address[] memory); function isPaymentTokenWhitelisted(address token) external view returns(bool); function getOwner() external view returns(address); }