* * @author Peter Lai * @license MIT */ namespace blockchain\web3\src\Formatters; use InvalidArgumentException; use blockchain\web3\src\Utils; use blockchain\web3\src\Formatters\IFormatter; use blockchain\web3\src\Formatters\IntegerFormatter; class AddressFormatter implements IFormatter { /** * format * to do: iban * * @param mixed $value * @return string */ public static function format($value) { $value = (string) $value; if (Utils::isAddress($value)) { $value = mb_strtolower($value); if (Utils::isZeroPrefixed($value)) { return $value; } return '0x' . $value; } $value = IntegerFormatter::format($value, 40); return '0x' . $value; } }