ln.types/json/rpc/RPCMessage.cs

45 lines
1.1 KiB
C#

using System;
using Newtonsoft.Json.Linq;
using Newtonsoft.Json;
namespace ln.types.json.rpc
{
public class RPCMessage
{
public String Version { get; set; }
public String Method { get; set; }
public object[] Parameters { get; set; }
public object Result { get; set; }
public RPCError Error { get; set; }
public JToken Identifier { get; set; }
public RPCMessage()
{
Version = "2.0";
Parameters = new object[0];
}
public RPCMessage(JObject source)
{
Version = source["jsonrpc"].ToObject<string>();
if (source.ContainsKey("method"))
Method = source["method"].ToObject<string>();
if (source.ContainsKey("params"))
Parameters = source["params"].ToObject<object[]>();
if (source.ContainsKey("result"))
Result = source["result"];
if (source.ContainsKey("error"))
if (source.ContainsKey("id"))
Identifier = source["id"];
else
Identifier = null;
}
}
}