// SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.20; import "@openzeppelin/contracts/access/Ownable.sol"; import "../events/TicketContract.sol"; contract TicketContractFactory is Ownable { constructor(address initialOwner) Ownable(initialOwner) { } function deployTicketContractForEvent(address[] memory _admins,address _organizerAddress,address _paymentSplitter,address _organizerEventPaymentSplitter,address _resellPaiementSplitter, address _addressChainLinkConverter,address _eventContract,string memory _eventName,address _nftTemplateAddress, address _ticketReservationFactoryAddress, uint96 royalty) external returns(address) { // Ticket contract associated to event TicketContract theTicketContract = new TicketContract(_organizerAddress,_admins,_paymentSplitter,_organizerEventPaymentSplitter,_resellPaiementSplitter,_addressChainLinkConverter,_eventContract,_eventName,_nftTemplateAddress,_ticketReservationFactoryAddress,royalty); // theTicketContract.transferOwnership(_organizerAddress); return address(theTicketContract); } }