Implementando Eventos en Solidity (Remix)

Tengo un código de prueba en Remix y he recibido ParseError: expresión primaria esperada. El error ocurre en la consulta de la función, en la definición del evento, en la línea.

ParserError: Expresión primaria esperada. evento itemsListDisplay (bytes32 ítemId, bytes32 ítemDescripción, bytes32 subastaEstado); ^

Mi razón para usar event es mostrar una lista cuando un participante aprobado llama a la función. Cada listado de artículos estaría en una nueva línea.

Cualquier otra sugerencia para mejorar el estilo del código también ayudará.

Gracias. A continuación se muestra el código de prueba.

contract Request is MasterContract, 
ApprovedParticipantsContract, ApprovedItemsContract {


    function Enquiry (address _address) returns (bool flag) {

    event itemsListDisplay (bytes32 itemId, bytes32 itemDescription, bytes32 auctionStatus);        


    if (approvedParticipantsList[_address].isValue) {

        uint len = itemsList.keys.length;

        for (uint i = 0; i < len; i++)  {

            bytes32 myItemId = itemsList.keys[i].itemId;
            bytes32 myItemDescription = itemsList.keys[i].itemDescription;
            bytes32 myAuctionStatus = itemsList.keys[i].auctionStatus;

            itemsListDisplay(myItemId, myItemDescription, myAuctionStatus);


        }



        return true;

    }

    return false;

    }

}

Respuestas (1)

Debe definir el registro de eventos fuera de la función con/después de sus variables de estado. Luego emita eventos a medida que ocurren las transacciones.

contract Thing {

  event LogSomethingHappened(address sender, uint amount);

  function doSomething(uint qty) public returns(bool success) {
    LogSomethingHappened(msg.sender, qty);
    return true;
  }
}

Espero eso ayude.