ETH Price: $2,949.41 (-2.04%)

Contract

0x8b0B12d377B1CDfcaB48ab4F917A15f3E87D4eC1
 

Overview

ETH Balance

0 ETH

ETH Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Block
From
To
Vote70230232024-08-05 11:04:21541 days ago1722855861IN
0x8b0B12d3...3E87D4eC1
0 ETH0.000000250.00205053
Add Voters70229152024-08-05 11:00:45541 days ago1722855645IN
0x8b0B12d3...3E87D4eC1
0 ETH0.000000310.00194989
Vote70225692024-08-05 10:49:13541 days ago1722854953IN
0x8b0B12d3...3E87D4eC1
0 ETH0.000000190.00207843
Add Voters70225522024-08-05 10:48:39541 days ago1722854919IN
0x8b0B12d3...3E87D4eC1
0 ETH0.000000250.0021058
Vote70225082024-08-05 10:47:11541 days ago1722854831IN
0x8b0B12d3...3E87D4eC1
0 ETH0.000000280.0021233
Vote70223902024-08-05 10:43:15541 days ago1722854595IN
0x8b0B12d3...3E87D4eC1
0 ETH0.000000250.0020289

Advanced mode:
Parent Transaction Hash Block From To
View All Internal Transactions

Cross-Chain Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Voting

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
Yes with 200 runs

Other Settings:
paris EvmVersion
// 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"}]

608060405234801561001057600080fd5b5060405161107e38038061107e83398101604081905261002f91610322565b81518351146100aa5760405162461bcd60e51b815260206004820152603360248201527f566f7465727320616e64207765696768747320617272617973206d757374206860448201527f617665207468652073616d65206c656e67746800000000000000000000000000606482015260840160405180910390fd5b600080546001600160a01b031916331781556004805460ff841660ff199091161790555b835181101561022d57604051806080016040528060011515815260200160001515815260200184838151811061010657610106610409565b60200260200101518152602001600060ff168152506001600086848151811061013157610131610409565b6020908102919091018101516001600160a01b03168252818101929092526040908101600020835181549385015161ffff1990941690151561ff001916176101009315159390930292909217825582015160018201556060909101516002909101805460ff191660ff90921691909117905583517ff16ce2c2236e2c6e3df646f80d657bceef4cd7f3a240c47e82adfa17a5f47241908590839081106101d9576101d9610409565b60200260200101518483815181106101f3576101f3610409565b602002602001015160405161021d9291906001600160a01b03929092168252602082015260400190565b60405180910390a16001016100ce565b5050505061041f565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561027457610274610236565b604052919050565b60006001600160401b0382111561029557610295610236565b5060051b60200190565b600082601f8301126102b057600080fd5b81516102c36102be8261027c565b61024c565b8082825260208201915060208360051b8601019250858311156102e557600080fd5b602085015b838110156103025780518352602092830192016102ea565b5095945050505050565b805160ff8116811461031d57600080fd5b919050565b60008060006060848603121561033757600080fd5b83516001600160401b0381111561034d57600080fd5b8401601f8101861361035e57600080fd5b805161036c6102be8261027c565b8082825260208201915060208360051b85010192508883111561038e57600080fd5b6020840193505b828410156103c55783516001600160a01b03811681146103b457600080fd5b825260209384019390910190610395565b6020880151909650925050506001600160401b038111156103e557600080fd5b6103f18682870161029f565b9250506104006040850161030c565b90509250925092565b634e487b7160e01b600052603260045260246000fd5b610c508061042e6000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c80638da5cb5b11610097578063b3f98adc11610066578063b3f98adc146102b1578063c3c5a547146102c4578063dea98729146102f0578063ebc3f99e1461031057600080fd5b80638da5cb5b146101ee5780639a0e7d6614610219578063a3ec138d14610221578063ac6c52511461028457600080fd5b8063466fdec9116100d3578063466fdec9146101945780635d811787146101a957806387ed3ecf146101bc5780638d337b81146101db57600080fd5b806309eef43e14610105578063283d4c7b1461014b578063288c72e81461016c5780633514898b14610174575b600080fd5b610136610113366004610a24565b6001600160a01b0316600090815260016020526040902054610100900460ff1690565b60405190151581526020015b60405180910390f35b61015e610159366004610a54565b610323565b604051908152602001610142565b61015e61037b565b61015e610182366004610a54565b60026020526000908152604090205481565b6101a76101a2366004610a54565b6103c8565b005b61015e6101b7366004610a54565b6104a1565b6004546101c99060ff1681565b60405160ff9091168152602001610142565b6101c96101e9366004610a24565b6104f0565b600054610201906001600160a01b031681565b6040516001600160a01b039091168152602001610142565b61015e61057f565b61025f61022f366004610a24565b600160208190526000918252604090912080549181015460029091015460ff808416936101009004811692911684565b60408051941515855292151560208501529183015260ff166060820152608001610142565b61015e610292366004610a24565b6001600160a01b03166000908152600160208190526040909120015490565b6101a76102bf366004610a54565b6105c6565b6101366102d2366004610a24565b6001600160a01b031660009081526001602052604090205460ff1690565b61015e6102fe366004610a54565b60036020526000908152604090205481565b6101a761031e366004610ac3565b61078c565b6000808260ff16118015610340575060045460ff90811690831611155b6103655760405162461bcd60e51b815260040161035c90610b34565b60405180910390fd5b5060ff1660009081526002602052604090205490565b60008060015b60045460ff908116908216116103c25760ff81166000908152600360205260409020546103ae9083610b72565b9150806103ba81610b8b565b915050610381565b50919050565b6000546001600160a01b031633146103f25760405162461bcd60e51b815260040161035c90610baa565b60008160ff16116104595760405162461bcd60e51b815260206004820152602b60248201527f4e756d626572206f66206f7074696f6e73206d7573742062652067726561746560448201526a72207468616e207a65726f60a81b606482015260840161035c565b6004805460ff191660ff83169081179091556040519081527fe59210f11af7ebbf42e1ef96b908f81f98231afa4493ae7de3a6b67a8fcfcc089060200160405180910390a150565b6000808260ff161180156104be575060045460ff90811690831611155b6104da5760405162461bcd60e51b815260040161035c90610b34565b5060ff1660009081526003602052604090205490565b6001600160a01b038116600090815260016020526040812054610100900460ff1661055d5760405162461bcd60e51b815260206004820152601c60248201527f5468697320766f74657220686173206e6f7420766f7465642079657400000000604482015260640161035c565b506001600160a01b031660009081526001602052604090206002015460ff1690565b60008060015b60045460ff908116908216116103c25760ff81166000908152600260205260409020546105b29083610b72565b9150806105be81610b8b565b915050610585565b3360009081526001602052604090205460ff1661063b5760405162461bcd60e51b815260206004820152602d60248201527f4f6e6c79207265676973746572656420766f746572732063616e2063616c6c2060448201526c3a3434b990333ab731ba34b7b760991b606482015260840161035c565b60008160ff16118015610657575060045460ff90811690821611155b6106735760405162461bcd60e51b815260040161035c90610b34565b3360009081526001602052604090208054610100900460ff16156106d25760405162461bcd60e51b8152602060048201526016602482015275165bdd481a185d9948185b1c9958591e481d9bdd195960521b604482015260640161035c565b805461ff0019166101001781556002808201805460ff851660ff19909116811790915560018301546000918252602092909252604081208054909190610719908490610b72565b909155505060ff8216600090815260036020526040812080549161073c83610beb565b909155505060018101546040805133815260ff8516602082015280820192909252517fbcfb1c468bc82dd5256507ca2e70d8d846128770e1f9b4107a249677fbccd8909181900360600190a15050565b6000546001600160a01b031633146107b65760405162461bcd60e51b815260040161035c90610baa565b8281146108215760405162461bcd60e51b815260206004820152603360248201527f566f7465727320616e64207765696768747320617272617973206d75737420686044820152720c2ecca40e8d0ca40e6c2daca40d8cadccee8d606b1b606482015260840161035c565b60005b83811015610a1d576001600086868481811061084257610842610c04565b90506020020160208101906108579190610a24565b6001600160a01b0316815260208101919091526040016000205460ff16156108c15760405162461bcd60e51b815260206004820152601b60248201527f566f74657220697320616c726561647920726567697374657265640000000000604482015260640161035c565b6040805160808101825260018152600060208201529081018484848181106108eb576108eb610c04565b905060200201358152602001600060ff168152506001600087878581811061091557610915610c04565b905060200201602081019061092a9190610a24565b6001600160a01b031681526020808201929092526040908101600020835181549385015161ffff1990941690151561ff001916176101009315159390930292909217825582015160018201556060909101516002909101805460ff191660ff9092169190911790557ff16ce2c2236e2c6e3df646f80d657bceef4cd7f3a240c47e82adfa17a5f472418585838181106109c5576109c5610c04565b90506020020160208101906109da9190610a24565b8484848181106109ec576109ec610c04565b604080516001600160a01b0390951685526020918202939093013590840152500160405180910390a1600101610824565b5050505050565b600060208284031215610a3657600080fd5b81356001600160a01b0381168114610a4d57600080fd5b9392505050565b600060208284031215610a6657600080fd5b813560ff81168114610a4d57600080fd5b60008083601f840112610a8957600080fd5b50813567ffffffffffffffff811115610aa157600080fd5b6020830191508360208260051b8501011115610abc57600080fd5b9250929050565b60008060008060408587031215610ad957600080fd5b843567ffffffffffffffff811115610af057600080fd5b610afc87828801610a77565b909550935050602085013567ffffffffffffffff811115610b1c57600080fd5b610b2887828801610a77565b95989497509550505050565b6020808252600e908201526d24b73b30b634b21037b83a34b7b760911b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b80820180821115610b8557610b85610b5c565b92915050565b600060ff821660ff8103610ba157610ba1610b5c565b60010192915050565b60208082526021908201527f4f6e6c79206f776e65722063616e2063616c6c20746869732066756e6374696f6040820152603760f91b606082015260800190565b600060018201610bfd57610bfd610b5c565b5060010190565b634e487b7160e01b600052603260045260246000fdfea2646970667358221220daca513b4bf005c8b781411557d8cb72d71f11f4c67092e408ce1b65e5b2d12764736f6c634300081a0033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000030000000000000000000000002ceb57e8773092fc9667af4703777554aa1a631f000000000000000000000000682b5687f032b3024fc66dce0d9652b980c34d3f0000000000000000000000002a18a846d5362c5689a82ce1a0e771602852a98a0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000000000000000c8000000000000000000000000000000000000000000000000000000000000012c

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101005760003560e01c80638da5cb5b11610097578063b3f98adc11610066578063b3f98adc146102b1578063c3c5a547146102c4578063dea98729146102f0578063ebc3f99e1461031057600080fd5b80638da5cb5b146101ee5780639a0e7d6614610219578063a3ec138d14610221578063ac6c52511461028457600080fd5b8063466fdec9116100d3578063466fdec9146101945780635d811787146101a957806387ed3ecf146101bc5780638d337b81146101db57600080fd5b806309eef43e14610105578063283d4c7b1461014b578063288c72e81461016c5780633514898b14610174575b600080fd5b610136610113366004610a24565b6001600160a01b0316600090815260016020526040902054610100900460ff1690565b60405190151581526020015b60405180910390f35b61015e610159366004610a54565b610323565b604051908152602001610142565b61015e61037b565b61015e610182366004610a54565b60026020526000908152604090205481565b6101a76101a2366004610a54565b6103c8565b005b61015e6101b7366004610a54565b6104a1565b6004546101c99060ff1681565b60405160ff9091168152602001610142565b6101c96101e9366004610a24565b6104f0565b600054610201906001600160a01b031681565b6040516001600160a01b039091168152602001610142565b61015e61057f565b61025f61022f366004610a24565b600160208190526000918252604090912080549181015460029091015460ff808416936101009004811692911684565b60408051941515855292151560208501529183015260ff166060820152608001610142565b61015e610292366004610a24565b6001600160a01b03166000908152600160208190526040909120015490565b6101a76102bf366004610a54565b6105c6565b6101366102d2366004610a24565b6001600160a01b031660009081526001602052604090205460ff1690565b61015e6102fe366004610a54565b60036020526000908152604090205481565b6101a761031e366004610ac3565b61078c565b6000808260ff16118015610340575060045460ff90811690831611155b6103655760405162461bcd60e51b815260040161035c90610b34565b60405180910390fd5b5060ff1660009081526002602052604090205490565b60008060015b60045460ff908116908216116103c25760ff81166000908152600360205260409020546103ae9083610b72565b9150806103ba81610b8b565b915050610381565b50919050565b6000546001600160a01b031633146103f25760405162461bcd60e51b815260040161035c90610baa565b60008160ff16116104595760405162461bcd60e51b815260206004820152602b60248201527f4e756d626572206f66206f7074696f6e73206d7573742062652067726561746560448201526a72207468616e207a65726f60a81b606482015260840161035c565b6004805460ff191660ff83169081179091556040519081527fe59210f11af7ebbf42e1ef96b908f81f98231afa4493ae7de3a6b67a8fcfcc089060200160405180910390a150565b6000808260ff161180156104be575060045460ff90811690831611155b6104da5760405162461bcd60e51b815260040161035c90610b34565b5060ff1660009081526003602052604090205490565b6001600160a01b038116600090815260016020526040812054610100900460ff1661055d5760405162461bcd60e51b815260206004820152601c60248201527f5468697320766f74657220686173206e6f7420766f7465642079657400000000604482015260640161035c565b506001600160a01b031660009081526001602052604090206002015460ff1690565b60008060015b60045460ff908116908216116103c25760ff81166000908152600260205260409020546105b29083610b72565b9150806105be81610b8b565b915050610585565b3360009081526001602052604090205460ff1661063b5760405162461bcd60e51b815260206004820152602d60248201527f4f6e6c79207265676973746572656420766f746572732063616e2063616c6c2060448201526c3a3434b990333ab731ba34b7b760991b606482015260840161035c565b60008160ff16118015610657575060045460ff90811690821611155b6106735760405162461bcd60e51b815260040161035c90610b34565b3360009081526001602052604090208054610100900460ff16156106d25760405162461bcd60e51b8152602060048201526016602482015275165bdd481a185d9948185b1c9958591e481d9bdd195960521b604482015260640161035c565b805461ff0019166101001781556002808201805460ff851660ff19909116811790915560018301546000918252602092909252604081208054909190610719908490610b72565b909155505060ff8216600090815260036020526040812080549161073c83610beb565b909155505060018101546040805133815260ff8516602082015280820192909252517fbcfb1c468bc82dd5256507ca2e70d8d846128770e1f9b4107a249677fbccd8909181900360600190a15050565b6000546001600160a01b031633146107b65760405162461bcd60e51b815260040161035c90610baa565b8281146108215760405162461bcd60e51b815260206004820152603360248201527f566f7465727320616e64207765696768747320617272617973206d75737420686044820152720c2ecca40e8d0ca40e6c2daca40d8cadccee8d606b1b606482015260840161035c565b60005b83811015610a1d576001600086868481811061084257610842610c04565b90506020020160208101906108579190610a24565b6001600160a01b0316815260208101919091526040016000205460ff16156108c15760405162461bcd60e51b815260206004820152601b60248201527f566f74657220697320616c726561647920726567697374657265640000000000604482015260640161035c565b6040805160808101825260018152600060208201529081018484848181106108eb576108eb610c04565b905060200201358152602001600060ff168152506001600087878581811061091557610915610c04565b905060200201602081019061092a9190610a24565b6001600160a01b031681526020808201929092526040908101600020835181549385015161ffff1990941690151561ff001916176101009315159390930292909217825582015160018201556060909101516002909101805460ff191660ff9092169190911790557ff16ce2c2236e2c6e3df646f80d657bceef4cd7f3a240c47e82adfa17a5f472418585838181106109c5576109c5610c04565b90506020020160208101906109da9190610a24565b8484848181106109ec576109ec610c04565b604080516001600160a01b0390951685526020918202939093013590840152500160405180910390a1600101610824565b5050505050565b600060208284031215610a3657600080fd5b81356001600160a01b0381168114610a4d57600080fd5b9392505050565b600060208284031215610a6657600080fd5b813560ff81168114610a4d57600080fd5b60008083601f840112610a8957600080fd5b50813567ffffffffffffffff811115610aa157600080fd5b6020830191508360208260051b8501011115610abc57600080fd5b9250929050565b60008060008060408587031215610ad957600080fd5b843567ffffffffffffffff811115610af057600080fd5b610afc87828801610a77565b909550935050602085013567ffffffffffffffff811115610b1c57600080fd5b610b2887828801610a77565b95989497509550505050565b6020808252600e908201526d24b73b30b634b21037b83a34b7b760911b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b80820180821115610b8557610b85610b5c565b92915050565b600060ff821660ff8103610ba157610ba1610b5c565b60010192915050565b60208082526021908201527f4f6e6c79206f776e65722063616e2063616c6c20746869732066756e6374696f6040820152603760f91b606082015260800190565b600060018201610bfd57610bfd610b5c565b5060010190565b634e487b7160e01b600052603260045260246000fdfea2646970667358221220daca513b4bf005c8b781411557d8cb72d71f11f4c67092e408ce1b65e5b2d12764736f6c634300081a0033

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

000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000030000000000000000000000002ceb57e8773092fc9667af4703777554aa1a631f000000000000000000000000682b5687f032b3024fc66dce0d9652b980c34d3f0000000000000000000000002a18a846d5362c5689a82ce1a0e771602852a98a0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000000000000000c8000000000000000000000000000000000000000000000000000000000000012c

-----Decoded View---------------
Arg [0] : _voters (address[]): 0x2CEB57E8773092fC9667Af4703777554aA1a631F,0x682B5687f032B3024FC66dce0d9652B980c34D3f,0x2A18A846D5362c5689A82CE1a0E771602852A98A
Arg [1] : _weights (uint256[]): 100,200,300
Arg [2] : _numberOfOptions (uint8): 3

-----Encoded View---------------
11 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000e0
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [4] : 0000000000000000000000002ceb57e8773092fc9667af4703777554aa1a631f
Arg [5] : 000000000000000000000000682b5687f032b3024fc66dce0d9652b980c34d3f
Arg [6] : 0000000000000000000000002a18a846d5362c5689a82ce1a0e771602852a98a
Arg [7] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [8] : 0000000000000000000000000000000000000000000000000000000000000064
Arg [9] : 00000000000000000000000000000000000000000000000000000000000000c8
Arg [10] : 000000000000000000000000000000000000000000000000000000000000012c


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.