Document chainid and selfbalance.

This commit is contained in:
chriseth
2019-09-19 15:35:37 +02:00
parent 5a950908b6
commit bfc8fd23ac
4 changed files with 37 additions and 2 deletions
+14
View File
@@ -836,6 +836,20 @@ BOOST_AUTO_TEST_CASE(shift_constantinople_warning)
CHECK_PARSE_WARNING("{ pop(sar(10, 32)) }", TypeError, "The \"sar\" instruction is only available for Constantinople-compatible VMs");
}
BOOST_AUTO_TEST_CASE(chainid_instanbul_warning)
{
if (dev::test::Options::get().evmVersion().hasChainID())
return;
CHECK_PARSE_WARNING("{ pop(chainid()) }", TypeError, "The \"chainid\" instruction is only available for Istanbul-compatible VMs");
}
BOOST_AUTO_TEST_CASE(selfbalance_instanbul_warning)
{
if (dev::test::Options::get().evmVersion().hasSelfBalance())
return;
CHECK_PARSE_WARNING("{ pop(selfbalance()) }", TypeError, "The \"selfbalance\" instruction is only available for Istanbul-compatible VMs");
}
BOOST_AUTO_TEST_CASE(jump_warning)
{
CHECK_PARSE_WARNING("{ 1 jump }", Warning, "Jump instructions");
@@ -0,0 +1,15 @@
contract C {
function f() pure external {
assembly {
pop(chainid())
}
}
function g() view external {
assembly {
pop(selfbalance())
}
}
}
// ====
// EVMVersion: >=istanbul
// ----