22 namespace js = json_spirit;
79 {{
c_sealEngine, {{js::str_type}, JsonFieldPresence::Required}},
80 {
c_params, {{js::obj_type}, JsonFieldPresence::Required}},
81 {
c_genesis, {{js::obj_type}, JsonFieldPresence::Required}},
82 {
c_accounts, {{js::obj_type}, JsonFieldPresence::Required}}});
85 {{c_author, {{js::str_type}, JsonFieldPresence::Required}},
86 {c_nonce, {{js::str_type}, JsonFieldPresence::Required}},
87 {
c_gasLimit, {{js::str_type}, JsonFieldPresence::Required}},
88 {
c_timestamp, {{js::str_type}, JsonFieldPresence::Required}},
89 {
c_difficulty, {{js::str_type}, JsonFieldPresence::Required}},
90 {
c_extraData, {{js::str_type}, JsonFieldPresence::Required}},
91 {
c_mixHash, {{js::str_type}, JsonFieldPresence::Required}},
92 {
c_parentHash, {{js::str_type}, JsonFieldPresence::Optional}}});
94 js::mObject
const& accounts = _obj.at(
c_accounts).get_obj();
95 for (
auto const& acc : accounts)
103 {{
c_storage, {{js::obj_type}, JsonFieldPresence::Optional}},
104 {
c_balance, {{js::str_type}, JsonFieldPresence::Optional}},
105 {
c_nonce, {{js::str_type}, JsonFieldPresence::Optional}},
106 {
c_code, {{js::str_type}, JsonFieldPresence::Optional}},
107 {
c_precompiled, {{js::obj_type}, JsonFieldPresence::Optional}},
109 {
c_wei, {{js::str_type}, JsonFieldPresence::Optional}}});
118 {{
c_precompiled, {{js::obj_type}, JsonFieldPresence::Required}},
119 {
c_wei, {{js::str_type}, JsonFieldPresence::Optional}},
120 {
c_balance, {{js::str_type}, JsonFieldPresence::Optional}}});
126 {{
c_code, {{js::str_type}, JsonFieldPresence::Optional}},
127 {
c_nonce, {{js::str_type}, JsonFieldPresence::Optional}},
128 {
c_storage, {{js::obj_type}, JsonFieldPresence::Optional}},
129 {
c_balance, {{js::str_type}, JsonFieldPresence::Optional}},
130 {
c_wei, {{js::str_type}, JsonFieldPresence::Optional}},
131 {
c_codeFromFile, {{js::str_type}, JsonFieldPresence::Optional}}});
137 "Error in validateAccountObj: At least one field must be set (code, nonce, "
138 "storage, balance, wei, codeFromFile)!";
146 "Error in validateAccountObj: field 'code' contradicts field 'codeFromFile'!";
154 string comment =
"Error in validateAccountObj: field 'balance' contradicts field 'wei'!";