Ethereum  PoC-8
The C++ Implementation of Ethereum
ValidationSchemes.h
Go to the documentation of this file.
1 /*
2  This file is part of cpp-ethereum.
3 
4  cpp-ethereum is free software: you can redistribute it and/or modify
5  it under the terms of the GNU General Public License as published by
6  the Free Software Foundation, either version 3 of the License, or
7  (at your option) any later version.
8 
9  cpp-ethereum is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  GNU General Public License for more details.
13 
14  You should have received a copy of the GNU General Public License
15  along with cpp-ethereum. If not, see <http://www.gnu.org/licenses/>.
16 */
17 
18 #pragma once
19 
21 #include <string>
22 
23 namespace dev
24 {
25 namespace eth
26 {
27 namespace validation
28 {
29 extern std::string const c_sealEngine;
30 extern std::string const c_params;
31 extern std::string const c_genesis;
32 extern std::string const c_accounts;
33 extern std::string const c_balance;
34 extern std::string const c_wei;
35 extern std::string const c_finney;
36 extern std::string const c_author;
37 extern std::string const c_coinbase;
38 extern std::string const c_nonce;
39 extern std::string const c_gasLimit;
40 extern std::string const c_timestamp;
41 extern std::string const c_difficulty;
42 extern std::string const c_extraData;
43 extern std::string const c_mixHash;
44 extern std::string const c_parentHash;
45 extern std::string const c_precompiled;
46 extern std::string const c_storage;
47 extern std::string const c_code;
48 extern std::string const c_gasUsed;
49 extern std::string const c_codeFromFile;
50 extern std::string const c_shouldnotexist;
51 
52 extern std::string const c_minGasLimit;
53 extern std::string const c_maxGasLimit;
54 extern std::string const c_gasLimitBoundDivisor;
55 extern std::string const c_homesteadForkBlock;
56 extern std::string const c_daoHardforkBlock;
57 extern std::string const c_EIP150ForkBlock;
58 extern std::string const c_EIP158ForkBlock;
59 extern std::string const c_byzantiumForkBlock;
60 extern std::string const c_eWASMForkBlock;
61 extern std::string const c_constantinopleForkBlock;
62 extern std::string const c_experimentalForkBlock;
63 extern std::string const c_accountStartNonce;
64 extern std::string const c_maximumExtraDataSize;
65 extern std::string const c_tieBreakingGas;
66 extern std::string const c_blockReward;
67 extern std::string const c_difficultyBoundDivisor;
68 extern std::string const c_minimumDifficulty;
69 extern std::string const c_durationLimit;
70 extern std::string const c_chainID;
71 extern std::string const c_networkID;
72 extern std::string const c_allowFutureBlocks;
73 
74 // Validate config.json that contains chain params and genesis state
75 void validateConfigJson(json_spirit::mObject const& _obj);
76 
77 // Validate account json object
78 void validateAccountObj(json_spirit::mObject const& _o);
79 
80 // TODO move AccountMaskObj to libtesteth (it is used only in test logic)
81 // Validate accountMask json object. Mask indicates which fields are set
82 void validateAccountMaskObj(json_spirit::mObject const& _o);
83 }
84 }
85 }
Definition: Address.cpp:20
string const c_accountStartNonce
string const c_byzantiumForkBlock
string const c_codeFromFile
A file containg a code as bytes.
string const c_daoHardforkBlock
string const c_gasLimitBoundDivisor
string const c_difficultyBoundDivisor
string const c_maximumExtraDataSize
string const c_EIP150ForkBlock
string const c_experimentalForkBlock
string const c_minimumDifficulty
string const c_EIP158ForkBlock
string const c_homesteadForkBlock
void validateConfigJson(js::mObject const &_obj)
void validateAccountObj(js::mObject const &_obj)
string const c_allowFutureBlocks
string const c_constantinopleForkBlock
void validateAccountMaskObj(js::mObject const &_obj)