[
  {
    "inputs": [
      {
        "internalType": "address[]",
        "name": "_admins",
        "type": "address[]"
      },
      {
        "internalType": "address",
        "name": "_organizerAddress",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "_ticketFactoryAddress",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "_ticketTypeFactoryAddress",
        "type": "address"
      },
      {
        "components": [
          {
            "internalType": "string",
            "name": "id",
            "type": "string"
          },
          {
            "internalType": "uint256",
            "name": "eventDate",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "duration",
            "type": "uint256"
          },
          {
            "internalType": "enum TixSellEventLibrary.EventType",
            "name": "typeEvent",
            "type": "uint8"
          },
          {
            "internalType": "string",
            "name": "name",
            "type": "string"
          },
          {
            "internalType": "string",
            "name": "description",
            "type": "string"
          },
          {
            "internalType": "bool",
            "name": "canceled",
            "type": "bool"
          },
          {
            "internalType": "uint96",
            "name": "royalty",
            "type": "uint96"
          },
          {
            "internalType": "uint96",
            "name": "sellTixRoyaltieValue",
            "type": "uint96"
          },
          {
            "internalType": "bool",
            "name": "openBookings",
            "type": "bool"
          }
        ],
        "internalType": "struct TixSellEventLibrary.Event",
        "name": "_eDta",
        "type": "tuple"
      },
      {
        "internalType": "address",
        "name": "_tixSellpaymentSplitter",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "_organizerEventPaymentSplitter",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "_resellPaiementSplitter",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "_dataFeedEURUSD",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "_nftTemplateAddress",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "_ticketReservationFactoryAddress",
        "type": "address"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "constructor"
  },
  {
    "inputs": [],
    "name": "AccessControlBadConfirmation",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      },
      {
        "internalType": "bytes32",
        "name": "neededRole",
        "type": "bytes32"
      }
    ],
    "name": "AccessControlUnauthorizedAccount",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "owner",
        "type": "address"
      }
    ],
    "name": "OwnableInvalidOwner",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "OwnableUnauthorizedAccount",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "ReentrancyGuardReentrantCall",
    "type": "error"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "string",
        "name": "name",
        "type": "string"
      }
    ],
    "name": "EventCreated",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "previousOwner",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "newOwner",
        "type": "address"
      }
    ],
    "name": "OwnershipTransferred",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "bytes32",
        "name": "role",
        "type": "bytes32"
      },
      {
        "indexed": true,
        "internalType": "bytes32",
        "name": "previousAdminRole",
        "type": "bytes32"
      },
      {
        "indexed": true,
        "internalType": "bytes32",
        "name": "newAdminRole",
        "type": "bytes32"
      }
    ],
    "name": "RoleAdminChanged",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "bytes32",
        "name": "role",
        "type": "bytes32"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "account",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "sender",
        "type": "address"
      }
    ],
    "name": "RoleGranted",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "bytes32",
        "name": "role",
        "type": "bytes32"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "account",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "sender",
        "type": "address"
      }
    ],
    "name": "RoleRevoked",
    "type": "event"
  },
  {
    "inputs": [],
    "name": "ADMIN_ROLE",
    "outputs": [
      {
        "internalType": "bytes32",
        "name": "",
        "type": "bytes32"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "DEFAULT_ADMIN_ROLE",
    "outputs": [
      {
        "internalType": "bytes32",
        "name": "",
        "type": "bytes32"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_ticketTypeId",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "_tokenId",
        "type": "uint256"
      }
    ],
    "name": "addTicketToListOfTicketType",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_ticketTypeId",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "addTicketTypesNbTicketMinted",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "name": "admins",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "components": [
          {
            "internalType": "uint256",
            "name": "id",
            "type": "uint256"
          },
          {
            "internalType": "uint32",
            "name": "maxTickets",
            "type": "uint32"
          },
          {
            "internalType": "uint32",
            "name": "maxTicketsPerUser",
            "type": "uint32"
          },
          {
            "internalType": "uint256",
            "name": "ticketPrice",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "bookingStartDate",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "bookingEndDate",
            "type": "uint256"
          },
          {
            "internalType": "bool",
            "name": "revealed",
            "type": "bool"
          },
          {
            "internalType": "uint256",
            "name": "revealStartDate",
            "type": "uint256"
          },
          {
            "internalType": "bool",
            "name": "sellable",
            "type": "bool"
          },
          {
            "internalType": "uint256",
            "name": "maxSellablePrice",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "royaltySellable",
            "type": "uint256"
          },
          {
            "internalType": "bool",
            "name": "earlyBid",
            "type": "bool"
          },
          {
            "internalType": "uint256",
            "name": "discountPrice",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "discountEndDate",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "templateId",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "fixAmount",
            "type": "uint256"
          },
          {
            "internalType": "bool",
            "name": "freeDrink",
            "type": "bool"
          },
          {
            "internalType": "bool",
            "name": "priorityQueue",
            "type": "bool"
          },
          {
            "internalType": "bool",
            "name": "canStream",
            "type": "bool"
          },
          {
            "internalType": "string",
            "name": "name",
            "type": "string"
          },
          {
            "internalType": "string",
            "name": "hiddenuri",
            "type": "string"
          },
          {
            "internalType": "string",
            "name": "image",
            "type": "string"
          },
          {
            "components": [
              {
                "internalType": "string",
                "name": "gradient1Color",
                "type": "string"
              },
              {
                "internalType": "string",
                "name": "gradient2Color",
                "type": "string"
              },
              {
                "internalType": "string",
                "name": "eventTitleOne",
                "type": "string"
              },
              {
                "internalType": "string",
                "name": "eventTitleTwo",
                "type": "string"
              },
              {
                "internalType": "string",
                "name": "eventTitleFont",
                "type": "string"
              },
              {
                "internalType": "string",
                "name": "eventColor",
                "type": "string"
              },
              {
                "internalType": "string",
                "name": "ticketTypeFont",
                "type": "string"
              },
              {
                "internalType": "string",
                "name": "ticketTypeColor",
                "type": "string"
              },
              {
                "internalType": "string",
                "name": "price",
                "type": "string"
              },
              {
                "internalType": "string",
                "name": "priceColor",
                "type": "string"
              },
              {
                "internalType": "string",
                "name": "priceFont",
                "type": "string"
              },
              {
                "internalType": "string",
                "name": "fontUrl",
                "type": "string"
              },
              {
                "internalType": "string",
                "name": "ticketType",
                "type": "string"
              },
              {
                "internalType": "string",
                "name": "venue",
                "type": "string"
              },
              {
                "internalType": "string",
                "name": "svgUrl",
                "type": "string"
              },
              {
                "internalType": "string",
                "name": "heureDisplay",
                "type": "string"
              }
            ],
            "internalType": "struct TixSellLibrary.TicketDesignInfo",
            "name": "ticketDesignInfo",
            "type": "tuple"
          }
        ],
        "internalType": "struct TixSellLibrary.TicketType[]",
        "name": "_ticketsType",
        "type": "tuple[]"
      }
    ],
    "name": "bulkCreateTicketType",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "components": [
          {
            "internalType": "uint256",
            "name": "id",
            "type": "uint256"
          },
          {
            "internalType": "uint32",
            "name": "maxTickets",
            "type": "uint32"
          },
          {
            "internalType": "uint32",
            "name": "maxTicketsPerUser",
            "type": "uint32"
          },
          {
            "internalType": "uint256",
            "name": "ticketPrice",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "bookingStartDate",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "bookingEndDate",
            "type": "uint256"
          },
          {
            "internalType": "bool",
            "name": "revealed",
            "type": "bool"
          },
          {
            "internalType": "uint256",
            "name": "revealStartDate",
            "type": "uint256"
          },
          {
            "internalType": "bool",
            "name": "sellable",
            "type": "bool"
          },
          {
            "internalType": "uint256",
            "name": "maxSellablePrice",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "royaltySellable",
            "type": "uint256"
          },
          {
            "internalType": "bool",
            "name": "earlyBid",
            "type": "bool"
          },
          {
            "internalType": "uint256",
            "name": "discountPrice",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "discountEndDate",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "templateId",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "fixAmount",
            "type": "uint256"
          },
          {
            "internalType": "bool",
            "name": "freeDrink",
            "type": "bool"
          },
          {
            "internalType": "bool",
            "name": "priorityQueue",
            "type": "bool"
          },
          {
            "internalType": "bool",
            "name": "canStream",
            "type": "bool"
          },
          {
            "internalType": "string",
            "name": "name",
            "type": "string"
          },
          {
            "internalType": "string",
            "name": "hiddenuri",
            "type": "string"
          },
          {
            "internalType": "string",
            "name": "image",
            "type": "string"
          },
          {
            "components": [
              {
                "internalType": "string",
                "name": "gradient1Color",
                "type": "string"
              },
              {
                "internalType": "string",
                "name": "gradient2Color",
                "type": "string"
              },
              {
                "internalType": "string",
                "name": "eventTitleOne",
                "type": "string"
              },
              {
                "internalType": "string",
                "name": "eventTitleTwo",
                "type": "string"
              },
              {
                "internalType": "string",
                "name": "eventTitleFont",
                "type": "string"
              },
              {
                "internalType": "string",
                "name": "eventColor",
                "type": "string"
              },
              {
                "internalType": "string",
                "name": "ticketTypeFont",
                "type": "string"
              },
              {
                "internalType": "string",
                "name": "ticketTypeColor",
                "type": "string"
              },
              {
                "internalType": "string",
                "name": "price",
                "type": "string"
              },
              {
                "internalType": "string",
                "name": "priceColor",
                "type": "string"
              },
              {
                "internalType": "string",
                "name": "priceFont",
                "type": "string"
              },
              {
                "internalType": "string",
                "name": "fontUrl",
                "type": "string"
              },
              {
                "internalType": "string",
                "name": "ticketType",
                "type": "string"
              },
              {
                "internalType": "string",
                "name": "venue",
                "type": "string"
              },
              {
                "internalType": "string",
                "name": "svgUrl",
                "type": "string"
              },
              {
                "internalType": "string",
                "name": "heureDisplay",
                "type": "string"
              }
            ],
            "internalType": "struct TixSellLibrary.TicketDesignInfo",
            "name": "ticketDesignInfo",
            "type": "tuple"
          }
        ],
        "internalType": "struct TixSellLibrary.TicketType",
        "name": "_ticketTypeData",
        "type": "tuple"
      }
    ],
    "name": "createTicketType",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "_ticketTypeId",
        "type": "uint256"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "getEvent",
    "outputs": [
      {
        "components": [
          {
            "internalType": "string",
            "name": "id",
            "type": "string"
          },
          {
            "internalType": "uint256",
            "name": "eventDate",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "duration",
            "type": "uint256"
          },
          {
            "internalType": "enum TixSellEventLibrary.EventType",
            "name": "typeEvent",
            "type": "uint8"
          },
          {
            "internalType": "string",
            "name": "name",
            "type": "string"
          },
          {
            "internalType": "string",
            "name": "description",
            "type": "string"
          },
          {
            "internalType": "bool",
            "name": "canceled",
            "type": "bool"
          },
          {
            "internalType": "uint96",
            "name": "royalty",
            "type": "uint96"
          },
          {
            "internalType": "uint96",
            "name": "sellTixRoyaltieValue",
            "type": "uint96"
          },
          {
            "internalType": "bool",
            "name": "openBookings",
            "type": "bool"
          }
        ],
        "internalType": "struct TixSellEventLibrary.Event",
        "name": "",
        "type": "tuple"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_ticketTypeId",
        "type": "uint256"
      }
    ],
    "name": "getListOfTicketForTicketType",
    "outputs": [
      {
        "internalType": "uint256[]",
        "name": "",
        "type": "uint256[]"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bytes32",
        "name": "role",
        "type": "bytes32"
      }
    ],
    "name": "getRoleAdmin",
    "outputs": [
      {
        "internalType": "bytes32",
        "name": "",
        "type": "bytes32"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "getTicketTypeContract",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_ticketTypeId",
        "type": "uint256"
      }
    ],
    "name": "getTicketTypesNbMinted",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bytes32",
        "name": "role",
        "type": "bytes32"
      },
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "grantRole",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bytes32",
        "name": "role",
        "type": "bytes32"
      },
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "hasRole",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "name": "listOfTicketForTicketType",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "owner",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "renounceOwnership",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bytes32",
        "name": "role",
        "type": "bytes32"
      },
      {
        "internalType": "address",
        "name": "callerConfirmation",
        "type": "address"
      }
    ],
    "name": "renounceRole",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bytes32",
        "name": "role",
        "type": "bytes32"
      },
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "revokeRole",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bytes4",
        "name": "interfaceId",
        "type": "bytes4"
      }
    ],
    "name": "supportsInterface",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "theEvent",
    "outputs": [
      {
        "internalType": "string",
        "name": "id",
        "type": "string"
      },
      {
        "internalType": "uint256",
        "name": "eventDate",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "duration",
        "type": "uint256"
      },
      {
        "internalType": "enum TixSellEventLibrary.EventType",
        "name": "typeEvent",
        "type": "uint8"
      },
      {
        "internalType": "string",
        "name": "name",
        "type": "string"
      },
      {
        "internalType": "string",
        "name": "description",
        "type": "string"
      },
      {
        "internalType": "bool",
        "name": "canceled",
        "type": "bool"
      },
      {
        "internalType": "uint96",
        "name": "royalty",
        "type": "uint96"
      },
      {
        "internalType": "uint96",
        "name": "sellTixRoyaltieValue",
        "type": "uint96"
      },
      {
        "internalType": "bool",
        "name": "openBookings",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "ticketContract",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "ticketTypeContract",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "name": "ticketTypesNbTicketMinted",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "newOwner",
        "type": "address"
      }
    ],
    "name": "transferOwnership",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "components": [
          {
            "internalType": "string",
            "name": "id",
            "type": "string"
          },
          {
            "internalType": "uint256",
            "name": "eventDate",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "duration",
            "type": "uint256"
          },
          {
            "internalType": "enum TixSellEventLibrary.EventType",
            "name": "typeEvent",
            "type": "uint8"
          },
          {
            "internalType": "string",
            "name": "name",
            "type": "string"
          },
          {
            "internalType": "string",
            "name": "description",
            "type": "string"
          },
          {
            "internalType": "bool",
            "name": "canceled",
            "type": "bool"
          },
          {
            "internalType": "uint96",
            "name": "royalty",
            "type": "uint96"
          },
          {
            "internalType": "uint96",
            "name": "sellTixRoyaltieValue",
            "type": "uint96"
          },
          {
            "internalType": "bool",
            "name": "openBookings",
            "type": "bool"
          }
        ],
        "internalType": "struct TixSellEventLibrary.Event",
        "name": "_eDta",
        "type": "tuple"
      }
    ],
    "name": "updateEvent",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  }
]