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}"); }