ETH Price: $2,928.15 (+4.19%)

Contract

0x0a1A62C87415a499317Fa73Bb9Cce2fbE536a00a
 

Overview

ETH Balance

0 ETH

ETH Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Block
From
To
Vote76260332024-08-19 10:04:41525 days ago1724061881IN
0x0a1A62C8...bE536a00a
0 ETH0.000000810.01234584
Vote75988842024-08-18 18:59:43526 days ago1724007583IN
0x0a1A62C8...bE536a00a
0 ETH0.000000740.01138369
Vote75573982024-08-17 19:56:51526 days ago1723924611IN
0x0a1A62C8...bE536a00a
0 ETH0.000000460.00713107
Vote75442762024-08-17 12:39:27527 days ago1723898367IN
0x0a1A62C8...bE536a00a
0 ETH0.000000290.00446982
Vote75385032024-08-17 9:27:01527 days ago1723886821IN
0x0a1A62C8...bE536a00a
0 ETH0.000000880.01347681
Vote75357192024-08-17 7:54:13527 days ago1723881253IN
0x0a1A62C8...bE536a00a
0 ETH0.00000060.00919801
Vote75290692024-08-17 4:12:33527 days ago1723867953IN
0x0a1A62C8...bE536a00a
0 ETH0.000000290.00445321
Vote75278432024-08-17 3:31:41527 days ago1723865501IN
0x0a1A62C8...bE536a00a
0 ETH0.000000230.00360564
Vote75256202024-08-17 2:17:35527 days ago1723861055IN
0x0a1A62C8...bE536a00a
0 ETH0.000000380.00586461
Vote75245002024-08-17 1:40:15527 days ago1723858815IN
0x0a1A62C8...bE536a00a
0 ETH0.000000730.01118874
Vote75200882024-08-16 23:13:11527 days ago1723849991IN
0x0a1A62C8...bE536a00a
0 ETH0.000000380.00592332
Vote75095642024-08-16 17:22:23528 days ago1723828943IN
0x0a1A62C8...bE536a00a
0 ETH0.000000070.00109062
Vote75093792024-08-16 17:16:13528 days ago1723828573IN
0x0a1A62C8...bE536a00a
0 ETH0.000000070.00103672
Vote75092422024-08-16 17:11:39528 days ago1723828299IN
0x0a1A62C8...bE536a00a
0 ETH0.000000130.00202042
Vote75084432024-08-16 16:45:01528 days ago1723826701IN
0x0a1A62C8...bE536a00a
0 ETH0.00000010.00150878
Vote75065792024-08-16 15:42:53528 days ago1723822973IN
0x0a1A62C8...bE536a00a
0 ETH0.000000080.00113519
Vote75065312024-08-16 15:41:17528 days ago1723822877IN
0x0a1A62C8...bE536a00a
0 ETH0.000000080.0011777
Vote75064782024-08-16 15:39:31528 days ago1723822771IN
0x0a1A62C8...bE536a00a
0 ETH0.000000080.00115621
Vote75064752024-08-16 15:39:25528 days ago1723822765IN
0x0a1A62C8...bE536a00a
0 ETH0.000000150.00226005
Vote75064602024-08-16 15:38:55528 days ago1723822735IN
0x0a1A62C8...bE536a00a
0 ETH0.000000080.00117918
Vote75052982024-08-16 15:00:11528 days ago1723820411IN
0x0a1A62C8...bE536a00a
0 ETH0.000000070.00100782
Vote75051512024-08-16 14:55:17528 days ago1723820117IN
0x0a1A62C8...bE536a00a
0 ETH0.000000070.00109823
Vote75027122024-08-16 13:33:59528 days ago1723815239IN
0x0a1A62C8...bE536a00a
0 ETH0.000000070.00110483
Vote75000102024-08-16 12:03:55528 days ago1723809835IN
0x0a1A62C8...bE536a00a
0 ETH0.000000070.00102337
Vote74994022024-08-16 11:43:39528 days ago1723808619IN
0x0a1A62C8...bE536a00a
0 ETH0.000000140.00212528
View all transactions

Advanced mode:
Parent Transaction Hash Block From To
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 0x8b0B12d3...3E87D4eC1
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
Voting

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
Yes with 200 runs

Other Settings:
paris EvmVersion

Contract Source Code (Solidity Standard Json-Input format)

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

contract Voting {
    struct Voter {
        bool isRegistered;
        bool hasVoted;
        uint256 weight;
        uint8 vote;
    }

    address public owner;
    mapping(address => Voter) public voters;
    mapping(uint8 => uint256) public optionVotes;
    mapping(uint8 => uint256) public optionVoteCount;
    uint8 public numberOfOptions;

    event VoterRegistered(address voter, uint256 weight);
    event VoteCasted(address voter, uint8 option, uint256 weight);
    event OptionsChanged(uint8 newNumberOfOptions);

    modifier onlyOwner() {
        require(msg.sender == owner, "Only owner can call this function");
        _;
    }

    modifier onlyRegistered() {
        require(
            voters[msg.sender].isRegistered,
            "Only registered voters can call this function"
        );
        _;
    }

    constructor(
        address[] memory _voters,
        uint256[] memory _weights,
        uint8 _numberOfOptions
    ) {
        require(
            _voters.length == _weights.length,
            "Voters and weights arrays must have the same length"
        );
        owner = msg.sender;
        numberOfOptions = _numberOfOptions;
        for (uint256 i = 0; i < _voters.length; i++) {
            voters[_voters[i]] = Voter(true, false, _weights[i], 0);
            emit VoterRegistered(_voters[i], _weights[i]);
        }
    }

    function vote(uint8 _option) external onlyRegistered {
        require(_option > 0 && _option <= numberOfOptions, "Invalid option");
        Voter storage sender = voters[msg.sender];
        require(!sender.hasVoted, "You have already voted");

        sender.hasVoted = true;
        sender.vote = _option;

        optionVotes[_option] += sender.weight;
        optionVoteCount[_option]++;

        emit VoteCasted(msg.sender, _option, sender.weight);
    }

    function changeNumberOfOptions(
        uint8 _newNumberOfOptions
    ) external onlyOwner {
        require(
            _newNumberOfOptions > 0,
            "Number of options must be greater than zero"
        );
        numberOfOptions = _newNumberOfOptions;
        emit OptionsChanged(_newNumberOfOptions);
    }

    function addVoters(
        address[] calldata _voters,
        uint256[] calldata _weights
    ) external onlyOwner {
        require(
            _voters.length == _weights.length,
            "Voters and weights arrays must have the same length"
        );
        for (uint256 i = 0; i < _voters.length; i++) {
            require(
                !voters[_voters[i]].isRegistered,
                "Voter is already registered"
            );
            voters[_voters[i]] = Voter(true, false, _weights[i], 0);
            emit VoterRegistered(_voters[i], _weights[i]);
        }
    }

    function getOptionVotes(uint8 _option) external view returns (uint256) {
        require(_option > 0 && _option <= numberOfOptions, "Invalid option");
        return optionVotes[_option];
    }

    function getOptionVoteCount(uint8 _option) external view returns (uint256) {
        require(_option > 0 && _option <= numberOfOptions, "Invalid option");
        return optionVoteCount[_option];
    }

    function getTotalVotes() external view returns (uint256) {
        uint256 totalVotes = 0;
        for (uint8 i = 1; i <= numberOfOptions; i++) {
            totalVotes += optionVotes[i];
        }
        return totalVotes;
    }

    function getTotalVoteCount() external view returns (uint256) {
        uint256 totalVoteCount = 0;
        for (uint8 i = 1; i <= numberOfOptions; i++) {
            totalVoteCount += optionVoteCount[i];
        }
        return totalVoteCount;
    }

    function isRegistered(address _voter) external view returns (bool) {
        return voters[_voter].isRegistered;
    }

    function hasVoted(address _voter) external view returns (bool) {
        return voters[_voter].hasVoted;
    }

    function getVote(address _voter) external view returns (uint8) {
        require(voters[_voter].hasVoted, "This voter has not voted yet");
        return voters[_voter].vote;
    }

    function getWeight(address _voter) external view returns (uint256) {
        return voters[_voter].weight;
    }
}

Settings
{
  "remappings": [
    "@openzeppelin/=lib/openzeppelin-contracts/",
    "forge-std/=lib/forge-std/src/",
    "@axelar-network/=node_modules/@axelar-network/",
    "@chainlink/=node_modules/@chainlink/",
    "@eth-optimism/=node_modules/@eth-optimism/",
    "@layerzerolabs/=node_modules/@layerzerolabs/",
    "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/",
    "ds-test/=node_modules/ds-test/",
    "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/",
    "hardhat-deploy/=node_modules/hardhat-deploy/",
    "openzeppelin-contracts/=lib/openzeppelin-contracts/",
    "solidity-bytes-utils/=node_modules/solidity-bytes-utils/"
  ],
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "metadata": {
    "useLiteralContent": false,
    "bytecodeHash": "ipfs",
    "appendCBOR": true
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "evmVersion": "paris",
  "viaIR": false,
  "libraries": {}
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address[]","name":"_voters","type":"address[]"},{"internalType":"uint256[]","name":"_weights","type":"uint256[]"},{"internalType":"uint8","name":"_numberOfOptions","type":"uint8"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"newNumberOfOptions","type":"uint8"}],"name":"OptionsChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"voter","type":"address"},{"indexed":false,"internalType":"uint8","name":"option","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"weight","type":"uint256"}],"name":"VoteCasted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"voter","type":"address"},{"indexed":false,"internalType":"uint256","name":"weight","type":"uint256"}],"name":"VoterRegistered","type":"event"},{"inputs":[{"internalType":"address[]","name":"_voters","type":"address[]"},{"internalType":"uint256[]","name":"_weights","type":"uint256[]"}],"name":"addVoters","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_newNumberOfOptions","type":"uint8"}],"name":"changeNumberOfOptions","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_option","type":"uint8"}],"name":"getOptionVoteCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"_option","type":"uint8"}],"name":"getOptionVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalVoteCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_voter","type":"address"}],"name":"getVote","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_voter","type":"address"}],"name":"getWeight","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_voter","type":"address"}],"name":"hasVoted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_voter","type":"address"}],"name":"isRegistered","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"numberOfOptions","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"","type":"uint8"}],"name":"optionVoteCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"","type":"uint8"}],"name":"optionVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"_option","type":"uint8"}],"name":"vote","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"voters","outputs":[{"internalType":"bool","name":"isRegistered","type":"bool"},{"internalType":"bool","name":"hasVoted","type":"bool"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint8","name":"vote","type":"uint8"}],"stateMutability":"view","type":"function"}]

0x608060405234801561001057600080fd5b5060405161107e38038061107e83398101604081905261002f91610322565b81518351146100aa5760405162461bcd60e51b815260206004820152603360248201527f566f7465727320616e64207765696768747320617272617973206d757374206860448201527f617665207468652073616d65206c656e67746800000000000000000000000000606482015260840160405180910390fd5b600080546001600160a01b031916331781556004805460ff841660ff199091161790555b835181101561022d57604051806080016040528060011515815260200160001515815260200184838151811061010657610106610409565b60200260200101518152602001600060ff168152506001600086848151811061013157610131610409565b6020908102919091018101516001600160a01b03168252818101929092526040908101600020835181549385015161ffff1990941690151561ff001916176101009315159390930292909217825582015160018201556060909101516002909101805460ff191660ff90921691909117905583517ff16ce2c2236e2c6e3df646f80d657bceef4cd7f3a240c47e82adfa17a5f47241908590839081106101d9576101d9610409565b60200260200101518483815181106101f3576101f3610409565b602002602001015160405161021d9291906001600160a01b03929092168252602082015260400190565b60405180910390a16001016100ce565b5050505061041f565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561027457610274610236565b604052919050565b60006001600160401b0382111561029557610295610236565b5060051b60200190565b600082601f8301126102b057600080fd5b81516102c36102be8261027c565b61024c565b8082825260208201915060208360051b8601019250858311156102e557600080fd5b602085015b838110156103025780518352602092830192016102ea565b5095945050505050565b805160ff8116811461031d57600080fd5b919050565b60008060006060848603121561033757600080fd5b83516001600160401b0381111561034d57600080fd5b8401601f8101861361035e57600080fd5b805161036c6102be8261027c565b8082825260208201915060208360051b85010192508883111561038e57600080fd5b6020840193505b828410156103c55783516001600160a01b03811681146103b457600080fd5b825260209384019390910190610395565b6020880151909650925050506001600160401b038111156103e557600080fd5b6103f18682870161029f565b9250506104006040850161030c565b90509250925092565b634e487b7160e01b600052603260045260246000fd5b610c508061042e6000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c80638da5cb5b11610097578063b3f98adc11610066578063b3f98adc146102b1578063c3c5a547146102c4578063dea98729146102f0578063ebc3f99e1461031057600080fd5b80638da5cb5b146101ee5780639a0e7d6614610219578063a3ec138d14610221578063ac6c52511461028457600080fd5b8063466fdec9116100d3578063466fdec9146101945780635d811787146101a957806387ed3ecf146101bc5780638d337b81146101db57600080fd5b806309eef43e14610105578063283d4c7b1461014b578063288c72e81461016c5780633514898b14610174575b600080fd5b610136610113366004610a24565b6001600160a01b0316600090815260016020526040902054610100900460ff1690565b60405190151581526020015b60405180910390f35b61015e610159366004610a54565b610323565b604051908152602001610142565b61015e61037b565b61015e610182366004610a54565b60026020526000908152604090205481565b6101a76101a2366004610a54565b6103c8565b005b61015e6101b7366004610a54565b6104a1565b6004546101c99060ff1681565b60405160ff9091168152602001610142565b6101c96101e9366004610a24565b6104f0565b600054610201906001600160a01b031681565b6040516001600160a01b039091168152602001610142565b61015e61057f565b61025f61022f366004610a24565b600160208190526000918252604090912080549181015460029091015460ff808416936101009004811692911684565b60408051941515855292151560208501529183015260ff166060820152608001610142565b61015e610292366004610a24565b6001600160a01b03166000908152600160208190526040909120015490565b6101a76102bf366004610a54565b6105c6565b6101366102d2366004610a24565b6001600160a01b031660009081526001602052604090205460ff1690565b61015e6102fe366004610a54565b60036020526000908152604090205481565b6101a761031e366004610ac3565b61078c565b6000808260ff16118015610340575060045460ff90811690831611155b6103655760405162461bcd60e51b815260040161035c90610b34565b60405180910390fd5b5060ff1660009081526002602052604090205490565b60008060015b60045460ff908116908216116103c25760ff81166000908152600360205260409020546103ae9083610b72565b9150806103ba81610b8b565b915050610381565b50919050565b6000546001600160a01b031633146103f25760405162461bcd60e51b815260040161035c90610baa565b60008160ff16116104595760405162461bcd60e51b815260206004820152602b60248201527f4e756d626572206f66206f7074696f6e73206d7573742062652067726561746560448201526a72207468616e207a65726f60a81b606482015260840161035c565b6004805460ff191660ff83169081179091556040519081527fe59210f11af7ebbf42e1ef96b908f81f98231afa4493ae7de3a6b67a8fcfcc089060200160405180910390a150565b6000808260ff161180156104be575060045460ff90811690831611155b6104da5760405162461bcd60e51b815260040161035c90610b34565b5060ff1660009081526003602052604090205490565b6001600160a01b038116600090815260016020526040812054610100900460ff1661055d5760405162461bcd60e51b815260206004820152601c60248201527f5468697320766f74657220686173206e6f7420766f7465642079657400000000604482015260640161035c565b506001600160a01b031660009081526001602052604090206002015460ff1690565b60008060015b60045460ff908116908216116103c25760ff81166000908152600260205260409020546105b29083610b72565b9150806105be81610b8b565b915050610585565b3360009081526001602052604090205460ff1661063b5760405162461bcd60e51b815260206004820152602d60248201527f4f6e6c79207265676973746572656420766f746572732063616e2063616c6c2060448201526c3a3434b990333ab731ba34b7b760991b606482015260840161035c565b60008160ff16118015610657575060045460ff90811690821611155b6106735760405162461bcd60e51b815260040161035c90610b34565b3360009081526001602052604090208054610100900460ff16156106d25760405162461bcd60e51b8152602060048201526016602482015275165bdd481a185d9948185b1c9958591e481d9bdd195960521b604482015260640161035c565b805461ff0019166101001781556002808201805460ff851660ff19909116811790915560018301546000918252602092909252604081208054909190610719908490610b72565b909155505060ff8216600090815260036020526040812080549161073c83610beb565b909155505060018101546040805133815260ff8516602082015280820192909252517fbcfb1c468bc82dd5256507ca2e70d8d846128770e1f9b4107a249677fbccd8909181900360600190a15050565b6000546001600160a01b031633146107b65760405162461bcd60e51b815260040161035c90610baa565b8281146108215760405162461bcd60e51b815260206004820152603360248201527f566f7465727320616e64207765696768747320617272617973206d75737420686044820152720c2ecca40e8d0ca40e6c2daca40d8cadccee8d606b1b606482015260840161035c565b60005b83811015610a1d576001600086868481811061084257610842610c04565b90506020020160208101906108579190610a24565b6001600160a01b0316815260208101919091526040016000205460ff16156108c15760405162461bcd60e51b815260206004820152601b60248201527f566f74657220697320616c726561647920726567697374657265640000000000604482015260640161035c565b6040805160808101825260018152600060208201529081018484848181106108eb576108eb610c04565b905060200201358152602001600060ff168152506001600087878581811061091557610915610c04565b905060200201602081019061092a9190610a24565b6001600160a01b031681526020808201929092526040908101600020835181549385015161ffff1990941690151561ff001916176101009315159390930292909217825582015160018201556060909101516002909101805460ff191660ff9092169190911790557ff16ce2c2236e2c6e3df646f80d657bceef4cd7f3a240c47e82adfa17a5f472418585838181106109c5576109c5610c04565b90506020020160208101906109da9190610a24565b8484848181106109ec576109ec610c04565b604080516001600160a01b0390951685526020918202939093013590840152500160405180910390a1600101610824565b5050505050565b600060208284031215610a3657600080fd5b81356001600160a01b0381168114610a4d57600080fd5b9392505050565b600060208284031215610a6657600080fd5b813560ff81168114610a4d57600080fd5b60008083601f840112610a8957600080fd5b50813567ffffffffffffffff811115610aa157600080fd5b6020830191508360208260051b8501011115610abc57600080fd5b9250929050565b60008060008060408587031215610ad957600080fd5b843567ffffffffffffffff811115610af057600080fd5b610afc87828801610a77565b909550935050602085013567ffffffffffffffff811115610b1c57600080fd5b610b2887828801610a77565b95989497509550505050565b6020808252600e908201526d24b73b30b634b21037b83a34b7b760911b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b80820180821115610b8557610b85610b5c565b92915050565b600060ff821660ff8103610ba157610ba1610b5c565b60010192915050565b60208082526021908201527f4f6e6c79206f776e65722063616e2063616c6c20746869732066756e6374696f6040820152603760f91b606082015260800190565b600060018201610bfd57610bfd610b5c565b5060010190565b634e487b7160e01b600052603260045260246000fdfea2646970667358221220daca513b4bf005c8b781411557d8cb72d71f11f4c67092e408ce1b65e5b2d12764736f6c634300081a003300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101005760003560e01c80638da5cb5b11610097578063b3f98adc11610066578063b3f98adc146102b1578063c3c5a547146102c4578063dea98729146102f0578063ebc3f99e1461031057600080fd5b80638da5cb5b146101ee5780639a0e7d6614610219578063a3ec138d14610221578063ac6c52511461028457600080fd5b8063466fdec9116100d3578063466fdec9146101945780635d811787146101a957806387ed3ecf146101bc5780638d337b81146101db57600080fd5b806309eef43e14610105578063283d4c7b1461014b578063288c72e81461016c5780633514898b14610174575b600080fd5b610136610113366004610a24565b6001600160a01b0316600090815260016020526040902054610100900460ff1690565b60405190151581526020015b60405180910390f35b61015e610159366004610a54565b610323565b604051908152602001610142565b61015e61037b565b61015e610182366004610a54565b60026020526000908152604090205481565b6101a76101a2366004610a54565b6103c8565b005b61015e6101b7366004610a54565b6104a1565b6004546101c99060ff1681565b60405160ff9091168152602001610142565b6101c96101e9366004610a24565b6104f0565b600054610201906001600160a01b031681565b6040516001600160a01b039091168152602001610142565b61015e61057f565b61025f61022f366004610a24565b600160208190526000918252604090912080549181015460029091015460ff808416936101009004811692911684565b60408051941515855292151560208501529183015260ff166060820152608001610142565b61015e610292366004610a24565b6001600160a01b03166000908152600160208190526040909120015490565b6101a76102bf366004610a54565b6105c6565b6101366102d2366004610a24565b6001600160a01b031660009081526001602052604090205460ff1690565b61015e6102fe366004610a54565b60036020526000908152604090205481565b6101a761031e366004610ac3565b61078c565b6000808260ff16118015610340575060045460ff90811690831611155b6103655760405162461bcd60e51b815260040161035c90610b34565b60405180910390fd5b5060ff1660009081526002602052604090205490565b60008060015b60045460ff908116908216116103c25760ff81166000908152600360205260409020546103ae9083610b72565b9150806103ba81610b8b565b915050610381565b50919050565b6000546001600160a01b031633146103f25760405162461bcd60e51b815260040161035c90610baa565b60008160ff16116104595760405162461bcd60e51b815260206004820152602b60248201527f4e756d626572206f66206f7074696f6e73206d7573742062652067726561746560448201526a72207468616e207a65726f60a81b606482015260840161035c565b6004805460ff191660ff83169081179091556040519081527fe59210f11af7ebbf42e1ef96b908f81f98231afa4493ae7de3a6b67a8fcfcc089060200160405180910390a150565b6000808260ff161180156104be575060045460ff90811690831611155b6104da5760405162461bcd60e51b815260040161035c90610b34565b5060ff1660009081526003602052604090205490565b6001600160a01b038116600090815260016020526040812054610100900460ff1661055d5760405162461bcd60e51b815260206004820152601c60248201527f5468697320766f74657220686173206e6f7420766f7465642079657400000000604482015260640161035c565b506001600160a01b031660009081526001602052604090206002015460ff1690565b60008060015b60045460ff908116908216116103c25760ff81166000908152600260205260409020546105b29083610b72565b9150806105be81610b8b565b915050610585565b3360009081526001602052604090205460ff1661063b5760405162461bcd60e51b815260206004820152602d60248201527f4f6e6c79207265676973746572656420766f746572732063616e2063616c6c2060448201526c3a3434b990333ab731ba34b7b760991b606482015260840161035c565b60008160ff16118015610657575060045460ff90811690821611155b6106735760405162461bcd60e51b815260040161035c90610b34565b3360009081526001602052604090208054610100900460ff16156106d25760405162461bcd60e51b8152602060048201526016602482015275165bdd481a185d9948185b1c9958591e481d9bdd195960521b604482015260640161035c565b805461ff0019166101001781556002808201805460ff851660ff19909116811790915560018301546000918252602092909252604081208054909190610719908490610b72565b909155505060ff8216600090815260036020526040812080549161073c83610beb565b909155505060018101546040805133815260ff8516602082015280820192909252517fbcfb1c468bc82dd5256507ca2e70d8d846128770e1f9b4107a249677fbccd8909181900360600190a15050565b6000546001600160a01b031633146107b65760405162461bcd60e51b815260040161035c90610baa565b8281146108215760405162461bcd60e51b815260206004820152603360248201527f566f7465727320616e64207765696768747320617272617973206d75737420686044820152720c2ecca40e8d0ca40e6c2daca40d8cadccee8d606b1b606482015260840161035c565b60005b83811015610a1d576001600086868481811061084257610842610c04565b90506020020160208101906108579190610a24565b6001600160a01b0316815260208101919091526040016000205460ff16156108c15760405162461bcd60e51b815260206004820152601b60248201527f566f74657220697320616c726561647920726567697374657265640000000000604482015260640161035c565b6040805160808101825260018152600060208201529081018484848181106108eb576108eb610c04565b905060200201358152602001600060ff168152506001600087878581811061091557610915610c04565b905060200201602081019061092a9190610a24565b6001600160a01b031681526020808201929092526040908101600020835181549385015161ffff1990941690151561ff001916176101009315159390930292909217825582015160018201556060909101516002909101805460ff191660ff9092169190911790557ff16ce2c2236e2c6e3df646f80d657bceef4cd7f3a240c47e82adfa17a5f472418585838181106109c5576109c5610c04565b90506020020160208101906109da9190610a24565b8484848181106109ec576109ec610c04565b604080516001600160a01b0390951685526020918202939093013590840152500160405180910390a1600101610824565b5050505050565b600060208284031215610a3657600080fd5b81356001600160a01b0381168114610a4d57600080fd5b9392505050565b600060208284031215610a6657600080fd5b813560ff81168114610a4d57600080fd5b60008083601f840112610a8957600080fd5b50813567ffffffffffffffff811115610aa157600080fd5b6020830191508360208260051b8501011115610abc57600080fd5b9250929050565b60008060008060408587031215610ad957600080fd5b843567ffffffffffffffff811115610af057600080fd5b610afc87828801610a77565b909550935050602085013567ffffffffffffffff811115610b1c57600080fd5b610b2887828801610a77565b95989497509550505050565b6020808252600e908201526d24b73b30b634b21037b83a34b7b760911b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b80820180821115610b8557610b85610b5c565b92915050565b600060ff821660ff8103610ba157610ba1610b5c565b60010192915050565b60208082526021908201527f4f6e6c79206f776e65722063616e2063616c6c20746869732066756e6374696f6040820152603760f91b606082015260800190565b600060018201610bfd57610bfd610b5c565b5060010190565b634e487b7160e01b600052603260045260246000fdfea2646970667358221220daca513b4bf005c8b781411557d8cb72d71f11f4c67092e408ce1b65e5b2d12764736f6c634300081a0033

Block Transaction Difficulty 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.