مرکزی مواد پر جائیں
Change page

⁦ERC-4626⁩ ٹوکنائزڈ تجوری کا معیار

تعارف

ERC-4626 منافع بخش تجوریوں کے تکنیکی پیرامیٹرز کو بہتر اور متحد کرنے کا ایک معیار ہے۔ یہ ٹوکنائزڈ منافع بخش تجوریوں کے لیے ایک معیاری API فراہم کرتا ہے جو ایک واحد بنیادی ERC-20 ٹوکن کے حصص کی نمائندگی کرتی ہیں۔ ERC-4626 ERC-20 کا استعمال کرتے ہوئے ٹوکنائزڈ تجوریوں کے لیے ایک اختیاری توسیع کا خاکہ بھی پیش کرتا ہے، جو ٹوکن جمع کرنے، انخلا کرنے اور بیلنس پڑھنے کے لیے بنیادی فعالیت پیش کرتا ہے۔

منافع بخش تجوریوں میں ERC-4626 کا کردار

قرض دینے کی مارکیٹیں، ایگریگیٹرز، اور اندرونی طور پر سود والے ٹوکن مختلف حکمت عملیوں پر عمل کر کے صارفین کو ان کے کرپٹو ٹوکنز پر بہترین منافع تلاش کرنے میں مدد کرتے ہیں۔ یہ حکمت عملیاں معمولی تبدیلی کے ساتھ کی جاتی ہیں، جو غلطیوں کا شکار ہو سکتی ہیں یا ترقیاتی وسائل کو ضائع کر سکتی ہیں۔

منافع بخش تجوریوں میں ERC-4626 انضمام کی کوشش کو کم کرے گا اور زیادہ مستقل اور مضبوط نفاذ کے نمونے بنا کر ڈیولپرز کی جانب سے کم خصوصی کوشش کے ساتھ مختلف ایپلی کیشنز میں منافع تک رسائی کو کھولے گا۔

ERC-4626 ٹوکن کو EIP-4626 (opens in a new tab) میں مکمل طور پر بیان کیا گیا ہے۔

غیر مطابقت پذیر تجوری کی توسیع (ERC-7540)

ERC-4626 کو ایک حد تک ایٹمی ڈپازٹس اور چھٹکارے (redemptions) کے لیے بہتر بنایا گیا ہے۔ اگر حد پوری ہو جائے تو کوئی نیا ڈپازٹ یا چھٹکارا جمع نہیں کیا جا سکتا۔ یہ حد کسی بھی سمارٹ کنٹریکٹ سسٹم کے لیے اچھی طرح کام نہیں کرتی جس میں غیر مطابقت پذیر (asynchronous) کارروائیاں یا تاخیر تجوری کے ساتھ انٹرفیس کرنے کے لیے شرط کے طور پر شامل ہوں (جیسے، حقیقی دنیا کے اثاثہ پروٹوکولز، کم ضمانت والے قرض دینے کے پروٹوکولز، کراس چین قرض دینے کے پروٹوکولز، سیال اسٹیکنگ ٹوکنز (lsts)، یا انشورنس سیفٹی ماڈیولز)۔

ERC-7540 غیر مطابقت پذیر استعمال کے معاملات کے لیے ERC-4626 تجوریوں کی افادیت کو بڑھاتا ہے۔ موجودہ تجوری انٹرفیس (deposit/withdraw/mint/redeem) کو غیر مطابقت پذیر درخواستوں کا دعویٰ کرنے کے لیے مکمل طور پر استعمال کیا جاتا ہے۔

ERC-7540 توسیع کو ERC-7540 (opens in a new tab) میں مکمل طور پر بیان کیا گیا ہے۔

کثیر اثاثہ تجوری کی توسیع (ERC-7575)

ایک غائب استعمال کا معاملہ جو ERC-4626 کے ذریعے تعاون یافتہ نہیں ہے وہ تجوریاں ہیں جن میں متعدد اثاثے یا انٹری پوائنٹس ہوتے ہیں جیسے لیکویڈیٹی فراہم کنندہ (LP) ٹوکنز۔ یہ عام طور پر ERC-4626 کی خود ایک ERC-20 ہونے کی ضرورت کی وجہ سے بوجھل یا غیر تعمیل شدہ ہوتے ہیں۔

ERC-7575 ERC-4626 کے نفاذ سے ERC-20 ٹوکن کے نفاذ کو بیرونی بنا کر متعدد اثاثوں والی تجوریوں کے لیے تعاون کا اضافہ کرتا ہے۔

ERC-7575 توسیع کو ERC-7575 (opens in a new tab) میں مکمل طور پر بیان کیا گیا ہے۔

پیشگی شرائط

اس صفحے کو بہتر طور پر سمجھنے کے لیے، ہم تجویز کرتے ہیں کہ آپ پہلے ٹوکن کے معیارات اور ERC-20 کے بارے میں پڑھیں۔

ERC-4626 کے فنکشنز اور خصوصیات:

طریقے (Methods)

asset

function asset() public view returns (address assetTokenAddress)

یہ فنکشن اکاؤنٹنگ، جمع کرنے، اور انخلا کے لیے تجوری کے لیے استعمال ہونے والے بنیادی ٹوکن کا پتہ لوٹاتا ہے۔

totalAssets

function totalAssets() public view returns (uint256)

یہ فنکشن تجوری کے پاس موجود بنیادی اثاثوں کی کل رقم لوٹاتا ہے۔

convertToShares

function convertToShares(uint256 assets) public view returns (uint256 shares)

یہ فنکشن shares کی وہ مقدار لوٹاتا ہے جس کا تبادلہ تجوری کے ذریعے فراہم کردہ assets کی مقدار کے لیے کیا جائے گا۔

convertToAssets

function convertToAssets(uint256 shares) public view returns (uint256 assets)

یہ فنکشن assets کی وہ مقدار لوٹاتا ہے جس کا تبادلہ تجوری کے ذریعے فراہم کردہ shares کی مقدار کے لیے کیا جائے گا۔

maxDeposit

function maxDeposit(address receiver) public view returns (uint256 maxAssets)

یہ فنکشن بنیادی اثاثوں کی زیادہ سے زیادہ مقدار لوٹاتا ہے جو ایک ہی deposit کال میں جمع کی جا سکتی ہے، جس میں receiver کے لیے حصص ڈھالے گئے ہوں۔

previewDeposit

function previewDeposit(uint256 assets) public view returns (uint256 shares)

یہ فنکشن صارفین کو موجودہ بلاک پر اپنے ڈپازٹ کے اثرات کی نقل (simulate) کرنے کی اجازت دیتا ہے۔

deposit

function deposit(uint256 assets, address receiver) public returns (uint256 shares)

یہ فنکشن بنیادی ٹوکنز کے assets کو تجوری میں جمع کرتا ہے اور receiver کو shares کی ملکیت دیتا ہے۔

maxMint

function maxMint(address receiver) public view returns (uint256 maxShares)

یہ فنکشن حصص کی زیادہ سے زیادہ مقدار لوٹاتا ہے جو ایک ہی mint کال میں ڈھالے جا سکتے ہیں، جس میں receiver کے لیے حصص ڈھالے گئے ہوں۔

previewMint

function previewMint(uint256 shares) public view returns (uint256 assets)

یہ فنکشن صارفین کو موجودہ بلاک پر اپنے ڈھالنے (mint) کے اثرات کی نقل کرنے کی اجازت دیتا ہے۔

mint

function mint(uint256 shares, address receiver) public returns (uint256 assets)

یہ فنکشن بنیادی ٹوکنز کے assets جمع کر کے receiver کے لیے بالکل shares تجوری کے حصص ڈھالتا ہے۔

maxWithdraw

function maxWithdraw(address owner) public view returns (uint256 maxAssets)

یہ فنکشن بنیادی اثاثوں کی زیادہ سے زیادہ مقدار لوٹاتا ہے جن کا ایک ہی withdraw کال کے ساتھ owner بیلنس سے انخلا کیا جا سکتا ہے۔

previewWithdraw

function previewWithdraw(uint256 assets) public view returns (uint256 shares)

یہ فنکشن صارفین کو موجودہ بلاک پر اپنے انخلا کے اثرات کی نقل کرنے کی اجازت دیتا ہے۔

withdraw

function withdraw(uint256 assets, address receiver, address owner) public returns (uint256 shares)

یہ فنکشن owner سے shares کو جلاتا ہے اور تجوری سے بالکل assets ٹوکن receiver کو بھیجتا ہے۔

maxRedeem

function maxRedeem(address owner) public view returns (uint256 maxShares)

یہ فنکشن حصص کی زیادہ سے زیادہ مقدار لوٹاتا ہے جنہیں redeem کال کے ذریعے owner بیلنس سے چھڑایا (redeem) جا سکتا ہے۔

previewRedeem

function previewRedeem(uint256 shares) public view returns (uint256 assets)

یہ فنکشن صارفین کو موجودہ بلاک پر اپنے چھٹکارے (redemption) کے اثرات کی نقل کرنے کی اجازت دیتا ہے۔

redeem

function redeem(uint256 shares, address receiver, address owner) public returns (uint256 assets)

یہ فنکشن owner سے shares کی ایک مخصوص تعداد کو چھڑاتا ہے اور تجوری سے بنیادی ٹوکن کے assets کو receiver کو بھیجتا ہے۔

totalSupply

function totalSupply() public view returns (uint256)

گردش میں موجود تجوری کے غیر چھڑائے گئے حصص کی کل تعداد لوٹاتا ہے۔

balanceOf

function balanceOf(address owner) public view returns (uint256)

تجوری کے حصص کی کل مقدار لوٹاتا ہے جو اس وقت owner کے پاس ہے۔

انٹرفیس کا نقشہ

Map of the ERC-4626 interface

ایونٹس

ڈپازٹ ایونٹ

جب ٹوکنز کو mint اور deposit طریقوں کے ذریعے تجوری میں جمع کیا جائے تو اسے لازمی خارج (emit) کیا جانا چاہیے۔

event Deposit(
    address indexed sender,
    address indexed owner,
    uint256 assets,
    uint256 shares
)

جہاں sender وہ صارف ہے جس نے shares کے لیے assets کا تبادلہ کیا، اور ان shares کو owner میں منتقل کیا۔

انخلا کا ایونٹ

جب کسی جمع کنندہ کی جانب سے redeem یا withdraw طریقوں میں تجوری سے حصص کا انخلا کیا جائے تو اسے لازمی خارج کیا جانا چاہیے۔

event Withdraw(
    address indexed sender,
    address indexed receiver,
    address indexed owner,
    uint256 assets,
    uint256 shares
)

جہاں sender وہ صارف ہے جس نے انخلا کو متحرک کیا اور owner کی ملکیت والے shares کا assets کے لیے تبادلہ کیا۔ receiver وہ صارف ہے جس نے انخلا کیے گئے assets وصول کیے۔

مزید مطالعہ