Реализация событий в Solidity (ремикс)

У меня есть тестовый код в Remix, и я получаю ParseError: Expected Primary Expression. Ошибка происходит в функции Inquiry -- при определении события -- строка.

ParserError: ожидаемое основное выражение. событие itemsListDisplay (itemId bytes32, itemDescription bytes32, аукционный статус bytes32); ^

Моей причиной использования события является отображение списка, когда функция вызывается утвержденным участником. Каждый список элементов будет в новой строке.

Любое другое предложение по улучшению стиля кода также поможет.

Спасибо. Ниже приведен тестовый код.

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;

    }

}

Ответы (1)

Вы должны определить журнал событий вне функции с/после ваших переменных состояния. Затем генерируйте события по мере выполнения транзакций.

contract Thing {

  event LogSomethingHappened(address sender, uint amount);

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

Надеюсь, поможет.