Skip to content

Commit

Permalink
Merge pull request #31 from neo-project/master
Browse files Browse the repository at this point in the history
Fix the bug that getnextblockvalidators return empty when there is no…
  • Loading branch information
chenzhitong authored Jan 7, 2021
2 parents 9ce4618 + 1ed03a5 commit 865a000
Showing 1 changed file with 22 additions and 7 deletions.
29 changes: 22 additions & 7 deletions src/RpcServer/RpcServer.Blockchain.cs
Original file line number Diff line number Diff line change
Expand Up @@ -197,14 +197,29 @@ protected virtual JObject GetNextBlockValidators(JArray _params)
{
using SnapshotView snapshot = Blockchain.Singleton.GetSnapshot();
var validators = NativeContract.NEO.GetNextBlockValidators(snapshot);
return NativeContract.NEO.GetCandidates(snapshot).Select(p =>
var candidates = NativeContract.NEO.GetCandidates(snapshot);
if (candidates.Length > 0)
{
JObject validator = new JObject();
validator["publickey"] = p.PublicKey.ToString();
validator["votes"] = p.Votes.ToString();
validator["active"] = validators.Contains(p.PublicKey);
return validator;
}).ToArray();
return candidates.Select(p =>
{
JObject validator = new JObject();
validator["publickey"] = p.PublicKey.ToString();
validator["votes"] = p.Votes.ToString();
validator["active"] = validators.Contains(p.PublicKey);
return validator;
}).ToArray();
}
else
{
return validators.Select(p =>
{
JObject validator = new JObject();
validator["publickey"] = p.ToString();
validator["votes"] = 0;
validator["active"] = true;
return validator;
}).ToArray();
}
}

[RpcMethod]
Expand Down

0 comments on commit 865a000

Please sign in to comment.