Fix access list for EIP1559 transactions (#34480)

This commit is contained in:
Anton Paymyshev
2026-03-06 11:35:18 +07:00
committed by GitHub
parent bba0efea11
commit d9643c44d9
3 changed files with 3 additions and 25 deletions
@@ -269,6 +269,7 @@ std::optional<Eip1559Transaction> Eip1559Transaction::FromValue(
tx.v_ = tx_2930->v();
tx.r_ = tx_2930->r();
tx.s_ = tx_2930->s();
tx.access_list_ = std::move(*tx_2930->access_list());
return tx;
}
@@ -28,23 +28,6 @@ Eip2930Transaction::AccessListItem::~AccessListItem() = default;
Eip2930Transaction::AccessListItem::AccessListItem(const AccessListItem&) =
default;
bool Eip2930Transaction::AccessListItem::operator==(
const AccessListItem& item) const {
if (!std::equal(address.begin(), address.end(), item.address.begin())) {
return false;
}
if (storage_keys.size() != item.storage_keys.size()) {
return false;
}
for (size_t i = 0; i < storage_keys.size(); ++i) {
if (!std::equal(storage_keys[i].begin(), storage_keys[i].end(),
item.storage_keys[i].begin())) {
return false;
}
}
return true;
}
Eip2930Transaction::Eip2930Transaction(const Eip2930Transaction&) = default;
Eip2930Transaction::Eip2930Transaction(
std::optional<uint256_t> nonce,
@@ -63,12 +46,6 @@ Eip2930Transaction::Eip2930Transaction() : chain_id_(0) {
}
Eip2930Transaction::~Eip2930Transaction() = default;
bool Eip2930Transaction::operator==(const Eip2930Transaction& tx) const {
return EthTransaction::operator==(tx) && chain_id_ == tx.chain_id_ &&
std::equal(access_list_.begin(), access_list_.end(),
tx.access_list_.begin());
}
// static
std::optional<Eip2930Transaction> Eip2930Transaction::FromTxData(
const mojom::TxDataPtr& tx_data,
@@ -23,7 +23,7 @@ class Eip2930Transaction : public EthTransaction {
AccessListItem();
~AccessListItem();
AccessListItem(const AccessListItem&);
bool operator==(const AccessListItem&) const;
bool operator==(const AccessListItem&) const = default;
AccessedAddress address;
std::vector<AccessedStorageKey> storage_keys;
@@ -34,7 +34,7 @@ class Eip2930Transaction : public EthTransaction {
Eip2930Transaction();
Eip2930Transaction(const Eip2930Transaction&);
~Eip2930Transaction() override;
bool operator==(const Eip2930Transaction&) const;
bool operator==(const Eip2930Transaction&) const = default;
static std::optional<Eip2930Transaction> FromTxData(const mojom::TxDataPtr&,
uint256_t chain_id,