From ef9dff0920f7d52729edfb8b8cd6bf89920f2e67 Mon Sep 17 00:00:00 2001 From: Anna Shaleva Date: Thu, 12 Oct 2023 18:45:20 +0300 Subject: [PATCH] RpcServer, RpcClient: strip HF_ prefix from `getversion` response It's nice to have clear hardfork ame without hardfork prefix so that the resulting hardfork JSON-ized name can be applicable by both C# and NeoGo nodes. Signed-off-by: Anna Shaleva --- src/RpcClient/Models/RpcVersion.cs | 5 +++-- src/RpcServer/RpcServer.Node.cs | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/RpcClient/Models/RpcVersion.cs b/src/RpcClient/Models/RpcVersion.cs index 2b02dd714..985042d8c 100644 --- a/src/RpcClient/Models/RpcVersion.cs +++ b/src/RpcClient/Models/RpcVersion.cs @@ -44,7 +44,8 @@ public JObject ToJson() json["initialgasdistribution"] = InitialGasDistribution; json["hardforks"] = new JArray(Hardforks.Select(s => new JObject() { - ["name"] = s.Key, + // Strip HF_ prefix. + ["name"] = s.Key.ToString().Substring(3), ["blockheight"] = s.Value, })); return json; @@ -63,7 +64,7 @@ public static RpcProtocol FromJson(JObject json) MaxTransactionsPerBlock = (uint)json["maxtransactionsperblock"].AsNumber(), MemoryPoolMaxTransactions = (int)json["memorypoolmaxtransactions"].AsNumber(), InitialGasDistribution = (ulong)json["initialgasdistribution"].AsNumber(), - Hardforks = new Dictionary(((JArray)json["hardforks"]).Select(s => new KeyValuePair(Enum.Parse(s["name"].AsString()), (uint)s["blockheight"].AsNumber()))), + Hardforks = new Dictionary(((JArray)json["hardforks"]).Select(s => new KeyValuePair(Enum.Parse($"HF_{s["name"].AsString()}"), (uint)s["blockheight"].AsNumber()))), }; } } diff --git a/src/RpcServer/RpcServer.Node.cs b/src/RpcServer/RpcServer.Node.cs index 4c6a0109a..ce47c1587 100644 --- a/src/RpcServer/RpcServer.Node.cs +++ b/src/RpcServer/RpcServer.Node.cs @@ -85,7 +85,8 @@ protected virtual JToken GetVersion(JArray _params) json["protocol"]["hardforks"] = new JArray(system.Settings.Hardforks.Select(hf => { JObject forkJson = new(); - forkJson["name"] = hf.Key; + // Strip "HF_" prefix. + forkJson["name"] = hf.Key.ToString().Substring(3); forkJson["blockheight"] = hf.Value; return forkJson; }));