Добавить проверку на то, что контракт завершен
Новая
Проект: MODX-Клуб
Планируемый запуск: | Дата начала: | Планируемое завершение: | Дата завершения: |
Описание задачи
В solidity нет нативной проверки на то, что контракт был уничтожен (selfdestruct). Когда контракт уничтожен, он не выполняет никакой логики, но он по-прежнему может принимать эфир.
Проблема в том, что деструкт с возвратом всех средств создателю контракта можно выполнить только один раз. После разрушения возврат средств уже не выполняется и эфир остается на балансе контракта. Если нет приватного ключа к контракту, то средства будут заморожены на нем.
Есть хак: перед отправкой средств на него проверять владельца контракта. Если контракт убит, то будет возвращено нулевое значение, то есть 0x0. Это будет сигнализировать, что контракт убит.