بررسی دقیق تایع require

تا جایی که من میدونم تابع require برای بررسی شرط هست و یه boolean رو به عنوان پارامتر میگیره. حالا چرا دیدم بعضی جاها یه string هم به عنوان پارامتر دوم میفرستن؟ مثلا:
require(unlocked == 1, ‘UniswapV2: LOCKED’);
الان نقش این ‘UniswapV2: LOCKED’ چیه اینجا؟

متن پیام خطا که به صورت یک ایونت نمایش داده میشه.
به عنوان مثال٫ یک خطای دیگر رو در اینجا میبینید:

1 پسندیده