TGViewer
Из Solidity в AI и дальше Из Solidity в AI и дальше @solidityset · 2.48K subscribers
Post #704 517
Тест 2 (ERC-1155)

Предлагаю к вниманию второй тест для самостоятельной проверки. На этот раз для разбора стандарта ERC-1155.

Вообще, сегодня я выложу 3 поста для проверки своих знаний: текущий тест, пример экзамена для аудитора и контракты из реального собеседования, где нужно будет найти все возможные ошибки.

На выходных вы сможете в спокойной обстановке проверить свои знания.

Итак, вопросы для второго теста. Сам контракт можно скачать выше.

1. В данном контракте функция balanceOf():
а) Может быть оптимизирована кэшированием переменной состояния в локальную переменную;
б) Может быть оптимизирована изменением с view на pure;
в) Может быть оптимизирована изменением на external;
г) Ничего из перечисленного;

2. В данном контракте проверка array lengths mismatch отсутствует в функциях:
а) balanceOfBatch();
б) _safeBatchTransferFrom();
в) _mintBatch();
г) _burnBatch();

3. Проблемы в безопасности функции _safeTransferFrom():
а) Не правильная область видимости;
б) Возможность integer underflow;
в) Отсутствие проверки на нулевой адрес;
г) Ничего из перечисленного;

4. Проблемы в безопасности функции _safeBatchTransferFrom():
а) Отсутствие проверки array lengths mismatch;
б) Возможность integer underflow;
в) Не правильное обновление баланса;
г) Ничего из перечисленного;

5. Проблемы в безопасности функции _mintBatch():
а) Отсутствие проверки array lengths mismatch;
б) Не правильное порождение события;
в) Возможность сжигания токенов;
г) Ничего из перечисленного;

6. Проблемы в безопасности функции _burn():
а) Отсутствие проверки на нулевой адрес;
б) Возможность integer underflow;
в) Не правильное обновление баланса;
г) Ничего из перечисленного;

7. Проблемы в безопасности функции _doSafeTransferAcceptanceCheck():
а) Не правильная проверка адреса в isContract;
б) Не правильная проверка значения return;
в) Не правильй call вызов в isContract;
г) Ничего из перечисленного;

8. Проблемы в безопасности функции isContract():
а) Не правильная видимость;
б) Не правильный оператор сравнения;
в) Проблем нет, так как в Ethereum есть только адреса контрактов;
г) Ничего из перечисленного;

Как обычно ответы для этого теста выложу в конце дня.

Свои ответы вы можете писать в комментариях, но под функцией "Спойлер".

#test
  • 👍 2
  • ❤ 1
More from @solidityset
  1. Oct 2, 2026Вторая сложность — как доказать, что установилось именно опубликованное. В первом варианте…
  2. Oct 2, 2026Задача с полуоткрытым кодом На днях, в процессе создания одного приложения, столкнулся с и…
  3. Sep 22, 2026Какой язык программирования учить сейчас? На днях в Твиттере увидел небольшой пост о разви…
  4. Sep 18, 2026Интересная модель Jev Буквально пару дней назад в Твиттере многие начали обсуждение новой…
  5. Sep 14, 2026Графы повсюду Если вы также следите за новостями в мире ИИ, то наверняка уже все чаще встр…
  6. Sep 10, 2026GTA6, Cyberleek, блокчейн и безопасность Увидел несколько постов (тут и тут) про Cyberleek…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →