/// <summary> /// Parse ContractAbi from json /// </summary> /// <param name="json">Json</param> /// <returns>Return ContractAbi</returns> public static ContractAbi FromJson(JObject json) { return(new ContractAbi { Methods = ((JArray)json["methods"]).Select(u => ContractMethodDescriptor.FromJson(u)).ToArray(), Events = ((JArray)json["events"]).Select(u => ContractEventDescriptor.FromJson(u)).ToArray() }); }
/// <summary> /// Parse ContractAbi from json /// </summary> /// <param name="json">Json</param> /// <returns>Return ContractAbi</returns> public static ContractAbi FromJson(JObject json) { return(new ContractAbi { Hash = UInt160.Parse(json["hash"].AsString()), Methods = ((JArray)json["methods"]).Select(u => ContractMethodDescriptor.FromJson(u)).ToArray(), Events = ((JArray)json["events"]).Select(u => ContractEventDescriptor.FromJson(u)).ToArray() }); }
/// <summary> /// Parse ContractEventDescriptor from json /// </summary> /// <param name="json">Json</param> /// <returns>Return ContractEventDescriptor</returns> public static ContractEventDescriptor FromJson(JObject json) { ContractEventDescriptor descriptor = new ContractEventDescriptor { Name = json["name"].AsString(), Parameters = ((JArray)json["parameters"]).Select(u => ContractParameterDefinition.FromJson(u)).ToArray(), }; if (string.IsNullOrEmpty(descriptor.Name)) { throw new FormatException(); } _ = descriptor.Parameters.ToDictionary(p => p.Name); return(descriptor); }