| 9 | #include "rpc/core/rpccommons.h" |
| 10 | |
| 11 | Value getproposal(const Array& params, bool fHelp){ |
| 12 | |
| 13 | if (fHelp || params.size() != 1){ |
| 14 | |
| 15 | throw runtime_error( |
| 16 | "getproposal \"proposalid\"\n" |
| 17 | "get a proposal by proposal id\n" |
| 18 | "\nArguments:\n" |
| 19 | "1.\"proposalid\": (string, required) the proposal id \n" |
| 20 | |
| 21 | "\nExamples:\n" |
| 22 | + HelpExampleCli("getproposal", "02sov0efs3ewdsxcfresdfdsadfgdsasdfdsadfdsdfsdfsddfge32ewsrewsowekdsx") |
| 23 | + "\nAs json rpc call\n" |
| 24 | + HelpExampleRpc("getproposal", "\"02sov0efs3ewdsxcfresdfdsadfgdsasdfdsadfdsdfsdfsddfge32ewsrewsowekdsx\"") |
| 25 | |
| 26 | ); |
| 27 | } |
| 28 | uint256 proposalId = uint256S(params[0].get_str()); |
| 29 | std::shared_ptr<CProposal> pp; |
| 30 | if (pCdMan->pSysGovernCache->GetProposal(proposalId, pp)){ |
| 31 | auto proposalObject = pp->ToJson(); |
| 32 | vector<CRegID> approvalList; |
| 33 | pCdMan->pSysGovernCache->GetApprovalList(proposalId, approvalList); |
| 34 | |
| 35 | proposalObject.push_back(Pair("approvaled_count", (uint64_t)approvalList.size())); |
| 36 | |
| 37 | Array a; |
| 38 | for ( CRegID i: approvalList) { |
| 39 | a.push_back(i.ToString()); |
| 40 | } |
| 41 | proposalObject.push_back(Pair("approvaled_governors", a)); |
| 42 | |
| 43 | return proposalObject; |
| 44 | |
| 45 | } |
| 46 | return Object(); |
| 47 | } |
| 48 | |
| 49 | Value getswapcoindetail(const Array& params, bool fHelp) { |
| 50 |
nothing calls this directly
no test coverage detected