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