Согласно документам revert()
не будет потреблять никакого газа:
Обратите внимание, что исключения в стиле утверждения потребляют весь газ, доступный для вызова, в то время как исключения в стиле возврата не будут потреблять никакого газа, начиная с выпуска Metropolis.
Но я часто читаю, что revert()
возместят неиспользованный газ, например, в этом ответе .
Я думаю, что возврат ВСЕГО газа откроет ворота для DOS-атак, поэтому я предполагаю, что будет возмещен только неиспользованный газ. Но хотелось бы подтверждения :-)
Только оставшийся газ.
revert
сохранит неиспользованный газ: это означает, что у вызывающего абонента будет неиспользованный газ для выполнения дальнейших вычислений. возмещение отличается, и вы правы, что если revert
вернуть газ вызывающему абоненту, это позволит атаковать DoS (вызывающий абонент может зацикливаться много раз, затем revert
зацикливаться и revert
бесконечно).
ТриплСпидер
эт
throw
устарело.пользователь 2284570
MShakeG