From 5a8087feded8fd85e57f59580ec132d57f6932a7 Mon Sep 17 00:00:00 2001 From: 8bitcoder <8bitcoder@users.noreply.github.com> Date: Tue, 28 Jun 2016 22:18:42 +0200 Subject: [PATCH] Add support in rpc getblockchaininfo for algo switch --- src/chainparams.cpp | 2 +- src/rpcblockchain.cpp | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/chainparams.cpp b/src/chainparams.cpp index 910a644a..dc7e6090 100644 --- a/src/chainparams.cpp +++ b/src/chainparams.cpp @@ -216,7 +216,7 @@ public: consensus.nGeoAvgWork_Start = 150; consensus.nAlgoSwitchBlock1 = 300; consensus.nMajorityEnableAlgoSwitch1 = 60; - consensus.nAlgoSwitch1EnableWindow = 200 + consensus.nAlgoSwitch1EnableWindow = 200; pchMessageStart[0] = 0x01; pchMessageStart[1] = 0xf5; diff --git a/src/rpcblockchain.cpp b/src/rpcblockchain.cpp index 8a1b9102..d797b77a 100644 --- a/src/rpcblockchain.cpp +++ b/src/rpcblockchain.cpp @@ -545,6 +545,21 @@ Object SoftForkDesc(const std::string &name, int version, CBlockIndex* pindex, c return rv; } +Object AlgoSwitch1ForkDesc(const std::string &name, int version, CBlockIndex* pindex, const Consensus::Params& consensusParams) +{ + Object rv; + rv.push_back(Pair("id", name)); + rv.push_back(Pair("version", version)); + Object bh; + int nHeight = (int)chainActive.Height(); + bh.push_back(Pair("status", nHeight >= consensusParams.nAlgoSwitchBlock1)); + bh.push_back(Pair("height", nHeight)); + bh.push_back(Pair("height-active", consensusParams.nAlgoSwitchBlock1)); + rv.push_back(Pair("enforce-condition-blockheight", bh)); + rv.push_back(Pair("enforce-condition-majority", SoftForkMajorityDesc(version, pindex, consensusParams.nMajorityEnableAlgoSwitch1, consensusParams))); + return rv; +} + Value getblockchaininfo(const Array& params, bool fHelp) { if (fHelp || params.size() != 0) @@ -608,6 +623,7 @@ Value getblockchaininfo(const Array& params, bool fHelp) // softforks.push_back(SoftForkDesc("bip34", 2, tip, consensusParams)); softforks.push_back(SoftForkDesc("bip66", 3, tip, consensusParams)); softforks.push_back(SoftForkDesc("bip65", 4, tip, consensusParams)); + softforks.push_back(AlgoSwitch1ForkDesc("algoswitch1", 4, tip, consensusParams)); obj.push_back(Pair("softforks", softforks)); if (fPruneMode)