mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Merge pull request #14126 from ethereum/warm-coinbase
EVMHost: Support warm coinbase
This commit is contained in:
commit
6d847e4e57
@ -353,14 +353,19 @@ evmc::Result EVMHost::call(evmc_message const& _message) noexcept
|
|||||||
transfer(sender, destination, value);
|
transfer(sender, destination, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Populate the access access list.
|
// Populate the access access list (enabled since Berlin).
|
||||||
// Note, this will also properly touch the created address.
|
// Note, this will also properly touch the created address.
|
||||||
// TODO: support a user supplied access list too
|
// TODO: support a user supplied access list too
|
||||||
if (m_evmRevision >= EVMC_BERLIN)
|
if (m_evmRevision >= EVMC_BERLIN)
|
||||||
{
|
{
|
||||||
access_account(message.sender);
|
access_account(message.sender);
|
||||||
access_account(message.recipient);
|
access_account(message.recipient);
|
||||||
|
|
||||||
|
// EIP-3651 rule
|
||||||
|
if (m_evmRevision >= EVMC_SHANGHAI)
|
||||||
|
access_account(tx_context.block_coinbase);
|
||||||
}
|
}
|
||||||
|
|
||||||
evmc::Result result = m_vm.execute(*this, m_evmRevision, message, code.data(), code.size());
|
evmc::Result result = m_vm.execute(*this, m_evmRevision, message, code.data(), code.size());
|
||||||
|
|
||||||
if (message.kind == EVMC_CREATE || message.kind == EVMC_CREATE2)
|
if (message.kind == EVMC_CREATE || message.kind == EVMC_CREATE2)
|
||||||
|
Loading…
Reference in New Issue
Block a user