پوسٹس
avatar

ایک ایسا معاہدہ جو ایک ناکام کال کے بعد بھی جاری رہتا ہے، آج کل یہ بتانے کا کوئی قابل اعتماد طریقہ نہیں رکھتا کہ کیا کالی کارنر نے جان بوجھ کر ریورٹ کیا یا صرف گیس ختم ہو گئی۔ یہ فرق غیر کافی گیس کے غریب کرنے کا بنیادی سبب ہے، اور ایک نئی مسودہ پroposal EVM سطح پر اس فرق کو بند کرنے کی کوشش کرتی ہے۔ EIP-8456، جسے منگل کو Ethereum Magicians پر بحث کے لیے کھولا گیا، ایک ایسا حکم شامل کرتا ہے جسے CALLSTATUS کہا جاتا ہے، جو ابتدائی طور پر 2 گیس پر opcode 0xA5 پر ہوگا۔ یہ موجودہ فریم میں تازہ ترین کال یا create آپریشن کی مکمل حالت کو تین بٹس کے طور پر پوش دیتا ہے۔ بٹ 0 کا مطلب ریورٹ ہے، بٹ 1 کا مطلب ایک استثنائی روک جیسے گیس ختم ہونا ہے، اور بٹ 2 کا مطلب کسی نچلے فریم میں کچھ روک گیا ہے۔ مصنف نے اشارہ کیا ہے کہ آج تک واحد ثبوت gasleft() ارٹھمیٹک ہے، اور ہر repricing فورک نے ان حدود کو توڑ دیا ہے۔ EIP-8037 کا پیشکش شدہ دو بعدی گیس اس ارٹھمیٹک کو مزید کمزور بنائے گا، کیونکہ اس کا ذخیرہ GAS opcode کے ذریعے نظر نہیں آتا۔ تو تینوں بٹ کیوں؟ زیادہ تر حقیقی کالز پروکسز، OpenZeppelin کے functionCall wrapper، Multicall3 یا ERC-1271 سائنچر چیکرز جیسے درمآنی طرفین سے گزرتی ہیں۔ اگر صرف براہ راست کالی کارنر کا اختتام رپورٹ ہوتا، تو ایک wrapper جو گیس ختم ہونے والے روک کو پکڑ لے اور وجہ کے ساتھ ریورٹ کر دے، وہ جان بوجھ کر ریورٹ لگتا۔ مسودہ ایک اسٹکی فلگ رکھتا ہے جو ہر فریم میں اوپر جاتا رہتا ہے، تاکہ صرف گیس پر قابو رکھنے والا بھی اس وقت تک کسی caller کو صرف ریورٹ نہ دکھا سکے۔ اس سے نتائج رپورٹ ہوتے ہیں، نہ کہ وجوہات، اور ایک callee اب بھي INVALID کے ذریعے جان بوجھ کر روک پیدا کر سکتا ہے۔ اس صرف ان کوڈز کو تحفظ فراہم کرتا ہے جو اس کے جاری ہونے کے بعد لکھے جائیں، کیونکہ متعین شدہ معاہدات اسے نہیں پڑھ سکتے۔ ابھی تک باہری جائزے نہیں ہوئے، opcode نمبر اب بھی معمول پر ہے، اور 58 درج معاملات کے لئے اب تک ایک پروٹوٹائپ اور ٹيسٹس منتظر ہيں۔ لنک - https://t.co/KnByUBgWrY

یہ مواد صرف معلوماتی اور تعلیمی مقاصد کے لیے ہے۔ اس میں فریقِ ثالث کے تجزیے، اسپانسر شدہ مواد، یا تشہیری مواد شامل ہو سکتا ہے جس کے لیے تخلیق کار کو معاوضہ مل سکتا ہے۔ اس فیڈ میں موجود کوئی بھی چیز سرمایہ کاری کا مشورہ یا منافع کی ضمانت نہیں ہے۔ آپ اپنے سرمایہ کاری کے فیصلوں کے لیے خود ذمہ دار ہیں۔ تجارت سے پہلے ہمیشہ اپنی تحقیق کریں اور احتیاط برتیں۔ ہم فریقِ ثالث کی معلومات کی درستگی کی ضمانت نہیں دیتے اور کسی بھی نقصان کے ذمہ دار نہیں ہیں۔ ماضی کی کارکردگی مستقبل کے نتائج کی ضمانت نہیں ہے۔ براہ کرم تفصیلات کے لیے ہماری کمیونٹی شرائط اور خطرے کے انکشاف کا بیان ملاحظہ کریں۔

avatarاپنا جواب پوسٹ کریں۔

تبصرہ