* * @author Peter Lai * @license MIT */ namespace Web3\Formatters; use InvalidArgumentException; use Web3\Utils; use Web3\Formatters\IFormatter; use Web3\Formatters\Integer as IntegerFormatter; class HexFormatter implements IFormatter { /** * format * * @param mixed $value * @return string */ public static function format($value) { $value = Utils::toString($value); $value = mb_strtolower($value); if (Utils::isZeroPrefixed($value)) { return $value; } elseif (Utils::isHex($value)) { $value = '0x' . $value; } else { $value = Utils::toHex($value, true); } return $value; } }