ETH Price: $1,587.20 (-0.18%)
Gas: 18 Gwei
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multi Chain

Transaction Hash
Method
Block
From
To
Value
Transfer182153712023-09-25 21:05:4747 secs ago1695675947IN
Tellor Tributes: TRB Token
0 ETH0.0022511920.11304646
Transfer182153482023-09-25 21:01:115 mins ago1695675671IN
Tellor Tributes: TRB Token
0 ETH0.0021836621.69695275
Transfer182153142023-09-25 20:54:2312 mins ago1695675263IN
Tellor Tributes: TRB Token
0 ETH0.0026978126.805529
Transfer182151002023-09-25 20:11:2355 mins ago1695672683IN
Tellor Tributes: TRB Token
0 ETH0.0017846415.94638864
Transfer182150732023-09-25 20:05:591 hr ago1695672359IN
Tellor Tributes: TRB Token
0 ETH0.0019727717.62555325
Transfer182150172023-09-25 19:54:471 hr 11 mins ago1695671687IN
Tellor Tributes: TRB Token
0 ETH0.0021442519.15761996
Transfer182149802023-09-25 19:47:231 hr 19 mins ago1695671243IN
Tellor Tributes: TRB Token
0 ETH0.0024532521.91839105
Transfer182148042023-09-25 19:12:111 hr 54 mins ago1695669131IN
Tellor Tributes: TRB Token
0 ETH0.0019726420
Transfer182146932023-09-25 18:49:592 hrs 16 mins ago1695667799IN
Tellor Tributes: TRB Token
0 ETH0.0011349910.14046491
Transfer182144452023-09-25 18:00:113 hrs 6 mins ago1695664811IN
Tellor Tributes: TRB Token
0 ETH0.0015623315.52519926
Transfer182142962023-09-25 17:30:113 hrs 36 mins ago1695663011IN
Tellor Tributes: TRB Token
0 ETH0.0021456221.75380516
Transfer182140892023-09-25 16:48:354 hrs 17 mins ago1695660515IN
Tellor Tributes: TRB Token
0 ETH0.0023898321.35169542
Transfer182138492023-09-25 16:00:115 hrs 6 mins ago1695657611IN
Tellor Tributes: TRB Token
0 ETH0.0015294615.50676794
Migrate182138122023-09-25 15:52:475 hrs 13 mins ago1695657167IN
Tellor Tributes: TRB Token
0 ETH0.0006179615.53099491
Migrate182138082023-09-25 15:51:595 hrs 14 mins ago1695657119IN
Tellor Tributes: TRB Token
0 ETH0.0006346815.95122942
Migrate182138022023-09-25 15:50:475 hrs 15 mins ago1695657047IN
Tellor Tributes: TRB Token
0 ETH0.0006824717.15232426
Migrate182137702023-09-25 15:44:235 hrs 22 mins ago1695656663IN
Tellor Tributes: TRB Token
0 ETH0.000893322.45106964
Transfer182135642023-09-25 15:02:236 hrs 4 mins ago1695654143IN
Tellor Tributes: TRB Token
0 ETH0.0027043626.87063005
Transfer182135582023-09-25 15:01:116 hrs 5 mins ago1695654071IN
Tellor Tributes: TRB Token
0 ETH0.0025303423.01842398
Transfer182135332023-09-25 14:56:116 hrs 10 mins ago1695653771IN
Tellor Tributes: TRB Token
0 ETH0.0024369721.77292632
Transfer182134762023-09-25 14:44:476 hrs 21 mins ago1695653087IN
Tellor Tributes: TRB Token
0 ETH0.0021890221.75015241
Transfer From182133902023-09-25 14:27:116 hrs 39 mins ago1695652031IN
Tellor Tributes: TRB Token
0 ETH0.0021956220.96998435
Approve182133832023-09-25 14:25:476 hrs 40 mins ago1695651947IN
Tellor Tributes: TRB Token
0 ETH0.0008808817.09295821
Approve182133772023-09-25 14:24:356 hrs 41 mins ago1695651875IN
Tellor Tributes: TRB Token
0 ETH0.0009655918.73676164
Transfer182133672023-09-25 14:22:356 hrs 43 mins ago1695651755IN
Tellor Tributes: TRB Token
0 ETH0.0021085620.95075391
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
TellorMaster

Compiler Version
v0.7.4+commit.3f05b770

Optimization Enabled:
Yes with 999999 runs

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

import "./TellorStorage.sol";
import "./TellorVariables.sol";

/**
 * @title Tellor Master
 * @dev This is the Master contract with all tellor getter functions and delegate call to Tellor.
 * The logic for the functions on this contract is saved on the TellorGettersLibrary, TellorTransfer,
 * TellorGettersLibrary, and TellorStake
 */
contract TellorMaster is TellorStorage, TellorVariables {
    event NewTellorAddress(address _newTellor);

    constructor(address _tContract, address _oTellor) {
        addresses[_OWNER] = msg.sender;
        addresses[_DEITY] = msg.sender;
        addresses[_TELLOR_CONTRACT] = _tContract;
        addresses[_OLD_TELLOR] = _oTellor;
        bytesVars[_CURRENT_CHALLENGE] = bytes32("1");
        uints[_DIFFICULTY] = 100;
        uints[_TIME_TARGET] = 240;
        uints[_TARGET_MINERS] = 200;
        uints[_CURRENT_REWARD] = 1e18;
        uints[_DISPUTE_FEE] = 500e18;
        uints[_STAKE_AMOUNT] = 500e18;
        uints[_TIME_OF_LAST_NEW_VALUE] = block.timestamp - 240;

        currentMiners[0].value = 1;
        currentMiners[1].value = 2;
        currentMiners[2].value = 3;
        currentMiners[3].value = 4;
        currentMiners[4].value = 5;

        // Bootstraping Request Queue
        for (uint256 index = 1; index < 51; index++) {
            Request storage req = requestDetails[index];
            req.apiUintVars[_REQUEST_Q_POSITION] = index;
            requestIdByRequestQIndex[index] = index;
        }

        assembly {
            sstore(_EIP_SLOT, _tContract)
        }

        emit NewTellorAddress(_tContract);
    }

    /**
     * @dev This function allows the Deity to set a new deity
     * @param _newDeity the new Deity in the contract
     */
    function changeDeity(address _newDeity) external {
        require(msg.sender == addresses[_DEITY]);
        addresses[_DEITY] = _newDeity;
    }

    /**
     * @dev This function allows the owner to set a new _owner
     * @param _newOwner the new Owner in the contract
     */
    function changeOwner(address _newOwner) external {
        require(msg.sender == addresses[_OWNER]);
        addresses[_OWNER] = _newOwner;
    }

    /**
     * @dev  allows for the deity to make fast upgrades.  Deity should be 0 address if decentralized
     * @param _tContract the address of the new Tellor Contract
     */
    function changeTellorContract(address _tContract) external {
        require(msg.sender == addresses[_DEITY]);
        addresses[_TELLOR_CONTRACT] = _tContract;

        assembly {
            sstore(_EIP_SLOT, _tContract)
        }
    }

    /**
     * @dev This is the internal function that allows for delegate calls to the Tellor logic
     * contract address
     */
    function _delegate(address implementation) internal virtual {
        // solhint-disable-next-line no-inline-assembly
        assembly {
            // Copy msg.data. We take full control of memory in this inline assembly
            // block because it will not return to Solidity code. We overwrite the
            // Solidity scratch pad at memory position 0.
            calldatacopy(0, 0, calldatasize())

            // Call the implementation.
            // out and outsize are 0 because we don't know the size yet.
            let result := delegatecall(
                gas(),
                implementation,
                0,
                calldatasize(),
                0,
                0
            )

            // Copy the returned data.
            returndatacopy(0, 0, returndatasize())

            switch result
                // delegatecall returns 0 on error.
                case 0 {
                    revert(0, returndatasize())
                }
                default {
                    return(0, returndatasize())
                }
        }
    }

    /**
     * @dev This is the fallback function that allows contracts to call the tellor
     * contract at the address stored
     */
    fallback() external payable {
        address addr = addresses[_TELLOR_CONTRACT];
        _delegate(addr);
    }
}

File 2 of 3 : TellorStorage.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.7.4;

/**
 * @title Tellor Oracle Storage Library
 * @dev Contains all the variables/structs used by Tellor
 */

contract TellorStorage {
    //Internal struct for use in proof-of-work submission
    struct Details {
        uint256 value;
        address miner;
    }

    struct Dispute {
        bytes32 hash; //unique hash of dispute: keccak256(_miner,_requestId,_timestamp)
        int256 tally; //current tally of votes for - against measure
        bool executed; //is the dispute settled
        bool disputeVotePassed; //did the vote pass?
        bool isPropFork; //true for fork proposal NEW
        address reportedMiner; //miner who submitted the 'bad value' will get disputeFee if dispute vote fails
        address reportingParty; //miner reporting the 'bad value'-pay disputeFee will get reportedMiner's stake if dispute vote passes
        address proposedForkAddress; //new fork address (if fork proposal)
        mapping(bytes32 => uint256) disputeUintVars;
        //Each of the variables below is saved in the mapping disputeUintVars for each disputeID
        //e.g. TellorStorageStruct.DisputeById[disputeID].disputeUintVars[keccak256("requestId")]
        //These are the variables saved in this mapping:
        // uint keccak256("requestId");//apiID of disputed value
        // uint keccak256("timestamp");//timestamp of disputed value
        // uint keccak256("value"); //the value being disputed
        // uint keccak256("minExecutionDate");//7 days from when dispute initialized
        // uint keccak256("numberOfVotes");//the number of parties who have voted on the measure
        // uint keccak256("blockNumber");// the blocknumber for which votes will be calculated from
        // uint keccak256("minerSlot"); //index in dispute array
        // uint keccak256("fee"); //fee paid corresponding to dispute
        mapping(address => bool) voted; //mapping of address to whether or not they voted
    }

    struct StakeInfo {
        uint256 currentStatus; //0-not Staked, 1=Staked, 2=LockedForWithdraw 3= OnDispute 4=ReadyForUnlocking 5=Unlocked
        uint256 startDate; //stake start date
    }

    //Internal struct to allow balances to be queried by blocknumber for voting purposes
    struct Checkpoint {
        uint128 fromBlock; // fromBlock is the block number that the value was generated from
        uint128 value; // value is the amount of tokens at a specific block number
    }

    struct Request {
        uint256[] requestTimestamps; //array of all newValueTimestamps requested
        mapping(bytes32 => uint256) apiUintVars;
        //Each of the variables below is saved in the mapping apiUintVars for each api request
        //e.g. requestDetails[_requestId].apiUintVars[keccak256("totalTip")]
        //These are the variables saved in this mapping:
        // uint keccak256("requestQPosition"); //index in requestQ
        // uint keccak256("totalTip");//bonus portion of payout
        mapping(uint256 => uint256) minedBlockNum; //[apiId][minedTimestamp]=>block.number
        //This the time series of finalValues stored by the contract where uint UNIX timestamp is mapped to value
        mapping(uint256 => uint256) finalValues;
        mapping(uint256 => bool) inDispute; //checks if API id is in dispute or finalized.
        mapping(uint256 => address[5]) minersByValue;
        mapping(uint256 => uint256[5]) valuesByTimestamp;
    }

    uint256[51] requestQ; //uint50 array of the top50 requests by payment amount
    uint256[] public newValueTimestamps; //array of all timestamps requested
    //Address fields in the Tellor contract are saved the addressVars mapping
    //e.g. addressVars[keccak256("tellorContract")] = address
    //These are the variables saved in this mapping:
    // address keccak256("tellorContract");//Tellor address
    // address  keccak256("_owner");//Tellor Owner address
    // address  keccak256("_deity");//Tellor Owner that can do things at will
    // address  keccak256("pending_owner"); // The proposed new owner
    //uint fields in the Tellor contract are saved the uintVars mapping
    //e.g. uintVars[keccak256("decimals")] = uint
    //These are the variables saved in this mapping:
    // keccak256("decimals");    //18 decimal standard ERC20
    // keccak256("disputeFee");//cost to dispute a mined value
    // keccak256("disputeCount");//totalHistoricalDisputes
    // keccak256("total_supply"); //total_supply of the token in circulation
    // keccak256("stakeAmount");//stakeAmount for miners (we can cut gas if we just hardcoded it in...or should it be variable?)
    // keccak256("stakerCount"); //number of parties currently staked
    // keccak256("timeOfLastNewValue"); // time of last challenge solved
    // keccak256("difficulty"); // Difficulty of current block
    // keccak256("currentTotalTips"); //value of highest api/timestamp PayoutPool
    // keccak256("currentRequestId"); //API being mined--updates with the ApiOnQ Id
    // keccak256("requestCount"); // total number of requests through the system
    // keccak256("slotProgress");//Number of miners who have mined this value so far
    // keccak256("miningReward");//Mining Reward in PoWo tokens given to all miners per value
    // keccak256("timeTarget"); //The time between blocks (mined Oracle values)
    // keccak256("_tblock"); //
    // keccak256("runningTips"); // VAriable to track running tips
    // keccak256("currentReward"); // The current reward
    // keccak256("devShare"); // The amount directed towards th devShare
    // keccak256("currentTotalTips"); //

    //This is a boolean that tells you if a given challenge has been completed by a given miner
    mapping(uint256 => uint256) requestIdByTimestamp; //minedTimestamp to apiId
    mapping(uint256 => uint256) requestIdByRequestQIndex; //link from payoutPoolIndex (position in payout pool array) to apiId
    mapping(uint256 => Dispute) public disputesById; //disputeId=> Dispute details
    mapping(bytes32 => uint256) public requestIdByQueryHash; // api bytes32 gets an id = to count of requests array
    mapping(bytes32 => uint256) public disputeIdByDisputeHash; //maps a hash to an ID for each dispute
    mapping(bytes32 => mapping(address => bool)) public minersByChallenge;
    Details[5] public currentMiners; //This struct is for organizing the five mined values to find the median
    mapping(address => StakeInfo) stakerDetails; //mapping from a persons address to their staking info
    mapping(uint256 => Request) requestDetails;

    mapping(bytes32 => uint256) public uints;
    mapping(bytes32 => address) public addresses;
    mapping(bytes32 => bytes32) public bytesVars;

    //ERC20 storage
    mapping(address => Checkpoint[]) public balances;
    mapping(address => mapping(address => uint256)) public _allowances;

    //Migration storage
    mapping(address => bool) public migrated;
}

File 3 of 3 : TellorVariables.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.7.4;

// Helper contract to store hashes of variables
contract TellorVariables {
    bytes32 constant _BLOCK_NUMBER =
        0x4b4cefd5ced7569ef0d091282b4bca9c52a034c56471a6061afd1bf307a2de7c; //keccak256("_BLOCK_NUMBER");
    bytes32 constant _CURRENT_CHALLENGE =
        0xd54702836c9d21d0727ffacc3e39f57c92b5ae0f50177e593bfb5ec66e3de280; //keccak256("_CURRENT_CHALLENGE");
    bytes32 constant _CURRENT_REQUESTID =
        0xf5126bb0ac211fbeeac2c0e89d4c02ac8cadb2da1cfb27b53c6c1f4587b48020; //keccak256("_CURRENT_REQUESTID");
    bytes32 constant _CURRENT_REWARD =
        0xd415862fd27fb74541e0f6f725b0c0d5b5fa1f22367d9b78ec6f61d97d05d5f8; //keccak256("_CURRENT_REWARD");
    bytes32 constant _CURRENT_TOTAL_TIPS =
        0x09659d32f99e50ac728058418d38174fe83a137c455ff1847e6fb8e15f78f77a; //keccak256("_CURRENT_TOTAL_TIPS");
    bytes32 constant _DEITY =
        0x5fc094d10c65bc33cc842217b2eccca0191ff24148319da094e540a559898961; //keccak256("_DEITY");
    bytes32 constant _DIFFICULTY =
        0xf758978fc1647996a3d9992f611883adc442931dc49488312360acc90601759b; //keccak256("_DIFFICULTY");
    bytes32 constant _DISPUTE_COUNT =
        0x310199159a20c50879ffb440b45802138b5b162ec9426720e9dd3ee8bbcdb9d7; //keccak256("_DISPUTE_COUNT");
    bytes32 constant _DISPUTE_FEE =
        0x675d2171f68d6f5545d54fb9b1fb61a0e6897e6188ca1cd664e7c9530d91ecfc; //keccak256("_DISPUTE_FEE");
    bytes32 constant _DISPUTE_ROUNDS =
        0x6ab2b18aafe78fd59c6a4092015bddd9fcacb8170f72b299074f74d76a91a923; //keccak256("_DISPUTE_ROUNDS");
    bytes32 constant _FEE =
        0x1da95f11543c9b03927178e07951795dfc95c7501a9d1cf00e13414ca33bc409; //keccak256("FEE");
    bytes32 constant _MIN_EXECUTION_DATE =
        0x46f7d53798d31923f6952572c6a19ad2d1a8238d26649c2f3493a6d69e425d28; //keccak256("_MIN_EXECUTION_DATE");
    bytes32 constant _MINER_SLOT =
        0x6de96ee4d33a0617f40a846309c8759048857f51b9d59a12d3c3786d4778883d; //keccak256("_MINER_SLOT");
    bytes32 constant _NUM_OF_VOTES =
        0x1da378694063870452ce03b189f48e04c1aa026348e74e6c86e10738514ad2c4; //keccak256("_NUM_OF_VOTES");
    bytes32 constant _OLD_TELLOR =
        0x56e0987db9eaec01ed9e0af003a0fd5c062371f9d23722eb4a3ebc74f16ea371; //keccak256("_OLD_TELLOR");
    bytes32 constant _ORIGINAL_ID =
        0xed92b4c1e0a9e559a31171d487ecbec963526662038ecfa3a71160bd62fb8733; //keccak256("_ORIGINAL_ID");
    bytes32 constant _OWNER =
        0x7a39905194de50bde334d18b76bbb36dddd11641d4d50b470cb837cf3bae5def; //keccak256("_OWNER");
    bytes32 constant _PAID =
        0x29169706298d2b6df50a532e958b56426de1465348b93650fca42d456eaec5fc; //keccak256("_PAID");
    bytes32 constant _PENDING_OWNER =
        0x7ec081f029b8ac7e2321f6ae8c6a6a517fda8fcbf63cabd63dfffaeaafa56cc0; //keccak256("_PENDING_OWNER");
    bytes32 constant _REQUEST_COUNT =
        0x3f8b5616fa9e7f2ce4a868fde15c58b92e77bc1acd6769bf1567629a3dc4c865; //keccak256("_REQUEST_COUNT");
    bytes32 constant _REQUEST_ID =
        0x9f47a2659c3d32b749ae717d975e7962959890862423c4318cf86e4ec220291f; //keccak256("_REQUEST_ID");
    bytes32 constant _REQUEST_Q_POSITION =
        0xf68d680ab3160f1aa5d9c3a1383c49e3e60bf3c0c031245cbb036f5ce99afaa1; //keccak256("_REQUEST_Q_POSITION");
    bytes32 constant _SLOT_PROGRESS =
        0xdfbec46864bc123768f0d134913175d9577a55bb71b9b2595fda21e21f36b082; //keccak256("_SLOT_PROGRESS");
    bytes32 constant _STAKE_AMOUNT =
        0x5d9fadfc729fd027e395e5157ef1b53ef9fa4a8f053043c5f159307543e7cc97; //keccak256("_STAKE_AMOUNT");
    bytes32 constant _STAKE_COUNT =
        0x10c168823622203e4057b65015ff4d95b4c650b308918e8c92dc32ab5a0a034b; //keccak256("_STAKE_COUNT");
    bytes32 constant _T_BLOCK =
        0xf3b93531fa65b3a18680d9ea49df06d96fbd883c4889dc7db866f8b131602dfb; //keccak256("_T_BLOCK");
    bytes32 constant _TALLY_DATE =
        0xf9e1ae10923bfc79f52e309baf8c7699edb821f91ef5b5bd07be29545917b3a6; //keccak256("_TALLY_DATE");
    bytes32 constant _TARGET_MINERS =
        0x0b8561044b4253c8df1d9ad9f9ce2e0f78e4bd42b2ed8dd2e909e85f750f3bc1; //keccak256("_TARGET_MINERS");
    bytes32 constant _TELLOR_CONTRACT =
        0x0f1293c916694ac6af4daa2f866f0448d0c2ce8847074a7896d397c961914a08; //keccak256("_TELLOR_CONTRACT");
    bytes32 constant _TELLOR_GETTERS =
        0xabd9bea65759494fe86471c8386762f989e1f2e778949e94efa4a9d1c4b3545a; //keccak256("_TELLOR_GETTERS");
    bytes32 constant _TIME_OF_LAST_NEW_VALUE =
        0x2c8b528fbaf48aaf13162a5a0519a7ad5a612da8ff8783465c17e076660a59f1; //keccak256("_TIME_OF_LAST_NEW_VALUE");
    bytes32 constant _TIME_TARGET =
        0xd4f87b8d0f3d3b7e665df74631f6100b2695daa0e30e40eeac02172e15a999e1; //keccak256("_TIME_TARGET");
    bytes32 constant _TIMESTAMP =
        0x2f9328a9c75282bec25bb04befad06926366736e0030c985108445fa728335e5; //keccak256("_TIMESTAMP");
    bytes32 constant _TOTAL_SUPPLY =
        0xe6148e7230ca038d456350e69a91b66968b222bfac9ebfbea6ff0a1fb7380160; //keccak256("_TOTAL_SUPPLY");
    bytes32 constant _TOTAL_TIP =
        0x1590276b7f31dd8e2a06f9a92867333eeb3eddbc91e73b9833e3e55d8e34f77d; //keccak256("_TOTAL_TIP");
    bytes32 constant _VALUE =
        0x9147231ab14efb72c38117f68521ddef8de64f092c18c69dbfb602ffc4de7f47; //keccak256("_VALUE");
    bytes32 constant _EIP_SLOT =
        0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3;
}

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

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_tContract","type":"address"},{"internalType":"address","name":"_oTellor","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_newTellor","type":"address"}],"name":"NewTellorAddress","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"_allowances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"addresses","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"balances","outputs":[{"internalType":"uint128","name":"fromBlock","type":"uint128"},{"internalType":"uint128","name":"value","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"bytesVars","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_newDeity","type":"address"}],"name":"changeDeity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"changeOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_tContract","type":"address"}],"name":"changeTellorContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"currentMiners","outputs":[{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"address","name":"miner","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"disputeIdByDisputeHash","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"disputesById","outputs":[{"internalType":"bytes32","name":"hash","type":"bytes32"},{"internalType":"int256","name":"tally","type":"int256"},{"internalType":"bool","name":"executed","type":"bool"},{"internalType":"bool","name":"disputeVotePassed","type":"bool"},{"internalType":"bool","name":"isPropFork","type":"bool"},{"internalType":"address","name":"reportedMiner","type":"address"},{"internalType":"address","name":"reportingParty","type":"address"},{"internalType":"address","name":"proposedForkAddress","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"migrated","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"address","name":"","type":"address"}],"name":"minersByChallenge","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"newValueTimestamps","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"requestIdByQueryHash","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"uints","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]

608060405234801561001057600080fd5b50604051610e27380380610e278339818101604052604081101561003357600080fd5b5080516020918201517fb5f7e7387e8e977cc9c4c9513388b0d7224264b9a0159cd8e8bdd84a9ed504c38054336001600160a01b031991821681179092557f437dd27c2043efdfef03344e9331c924985f7bd1752abef5ea93bdbfed685100805482169092179091557ffe10c9a395cce5a324df121072934b83aa2f3aa5f594428b2a75cf926b73fae8805482166001600160a01b03808616919091179091557fc930326aab6c1874fc004d856083a6ed34e057e064970b7effb48e8e6e8ca1278054909216908316179055603160f81b7f52cb9007c7c6068f8ef37039d4f232cbf5a28ff8d93a5983c4c0c27cd2f9bc0d55604690925260647f5bccd7373734898281f858d7562320d2cdfc0b17bd72f779686937174d1500255560f07f8156e704072c396780f8253d0562de28216b73a1503daa96e259b9cdd951d71c5560c87f2e2f0a18eb55ef91e37921b3810d7feeef7a855ddc7f4f4249ef03d7b887ae3155670de0b6b3a76400007fc2c579d641b643400780d5c7ce967b420034b9f66962a5ee405cf70e4cbed6bb55681b1ae4d6e2ef5000007f3e5522f19747f0f285b96ded572ac4128c3a764aea9f44058dc0afc9dda449868190557f167af83a0768d27540775cfef6d996eb63f8a61fcdfb26e654c18fb50960e3be557f2c8b528fbaf48aaf13162a5a0519a7ad5a612da8ff8783465c17e076660a59f16000524260ef19017f231bb0dc207f13dd4e565ebc32496c470e35391bd8d3b6649269ee2328e03118556001603a8190556002603c556003603e55600460405560056042559091905b60338110156102da5760008181526045602090815260408083207ff68d680ab3160f1aa5d9c3a1383c49e3e60bf3c0c031245cbb036f5ce99afaa184526001908101835281842085905584845260359092529091208290550161027c565b507f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3829055604080516001600160a01b038416815290517fc2d1449eb0b6547aa426e09d9942a77fa4fc8cd3296305b3163e22452e0bcb8d9181900360200190a15050610adb8061034c6000396000f3fe6080604052600436106100e85760003560e01c806362dd1d2a1161008a578063b59e14d411610059578063b59e14d414610434578063cbf1304d1461045e578063d01f4d9e146104e5578063db085beb1461050f576100e8565b806362dd1d2a14610337578063699f200f14610361578063a6f9dae1146103b4578063ae0a8279146103f4576100e8565b806347abd7f1116100c657806347abd7f11461023157806348b18e54146102735780634ba0a5ee146102cd5780635700242c1461030d576100e8565b8063024c2ddd146101555780631fd22364146101af578063438c0aa314610207575b7f0f1293c916694ac6af4daa2f866f0448d0c2ce8847074a7896d397c961914a0860005260476020527ffe10c9a395cce5a324df121072934b83aa2f3aa5f594428b2a75cf926b73fae85473ffffffffffffffffffffffffffffffffffffffff1661015281610596565b50005b34801561016157600080fd5b5061019d6004803603604081101561017857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160200135166105ba565b60408051918252519081900360200190f35b3480156101bb57600080fd5b506101d9600480360360208110156101d257600080fd5b50356105d7565b6040805192835273ffffffffffffffffffffffffffffffffffffffff90911660208301528051918290030190f35b34801561021357600080fd5b5061019d6004803603602081101561022a57600080fd5b503561060f565b34801561023d57600080fd5b506102716004803603602081101561025457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610630565b005b34801561027f57600080fd5b506102b96004803603604081101561029657600080fd5b508035906020013573ffffffffffffffffffffffffffffffffffffffff1661072b565b604080519115158252519081900360200190f35b3480156102d957600080fd5b506102b9600480360360208110156102f057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661074b565b34801561031957600080fd5b5061019d6004803603602081101561033057600080fd5b5035610760565b34801561034357600080fd5b5061019d6004803603602081101561035a57600080fd5b5035610772565b34801561036d57600080fd5b5061038b6004803603602081101561038457600080fd5b5035610784565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b3480156103c057600080fd5b50610271600480360360208110156103d757600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166107ac565b34801561040057600080fd5b506102716004803603602081101561041757600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166108a7565b34801561044057600080fd5b5061019d6004803603602081101561045757600080fd5b50356109bf565b34801561046a57600080fd5b506104a46004803603604081101561048157600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356109d1565b60405180836fffffffffffffffffffffffffffffffff168152602001826fffffffffffffffffffffffffffffffff1681526020019250505060405180910390f35b3480156104f157600080fd5b5061019d6004803603602081101561050857600080fd5b5035610a2a565b34801561051b57600080fd5b506105396004803603602081101561053257600080fd5b5035610a3c565b604080519889526020890197909752941515878701529215156060870152901515608086015273ffffffffffffffffffffffffffffffffffffffff90811660a086015290811660c08501521660e083015251908190036101000190f35b3660008037600080366000845af43d6000803e8080156105b5573d6000f35b3d6000fd5b604a60209081526000928352604080842090915290825290205481565b603a81600581106105e757600080fd5b60020201805460019091015490915073ffffffffffffffffffffffffffffffffffffffff1682565b6033818154811061061f57600080fd5b600091825260209091200154905081565b7f5fc094d10c65bc33cc842217b2eccca0191ff24148319da094e540a55989896160005260476020527f437dd27c2043efdfef03344e9331c924985f7bd1752abef5ea93bdbfed6851005473ffffffffffffffffffffffffffffffffffffffff16331461069c57600080fd5b7f5fc094d10c65bc33cc842217b2eccca0191ff24148319da094e540a55989896160005260476020527f437dd27c2043efdfef03344e9331c924985f7bd1752abef5ea93bdbfed68510080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b603960209081526000928352604080842090915290825290205460ff1681565b604b6020526000908152604090205460ff1681565b60376020526000908152604090205481565b60486020526000908152604090205481565b60476020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b7f7a39905194de50bde334d18b76bbb36dddd11641d4d50b470cb837cf3bae5def60005260476020527fb5f7e7387e8e977cc9c4c9513388b0d7224264b9a0159cd8e8bdd84a9ed504c35473ffffffffffffffffffffffffffffffffffffffff16331461081857600080fd5b7f7a39905194de50bde334d18b76bbb36dddd11641d4d50b470cb837cf3bae5def60005260476020527fb5f7e7387e8e977cc9c4c9513388b0d7224264b9a0159cd8e8bdd84a9ed504c380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b7f5fc094d10c65bc33cc842217b2eccca0191ff24148319da094e540a55989896160005260476020527f437dd27c2043efdfef03344e9331c924985f7bd1752abef5ea93bdbfed6851005473ffffffffffffffffffffffffffffffffffffffff16331461091357600080fd5b7f0f1293c916694ac6af4daa2f866f0448d0c2ce8847074a7896d397c961914a0860005260476020527ffe10c9a395cce5a324df121072934b83aa2f3aa5f594428b2a75cf926b73fae880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790557f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c355565b60466020526000908152604090205481565b604960205281600052604060002081815481106109ed57600080fd5b6000918252602090912001546fffffffffffffffffffffffffffffffff808216935070010000000000000000000000000000000090910416905082565b60386020526000908152604090205481565b603660205260009081526040902080546001820154600283015460038401546004909401549293919260ff8083169361010084048216936201000081049092169273ffffffffffffffffffffffffffffffffffffffff630100000090930483169291821691168856fea26469706673582212209e7d5a59bdd8f8e704c91d2ca1a695b4915f7cb34a29040a745079f8c4ba9f2c64736f6c6343000704003300000000000000000000000004b5129735b5d9b1b54109f2c4c06ea23b506a950000000000000000000000000ba45a8b5d5575935b8158a88c631e9f9c95a2e5

Deployed Bytecode

0x6080604052600436106100e85760003560e01c806362dd1d2a1161008a578063b59e14d411610059578063b59e14d414610434578063cbf1304d1461045e578063d01f4d9e146104e5578063db085beb1461050f576100e8565b806362dd1d2a14610337578063699f200f14610361578063a6f9dae1146103b4578063ae0a8279146103f4576100e8565b806347abd7f1116100c657806347abd7f11461023157806348b18e54146102735780634ba0a5ee146102cd5780635700242c1461030d576100e8565b8063024c2ddd146101555780631fd22364146101af578063438c0aa314610207575b7f0f1293c916694ac6af4daa2f866f0448d0c2ce8847074a7896d397c961914a0860005260476020527ffe10c9a395cce5a324df121072934b83aa2f3aa5f594428b2a75cf926b73fae85473ffffffffffffffffffffffffffffffffffffffff1661015281610596565b50005b34801561016157600080fd5b5061019d6004803603604081101561017857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160200135166105ba565b60408051918252519081900360200190f35b3480156101bb57600080fd5b506101d9600480360360208110156101d257600080fd5b50356105d7565b6040805192835273ffffffffffffffffffffffffffffffffffffffff90911660208301528051918290030190f35b34801561021357600080fd5b5061019d6004803603602081101561022a57600080fd5b503561060f565b34801561023d57600080fd5b506102716004803603602081101561025457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610630565b005b34801561027f57600080fd5b506102b96004803603604081101561029657600080fd5b508035906020013573ffffffffffffffffffffffffffffffffffffffff1661072b565b604080519115158252519081900360200190f35b3480156102d957600080fd5b506102b9600480360360208110156102f057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661074b565b34801561031957600080fd5b5061019d6004803603602081101561033057600080fd5b5035610760565b34801561034357600080fd5b5061019d6004803603602081101561035a57600080fd5b5035610772565b34801561036d57600080fd5b5061038b6004803603602081101561038457600080fd5b5035610784565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b3480156103c057600080fd5b50610271600480360360208110156103d757600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166107ac565b34801561040057600080fd5b506102716004803603602081101561041757600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166108a7565b34801561044057600080fd5b5061019d6004803603602081101561045757600080fd5b50356109bf565b34801561046a57600080fd5b506104a46004803603604081101561048157600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356109d1565b60405180836fffffffffffffffffffffffffffffffff168152602001826fffffffffffffffffffffffffffffffff1681526020019250505060405180910390f35b3480156104f157600080fd5b5061019d6004803603602081101561050857600080fd5b5035610a2a565b34801561051b57600080fd5b506105396004803603602081101561053257600080fd5b5035610a3c565b604080519889526020890197909752941515878701529215156060870152901515608086015273ffffffffffffffffffffffffffffffffffffffff90811660a086015290811660c08501521660e083015251908190036101000190f35b3660008037600080366000845af43d6000803e8080156105b5573d6000f35b3d6000fd5b604a60209081526000928352604080842090915290825290205481565b603a81600581106105e757600080fd5b60020201805460019091015490915073ffffffffffffffffffffffffffffffffffffffff1682565b6033818154811061061f57600080fd5b600091825260209091200154905081565b7f5fc094d10c65bc33cc842217b2eccca0191ff24148319da094e540a55989896160005260476020527f437dd27c2043efdfef03344e9331c924985f7bd1752abef5ea93bdbfed6851005473ffffffffffffffffffffffffffffffffffffffff16331461069c57600080fd5b7f5fc094d10c65bc33cc842217b2eccca0191ff24148319da094e540a55989896160005260476020527f437dd27c2043efdfef03344e9331c924985f7bd1752abef5ea93bdbfed68510080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b603960209081526000928352604080842090915290825290205460ff1681565b604b6020526000908152604090205460ff1681565b60376020526000908152604090205481565b60486020526000908152604090205481565b60476020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b7f7a39905194de50bde334d18b76bbb36dddd11641d4d50b470cb837cf3bae5def60005260476020527fb5f7e7387e8e977cc9c4c9513388b0d7224264b9a0159cd8e8bdd84a9ed504c35473ffffffffffffffffffffffffffffffffffffffff16331461081857600080fd5b7f7a39905194de50bde334d18b76bbb36dddd11641d4d50b470cb837cf3bae5def60005260476020527fb5f7e7387e8e977cc9c4c9513388b0d7224264b9a0159cd8e8bdd84a9ed504c380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b7f5fc094d10c65bc33cc842217b2eccca0191ff24148319da094e540a55989896160005260476020527f437dd27c2043efdfef03344e9331c924985f7bd1752abef5ea93bdbfed6851005473ffffffffffffffffffffffffffffffffffffffff16331461091357600080fd5b7f0f1293c916694ac6af4daa2f866f0448d0c2ce8847074a7896d397c961914a0860005260476020527ffe10c9a395cce5a324df121072934b83aa2f3aa5f594428b2a75cf926b73fae880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790557f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c355565b60466020526000908152604090205481565b604960205281600052604060002081815481106109ed57600080fd5b6000918252602090912001546fffffffffffffffffffffffffffffffff808216935070010000000000000000000000000000000090910416905082565b60386020526000908152604090205481565b603660205260009081526040902080546001820154600283015460038401546004909401549293919260ff8083169361010084048216936201000081049092169273ffffffffffffffffffffffffffffffffffffffff630100000090930483169291821691168856fea26469706673582212209e7d5a59bdd8f8e704c91d2ca1a695b4915f7cb34a29040a745079f8c4ba9f2c64736f6c63430007040033

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

00000000000000000000000004b5129735b5d9b1b54109f2c4c06ea23b506a950000000000000000000000000ba45a8b5d5575935b8158a88c631e9f9c95a2e5

-----Decoded View---------------
Arg [0] : _tContract (address): 0x04B5129735b5d9B1B54109F2C4C06ea23B506a95
Arg [1] : _oTellor (address): 0x0Ba45A8b5d5575935B8158a88C631E9F9C95a2e5

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000004b5129735b5d9b1b54109f2c4c06ea23b506a95
Arg [1] : 0000000000000000000000000ba45a8b5d5575935b8158a88c631e9f9c95a2e5


Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

OVERVIEW

Tellor is a decentralized oracle that provides an on-chain data bank where staked miners compete to add the data points.

Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.

Validator Index Block Amount
View All Withdrawals

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