[Ethereum] Expected token LParen got Identifier

solidity

I am currently trying to build a simple Process in Solidity, but somehow I get the Error: Expected token LParen got Identifier for the function WaiterBringsPizza and CustomerReceivesPizza. I'd be very thankful if anyone could help!

pragma solidity ^0.4.16;
contract RestaurantMASTER{
event logStatus(uint orderNumber, bytes input, uint256 timestamp);

//Initialize State-variables(!)
function RestaurantMASTER(){
tokens[0]++;
CU = Customer(newCustomer());                       //[0] @contracts
WA = Waiter(newWaiter());                           //[1]
CH = Chef(newChef());                               //[2]
DB = dataBase(newDataBase());                       //[3]

}

    //Contract 'Objects'
    address[] public contracts;
    Customer CU;
    Waiter WA;
    Chef CH;
    dataBase DB;


    //Casual State-Variables
    int[] public tokens = new int[](7);
    uint public orderNumber = -1;


    function newCustomer() private returns(address newContract){
        CU = new Customer();
        contracts.push(CU);
        return (CU);
    }
      function newWaiter () private returns(address newContract) {
       WA = new Waiter();
        contracts.push(WA);
        return (WA);
    }
     function newChef () private returns(address newContract) {
        CH = new Chef();
        contracts.push(CH);
        return (CH);
    }
    function newDataBase() private returns(address newContract){
        DB = new dataBase();
        contracts.push(DB);
        return (DB);
    }
/*Function-Behavior:
1. Check if Token for function is available
2. Execute all possible automatic functions until further Manual/User-Tasks need to be done
3. Hand Token over to those Manual/User-Tasks
4. Remove own Token
*/
   function OrderPizza(){
        orderNumber++;
        if(tokens[0] == 1){
            tokens[0] = 0;
            tokens[2]++;
            logStatus(orderNumber,"Pizza ordered", now);
        } else {revert();}
    }

    function TakeTheOrder(){
        if(tokens[2] == 1){
            tokens[2] = 0;
            tokens[3]++;
            logStatus(orderNumber,"Order taken", now);
        } else {revert();}
    }

        function PreparePizza(){
        if(tokens[3] == 1){
            tokens[3] = 0;
            tokens[4]++;
            logStatus(orderNumber,"Pizza Prepared", now);
        } else {revert();}
    }
        function PokeTheWaiter(){
        if(tokens[4] == 1){
            tokens[4] = 0;
            tokens[6]++;
            logStatus(orderNumber,"Waiter has been poked", now);
        } else {revert();}

        function WaiterBringsPizza(){
        if(tokens[4] == 1){
            tokens[4] = 0;
            tokens[7]++;
            logStatus(orderNumber,"Waiter is bringing Pizza", now);
        } else {revert();}
    }
     function CustomerReceivesPizza(){
        if(tokens[7] == 1){
            tokens[7] = 0;
            logStatus(orderNumber,"Customer eats Pizza", now);
        } else {revert();}
    }



    }
}
contract Customer{
event logStatus(uint orderNumber, bytes input, uint256 timestamp);

}
contract Chef{
event logStatus(uint orderNumber, bytes input, uint256 timestamp);

}

contract Waiter{
event logStatus(uint orderNumber, bytes input, uint256 timestamp);

}

contract dataBase{
event logStatus(uint orderNumber, bytes input, uint256 timestamp);

}

Best Answer

You are missing a closing } for function PokeTheWaiter().

Related Topic