ETH Price: $1,844.33 (-2.68%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Update Oracle Da...245276552026-02-24 15:27:4714 mins ago1771946867IN
0x5526e7e7...E4b7a8FE5
0 ETH0.000108550.39957339
Update Oracle Da...245266562026-02-24 12:07:113 hrs ago1771934831IN
0x5526e7e7...E4b7a8FE5
0 ETH0.000016640.06127096
Update Oracle Da...245254582026-02-24 8:06:597 hrs ago1771920419IN
0x5526e7e7...E4b7a8FE5
0 ETH0.000016120.05935068
Update Oracle Da...245242612026-02-24 4:06:4711 hrs ago1771906007IN
0x5526e7e7...E4b7a8FE5
0 ETH0.000017070.06285286
Update Oracle Da...245239602026-02-24 3:06:2312 hrs ago1771902383IN
0x5526e7e7...E4b7a8FE5
0 ETH0.000015330.05645258
Update Oracle Da...245230582026-02-24 0:05:4715 hrs ago1771891547IN
0x5526e7e7...E4b7a8FE5
0 ETH0.000018140.06678534
Update Oracle Da...245221782026-02-23 21:09:1118 hrs ago1771880951IN
0x5526e7e7...E4b7a8FE5
0 ETH0.000017250.06351882
Update Oracle Da...245203072026-02-23 14:53:1124 hrs ago1771858391IN
0x5526e7e7...E4b7a8FE5
0 ETH0.000029970.11034955
Update Oracle Da...245184322026-02-23 8:36:1131 hrs ago1771835771IN
0x5526e7e7...E4b7a8FE5
0 ETH0.000012990.0478336
Update Oracle Da...245040612026-02-21 8:31:353 days ago1771662695IN
0x5526e7e7...E4b7a8FE5
0 ETH0.00001490.05486416
Update Oracle Da...245021862026-02-21 2:15:353 days ago1771640135IN
0x5526e7e7...E4b7a8FE5
0 ETH0.000015170.05586552
Update Oracle Da...244953522026-02-20 3:23:594 days ago1771557839IN
0x5526e7e7...E4b7a8FE5
0 ETH0.000010750.0396006
Update Oracle Da...244934802026-02-19 21:08:114 days ago1771535291IN
0x5526e7e7...E4b7a8FE5
0 ETH0.000016380.06032452
Update Oracle Da...244916112026-02-19 14:52:235 days ago1771512743IN
0x5526e7e7...E4b7a8FE5
0 ETH0.000095080.35003771
Update Oracle Da...244897382026-02-19 8:36:355 days ago1771490195IN
0x5526e7e7...E4b7a8FE5
0 ETH0.000026130.0962045
Update Oracle Da...244820602026-02-18 6:55:116 days ago1771397711IN
0x5526e7e7...E4b7a8FE5
0 ETH0.000011470.04201374
Update Oracle Da...244801892026-02-18 0:39:116 days ago1771375151IN
0x5526e7e7...E4b7a8FE5
0 ETH0.000011120.04072096
Update Oracle Da...244783192026-02-17 18:23:236 days ago1771352603IN
0x5526e7e7...E4b7a8FE5
0 ETH0.000041160.15073267
Update Oracle Da...244764472026-02-17 12:07:117 days ago1771330031IN
0x5526e7e7...E4b7a8FE5
0 ETH0.000013350.04888381
Update Oracle Da...244745242026-02-17 5:40:477 days ago1771306847IN
0x5526e7e7...E4b7a8FE5
0 ETH0.000011140.04079859
Update Oracle Da...244726502026-02-16 23:24:477 days ago1771284287IN
0x5526e7e7...E4b7a8FE5
0 ETH0.000009950.03645206
Update Oracle Da...244707772026-02-16 17:08:237 days ago1771261703IN
0x5526e7e7...E4b7a8FE5
0 ETH0.000014070.05152969
Update Oracle Da...244689002026-02-16 10:51:598 days ago1771239119IN
0x5526e7e7...E4b7a8FE5
0 ETH0.000011940.04371633
Update Oracle Da...244669692026-02-16 4:24:118 days ago1771215851IN
0x5526e7e7...E4b7a8FE5
0 ETH0.000010520.0385343
Update Oracle Da...244650952026-02-15 22:08:238 days ago1771193303IN
0x5526e7e7...E4b7a8FE5
0 ETH0.000013220.04840765
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
TellorDataBank

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 300 runs

Other Settings:
default evmVersion
// SPDX-License-Identifier: MIT
pragma solidity 0.8.19;

import "usingtellorlayer/contracts/interfaces/ITellorDataBridge.sol";
import {ITellorDataBank} from "./interfaces/ITellorDataBank.sol";

/**
 @author Tellor Inc.
 @title TellorDataBank
 @dev this contract is used to store data for multiple data feeds. It prioritizes consensus data,
 and falls back to optimistic data if consensus data is not available. It has hardcoded preferences
 for max data age, max attestation age, optimistic delay, and optimistic power threshold.
*/
contract TellorDataBank is ITellorDataBank {
    // Storage
    ITellorDataBridge public immutable dataBridge; // interface to the Tellor data bridge
    mapping(bytes32 => AggregateData[]) public data; // queryId -> aggregate data array
    uint256 public constant MAX_DATA_AGE = 24 hours; // the max age of relayed data
    uint256 public constant MAX_ATTESTATION_AGE = 10 minutes; // the max age of an attestation
    uint256 public constant MS_PER_SECOND = 1000; // the number of milliseconds in a second
    uint256 public constant OPTIMISTIC_DELAY = 12 hours; // the min time from report to attestation for nonconsensus data

    // Events
    event OracleUpdated(bytes32 indexed queryId, OracleAttestationData attestData);

    // Functions
    /**
     * @dev initializes the TellorDataBank with a data bridge
     * @param _dataBridge address of the Tellor data bridge contract
     */
    constructor(address _dataBridge) {
        dataBridge = ITellorDataBridge(_dataBridge);
    }

    /**
     * @dev updates oracle data with new attestation data after verification
     * @param _attestData the oracle attestation data to be stored
     * @param _currentValidatorSet array of current validators
     * @param _sigs array of validator signatures
     */
    function updateOracleData(
        OracleAttestationData calldata _attestData,
        Validator[] calldata _currentValidatorSet,
        Signature[] calldata _sigs
    ) external {
        _verifyOracleData(
            _attestData,
            _currentValidatorSet,
            _sigs
        );
        data[_attestData.queryId].push(AggregateData(
            _attestData.report.value, 
            _attestData.report.aggregatePower, 
            _attestData.report.timestamp,
            _attestData.attestationTimestamp, 
            block.timestamp
        ));
        emit OracleUpdated(_attestData.queryId, _attestData);
    }

    // Getter functions

    /**
     * @dev returns the aggregate data for a given query ID and index
     * @param _queryId the query ID to get the aggregate data for
     * @param _index the index of the aggregate data to get
     * @return _aggregateData the aggregate data
     */
    function getAggregateByIndex(bytes32 _queryId, uint256 _index) external view returns (AggregateData memory _aggregateData) {
        return data[_queryId][_index];
    }

    /**
     * @dev returns the total number of aggregate values
     * @param _queryId the query ID to get the aggregate value count for
     * @return number of aggregate values stored
     */
    function getAggregateValueCount(bytes32 _queryId) external view returns (uint256) {
        return data[_queryId].length;
    }

    /**
     * @dev returns the current aggregate data for a given query ID
     * @param _queryId the query ID to get the current aggregate data for
     * @return _aggregateData the current aggregate data
     */
    function getCurrentAggregateData(bytes32 _queryId) external view returns (AggregateData memory _aggregateData) {
        return _getCurrentAggregateData(_queryId);
    }

    // Internal functions
    /**
     * @dev internal function to get the current aggregate data for a query ID
     * @param _queryId the query ID to get the current aggregate data for
     * @return _aggregateData the current aggregate data
     */
    function _getCurrentAggregateData(bytes32 _queryId) internal view returns (AggregateData memory _aggregateData) {
        if (data[_queryId].length == 0) {
            return (AggregateData(bytes(""), 0, 0, 0, 0));
        }
        _aggregateData = data[_queryId][data[_queryId].length - 1];
        return _aggregateData;
    }

    /**
     * @dev internal function to verify oracle data meets all requirements before storage
     * @param _attestData the oracle attestation data to verify
     * @param _currentValidatorSet array of current validators
     * @param _sigs array of validator signatures
     */
    function _verifyOracleData(
        OracleAttestationData calldata _attestData,
        Validator[] calldata _currentValidatorSet,
        Signature[] calldata _sigs
    ) internal view {
        // check that the data is not too old
        require(block.timestamp - (_attestData.report.timestamp / MS_PER_SECOND) < MAX_DATA_AGE, "TellorDataBank: Data too old");
        // check that the attestation is not too old
        require(block.timestamp - (_attestData.attestationTimestamp / MS_PER_SECOND) < MAX_ATTESTATION_AGE, "TellorDataBank: Attestation too old");
        // check that timestamps are monotonically increasing
        AggregateData memory _previousData = _getCurrentAggregateData(_attestData.queryId);
        if (_previousData.aggregateTimestamp > 0) {
            require(_attestData.report.timestamp > _previousData.aggregateTimestamp, "TellorDataBank: Report timestamp must increase");
        }
        // check that the current block timestamp is greater than or equal to the report timestamp
        require(block.timestamp >= (_attestData.report.timestamp / MS_PER_SECOND), "TellorDataBank: Report timestamp is in the future");
        // check if there's a more recent optimistic report available
        if (_attestData.report.nextTimestamp != 0) {
            require(block.timestamp - (_attestData.report.nextTimestamp / MS_PER_SECOND) < OPTIMISTIC_DELAY, "TellorDataBank: More recent optimistic report available");
        }
        // handle optimistic vs consensus data verification
        if (_attestData.report.timestamp != _attestData.report.lastConsensusTimestamp) {
            // using optimistic data - additional checks required
            require(_attestData.report.lastConsensusTimestamp < _attestData.report.timestamp, "TellorDataBank: Newer consensus data available");
            require((_attestData.attestationTimestamp - _attestData.report.timestamp) / MS_PER_SECOND >= OPTIMISTIC_DELAY, "TellorDataBank: Dispute period not passed");
            require(_attestData.report.aggregatePower > dataBridge.powerThreshold() / 2, "TellorDataBank: Insufficient optimistic report power");
        } 
        // verify signatures and data integrity through the data bridge
        dataBridge.verifyOracleData(_attestData, _currentValidatorSet, _sigs);
    }
}

// SPDX-License-Identifier: MIT
pragma solidity 0.8.19;

/**
 * @title ITellorDataBank
 * @notice Interface for TellorDataBank contract
 */
interface ITellorDataBank {
    struct AggregateData {
        bytes value;
        uint256 power;
        uint256 aggregateTimestamp;
        uint256 attestationTimestamp;
        uint256 relayTimestamp;
    }

    /**
     * @dev returns the current aggregate data for a given query ID
     * @param _queryId the query ID to get the current aggregate data for
     * @return _aggregateData the current aggregate data
     */
    function getCurrentAggregateData(bytes32 _queryId) external view returns (AggregateData memory _aggregateData);

    /**
     * @dev returns the aggregate data for a given query ID and index
     * @param _queryId the query ID to get the aggregate data for
     * @param _index the index of the aggregate data to get
     * @return _aggregateData the aggregate data
     */
    function getAggregateByIndex(bytes32 _queryId, uint256 _index) external view returns (AggregateData memory _aggregateData);

    /**
     * @dev returns the total number of aggregate values
     * @param _queryId the query ID to get the aggregate value count for
     * @return number of aggregate values stored
     */
    function getAggregateValueCount(bytes32 _queryId) external view returns (uint256);
}

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

struct OracleAttestationData {
    bytes32 queryId;
    ReportData report;
    uint256 attestationTimestamp; //timestamp of validatorSignatures on report
}

struct ReportData {
    bytes value;
    uint256 timestamp; //timestamp of reporter signature aggregation
    uint256 aggregatePower;
    uint256 previousTimestamp;
    uint256 nextTimestamp;
    uint256 lastConsensusTimestamp;
}

struct Signature {
    uint8 v;
    bytes32 r;
    bytes32 s;
}

struct Validator {
    address addr;
    uint256 power;
}

interface ITellorDataBridge {
    function guardian() external view returns (address);
    function powerThreshold() external view returns (uint256);
    function unbondingPeriod() external view returns (uint256);
    function validatorTimestamp() external view returns (uint256);
    function verifyOracleData(
        OracleAttestationData calldata _attestData,
        Validator[] calldata _currentValidatorSet,
        Signature[] calldata _sigs
    ) external view;
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 300
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"_dataBridge","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"queryId","type":"bytes32"},{"components":[{"internalType":"bytes32","name":"queryId","type":"bytes32"},{"components":[{"internalType":"bytes","name":"value","type":"bytes"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"uint256","name":"aggregatePower","type":"uint256"},{"internalType":"uint256","name":"previousTimestamp","type":"uint256"},{"internalType":"uint256","name":"nextTimestamp","type":"uint256"},{"internalType":"uint256","name":"lastConsensusTimestamp","type":"uint256"}],"internalType":"struct ReportData","name":"report","type":"tuple"},{"internalType":"uint256","name":"attestationTimestamp","type":"uint256"}],"indexed":false,"internalType":"struct OracleAttestationData","name":"attestData","type":"tuple"}],"name":"OracleUpdated","type":"event"},{"inputs":[],"name":"MAX_ATTESTATION_AGE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_DATA_AGE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MS_PER_SECOND","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"OPTIMISTIC_DELAY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"data","outputs":[{"internalType":"bytes","name":"value","type":"bytes"},{"internalType":"uint256","name":"power","type":"uint256"},{"internalType":"uint256","name":"aggregateTimestamp","type":"uint256"},{"internalType":"uint256","name":"attestationTimestamp","type":"uint256"},{"internalType":"uint256","name":"relayTimestamp","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dataBridge","outputs":[{"internalType":"contract ITellorDataBridge","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_queryId","type":"bytes32"},{"internalType":"uint256","name":"_index","type":"uint256"}],"name":"getAggregateByIndex","outputs":[{"components":[{"internalType":"bytes","name":"value","type":"bytes"},{"internalType":"uint256","name":"power","type":"uint256"},{"internalType":"uint256","name":"aggregateTimestamp","type":"uint256"},{"internalType":"uint256","name":"attestationTimestamp","type":"uint256"},{"internalType":"uint256","name":"relayTimestamp","type":"uint256"}],"internalType":"struct ITellorDataBank.AggregateData","name":"_aggregateData","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_queryId","type":"bytes32"}],"name":"getAggregateValueCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_queryId","type":"bytes32"}],"name":"getCurrentAggregateData","outputs":[{"components":[{"internalType":"bytes","name":"value","type":"bytes"},{"internalType":"uint256","name":"power","type":"uint256"},{"internalType":"uint256","name":"aggregateTimestamp","type":"uint256"},{"internalType":"uint256","name":"attestationTimestamp","type":"uint256"},{"internalType":"uint256","name":"relayTimestamp","type":"uint256"}],"internalType":"struct ITellorDataBank.AggregateData","name":"_aggregateData","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"bytes32","name":"queryId","type":"bytes32"},{"components":[{"internalType":"bytes","name":"value","type":"bytes"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"uint256","name":"aggregatePower","type":"uint256"},{"internalType":"uint256","name":"previousTimestamp","type":"uint256"},{"internalType":"uint256","name":"nextTimestamp","type":"uint256"},{"internalType":"uint256","name":"lastConsensusTimestamp","type":"uint256"}],"internalType":"struct ReportData","name":"report","type":"tuple"},{"internalType":"uint256","name":"attestationTimestamp","type":"uint256"}],"internalType":"struct OracleAttestationData","name":"_attestData","type":"tuple"},{"components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint256","name":"power","type":"uint256"}],"internalType":"struct Validator[]","name":"_currentValidatorSet","type":"tuple[]"},{"components":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"internalType":"struct Signature[]","name":"_sigs","type":"tuple[]"}],"name":"updateOracleData","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60a060405234801561001057600080fd5b5060405161135a38038061135a83398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b6080516112c26100986000396000818160ce0152818161093e0152610a6301526112c26000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c80638d12c426116100665780638d12c4261461013d578063b9f7bb8d14610161578063cb9567111461016a578063e3ac7e111461017d578063e6314a971461019d57600080fd5b80631a8bcd34146100a35780635321f047146100bf578063578855b2146100c95780636180801014610108578063717681c61461011d575b600080fd5b6100ac6103e881565b6040519081526020015b60405180910390f35b6100ac6201518081565b6100f07f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100b6565b61011b610116366004610ca7565b6101a6565b005b61013061012b366004610d75565b6102f5565b6040516100b69190610ddd565b61015061014b366004610d75565b610423565b6040516100b6959493929190610e2d565b6100ac61025881565b610130610178366004610e64565b6104fe565b6100ac61018b366004610e64565b60009081526020819052604090205490565b6100ac61a8c081565b6101b38585858585610539565b843560009081526020818152604091829020825160a08101909352919081906101de90890189610e7d565b6101e89080610e9d565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050509082525060209081019061023190890189610e7d565b60400135815260200187806020019061024a9190610e7d565b60209081013582526040808a0135838301524292019190915282546001810184556000938452922081519192600502019081906102879082610f83565b5060208201518160010155604082015181600201556060820151816003015560808201518160040155505084600001357f32569c122e0d7a43079203df1373675696c8ccd8ca67de60dc2238b6bb226214866040516102e69190611134565b60405180910390a25050505050565b6103276040518060a0016040528060608152602001600081526020016000815260200160008152602001600081525090565b60008381526020819052604090208054839081106103475761034761114e565b90600052602060002090600502016040518060a001604052908160008201805461037090610efa565b80601f016020809104026020016040519081016040528092919081815260200182805461039c90610efa565b80156103e95780601f106103be576101008083540402835291602001916103e9565b820191906000526020600020905b8154815290600101906020018083116103cc57829003601f168201915b5050505050815260200160018201548152602001600282015481526020016003820154815260200160048201548152505090505b92915050565b6000602052816000526040600020818154811061043f57600080fd5b90600052602060002090600502016000915091505080600001805461046390610efa565b80601f016020809104026020016040519081016040528092919081815260200182805461048f90610efa565b80156104dc5780601f106104b1576101008083540402835291602001916104dc565b820191906000526020600020905b8154815290600101906020018083116104bf57829003601f168201915b5050505050908060010154908060020154908060030154908060040154905085565b6105306040518060a0016040528060608152602001600081526020016000815260200160008152602001600081525090565b61041d82610ad8565b620151806103e861054d6020880188610e7d565b6020013561055b9190611164565b6105659042611186565b106105b75760405162461bcd60e51b815260206004820152601c60248201527f54656c6c6f724461746142616e6b3a204461746120746f6f206f6c640000000060448201526064015b60405180910390fd5b6102586105ca6103e86040880135611164565b6105d49042611186565b1061062d5760405162461bcd60e51b815260206004820152602360248201527f54656c6c6f724461746142616e6b3a204174746573746174696f6e20746f6f206044820152621bdb1960ea1b60648201526084016105ae565b60006106398635610ad8565b6040810151909150156106c05760408101516106586020880188610e7d565b60200135116106c05760405162461bcd60e51b815260206004820152602e60248201527f54656c6c6f724461746142616e6b3a205265706f72742074696d657374616d7060448201526d206d75737420696e63726561736560901b60648201526084016105ae565b6103e86106d06020880188610e7d565b602001356106de9190611164565b4210156107475760405162461bcd60e51b815260206004820152603160248201527f54656c6c6f724461746142616e6b3a205265706f72742074696d657374616d7060448201527020697320696e207468652066757475726560781b60648201526084016105ae565b6107546020870187610e7d565b60800135156107fb5761a8c06103e86107706020890189610e7d565b6080013561077e9190611164565b6107889042611186565b106107fb5760405162461bcd60e51b815260206004820152603760248201527f54656c6c6f724461746142616e6b3a204d6f726520726563656e74206f70746960448201527f6d6973746963207265706f727420617661696c61626c6500000000000000000060648201526084016105ae565b6108086020870187610e7d565b60a001356108196020880188610e7d565b6020013514610a4c5761082f6020870187610e7d565b602001358680602001906108439190610e7d565b60a00135106108ab5760405162461bcd60e51b815260206004820152602e60248201527f54656c6c6f724461746142616e6b3a204e6577657220636f6e73656e7375732060448201526d6461746120617661696c61626c6560901b60648201526084016105ae565b61a8c06103e86108be6020890189610e7d565b6108d0906020013560408a0135611186565b6108da9190611164565b101561093a5760405162461bcd60e51b815260206004820152602960248201527f54656c6c6f724461746142616e6b3a204469737075746520706572696f64206e6044820152681bdd081c185cdcd95960ba1b60648201526084016105ae565b60027f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ba95ec276040518163ffffffff1660e01b8152600401602060405180830381865afa15801561099a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109be91906111a7565b6109c89190611164565b6109d56020880188610e7d565b6040013511610a4c5760405162461bcd60e51b815260206004820152603460248201527f54656c6c6f724461746142616e6b3a20496e73756666696369656e74206f707460448201527f696d6973746963207265706f727420706f77657200000000000000000000000060648201526084016105ae565b604051635e0d3b0f60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690635e0d3b0f90610aa090899089908990899089906004016111c0565b60006040518083038186803b158015610ab857600080fd5b505afa158015610acc573d6000803e3d6000fd5b50505050505050505050565b610b0a6040518060a0016040528060608152602001600081526020016000815260200160008152602001600081525090565b6000828152602081905260408120549003610b555750506040805160c081018252600060a0820181815282526020820181905291810182905260608101829052608081019190915290565b60008281526020819052604090208054610b7190600190611186565b81548110610b8157610b8161114e565b90600052602060002090600502016040518060a0016040529081600082018054610baa90610efa565b80601f0160208091040260200160405190810160405280929190818152602001828054610bd690610efa565b8015610c235780601f10610bf857610100808354040283529160200191610c23565b820191906000526020600020905b815481529060010190602001808311610c0657829003601f168201915b505050505081526020016001820154815260200160028201548152602001600382015481526020016004820154815250509050919050565b60008083601f840112610c6d57600080fd5b50813567ffffffffffffffff811115610c8557600080fd5b602083019150836020606083028501011115610ca057600080fd5b9250929050565b600080600080600060608688031215610cbf57600080fd5b853567ffffffffffffffff80821115610cd757600080fd5b908701906060828a031215610ceb57600080fd5b90955060208701359080821115610d0157600080fd5b818801915088601f830112610d1557600080fd5b813581811115610d2457600080fd5b8960208260061b8501011115610d3957600080fd5b602083019650809550506040880135915080821115610d5757600080fd5b50610d6488828901610c5b565b969995985093965092949392505050565b60008060408385031215610d8857600080fd5b50508035926020909101359150565b6000815180845260005b81811015610dbd57602081850181015186830182015201610da1565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000825160a06020840152610df960c0840182610d97565b9050602084015160408401526040840151606084015260608401516080840152608084015160a08401528091505092915050565b60a081526000610e4060a0830188610d97565b90508560208301528460408301528360608301528260808301529695505050505050565b600060208284031215610e7657600080fd5b5035919050565b6000823560be19833603018112610e9357600080fd5b9190910192915050565b6000808335601e19843603018112610eb457600080fd5b83018035915067ffffffffffffffff821115610ecf57600080fd5b602001915036819003821315610ca057600080fd5b634e487b7160e01b600052604160045260246000fd5b600181811c90821680610f0e57607f821691505b602082108103610f2e57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610f7e57600081815260208120601f850160051c81016020861015610f5b5750805b601f850160051c820191505b81811015610f7a57828155600101610f67565b5050505b505050565b815167ffffffffffffffff811115610f9d57610f9d610ee4565b610fb181610fab8454610efa565b84610f34565b602080601f831160018114610fe65760008415610fce5750858301515b600019600386901b1c1916600185901b178555610f7a565b600085815260208120601f198616915b8281101561101557888601518255948401946001909101908401610ff6565b50858210156110335787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b803582526000602082013560be1983360301811261108957600080fd5b606060208501528201803536829003601e190181126110a757600080fd5b810160208101903567ffffffffffffffff8111156110c457600080fd5b8036038213156110d357600080fd5b60c060608701526110e961012087018284611043565b91505060208201356080860152604082013560a0860152606082013560c0860152608082013560e086015260a082013561010086015260408401356040860152809250505092915050565b602081526000611147602083018461106c565b9392505050565b634e487b7160e01b600052603260045260246000fd5b60008261118157634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561041d57634e487b7160e01b600052601160045260246000fd5b6000602082840312156111b957600080fd5b5051919050565b600060608083526111d38184018961106c565b8381036020858101919091528782528891810160005b898110156112265783356001600160a01b03811680821461120957600080fd5b8352508383013583830152604093840193909101906001016111e9565b5085810360408781019190915287825292508790820160005b8881101561127c57823560ff811680821461125957600080fd5b83525082840135848301528483013585830152918501919085019060010161123f565b509b9a505050505050505050505056fea2646970667358221220dfb70f848813444581e6188aae78335d04e4887e2d79be3b0ba7bbed891b496a64736f6c63430008130033000000000000000000000000ffa3393be1e4b442fff6cd0df0794b0031e9cf65

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061009e5760003560e01c80638d12c426116100665780638d12c4261461013d578063b9f7bb8d14610161578063cb9567111461016a578063e3ac7e111461017d578063e6314a971461019d57600080fd5b80631a8bcd34146100a35780635321f047146100bf578063578855b2146100c95780636180801014610108578063717681c61461011d575b600080fd5b6100ac6103e881565b6040519081526020015b60405180910390f35b6100ac6201518081565b6100f07f000000000000000000000000ffa3393be1e4b442fff6cd0df0794b0031e9cf6581565b6040516001600160a01b0390911681526020016100b6565b61011b610116366004610ca7565b6101a6565b005b61013061012b366004610d75565b6102f5565b6040516100b69190610ddd565b61015061014b366004610d75565b610423565b6040516100b6959493929190610e2d565b6100ac61025881565b610130610178366004610e64565b6104fe565b6100ac61018b366004610e64565b60009081526020819052604090205490565b6100ac61a8c081565b6101b38585858585610539565b843560009081526020818152604091829020825160a08101909352919081906101de90890189610e7d565b6101e89080610e9d565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050509082525060209081019061023190890189610e7d565b60400135815260200187806020019061024a9190610e7d565b60209081013582526040808a0135838301524292019190915282546001810184556000938452922081519192600502019081906102879082610f83565b5060208201518160010155604082015181600201556060820151816003015560808201518160040155505084600001357f32569c122e0d7a43079203df1373675696c8ccd8ca67de60dc2238b6bb226214866040516102e69190611134565b60405180910390a25050505050565b6103276040518060a0016040528060608152602001600081526020016000815260200160008152602001600081525090565b60008381526020819052604090208054839081106103475761034761114e565b90600052602060002090600502016040518060a001604052908160008201805461037090610efa565b80601f016020809104026020016040519081016040528092919081815260200182805461039c90610efa565b80156103e95780601f106103be576101008083540402835291602001916103e9565b820191906000526020600020905b8154815290600101906020018083116103cc57829003601f168201915b5050505050815260200160018201548152602001600282015481526020016003820154815260200160048201548152505090505b92915050565b6000602052816000526040600020818154811061043f57600080fd5b90600052602060002090600502016000915091505080600001805461046390610efa565b80601f016020809104026020016040519081016040528092919081815260200182805461048f90610efa565b80156104dc5780601f106104b1576101008083540402835291602001916104dc565b820191906000526020600020905b8154815290600101906020018083116104bf57829003601f168201915b5050505050908060010154908060020154908060030154908060040154905085565b6105306040518060a0016040528060608152602001600081526020016000815260200160008152602001600081525090565b61041d82610ad8565b620151806103e861054d6020880188610e7d565b6020013561055b9190611164565b6105659042611186565b106105b75760405162461bcd60e51b815260206004820152601c60248201527f54656c6c6f724461746142616e6b3a204461746120746f6f206f6c640000000060448201526064015b60405180910390fd5b6102586105ca6103e86040880135611164565b6105d49042611186565b1061062d5760405162461bcd60e51b815260206004820152602360248201527f54656c6c6f724461746142616e6b3a204174746573746174696f6e20746f6f206044820152621bdb1960ea1b60648201526084016105ae565b60006106398635610ad8565b6040810151909150156106c05760408101516106586020880188610e7d565b60200135116106c05760405162461bcd60e51b815260206004820152602e60248201527f54656c6c6f724461746142616e6b3a205265706f72742074696d657374616d7060448201526d206d75737420696e63726561736560901b60648201526084016105ae565b6103e86106d06020880188610e7d565b602001356106de9190611164565b4210156107475760405162461bcd60e51b815260206004820152603160248201527f54656c6c6f724461746142616e6b3a205265706f72742074696d657374616d7060448201527020697320696e207468652066757475726560781b60648201526084016105ae565b6107546020870187610e7d565b60800135156107fb5761a8c06103e86107706020890189610e7d565b6080013561077e9190611164565b6107889042611186565b106107fb5760405162461bcd60e51b815260206004820152603760248201527f54656c6c6f724461746142616e6b3a204d6f726520726563656e74206f70746960448201527f6d6973746963207265706f727420617661696c61626c6500000000000000000060648201526084016105ae565b6108086020870187610e7d565b60a001356108196020880188610e7d565b6020013514610a4c5761082f6020870187610e7d565b602001358680602001906108439190610e7d565b60a00135106108ab5760405162461bcd60e51b815260206004820152602e60248201527f54656c6c6f724461746142616e6b3a204e6577657220636f6e73656e7375732060448201526d6461746120617661696c61626c6560901b60648201526084016105ae565b61a8c06103e86108be6020890189610e7d565b6108d0906020013560408a0135611186565b6108da9190611164565b101561093a5760405162461bcd60e51b815260206004820152602960248201527f54656c6c6f724461746142616e6b3a204469737075746520706572696f64206e6044820152681bdd081c185cdcd95960ba1b60648201526084016105ae565b60027f000000000000000000000000ffa3393be1e4b442fff6cd0df0794b0031e9cf656001600160a01b031663ba95ec276040518163ffffffff1660e01b8152600401602060405180830381865afa15801561099a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109be91906111a7565b6109c89190611164565b6109d56020880188610e7d565b6040013511610a4c5760405162461bcd60e51b815260206004820152603460248201527f54656c6c6f724461746142616e6b3a20496e73756666696369656e74206f707460448201527f696d6973746963207265706f727420706f77657200000000000000000000000060648201526084016105ae565b604051635e0d3b0f60e01b81526001600160a01b037f000000000000000000000000ffa3393be1e4b442fff6cd0df0794b0031e9cf651690635e0d3b0f90610aa090899089908990899089906004016111c0565b60006040518083038186803b158015610ab857600080fd5b505afa158015610acc573d6000803e3d6000fd5b50505050505050505050565b610b0a6040518060a0016040528060608152602001600081526020016000815260200160008152602001600081525090565b6000828152602081905260408120549003610b555750506040805160c081018252600060a0820181815282526020820181905291810182905260608101829052608081019190915290565b60008281526020819052604090208054610b7190600190611186565b81548110610b8157610b8161114e565b90600052602060002090600502016040518060a0016040529081600082018054610baa90610efa565b80601f0160208091040260200160405190810160405280929190818152602001828054610bd690610efa565b8015610c235780601f10610bf857610100808354040283529160200191610c23565b820191906000526020600020905b815481529060010190602001808311610c0657829003601f168201915b505050505081526020016001820154815260200160028201548152602001600382015481526020016004820154815250509050919050565b60008083601f840112610c6d57600080fd5b50813567ffffffffffffffff811115610c8557600080fd5b602083019150836020606083028501011115610ca057600080fd5b9250929050565b600080600080600060608688031215610cbf57600080fd5b853567ffffffffffffffff80821115610cd757600080fd5b908701906060828a031215610ceb57600080fd5b90955060208701359080821115610d0157600080fd5b818801915088601f830112610d1557600080fd5b813581811115610d2457600080fd5b8960208260061b8501011115610d3957600080fd5b602083019650809550506040880135915080821115610d5757600080fd5b50610d6488828901610c5b565b969995985093965092949392505050565b60008060408385031215610d8857600080fd5b50508035926020909101359150565b6000815180845260005b81811015610dbd57602081850181015186830182015201610da1565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000825160a06020840152610df960c0840182610d97565b9050602084015160408401526040840151606084015260608401516080840152608084015160a08401528091505092915050565b60a081526000610e4060a0830188610d97565b90508560208301528460408301528360608301528260808301529695505050505050565b600060208284031215610e7657600080fd5b5035919050565b6000823560be19833603018112610e9357600080fd5b9190910192915050565b6000808335601e19843603018112610eb457600080fd5b83018035915067ffffffffffffffff821115610ecf57600080fd5b602001915036819003821315610ca057600080fd5b634e487b7160e01b600052604160045260246000fd5b600181811c90821680610f0e57607f821691505b602082108103610f2e57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610f7e57600081815260208120601f850160051c81016020861015610f5b5750805b601f850160051c820191505b81811015610f7a57828155600101610f67565b5050505b505050565b815167ffffffffffffffff811115610f9d57610f9d610ee4565b610fb181610fab8454610efa565b84610f34565b602080601f831160018114610fe65760008415610fce5750858301515b600019600386901b1c1916600185901b178555610f7a565b600085815260208120601f198616915b8281101561101557888601518255948401946001909101908401610ff6565b50858210156110335787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b803582526000602082013560be1983360301811261108957600080fd5b606060208501528201803536829003601e190181126110a757600080fd5b810160208101903567ffffffffffffffff8111156110c457600080fd5b8036038213156110d357600080fd5b60c060608701526110e961012087018284611043565b91505060208201356080860152604082013560a0860152606082013560c0860152608082013560e086015260a082013561010086015260408401356040860152809250505092915050565b602081526000611147602083018461106c565b9392505050565b634e487b7160e01b600052603260045260246000fd5b60008261118157634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561041d57634e487b7160e01b600052601160045260246000fd5b6000602082840312156111b957600080fd5b5051919050565b600060608083526111d38184018961106c565b8381036020858101919091528782528891810160005b898110156112265783356001600160a01b03811680821461120957600080fd5b8352508383013583830152604093840193909101906001016111e9565b5085810360408781019190915287825292508790820160005b8881101561127c57823560ff811680821461125957600080fd5b83525082840135848301528483013585830152918501919085019060010161123f565b509b9a505050505050505050505056fea2646970667358221220dfb70f848813444581e6188aae78335d04e4887e2d79be3b0ba7bbed891b496a64736f6c63430008130033

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

000000000000000000000000ffa3393be1e4b442fff6cd0df0794b0031e9cf65

-----Decoded View---------------
Arg [0] : _dataBridge (address): 0xFfa3393BE1E4b442fff6cD0df0794B0031e9CF65

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000ffa3393be1e4b442fff6cd0df0794b0031e9cf65


Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.