Contract 0x0792724900B551d200D954a5Ed709d9514d73A9F

Contract Overview

Balance:
0 Ether
Txn Hash Method
Block
From
To
Value
0x175e7fff36079161242d644e6355f44dfd5f3529df3720b04799c769db83947eSet Winner228987772021-01-05 22:59:20132 days 21 hrs ago0x436ee8cb3a351893b77f8b57c9772daec3a96445 IN  0x0792724900b551d200d954a5ed709d9514d73a9f0 Ether0.0000344621
0xf46f3d7c8f29c4ba16595a1ca16351af4040c09c7612f67fa1c2f635f9247d5fSet Winner228987712021-01-05 22:58:40132 days 21 hrs ago0x436ee8cb3a351893b77f8b57c9772daec3a96445 IN  0x0792724900b551d200d954a5ed709d9514d73a9f0 Ether0.0000344261
0x5af91a3ecf36b67fef8815a6721d5c661286ee736f7f7954891fabd33e047929Set Winner228986932021-01-05 22:49:52132 days 21 hrs ago0x436ee8cb3a351893b77f8b57c9772daec3a96445 IN  0x0792724900b551d200d954a5ed709d9514d73a9f0 Ether0.0000344261
0xbc9f142b08bf9c89ca68427416987a898b7e13909ac04258dccce7418eb69e1bSet Winner228985012021-01-05 22:28:24132 days 22 hrs ago0x436ee8cb3a351893b77f8b57c9772daec3a96445 IN  0x0792724900b551d200d954a5ed709d9514d73a9f0 Ether0.0000344261
0xef3a0e6b782f7f6ad7f0e850405d13d2b2432dc239db4e9586be9b8c44d2b5e8Set Winner228979472021-01-05 21:26:44132 days 23 hrs ago0x436ee8cb3a351893b77f8b57c9772daec3a96445 IN  0x0792724900b551d200d954a5ed709d9514d73a9f0 Ether0.0000485811
0x4e414d1f6ab3f5cb7f3fe1f173a4c728a783fb3f2758dcdd7d21a8cca8e25e6cSet Winner228241122020-12-31 2:47:20138 days 17 hrs ago0x436ee8cb3a351893b77f8b57c9772daec3a96445 IN  0x0792724900b551d200d954a5ed709d9514d73a9f0 Ether0.0009718620
0x23a448beac1399459f5b6c49a92145a85567f8ae45b1a6257a338ea55ff37bd3Set Winner228235832020-12-31 1:48:20138 days 18 hrs ago0x436ee8cb3a351893b77f8b57c9772daec3a96445 IN  0x0792724900b551d200d954a5ed709d9514d73a9f0 Ether0.0009713820
0x1b569980d91565089ed85ac5e3eabcfdb717b4ac245b78d6b5aac4390add23fd0x60806040228209212020-12-30 20:50:12138 days 23 hrs ago0x436ee8cb3a351893b77f8b57c9772daec3a96445 IN  Contract Creation0 Ether0.0140976820
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Jan2021SenateRunoffs

Compiler Version
v0.6.11+commit.5ef660b1

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
File 1 of 3 : Jan2021SenateRunoffs.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.6.0;

import "@openzeppelin/contracts/access/Ownable.sol";

/**
 * @dev Implementation of the January 5th, 2021 Senate Run-off Oracle with Associated Press
 *
 * All interested consumers can freely access the race calls from the "winners" mapping
 * You may also listen for the "SetWinner" event.
 */
contract Jan2021SenateRunoffs is Ownable {
    /**
     *  @dev Event is called whenever a winner is called
     */
    event SetWinner(string positionName, string winnerLastName);

    /**
     *  @dev Where the senate run-off winners are stored. Mapping position to the winner's last name.
     * "U.S. Senate Class II": "Perdue"
     * "U.S. Senate Class III": "Loeffler"
     */
    mapping(string => string) public winners;

    /**
     *  @dev Only callable by AP. Used to make a race call
     */
    function setWinner(string memory positionName, string memory winnerLastName)
        public
        onlyOwner
    {
        winners[positionName] = winnerLastName;
        emit SetWinner(positionName, winnerLastName);
    }
}

File 2 of 3 : Ownable.sol
// SPDX-License-Identifier: MIT

pragma solidity >=0.6.0 <0.8.0;

import "../GSN/Context.sol";
/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * By default, the owner account will be the one that deploys the contract. This
 * can later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor () internal {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

File 3 of 3 : Context.sol
// SPDX-License-Identifier: MIT

pragma solidity >=0.6.0 <0.8.0;

/*
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with GSN meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address payable) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

Settings
{
  "optimizer": {
    "enabled": false,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "abi"
      ]
    }
  },
  "libraries": {}
}

Contract ABI

[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"positionName","type":"string"},{"indexed":false,"internalType":"string","name":"winnerLastName","type":"string"}],"name":"SetWinner","type":"event"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"positionName","type":"string"},{"internalType":"string","name":"winnerLastName","type":"string"}],"name":"setWinner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"","type":"string"}],"name":"winners","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"}]

608060405234801561001057600080fd5b5060006100216100c460201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506100cc565b600033905090565b610b5b806100db6000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c806328e0a79d1461005c578063715018a6146101905780638da5cb5b1461019a578063f2fde38b146101e4578063f969226514610228575b600080fd5b6101156004803603602081101561007257600080fd5b810190808035906020019064010000000081111561008f57600080fd5b8201836020820111156100a157600080fd5b803590602001918460018302840111640100000000831117156100c357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505061037a565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561015557808201518184015260208101905061013a565b50505050905090810190601f1680156101825780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610198610440565b005b6101a26105c8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610226600480360360208110156101fa57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105f1565b005b6103786004803603604081101561023e57600080fd5b810190808035906020019064010000000081111561025b57600080fd5b82018360208201111561026d57600080fd5b8035906020019184600183028401116401000000008311171561028f57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156102f257600080fd5b82018360208201111561030457600080fd5b8035906020019184600183028401116401000000008311171561032657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506107fe565b005b6001818051602081018201805184825260208301602085012081835280955050505050506000915090508054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104385780601f1061040d57610100808354040283529160200191610438565b820191906000526020600020905b81548152906001019060200180831161041b57829003601f168201915b505050505081565b610448610a52565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610509576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6105f9610a52565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610740576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180610b006026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610806610a52565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b806001836040518082805190602001908083835b602083106108fe57805182526020820191506020810190506020830392506108db565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405180910390209080519060200190610944929190610a5a565b507fbd740b4fa9c1b42d27b9f68baee8666b8d2cf272eab2fb1c49804e11c8722ce48282604051808060200180602001838103835285818151815260200191508051906020019080838360005b838110156109ac578082015181840152602081019050610991565b50505050905090810190601f1680156109d95780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015610a125780820151818401526020810190506109f7565b50505050905090810190601f168015610a3f5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a15050565b600033905090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610a9b57805160ff1916838001178555610ac9565b82800160010185558215610ac9579182015b82811115610ac8578251825591602001919060010190610aad565b5b509050610ad69190610ada565b5090565b610afc91905b80821115610af8576000816000905550600101610ae0565b5090565b9056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373a2646970667358221220a36e352388a7ad7f522793e2adc61cb36d732a10c458b5b95be654a5979946b964736f6c634300060b0033

Block Transaction Difficulty Gas Used Reward
Block Uncle Number Difficulty Gas Used Reward
Loading