إنتقل إلى المحتوى الرئيسي

نظرة عامة على عدم الاحتجاز

تنتقل OrcaRail من نموذج احتجازي قائم على التجميع (محفظة HD على الخادم لكل رابط دفع، تُجمَّع أموالها وتُقسَّم بعد رصدها) إلى نموذج عقود غير احتجازي (تصل الأموال إلى عقد ذكي خاص بكل رابط يقسّمها ذريًا، وتسحب الاشتراكات من allowance يتحكم فيه الدافع). هذا القسم هو المرجع الأساسي لهذا الانتقال.

الإعلان السردي موجود في /blog/non-custodial-roadmap. هذه الصفحة هي نقطة الدخول الثابتة؛ وتشير منشورات المراحل وصفحات التوثيق إليها.

من يتأثر بذلك​

  • التجار: لا تتغير واجهة API لديك. تحتفظ روابط الدفع والـ webhooks وكائنات الاشتراك بشكلها. ما يتغير في الخلفية هو مكان وجود الأموال أثناء انتقالها.
  • الدافعون: المدفوعات لمرة واحدة متطابقة. تحتفظ الاشتراكات بعملية approve واحدة على السلسلة (EVM) أو بتفويض SPL ‏(Solana)، لكن الجهة المخوّلة بالإنفاق تصبح عقدًا ذكيًا قابلًا للتدقيق بدلًا من محفظة ساخنة لـ OrcaRail.
  • المطوّرون المدمِجون: حقول إضافية فقط (عناوين العقود وبيانات الـ allowance الوصفية). لا يُزال أي شيء قائم دون فترة إهمال.

بيان المشكلة​

في النظام الحالي، يحصل كل رابط دفع على EOA مشتق من HD أو على smart account من Alchemy. تصل الإيداعات إليه، ثم يجمعها keeper في api/src/withdrawals/ وينفّذ التقسيم بين التاجر والمنصة والإحالة. يحتفظ الـ keeper بمواد المفاتيح (عبارة mnemonic مشفّرة في hd_wallet_seed) وبالأموال قيد الانتقال.

نافذة الاحتجاز هذه هي المشكلة. إزالتها مكسب أمني، وتبسيط للامتثال، ومكسب تشغيلي (لا مزيد من رسوم غاز التجميع، ولا مفتاح تشفير mnemonic يجب حمايته).

الحالة المستهدفة​

  • EVM: يحسب PaymentLinkFactory عنوان CREATE2 لكل رابط؛ وتقبل نسخ PaymentLinkReceiver الأموال وتقسّمها ذريًا عبر FeeSplitter. تعمل الاشتراكات على SubscriptionHub باستخدام approve في ERC-20.
  • Solana: يملك برنامج Anchor ‏payment_link حساب PDA لكل رابط؛ ويسحب برنامج subscription عبر صلاحية تفويض SPL.
  • Bitcoin: توقيع متعدد taproot من نوع 2 من 2 لكل رابط مع موقّع من التاجر ومعاملات PSBT للاسترداد موقّعة مسبقًا. المدفوعات المتكررة بـ BTC خارج النطاق حتى ينضج Lightning BOLT12.
  • Keeper: نقاط دخول charge() عامة؛ NestJS أساسي، وChainlink Automation أو Gelato احتياطي؛ وAVS اختياري على EigenLayer إن احتجنا إليه يومًا.

راجع البنية للمخطط الكامل.

مسار القراءة​

حالة المراحل (ملخص)​

القائمة الكاملة للمراحل وحالاتها في خارطة الطريق. فهرس سريع: