🖥️Para Desenvolvedores

Contrato

Contrato WEbdEXFactoryV3

solidityCopy code// SPDX-License-Identifier: MIT
pragma solidity ^0.8.18;

import "@openzeppelin/contracts/access/Ownable.sol";
  1. SPDX-License-Identifier: Este é um comentário SPDX-License-Identifier indicando que o contrato está licenciado sob o MIT.

  2. pragma solidity ^0.8.18: Indica a versão mínima do compilador Solidity necessária para compilar o contrato.

  3. Importação de bibliotecas:

    • O contrato importa a biblioteca Ownable do OpenZeppelin, que fornece funcionalidades básicas de controle de propriedade.

solidityCopy codecontract WEbdEXFactoryV3 is Ownable {
  1. Declaração de Variáveis:

    • bots: Uma matriz interna de estruturas Bot.

    • faucets, wusd, usdt, dai, usdc, switchWUSD, swapBook, payments: Endereços de contratos relacionados à plataforma WEbdEX.

solidityCopy code    Bot[] internal bots;
    address public faucets;
    address public wusd;
    address public usdt;
    address public dai;
    address public usdc;
    address public switchWUSD;
    address public swapBook;
    address public payments;
  1. Struct Bot:

    • Define uma estrutura chamada Bot que armazena informações sobre um bot, incluindo seu nome, endereço da carteira, endereços de contratos relevantes, e outros.

solidityCopy code    struct Bot {
        string name;
        string wallet;
        address faucets;
        address wusd;
        address usdt;
        address dai;
        address usdc;
        address botManager;
        address switchWUSD;
        address swapBook;
        address pass;
        address networkPool;
        address strategies;
        address payments;
    }
  1. Constructor:

    • O construtor recebe os endereços iniciais dos contratos relevantes e os atribui às variáveis correspondentes.

solidityCopy code    constructor(
        address faucets_,
        address wusd_,
        address usdt_,
        address dai_,
        address usdc_,
        address switchWUSD_,
        address swapBook_,
        address payments_
    ) {
        faucets = faucets_;
        wusd = wusd_;
        usdt = usdt_;
        dai = dai_;
        usdc = usdc_;
        switchWUSD = switchWUSD_;
        swapBook = swapBook_;
        payments = payments_;
    }
  1. Função addBot:

    • Permite ao proprietário adicionar um novo bot à plataforma, fornecendo informações como nome, carteira, e endereços dos contratos relevantes.

solidityCopy code    function addBot(
        string memory name,
        string memory wallet,
        address botManager,
        address pass,
        address strategies,
        address networkPool
    ) public onlyOwner {
        bots.push(
            Bot(
                name,
                wallet,
                faucets,
                wusd,
                usdt,
                dai,
                usdc,
                botManager,
                switchWUSD,
                swapBook,
                pass,
                networkPool,
                strategies,
                payments
            )
        );
    }
  1. Função getBots:

    • Permite ao proprietário obter a lista de bots adicionados à plataforma.

solidityCopy code    function getBots() public view onlyOwner returns (Bot[] memory) {
        return bots;
    }
}

Essas são as principais características e funcionalidades do contrato. Ele serve como uma fábrica para criar bots, mantendo uma lista de bots existentes e seus detalhes.

Last updated