HYPE Price: $23.61 (+6.66%)
 

Overview

HYPE Balance

HyperEVM LogoHyperEVM LogoHyperEVM Logo0 HYPE

HYPE Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Block
From
To
Transfer Ownersh...222644932025-12-19 14:05:0038 days ago1766153100IN
0x85717D60...c24f8bAD0
0 HYPE0.000006610.21535698
Set Role Capabil...222644322025-12-19 14:04:0038 days ago1766153040IN
0x85717D60...c24f8bAD0
0 HYPE0.000006580.21535698
Set Role Capabil...222644322025-12-19 14:04:0038 days ago1766153040IN
0x85717D60...c24f8bAD0
0 HYPE0.000006580.21535698
Set Role Capabil...222643712025-12-19 14:03:0038 days ago1766152980IN
0x85717D60...c24f8bAD0
0 HYPE0.000008150.26651111
Set Role Capabil...222643712025-12-19 14:03:0038 days ago1766152980IN
0x85717D60...c24f8bAD0
0 HYPE0.000008150.26651111
Set Role Capabil...222643712025-12-19 14:03:0038 days ago1766152980IN
0x85717D60...c24f8bAD0
0 HYPE0.000008150.26651111
Set Role Capabil...222643712025-12-19 14:03:0038 days ago1766152980IN
0x85717D60...c24f8bAD0
0 HYPE0.000008150.26651111
Set Role Capabil...222643712025-12-19 14:03:0038 days ago1766152980IN
0x85717D60...c24f8bAD0
0 HYPE0.000013450.26651111
Set Role Capabil...222643712025-12-19 14:03:0038 days ago1766152980IN
0x85717D60...c24f8bAD0
0 HYPE0.000013450.26651111
Set Role Capabil...222643712025-12-19 14:03:0038 days ago1766152980IN
0x85717D60...c24f8bAD0
0 HYPE0.000013450.26651111
Set Role Capabil...222643712025-12-19 14:03:0038 days ago1766152980IN
0x85717D60...c24f8bAD0
0 HYPE0.000013450.26651111
Set Role Capabil...222643102025-12-19 14:02:0038 days ago1766152920IN
0x85717D60...c24f8bAD0
0 HYPE0.000016770.54837516
Set Role Capabil...222643102025-12-19 14:02:0038 days ago1766152920IN
0x85717D60...c24f8bAD0
0 HYPE0.000027680.54837516
Set Role Capabil...222643102025-12-19 14:02:0038 days ago1766152920IN
0x85717D60...c24f8bAD0
0 HYPE0.000027680.54837516
Set Role Capabil...222643102025-12-19 14:02:0038 days ago1766152920IN
0x85717D60...c24f8bAD0
0 HYPE0.000027680.54837516
Set Role Capabil...222643102025-12-19 14:02:0038 days ago1766152920IN
0x85717D60...c24f8bAD0
0 HYPE0.000027680.54837516
Set Role Capabil...222643102025-12-19 14:02:0038 days ago1766152920IN
0x85717D60...c24f8bAD0
0 HYPE0.000027680.54837516
Set Role Capabil...222643102025-12-19 14:02:0038 days ago1766152920IN
0x85717D60...c24f8bAD0
0 HYPE0.000027680.54837516
Set Role Capabil...222643102025-12-19 14:02:0038 days ago1766152920IN
0x85717D60...c24f8bAD0
0 HYPE0.000027680.54837516
Set Role Capabil...222642492025-12-19 14:01:0038 days ago1766152860IN
0x85717D60...c24f8bAD0
0 HYPE0.000038360.76002099
Set Role Capabil...222642492025-12-19 14:01:0038 days ago1766152860IN
0x85717D60...c24f8bAD0
0 HYPE0.000023240.76002099
Set Role Capabil...222642492025-12-19 14:01:0038 days ago1766152860IN
0x85717D60...c24f8bAD0
0 HYPE0.000038360.76002099
Set Role Capabil...222642492025-12-19 14:01:0038 days ago1766152860IN
0x85717D60...c24f8bAD0
0 HYPE0.000038360.76002099
Set Role Capabil...222642492025-12-19 14:01:0038 days ago1766152860IN
0x85717D60...c24f8bAD0
0 HYPE0.000038360.76002099
Set Role Capabil...222642492025-12-19 14:01:0038 days ago1766152860IN
0x85717D60...c24f8bAD0
0 HYPE0.000038360.76002099
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
256090842026-01-26 16:00:011 hr ago1769443201
0x85717D60...c24f8bAD0
0 HYPE
255982262026-01-26 13:02:014 hrs ago1769432521
0x85717D60...c24f8bAD0
0 HYPE
255926162026-01-26 11:30:025 hrs ago1769427002
0x85717D60...c24f8bAD0
0 HYPE
255871362026-01-26 10:00:127 hrs ago1769421612
0x85717D60...c24f8bAD0
0 HYPE
255852962026-01-26 9:30:027 hrs ago1769419802
0x85717D60...c24f8bAD0
0 HYPE
255743162026-01-26 6:30:0210 hrs ago1769409002
0x85717D60...c24f8bAD0
0 HYPE
255737112026-01-26 6:20:0710 hrs ago1769408407
0x85717D60...c24f8bAD0
0 HYPE
255633412026-01-26 3:30:0713 hrs ago1769398207
0x85717D60...c24f8bAD0
0 HYPE
255493052026-01-25 23:40:0117 hrs ago1769384401
0x85717D60...c24f8bAD0
0 HYPE
255285732026-01-25 18:00:0923 hrs ago1769364009
0x85717D60...c24f8bAD0
0 HYPE
255225912026-01-25 16:22:0524 hrs ago1769358125
0x85717D60...c24f8bAD0
0 HYPE
255084352026-01-25 12:30:0128 hrs ago1769344201
0x85717D60...c24f8bAD0
0 HYPE
254755002026-01-25 3:30:0637 hrs ago1769311806
0x85717D60...c24f8bAD0
0 HYPE
254736652026-01-25 3:00:0138 hrs ago1769310001
0x85717D60...c24f8bAD0
0 HYPE
254700112026-01-25 2:00:0739 hrs ago1769306407
0x85717D60...c24f8bAD0
0 HYPE
254602482026-01-24 23:20:0441 hrs ago1769296804
0x85717D60...c24f8bAD0
0 HYPE
254504912026-01-24 20:40:0744 hrs ago1769287207
0x85717D60...c24f8bAD0
0 HYPE
254407312026-01-24 18:00:0747 hrs ago1769277607
0x85717D60...c24f8bAD0
0 HYPE
254005532026-01-24 7:00:022 days ago1769238002
0x85717D60...c24f8bAD0
0 HYPE
253981172026-01-24 6:20:062 days ago1769235606
0x85717D60...c24f8bAD0
0 HYPE
253785972026-01-24 1:00:062 days ago1769216406
0x85717D60...c24f8bAD0
0 HYPE
253724922026-01-23 23:20:012 days ago1769210401
0x85717D60...c24f8bAD0
0 HYPE
253541922026-01-23 18:20:012 days ago1769192401
0x85717D60...c24f8bAD0
0 HYPE
253468722026-01-23 16:20:013 days ago1769185201
0x85717D60...c24f8bAD0
0 HYPE
253407722026-01-23 14:40:013 days ago1769179201
0x85717D60...c24f8bAD0
0 HYPE
View All Internal Transactions
Cross-Chain Transactions
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0x763ab450...5a1BFA215
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
MultiRolesAuthority

Compiler Version
v0.8.29+commit.ab55807c

Optimization Enabled:
Yes with 10000 runs

Other Settings:
shanghai EvmVersion

Contract Source Code (Solidity Standard Json-Input format)

// SPDX-License-Identifier: AGPL-3.0-only
pragma solidity >=0.8.0;

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

/// @notice Flexible and target agnostic role based Authority that supports up to 256 roles.
/// @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/auth/authorities/MultiRolesAuthority.sol)
contract MultiRolesAuthority is Auth, Authority {
    /*//////////////////////////////////////////////////////////////
                                 EVENTS
    //////////////////////////////////////////////////////////////*/

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

    event PublicCapabilityUpdated(bytes4 indexed functionSig, bool enabled);

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

    event TargetCustomAuthorityUpdated(address indexed target, Authority indexed authority);

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

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

    /*//////////////////////////////////////////////////////////////
                     CUSTOM TARGET AUTHORITY STORAGE
    //////////////////////////////////////////////////////////////*/

    mapping(address => Authority) public getTargetCustomAuthority;

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

    mapping(address => bytes32) public getUserRoles;

    mapping(bytes4 => bool) public isCapabilityPublic;

    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, bytes4 functionSig) public view virtual returns (bool) {
        return (uint256(getRolesWithCapability[functionSig]) >> role) & 1 != 0;
    }

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

    function canCall(
        address user,
        address target,
        bytes4 functionSig
    ) public view virtual override returns (bool) {
        Authority customAuthority = getTargetCustomAuthority[target];

        if (address(customAuthority) != address(0)) return customAuthority.canCall(user, target, functionSig);

        return
            isCapabilityPublic[functionSig] || bytes32(0) != getUserRoles[user] & getRolesWithCapability[functionSig];
    }

    /*///////////////////////////////////////////////////////////////
               CUSTOM TARGET AUTHORITY CONFIGURATION LOGIC
    //////////////////////////////////////////////////////////////*/

    function setTargetCustomAuthority(address target, Authority customAuthority) public virtual requiresAuth {
        getTargetCustomAuthority[target] = customAuthority;

        emit TargetCustomAuthorityUpdated(target, customAuthority);
    }

    /*//////////////////////////////////////////////////////////////
                  PUBLIC CAPABILITY CONFIGURATION LOGIC
    //////////////////////////////////////////////////////////////*/

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

        emit PublicCapabilityUpdated(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);
    }

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

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

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

// 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/transmissions11/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 OwnershipTransferred(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 OwnershipTransferred(msg.sender, _owner);
        emit AuthorityUpdated(msg.sender, _authority);
    }

    modifier requiresAuth() virtual {
        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 transferOwnership(address newOwner) public virtual requiresAuth {
        owner = newOwner;

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

/// @notice A generic interface for a contract which provides authorization data to an Auth instance.
/// @author Solmate (https://github.com/transmissions11/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);
}

Settings
{
  "remappings": [
    "@openzeppelin/contracts/=node_modules/@openzeppelin/contracts/",
    "@openzeppelin/contracts-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/",
    "forge-std/=lib/forge-std/",
    "solmate/=node_modules/solmate/src/",
    "solady/=node_modules/solady/src/",
    "layerzerolabs/=node_modules/@layerzerolabs/",
    "@axelar-network/=node_modules/@axelar-network/",
    "@chainlink/=node_modules/@chainlink/",
    "@eth-optimism/=node_modules/@eth-optimism/",
    "@layerzerolabs/=node_modules/@layerzerolabs/",
    "hardhat-deploy/=node_modules/hardhat-deploy/",
    "solidity-bytes-utils/=node_modules/solidity-bytes-utils/"
  ],
  "optimizer": {
    "enabled": true,
    "runs": 10000
  },
  "metadata": {
    "useLiteralContent": false,
    "bytecodeHash": "none",
    "appendCBOR": true
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "evmVersion": "shanghai",
  "viaIR": false
}

Contract Security Audit

Contract ABI

API
[{"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":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"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":"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":"target","type":"address"},{"indexed":true,"internalType":"contract Authority","name":"authority","type":"address"}],"name":"TargetCustomAuthorityUpdated","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":"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":"bytes4","name":"","type":"bytes4"}],"name":"getRolesWithCapability","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"getTargetCustomAuthority","outputs":[{"internalType":"contract Authority","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"getUserRoles","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"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":"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":"bytes4","name":"functionSig","type":"bytes4"},{"internalType":"bool","name":"enabled","type":"bool"}],"name":"setRoleCapability","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"contract Authority","name":"customAuthority","type":"address"}],"name":"setTargetCustomAuthority","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"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

0x608060405234801561000f575f5ffd5b5060405161108838038061108883398101604081905261002e916100dd565b5f80546001600160a01b03199081166001600160a01b0385811691821784556001805490931690851617909155604051849284929133917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36040516001600160a01b0382169033907fa3396fd7f6e0a21b50e5089d2da70d5ac0a3bbbd1f617a93f134b76389980198905f90a350505050610115565b6001600160a01b03811681146100da575f5ffd5b50565b5f5f604083850312156100ee575f5ffd5b82516100f9816100c6565b602084015190925061010a816100c6565b809150509250929050565b610f66806101225f395ff3fe608060405234801561000f575f5ffd5b50600436106100f0575f3560e01c80638da5cb5b11610093578063e688747b11610063578063e688747b14610265578063ea7ca276146102b2578063ed0d0efb146102f5578063f2fde38b14610314575f5ffd5b80638da5cb5b146101b9578063b7009613146101fd578063bf7e214f14610210578063c53a398514610230575f5ffd5b80634b5159da116100ce5780634b5159da1461016d57806367aff48414610180578063728b952b146101935780637a9e5e4b146101a6575f5ffd5b806306a36aee146100f45780630bade8a4146101265780630ea9b75b14610158575b5f5ffd5b610113610102366004610d4a565b60036020525f908152604090205481565b6040519081526020015b60405180910390f35b610148610134366004610d99565b60046020525f908152604090205460ff1681565b604051901515815260200161011d565b61016b610166366004610dcf565b610327565b005b61016b61017b366004610e13565b6104a8565b61016b61018e366004610e48565b6105d0565b61016b6101a1366004610e73565b61071e565b61016b6101b4366004610d4a565b61082c565b5f546101d89073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161011d565b61014861020b366004610e9f565b610983565b6001546101d89073ffffffffffffffffffffffffffffffffffffffff1681565b6101d861023e366004610d4a565b60026020525f908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b610148610273366004610ee3565b7fffffffff00000000000000000000000000000000000000000000000000000000165f9081526005602052604090205460ff919091161c600116151590565b6101486102c0366004610f14565b73ffffffffffffffffffffffffffffffffffffffff919091165f90815260036020526040902054600160ff9092161c16151590565b610113610303366004610d99565b60056020525f908152604090205481565b61016b610322366004610d4a565b610b17565b610354335f357fffffffff0000000000000000000000000000000000000000000000000000000016610c19565b6103bf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a4544000000000000000000000000000000000000000060448201526064015b60405180910390fd5b8015610406577fffffffff0000000000000000000000000000000000000000000000000000000082165f9081526005602052604090208054600160ff86161b179055610444565b7fffffffff0000000000000000000000000000000000000000000000000000000082165f9081526005602052604090208054600160ff86161b191690555b817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168360ff167fbfe16b2c35ce23dfd1ab0e7b5d086a10060c9b52d1574e1680c881b3b3a2b1518360405161049b911515815260200190565b60405180910390a3505050565b6104d5335f357fffffffff0000000000000000000000000000000000000000000000000000000016610c19565b61053b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a4544000000000000000000000000000000000000000060448201526064016103b6565b7fffffffff0000000000000000000000000000000000000000000000000000000082165f8181526004602090815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001685151590811790915591519182527f36d28126bef21a4f3765d7fcb7c45cead463ae4c41094ef3b771ede598544103910160405180910390a25050565b6105fd335f357fffffffff0000000000000000000000000000000000000000000000000000000016610c19565b610663576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a4544000000000000000000000000000000000000000060448201526064016103b6565b801561069e5773ffffffffffffffffffffffffffffffffffffffff83165f9081526003602052604090208054600160ff85161b1790556106d0565b73ffffffffffffffffffffffffffffffffffffffff83165f9081526003602052604090208054600160ff85161b191690555b8160ff168373ffffffffffffffffffffffffffffffffffffffff167f4c9bdd0c8e073eb5eda2250b18d8e5121ff27b62064fbeeeed4869bb99bc5bf28360405161049b911515815260200190565b61074b335f357fffffffff0000000000000000000000000000000000000000000000000000000016610c19565b6107b1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a4544000000000000000000000000000000000000000060448201526064016103b6565b73ffffffffffffffffffffffffffffffffffffffff8281165f8181526002602052604080822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169486169485179055517fa4908e11a5f895b13d51526c331ac93cdd30e59772361c5d07874eb36bff20659190a35050565b5f5473ffffffffffffffffffffffffffffffffffffffff1633148061090b57506001546040517fb70096130000000000000000000000000000000000000000000000000000000081523360048201523060248201525f357fffffffff0000000000000000000000000000000000000000000000000000000016604482015273ffffffffffffffffffffffffffffffffffffffff9091169063b700961390606401602060405180830381865afa1580156108e7573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061090b9190610f3e565b610913575f5ffd5b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831690811790915560405133907fa3396fd7f6e0a21b50e5089d2da70d5ac0a3bbbd1f617a93f134b76389980198905f90a350565b73ffffffffffffffffffffffffffffffffffffffff8083165f908152600260205260408120549091168015610a78576040517fb700961300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff868116600483015285811660248301527fffffffff000000000000000000000000000000000000000000000000000000008516604483015282169063b700961390606401602060405180830381865afa158015610a4c573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a709190610f3e565b915050610b10565b7fffffffff0000000000000000000000000000000000000000000000000000000083165f9081526004602052604090205460ff1680610b0c57507fffffffff0000000000000000000000000000000000000000000000000000000083165f9081526005602090815260408083205473ffffffffffffffffffffffffffffffffffffffff891684526003909252909120541615155b9150505b9392505050565b610b44335f357fffffffff0000000000000000000000000000000000000000000000000000000016610c19565b610baa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a4544000000000000000000000000000000000000000060448201526064016103b6565b5f80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081178255604051909133917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b6001545f9073ffffffffffffffffffffffffffffffffffffffff168015801590610cfa57506040517fb700961300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301523060248301527fffffffff000000000000000000000000000000000000000000000000000000008516604483015282169063b700961390606401602060405180830381865afa158015610cd6573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cfa9190610f3e565b80610d1e57505f5473ffffffffffffffffffffffffffffffffffffffff8581169116145b949350505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610d47575f5ffd5b50565b5f60208284031215610d5a575f5ffd5b8135610b1081610d26565b80357fffffffff0000000000000000000000000000000000000000000000000000000081168114610d94575f5ffd5b919050565b5f60208284031215610da9575f5ffd5b610b1082610d65565b803560ff81168114610d94575f5ffd5b8015158114610d47575f5ffd5b5f5f5f60608486031215610de1575f5ffd5b610dea84610db2565b9250610df860208501610d65565b91506040840135610e0881610dc2565b809150509250925092565b5f5f60408385031215610e24575f5ffd5b610e2d83610d65565b91506020830135610e3d81610dc2565b809150509250929050565b5f5f5f60608486031215610e5a575f5ffd5b8335610e6581610d26565b9250610df860208501610db2565b5f5f60408385031215610e84575f5ffd5b8235610e8f81610d26565b91506020830135610e3d81610d26565b5f5f5f60608486031215610eb1575f5ffd5b8335610ebc81610d26565b92506020840135610ecc81610d26565b9150610eda60408501610d65565b90509250925092565b5f5f60408385031215610ef4575f5ffd5b610efd83610db2565b9150610f0b60208401610d65565b90509250929050565b5f5f60408385031215610f25575f5ffd5b8235610f3081610d26565b9150610f0b60208401610db2565b5f60208284031215610f4e575f5ffd5b8151610b1081610dc256fea164736f6c634300081d000a000000000000000000000000002bd75c185f335b002b150f8aa4a84d34f9bab20000000000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405234801561000f575f5ffd5b50600436106100f0575f3560e01c80638da5cb5b11610093578063e688747b11610063578063e688747b14610265578063ea7ca276146102b2578063ed0d0efb146102f5578063f2fde38b14610314575f5ffd5b80638da5cb5b146101b9578063b7009613146101fd578063bf7e214f14610210578063c53a398514610230575f5ffd5b80634b5159da116100ce5780634b5159da1461016d57806367aff48414610180578063728b952b146101935780637a9e5e4b146101a6575f5ffd5b806306a36aee146100f45780630bade8a4146101265780630ea9b75b14610158575b5f5ffd5b610113610102366004610d4a565b60036020525f908152604090205481565b6040519081526020015b60405180910390f35b610148610134366004610d99565b60046020525f908152604090205460ff1681565b604051901515815260200161011d565b61016b610166366004610dcf565b610327565b005b61016b61017b366004610e13565b6104a8565b61016b61018e366004610e48565b6105d0565b61016b6101a1366004610e73565b61071e565b61016b6101b4366004610d4a565b61082c565b5f546101d89073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161011d565b61014861020b366004610e9f565b610983565b6001546101d89073ffffffffffffffffffffffffffffffffffffffff1681565b6101d861023e366004610d4a565b60026020525f908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b610148610273366004610ee3565b7fffffffff00000000000000000000000000000000000000000000000000000000165f9081526005602052604090205460ff919091161c600116151590565b6101486102c0366004610f14565b73ffffffffffffffffffffffffffffffffffffffff919091165f90815260036020526040902054600160ff9092161c16151590565b610113610303366004610d99565b60056020525f908152604090205481565b61016b610322366004610d4a565b610b17565b610354335f357fffffffff0000000000000000000000000000000000000000000000000000000016610c19565b6103bf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a4544000000000000000000000000000000000000000060448201526064015b60405180910390fd5b8015610406577fffffffff0000000000000000000000000000000000000000000000000000000082165f9081526005602052604090208054600160ff86161b179055610444565b7fffffffff0000000000000000000000000000000000000000000000000000000082165f9081526005602052604090208054600160ff86161b191690555b817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168360ff167fbfe16b2c35ce23dfd1ab0e7b5d086a10060c9b52d1574e1680c881b3b3a2b1518360405161049b911515815260200190565b60405180910390a3505050565b6104d5335f357fffffffff0000000000000000000000000000000000000000000000000000000016610c19565b61053b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a4544000000000000000000000000000000000000000060448201526064016103b6565b7fffffffff0000000000000000000000000000000000000000000000000000000082165f8181526004602090815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001685151590811790915591519182527f36d28126bef21a4f3765d7fcb7c45cead463ae4c41094ef3b771ede598544103910160405180910390a25050565b6105fd335f357fffffffff0000000000000000000000000000000000000000000000000000000016610c19565b610663576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a4544000000000000000000000000000000000000000060448201526064016103b6565b801561069e5773ffffffffffffffffffffffffffffffffffffffff83165f9081526003602052604090208054600160ff85161b1790556106d0565b73ffffffffffffffffffffffffffffffffffffffff83165f9081526003602052604090208054600160ff85161b191690555b8160ff168373ffffffffffffffffffffffffffffffffffffffff167f4c9bdd0c8e073eb5eda2250b18d8e5121ff27b62064fbeeeed4869bb99bc5bf28360405161049b911515815260200190565b61074b335f357fffffffff0000000000000000000000000000000000000000000000000000000016610c19565b6107b1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a4544000000000000000000000000000000000000000060448201526064016103b6565b73ffffffffffffffffffffffffffffffffffffffff8281165f8181526002602052604080822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169486169485179055517fa4908e11a5f895b13d51526c331ac93cdd30e59772361c5d07874eb36bff20659190a35050565b5f5473ffffffffffffffffffffffffffffffffffffffff1633148061090b57506001546040517fb70096130000000000000000000000000000000000000000000000000000000081523360048201523060248201525f357fffffffff0000000000000000000000000000000000000000000000000000000016604482015273ffffffffffffffffffffffffffffffffffffffff9091169063b700961390606401602060405180830381865afa1580156108e7573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061090b9190610f3e565b610913575f5ffd5b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831690811790915560405133907fa3396fd7f6e0a21b50e5089d2da70d5ac0a3bbbd1f617a93f134b76389980198905f90a350565b73ffffffffffffffffffffffffffffffffffffffff8083165f908152600260205260408120549091168015610a78576040517fb700961300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff868116600483015285811660248301527fffffffff000000000000000000000000000000000000000000000000000000008516604483015282169063b700961390606401602060405180830381865afa158015610a4c573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a709190610f3e565b915050610b10565b7fffffffff0000000000000000000000000000000000000000000000000000000083165f9081526004602052604090205460ff1680610b0c57507fffffffff0000000000000000000000000000000000000000000000000000000083165f9081526005602090815260408083205473ffffffffffffffffffffffffffffffffffffffff891684526003909252909120541615155b9150505b9392505050565b610b44335f357fffffffff0000000000000000000000000000000000000000000000000000000016610c19565b610baa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a4544000000000000000000000000000000000000000060448201526064016103b6565b5f80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081178255604051909133917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b6001545f9073ffffffffffffffffffffffffffffffffffffffff168015801590610cfa57506040517fb700961300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301523060248301527fffffffff000000000000000000000000000000000000000000000000000000008516604483015282169063b700961390606401602060405180830381865afa158015610cd6573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cfa9190610f3e565b80610d1e57505f5473ffffffffffffffffffffffffffffffffffffffff8581169116145b949350505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610d47575f5ffd5b50565b5f60208284031215610d5a575f5ffd5b8135610b1081610d26565b80357fffffffff0000000000000000000000000000000000000000000000000000000081168114610d94575f5ffd5b919050565b5f60208284031215610da9575f5ffd5b610b1082610d65565b803560ff81168114610d94575f5ffd5b8015158114610d47575f5ffd5b5f5f5f60608486031215610de1575f5ffd5b610dea84610db2565b9250610df860208501610d65565b91506040840135610e0881610dc2565b809150509250925092565b5f5f60408385031215610e24575f5ffd5b610e2d83610d65565b91506020830135610e3d81610dc2565b809150509250929050565b5f5f5f60608486031215610e5a575f5ffd5b8335610e6581610d26565b9250610df860208501610db2565b5f5f60408385031215610e84575f5ffd5b8235610e8f81610d26565b91506020830135610e3d81610d26565b5f5f5f60608486031215610eb1575f5ffd5b8335610ebc81610d26565b92506020840135610ecc81610d26565b9150610eda60408501610d65565b90509250925092565b5f5f60408385031215610ef4575f5ffd5b610efd83610db2565b9150610f0b60208401610d65565b90509250929050565b5f5f60408385031215610f25575f5ffd5b8235610f3081610d26565b9150610f0b60208401610db2565b5f60208284031215610f4e575f5ffd5b8151610b1081610dc256fea164736f6c634300081d000a

Block Transaction Gas Used Reward
view all blocks ##produced##

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
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.