diff --git a/libethcore/EVMSchedule.h b/libethcore/EVMSchedule.h index f70eddeaf5a..7f024da916e 100644 --- a/libethcore/EVMSchedule.h +++ b/libethcore/EVMSchedule.h @@ -150,6 +150,7 @@ static const EVMSchedule ConstantinopleFixSchedule = [] { static const EVMSchedule IstanbulSchedule = [] { EVMSchedule schedule = ConstantinopleFixSchedule; schedule.accountVersion = 1; + schedule.txDataNonZeroGas = 16; return schedule; }(); diff --git a/test/unittests/libethereum/Transaction.cpp b/test/unittests/libethereum/Transaction.cpp index 95db73accfa..44b5c2c2c97 100644 --- a/test/unittests/libethereum/Transaction.cpp +++ b/test/unittests/libethereum/Transaction.cpp @@ -33,8 +33,10 @@ BOOST_FIXTURE_TEST_SUITE(libethereum, TestOutputHelperFixture) BOOST_AUTO_TEST_CASE(TransactionGasRequired) { + // Transactio data is 0358ac39584bc98a7c979f984b03, 14 bytes Transaction tr(fromHex("0xf86d800182521c94095e7baea6a6c7c4c2dfeb977efac326af552d870a8e0358ac39584bc98a7c979f984b031ba048b55bfa915ac795c431978d8a6a992b628d557da5ff759b307d495a36649353a0efffd310ac743f371de3b9f7f9cb56c0b28ad43601b4ab949f53faa07bd2c804"), CheckTransaction::None); - BOOST_CHECK_EQUAL(tr.baseGasRequired(FrontierSchedule), 21952); + BOOST_CHECK_EQUAL(tr.baseGasRequired(FrontierSchedule), 14 * 68 + 21000); + BOOST_CHECK_EQUAL(tr.baseGasRequired(IstanbulSchedule), 14 * 16 + 21000); } BOOST_AUTO_TEST_CASE(ExecutionResultOutput)