تبدو ‎call_with_limit()‎ في ‎Dusk‎ كخيار صغير لاستدعاء عقد، لكنها تغيّر كيفية انتقال موارد التنفيذ بين العقود.
عندما يستدعي عقد ذكي من ‎Dusk‎ عقدًا آخر، لا يتعيّن عليه تسليم أي غاز متبقٍّ عشوائيًا. باستخدام ‎call_with_limit()‎ يمكن للمتصل أن يمنح الاستدعاء الفرعي المحدد ميزانيته الخاصة.
هذا يخلق حدًا أكثر إثارة للاهتمام مما يبدو للوهلة الأولى. لا تزال معاملة ‎Dusk‎ قادرة على امتلاك غاز متاح بينما لا يعود مسموحًا لأي عقد تابع أن ينفق المزيد منه. ويبدو الأمر جديرًا بالملاحظة بينما تدفع ‎Dusk‎ لإحضار الأسواق المالية على السلسلة باستخدام مؤسسات مرخّصة من الاتحاد الأوروبي، حيث تحتاج استدعاءات العقود المكوّنة إلى حدود تنفيذ يمكن التنبؤ بها. ما لا أعرفه بعد هو إن كانت هذه الطريقة تمنح عقود ‎Dusk‎ وسيلة ذات معنى لعزل موارد التنفيذ، أم أنها ببساطة تنقل مخاطر نفاد الغاز من مستوى المعاملة إلى حدود استدعاءات فرعية يحددها المتصل.
التفاصيل التي تستحق المتابعة هي الحد الذي تحصل عليه كل مكالمة، ماذا يحدث عندما ينفد العقد المستدعى (callee) تلك الحصة فقط، وما إذا كان المتصل يمكنه الاستمرار باستخدام الغاز المتبقي.
يشير حد غاز المعاملة المرتفع إلى مقدار ميزانية التنفيذ الموجودة إجمالًا. لكنه يخبرنا أقل بكثير عن مدى تقسيم تلك الميزانية بأمان عبر سلسلة من استدعاءات العقود.
الأكثر فائدة هو ما إذا كانت الاستدعاءات الفرعية المحدودة تفشل بشكل يمكن التنبؤ به دون زعزعة استقرار بقية مسار التنفيذ.
لأهتم بعزل هذا المورد أكثر من اهتمامي بالعنوان الكبير لحد غاز المعاملة.
السؤال هو ما إذا كانت ‎Dusk‎ تنشئ حدًا فعليًا للتنفيذ بين العقود، أم أنها تضيف مجرد موضعًا آخر يمكن للمعاملة المكوّنة أن تنفد فيه من الموارد.
أنا أراقب كيفية ضبط عقود ‎Dusk‎ الحقيقية لهذه الحدود وما الذي يحدث عندما ينفد الاستدعاء المحدود من حصته.

#dusk $DUSK @Dusk