Dyneros Chain
Contratti Core
I contratti ufficiali del protocollo Dyneros che alimentano il DEX, il wrapping dei token e l'infrastruttura di liquidità on-chain.
Registro Contratti
Verificato| Contract | Address | Description | |
|---|---|---|---|
| Factory | 0xc8148DD9089fc2C6f09aAe15c347F3dFc3757451 | Crea nuove coppie di trading | |
| Router | 0xD6c26Ce48bDe29bca596Abe5C3b3DF93C6b91F97 | Swap token e gestione liquidità | |
| WDYN (WETH9) | 0xd270c9AA03019c294c68e4Ea134995Cd30EC226b | Token DYN nativo wrapped |
Factory
Il contratto Factory è responsabile della creazione di nuovi contratti AMM pair. Ogni coppia è un indirizzo unico che combina due token ERC-20.
Address0xc8148DD9089fc2C6f09aAe15c347F3dFc3757451
StandardCompatibile Uniswap V2
Ottieni l'indirizzo della coppia
const factory = new ethers.Contract(
"0xc8148DD9089fc2C6f09aAe15c347F3dFc3757451",
["function getPair(address,address) view returns (address)"],
provider
);
const pairAddress = await factory.getPair(
"0xfa69e3c56aCe1f93C6E332a656318Ba0Cc4d7e57", // dUSD
"0xd270c9AA03019c294c68e4Ea134995Cd30EC226b" // WDYN
);
Crea nuova coppia
const factory = new ethers.Contract(
"0xc8148DD9089fc2C6f09aAe15c347F3dFc3757451",
["function createPair(address tokenA, address tokenB) returns (address pair)"],
signer
);
const tx = await factory.createPair(tokenA, tokenB);
const receipt = await tx.wait();
// New pair address is in receipt logs
Router
Il Router è il punto di ingresso principale per tutti gli swap e le operazioni di liquidità. Gestisce il routing dei percorsi, la protezione dallo slippage e l'applicazione delle scadenze.
Address0xD6c26Ce48bDe29bca596Abe5C3b3DF93C6b91F97
StandardCompatibile Uniswap V2 Router
Scambia token
const router = new ethers.Contract(
"0xD6c26Ce48bDe29bca596Abe5C3b3DF93C6b91F97",
[
"function swapExactTokensForTokens(uint amountIn, uint amountOutMin, address[] path, address to, uint deadline) returns (uint[] amounts)"
],
signer
);
const amountIn = ethers.parseEther("100"); // 100 dUSD
const path = [
"0xfa69e3c56aCe1f93C6E332a656318Ba0Cc4d7e57", // dUSD
"0xd270c9AA03019c294c68e4Ea134995Cd30EC226b" // WDYN
];
const deadline = Math.floor(Date.now() / 1000) + 60 * 20; // 20 min
// Approve first
const dusd = new ethers.Contract(path[0], ["function approve(address,uint256)"], signer);
await dusd.approve(router.target, amountIn);
// Swap
await router.swapExactTokensForTokens(
amountIn,
0, // amountOutMin (set slippage in production)
path,
await signer.getAddress(),
deadline
);
Aggiungi liquidità
const routerAbi = [
"function addLiquidity(address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline) returns (uint amountA, uint amountB, uint liquidity)"
];
await router.addLiquidity(
tokenA, tokenB,
amountADesired, amountBDesired,
amountAMin, amountBMin,
recipientAddress,
deadline
);
Per esempi completi di integrazione DEX incluse quotazioni di prezzo e gestione liquidità, vedi la guida Integrazione DEX .