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_constantinopleFixForkBlock;
63 extern std::string const c_experimentalForkBlock;
64 extern std::string const c_accountStartNonce;
65 extern std::string const c_maximumExtraDataSize;
66 extern std::string const c_tieBreakingGas;
67 extern std::string const c_blockReward;
68 extern std::string const c_difficultyBoundDivisor;
69 extern std::string const c_minimumDifficulty;
70 extern std::string const c_durationLimit;
71 extern std::string const c_chainID;
72 extern std::string const c_networkID;
73 extern std::string const c_allowFutureBlocks;
74 
75 // Validate config.json that contains chain params and genesis state
76 void validateConfigJson(json_spirit::mObject const& _obj);
77 
78 // Validate account json object
79 void validateAccountObj(json_spirit::mObject const& _o);
80 
81 // TODO move AccountMaskObj to libtesteth (it is used only in test logic)
82 // Validate accountMask json object. Mask indicates which fields are set
83 void validateAccountMaskObj(json_spirit::mObject const& _o);
84 }
85 }
86 }
dev::eth::validation::c_networkID
string const c_networkID
Definition: ValidationSchemes.cpp:73
dev::eth::validation::c_allowFutureBlocks
string const c_allowFutureBlocks
Definition: ValidationSchemes.cpp:74
dev::eth::validation::c_minGasLimit
string const c_minGasLimit
Definition: ValidationSchemes.cpp:53
dev::eth::validation::c_maximumExtraDataSize
string const c_maximumExtraDataSize
Definition: ValidationSchemes.cpp:66
dev::eth::validation::c_finney
string const c_finney
Definition: ValidationSchemes.cpp:36
dev::eth::validation::c_experimentalForkBlock
string const c_experimentalForkBlock
Definition: ValidationSchemes.cpp:64
dev::eth::validation::c_extraData
string const c_extraData
Definition: ValidationSchemes.cpp:43
dev::eth::validation::c_parentHash
string const c_parentHash
Definition: ValidationSchemes.cpp:45
dev::eth::validation::c_codeFromFile
string const c_codeFromFile
A file containg a code as bytes.
Definition: ValidationSchemes.cpp:50
dev::eth::validation::c_genesis
string const c_genesis
Definition: ValidationSchemes.cpp:32
JsonSpiritHeaders.h
dev::eth::validation::c_wei
string const c_wei
Definition: ValidationSchemes.cpp:35
dev::eth::validation::c_accounts
string const c_accounts
Definition: ValidationSchemes.cpp:33
dev::eth::validation::c_storage
string const c_storage
Definition: ValidationSchemes.cpp:48
dev::eth::validation::c_constantinopleFixForkBlock
string const c_constantinopleFixForkBlock
Definition: ValidationSchemes.cpp:63
dev::eth::validation::c_params
string const c_params
Definition: ValidationSchemes.cpp:31
dev::eth::validation::c_durationLimit
string const c_durationLimit
Definition: ValidationSchemes.cpp:71
dev::eth::validation::c_byzantiumForkBlock
string const c_byzantiumForkBlock
Definition: ValidationSchemes.cpp:60
dev::eth::validation::c_shouldnotexist
string const c_shouldnotexist
Definition: ValidationSchemes.cpp:51
dev::eth::validation::c_sealEngine
string const c_sealEngine
Definition: ValidationSchemes.cpp:30
dev::eth::validation::c_constantinopleForkBlock
string const c_constantinopleForkBlock
Definition: ValidationSchemes.cpp:62
dev::eth::validation::c_gasLimitBoundDivisor
string const c_gasLimitBoundDivisor
Definition: ValidationSchemes.cpp:55
dev::eth::validation::c_maxGasLimit
string const c_maxGasLimit
Definition: ValidationSchemes.cpp:54
dev::eth::validation::c_gasLimit
string const c_gasLimit
Definition: ValidationSchemes.cpp:40
dev::eth::validation::validateConfigJson
void validateConfigJson(js::mObject const &_obj)
Definition: ValidationSchemes.cpp:76
dev::eth::validation::c_mixHash
string const c_mixHash
Definition: ValidationSchemes.cpp:44
dev::eth::validation::validateAccountMaskObj
void validateAccountMaskObj(js::mObject const &_obj)
Definition: ValidationSchemes.cpp:99
dev::eth::validation::c_nonce
string const c_nonce
Definition: ValidationSchemes.cpp:39
dev::eth::validation::c_tieBreakingGas
string const c_tieBreakingGas
Definition: ValidationSchemes.cpp:67
dev::eth::validation::c_balance
string const c_balance
Definition: ValidationSchemes.cpp:34
dev::eth::validation::c_EIP158ForkBlock
string const c_EIP158ForkBlock
Definition: ValidationSchemes.cpp:59
dev::eth::validation::c_precompiled
string const c_precompiled
Definition: ValidationSchemes.cpp:46
dev::eth::validation::c_EIP150ForkBlock
string const c_EIP150ForkBlock
Definition: ValidationSchemes.cpp:58
dev::eth::validation::validateAccountObj
void validateAccountObj(js::mObject const &_obj)
Definition: ValidationSchemes.cpp:112
dev::eth::validation::c_gasUsed
string const c_gasUsed
Definition: ValidationSchemes.cpp:49
dev::eth::validation::c_minimumDifficulty
string const c_minimumDifficulty
Definition: ValidationSchemes.cpp:70
dev::eth::validation::c_daoHardforkBlock
string const c_daoHardforkBlock
Definition: ValidationSchemes.cpp:57
dev::eth::validation::c_blockReward
string const c_blockReward
Definition: ValidationSchemes.cpp:68
dev::eth::validation::c_accountStartNonce
string const c_accountStartNonce
Definition: ValidationSchemes.cpp:65
dev
Definition: Address.cpp:21
dev::eth::validation::c_eWASMForkBlock
string const c_eWASMForkBlock
Definition: ValidationSchemes.cpp:61
dev::eth::validation::c_code
string const c_code
Definition: ValidationSchemes.cpp:47
dev::eth::validation::c_author
string const c_author
Definition: ValidationSchemes.cpp:37
dev::eth::validation::c_coinbase
string const c_coinbase
Definition: ValidationSchemes.cpp:38
dev::eth::validation::c_chainID
string const c_chainID
Definition: ValidationSchemes.cpp:72
dev::eth::validation::c_difficulty
string const c_difficulty
Definition: ValidationSchemes.cpp:42
dev::eth::validation::c_homesteadForkBlock
string const c_homesteadForkBlock
Definition: ValidationSchemes.cpp:56
dev::eth::validation::c_difficultyBoundDivisor
string const c_difficultyBoundDivisor
Definition: ValidationSchemes.cpp:69
dev::eth::validation::c_timestamp
string const c_timestamp
Definition: ValidationSchemes.cpp:41