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
Editor live
Recolher inalteradas
Sem quebra de linha
Layout
Dividido
Unificado
Nível de detalhe
Inteligente
Palavra
Caractere
Realce de sintaxe
Escolher sintaxe
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
Untitled Diff
Criado
há 5 anos
O diff nunca expira
Limpar
Exportar
Compartilhar
Os dois textos são idênticos
Não há diferença entre estes dois textos
0 remoções
Linhas
Total
Removido
Caracteres
Total
Removido
Para continuar usando este recurso, atualize para
Diff
checker
Pro
Ver preços
62 linhas
Copiar tudo
0 adições
Linhas
Total
Adicionado
Caracteres
Total
Adicionado
Para continuar usando este recurso, atualize para
Diff
checker
Pro
Ver preços
62 linhas
Copiar tudo
// SPDX-License-Identifier: AGPL-3.0-or-later
// SPDX-License-Identifier: AGPL-3.0-or-later
// Copyright (C) 2021 Dai Foundation
// Copyright (C) 2021 Dai Foundation
// This program is free software: you can redistribute it and/or modify
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// (at your option) any later version.
//
//
// This program is distributed in the hope that it will be useful,
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
// GNU Affero General Public License for more details.
//
//
// You should have received a copy of the GNU Affero General Public License
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
// along with this program. If not, see <https://www.gnu.org/licenses/>.
pragma solidity ^0.6.11;
pragma solidity ^0.6.11;
interface ApproveLike {
interface ApproveLike {
function approve(address, uint256) external;
function approve(address, uint256) external;
}
}
// Escrow funds on L1, manage approval rights
// Escrow funds on L1, manage approval rights
contract L1Escrow {
contract L1Escrow {
// --- Auth ---
// --- Auth ---
mapping(address => uint256) public wards;
mapping(address => uint256) public wards;
function rely(address usr) external auth {
function rely(address usr) external auth {
wards[usr] = 1;
wards[usr] = 1;
emit Rely(usr);
emit Rely(usr);
}
}
function deny(address usr) external auth {
function deny(address usr) external auth {
wards[usr] = 0;
wards[usr] = 0;
emit Deny(usr);
emit Deny(usr);
}
}
modifier auth() {
modifier auth() {
require(wards[msg.sender] == 1, "L1Escrow/not-authorized");
require(wards[msg.sender] == 1, "L1Escrow/not-authorized");
_;
_;
}
}
event Rely(address indexed usr);
event Rely(address indexed usr);
event Deny(address indexed usr);
event Deny(address indexed usr);
event Approve(address indexed token, address indexed spender, uint256 value);
event Approve(address indexed token, address indexed spender, uint256 value);
constructor() public {
constructor() public {
wards[msg.sender] = 1;
wards[msg.sender] = 1;
emit Rely(msg.sender);
emit Rely(msg.sender);
}
}
function approve(
function approve(
address token,
address token,
address spender,
address spender,
uint256 value
uint256 value
) external auth {
) external auth {
emit Approve(token, spender, value);
emit Approve(token, spender, value);
ApproveLike(token).approve(spender, value);
ApproveLike(token).approve(spender, value);
}
}
}
}
Diferenças salvas
Texto original
Abrir arquivo
// SPDX-License-Identifier: AGPL-3.0-or-later // Copyright (C) 2021 Dai Foundation // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU Affero General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU Affero General Public License for more details. // // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see <https://www.gnu.org/licenses/>. pragma solidity ^0.6.11; interface ApproveLike { function approve(address, uint256) external; } // Escrow funds on L1, manage approval rights contract L1Escrow { // --- Auth --- mapping(address => uint256) public wards; function rely(address usr) external auth { wards[usr] = 1; emit Rely(usr); } function deny(address usr) external auth { wards[usr] = 0; emit Deny(usr); } modifier auth() { require(wards[msg.sender] == 1, "L1Escrow/not-authorized"); _; } event Rely(address indexed usr); event Deny(address indexed usr); event Approve(address indexed token, address indexed spender, uint256 value); constructor() public { wards[msg.sender] = 1; emit Rely(msg.sender); } function approve( address token, address spender, uint256 value ) external auth { emit Approve(token, spender, value); ApproveLike(token).approve(spender, value); } }
Texto alterado
Abrir arquivo
// SPDX-License-Identifier: AGPL-3.0-or-later // Copyright (C) 2021 Dai Foundation // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU Affero General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU Affero General Public License for more details. // // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see <https://www.gnu.org/licenses/>. pragma solidity ^0.6.11; interface ApproveLike { function approve(address, uint256) external; } // Escrow funds on L1, manage approval rights contract L1Escrow { // --- Auth --- mapping(address => uint256) public wards; function rely(address usr) external auth { wards[usr] = 1; emit Rely(usr); } function deny(address usr) external auth { wards[usr] = 0; emit Deny(usr); } modifier auth() { require(wards[msg.sender] == 1, "L1Escrow/not-authorized"); _; } event Rely(address indexed usr); event Deny(address indexed usr); event Approve(address indexed token, address indexed spender, uint256 value); constructor() public { wards[msg.sender] = 1; emit Rely(msg.sender); } function approve( address token, address spender, uint256 value ) external auth { emit Approve(token, spender, value); ApproveLike(token).approve(spender, value); } }
Encontrar Diferença