ETH Price: $3,180.77 (+1.47%)
Gas: 12 Gwei

Token

Tellor Tributes (TRB)
 

Overview

Max Total Supply

2,654,278.538133246833444027 TRB

Holders

9,021 ( 0.055%)

Market

Price

$74.23 @ 0.023337 ETH (+1.06%)

Onchain Market Cap

$197,027,095.89

Circulating Supply Market Cap

$193,256,363.00

Other Info

Token Contract (WITH 18 Decimals)

Balance
0.000292288595099648 TRB

Value
$0.02 ( ~6.28778161727134E-06 Eth) [0.0000%]
0x0F1c4d334968a0F098aD02d90A27F8e7d8517043
Loading...
Loading
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.

Market

Volume (24H):$50,431,450.00
Market Capitalization:$193,256,363.00
Circulating Supply:2,601,080.00 TRB
Market Data Source: Coinmarketcap

# Exchange Pair Price  24H Volume % Volume
1
Binance
TRB-USDT$74.37
0.0233654 Eth
$12,023,047.00
160,336.161 TRB
22.6689%
2
BloFin
TRB-USDT$74.11
0.0233272 Eth
$6,842,669.00
91,334.470 TRB
12.9132%
3
WhiteBIT
TRB-USDT$74.31
0.0233891 Eth
$6,575,982.00
88,497.812 TRB
12.5122%
4
P2B
TRB-USDT$74.14
0.0233367 Eth
$3,794,519.00
51,180.280 TRB
7.2361%
5
BitVenus
TRB-USDT$74.26
0.0233584 Eth
$3,483,722.00
46,466.480 TRB
6.5696%
6
OKX
TRB-USDT$74.40
0.0233780 Eth
$3,021,502.00
40,190.951 TRB
5.6823%
7
CITEX
TRB-USDT$74.19
0.0233591 Eth
$2,902,032.00
38,705.778 TRB
5.4724%
8
Gate.io
TRB-USDT$74.41
0.0233811 Eth
$1,843,031.00
24,550.013 TRB
3.4710%
9
Websea
TRB-USDT$74.33
0.0233573 Eth
$1,836,956.00
0.000 TRB
0.0000%
10
Bibox
TRB-USDT$74.31
0.0233509 Eth
$1,716,404.00
23,097.000 TRB
3.2655%
11
Coinbase Exchange
TRB-USD$74.29
0.0233401 Eth
$1,699,869.00
22,881.532 TRB
3.2351%
12
Bilaxy
TRB-USDT$74.17
0.0233528 Eth
$1,568,678.00
21,150.120 TRB
2.9903%
13
Binance
TRB-TRY$74.59
0.0234855 Eth
$1,476,150.00
19,607.273 TRB
2.7722%
14
Toobit
TRB-USDT$74.19
0.0233268 Eth
$837,355.00
11,190.820 TRB
1.5822%
15
Bitunix
TRB-USDT$74.35
0.0233591 Eth
$719,869.00
9,683.400 TRB
1.3691%
16
Bitvavo
TRB-EUR$74.24
0.0233428 Eth
$505,746.00
6,812.538 TRB
0.9632%
17
BitMart
TRB-USDT$74.11
0.0232882 Eth
$412,510.00
5,565.940 TRB
0.7869%
18
bitcastle
TRB-USDT$74.28
0.0233647 Eth
$366,217.00
4,880.590 TRB
0.6900%
19
WhiteBIT
TRB-TRY$74.47
0.0234402 Eth
$302,854.00
4,066.840 TRB
0.5750%
20
Hotcoin
TRB-USDT$74.16
0.0233497 Eth
$296,205.00
3,994.200 TRB
0.5647%
21
HTX
TRB-USDT$74.40
0.0233789 Eth
$289,108.00
3,857.662 TRB
0.5454%
22
Tapbit
TRB-USDT$74.18
0.0233493 Eth
$268,416.00
3,588.610 TRB
0.5074%
23
KuCoin
TRB-USDT$74.30
0.0233419 Eth
$266,707.00
3,589.811 TRB
0.5075%
24
Bitrue
TRB-USDT$74.10
0.0233306 Eth
$259,648.00
3,504.100 TRB
0.4954%
25
BingX
TRB-USDT$74.32
0.0233497 Eth
$216,448.00
2,880.706 TRB
0.4073%
26
PointPay
TRB-USDT$74.10
0.0233306 Eth
$201,215.00
2,685.959 TRB
0.3798%
27
BTSE
TRB-USDT$74.12
0.0233366 Eth
$178,306.00
2,405.730 TRB
0.3401%
28
Bitget
TRB-USDT$74.32
0.0233508 Eth
$111,274.00
1,488.490 TRB
0.2104%
29
P2B
TRB-USD$74.08
0.0233177 Eth
$107,466.00
1,450.680 TRB
0.2051%
30
WhiteBIT
TRB-BTC$74.02
0.0233058 Eth
$100,335.00
1,355.520 TRB
0.1916%
31
Binance
TRB-FDUSD$74.59
0.0233932 Eth
$80,495.00
1,074.856 TRB
0.1520%
32
Binance
TRB-BTC$74.17
0.0233021 Eth
$75,221.00
992.229 TRB
0.1403%
33
CoinTR Pro
TRB-USDT$74.02
0.0233067 Eth
$63,443.00
847.050 TRB
0.1198%
34
XT.COM
TRB-USDT$74.26
0.0233353 Eth
$36,074.00
481.133 TRB
0.0680%
35
TokoCrypto
TRB-USDT$74.21
0.0233502 Eth
$34,129.00
459.870 TRB
0.0650%
36
Pionex
TRB-USDT$74.36
0.0233667 Eth
$32,779.00
436.125 TRB
0.0617%
37
Phemex
TRB-USDT$74.37
0.0234158 Eth
$30,787.00
413.975 TRB
0.0585%
38
Kanga
TRB-USDT$74.12
0.0232862 Eth
$30,390.00
0.000 TRB
0.0000%
39
PointPay
TRB-BTC$74.52
0.0239193 Eth
$25,445.00
339.405 TRB
0.0480%
40
Binance
TRB-USDC$74.55
0.0234305 Eth
$23,108.00
307.630 TRB
0.0435%
41
Bitlo
TRB-TRY$74.65
0.0234727 Eth
$17,722.77
235.253 TRB
0.0333%
42
Bitlo
TRB-USDT$74.13
0.0233080 Eth
$17,636.47
235.060 TRB
0.0332%
43
CoinEx
TRB-USDT$74.29
0.0233403 Eth
$15,406.04
205.790 TRB
0.0291%
44
DeGate
0X88DF592F8EB5D7BD38BFEF7DEB0FBC02CF3778A0-0XA0B86991C6218B36C1D19D4A2E9EB0CE3606EB48$75.83
0.0236585 Eth
$13,378.61
175.913 0X88DF592F8EB5D7BD38BFEF7DEB0FBC02CF3778A0
0.0249%
45
Crypto.com Exchange
TRB-USDT$74.28
0.0233416 Eth
$13,348.63
179.699 TRB
0.0254%
46
Gate.io
TRB-ETH$74.25
0.0233325 Eth
$11,421.96
151.241 TRB
0.0214%
47
PointPay
TRB-USDC$74.39
0.0238760 Eth
$10,489.21
140.706 TRB
0.0199%
48
Indodax
TRB-IDR$74.22
0.0233177 Eth
$6,548.81
88.237 TRB
0.0125%
49
Crypto.com Exchange
TRB-USD$74.30
0.0233469 Eth
$4,903.65
65.998 TRB
0.0093%
50
KuCoin
TRB-BTC$74.73
0.0234793 Eth
$2,974.86
39.807 TRB
0.0056%
51
CEX.IO
TRB-USDT$74.35
0.0233591 Eth
$2,098.51
27.781 TRB
0.0039%
52
CEX.IO
TRB-EUR$74.46
0.0233923 Eth
$2,041.85
27.000 TRB
0.0038%
53
CoinDCX
TRB-INR$80.44
0.0253017 Eth
$1,899.45
0.000 TRB
0.0000%
54
Uniswap V2 (Ethereum)
0X88DF592F8EB5D7BD38BFEF7DEB0FBC02CF3778A0-0XC02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2$74.01
0.0233654 Eth
$941.83
12.829 0X88DF592F8EB5D7BD38BFEF7DEB0FBC02CF3778A0
0.0018%
55
WazirX
TRB-INR$82.47
0.0259396 Eth
$881.07
10.684 TRB
0.0015%
56
WazirX
TRB-USDT$74.99
0.0235869 Eth
$512.16
6.830 TRB
0.0010%
57
Gate.io
TRB-TRY$74.68
0.0234631 Eth
$415.09
5.483 TRB
0.0008%
58
Mercado Bitcoin
TRB-BRL$77.36
0.0243040 Eth
$124.18
1.605 TRB
0.0002%
59
Energiswap
0XA5526097203C4C3A9D8BD5810FF0A7C9AECE58C4-0XA55F26319462355474A9F2C8790860776A329AA4$73.90
0.0232364 Eth
$42.24
0.566 0XA5526097203C4C3A9D8BD5810FF0A7C9AECE58C4
0.0001%
60
Bitkub
TRB-THB$75.74
0.0238400 Eth
$31.99
0.422 TRB
0.0001%
61
TokoCrypto
TRB-BTC$74.08
0.0233162 Eth
$31.86
0.430 TRB
0.0001%
62
CEX.IO
TRB-USD$74.36
0.0233621 Eth
$23.78
0.314 TRB
0.0000%
63
Poloniex
TRB-USDT$65.32
0.0205242 Eth
$2.28
0.035 TRB
0.0000%

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


Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.