🖥️Para Desenvolvedores
Contrato
Contrato WEbdEXFactoryV3
solidityCopy code// SPDX-License-Identifier: MIT
pragma solidity ^0.8.18;
import "@openzeppelin/contracts/access/Ownable.sol";SPDX-License-Identifier: Este é um comentário SPDX-License-Identifier indicando que o contrato está licenciado sob o MIT.
pragma solidity ^0.8.18: Indica a versão mínima do compilador Solidity necessária para compilar o contrato.
Importação de bibliotecas:
O contrato importa a biblioteca
Ownabledo OpenZeppelin, que fornece funcionalidades básicas de controle de propriedade.
solidityCopy codecontract WEbdEXFactoryV3 is Ownable {Declaração de Variáveis:
bots: Uma matriz interna de estruturasBot.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;Struct Bot:
Define uma estrutura chamada
Botque armazena informações sobre um bot, incluindo seu nome, endereço da carteira, endereços de contratos relevantes, e outros.
Constructor:
O construtor recebe os endereços iniciais dos contratos relevantes e os atribui às variáveis correspondentes.
Função addBot:
Permite ao proprietário adicionar um novo bot à plataforma, fornecendo informações como nome, carteira, e endereços dos contratos relevantes.
Função getBots:
Permite ao proprietário obter a lista de bots adicionados à plataforma.
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.
Contrato WEbdEXManagerV3
Diretivas de Licença e Pragma:
SPDX-License-Identifier especifica a licença sob a qual o contrato é lançado.
Pragma solidity ^0.8.18 define a versão mínima do compilador Solidity.
Declarações de Importação:
O contrato importa o contrato Ownable da biblioteca OpenZeppelin e um contrato NFT personalizado.
Declaração do Contrato:
O contrato herda do contrato Ownable, indicando que possui controle de acesso baseado no proprietário.
Variáveis de Estado:
bot: Armazena informações sobre um bot, incluindo seu nome, contrato de token associado, carteira e endereço do vendedor.webDexPassV3: Representa uma interface para o contrato WEbdEXPassV3, permitindo acesso às informações do usuário.registers: Uma matriz para armazenar detalhes de registro, incluindo a carteira do usuário e o gerente associado.webDexStrategiesV3: Endereço do contrato WebDexStrategies.
Mapeamento e Estruturas:
users: Um mapeamento para armazenar informações do usuário com base em seu endereço.User: Uma estrutura representando detalhes do usuário, incluindo o gerente associado e o status de registro.Bot: Uma estrutura representando detalhes do bot, incluindo seu nome, token associado, carteira e endereço do vendedor.
Estruturas Adicionais:
Register: Uma estrutura para armazenar detalhes de registro, incluindo a carteira do usuário e o gerente associado.Display: Uma estrutura representando detalhes do usuário para fins de exibição, incluindo carteira, gerente, status, expiração do passe, status de teste gratuito e tempo de expiração.
Evento e Construtor:
Transaction event: Registra transações com detalhes como remetente, método, carimbo de data/hora, destinatário e valor.Constructor: Inicializa o contrato com os detalhes do bot, incluindo seu nome, token, carteira e vendedor, bem como a interface do contrato WEbdEXPassV3.
Modificador:
onlyWebDexStrategiesOrOwner: Um modificador restringindo o acesso a certas funções ao proprietário ou ao contrato WebDexStrategies.
Função:
changeWEbdEXStrategiesV3: Permite que o proprietário altere o endereço do contrato WebDexStrategies.
Função:
registerInBot: Permite que os usuários se registrem no bot, associando-se a um gerente e emitindo um NFT.
Função:
getUserInfo: Recupera as informações do usuário para o chamador.
Função:
getUserInfoByWallet: Recupera informações do usuário com base no endereço da carteira fornecido, restrito ao proprietário ou ao contrato WebDexStrategies.
Função:
getBot: Recupera informações sobre o bot.
Função:
getRegisters: Recupera uma matriz de detalhes de registro.
Função Interna:
_getUser: Função interna para recuperar informações do usuário com base no endereço fornecido.
Essa análise fornece uma visão detalhada do contrato WEbdEXManagerV3, incluindo suas variáveis de estado, funções e modificadores.
Contrato WEbdEXPassV3
Diretivas de Licença e Pragma:
SPDX-License-Identifier especifica a licença sob a qual o contrato é lançado.
Pragma solidity ^0.8.18 define a versão mínima do compilador Solidity.
Declarações de Importação:
O contrato importa o contrato ERC20 da biblioteca OpenZeppelin e o contrato Ownable para controle de acesso.
Eventos:
PayFee: Emitido quando uma taxa é paga. Inclui detalhes como a carteira, moeda e quantidade.ExtractLogs: Emitido para vários registros de transações. Inclui detalhes como o remetente, método, carimbo de data/hora, destinatário e valor.PayPass: Emitido quando uma assinatura é paga. Inclui detalhes como o remetente, moeda e valor.
Estruturas:
NetworkData: Representa dados sobre uma rede, incluindo carteira e quantia.PayFeesAmount: Representa quantias para várias taxas, incluindo taxas de rede, taxa de vendedor, taxa de bot, taxa de gerente, token, usuário e tipo de transação.PayComissions: Representa a estrutura de comissões com uma lista de taxas e endereços para vendedor, bot, gerente, webDexStrategiesV3 e webDexNetworkPoolV3.
Mapeamentos e Construtor:
listPayments: Um mapeamento para controlar se um pagamento foi feito.privilegedWallets: Um mapeamento para gerenciar carteiras privilegiadas.Constructor: Inicializa o contrato com detalhes do token ERC20, valores do passe e tempo de expiração do teste gratuito.
Modificadores:
onlyWalletPrivileged: Um modificador para restringir o acesso apenas ao proprietário ou a carteiras privilegiadas.onlyHaveFreeTrial: Um modificador para verificar se o usuário possui um teste gratuito.
Função:
comissionPass: Permite que o proprietário pague várias comissões. Utiliza uma estrutura complexa com diferentes taxas e destinos.
Função interna:
_payFee: Função interna para facilitar o pagamento de taxas, envolvendo a emissão de LP e a adição de saldos ao pool de rede.
Função:
changeFreeTrialExpirationTime: Permite que o proprietário ou carteiras privilegiadas alterem o tempo de expiração do teste gratuito.
Função:
changePassValue: Permite que o proprietário ou carteiras privilegiadas alterem os valores do passe com base no tipo de passe.
Função:
payPass: Permite que os usuários paguem por um passe com base no tipo de passe.
Função:
getFreeTrial: Permite que os usuários obtenham um teste gratuito.
Função:
sendPass: Permite que o proprietário ou carteiras privilegiadas enviem um passe para um endereço especificado.
Funções:
addWalletPrivilege: Permite que o proprietário adicione privilégios a uma carteira.revokeWalletPrivilege: Permite que o proprietário revogue os privilégios de uma carteira.
Funções:
getUserInfo: Recupera informações do usuário para o chamador.getUserInfoByWallet: Recupera informações do usuário com base no endereço da carteira fornecido.
Funções Internas:
_getUserInfo: Função interna para recuperar informações do usuário com base no endereço fornecido._passExpired: Função interna para verificar se o passe para o endereço fornecido expirou._haveFreeTrial: Função interna para verificar se o usuário no endereço fornecido possui um período de teste gratuito.
Esta análise fornece uma visão detalhada do contrato WEbdEXPassV3, incluindo suas variáveis de estado, eventos, modificadores, funções e funções internas.
Last updated