Contract 0x007A0F48A4e3d74Ab4234adf9eA9EB32f87b4b14 8

Contract Overview

Balance:
0 ETH
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xf3d148e2fbf1c3db2ee118c1c1e5d921b84f8dd9cbb3c09c8c581bc231ba9d91Set Owner19310812022-11-28 18:29:58296 days 13 hrs ago0x1a5309f208f161a393e8b5a253de8ab894a67188 IN  0x007a0f48a4e3d74ab4234adf9ea9eb32f87b4b140 ETH0.000011340.1
0x7fba0e18578f8adcd1ae1cfbfc44036fdf774207387989e5aec3a913cca91cfeSet User Role19310592022-11-28 18:29:23296 days 13 hrs ago0x1a5309f208f161a393e8b5a253de8ab894a67188 IN  0x007a0f48a4e3d74ab4234adf9ea9eb32f87b4b140 ETH0.000015340.1
0x34dc91e0b61a974cbb2b9134bba6cf6b19eb090fbc864ff5ae469250b3c069fcSet User Role19310572022-11-28 18:29:16296 days 13 hrs ago0x1a5309f208f161a393e8b5a253de8ab894a67188 IN  0x007a0f48a4e3d74ab4234adf9ea9eb32f87b4b140 ETH0.000017050.1
0x7c57eebaf2f000e678c53209d1b83c9d828bf955764fab913bba6d33a383faf4Set User Role19310542022-11-28 18:29:09296 days 13 hrs ago0x1a5309f208f161a393e8b5a253de8ab894a67188 IN  0x007a0f48a4e3d74ab4234adf9ea9eb32f87b4b140 ETH0.000015340.1
0xff16bf551c0f2ca3aac08e21cb7646f97563366f5f5019830d4fd19759adddb8Set User Role19310392022-11-28 18:29:02296 days 13 hrs ago0x1a5309f208f161a393e8b5a253de8ab894a67188 IN  0x007a0f48a4e3d74ab4234adf9ea9eb32f87b4b140 ETH0.000018240.1
0x4425134d8b93220dbbaa8c35c449335334cd9451acf9ee1c63d4937a8590d89bSet Role Capabil...19310352022-11-28 18:28:54296 days 13 hrs ago0x1a5309f208f161a393e8b5a253de8ab894a67188 IN  0x007a0f48a4e3d74ab4234adf9ea9eb32f87b4b140 ETH0.000020330.1
0x70552bb284f8c8adbbff70206d3f649a720b98633593b5b367930754cc821f9dSet Role Capabil...19310312022-11-28 18:28:47296 days 13 hrs ago0x1a5309f208f161a393e8b5a253de8ab894a67188 IN  0x007a0f48a4e3d74ab4234adf9ea9eb32f87b4b140 ETH0.000020330.1
0xec2810c8a5f4f5760fe0da1b2367cd604998f0c97989b3534cff7924f517de89Set Role Capabil...19310252022-11-28 18:28:40296 days 13 hrs ago0x1a5309f208f161a393e8b5a253de8ab894a67188 IN  0x007a0f48a4e3d74ab4234adf9ea9eb32f87b4b140 ETH0.000020330.1
0x616f4d6ce2dd05800e22ea117b7bf49920f252e0da7ffbdffcadca2946eb22ecSet Role Capabil...19310232022-11-28 18:28:33296 days 13 hrs ago0x1a5309f208f161a393e8b5a253de8ab894a67188 IN  0x007a0f48a4e3d74ab4234adf9ea9eb32f87b4b140 ETH0.000020330.1
0x0454629c6e10bcc083432ecf8038b40ddc5496368b8b5f3cfe95e7744de43c04Set Role Capabil...19310182022-11-28 18:28:26296 days 13 hrs ago0x1a5309f208f161a393e8b5a253de8ab894a67188 IN  0x007a0f48a4e3d74ab4234adf9ea9eb32f87b4b140 ETH0.000020330.1
0x7f5056d252a5187fcde57928e6eb33e5df621bef3311395e0d0fb396ceab70f1Set Role Capabil...19310142022-11-28 18:28:19296 days 13 hrs ago0x1a5309f208f161a393e8b5a253de8ab894a67188 IN  0x007a0f48a4e3d74ab4234adf9ea9eb32f87b4b140 ETH0.000020330.1
0xe7703c602b2e29776ee3c1023d71f1ff059cbf9ce57cec8fe48bc9ed90140421Set Role Capabil...19310122022-11-28 18:28:12296 days 13 hrs ago0x1a5309f208f161a393e8b5a253de8ab894a67188 IN  0x007a0f48a4e3d74ab4234adf9ea9eb32f87b4b140 ETH0.000020330.1
0x9053981316ccd844ffb3e7f3a1a60c63d0713266aa97930c8d99276818f5896dSet Role Capabil...19310072022-11-28 18:28:05296 days 13 hrs ago0x1a5309f208f161a393e8b5a253de8ab894a67188 IN  0x007a0f48a4e3d74ab4234adf9ea9eb32f87b4b140 ETH0.000020330.1
0x7765619fa092f25dead9c97b77d7518783bebf4896c2d444374c3235dc7a5e9cSet Role Capabil...19310042022-11-28 18:27:58296 days 13 hrs ago0x1a5309f208f161a393e8b5a253de8ab894a67188 IN  0x007a0f48a4e3d74ab4234adf9ea9eb32f87b4b140 ETH0.000020330.1
[ Download CSV Export 
Latest 17 internal transactions
Parent Txn Hash Block From To Value
0x14a80a28f2181cca5185b9535700aeb532f2297ef91b55779d4bad1649992ac0278255792023-06-24 1:47:1489 days 5 hrs ago 0x007a66a2a13415db3613c1a4dd1c942a285902d1 0x007a0f48a4e3d74ab4234adf9ea9eb32f87b4b140 ETH
0x67b97b6ae0228d291161bb7763f8a6e248326812dd99462ba003b5c2b013561e278255542023-06-24 1:47:0789 days 5 hrs ago 0x007a66a2a13415db3613c1a4dd1c942a285902d1 0x007a0f48a4e3d74ab4234adf9ea9eb32f87b4b140 ETH
0x00973f3fb596ee5440e2ebf2751a853fad9362f401787260b13603f3b14aeed4195896082023-05-12 19:19:52131 days 12 hrs ago 0x007a66a2a13415db3613c1a4dd1c942a285902d1 0x007a0f48a4e3d74ab4234adf9ea9eb32f87b4b140 ETH
0x0deac568fdf4b733a6ad44ddc4e651bd4c9723e6725cc932f17f9298589175a6195895972023-05-12 19:19:45131 days 12 hrs ago 0x007a66a2a13415db3613c1a4dd1c942a285902d1 0x007a0f48a4e3d74ab4234adf9ea9eb32f87b4b140 ETH
0xec3842a5e01049f4ae80bd6ac524a1a8a576910a6f758c67bb84d3a3c2f6b9fd189285542023-05-05 14:43:57138 days 16 hrs ago 0x007a66a2a13415db3613c1a4dd1c942a285902d1 0x007a0f48a4e3d74ab4234adf9ea9eb32f87b4b140 ETH
0x87de6ea4b1473bac4107fcafd73b7e1ef93c84ca80f50b51b393371294dd3570189285362023-05-05 14:43:50138 days 16 hrs ago 0x007a66a2a13415db3613c1a4dd1c942a285902d1 0x007a0f48a4e3d74ab4234adf9ea9eb32f87b4b140 ETH
0xf92929cc7b17da3a2584f4241531268d3f14701ccf499e4720b2765eb3f224ac189285242023-05-05 14:43:43138 days 16 hrs ago 0x007a66a2a13415db3613c1a4dd1c942a285902d1 0x007a0f48a4e3d74ab4234adf9ea9eb32f87b4b140 ETH
0xd16ea14135fb77e0cb1a3bdae5b84d3ea6e1509f0d581e62d791b33aa0f6e851189285162023-05-05 14:43:36138 days 16 hrs ago 0x007a66a2a13415db3613c1a4dd1c942a285902d1 0x007a0f48a4e3d74ab4234adf9ea9eb32f87b4b140 ETH
0xb241ae208ab894890df8706e9d888aaa8d5e04f5e5d2f95130332ecf2d6253d9189281782023-05-05 14:39:01138 days 17 hrs ago 0x007a66a2a13415db3613c1a4dd1c942a285902d1 0x007a0f48a4e3d74ab4234adf9ea9eb32f87b4b140 ETH
0xfd9ea4309436c1139555b7e2592127bba04793f3c7909e1feb0e3ebed28221d8189281672023-05-05 14:38:54138 days 17 hrs ago 0x007a66a2a13415db3613c1a4dd1c942a285902d1 0x007a0f48a4e3d74ab4234adf9ea9eb32f87b4b140 ETH
0xe786f271f3cb1e99790509ca7b1f550610c5cc523cc7aba182c0b10bec7099b0189274152023-05-05 14:29:05138 days 17 hrs ago 0x007a66a2a13415db3613c1a4dd1c942a285902d1 0x007a0f48a4e3d74ab4234adf9ea9eb32f87b4b140 ETH
0x22dac1fcb37316afef78d285066f35f90fb1b574b6963ff991c49ae950390313189274062023-05-05 14:28:58138 days 17 hrs ago 0x007a66a2a13415db3613c1a4dd1c942a285902d1 0x007a0f48a4e3d74ab4234adf9ea9eb32f87b4b140 ETH
0xfc4573327ae2d557b364a714fc04b4f16c21e522675bde2f9bf1ae66f68c5b9919310762022-11-28 18:29:51296 days 13 hrs ago 0x007f7a1cb838a872515c8ebd16be4b14ef43a222 0x007a0f48a4e3d74ab4234adf9ea9eb32f87b4b140 ETH
0x4ab17aed67e3955bc930a942db0c14ace92fefec699b47cf568024212e79c7c919310732022-11-28 18:29:44296 days 13 hrs ago 0x007fea32545a39ff558a1367bbbc1a22bc7abefd 0x007a0f48a4e3d74ab4234adf9ea9eb32f87b4b140 ETH
0x2a60bad40d6481dac989e0bfb65bd43f731c1f046ad4cbc3710518b260127c5d19310712022-11-28 18:29:37296 days 13 hrs ago 0x007a66a2a13415db3613c1a4dd1c942a285902d1 0x007a0f48a4e3d74ab4234adf9ea9eb32f87b4b140 ETH
0x656f3166b893f52f958a3e46fdf16e60a3983f326acded7b0440fcbbf22c762a19310672022-11-28 18:29:30296 days 13 hrs ago 0x007a66a2a13415db3613c1a4dd1c942a285902d1 0x007a0f48a4e3d74ab4234adf9ea9eb32f87b4b140 ETH
0x35c52b871acbcc6c25a017fceea4554bdea2f5e0990fa3409b915fcd870fbd8e19309712022-11-28 18:27:15296 days 13 hrs ago 0x4e59b44847b379578588920ca78fbf26c0b4956c  Contract Creation0 ETH
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
RolesAuthority

Compiler Version
v0.8.15+commit.e14f2714

Optimization Enabled:
Yes with 100000 runs

Other Settings:
default evmVersion
File 1 of 2 : Auth.sol
// SPDX-License-Identifier: AGPL-3.0-only
pragma solidity >=0.8.0;

/// @notice Provides a flexible and updatable auth pattern which is completely separate from application logic.
/// @author Solmate (https://github.com/Rari-Capital/solmate/blob/main/src/auth/Auth.sol)
/// @author Modified from Dappsys (https://github.com/dapphub/ds-auth/blob/master/src/auth.sol)
abstract contract Auth {
    event OwnerUpdated(address indexed user, address indexed newOwner);

    event AuthorityUpdated(address indexed user, Authority indexed newAuthority);

    address public owner;

    Authority public authority;

    constructor(address _owner, Authority _authority) {
        owner = _owner;
        authority = _authority;

        emit OwnerUpdated(msg.sender, _owner);
        emit AuthorityUpdated(msg.sender, _authority);
    }

    modifier requiresAuth() {
        require(isAuthorized(msg.sender, msg.sig), "UNAUTHORIZED");

        _;
    }

    function isAuthorized(address user, bytes4 functionSig) internal view virtual returns (bool) {
        Authority auth = authority; // Memoizing authority saves us a warm SLOAD, around 100 gas.

        // Checking if the caller is the owner only after calling the authority saves gas in most cases, but be
        // aware that this makes protected functions uncallable even to the owner if the authority is out of order.
        return (address(auth) != address(0) && auth.canCall(user, address(this), functionSig)) || user == owner;
    }

    function setAuthority(Authority newAuthority) public virtual {
        // We check if the caller is the owner first because we want to ensure they can
        // always swap out the authority even if it's reverting or using up a lot of gas.
        require(msg.sender == owner || authority.canCall(msg.sender, address(this), msg.sig));

        authority = newAuthority;

        emit AuthorityUpdated(msg.sender, newAuthority);
    }

    function setOwner(address newOwner) public virtual requiresAuth {
        owner = newOwner;

        emit OwnerUpdated(msg.sender, newOwner);
    }
}

/// @notice A generic interface for a contract which provides authorization data to an Auth instance.
/// @author Solmate (https://github.com/Rari-Capital/solmate/blob/main/src/auth/Auth.sol)
/// @author Modified from Dappsys (https://github.com/dapphub/ds-auth/blob/master/src/auth.sol)
interface Authority {
    function canCall(
        address user,
        address target,
        bytes4 functionSig
    ) external view returns (bool);
}

File 2 of 2 : RolesAuthority.sol
// SPDX-License-Identifier: AGPL-3.0-only
pragma solidity >=0.8.0;

import {Auth, Authority} from "../Auth.sol";

/// @notice Role based Authority that supports up to 256 roles.
/// @author Solmate (https://github.com/Rari-Capital/solmate/blob/main/src/auth/authorities/RolesAuthority.sol)
/// @author Modified from Dappsys (https://github.com/dapphub/ds-roles/blob/master/src/roles.sol)
contract RolesAuthority is Auth, Authority {
    /*///////////////////////////////////////////////////////////////
                                  EVENTS
    //////////////////////////////////////////////////////////////*/

    event UserRoleUpdated(address indexed user, uint8 indexed role, bool enabled);

    event PublicCapabilityUpdated(address indexed target, bytes4 indexed functionSig, bool enabled);

    event RoleCapabilityUpdated(uint8 indexed role, address indexed target, bytes4 indexed functionSig, bool enabled);

    /*///////////////////////////////////////////////////////////////
                               CONSTRUCTOR
    //////////////////////////////////////////////////////////////*/

    constructor(address _owner, Authority _authority) Auth(_owner, _authority) {}

    /*///////////////////////////////////////////////////////////////
                            ROLE/USER STORAGE
    //////////////////////////////////////////////////////////////*/

    mapping(address => bytes32) public getUserRoles;

    mapping(address => mapping(bytes4 => bool)) public isCapabilityPublic;

    mapping(address => mapping(bytes4 => bytes32)) public getRolesWithCapability;

    function doesUserHaveRole(address user, uint8 role) public view virtual returns (bool) {
        return (uint256(getUserRoles[user]) >> role) & 1 != 0;
    }

    function doesRoleHaveCapability(
        uint8 role,
        address target,
        bytes4 functionSig
    ) public view virtual returns (bool) {
        return (uint256(getRolesWithCapability[target][functionSig]) >> role) & 1 != 0;
    }

    /*///////////////////////////////////////////////////////////////
                          AUTHORIZATION LOGIC
    //////////////////////////////////////////////////////////////*/

    function canCall(
        address user,
        address target,
        bytes4 functionSig
    ) public view virtual override returns (bool) {
        return
            isCapabilityPublic[target][functionSig] ||
            bytes32(0) != getUserRoles[user] & getRolesWithCapability[target][functionSig];
    }

    /*///////////////////////////////////////////////////////////////
                  ROLE CAPABILITY CONFIGURATION LOGIC
    //////////////////////////////////////////////////////////////*/

    function setPublicCapability(
        address target,
        bytes4 functionSig,
        bool enabled
    ) public virtual requiresAuth {
        isCapabilityPublic[target][functionSig] = enabled;

        emit PublicCapabilityUpdated(target, functionSig, enabled);
    }

    function setRoleCapability(
        uint8 role,
        address target,
        bytes4 functionSig,
        bool enabled
    ) public virtual requiresAuth {
        if (enabled) {
            getRolesWithCapability[target][functionSig] |= bytes32(1 << role);
        } else {
            getRolesWithCapability[target][functionSig] &= ~bytes32(1 << role);
        }

        emit RoleCapabilityUpdated(role, target, functionSig, enabled);
    }

    /*///////////////////////////////////////////////////////////////
                      USER ROLE ASSIGNMENT LOGIC
    //////////////////////////////////////////////////////////////*/

    function setUserRole(
        address user,
        uint8 role,
        bool enabled
    ) public virtual requiresAuth {
        if (enabled) {
            getUserRoles[user] |= bytes32(1 << role);
        } else {
            getUserRoles[user] &= ~bytes32(1 << role);
        }

        emit UserRoleUpdated(user, role, enabled);
    }
}

Settings
{
  "remappings": [
    "clones-with-immutable-args/=lib/clones-with-immutable-args/src/",
    "clones/=lib/clones-with-immutable-args/src/",
    "ds-test/=lib/ds-test/src/",
    "forge-std/=lib/forge-std/src/",
    "hardhat/=node_modules/hardhat/",
    "openzeppelin-contracts/=lib/openzeppelin-contracts/",
    "openzeppelin/=lib/openzeppelin-contracts/contracts/",
    "solidity-code-metrics/=node_modules/solidity-code-metrics/",
    "solmate/=lib/solmate/src/",
    "weird-erc20/=lib/solmate/lib/weird-erc20/src/"
  ],
  "optimizer": {
    "enabled": true,
    "runs": 100000
  },
  "metadata": {
    "bytecodeHash": "ipfs"
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "evmVersion": "london",
  "libraries": {}
}

Contract ABI

[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"contract Authority","name":"_authority","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"contract Authority","name":"newAuthority","type":"address"}],"name":"AuthorityUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"target","type":"address"},{"indexed":true,"internalType":"bytes4","name":"functionSig","type":"bytes4"},{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"PublicCapabilityUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint8","name":"role","type":"uint8"},{"indexed":true,"internalType":"address","name":"target","type":"address"},{"indexed":true,"internalType":"bytes4","name":"functionSig","type":"bytes4"},{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"RoleCapabilityUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"uint8","name":"role","type":"uint8"},{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"UserRoleUpdated","type":"event"},{"inputs":[],"name":"authority","outputs":[{"internalType":"contract Authority","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes4","name":"functionSig","type":"bytes4"}],"name":"canCall","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"role","type":"uint8"},{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes4","name":"functionSig","type":"bytes4"}],"name":"doesRoleHaveCapability","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint8","name":"role","type":"uint8"}],"name":"doesUserHaveRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"bytes4","name":"","type":"bytes4"}],"name":"getRolesWithCapability","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"getUserRoles","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"bytes4","name":"","type":"bytes4"}],"name":"isCapabilityPublic","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract Authority","name":"newAuthority","type":"address"}],"name":"setAuthority","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"setOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes4","name":"functionSig","type":"bytes4"},{"internalType":"bool","name":"enabled","type":"bool"}],"name":"setPublicCapability","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"role","type":"uint8"},{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes4","name":"functionSig","type":"bytes4"},{"internalType":"bool","name":"enabled","type":"bool"}],"name":"setRoleCapability","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint8","name":"role","type":"uint8"},{"internalType":"bool","name":"enabled","type":"bool"}],"name":"setUserRole","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b50604051610f7a380380610f7a83398101604081905261002f916100e1565b600080546001600160a01b03199081166001600160a01b0385811691821784556001805490931690851617909155604051849284929133917f8292fce18fa69edf4db7b94ea2e58241df0ae57f97e0a6c9b29067028bf92d7691a36040516001600160a01b0382169033907fa3396fd7f6e0a21b50e5089d2da70d5ac0a3bbbd1f617a93f134b7638998019890600090a35050505061011b565b6001600160a01b03811681146100de57600080fd5b50565b600080604083850312156100f457600080fd5b82516100ff816100c9565b6020840151909250610110816100c9565b809150509250929050565b610e508061012a6000396000f3fe608060405234801561001057600080fd5b50600436106100df5760003560e01c80637d40583d1161008c578063b700961311610066578063b700961314610285578063bf7e214f14610298578063c6b0263e146102b8578063ea7ca276146102cb57600080fd5b80637d40583d146101bb5780638da5cb5b146101ce578063b4bad06a1461021357600080fd5b806367aff484116100bd57806367aff4841461016a5780637917b7941461017d5780637a9e5e4b146101a857600080fd5b806306a36aee146100e457806313af4035146101175780632f47571f1461012c575b600080fd5b6101046100f2366004610bf0565b60026020526000908152604090205481565b6040519081526020015b60405180910390f35b61012a610125366004610bf0565b61030f565b005b61015a61013a366004610c49565b600360209081526000928352604080842090915290825290205460ff1681565b604051901515815260200161010e565b61012a610178366004610c9d565b610418565b61010461018b366004610c49565b600460209081526000928352604080842090915290825290205481565b61012a6101b6366004610bf0565b610576565b61012a6101c9366004610ce6565b6106d3565b6000546101ee9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161010e565b61015a610221366004610d3e565b73ffffffffffffffffffffffffffffffffffffffff9190911660009081526004602090815260408083207fffffffff0000000000000000000000000000000000000000000000000000000090941683529290522054600160ff929092161c16151590565b61015a610293366004610d83565b6108ac565b6001546101ee9073ffffffffffffffffffffffffffffffffffffffff1681565b61012a6102c6366004610da3565b610975565b61015a6102d9366004610dd1565b73ffffffffffffffffffffffffffffffffffffffff91909116600090815260026020526040902054600160ff9092161c16151590565b61033d336000357fffffffff0000000000000000000000000000000000000000000000000000000016610abb565b6103a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a4544000000000000000000000000000000000000000060448201526064015b60405180910390fd5b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081178255604051909133917f8292fce18fa69edf4db7b94ea2e58241df0ae57f97e0a6c9b29067028bf92d769190a350565b610446336000357fffffffff0000000000000000000000000000000000000000000000000000000016610abb565b6104ac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a45440000000000000000000000000000000000000000604482015260640161039f565b80156104e85773ffffffffffffffffffffffffffffffffffffffff831660009081526002602052604090208054600160ff85161b17905561051b565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602052604090208054600160ff85161b191690555b8160ff168373ffffffffffffffffffffffffffffffffffffffff167f4c9bdd0c8e073eb5eda2250b18d8e5121ff27b62064fbeeeed4869bb99bc5bf283604051610569911515815260200190565b60405180910390a3505050565b60005473ffffffffffffffffffffffffffffffffffffffff1633148061065957506001546040517fb70096130000000000000000000000000000000000000000000000000000000081523360048201523060248201526000357fffffffff0000000000000000000000000000000000000000000000000000000016604482015273ffffffffffffffffffffffffffffffffffffffff9091169063b700961390606401602060405180830381865afa158015610635573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106599190610dfd565b61066257600080fd5b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831690811790915560405133907fa3396fd7f6e0a21b50e5089d2da70d5ac0a3bbbd1f617a93f134b7638998019890600090a350565b610701336000357fffffffff0000000000000000000000000000000000000000000000000000000016610abb565b610767576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a45440000000000000000000000000000000000000000604482015260640161039f565b80156107d05773ffffffffffffffffffffffffffffffffffffffff831660009081526004602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000008616845290915290208054600160ff87161b179055610830565b73ffffffffffffffffffffffffffffffffffffffff831660009081526004602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000008616845290915290208054600160ff87161b191690555b817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168373ffffffffffffffffffffffffffffffffffffffff168560ff167fa52ea92e6e955aa8ac66420b86350f7139959adfcc7e6a14eee1bd116d09860e8460405161089e911515815260200190565b60405180910390a450505050565b73ffffffffffffffffffffffffffffffffffffffff821660009081526003602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000008516845290915281205460ff168061096d575073ffffffffffffffffffffffffffffffffffffffff80841660009081526004602090815260408083207fffffffff0000000000000000000000000000000000000000000000000000000087168452825280832054938816835260029091529020541615155b949350505050565b6109a3336000357fffffffff0000000000000000000000000000000000000000000000000000000016610abb565b610a09576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a45440000000000000000000000000000000000000000604482015260640161039f565b73ffffffffffffffffffffffffffffffffffffffff831660008181526003602090815260408083207fffffffff0000000000000000000000000000000000000000000000000000000087168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f950a343f5d10445e82a71036d3f4fb3016180a25805141932543b83e2078a93e9101610569565b60015460009073ffffffffffffffffffffffffffffffffffffffff168015801590610b9f57506040517fb700961300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301523060248301527fffffffff000000000000000000000000000000000000000000000000000000008516604483015282169063b700961390606401602060405180830381865afa158015610b7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b9f9190610dfd565b8061096d575060005473ffffffffffffffffffffffffffffffffffffffff858116911614949350505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610bed57600080fd5b50565b600060208284031215610c0257600080fd5b8135610c0d81610bcb565b9392505050565b80357fffffffff0000000000000000000000000000000000000000000000000000000081168114610c4457600080fd5b919050565b60008060408385031215610c5c57600080fd5b8235610c6781610bcb565b9150610c7560208401610c14565b90509250929050565b803560ff81168114610c4457600080fd5b8015158114610bed57600080fd5b600080600060608486031215610cb257600080fd5b8335610cbd81610bcb565b9250610ccb60208501610c7e565b91506040840135610cdb81610c8f565b809150509250925092565b60008060008060808587031215610cfc57600080fd5b610d0585610c7e565b93506020850135610d1581610bcb565b9250610d2360408601610c14565b91506060850135610d3381610c8f565b939692955090935050565b600080600060608486031215610d5357600080fd5b610d5c84610c7e565b92506020840135610d6c81610bcb565b9150610d7a60408501610c14565b90509250925092565b600080600060608486031215610d9857600080fd5b8335610d5c81610bcb565b600080600060608486031215610db857600080fd5b8335610dc381610bcb565b9250610ccb60208501610c14565b60008060408385031215610de457600080fd5b8235610def81610bcb565b9150610c7560208401610c7e565b600060208284031215610e0f57600080fd5b8151610c0d81610c8f56fea2646970667358221220e89f2fa5ce86ea7454549f2338a016c5abd30b946b3312af04b491682561a15964736f6c634300080f00330000000000000000000000001a5309f208f161a393e8b5a253de8ab894a671880000000000000000000000000000000000000000000000000000000000000000

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

0000000000000000000000001a5309f208f161a393e8b5a253de8ab894a671880000000000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _owner (address): 0x1a5309f208f161a393e8b5a253de8ab894a67188
Arg [1] : _authority (address): 0x0000000000000000000000000000000000000000

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000001a5309f208f161a393e8b5a253de8ab894a67188
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000000


Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading