Changeset View
Changeset View
Standalone View
Standalone View
src/rpc/avalanche.cpp
Show First 20 Lines • Show All 88 Lines • ▼ Show 20 Lines | if (!avalanche::Proof::FromHex(*proof, request.params[2].get_str(), | ||||
throw JSONRPCError(RPC_INVALID_PARAMETER, error.original); | throw JSONRPCError(RPC_INVALID_PARAMETER, error.original); | ||||
} | } | ||||
if (key != proof->getMaster()) { | if (key != proof->getMaster()) { | ||||
// TODO: we want to provide a proper delegation. | // TODO: we want to provide a proper delegation. | ||||
return false; | return false; | ||||
} | } | ||||
if (!g_avalanche->addNode(nodeid, proof, | const avalanche::ProofId &proofid = proof->getId(); | ||||
if (!g_avalanche->getProof(proofid) && !g_avalanche->addProof(proof)) { | |||||
return false; | |||||
} | |||||
if (!g_avalanche->addNode(nodeid, | |||||
avalanche::DelegationBuilder(*proof).build())) { | avalanche::DelegationBuilder(*proof).build())) { | ||||
return false; | return false; | ||||
} | } | ||||
g_avalanche->addUnbroadcastProof(proof->getId()); | g_avalanche->addUnbroadcastProof(proofid); | ||||
return true; | return true; | ||||
} | } | ||||
static UniValue buildavalancheproof(const Config &config, | static UniValue buildavalancheproof(const Config &config, | ||||
const JSONRPCRequest &request) { | const JSONRPCRequest &request) { | ||||
RPCHelpMan{ | RPCHelpMan{ | ||||
"buildavalancheproof", | "buildavalancheproof", | ||||
"Build a proof for avalanche's sybil resistance.\n", | "Build a proof for avalanche's sybil resistance.\n", | ||||
▲ Show 20 Lines • Show All 501 Lines • Show Last 20 Lines |