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

ContractAddressDescription
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 .