27
27
#include < cstdint>
28
28
#include < optional>
29
29
#include < string>
30
- #include < vector>
31
30
32
31
33
32
namespace solidity ::evmasm
@@ -50,23 +49,23 @@ class EVMVersion
50
49
51
50
static EVMVersion current () { return {currentVersion}; }
52
51
53
- static EVMVersion homestead () { return {Version::Homestead}; }
54
- static EVMVersion tangerineWhistle () { return {Version::TangerineWhistle}; }
55
- static EVMVersion spuriousDragon () { return {Version::SpuriousDragon}; }
56
- static EVMVersion byzantium () { return {Version::Byzantium}; }
57
- static EVMVersion constantinople () { return {Version::Constantinople}; }
58
- static EVMVersion petersburg () { return {Version::Petersburg}; }
59
- static EVMVersion istanbul () { return {Version::Istanbul}; }
60
- static EVMVersion berlin () { return {Version::Berlin}; }
61
- static EVMVersion london () { return {Version::London}; }
62
- static EVMVersion paris () { return {Version::Paris}; }
63
- static EVMVersion shanghai () { return {Version::Shanghai}; }
64
- static EVMVersion cancun () { return {Version::Cancun}; }
65
- static EVMVersion prague () { return {Version::Prague}; }
66
- static EVMVersion osaka () { return {Version::Osaka}; }
67
-
68
- static std::vector<EVMVersion> allVersions () {
69
- return {
52
+ static EVMVersion constexpr homestead () { return {Version::Homestead}; }
53
+ static EVMVersion constexpr tangerineWhistle () { return {Version::TangerineWhistle}; }
54
+ static EVMVersion constexpr spuriousDragon () { return {Version::SpuriousDragon}; }
55
+ static EVMVersion constexpr byzantium () { return {Version::Byzantium}; }
56
+ static EVMVersion constexpr constantinople () { return {Version::Constantinople}; }
57
+ static EVMVersion constexpr petersburg () { return {Version::Petersburg}; }
58
+ static EVMVersion constexpr istanbul () { return {Version::Istanbul}; }
59
+ static EVMVersion constexpr berlin () { return {Version::Berlin}; }
60
+ static EVMVersion constexpr london () { return {Version::London}; }
61
+ static EVMVersion constexpr paris () { return {Version::Paris}; }
62
+ static EVMVersion constexpr shanghai () { return {Version::Shanghai}; }
63
+ static EVMVersion constexpr cancun () { return {Version::Cancun}; }
64
+ static EVMVersion constexpr prague () { return {Version::Prague}; }
65
+ static EVMVersion constexpr osaka () { return {Version::Osaka}; }
66
+
67
+ static auto constexpr allVersions () {
68
+ return std::array {
70
69
homestead (),
71
70
tangerineWhistle (),
72
71
spuriousDragon (),
@@ -172,7 +171,7 @@ class EVMVersion
172
171
};
173
172
static auto constexpr currentVersion = Version::Cancun;
174
173
175
- EVMVersion (Version _version): m_version(_version) {}
174
+ constexpr EVMVersion (Version _version): m_version(_version) {}
176
175
177
176
Version m_version = currentVersion;
178
177
};
0 commit comments