Feature Tip: Add private address tag to any address under My Name Tag !
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 6,056 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Push Latest Pric... | 7782854 | 1924 days ago | IN | 0 ETH | 0.00072376 | ||||
Push Latest Pric... | 7780285 | 1924 days ago | IN | 0 ETH | 0.00072376 | ||||
Push Latest Pric... | 7780123 | 1924 days ago | IN | 0 ETH | 0.00072376 | ||||
Push Latest Pric... | 7780051 | 1924 days ago | IN | 0 ETH | 0.00072376 | ||||
Push Latest Pric... | 7779989 | 1924 days ago | IN | 0 ETH | 0.00072376 | ||||
Push Latest Pric... | 7779982 | 1924 days ago | IN | 0 ETH | 0.00072376 | ||||
Push Latest Pric... | 7779918 | 1924 days ago | IN | 0 ETH | 0.00072376 | ||||
Push Latest Pric... | 7779912 | 1924 days ago | IN | 0 ETH | 0.00072376 | ||||
Push Latest Pric... | 7779859 | 1924 days ago | IN | 0 ETH | 0.00072376 | ||||
Push Latest Pric... | 7779825 | 1924 days ago | IN | 0 ETH | 0.00072376 | ||||
Push Latest Pric... | 7779786 | 1924 days ago | IN | 0 ETH | 0.00072376 | ||||
Push Latest Pric... | 7779751 | 1924 days ago | IN | 0 ETH | 0.00072376 | ||||
Push Latest Pric... | 7779711 | 1924 days ago | IN | 0 ETH | 0.00072376 | ||||
Push Latest Pric... | 7779659 | 1924 days ago | IN | 0 ETH | 0.00072376 | ||||
Push Latest Pric... | 7779616 | 1924 days ago | IN | 0 ETH | 0.00072376 | ||||
Push Latest Pric... | 7779568 | 1924 days ago | IN | 0 ETH | 0.00072376 | ||||
Push Latest Pric... | 7779539 | 1924 days ago | IN | 0 ETH | 0.00072376 | ||||
Push Latest Pric... | 7779501 | 1924 days ago | IN | 0 ETH | 0.00072376 | ||||
Push Latest Pric... | 7779465 | 1924 days ago | IN | 0 ETH | 0.00072376 | ||||
Push Latest Pric... | 7779431 | 1924 days ago | IN | 0 ETH | 0.00072376 | ||||
Push Latest Pric... | 7779397 | 1924 days ago | IN | 0 ETH | 0.00072248 | ||||
Push Latest Pric... | 7779366 | 1924 days ago | IN | 0 ETH | 0.00072376 | ||||
Push Latest Pric... | 7779335 | 1924 days ago | IN | 0 ETH | 0.00072376 | ||||
Push Latest Pric... | 7779290 | 1924 days ago | IN | 0 ETH | 0.00072376 | ||||
Push Latest Pric... | 7779258 | 1924 days ago | IN | 0 ETH | 0.00072376 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
ManualPriceFeed
Compiler Version
v0.5.0+commit.1d4f565a
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2019-03-25 */ pragma solidity ^0.5.0; /** * @title ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/20 */ interface IERC20 { function transfer(address to, uint256 value) external returns (bool); function approve(address spender, uint256 value) external returns (bool); function transferFrom(address from, address to, uint256 value) external returns (bool); function totalSupply() external view returns (uint256); function balanceOf(address who) external view returns (uint256); function allowance(address owner, address spender) external view returns (uint256); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } /** * @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; } } /** * @title SafeMath * @dev Unsigned math operations with safety checks that revert on error */ library SafeMath { /** * @dev Multiplies two unsigned integers, 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 unsigned integers truncating the quotient, reverts on division by zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { // Solidity only automatically asserts when dividing by 0 require(b > 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 unsigned integers, 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 unsigned integers, 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 unsigned integers 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; } } // This interface allows contracts to query unverified prices. interface PriceFeedInterface { // Whether this PriceFeeds provides prices for the given identifier. function isIdentifierSupported(bytes32 identifier) external view returns (bool isSupported); // Gets the latest time-price pair at which a price was published. The transaction will revert if no prices have // been published for this identifier. function latestPrice(bytes32 identifier) external view returns (uint publishTime, int price); // An event fired when a price is published. event PriceUpdated(bytes32 indexed identifier, uint indexed time, int price); } contract Withdrawable is Ownable { // Withdraws ETH from the contract. function withdraw(uint amount) external onlyOwner { msg.sender.transfer(amount); } // Withdraws ERC20 tokens from the contract. function withdrawErc20(address erc20Address, uint amount) external onlyOwner { IERC20 erc20 = IERC20(erc20Address); require(erc20.transfer(msg.sender, amount)); } } contract Testable is Ownable { // Is the contract being run on the test network. Note: this variable should be set on construction and never // modified. bool public isTest; uint private currentTime; constructor(bool _isTest) internal { isTest = _isTest; if (_isTest) { currentTime = now; // solhint-disable-line not-rely-on-time } } modifier onlyIfTest { require(isTest); _; } function setCurrentTime(uint _time) external onlyOwner onlyIfTest { currentTime = _time; } function getCurrentTime() public view returns (uint) { if (isTest) { return currentTime; } else { return now; // solhint-disable-line not-rely-on-time } } } // Implementation of PriceFeedInterface with the ability to push prices. contract ManualPriceFeed is PriceFeedInterface, Withdrawable, Testable { using SafeMath for uint; // A single price update. struct PriceTick { uint timestamp; int price; } // Mapping from identifier to the latest price for that identifier. mapping(bytes32 => PriceTick) private prices; // Ethereum timestamp tolerance. // Note: this is technically the amount of time that a block timestamp can be *ahead* of the current time. However, // we are assuming that blocks will never get more than this amount *behind* the current time. The only requirement // limiting how early the timestamp can be is that it must have a later timestamp than its parent. However, // this bound will probably work reasonably well in both directions. uint constant private BLOCK_TIMESTAMP_TOLERANCE = 900; constructor(bool _isTest) public Testable(_isTest) {} // solhint-disable-line no-empty-blocks // Adds a new price to the series for a given identifier. The pushed publishTime must be later than the last time // pushed so far. function pushLatestPrice(bytes32 identifier, uint publishTime, int newPrice) external onlyOwner { require(publishTime <= getCurrentTime().add(BLOCK_TIMESTAMP_TOLERANCE)); require(publishTime > prices[identifier].timestamp); prices[identifier] = PriceTick(publishTime, newPrice); emit PriceUpdated(identifier, publishTime, newPrice); } // Whether this feed has ever published any prices for this identifier. function isIdentifierSupported(bytes32 identifier) external view returns (bool isSupported) { isSupported = _isIdentifierSupported(identifier); } function latestPrice(bytes32 identifier) external view returns (uint publishTime, int price) { require(_isIdentifierSupported(identifier)); publishTime = prices[identifier].timestamp; price = prices[identifier].price; } function _isIdentifierSupported(bytes32 identifier) private view returns (bool isSupported) { isSupported = prices[identifier].timestamp > 0; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":false,"inputs":[{"name":"_time","type":"uint256"}],"name":"setCurrentTime","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getCurrentTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"identifier","type":"bytes32"}],"name":"latestPrice","outputs":[{"name":"publishTime","type":"uint256"},{"name":"price","type":"int256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"identifier","type":"bytes32"},{"name":"publishTime","type":"uint256"},{"name":"newPrice","type":"int256"}],"name":"pushLatestPrice","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":"identifier","type":"bytes32"}],"name":"isIdentifierSupported","outputs":[{"name":"isSupported","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isTest","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"erc20Address","type":"address"},{"name":"amount","type":"uint256"}],"name":"withdrawErc20","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_isTest","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"identifier","type":"bytes32"},{"indexed":true,"name":"time","type":"uint256"},{"indexed":false,"name":"price","type":"int256"}],"name":"PriceUpdated","type":"event"}]
Contract Creation Code
608060405234801561001057600080fd5b50604051602080610af48339810180604052602081101561003057600080fd5b810190808051906020019092919050505080336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600060146101000a81548160ff021916908315150217905550801561012657426001819055505b50506109bd806101376000396000f3fe6080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806322f8e566146100bf57806329cb924d146100fa5780632e1a7d4d146101255780634eec7c2b14610160578063715018a6146101b657806388be38ac146101cd5780638da5cb5b1461021c5780638f32d59b1461027357806390978d1b146102a25780639381a345146102f5578063bd1f4b5214610324578063f2fde38b1461037f575b600080fd5b3480156100cb57600080fd5b506100f8600480360360208110156100e257600080fd5b81019080803590602001909291905050506103d0565b005b34801561010657600080fd5b5061010f610408565b6040518082815260200191505060405180910390f35b34801561013157600080fd5b5061015e6004803603602081101561014857600080fd5b810190808035906020019092919050505061042f565b005b34801561016c57600080fd5b506101996004803603602081101561018357600080fd5b810190808035906020019092919050505061048c565b604051808381526020018281526020019250505060405180910390f35b3480156101c257600080fd5b506101cb6104da565b005b3480156101d957600080fd5b5061021a600480360360608110156101f057600080fd5b810190808035906020019092919080359060200190929190803590602001909291905050506105ac565b005b34801561022857600080fd5b5061023161068a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561027f57600080fd5b506102886106b3565b604051808215151515815260200191505060405180910390f35b3480156102ae57600080fd5b506102db600480360360208110156102c557600080fd5b810190808035906020019092919050505061070a565b604051808215151515815260200191505060405180910390f35b34801561030157600080fd5b5061030a61071c565b604051808215151515815260200191505060405180910390f35b34801561033057600080fd5b5061037d6004803603604081101561034757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061072f565b005b34801561038b57600080fd5b506103ce600480360360208110156103a257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610835565b005b6103d86106b3565b15156103e357600080fd5b600060149054906101000a900460ff1615156103fe57600080fd5b8060018190555050565b60008060149054906101000a900460ff161561042857600154905061042c565b4290505b90565b6104376106b3565b151561044257600080fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610488573d6000803e3d6000fd5b5050565b60008061049883610854565b15156104a357600080fd5b6002600084815260200190815260200160002060000154915060026000848152602001908152602001600020600101549050915091565b6104e26106b3565b15156104ed57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6105b46106b3565b15156105bf57600080fd5b6105db6103846105cd610408565b61087690919063ffffffff16565b82111515156105e957600080fd5b60026000848152602001908152602001600020600001548211151561060d57600080fd5b60408051908101604052808381526020018281525060026000858152602001908152602001600020600082015181600001556020820151816001015590505081837f7b68a704e7137c4430422c835b46aecc2dd2d5e3eb0ec8fd92785c9e97648bd9836040518082815260200191505060405180910390a3505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b600061071582610854565b9050919050565b600060149054906101000a900460ff1681565b6107376106b3565b151561074257600080fd5b60008290508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156107ea57600080fd5b505af11580156107fe573d6000803e3d6000fd5b505050506040513d602081101561081457600080fd5b8101908080519060200190929190505050151561083057600080fd5b505050565b61083d6106b3565b151561084857600080fd5b61085181610897565b50565b6000806002600084815260200190815260200160002060000154119050919050565b600080828401905083811015151561088d57600080fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156108d357600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505056fea165627a7a72305820a9ba8e87a0bbf2020c2890b1f24036037195122869bfe15eab173f327f37d54600290000000000000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x6080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806322f8e566146100bf57806329cb924d146100fa5780632e1a7d4d146101255780634eec7c2b14610160578063715018a6146101b657806388be38ac146101cd5780638da5cb5b1461021c5780638f32d59b1461027357806390978d1b146102a25780639381a345146102f5578063bd1f4b5214610324578063f2fde38b1461037f575b600080fd5b3480156100cb57600080fd5b506100f8600480360360208110156100e257600080fd5b81019080803590602001909291905050506103d0565b005b34801561010657600080fd5b5061010f610408565b6040518082815260200191505060405180910390f35b34801561013157600080fd5b5061015e6004803603602081101561014857600080fd5b810190808035906020019092919050505061042f565b005b34801561016c57600080fd5b506101996004803603602081101561018357600080fd5b810190808035906020019092919050505061048c565b604051808381526020018281526020019250505060405180910390f35b3480156101c257600080fd5b506101cb6104da565b005b3480156101d957600080fd5b5061021a600480360360608110156101f057600080fd5b810190808035906020019092919080359060200190929190803590602001909291905050506105ac565b005b34801561022857600080fd5b5061023161068a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561027f57600080fd5b506102886106b3565b604051808215151515815260200191505060405180910390f35b3480156102ae57600080fd5b506102db600480360360208110156102c557600080fd5b810190808035906020019092919050505061070a565b604051808215151515815260200191505060405180910390f35b34801561030157600080fd5b5061030a61071c565b604051808215151515815260200191505060405180910390f35b34801561033057600080fd5b5061037d6004803603604081101561034757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061072f565b005b34801561038b57600080fd5b506103ce600480360360208110156103a257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610835565b005b6103d86106b3565b15156103e357600080fd5b600060149054906101000a900460ff1615156103fe57600080fd5b8060018190555050565b60008060149054906101000a900460ff161561042857600154905061042c565b4290505b90565b6104376106b3565b151561044257600080fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610488573d6000803e3d6000fd5b5050565b60008061049883610854565b15156104a357600080fd5b6002600084815260200190815260200160002060000154915060026000848152602001908152602001600020600101549050915091565b6104e26106b3565b15156104ed57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6105b46106b3565b15156105bf57600080fd5b6105db6103846105cd610408565b61087690919063ffffffff16565b82111515156105e957600080fd5b60026000848152602001908152602001600020600001548211151561060d57600080fd5b60408051908101604052808381526020018281525060026000858152602001908152602001600020600082015181600001556020820151816001015590505081837f7b68a704e7137c4430422c835b46aecc2dd2d5e3eb0ec8fd92785c9e97648bd9836040518082815260200191505060405180910390a3505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b600061071582610854565b9050919050565b600060149054906101000a900460ff1681565b6107376106b3565b151561074257600080fd5b60008290508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156107ea57600080fd5b505af11580156107fe573d6000803e3d6000fd5b505050506040513d602081101561081457600080fd5b8101908080519060200190929190505050151561083057600080fd5b505050565b61083d6106b3565b151561084857600080fd5b61085181610897565b50565b6000806002600084815260200190815260200160002060000154119050919050565b600080828401905083811015151561088d57600080fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156108d357600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505056fea165627a7a72305820a9ba8e87a0bbf2020c2890b1f24036037195122869bfe15eab173f327f37d5460029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : _isTest (bool): False
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000000
Swarm Source
bzzr://a9ba8e87a0bbf2020c2890b1f24036037195122869bfe15eab173f327f37d546
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.