OpenZeppelin beschrijft tijdelijke oplossing voor USDT-vault op TRON
OpenZeppelin heeft een handleiding gepubliceerd voor een TRC-4626 vault op TRON die USDT accepteert en vUSDT-uitgifte verzorgt. De gids laat zien hoe een payout-probleem met USDT wordt omzeild en bevat tests en een deployment naar het Nile testnet.
Wat er gebeurde
OpenZeppelin publiceerde een walkthrough voor ontwikkelaars die een vault op TRON willen bouwen volgens de TRC-4626 standaard. De vault accepteert USDT en geeft vUSDT-shares terug aan depositohouders. In de voorbeeldconfiguratie gaan entree- en exitfees naar een treasury.
De handleiding pakt een specifiek probleem aan waarbij USDT-transfers wel plaatsvinden maar de transferfunctie false teruggeeft aan het aanroepende contract. Om dit te vermijden laat de tutorial withdraws lopen via SafeTRC20.safeTransferChecked. Die methode controleert de verandering van het vault-saldo in plaats van te vertrouwen op de geretourneerde waarde. Deposits blijven transferFrom gebruiken, wat normaal werkt voor USDT op TRON.
Eerder had OpenZeppelins TRON-bibliotheek al een TRC-4626 implementatie waarmee gebruikers konden storten en shares ontvangen, maar bij withdraws en redemptions traden reverts op. Dat probleem werd als high-severity bug aangeduid.
Het voorbeeld werkt met zes decimalen voor USDT. In één voorbeeld leidt een storting van 10 USDT bij een entreefee van 0,5% tot 9,950248 vUSDT. Het voorbeeldfeecontract beperkt entree- en exitfees tot maximaal 5% per kant.
De tutorial bevat tests op een lokale TRON-node en een deployment naar Nile, TRONs testnet. OpenZeppelin merkt op dat het voorbeeldcontract voor fees niet is geaudit en dat de beschreven deployment bedoeld is voor het testnet. De walkthrough bouwt voort op OpenZeppelins uitbreiding van smart-contracttools naar TRON die op 24 september werd aangekondigd.
Waarom dit telt
Voor beleggers in TRX of projecten op TRON is dit relevant omdat het laat zien hoe belangrijke token-gedragingen rond USDT worden opgevangen en getest binnen nieuwe vault-standaarden. Het benadrukt ook dat voorbeeldcontracten niet automatisch veilig zijn, zeker als ze niet geaudit zijn.
Waar je op kunt letten
- Of OpenZeppelin of andere partijen het sample feecontract laten auditen of aanpassen
- Of de oplossing met SafeTRC20.safeTransferChecked breed wordt overgenomen door ontwikkelaars