يتطلب التعامل مع الأصول الرقمية التمييز بين الملكية والوصول المصرّح به. وبالنسبة إلى رموز ERC-20، يتمثل هذان المفهومان في رصيدك وحدّ الصلاحية. يحدّد الرصيد عدد الرموز المسجّل لمحفظتك. أما حدّ الصلاحية، فيمثّل إذنًا منفصلًا تمنحه لجهة إنفاق معيّنة كي تنقل نيابةً عنك كمية محددة من تلك الرموز.
قد تتطلب العقود الذكية موافقةً للسماح لها باستخدام أصولك. إن تنفيذ معاملة موافقة لا ينقل الرموز بحد ذاته من محفظتك، بل يعدّل عقد الرمز لإنشاء حدّ للصلاحية أو تغييره، ويُبيّن للجهة التي منحتها الموافقة عدد الرموز التي يمكنها الوصول إليها. وتختلف الموافقة عن التحويل، الذي ينقل الأصول فعليًا.
بعد تعيين حدّ للإنفاق، يمكن للجهة المنفقة المفوّضة بدء نقل الأصول باستخدام آلية تُسمّى transferFrom. يتحقق عقد الرمز من الرصيد وحدّ الإنفاق المعنيين قبل تنفيذ المعاملة. ويجب ألا يتجاوز المبلغ المطلوب رصيد المحفظة المتاح أو حدّ الإنفاق المعتمَد. وإذا لم يكن أيّ من الحدّين كافيًا، تفشل محاولة النقل.
يقتصر كل تفويض على عقد رمز معيّن وجهة إنفاق معيّنة. لا يمنح السماح بإنفاق أصل واحد من أصول ERC-20 إمكانية الوصول إلى رموز مختلفة مسجّلة لدى عقود رموز أخرى في المحفظة نفسها. فهذا ليس تفويضًا شاملًا لمحفظة الأصول. كما لا تنطبق الموافقات على العملات الأصلية للبلوك تشين.
لا تكشف مراقبة رصيد المحفظة عن الجهات المنفقة التي لديها إذن بنقل الرموز. ولأن الموافقة تغيّر بيانات الأذونات بدلًا من تغيير رصيد الرموز فورًا، قد تحتفظ المحفظة برصيدها المسجّل بينما لا تزال لدى جهة منفقة صلاحية غير مستخدمة لنقل الرموز. لذلك، لا يوضّح الرصيد وحده أذونات الجهات المنفقة. ويتطلب تحديد حدود الإنفاق فحص بيانات عقد الرمز المعني.
يمكن تغيير حدّ الإنفاق عبر إرسال موافقة جديدة لعقد الرمز والجهة المنفقة المعنيين. يؤدي ضبط حدّ الإنفاق على صفر إلى منع تلك الجهة من استخدامه لإجراء عمليات نقل لاحقة للرموز، وذلك بحسب سلوك عقد الرمز. يؤثر تغيير حدّ الإنفاق في الإجراءات اللاحقة، لكنه لا يعكس التحويلات التي أتمّتها الجهة المنفقة بالفعل.
