Diff
checker
Testo
Testo
Immagini
Documenti
Excel
Cartelle
Legal
Enterprise
Applicazione per desktop
Prezzi
Accedi
Scarica Diffchecker Desktop
Confronta il testo
Trova la differenza tra due file di testo
Strumenti
Cronologia
Editor live
Comprimi invariate
Senza a capo
Layout
Diviso
Unificato
Livello di dettaglio
Intelligente
Parola
Carattere
Evidenziazione sintassi
Scegli sintassi
Ignora
Trasforma testo
Vai alla prima modifica
Modifica input
Diffchecker Desktop
Il modo più sicuro per usare Diffchecker. Ottieni l'app Diffchecker Desktop: i tuoi diff non lasciano mai il tuo computer!
Ottieni Desktop
Untitled Diff
Creato
5 anni fa
Il diff non scade mai
Eliminare
Esporta
Condividere
I due testi sono identici
Non c'è alcuna differenza tra questi due testi
0 rimozioni
Linee
Totale
Rimosso
Caratteri
Totale
Rimosso
Per continuare a utilizzare questa funzione, aggiorna a
Diff
checker
Pro
Visualizza prezzi
62 linee
Copia tutti
0 aggiunte
Linee
Totale
Aggiunto
Caratteri
Totale
Aggiunto
Per continuare a utilizzare questa funzione, aggiorna a
Diff
checker
Pro
Visualizza prezzi
62 linee
Copia tutti
// 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);
}
}
}
}
Diff salvati
Testo originale
Apri file
// 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); } }
Testo modificato
Apri file
// 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); } }
Trovare la differenza