From 05dc710d520768fd3f9b1f87433d482e63ce0262 Mon Sep 17 00:00:00 2001 From: Shay Patel Date: Fri, 25 Oct 2024 19:50:49 +0100 Subject: [PATCH] Calculate ticket price for buying tickets --- contracts/EventManager.sol | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/contracts/EventManager.sol b/contracts/EventManager.sol index 46dad72..c77841b 100644 --- a/contracts/EventManager.sol +++ b/contracts/EventManager.sol @@ -106,7 +106,10 @@ contract EventManager { require(_eventId < eventCounter, "Invalid event ID"); require(events[_eventId].eventDate > block.timestamp, "Event has already passed"); require(events[_eventId].tickets.length < events[_eventId].capacity, "Event is full"); - require(msg.value == events[_eventId].ticketPrice, "Invalid ticket price"); + + uint256 ticketCost = getEventPriceFlare(_eventId); // Get ticket price in FLR + require(msg.value >= ticketCost, "Invalid ticket price"); // Ensure user has paid >= ticket price + if (msg.value > ticketCost) payable(msg.sender).transfer(msg.value - ticketCost); // Pay any excess the user paid // Create new ticket tickets[ticketCounter] = Ticket(msg.sender, block.timestamp, _eventId);