آزمایشگاه پیاده‌سازی

چالش حسابداری سهم‌های BakerFi

حسابداری دارایی و سهم در BakerFi را بررسی کنید و با نوشتن یک تست Foundry نشان دهید آیا اقدامات یک کاربر می‌تواند به‌صورت ناعادلانه بر سپرده‌گذار بعدی اثر بگذارد یا نه.

آنچه تمرین خواهید کرد

  • بررسی اثر تغییرات totalAssets() بر تبدیل دارایی به سهم در deposit()

  • مدل‌سازی چند کاربر و مقایسه سهم‌ها، دارایی‌های سپرده‌شده و نتایج برداشت آن‌ها

  • نوشتن یک تست Foundry برای اثبات یا رد شرط امنیتی حسابداری مطرح‌شده در Lab

آمادگی و تکمیل

پیش از شروع این Lab، بخش Learn مربوط به BakerFi Leveraged Vault را کامل کنید.

باید این مفاهیم را درک کرده باشید:

  • نقش Strategy.deployed() در محاسبه totalAssets()
  • تبدیل دارایی به سهم با RebaseLibrary.toBase()
  • نحوه محاسبه سهم‌های جدید در deposit()
  • نحوه تبدیل سهم به دارایی در withdraw()
  • رفتار تقسیم صحیح Solidity در نتایج اعشاری

ریپازیتوری شامل مدل آسیب‌پذیر خزانه، قراردادهای کمکی و یک فایل تست Foundry قابل‌ویرایش برای کاربر است.

نتیجه تکمیل

برای تکمیل Lab باید یک تست Foundry موفق بنویسید که وضعیت حسابداری موردنظر را ایجاد کند و نشان دهد آیا یک کاربر می‌تواند نسبت به دارایی واردشده توسط کاربر دیگر، ادعایی نامتناسب به دست آورد یا خیر.