MCPcopy Create free account
hub / github.com/LUX-Core/lux / loadConfig

Method loadConfig

src/cpp-ethereum/libethereum/ChainParams.cpp:54–78  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

52}
53
54ChainParams ChainParams::loadConfig(string const& _json, h256 const& _stateRoot) const
55{
56 ChainParams cp(*this);
57 js::mValue val;
58 json_spirit::read_string(_json, val);
59 js::mObject obj = val.get_obj();
60
61 cp.sealEngineName = obj["sealEngine"].get_str();
62 // params
63 js::mObject params = obj["params"].get_obj();
64 cp.accountStartNonce = u256(fromBigEndian<u256>(fromHex(params["accountStartNonce"].get_str())));
65 cp.maximumExtraDataSize = u256(fromBigEndian<u256>(fromHex(params["maximumExtraDataSize"].get_str())));
66 cp.tieBreakingGas = params.count("tieBreakingGas") ? params["tieBreakingGas"].get_bool() : true;
67 cp.blockReward = u256(fromBigEndian<u256>(fromHex(params["blockReward"].get_str())));
68 for (auto i: params)
69 if (i.first != "accountStartNonce" && i.first != "maximumExtraDataSize" && i.first != "blockReward" && i.first != "tieBreakingGas")
70 cp.otherParams[i.first] = i.second.get_str();
71 // genesis
72 string genesisStr = json_spirit::write_string(obj["genesis"], false);
73 cp = cp.loadGenesis(genesisStr, _stateRoot);
74 // genesis state
75 string genesisStateStr = json_spirit::write_string(obj["accounts"], false);
76 cp = cp.loadGenesisState(genesisStateStr, _stateRoot);
77 return cp;
78}
79
80ChainParams ChainParams::loadGenesisState(string const& _json, h256 const& _stateRoot) const
81{

Callers 2

setChainParamsMethod · 0.80
main.cppFile · 0.80

Calls 7

get_strMethod · 0.80
loadGenesisMethod · 0.80
loadGenesisStateMethod · 0.80
read_stringFunction · 0.50
write_stringFunction · 0.50
countMethod · 0.45
get_boolMethod · 0.45

Tested by 1

setChainParamsMethod · 0.64