public static string Encode(ERC20Methods aERC20Method, params string[] aParams)
        {
            string lResult;

            switch (aERC20Method)
            {
            case ERC20Methods.Transfer:
                var lHexAddress        = BigInteger.Parse(string.Concat("0", aParams[0].Replace("0x", string.Empty)), System.Globalization.NumberStyles.HexNumber);
                var lDestinationAmount = BigInteger.Parse(aParams[1]);
                lResult = string.Concat(aERC20Method.GetHex(), lHexAddress.ToString("X64"), lDestinationAmount.ToString("X64"));
                break;

            default:
                throw new Exception("ERC20 Method not supported");
            }
            return(lResult);
        }
 public static string GetHex(this ERC20Methods aERC20Method)
 {
     return($"0x{(long) aERC20Method:X8}");
 }