Skip to content

Commit dc76275

Browse files
committed
Merge remote-tracking branch 'upstream/forks/prague' into prague-release-prep
2 parents 6023917 + 891a888 commit dc76275

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

src/ethereum/prague/transactions.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -344,14 +344,20 @@ def recover_sender(chain_id: U64, tx: Transaction) -> Address:
344344
signing_hash_155(tx, chain_id),
345345
)
346346
elif isinstance(tx, AccessListTransaction):
347+
if tx.y_parity not in (U256(0), U256(1)):
348+
raise InvalidSignatureError("bad y_parity")
347349
public_key = secp256k1_recover(
348350
r, s, tx.y_parity, signing_hash_2930(tx)
349351
)
350352
elif isinstance(tx, FeeMarketTransaction):
353+
if tx.y_parity not in (U256(0), U256(1)):
354+
raise InvalidSignatureError("bad y_parity")
351355
public_key = secp256k1_recover(
352356
r, s, tx.y_parity, signing_hash_1559(tx)
353357
)
354358
elif isinstance(tx, BlobTransaction):
359+
if tx.y_parity not in (U256(0), U256(1)):
360+
raise InvalidSignatureError("bad y_parity")
355361
public_key = secp256k1_recover(
356362
r, s, tx.y_parity, signing_hash_4844(tx)
357363
)

0 commit comments

Comments
 (0)