Diff
checker
Texto
Texto
Imagens
Documentos
Excel
Pastas
Legal
Enterprise
Aplicativo para desktop
Preços
Fazer login
Baixar o Diffchecker Desktop
Comparar texto
Encontre a diferença entre dois arquivos de texto
Ferramentas
Histórico
Exibição
Layout
Dividido
Unificado
Editor live
Ocultar espaços em branco
Recolher inalteradas
Sem quebra de linha
Nível de detalhe
Inteligente
Sintaxe
Nenhum
Alterar aparência
Processamento
Ignorar
Transformar texto
Ir à primeira mudança
Editar entrada
Diffchecker Desktop
A maneira mais segura de usar o Diffchecker. Obtenha o aplicativo Diffchecker Desktop: seus diffs nunca saem do seu computador!
Obter Desktop
LRTConfigRoleChecker
Criado
há 10 meses
O diff nunca expira
Limpar
Exportar
Compartilhar
Explicar
0 remoções
Linhas
Total
Removido
Caracteres
Total
Removido
Para continuar usando este recurso, atualize para
Diff
checker
Pro
Ver preços
64 linhas
Copiar tudo
18 adições
Linhas
Total
Adicionado
Caracteres
Total
Adicionado
Para continuar usando este recurso, atualize para
Diff
checker
Pro
Ver preços
82 linhas
Copiar tudo
// SPDX-License-Identifier: BUSL-1.1
// SPDX-License-Identifier: BUSL-1.1
pragma solidity 0.8.27;
pragma solidity 0.8.27;
import { LRTConstants } from "./LRTConstants.sol";
import { LRTConstants } from "./LRTConstants.sol";
import { ILRTConfig } from "../interfaces/ILRTConfig.sol";
import { ILRTConfig } from "../interfaces/ILRTConfig.sol";
import { IAccessControl } from "@openzeppelin/contracts/access/IAccessControl.sol";
import { IAccessControl } from "@openzeppelin/contracts/access/IAccessControl.sol";
/// @title LRTConfigRoleChecker - LRT Config Role Checker Contract
/// @title LRTConfigRoleChecker - LRT Config Role Checker Contract
/// @notice Handles LRT config role checks
/// @notice Handles LRT config role checks
abstract contract LRTConfigRoleChecker {
abstract contract LRTConfigRoleChecker {
ILRTConfig public lrtConfig;
ILRTConfig public lrtConfig;
// events
// events
event UpdatedLRTConfig(address indexed lrtConfig);
event UpdatedLRTConfig(address indexed lrtConfig);
// modifiers
// modifiers
modifier onlyRole(bytes32 role) {
modifier onlyRole(bytes32 role) {
if (!IAccessControl(address(lrtConfig)).hasRole(role, msg.sender)) {
if (!IAccessControl(address(lrtConfig)).hasRole(role, msg.sender)) {
string memory roleStr = string(abi.encodePacked(role));
string memory roleStr = string(abi.encodePacked(role));
revert ILRTConfig.CallerNotLRTConfigAllowedRole(roleStr);
revert ILRTConfig.CallerNotLRTConfigAllowedRole(roleStr);
}
}
_;
_;
}
}
modifier onlyLRTManager() {
modifier onlyLRTManager() {
if (!IAccessControl(address(lrtConfig)).hasRole(LRTConstants.MANAGER, msg.sender)) {
if (!IAccessControl(address(lrtConfig)).hasRole(LRTConstants.MANAGER, msg.sender)) {
revert ILRTConfig.CallerNotLRTConfigManager();
revert ILRTConfig.CallerNotLRTConfigManager();
}
}
_;
_;
}
}
modifier onlyLRTOperator() {
modifier onlyLRTOperator() {
if (!IAccessControl(address(lrtConfig)).hasRole(LRTConstants.OPERATOR_ROLE, msg.sender)) {
if (!IAccessControl(address(lrtConfig)).hasRole(LRTConstants.OPERATOR_ROLE, msg.sender)) {
revert ILRTConfig.CallerNotLRTConfigOperator();
revert ILRTConfig.CallerNotLRTConfigOperator();
}
}
_;
_;
}
}
Copiar
Copiado
Copiar
Copiado
modifier onlyAssetTransferRole() {
if (!IAccessControl(address(lrtConfig)).hasRole(LRTConstants.ASSET_TRANSFER_ROLE, msg.sender)) {
revert ILRTConfig.CallerNotLRTConfigAssetTransferRole();
}
_;
}
modifier onlyAssetTransferOrOperatorRole() {
if (
!IAccessControl(address(lrtConfig)).hasRole(LRTConstants.ASSET_TRANSFER_ROLE, msg.sender)
&& !IAccessControl(address(lrtConfig)).hasRole(LRTConstants.OPERATOR_ROLE, msg.sender)
) {
revert ILRTConfig.CallerNotLRTConfigOperatorOrAssetTransferRole();
}
_;
}
modifier onlyLRTAdmin() {
modifier onlyLRTAdmin() {
if (!IAccessControl(address(lrtConfig)).hasRole(LRTConstants.DEFAULT_ADMIN_ROLE, msg.sender)) {
if (!IAccessControl(address(lrtConfig)).hasRole(LRTConstants.DEFAULT_ADMIN_ROLE, msg.sender)) {
revert ILRTConfig.CallerNotLRTConfigAdmin();
revert ILRTConfig.CallerNotLRTConfigAdmin();
}
}
_;
_;
}
}
modifier onlySupportedAsset(address asset) {
modifier onlySupportedAsset(address asset) {
if (!lrtConfig.isSupportedAsset(asset)) {
if (!lrtConfig.isSupportedAsset(asset)) {
revert ILRTConfig.AssetNotSupported();
revert ILRTConfig.AssetNotSupported();
}
}
_;
_;
}
}
modifier onlySupportedERC20Token(address asset) {
modifier onlySupportedERC20Token(address asset) {
if (!lrtConfig.isSupportedAsset(asset)) {
if (!lrtConfig.isSupportedAsset(asset)) {
revert ILRTConfig.AssetNotSupported();
revert ILRTConfig.AssetNotSupported();
}
}
if (asset == LRTConstants.ETH_TOKEN) {
if (asset == LRTConstants.ETH_TOKEN) {
revert ILRTConfig.ETHNotSupported();
revert ILRTConfig.ETHNotSupported();
}
}
_;
_;
}
}
}
}
Copiar
Copiado
Copiar
Copiado
Diferenças salvas
Texto original
Abrir arquivo
// SPDX-License-Identifier: BUSL-1.1 pragma solidity 0.8.27; import { LRTConstants } from "./LRTConstants.sol"; import { ILRTConfig } from "../interfaces/ILRTConfig.sol"; import { IAccessControl } from "@openzeppelin/contracts/access/IAccessControl.sol"; /// @title LRTConfigRoleChecker - LRT Config Role Checker Contract /// @notice Handles LRT config role checks abstract contract LRTConfigRoleChecker { ILRTConfig public lrtConfig; // events event UpdatedLRTConfig(address indexed lrtConfig); // modifiers modifier onlyRole(bytes32 role) { if (!IAccessControl(address(lrtConfig)).hasRole(role, msg.sender)) { string memory roleStr = string(abi.encodePacked(role)); revert ILRTConfig.CallerNotLRTConfigAllowedRole(roleStr); } _; } modifier onlyLRTManager() { if (!IAccessControl(address(lrtConfig)).hasRole(LRTConstants.MANAGER, msg.sender)) { revert ILRTConfig.CallerNotLRTConfigManager(); } _; } modifier onlyLRTOperator() { if (!IAccessControl(address(lrtConfig)).hasRole(LRTConstants.OPERATOR_ROLE, msg.sender)) { revert ILRTConfig.CallerNotLRTConfigOperator(); } _; } modifier onlyLRTAdmin() { if (!IAccessControl(address(lrtConfig)).hasRole(LRTConstants.DEFAULT_ADMIN_ROLE, msg.sender)) { revert ILRTConfig.CallerNotLRTConfigAdmin(); } _; } modifier onlySupportedAsset(address asset) { if (!lrtConfig.isSupportedAsset(asset)) { revert ILRTConfig.AssetNotSupported(); } _; } modifier onlySupportedERC20Token(address asset) { if (!lrtConfig.isSupportedAsset(asset)) { revert ILRTConfig.AssetNotSupported(); } if (asset == LRTConstants.ETH_TOKEN) { revert ILRTConfig.ETHNotSupported(); } _; } }
Texto alterado
Abrir arquivo
// SPDX-License-Identifier: BUSL-1.1 pragma solidity 0.8.27; import { LRTConstants } from "./LRTConstants.sol"; import { ILRTConfig } from "../interfaces/ILRTConfig.sol"; import { IAccessControl } from "@openzeppelin/contracts/access/IAccessControl.sol"; /// @title LRTConfigRoleChecker - LRT Config Role Checker Contract /// @notice Handles LRT config role checks abstract contract LRTConfigRoleChecker { ILRTConfig public lrtConfig; // events event UpdatedLRTConfig(address indexed lrtConfig); // modifiers modifier onlyRole(bytes32 role) { if (!IAccessControl(address(lrtConfig)).hasRole(role, msg.sender)) { string memory roleStr = string(abi.encodePacked(role)); revert ILRTConfig.CallerNotLRTConfigAllowedRole(roleStr); } _; } modifier onlyLRTManager() { if (!IAccessControl(address(lrtConfig)).hasRole(LRTConstants.MANAGER, msg.sender)) { revert ILRTConfig.CallerNotLRTConfigManager(); } _; } modifier onlyLRTOperator() { if (!IAccessControl(address(lrtConfig)).hasRole(LRTConstants.OPERATOR_ROLE, msg.sender)) { revert ILRTConfig.CallerNotLRTConfigOperator(); } _; } modifier onlyAssetTransferRole() { if (!IAccessControl(address(lrtConfig)).hasRole(LRTConstants.ASSET_TRANSFER_ROLE, msg.sender)) { revert ILRTConfig.CallerNotLRTConfigAssetTransferRole(); } _; } modifier onlyAssetTransferOrOperatorRole() { if ( !IAccessControl(address(lrtConfig)).hasRole(LRTConstants.ASSET_TRANSFER_ROLE, msg.sender) && !IAccessControl(address(lrtConfig)).hasRole(LRTConstants.OPERATOR_ROLE, msg.sender) ) { revert ILRTConfig.CallerNotLRTConfigOperatorOrAssetTransferRole(); } _; } modifier onlyLRTAdmin() { if (!IAccessControl(address(lrtConfig)).hasRole(LRTConstants.DEFAULT_ADMIN_ROLE, msg.sender)) { revert ILRTConfig.CallerNotLRTConfigAdmin(); } _; } modifier onlySupportedAsset(address asset) { if (!lrtConfig.isSupportedAsset(asset)) { revert ILRTConfig.AssetNotSupported(); } _; } modifier onlySupportedERC20Token(address asset) { if (!lrtConfig.isSupportedAsset(asset)) { revert ILRTConfig.AssetNotSupported(); } if (asset == LRTConstants.ETH_TOKEN) { revert ILRTConfig.ETHNotSupported(); } _; } }
Encontrar Diferença