πŸ–₯️For Developers

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