Как я могу зарегистрировать событие с индексированными полями в Remix?

Как вы можете видеть ниже, проиндексированное поле игнорируется, а последнее поле устанавливается равным нулю:

contract MyContract {
    event MyWorkingEvent(
        address thing4,
        address thing5,
        address thing6);

    event MyBrokenEvent(
        address indexed thing1,
        address thing2,
        address thing3);

    function logAllTheThings(){
        MyWorkingEvent(0x12, 0x34, 0x56); // works :)
        //output => MyWorkingEvent["0x12","0x34","0x56","0x78"]

        MyBrokenEvent(0x12, 0x34, 0x56); // doesnt work :( 
        //output  => MyBrokenEvent["0x34","0x56","0x78","0x0"]
    }
}

Я тестирую все это из браузера-солидности

Можете ли вы предоставить более подробную информацию о том, как вы это тестируете? Я попытался скопировать ваш код в браузерную надежность и получил кучу ошибок, говорящих о том, что события в настоящее время не поддерживаются.
Меня устраивает. Вы, вероятно, на более старой версии. Дайте мне знать, если это работает для вас здесь: ethereum.github.io/browser-solidity/#version=soljson-latest.js

Ответы (1)

Похоже, это ошибка в надежности браузера. Я пошел дальше и развернул ваш контракт с помощью Mist и смог инициировать события и увидеть значения.

рабочие мероприятия в тумане

Спасибо ryepdx. @zachferland обнаружил, что он также отлично работает с трюфелем. Я передам вопрос специалистам по безопасности браузера на github.