پرش به مطلب اصلی

فاز ۲: اشتراک‌های EVM (برداشت از allowance)

وضعیت: برنامه‌ریزی‌شده.

SubscriptionHub با charge(id) عمومی. پرداخت‌کننده یک بار approve(spender, cap) را امضا می‌کند؛ هاب زمان‌بندی، سقف، allowance و موجودی را اعمال می‌کند. keeper جایگزین پردازشگر امانی برداشت خودکار می‌شود.

محدوده​

  • SubscriptionHub پیاده‌سازی و حسابرسی شده است.
  • اپ پرداخت approve را به آدرس هاب اشاره می‌دهد.
  • API ‏approve-auto-charge allowanceهایی را که گیرنده مجوزشان هاب است می‌پذیرد.
  • مشترکان فعلی هنگام تمدید به‌صورت اختیاری مهاجرت می‌کنند.

کد درگیر​

  • api/src/scheduler/processors/subscription-auto-charge.processor.ts: برداشت از طریق SubscriptionHub.charge به جای اسمارت اکانت امانی.
  • اپ pay: مقدار پیکربندی گیرنده مجوز به آدرس هاب تغییر می‌کند.
  • داشبورد: بنر مهاجرت برای اشتراک‌های موجود.
  • جدید: ایندکسر مخصوص اشتراک (از زیرساخت فاز ۱ استفاده مجدد می‌کند).

اثر بر اجرا / تجربه کاربری​

  • پرداخت‌کننده می‌بیند گیرنده مجوز به جای کیف پول داغ یک قرارداد است. مرحله واحد approve آن‌چین تغییری نمی‌کند.
  • لغو از طریق رابط کیف پول انجام می‌شود (approve(0) یا معادل آن)، همان‌طور که برداشت خودکار مستند کرده است.
  • وبهوک‌های پذیرنده در همان لحظه‌ها و با همان ساختار ارسال می‌شوند.
  • رابط جدید: دکمه «انتقال به غیرامانی» در صفحه جزئیات اشتراک.

محدودیت‌های فعلی​

  • allowance باید کافی باشد؛ برداشت‌ها با allowance ناکافی با ChargeSkipped(InsufficientAllowance) ناموفق می‌شوند.
  • تغییر سقف نیاز دارد پرداخت‌کننده دوباره تأیید کند.
  • شناسه اشتراک از نوع bytes32 است و به‌صورت فیلد افزوده در شیء اشتراک ارائه می‌شود.

پست وبلاگ مرتبط​

فاز ۲: اشتراک‌های مبتنی بر برداشت از allowance

چک‌لیست وضعیت​

  • SubscriptionHub با همه ناورداها پیاده‌سازی شد
  • تست‌های fuzz و ناوردا (سقف، allowance، reorg، حالت‌های رد شدن)
  • حسابرسی تکمیلی هاب اعمال شد
  • EOA keeper برای هر زنجیره تأمین و پایش شد
  • اپ پرداخت مقصد approve را به هاب منتقل کرد
  • endpoint ‏approve-auto-charge به‌روز شد
  • بنر داشبورد فعال شد
  • گروه canary مهاجرت کرد و ۱۴ روز پایدار ماند