🔄 J'ai réalisé une refonte complète du module de swap de
@MiddleStaking et pour le déployer simultanément sur
@TheDinoVox, j'en ai fait un package réutilisable.
Voilà ce qui change.
---
⚙️ Comment ça marche ?
Un backend référence les pools de
@xExchangeApp et
@TheDinoVox, surveille l'activité de chaque paire activée, et calcule la meilleure route possible — jusqu'à 3 swaps agrégés dans une seule transaction.
Pas de multi-step manuel. Une tx, le meilleur prix disponible.
---
📦 Ce qui est déjà en ligne
~80 tokens répartis sur une centaine de paires sont déjà activés.
Le référencement des nouvelles paires n'est pas encore automatique — volontairement, pour tester le back tranquillement. Mais si votre token est listé sur
@xExchangeApp et qu'il n'apparaît pas dans la liste, envoyez-moi un message, je l'ajoute au cas par cas.
---
🔁 Ce que reçoit le front en réponse
Quand un utilisateur sélectionne ses tokens, son montant et son slippage, le module interroge le back qui retourne la route optimale — avec le détail de chaque hop, le price impact, et directement les datas de la tx à signer.
```json
{
"tokenIn": "EGLD",
"tokenOut": "MID-ecb7bf",
"amountIn": "1000000000000000000",
"amountOut": "1016635251539218381621",
"priceImpact": "0.016000",
"hops": 2,
"route": [
{
"pair": "erd1...q",
"tokenIn": "WEGLD-bd4d79",
"tokenOut": "USDC-c76f1f",
"amountIn": "1000000000000000000",
"amountOut": "4236142",
"dexType": "XExchange",
"priceImpact": "0.003000"
},
{
"pair": "erd1...l",
"tokenIn": "USDC-c76f1f",
"tokenOut": "MID-ecb7bf",
"amountIn": "4236142",
"amountOut": "1019694334542846922388",
"dexType": "XExchange",
"priceImpact": "0.013000"
}
],
"tx": {
"scAddress": "erd1...k",
"txData": "multiPairSwap@...",
"gasLimit": 52000000,
"egldValue": "1000000000000000000"
}
}
```
Le front n'a plus qu'à faire signer. Toute la logique de routing reste côté back.
---
🛡️ Sécurité utilisateur
La tx signée passe par un smart contract qui tente d'exécuter les opérations avec les paramètres de l'utilisateur. Si le montant final est insuffisant (slippage dépassé ou autre), l'ensemble est annulé et les fonds sont retournés automatiquement.
---
💧 Nouveauté : création de pools de liquidité
Cette version introduit aussi la possibilité de créer une paire de liquidité au sein de l'écosystème MID/DinoVox. Dans un premier temps avec
$MID en tokenA uniquement — extensible à d'autres tokens plus tard. Chaque pool déployée génère son propre contrat et émet son LP token dédié.
---
🧱 Pour les devs
Le module est packagé pour être intégré côté front ou back. La réponse JSON est pensée pour minimiser la logique à embarquer côté client : route, price impact, txData, gasLimit — tout est là.
Si vous buildez sur
@MultiversX et que ça vous intéresse, DM ouvert.
---
Cette version est une grosse amélioration par rapport à ce que j'avais mis en place il y a 3 ans. Elle n'est pas finale — elle évoluera en fonction des retours et des perfs observées.
Comme toujours. 🙂