ETH Price: $2,044.68 (+0.88%)

Contract

0x941c2699eC7E55a50Bde030d8E1e70649839259D
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Allow Cancel244433422026-02-12 21:20:4727 days ago1770931247IN
0x941c2699...49839259D
0 ETH0.000001890.07224044
Allow Cancel244433412026-02-12 21:20:3527 days ago1770931235IN
0x941c2699...49839259D
0 ETH0.00000180.06895889
Allow Cancel244433352026-02-12 21:19:2327 days ago1770931163IN
0x941c2699...49839259D
0 ETH0.000002990.0650823
Allow Cancel244433302026-02-12 21:18:2327 days ago1770931103IN
0x941c2699...49839259D
0 ETH0.000003210.06982665

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Guardian

Compiler Version
v0.8.13+commit.abaa5c0e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2023-11-10
*/

// SPDX-License-Identifier: UNLICENSED
pragma solidity 0.8.13;

interface IGovernorMills {
    function cancel(uint proposalId) external;
}

contract Guardian {

    IGovernorMills public immutable governorMills;
    address public deployer;
    address public pendingDeployer;
    address public rwg;
    address public pendingRwg;
    mapping (uint => bool) public cancellableProposals;

    constructor(IGovernorMills _governorMills, address _rwg) {
        governorMills = _governorMills;
        rwg = _rwg;
        deployer = msg.sender;
    }

    function allowCancel(uint proposalId, bool decision) external {
        require(msg.sender == deployer, "Guardian: not deployer");
        cancellableProposals[proposalId] = decision;
    }

    function executeCancel(uint proposalId) external {
        require(msg.sender == rwg, "Guardian: not rwg");
        require(cancellableProposals[proposalId], "Guardian: not cancellable");
        governorMills.cancel(proposalId);
    }

    function setPendingRwg(address _rwg) external {
        require(msg.sender == rwg, "Guardian: not rwg");
        pendingRwg = _rwg;
    }

    function claimRwg() external {
        require(msg.sender == pendingRwg, "Guardian: not pending rwg");
        rwg = pendingRwg;
        pendingRwg = address(0);
    }

    function setPendingDeployer(address _deployer) external {
        require(msg.sender == deployer, "Guardian: not deployer");
        pendingDeployer = _deployer;
    }

    function claimDeployer() external {
        require(msg.sender == pendingDeployer, "Guardian: not pending deployer");
        deployer = pendingDeployer;
        pendingDeployer = address(0);
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"contract IGovernorMills","name":"_governorMills","type":"address"},{"internalType":"address","name":"_rwg","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"bool","name":"decision","type":"bool"}],"name":"allowCancel","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"cancellableProposals","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claimDeployer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimRwg","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"deployer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"executeCancel","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"governorMills","outputs":[{"internalType":"contract IGovernorMills","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingDeployer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingRwg","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rwg","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_deployer","type":"address"}],"name":"setPendingDeployer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_rwg","type":"address"}],"name":"setPendingRwg","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60a060405234801561001057600080fd5b506040516106ee3803806106ee83398101604081905261002f9161007d565b6001600160a01b0391821660805260028054919092166001600160a01b03199182161790915560008054909116331790556100b7565b6001600160a01b038116811461007a57600080fd5b50565b6000806040838503121561009057600080fd5b825161009b81610065565b60208401519092506100ac81610065565b809150509250929050565b6080516106166100d86000396000818160be015261038401526106166000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c8063a5cd793111610071578063a5cd79311461017e578063cc066bb814610191578063d5f3948814610199578063db705ad1146101ac578063eadcd1bf146101b4578063fda1be7d146101c757600080fd5b80631b2cd12e146100b9578063435b5660146100fd57806343dad0c9146101105780634a2ad616146101435780635146ffc9146101565780639aff856a1461016b575b600080fd5b6100e07f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b6002546100e0906001600160a01b031681565b61013361011e366004610562565b60046020526000908152604090205460ff1681565b60405190151581526020016100f4565b6003546100e0906001600160a01b031681565b61016961016436600461057b565b6101da565b005b6101696101793660046105b0565b610252565b61016961018c366004610562565b6102c2565b6101696103eb565b6000546100e0906001600160a01b031681565b61016961046c565b6001546100e0906001600160a01b031681565b6101696101d53660046105b0565b6104ed565b6000546001600160a01b031633146102325760405162461bcd60e51b815260206004820152601660248201527523bab0b93234b0b71d103737ba103232b83637bcb2b960511b60448201526064015b60405180910390fd5b600091825260046020526040909120805460ff1916911515919091179055565b6002546001600160a01b031633146102a05760405162461bcd60e51b8152602060048201526011602482015270477561726469616e3a206e6f742072776760781b6044820152606401610229565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6002546001600160a01b031633146103105760405162461bcd60e51b8152602060048201526011602482015270477561726469616e3a206e6f742072776760781b6044820152606401610229565b60008181526004602052604090205460ff1661036e5760405162461bcd60e51b815260206004820152601960248201527f477561726469616e3a206e6f742063616e63656c6c61626c65000000000000006044820152606401610229565b6040516340e58ee560e01b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906340e58ee590602401600060405180830381600087803b1580156103d057600080fd5b505af11580156103e4573d6000803e3d6000fd5b5050505050565b6001546001600160a01b031633146104455760405162461bcd60e51b815260206004820152601e60248201527f477561726469616e3a206e6f742070656e64696e67206465706c6f79657200006044820152606401610229565b60018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6003546001600160a01b031633146104c65760405162461bcd60e51b815260206004820152601960248201527f477561726469616e3a206e6f742070656e64696e6720727767000000000000006044820152606401610229565b60038054600280546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031633146105405760405162461bcd60e51b815260206004820152601660248201527523bab0b93234b0b71d103737ba103232b83637bcb2b960511b6044820152606401610229565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b60006020828403121561057457600080fd5b5035919050565b6000806040838503121561058e57600080fd5b82359150602083013580151581146105a557600080fd5b809150509250929050565b6000602082840312156105c257600080fd5b81356001600160a01b03811681146105d957600080fd5b939250505056fea264697066735822122058ede60458ba1035d3db1b82a2c13a00a3e3e71cfbff9b6eebb5c9ca1f772a0864736f6c634300080d0033000000000000000000000000beccb6bb0aa4ab551966a7e4b97cec74bb359bf6000000000000000000000000e3ed95e130ad9e15643f5a5f232a3dae980784cd

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100b45760003560e01c8063a5cd793111610071578063a5cd79311461017e578063cc066bb814610191578063d5f3948814610199578063db705ad1146101ac578063eadcd1bf146101b4578063fda1be7d146101c757600080fd5b80631b2cd12e146100b9578063435b5660146100fd57806343dad0c9146101105780634a2ad616146101435780635146ffc9146101565780639aff856a1461016b575b600080fd5b6100e07f000000000000000000000000beccb6bb0aa4ab551966a7e4b97cec74bb359bf681565b6040516001600160a01b0390911681526020015b60405180910390f35b6002546100e0906001600160a01b031681565b61013361011e366004610562565b60046020526000908152604090205460ff1681565b60405190151581526020016100f4565b6003546100e0906001600160a01b031681565b61016961016436600461057b565b6101da565b005b6101696101793660046105b0565b610252565b61016961018c366004610562565b6102c2565b6101696103eb565b6000546100e0906001600160a01b031681565b61016961046c565b6001546100e0906001600160a01b031681565b6101696101d53660046105b0565b6104ed565b6000546001600160a01b031633146102325760405162461bcd60e51b815260206004820152601660248201527523bab0b93234b0b71d103737ba103232b83637bcb2b960511b60448201526064015b60405180910390fd5b600091825260046020526040909120805460ff1916911515919091179055565b6002546001600160a01b031633146102a05760405162461bcd60e51b8152602060048201526011602482015270477561726469616e3a206e6f742072776760781b6044820152606401610229565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6002546001600160a01b031633146103105760405162461bcd60e51b8152602060048201526011602482015270477561726469616e3a206e6f742072776760781b6044820152606401610229565b60008181526004602052604090205460ff1661036e5760405162461bcd60e51b815260206004820152601960248201527f477561726469616e3a206e6f742063616e63656c6c61626c65000000000000006044820152606401610229565b6040516340e58ee560e01b8152600481018290527f000000000000000000000000beccb6bb0aa4ab551966a7e4b97cec74bb359bf66001600160a01b0316906340e58ee590602401600060405180830381600087803b1580156103d057600080fd5b505af11580156103e4573d6000803e3d6000fd5b5050505050565b6001546001600160a01b031633146104455760405162461bcd60e51b815260206004820152601e60248201527f477561726469616e3a206e6f742070656e64696e67206465706c6f79657200006044820152606401610229565b60018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6003546001600160a01b031633146104c65760405162461bcd60e51b815260206004820152601960248201527f477561726469616e3a206e6f742070656e64696e6720727767000000000000006044820152606401610229565b60038054600280546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031633146105405760405162461bcd60e51b815260206004820152601660248201527523bab0b93234b0b71d103737ba103232b83637bcb2b960511b6044820152606401610229565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b60006020828403121561057457600080fd5b5035919050565b6000806040838503121561058e57600080fd5b82359150602083013580151581146105a557600080fd5b809150509250929050565b6000602082840312156105c257600080fd5b81356001600160a01b03811681146105d957600080fd5b939250505056fea264697066735822122058ede60458ba1035d3db1b82a2c13a00a3e3e71cfbff9b6eebb5c9ca1f772a0864736f6c634300080d0033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000beccb6bb0aa4ab551966a7e4b97cec74bb359bf6000000000000000000000000e3ed95e130ad9e15643f5a5f232a3dae980784cd

-----Decoded View---------------
Arg [0] : _governorMills (address): 0xBeCCB6bb0aa4ab551966A7E4B97cec74bb359Bf6
Arg [1] : _rwg (address): 0xE3eD95e130ad9E15643f5A5f232a3daE980784cd

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000beccb6bb0aa4ab551966a7e4b97cec74bb359bf6
Arg [1] : 000000000000000000000000e3ed95e130ad9e15643f5a5f232a3dae980784cd


Deployed Bytecode Sourcemap

148:1585:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;175:45;;;;;;;;-1:-1:-1;;;;;198:32:1;;;180:51;;168:2;153:18;175:45:0;;;;;;;;294:18;;;;;-1:-1:-1;;;;;294:18:0;;;351:50;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;800:14:1;;793:22;775:41;;763:2;748:18;351:50:0;635:187:1;319:25:0;;;;;-1:-1:-1;;;;;319:25:0;;;577:192;;;;;;:::i;:::-;;:::i;:::-;;1024:140;;;;;;:::i;:::-;;:::i;777:239::-;;;;;;:::i;:::-;;:::i;1529:201::-;;;:::i;227:23::-;;;;;-1:-1:-1;;;;;227:23:0;;;1172:171;;;:::i;257:30::-;;;;;-1:-1:-1;;;;;257:30:0;;;1351:170;;;;;;:::i;:::-;;:::i;577:192::-;672:8;;-1:-1:-1;;;;;672:8:0;658:10;:22;650:57;;;;-1:-1:-1;;;650:57:0;;1666:2:1;650:57:0;;;1648:21:1;1705:2;1685:18;;;1678:30;-1:-1:-1;;;1724:18:1;;;1717:52;1786:18;;650:57:0;;;;;;;;;718:32;;;;:20;:32;;;;;;:43;;-1:-1:-1;;718:43:0;;;;;;;;;;577:192::o;1024:140::-;1103:3;;-1:-1:-1;;;;;1103:3:0;1089:10;:17;1081:47;;;;-1:-1:-1;;;1081:47:0;;2017:2:1;1081:47:0;;;1999:21:1;2056:2;2036:18;;;2029:30;-1:-1:-1;;;2075:18:1;;;2068:47;2132:18;;1081:47:0;1815:341:1;1081:47:0;1139:10;:17;;-1:-1:-1;;;;;;1139:17:0;-1:-1:-1;;;;;1139:17:0;;;;;;;;;;1024:140::o;777:239::-;859:3;;-1:-1:-1;;;;;859:3:0;845:10;:17;837:47;;;;-1:-1:-1;;;837:47:0;;2017:2:1;837:47:0;;;1999:21:1;2056:2;2036:18;;;2029:30;-1:-1:-1;;;2075:18:1;;;2068:47;2132:18;;837:47:0;1815:341:1;837:47:0;903:32;;;;:20;:32;;;;;;;;895:70;;;;-1:-1:-1;;;895:70:0;;2363:2:1;895:70:0;;;2345:21:1;2402:2;2382:18;;;2375:30;2441:27;2421:18;;;2414:55;2486:18;;895:70:0;2161:349:1;895:70:0;976:32;;-1:-1:-1;;;976:32:0;;;;;2661:25:1;;;976:13:0;-1:-1:-1;;;;;976:20:0;;;;2634:18:1;;976:32:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;777:239;:::o;1529:201::-;1596:15;;-1:-1:-1;;;;;1596:15:0;1582:10;:29;1574:72;;;;-1:-1:-1;;;1574:72:0;;2899:2:1;1574:72:0;;;2881:21:1;2938:2;2918:18;;;2911:30;2977:32;2957:18;;;2950:60;3027:18;;1574:72:0;2697:354:1;1574:72:0;1668:15;;;;1657:26;;-1:-1:-1;;;;;;1657:26:0;;;-1:-1:-1;;;;;1668:15:0;;1657:26;;;;1694:28;;;1529:201::o;1172:171::-;1234:10;;-1:-1:-1;;;;;1234:10:0;1220;:24;1212:62;;;;-1:-1:-1;;;1212:62:0;;3258:2:1;1212:62:0;;;3240:21:1;3297:2;3277:18;;;3270:30;3336:27;3316:18;;;3309:55;3381:18;;1212:62:0;3056:349:1;1212:62:0;1291:10;;;1285:3;:16;;-1:-1:-1;;;;;;1285:16:0;;;-1:-1:-1;;;;;1291:10:0;;1285:16;;;;1312:23;;;1172:171::o;1351:170::-;1440:8;;-1:-1:-1;;;;;1440:8:0;1426:10;:22;1418:57;;;;-1:-1:-1;;;1418:57:0;;1666:2:1;1418:57:0;;;1648:21:1;1705:2;1685:18;;;1678:30;-1:-1:-1;;;1724:18:1;;;1717:52;1786:18;;1418:57:0;1464:346:1;1418:57:0;1486:15;:27;;-1:-1:-1;;;;;;1486:27:0;-1:-1:-1;;;;;1486:27:0;;;;;;;;;;1351:170::o;450:180:1:-;509:6;562:2;550:9;541:7;537:23;533:32;530:52;;;578:1;575;568:12;530:52;-1:-1:-1;601:23:1;;450:180;-1:-1:-1;450:180:1:o;827:341::-;892:6;900;953:2;941:9;932:7;928:23;924:32;921:52;;;969:1;966;959:12;921:52;1005:9;992:23;982:33;;1065:2;1054:9;1050:18;1037:32;1112:5;1105:13;1098:21;1091:5;1088:32;1078:60;;1134:1;1131;1124:12;1078:60;1157:5;1147:15;;;827:341;;;;;:::o;1173:286::-;1232:6;1285:2;1273:9;1264:7;1260:23;1256:32;1253:52;;;1301:1;1298;1291:12;1253:52;1327:23;;-1:-1:-1;;;;;1379:31:1;;1369:42;;1359:70;;1425:1;1422;1415:12;1359:70;1448:5;1173:286;-1:-1:-1;;;1173:286:1:o

Swarm Source

ipfs://58ede60458ba1035d3db1b82a2c13a00a3e3e71cfbff9b6eebb5c9ca1f772a08

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.