def METHOD_NAME(txn_fixture, transaction_class):
    key = keys.PrivateKey(decode_hex(txn_fixture["key"]))
    unsigned_txn = transaction_class.create_unsigned_transaction(
        nonce=txn_fixture["nonce"],
        gas_price=txn_fixture["gasPrice"],
        gas=txn_fixture["gas"],
        to=(to_canonical_address(txn_fixture["to"]) if txn_fixture["to"] else b""),
        value=txn_fixture["value"],
        data=decode_hex(txn_fixture["data"]),
    )
    signed_txn = unsigned_txn.as_signed_transaction(key)
    assert is_same_address(signed_txn.sender, key.public_key.to_canonical_address())