Πρότυπο ERC-4626 ψηφιοποίηση θησαυροφυλακίου
Εισαγωγή
Το ERC-4626 είναι ένα πρότυπο για τη βελτιστοποίηση και ενοποίηση των τεχνικών παραμέτρων των θησαυροφυλακίων απόδοσης. Παρέχει ένα τυποποιημένο API για tokenized θησαυροφυλάκια απόδοσης που αντιπροσωπεύουν μετοχές ενός ενιαίου υποκείμενου ψηφιακού στοιχείου ERC-20. Το ERC-4626 περιγράφει επίσης μια προαιρετική επέκταση για tokenized θησαυροφυλάκια που χρησιμοποιούν ERC-20, προσφέροντας βασικές λειτουργίες για κατάθεση, ανάληψη token και ανάγνωση υπολοίπων.
Ο ρόλος του ERC-4626 στα θησαυροφυλάκια απόδοσης
Οι αγορές δανεισμού, οι λειτουργίες συγκέντρωσης και τα εγγενώς ψηφιακά στοιχεία απόδοσης, βοηθούν τους χρήστες να βρουν την καλύτερη απόδοση στα κρυπτονομίσματά τους εκτελώντας διαφορετικές στρατηγικές. Αυτές οι στρατηγικές γίνονται με μικρές διαφοροποιήσεις, οι οποίες μπορεί να είναι επιρρεπείς σε σφάλματα ή να σπαταλούν πόρους ανάπτυξης.
Το ERC-4626 στα θησαυροφυλάκια απόδοσης θα μειώσει την προσπάθεια ενσωμάτωσης και θα ξεκλειδώσει την πρόσβαση στην απόδοση σε διάφορες εφαρμογές με μικρή εξειδικευμένη προσπάθεια από τους προγραμματιστές δημιουργώντας πιο συνεπή και ισχυρά πρότυπα εφαρμογής.
Το token ERC-4626 περιγράφεται πλήρως στο EIP-4626.
Επέκταση ασύγχρονων θησαυροφυλακίων (ERC-7540)
Το ERC-4626 είναι βελτιστοποιημένο για ατομικές καταθέσεις και αναλήψεις μέχρι ένα όριο. Αν φτάσει το όριο, δεν μπορούν να υποβληθούν νέες καταθέσεις ή αναλήψεις. Αυτός ο περιορισμός δε λειτουργεί καλά για οποιοδήποτε σύστημα έξυπνων συμβολαίων που απαιτεί ασύγχρονες ενέργειες ή καθυστερήσεις ως προϋπόθεση για τη διασύνδεση με το Θησαυροφυλάκιο (π.χ. πρωτόκολλα πραγματικών περιουσιακών στοιχείων, πρωτόκολλα δανεισμού χωρίς επαρκείς εγγυήσεις, πρωτόκολλα δανεισμού μεταξύ αλυσίδων, tokens ρευστοποίησης συμμετοχής ή ασφαλιστικές μονάδες προστασίας).
Το ERC-7540 επεκτείνει τη χρησιμότητα των Θησαυροφυλακίων ERC-4626 για ασύγχρονες περιπτώσεις χρήσης. Η υπάρχουσα διεπαφή του Θησαυροφυλακίου (deposit
/withdraw
/mint
/redeem
) χρησιμοποιείται πλήρως για την αξίωση ασύγχρονων Αιτημάτων.
Η επέκταση ERC-7540 περιγράφεται πλήρως στο ERC-7540.
Επέκταση θησαυροφυλακίων πολλαπλών περιουσιακών στοιχείων (ERC-7575)
Μία περίπτωση χρήσης που λείπει και δεν υποστηρίζεται από το ERC-4626 είναι τα Θησαυροφυλάκια που διαθέτουν πολλαπλά περιουσιακά στοιχεία ή σημεία εισόδου, όπως Tokens Παρόχων Ρευστότητας (LP Tokens). Αυτά γενικά είναι δύσχρηστα ή μη συμβατά λόγω της απαίτησης του ERC-4626 να είναι το ίδιο ένα ERC-20.
Το ERC-7575 προσθέτει υποστήριξη για Θησαυροφυλάκια με πολλαπλά περιουσιακά στοιχεία εξωτερικεύοντας την υλοποίηση του token ERC-20 από την υλοποίηση του ERC-4626.
Η επέκταση ERC-7575 περιγράφεται πλήρως στο ERC-7575.
Προαπαιτούμενα
Για να κατανοήσετε καλύτερα αυτή τη σελίδα, σας συνιστούμε να διαβάσετε πρώτα για τα πρότυπα token, ERC-721.
ERC-4626 Λειτουργίες και χαρακτηριστικά:
Μέθοδοι
asset
1function asset() public view returns (address assetTokenAddress)
Αυτή η συνάρτηση επιστρέφει τη διεύθυνση του υποκείμενου διακριτικού που χρησιμοποιείται για το θησαυροφυλάκιο για λογιστική, κατάθεση και ανάληψη.
totalAssets
1function totalAssets() public view returns (uint256)
Αυτή η συνάρτηση επιστρέφει το συνολικό ποσό των υποκείμενων περιουσιακών στοιχείων που κατέχονται από το θησαυροφυλάκιο.
convertToShares
1function convertToShares(uint256 assets) public view returns (uint256 shares)
Αυτή η συνάρτηση επιστρέφει το ποσό των shares
που θα ανταλλάσσονταν από το θησαυροφυλάκιο για το ποσό των assets
που παρέχονται.
convertToAssets
1function convertToAssets(uint256 shares) public view returns (uint256 assets)
Αυτή η συνάρτηση επιστρέφει το ποσό των shares
που θα ανταλλάσσονταν από το θησαυροφυλάκιο για το ποσό των assets
που παρέχονται.
maxDeposit
1function maxDeposit(address receiver) public view returns (uint256 maxAssets)
Αυτή η συνάρτηση επιστρέφει το μέγιστο ποσό των υποκείμενων περιουσιακών στοιχείων που μπορεί να κατατεθεί σε μία μόνο κλήση του deposit
από τον receiver
.
previewDeposit
1function previewDeposit(uint256 assets) public view returns (uint256 shares)
Αυτή η λειτουργία επιτρέπει στους χρήστες να προσομοιώνουν τα αποτελέσματα της κατάθεσής τους στο τρέχον μπλοκ.
κατάθεση
1function deposit(uint256 assets, address receiver) public returns (uint256 shares)
Αυτή η συνάρτηση καταθέτει assets
των υποκείμενων κρυπτονομισμάτων στο θησαυροφυλάκιο και παραχωρεί την κυριότητα των shares
στον receiver
.
maxMint
1function maxMint(address receiver) public view returns (uint256 maxShares)
Αυτή η συνάρτηση επιστρέφει το μέγιστο ποσό μετοχών που μπορούν να «κοπούν» σε μία κλήση mint
από τον receiver
.
previewMint
1function previewMint(uint256 shares) public view returns (uint256 assets)
Αυτή η λειτουργία επιτρέπει στους χρήστες να προσομοιώνουν τα αποτελέσματα της «κοπής» τους στο τρέχον μπλοκ.
mint
1function mint(uint256 shares, address receiver) public returns (uint256 assets)
Αυτή η συνάρτηση «κόβει» ακριβώς shares
μερίδια θησαυροφυλακίου στον receiver
καταθέτοντας assets
των υποκείμενων διακριτικών.
maxWithdraw
1function maxWithdraw(address owner) public view returns (uint256 maxAssets)
Αυτή η συνάρτηση επιστρέφει το μέγιστο ποσό των υποκείμενων περιουσιακών στοιχείων που μπορούν να γίνουν ανάληψη από το υπόλοιπο του owner
με μία μόνο κλήση withdraw
.
previewWithdraw
1function previewWithdraw(uint256 assets) public view returns (uint256 shares)
Αυτή η λειτουργία επιτρέπει στους χρήστες να προσομοιώνουν τα αποτελέσματα της ανάληψής τους στο τρέχον μπλοκ.
ανάληψη
1function withdraw(uint256 assets, address receiver, address owner) public returns (uint256 shares)
Αυτή η συνάρτηση «καίει» shares
από τον owner
και στέλνει ακριβώς το διακριτικό assets
από το θησαυροφυλάκιο στον receiver
.
maxRedeem
1function maxRedeem(address owner) public view returns (uint256 maxShares)
Αυτή η συνάρτηση επιστρέφει το μέγιστο ποσό μετοχών που μπορούν να εξαργυρωθούν από το υπόλοιπο του owner
μέσω μιας κλήσης redeem
.
previewRedeem
1function previewRedeem(uint256 shares) public view returns (uint256 assets)
Αυτή η λειτουργία επιτρέπει στους χρήστες να προσομοιώνουν τα αποτελέσματα της εξαργύρωσής τους στο τρέχον μπλοκ.
redeem
1function redeem(uint256 shares, address receiver, address owner) public returns (uint256 assets)
Αυτή η συνάρτηση εξαργυρώνει έναν συγκεκριμένο αριθμό shares
από τον owner
και στέλνει assets
του υποκείμενου κρυπτονομίσματος από το θησαυροφυλάκιο στον receiver
.
totalSupply
1function totalSupply() public view returns (uint256)
Επιστρέφει τον συνολικό αριθμό των μη εξαργυρωμένων μετοχών θησαυροφυλακίου σε κυκλοφορία.
balanceOf
1function balanceOf(address owner) public view returns (uint256)
Επιστρέφει το συνολικό ποσό των μετοχών του θησαυροφυλακίου που έχει αυτή τη στιγμή ο owner
.
Χάρτης της διεπαφής
Συμβάντα
Πράξη κατάθεσης
ΠΡΕΠΕΙ να αποστέλλονται όταν τα κρυπτονομίσματα κατατίθενται στο θησαυροφυλάκιο μέσω του mint
και τις μεθόδους deposit
.
1event Deposit(2 address indexed sender,3 address indexed owner,4 uint256 assets,5 uint256 shares6)
Όπου sender
είναι ο χρήστης που έκανε την ανταλλαγή assets
με shares
και μετέφερε αυτές τις shares
στον owner
.
Γεγονός ανάληψης
ΠΡΕΠΕΙ να αποστέλλονται όταν οι μετοχές αποσύρονται από το θησαυροφυλάκιο από έναν καταθέτη με τις μεθόδους redeem
ή withdraw
.
1event Withdraw(2 address indexed sender,3 address indexed receiver,4 address indexed owner,5 uint256 assets,6 uint256 shares7)
Όπου Sender
είναι ο χρήστης που ενεργοποίησε την ανάληψη και αντάλλαξε shares
, που ανήκουν στον owner
, με assets
. Ο receiver
είναι ο χρήστης που έλαβε τα assets
που έγιναν ανάληψη.