Lewati ke konten utama

Perhitungan Shares

Shares adalah representasi proporsional dari kepemilikan pengguna terhadap total aset di dalam Vault. Rumusnya:

sharesToMint = (amount * totalShares) / totalTokenBalance

Kasus Pertama (Vault Kosong)

Jika totalShares == 0 atau totalTokenBalance == 0, ini adalah deposit pertama. Shares yang diberikan sama dengan amount yang disetorkan (rasio 1:1). Ini menetapkan nilai awal shares.

Kasus Selanjutnya

Rumus proporsional digunakan. Contoh:

  • Vault memiliki 1000 MTK dan 1000 shares.
  • Alice deposit 500 MTK.
  • Shares yang diterima Alice: (500 * 1000) / 1000 = 500 shares.
  • Total shares sekarang: 1500, total token: 1500 MTK.

Skenario dengan yield (misalnya Vault sudah menghasilkan reward):

  • Vault memiliki 1200 MTK (karena ada yield 200 MTK) dan masih 1000 shares.
  • Bob deposit 600 MTK.
  • Shares yang diterima Bob: (600 * 1000) / 1200 = 500 shares.
  • Total shares: 1500, total token: 1800 MTK.
  • Nilai per share Bob saat ini: 1800 / 1500 = 1.2 MTK per share.

Ketika Bob withdraw 500 shares: (500 * 1800) / 1500 = 600 MTK — dia mendapat kembali persis yang dia deposit karena dia masuk setelah yield terjadi.