public byte[] Encode(params dynamic[] values) { MemoryStream stream = new MemoryStream(); if (values.Length == this._definition.inputs.Length) { try { AbiInputParameter[] parameters = new AbiInputParameter[values.Length]; for (int index = 0; index < values.Length; index++) { parameters[index] = new AbiInputParameter(this._definition.inputs[index], values[index]); } stream.Append(this._definition.Sha3Signature); stream.Append(AbiParameterCoder.EncodeParames(parameters)); } catch { throw new ArgumentException("input values invalid"); } } else { throw new ArgumentException("values number not match"); } return(stream.ToArray()); }
public byte[] EncodeConstructorWithParameter(params dynamic[] values) { if (this._definition.Constructor == null) { throw new ArgumentException("Constructor havn’t parameter"); } List <AbiInputParameter> parameters = new List <AbiInputParameter>(); for (int index = 0; index < values.Length; index++) { IAbiParameterDefinition parameDefinition = this._definition.Constructor.inputs[0]; parameters.Add(new AbiInputParameter(parameDefinition, values[index])); } return(AbiParameterCoder.EncodeParames(parameters.ToArray())); }