فاز ۱: قراردادهای لینک پرداخت EVM
وضعیت: برنامهریزیشده.
جایگزینی کیف پولهای واریز مشتق از HD با PaymentLinkFactory (CREATE2) + PaymentLinkReceiver (کلون EIP-1167) + FeeSplitter روی Base.
محدوده
PaymentLinkFactory،PaymentLinkReceiverوFeeSplitterپیادهسازی و حسابرسی شدهاند.- آدرس قطعی CREATE2 پیش از هر استقراری به پرداختکننده نمایش داده میشود.
- ایندکسر رویداد
Paidوبهوکهای موجود را بدون تغییر منتشر میکند. - feature flag
useOnChainReceiverبرای هر chain id.
کد درگیر
- api/src/payments/wallet.service.ts: شاخه EVM در
getOrCreateAddressForPaymentLink. - api/src/withdrawals/services/smart-account-wallet.service.ts: برای زنجیرههای علامتخورده
drainSmartAccountWalletدور زده میشود. - جدید:
api/src/payments/indexer/evm-paid-event.service.ts. - جدید:
contracts/evm/(Foundry).
اثر بر اجرا / تجربه کاربری
- رابط پرداختکننده تغییری نمیکند. همان قالب آدرس (آدرس CREATE2 پیش از استقرار).
- ساختار وبهوکهای پذیرنده تغییری نمیکند؛ رویدادهای غیرامانی پرچم اختیاری
non_custodial: trueرا اضافه میکنند. - داشبورد برای هر لینک نشان «غیرامانی» اضافه میکند.
محدودیتهای فعلی
- توکنهای دارای کارمزد انتقال به مسیر قدیمی برمیگردند (با کنترل فهرست مجاز).
- توکنهای خارج از فهرست مجاز به مسیر قدیمی برمیگردند.
- بازپرداخت محدود به EOA keeper یا مولتیسیگ است (مثل امروز).
پست وبلاگ مرتبط
فاز ۱: لینکهای پرداخت مبتنی بر قرارداد روی EVM
چکلیست وضعیت
- پروژه Foundry ساخته شد
- قراردادها با تستهای fuzz و ناوردا پیادهسازی شدند
- تستهای fork برای USDT / ERC-20 غیراستاندارد موفقاند
- feature flag
useOnChainReceiverمتصل شد - ایندکسر
evm-paid-event.service.tsمنتشر شد - حسابرسی با اعمال اصلاحات کامل شد
- استقرار روی mainnet شبکه Base از مولتیسیگ Safe
- گروه canary به مدت ۱۴ روز بدون مشکل