45 lines
1.1 KiB
C#
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;
|
|
}
|
|
|
|
|
|
|
|
}
|
|
}
|