¿Podría alguien explicarme qué hace todo el bloque else?
¿Se itera una vez?
modifier checkEpoch { uint256 _nextEpochPoint = nextEpochPoint(); if (now < _nextEpochPoint) { require(msg.sender == operator(), 'Epoch: only operator allowed for pre-epoch'); _; } else { _; for (;;) { lastEpochTime = _nextEpochPoint; ++epoch; _nextEpochPoint = nextEpochPoint(); if (now < _nextEpochPoint) break; } } }Nunca usé esto en solidity pero en c y javascript se usa para bucle infinito.
For-loop continuará hasta esta condición
if (now < _nextEpochPoint) break;no es un operador. for loop tiene 3 parámetros
for (int i = 1; i <= 12; i++){}En lugar de pasar el valor inicial, el valor final y la condición, los dejamos en blanco
for (;;){}