Problema de estructura de control If-Else

¿Por qué la siguiente estructura de control devuelve 250 en ambos escenarios de valor?

function bonusCalculate(uint _value) public pure returns(uint) {

        if(_value <= 50 ether) {
          return 250;
        } else if (_value >= 100 ether) {
          return 500; 
        }
     }

Respuestas (1)

porque tu código es equivalente a

function bonusCalculate(uint _value) public pure returns(uint) {

        if(_value <= 50*1000000000000000000) {
          return 250;
        } else if (_value >= 100*1000000000000000000) {
          return 500; 
        }
     }

1 éter = 1000000000000000000.

Badr legendario, se olvidó de eso