Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00Latest 25 from a total of 78 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| 0x30783165 | 11109684 | 1968 days ago | IN | 0 ETH | 0.00083801 | ||||
| 0x30783165 | 11109402 | 1968 days ago | IN | 0 ETH | 0.00074741 | ||||
| 0x30783165 | 11102843 | 1969 days ago | IN | 0 ETH | 0.00126834 | ||||
| 0x30783165 | 11096593 | 1970 days ago | IN | 0 ETH | 0.00117774 | ||||
| 0x30783165 | 11096336 | 1970 days ago | IN | 0 ETH | 0.00115509 | ||||
| Push Report | 11090082 | 1971 days ago | IN | 0 ETH | 0.0010244 | ||||
| Push Report | 11089822 | 1971 days ago | IN | 0 ETH | 0.00113447 | ||||
| 0x30783165 | 11083505 | 1972 days ago | IN | 0 ETH | 0.00065682 | ||||
| 0x30783165 | 11083237 | 1972 days ago | IN | 0 ETH | 0.00056622 | ||||
| 0x30783165 | 11077048 | 1973 days ago | IN | 0 ETH | 0.00074741 | ||||
| 0x30783165 | 11076791 | 1973 days ago | IN | 0 ETH | 0.00043033 | ||||
| 0x30783165 | 11064032 | 1975 days ago | IN | 0 ETH | 0.00192516 | ||||
| 0x30783165 | 11063738 | 1975 days ago | IN | 0 ETH | 0.00192516 | ||||
| Push Report | 11057493 | 1976 days ago | IN | 0 ETH | 0.00310981 | ||||
| Push Report | 11057193 | 1976 days ago | IN | 0 ETH | 0.00311066 | ||||
| 0x30783165 | 11050912 | 1977 days ago | IN | 0 ETH | 0.00192516 | ||||
| 0x30783165 | 11050641 | 1977 days ago | IN | 0 ETH | 0.00192516 | ||||
| Push Report | 11044365 | 1978 days ago | IN | 0 ETH | 0.00310981 | ||||
| Push Report | 11044088 | 1978 days ago | IN | 0 ETH | 0.00311066 | ||||
| 0x30783165 | 11037880 | 1979 days ago | IN | 0 ETH | 0.00074741 | ||||
| 0x30783165 | 11037606 | 1979 days ago | IN | 0 ETH | 0.00065682 | ||||
| 0x30783165 | 11031320 | 1980 days ago | IN | 0 ETH | 0.0009286 | ||||
| 0x30783165 | 11031053 | 1980 days ago | IN | 0 ETH | 0.0009286 | ||||
| Push Report | 11024815 | 1981 days ago | IN | 0 ETH | 0.00168295 | ||||
| Push Report | 11024544 | 1981 days ago | IN | 0 ETH | 0.00164682 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
MedianOracle
Compiler Version
v0.4.24+commit.e67f0147
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2020-09-13
*/
// File: openzeppelin-solidity/contracts/math/SafeMath.sol
pragma solidity ^0.4.24;
/**
* @title SafeMath
* @dev Math operations with safety checks that revert on error
*/
library SafeMath {
/**
* @dev Multiplies two numbers, reverts on overflow.
*/
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
// Gas optimization: this is cheaper than requiring 'a' not being zero, but the
// benefit is lost if 'b' is also tested.
// See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522
if (a == 0) {
return 0;
}
uint256 c = a * b;
require(c / a == b);
return c;
}
/**
* @dev Integer division of two numbers truncating the quotient, reverts on division by zero.
*/
function div(uint256 a, uint256 b) internal pure returns (uint256) {
require(b > 0); // Solidity only automatically asserts when dividing by 0
uint256 c = a / b;
// assert(a == b * c + a % b); // There is no case in which this doesn't hold
return c;
}
/**
* @dev Subtracts two numbers, reverts on overflow (i.e. if subtrahend is greater than minuend).
*/
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
require(b <= a);
uint256 c = a - b;
return c;
}
/**
* @dev Adds two numbers, reverts on overflow.
*/
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a);
return c;
}
/**
* @dev Divides two numbers and returns the remainder (unsigned integer modulo),
* reverts when dividing by zero.
*/
function mod(uint256 a, uint256 b) internal pure returns (uint256) {
require(b != 0);
return a % b;
}
}
// File: openzeppelin-solidity/contracts/ownership/Ownable.sol
pragma solidity ^0.4.24;
/**
* @title Ownable
* @dev The Ownable contract has an owner address, and provides basic authorization control
* functions, this simplifies the implementation of "user permissions".
*/
contract Ownable {
address private _owner;
event OwnershipTransferred(
address indexed previousOwner,
address indexed newOwner
);
/**
* @dev The Ownable constructor sets the original `owner` of the contract to the sender
* account.
*/
constructor() internal {
_owner = msg.sender;
emit OwnershipTransferred(address(0), _owner);
}
/**
* @return the address of the owner.
*/
function owner() public view returns(address) {
return _owner;
}
/**
* @dev Throws if called by any account other than the owner.
*/
modifier onlyOwner() {
require(isOwner());
_;
}
/**
* @return true if `msg.sender` is the owner of the contract.
*/
function isOwner() public view returns(bool) {
return msg.sender == _owner;
}
/**
* @dev Allows the current owner to relinquish control of the contract.
* @notice Renouncing to ownership will leave the contract without an owner.
* It will not be possible to call the functions with the `onlyOwner`
* modifier anymore.
*/
function renounceOwnership() public onlyOwner {
emit OwnershipTransferred(_owner, address(0));
_owner = address(0);
}
/**
* @dev Allows the current owner to transfer control of the contract to a newOwner.
* @param newOwner The address to transfer ownership to.
*/
function transferOwnership(address newOwner) public onlyOwner {
_transferOwnership(newOwner);
}
/**
* @dev Transfers control of the contract to a newOwner.
* @param newOwner The address to transfer ownership to.
*/
function _transferOwnership(address newOwner) internal {
require(newOwner != address(0));
emit OwnershipTransferred(_owner, newOwner);
_owner = newOwner;
}
}
// File: contracts/lib/Select.sol
pragma solidity ^0.4.24;
/**
* @title Select
* @dev Median Selection Library
*/
library Select {
using SafeMath for uint256;
/**
* @dev Sorts the input array up to the denoted size, and returns the median.
* @param array Input array to compute its median.
* @param size Number of elements in array to compute the median for.
* @return Median of array.
*/
function computeMedian(uint256[] array, uint256 size)
internal
pure
returns (uint256)
{
require(size > 0 && array.length >= size);
for (uint256 i = 1; i < size; i++) {
for (uint256 j = i; j > 0 && array[j-1] > array[j]; j--) {
uint256 tmp = array[j];
array[j] = array[j-1];
array[j-1] = tmp;
}
}
if (size % 2 == 1) {
return array[size / 2];
} else {
return array[size / 2].add(array[size / 2 - 1]) / 2;
}
}
}
// File: contracts/MedianOracle.sol
pragma solidity 0.4.24;
interface IOracle {
function getData() external returns (uint256, bool);
}
/**
* @title Median Oracle
*
* @notice Provides a value onchain that's aggregated from a whitelisted set of
* providers.
*/
contract MedianOracle is Ownable, IOracle {
using SafeMath for uint256;
struct Report {
uint256 timestamp;
uint256 payload;
}
// Addresses of providers authorized to push reports.
address[] public providers;
// Reports indexed by provider address. Report[0].timestamp > 0
// indicates provider existence.
mapping (address => Report[2]) public providerReports;
event ProviderAdded(address provider);
event ProviderRemoved(address provider);
event ReportTimestampOutOfRange(address provider);
event ProviderReportPushed(address indexed provider, uint256 payload, uint256 timestamp);
// The number of seconds after which the report is deemed expired.
uint256 public reportExpirationTimeSec;
// The number of seconds since reporting that has to pass before a report
// is usable.
uint256 public reportDelaySec;
// The minimum number of providers with valid reports to consider the
// aggregate report valid.
uint256 public minimumProviders = 1;
// Timestamp of 1 is used to mark uninitialized and invalidated data.
// This is needed so that timestamp of 1 is always considered expired.
uint256 private constant MAX_REPORT_EXPIRATION_TIME = 520 weeks;
/**
* @param reportExpirationTimeSec_ The number of seconds after which the
* report is deemed expired.
* @param reportDelaySec_ The number of seconds since reporting that has to
* pass before a report is usable
* @param minimumProviders_ The minimum number of providers with valid
* reports to consider the aggregate report valid.
*/
constructor(uint256 reportExpirationTimeSec_,
uint256 reportDelaySec_,
uint256 minimumProviders_)
public
{
require(reportExpirationTimeSec_ <= MAX_REPORT_EXPIRATION_TIME);
require(minimumProviders_ > 0);
reportExpirationTimeSec = reportExpirationTimeSec_;
reportDelaySec = reportDelaySec_;
minimumProviders = minimumProviders_;
}
/**
* @notice Sets the report expiration period.
* @param reportExpirationTimeSec_ The number of seconds after which the
* report is deemed expired.
*/
function setReportExpirationTimeSec(uint256 reportExpirationTimeSec_)
external
onlyOwner
{
require(reportExpirationTimeSec_ <= MAX_REPORT_EXPIRATION_TIME);
reportExpirationTimeSec = reportExpirationTimeSec_;
}
/**
* @notice Sets the time period since reporting that has to pass before a
* report is usable.
* @param reportDelaySec_ The new delay period in seconds.
*/
function setReportDelaySec(uint256 reportDelaySec_)
external
onlyOwner
{
reportDelaySec = reportDelaySec_;
}
/**
* @notice Sets the minimum number of providers with valid reports to
* consider the aggregate report valid.
* @param minimumProviders_ The new minimum number of providers.
*/
function setMinimumProviders(uint256 minimumProviders_)
external
onlyOwner
{
require(minimumProviders_ > 0);
minimumProviders = minimumProviders_;
}
/**
* @notice Pushes a report for the calling provider.
* @param payload is expected to be 18 decimal fixed point number.
*/
function pushReport(uint256 payload) external
{
address providerAddress = msg.sender;
Report[2] storage reports = providerReports[providerAddress];
uint256[2] memory timestamps = [reports[0].timestamp, reports[1].timestamp];
require(timestamps[0] > 0);
uint8 index_recent = timestamps[0] >= timestamps[1] ? 0 : 1;
uint8 index_past = 1 - index_recent;
// Check that the push is not too soon after the last one.
require(timestamps[index_recent].add(reportDelaySec) <= now);
reports[index_past].timestamp = now;
reports[index_past].payload = payload;
emit ProviderReportPushed(providerAddress, payload, now);
}
/**
* @notice Invalidates the reports of the calling provider.
*/
function purgeReports() external
{
address providerAddress = msg.sender;
require (providerReports[providerAddress][0].timestamp > 0);
providerReports[providerAddress][0].timestamp=1;
providerReports[providerAddress][1].timestamp=1;
}
/**
* @notice Computes median of provider reports whose timestamps are in the
* valid timestamp range.
* @return AggregatedValue: Median of providers reported values.
* valid: Boolean indicating an aggregated value was computed successfully.
*/
function getData()
external
returns (uint256, bool)
{
uint256 reportsCount = providers.length;
uint256[] memory validReports = new uint256[](reportsCount);
uint256 size = 0;
uint256 minValidTimestamp = now.sub(reportExpirationTimeSec);
uint256 maxValidTimestamp = now.sub(reportDelaySec);
for (uint256 i = 0; i < reportsCount; i++) {
address providerAddress = providers[i];
Report[2] memory reports = providerReports[providerAddress];
uint8 index_recent = reports[0].timestamp >= reports[1].timestamp ? 0 : 1;
uint8 index_past = 1 - index_recent;
uint256 reportTimestampRecent = reports[index_recent].timestamp;
if (reportTimestampRecent > maxValidTimestamp) {
// Recent report is too recent.
uint256 reportTimestampPast = providerReports[providerAddress][index_past].timestamp;
if (reportTimestampPast < minValidTimestamp) {
// Past report is too old.
emit ReportTimestampOutOfRange(providerAddress);
} else if (reportTimestampPast > maxValidTimestamp) {
// Past report is too recent.
emit ReportTimestampOutOfRange(providerAddress);
} else {
// Using past report.
validReports[size++] = providerReports[providerAddress][index_past].payload;
}
} else {
// Recent report is not too recent.
if (reportTimestampRecent < minValidTimestamp) {
// Recent report is too old.
emit ReportTimestampOutOfRange(providerAddress);
} else {
// Using recent report.
validReports[size++] = providerReports[providerAddress][index_recent].payload;
}
}
}
if (size < minimumProviders) {
return (0, false);
}
return (Select.computeMedian(validReports, size), true);
}
/**
* @notice Authorizes a provider.
* @param provider Address of the provider.
*/
function addProvider(address provider)
external
onlyOwner
{
require(providerReports[provider][0].timestamp == 0);
providers.push(provider);
providerReports[provider][0].timestamp = 1;
emit ProviderAdded(provider);
}
/**
* @notice Revokes provider authorization.
* @param provider Address of the provider.
*/
function removeProvider(address provider)
external
onlyOwner
{
delete providerReports[provider];
for (uint256 i = 0; i < providers.length; i++) {
if (providers[i] == provider) {
if (i + 1 != providers.length) {
providers[i] = providers[providers.length-1];
}
providers.length--;
emit ProviderRemoved(provider);
break;
}
}
}
/**
* @return The number of authorized providers.
*/
function providersSize()
external
view
returns (uint256)
{
return providers.length;
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":true,"inputs":[],"name":"reportDelaySec","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"payload","type":"uint256"}],"name":"pushReport","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"getData","outputs":[{"name":"","type":"uint256"},{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"provider","type":"address"}],"name":"addProvider","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"providers","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"provider","type":"address"}],"name":"removeProvider","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"minimumProviders","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"purgeReports","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"reportDelaySec_","type":"uint256"}],"name":"setReportDelaySec","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"providersSize","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"reportExpirationTimeSec","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"minimumProviders_","type":"uint256"}],"name":"setMinimumProviders","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"providerReports","outputs":[{"name":"timestamp","type":"uint256"},{"name":"payload","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"reportExpirationTimeSec_","type":"uint256"}],"name":"setReportExpirationTimeSec","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"reportExpirationTimeSec_","type":"uint256"},{"name":"reportDelaySec_","type":"uint256"},{"name":"minimumProviders_","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"provider","type":"address"}],"name":"ProviderAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"provider","type":"address"}],"name":"ProviderRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"provider","type":"address"}],"name":"ReportTimestampOutOfRange","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"provider","type":"address"},{"indexed":false,"name":"payload","type":"uint256"},{"indexed":false,"name":"timestamp","type":"uint256"}],"name":"ProviderReportPushed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]Contract Creation Code
6080604052600160055534801561001557600080fd5b50604051606080611817833981018060405281019080805190602001909291908051906020019092919080519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36312bed400831115151561011b57600080fd5b60008111151561012a57600080fd5b8260038190555081600481905550806005819055505050506116c6806101516000396000f3006080604052600436106100fc576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806312e800f1146101015780631e20d14b1461012c5780633bc5de301461015957806346e2577a1461018f57806350f3fc81146101d2578063715018a61461023f5780638a355a57146102565780638da5cb5b146102995780638f32d59b146102f0578063b577c0c71461031f578063d13d59711461034a578063da6b0eea14610361578063dcbb82531461038e578063df982985146103b9578063ef35bcce146103e4578063f10864b614610411578063f2fde38b14610479578063f68be513146104bc575b600080fd5b34801561010d57600080fd5b506101166104e9565b6040518082815260200191505060405180910390f35b34801561013857600080fd5b50610157600480360381019080803590602001909291905050506104ef565b005b34801561016557600080fd5b5061016e6106b6565b60405180838152602001821515151581526020019250505060405180910390f35b34801561019b57600080fd5b506101d0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b77565b005b3480156101de57600080fd5b506101fd60048036038101908080359060200190929190505050610d13565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561024b57600080fd5b50610254610d51565b005b34801561026257600080fd5b50610297600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e23565b005b3480156102a557600080fd5b506102ae61103a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102fc57600080fd5b50610305611063565b604051808215151515815260200191505060405180910390f35b34801561032b57600080fd5b506103346110ba565b6040518082815260200191505060405180910390f35b34801561035657600080fd5b5061035f6110c0565b005b34801561036d57600080fd5b5061038c600480360381019080803590602001909291905050506111df565b005b34801561039a57600080fd5b506103a36111fc565b6040518082815260200191505060405180910390f35b3480156103c557600080fd5b506103ce611209565b6040518082815260200191505060405180910390f35b3480156103f057600080fd5b5061040f6004803603810190808035906020019092919050505061120f565b005b34801561041d57600080fd5b5061045c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061123b565b604051808381526020018281526020019250505060405180910390f35b34801561048557600080fd5b506104ba600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611271565b005b3480156104c857600080fd5b506104e760048036038101908080359060200190929190505050611290565b005b60045481565b6000806104fa6115b4565b600080339450600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209350604080519081016040528085600060028110151561055b57fe5b6002020160000154815260200185600160028110151561057757fe5b60020201600001548152509250600083600060028110151561059557fe5b60200201511115156105a657600080fd5b8260016002811015156105b557fe5b60200201518360006002811015156105c957fe5b602002015110156105db5760016105de565b60005b915081600103905042610611600454858560ff166002811015156105fe57fe5b60200201516112c090919063ffffffff16565b1115151561061e57600080fd5b42848260ff1660028110151561063057fe5b600202016000018190555085848260ff1660028110151561064d57fe5b60020201600101819055508473ffffffffffffffffffffffffffffffffffffffff167f460fcc5a1888965d48c2cab000fe20da51b1297d995af79a1924e2312d0d82b38742604051808381526020018281526020019250505060405180910390a2505050505050565b6000806000606060008060008060006106cd6115d6565b6000806000806001805490509b508b60405190808252806020026020018201604052801561070a5781602001602082028038833980820191505090505b509a5060009950610726600354426112e190919063ffffffff16565b985061073d600454426112e190919063ffffffff16565b9750600096505b8b871015610b3d5760018781548110151561075b57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169550600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600280602002604051908101604052809291906000905b8282101561081a5783826002020160408051908101604052908160008201548152602001600182015481525050815260200190600101906107de565b50505050945084600160028110151561082f57fe5b60200201516000015185600060028110151561084757fe5b602002015160000151101561085d576001610860565b60005b9350836001039250848460ff1660028110151561087957fe5b602002015160000151915087821115610a4557600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208360ff166002811015156108db57fe5b6002020160000154905088811015610955577f71f61642cb57ac11764a2f35fb4edc5361ced458af35bbed8f5ebf708c10e34186604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1610a40565b878111156109c5577f71f61642cb57ac11764a2f35fb4edc5361ced458af35bbed8f5ebf708c10e34186604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1610a3f565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208360ff16600281101515610a1457fe5b60020201600101548b8b806001019c50815181101515610a3057fe5b90602001906020020181815250505b5b610b30565b88821015610ab5577f71f61642cb57ac11764a2f35fb4edc5361ced458af35bbed8f5ebf708c10e34186604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1610b2f565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208460ff16600281101515610b0457fe5b60020201600101548b8b806001019c50815181101515610b2057fe5b90602001906020020181815250505b5b8680600101975050610744565b6005548a1015610b56576000808191509d509d50610b67565b610b608b8b611302565b60019d509d505b5050505050505050505050509091565b610b7f611063565b1515610b8a57600080fd5b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600281101515610bd957fe5b6002020160000154141515610bed57600080fd5b60018190806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600281101515610ca257fe5b60020201600001819055507fae9c2c6481964847714ce58f65a7f6dcc41d0d8394449bacdf161b5920c4744a81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b600181815481101515610d2257fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610d59611063565b1515610d6457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000610e2d611063565b1515610e3857600080fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610e839190611604565b600090505b600180549050811015611036578173ffffffffffffffffffffffffffffffffffffffff16600182815481101515610ebb57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156110295760018054905060018201141515610fab57600180808054905003815481101515610f2857fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600182815481101515610f6257fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b6001805480919060019003610fc0919061162f565b507f1589f8555933761a3cff8aa925061be3b46e2dd43f621322ab611d300f62b1d982604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1611036565b8080600101915050610e88565b5050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b60055481565b60003390506000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600060028110151561111457fe5b600202016000015411151561112857600080fd5b6001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600060028110151561117757fe5b60020201600001819055506001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060016002811015156111d157fe5b600202016000018190555050565b6111e7611063565b15156111f257600080fd5b8060048190555050565b6000600180549050905090565b60035481565b611217611063565b151561122257600080fd5b60008111151561123157600080fd5b8060058190555050565b60026020528160005260406000208160028110151561125657fe5b60020201600091509150508060000154908060010154905082565b611279611063565b151561128457600080fd5b61128d816114ba565b50565b611298611063565b15156112a357600080fd5b6312bed40081111515156112b657600080fd5b8060038190555050565b60008082840190508381101515156112d757600080fd5b8091505092915050565b6000808383111515156112f357600080fd5b82840390508091505092915050565b600080600080600085118015611319575084865110155b151561132457600080fd5b600192505b84831015611406578291505b6000821180156113755750858281518110151561134e57fe5b90602001906020020151866001840381518110151561136957fe5b90602001906020020151115b156113f957858281518110151561138857fe5b90602001906020020151905085600183038151811015156113a557fe5b9060200190602002015186838151811015156113bd57fe5b90602001906020020181815250508086600184038151811015156113dd57fe5b9060200190602002018181525050818060019003925050611335565b8280600101935050611329565b600160028681151561141457fe5b061415611446578560028681151561142857fe5b0481518110151561143557fe5b9060200190602002015193506114b1565b60026114a487600160028981151561145a57fe5b040381518110151561146857fe5b906020019060200201518860028981151561147f57fe5b0481518110151561148c57fe5b906020019060200201516112c090919063ffffffff16565b8115156114ad57fe5b0493505b50505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156114f657600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6040805190810160405280600290602082028038833980820191505090505090565b6080604051908101604052806002905b6115ee61165b565b8152602001906001900390816115e65790505090565b5060008082016000905560018201600090555060020160008082016000905560018201600090555050565b815481835581811115611656578183600052602060002091820191016116559190611675565b5b505050565b604080519081016040528060008152602001600081525090565b61169791905b8082111561169357600081600090555060010161167b565b5090565b905600a165627a7a723058201180d8dc39940c6164f7e10bb2cc810184f5e6261b9f720216bac7061a7e695d0029000000000000000000000000000000000000000000000000000000000051bd000000000000000000000000000000000000000000000000000000000000000e100000000000000000000000000000000000000000000000000000000000000001
Deployed Bytecode
0x6080604052600436106100fc576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806312e800f1146101015780631e20d14b1461012c5780633bc5de301461015957806346e2577a1461018f57806350f3fc81146101d2578063715018a61461023f5780638a355a57146102565780638da5cb5b146102995780638f32d59b146102f0578063b577c0c71461031f578063d13d59711461034a578063da6b0eea14610361578063dcbb82531461038e578063df982985146103b9578063ef35bcce146103e4578063f10864b614610411578063f2fde38b14610479578063f68be513146104bc575b600080fd5b34801561010d57600080fd5b506101166104e9565b6040518082815260200191505060405180910390f35b34801561013857600080fd5b50610157600480360381019080803590602001909291905050506104ef565b005b34801561016557600080fd5b5061016e6106b6565b60405180838152602001821515151581526020019250505060405180910390f35b34801561019b57600080fd5b506101d0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b77565b005b3480156101de57600080fd5b506101fd60048036038101908080359060200190929190505050610d13565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561024b57600080fd5b50610254610d51565b005b34801561026257600080fd5b50610297600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e23565b005b3480156102a557600080fd5b506102ae61103a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102fc57600080fd5b50610305611063565b604051808215151515815260200191505060405180910390f35b34801561032b57600080fd5b506103346110ba565b6040518082815260200191505060405180910390f35b34801561035657600080fd5b5061035f6110c0565b005b34801561036d57600080fd5b5061038c600480360381019080803590602001909291905050506111df565b005b34801561039a57600080fd5b506103a36111fc565b6040518082815260200191505060405180910390f35b3480156103c557600080fd5b506103ce611209565b6040518082815260200191505060405180910390f35b3480156103f057600080fd5b5061040f6004803603810190808035906020019092919050505061120f565b005b34801561041d57600080fd5b5061045c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061123b565b604051808381526020018281526020019250505060405180910390f35b34801561048557600080fd5b506104ba600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611271565b005b3480156104c857600080fd5b506104e760048036038101908080359060200190929190505050611290565b005b60045481565b6000806104fa6115b4565b600080339450600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209350604080519081016040528085600060028110151561055b57fe5b6002020160000154815260200185600160028110151561057757fe5b60020201600001548152509250600083600060028110151561059557fe5b60200201511115156105a657600080fd5b8260016002811015156105b557fe5b60200201518360006002811015156105c957fe5b602002015110156105db5760016105de565b60005b915081600103905042610611600454858560ff166002811015156105fe57fe5b60200201516112c090919063ffffffff16565b1115151561061e57600080fd5b42848260ff1660028110151561063057fe5b600202016000018190555085848260ff1660028110151561064d57fe5b60020201600101819055508473ffffffffffffffffffffffffffffffffffffffff167f460fcc5a1888965d48c2cab000fe20da51b1297d995af79a1924e2312d0d82b38742604051808381526020018281526020019250505060405180910390a2505050505050565b6000806000606060008060008060006106cd6115d6565b6000806000806001805490509b508b60405190808252806020026020018201604052801561070a5781602001602082028038833980820191505090505b509a5060009950610726600354426112e190919063ffffffff16565b985061073d600454426112e190919063ffffffff16565b9750600096505b8b871015610b3d5760018781548110151561075b57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169550600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600280602002604051908101604052809291906000905b8282101561081a5783826002020160408051908101604052908160008201548152602001600182015481525050815260200190600101906107de565b50505050945084600160028110151561082f57fe5b60200201516000015185600060028110151561084757fe5b602002015160000151101561085d576001610860565b60005b9350836001039250848460ff1660028110151561087957fe5b602002015160000151915087821115610a4557600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208360ff166002811015156108db57fe5b6002020160000154905088811015610955577f71f61642cb57ac11764a2f35fb4edc5361ced458af35bbed8f5ebf708c10e34186604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1610a40565b878111156109c5577f71f61642cb57ac11764a2f35fb4edc5361ced458af35bbed8f5ebf708c10e34186604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1610a3f565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208360ff16600281101515610a1457fe5b60020201600101548b8b806001019c50815181101515610a3057fe5b90602001906020020181815250505b5b610b30565b88821015610ab5577f71f61642cb57ac11764a2f35fb4edc5361ced458af35bbed8f5ebf708c10e34186604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1610b2f565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208460ff16600281101515610b0457fe5b60020201600101548b8b806001019c50815181101515610b2057fe5b90602001906020020181815250505b5b8680600101975050610744565b6005548a1015610b56576000808191509d509d50610b67565b610b608b8b611302565b60019d509d505b5050505050505050505050509091565b610b7f611063565b1515610b8a57600080fd5b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600281101515610bd957fe5b6002020160000154141515610bed57600080fd5b60018190806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600281101515610ca257fe5b60020201600001819055507fae9c2c6481964847714ce58f65a7f6dcc41d0d8394449bacdf161b5920c4744a81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b600181815481101515610d2257fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610d59611063565b1515610d6457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000610e2d611063565b1515610e3857600080fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610e839190611604565b600090505b600180549050811015611036578173ffffffffffffffffffffffffffffffffffffffff16600182815481101515610ebb57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156110295760018054905060018201141515610fab57600180808054905003815481101515610f2857fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600182815481101515610f6257fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b6001805480919060019003610fc0919061162f565b507f1589f8555933761a3cff8aa925061be3b46e2dd43f621322ab611d300f62b1d982604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1611036565b8080600101915050610e88565b5050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b60055481565b60003390506000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600060028110151561111457fe5b600202016000015411151561112857600080fd5b6001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600060028110151561117757fe5b60020201600001819055506001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060016002811015156111d157fe5b600202016000018190555050565b6111e7611063565b15156111f257600080fd5b8060048190555050565b6000600180549050905090565b60035481565b611217611063565b151561122257600080fd5b60008111151561123157600080fd5b8060058190555050565b60026020528160005260406000208160028110151561125657fe5b60020201600091509150508060000154908060010154905082565b611279611063565b151561128457600080fd5b61128d816114ba565b50565b611298611063565b15156112a357600080fd5b6312bed40081111515156112b657600080fd5b8060038190555050565b60008082840190508381101515156112d757600080fd5b8091505092915050565b6000808383111515156112f357600080fd5b82840390508091505092915050565b600080600080600085118015611319575084865110155b151561132457600080fd5b600192505b84831015611406578291505b6000821180156113755750858281518110151561134e57fe5b90602001906020020151866001840381518110151561136957fe5b90602001906020020151115b156113f957858281518110151561138857fe5b90602001906020020151905085600183038151811015156113a557fe5b9060200190602002015186838151811015156113bd57fe5b90602001906020020181815250508086600184038151811015156113dd57fe5b9060200190602002018181525050818060019003925050611335565b8280600101935050611329565b600160028681151561141457fe5b061415611446578560028681151561142857fe5b0481518110151561143557fe5b9060200190602002015193506114b1565b60026114a487600160028981151561145a57fe5b040381518110151561146857fe5b906020019060200201518860028981151561147f57fe5b0481518110151561148c57fe5b906020019060200201516112c090919063ffffffff16565b8115156114ad57fe5b0493505b50505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156114f657600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6040805190810160405280600290602082028038833980820191505090505090565b6080604051908101604052806002905b6115ee61165b565b8152602001906001900390816115e65790505090565b5060008082016000905560018201600090555060020160008082016000905560018201600090555050565b815481835581811115611656578183600052602060002091820191016116559190611675565b5b505050565b604080519081016040528060008152602001600081525090565b61169791905b8082111561169357600081600090555060010161167b565b5090565b905600a165627a7a723058201180d8dc39940c6164f7e10bb2cc810184f5e6261b9f720216bac7061a7e695d0029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000000051bd000000000000000000000000000000000000000000000000000000000000000e100000000000000000000000000000000000000000000000000000000000000001
-----Decoded View---------------
Arg [0] : reportExpirationTimeSec_ (uint256): 5356800
Arg [1] : reportDelaySec_ (uint256): 3600
Arg [2] : minimumProviders_ (uint256): 1
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 000000000000000000000000000000000000000000000000000000000051bd00
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000e10
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000001
Deployed Bytecode Sourcemap
5251:8353:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6142:29;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6142:29:0;;;;;;;;;;;;;;;;;;;;;;;8802:726;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8802:726:0;;;;;;;;;;;;;;;;;;;;;;;;;;10195:2170;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10195:2170:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12479:279;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12479:279:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;5478:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5478:26:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3169:130;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3169:130:0;;;;;;12881:511;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12881:511:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;2510:72;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2510:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;2812:85;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2812:85:0;;;;;;;;;;;;;;;;;;;;;;;;;;;6287:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6287:35:0;;;;;;;;;;;;;;;;;;;;;;;9617:279;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9617:279:0;;;;;;8087:145;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8087:145:0;;;;;;;;;;;;;;;;;;;;;;;;;;13470:131;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13470:131:0;;;;;;;;;;;;;;;;;;;;;;;5997:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5997:38:0;;;;;;;;;;;;;;;;;;;;;;;8452:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8452:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;5620:53;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5620:53:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3466:103;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3466:103:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;7633:255;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7633:255:0;;;;;;;;;;;;;;;;;;;;;;;;;;6142:29;;;;:::o;8802:726::-;8864:23;8911:25;8982:28;;:::i;:::-;9109:18;9179:16;8890:10;8864:36;;8939:15;:32;8955:15;8939:32;;;;;;;;;;;;;;;8911:60;;8982:75;;;;;;;;;9014:7;9022:1;9014:10;;;;;;;;;;;;:20;;;8982:75;;;;9036:7;9044:1;9036:10;;;;;;;;;;;;:20;;;8982:75;;;;;9094:1;9078:10;9089:1;9078:13;;;;;;;;;;;;;:17;9070:26;;;;;;;;9147:10;9158:1;9147:13;;;;;;;;;;;;;9130:10;9141:1;9130:13;;;;;;;;;;;;;:30;;:38;;9167:1;9130:38;;;9163:1;9130:38;9109:59;;9202:12;9198:1;:16;9179:35;;9351:3;9303:44;9332:14;;9303:10;9314:12;9303:24;;;;;;;;;;;;;;;:28;;:44;;;;:::i;:::-;:51;;9295:60;;;;;;;;9400:3;9368:7;9376:10;9368:19;;;;;;;;;;;;;;:29;;:35;;;;9444:7;9414;9422:10;9414:19;;;;;;;;;;;;;;:27;;:37;;;;9490:15;9469:51;;;9507:7;9516:3;9469:51;;;;;;;;;;;;;;;;;;;;;;;;8802:726;;;;;;:::o;10195:2170::-;10250:7;10259:4;10281:20;10331:29;10401:12;10428:25;10500;10570:9;10623:23;10676:24;;:::i;:::-;10752:18;10840:16;10890:29;11083:27;10304:9;:16;;;;10281:39;;10377:12;10363:27;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;10363:27:0;;;;10331:59;;10416:1;10401:16;;10457:32;10465:23;;10457:3;:7;;:32;;;;:::i;:::-;10428:61;;10529:23;10537:14;;10529:3;:7;;:23;;;;:::i;:::-;10500:52;;10582:1;10570:13;;10565:1640;10589:12;10585:1;:16;10565:1640;;;10649:9;10659:1;10649:12;;;;;;;;;;;;;;;;;;;;;;;;;;;10623:38;;10703:15;:32;10719:15;10703:32;;;;;;;;;;;;;;;10676:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10797:7;10805:1;10797:10;;;;;;;;;;;;;:20;;;10773:7;10781:1;10773:10;;;;;;;;;;;;;:20;;;:44;;:52;;10824:1;10773:52;;;10820:1;10773:52;10752:73;;10863:12;10859:1;:16;10840:35;;10922:7;10930:12;10922:21;;;;;;;;;;;;;;;:31;;;10890:63;;10996:17;10972:21;:41;10968:1226;;;11113:15;:32;11129:15;11113:32;;;;;;;;;;;;;;;11146:10;11113:44;;;;;;;;;;;;;;:54;;;11083:84;;11212:17;11190:19;:39;11186:542;;;11307:42;11333:15;11307:42;;;;;;;;;;;;;;;;;;;;;;11186:542;;;11401:17;11379:19;:39;11375:353;;;11499:42;11525:15;11499:42;;;;;;;;;;;;;;;;;;;;;;11375:353;;;11656:15;:32;11672:15;11656:32;;;;;;;;;;;;;;;11689:10;11656:44;;;;;;;;;;;;;;:52;;;11633:12;11646:6;;;;;;11633:20;;;;;;;;;;;;;;;;;:75;;;;;11375:353;11186:542;10968:1226;;;11849:17;11825:21;:41;11821:358;;;11946:42;11972:15;11946:42;;;;;;;;;;;;;;;;;;;;;;11821:358;;;12105:15;:32;12121:15;12105:32;;;;;;;;;;;;;;;12138:12;12105:46;;;;;;;;;;;;;;:54;;;12082:12;12095:6;;;;;;12082:20;;;;;;;;;;;;;;;;;:77;;;;;11821:358;10968:1226;10603:3;;;;;;;10565:1640;;;12228:16;;12221:4;:23;12217:73;;;12269:1;12272:5;12261:17;;;;;;;;;12217:73;12310:40;12331:12;12345:4;12310:20;:40::i;:::-;12352:4;12302:55;;;;10195:2170;;;;;;;;;;;;;;;:::o;12479:279::-;2703:9;:7;:9::i;:::-;2695:18;;;;;;;;12621:1;12579:15;:25;12595:8;12579:25;;;;;;;;;;;;;;;12605:1;12579:28;;;;;;;;;;;;:38;;;:43;12571:52;;;;;;;;12634:9;12649:8;12634:24;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;12634:24:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12710:1;12669:15;:25;12685:8;12669:25;;;;;;;;;;;;;;;12695:1;12669:28;;;;;;;;;;;;:38;;:42;;;;12727:23;12741:8;12727:23;;;;;;;;;;;;;;;;;;;;;;12479:279;:::o;5478:26::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3169:130::-;2703:9;:7;:9::i;:::-;2695:18;;;;;;;;3264:1;3227:40;;3248:6;;;;;;;;;;;3227:40;;;;;;;;;;;;3291:1;3274:6;;:19;;;;;;;;;;;;;;;;;;3169:130::o;12881:511::-;13024:9;2703;:7;:9::i;:::-;2695:18;;;;;;;;12983:15;:25;12999:8;12983:25;;;;;;;;;;;;;;;;12976:32;;;;:::i;:::-;13036:1;13024:13;;13019:366;13043:9;:16;;;;13039:1;:20;13019:366;;;13101:8;13085:24;;:9;13095:1;13085:12;;;;;;;;;;;;;;;;;;;;;;;;;;;:24;;;13081:293;;;13144:9;:16;;;;13138:1;13134;:5;:26;;13130:119;;;13200:9;13227:1;13210:9;:16;;;;:18;13200:29;;;;;;;;;;;;;;;;;;;;;;;;;;;13185:9;13195:1;13185:12;;;;;;;;;;;;;;;;;;:44;;;;;;;;;;;;;;;;;;13130:119;13267:9;:18;;;;;;;;;;;;:::i;:::-;;13309:25;13325:8;13309:25;;;;;;;;;;;;;;;;;;;;;;13353:5;;13081:293;13061:3;;;;;;;13019:366;;;12881:511;;:::o;2510:72::-;2547:7;2570:6;;;;;;;;;;;2563:13;;2510:72;:::o;2812:85::-;2851:4;2885:6;;;;;;;;;;;2871:20;;:10;:20;;;2864:27;;2812:85;:::o;6287:35::-;;;;:::o;9617:279::-;9666:23;9692:10;9666:36;;9770:1;9722:15;:32;9738:15;9722:32;;;;;;;;;;;;;;;9755:1;9722:35;;;;;;;;;;;;:45;;;:49;9713:59;;;;;;;;9829:1;9783:15;:32;9799:15;9783:32;;;;;;;;;;;;;;;9816:1;9783:35;;;;;;;;;;;;:45;;:47;;;;9887:1;9841:15;:32;9857:15;9841:32;;;;;;;;;;;;;;;9874:1;9841:35;;;;;;;;;;;;:45;;:47;;;;9617:279;:::o;8087:145::-;2703:9;:7;:9::i;:::-;2695:18;;;;;;;;8209:15;8192:14;:32;;;;8087:145;:::o;13470:131::-;13545:7;13577:9;:16;;;;13570:23;;13470:131;:::o;5997:38::-;;;;:::o;8452:194::-;2703:9;:7;:9::i;:::-;2695:18;;;;;;;;8589:1;8569:17;:21;8561:30;;;;;;;;8621:17;8602:16;:36;;;;8452:194;:::o;5620:53::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3466:103::-;2703:9;:7;:9::i;:::-;2695:18;;;;;;;;3535:28;3554:8;3535:18;:28::i;:::-;3466:103;:::o;7633:255::-;2703:9;:7;:9::i;:::-;2695:18;;;;;;;;6536:9;7764:24;:54;;7756:63;;;;;;;;7856:24;7830:23;:50;;;;7633:255;:::o;1383:136::-;1441:7;1457:9;1473:1;1469;:5;1457:17;;1494:1;1489;:6;;1481:15;;;;;;;;1512:1;1505:8;;1383:136;;;;;:::o;1179:::-;1237:7;1275:9;1266:1;1261;:6;;1253:15;;;;;;;;1291:1;1287;:5;1275:17;;1308:1;1301:8;;1179:136;;;;;:::o;4340:601::-;4444:7;4526:9;4576;4648:11;4484:1;4477:4;:8;:32;;;;;4505:4;4489:5;:12;:20;;4477:32;4469:41;;;;;;;;4538:1;4526:13;;4521:251;4545:4;4541:1;:8;4521:251;;;4588:1;4576:13;;4571:190;4595:1;4591;:5;:31;;;;;4614:5;4620:1;4614:8;;;;;;;;;;;;;;;;;;4600:5;4608:1;4606;:3;4600:10;;;;;;;;;;;;;;;;;;:22;4591:31;4571:190;;;4662:5;4668:1;4662:8;;;;;;;;;;;;;;;;;;4648:22;;4700:5;4708:1;4706;:3;4700:10;;;;;;;;;;;;;;;;;;4689:5;4695:1;4689:8;;;;;;;;;;;;;;;;;:21;;;;;4742:3;4729:5;4737:1;4735;:3;4729:10;;;;;;;;;;;;;;;;;:16;;;;;4624:3;;;;;;;;4571:190;;;4551:3;;;;;;;4521:251;;;4798:1;4793;4786:4;:8;;;;;;;;:13;4782:152;;;4823:5;4836:1;4829:4;:8;;;;;;;;4823:15;;;;;;;;;;;;;;;;;;4816:22;;;;4782:152;4921:1;4878:40;4898:5;4915:1;4911;4904:4;:8;;;;;;;;:12;4898:19;;;;;;;;;;;;;;;;;;4878:5;4891:1;4884:4;:8;;;;;;;;4878:15;;;;;;;;;;;;;;;;;;:19;;:40;;;;:::i;:::-;:44;;;;;;;;4871:51;;4340:601;;;;;;;;:::o;3709:173::-;3799:1;3779:22;;:8;:22;;;;3771:31;;;;;;;;3843:8;3814:38;;3835:6;;;;;;;;;;;3814:38;;;;;;;;;;;;3868:8;3859:6;;:17;;;;;;;;;;;;;;;;;;3709:173;:::o;5251:8353::-;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;5251:8353:0;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o
Swarm Source
bzzr://1180d8dc39940c6164f7e10bb2cc810184f5e6261b9f720216bac7061a7e695d
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
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.