فاز ۲: اشتراکهای EVM (برداشت از allowance)
وضعیت: برنامهریزیشده.
SubscriptionHub با charge(id) عمومی. پرداختکننده یک بار approve(spender, cap) را امضا میکند؛ هاب زمانبندی، سقف، allowance و موجودی را اعمال میکند. keeper جایگزین پردازشگر امانی برداشت خودکار میشود.
محدوده
SubscriptionHubپیادهسازی و حسابرسی شده است.- اپ پرداخت
approveرا به آدرس هاب اشاره میدهد. - API
approve-auto-chargeallowanceهایی را که گیرنده مجوزشان هاب است میپذیرد. - مشترکان فعلی هنگام تمدید بهصورت اختیاری مهاجرت میکنند.
کد درگیر
- 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 مهاجرت کرد و ۱۴ روز پایدار ماند