Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
StablePriceOracle
Compiler Version
v0.5.7+commit.6da8b019
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2019-04-30 */ // File: contracts/PriceOracle.sol pragma solidity >=0.4.24; interface PriceOracle { /** * @dev Returns the price to register or renew a name. * @param name The name being registered or renewed. * @param expires When the name presently expires (0 if this is a new registration). * @param duration How long the name is being registered or extended for, in seconds. * @return The price of this renewal or registration, in wei. */ function price(string calldata name, uint expires, uint duration) external view returns(uint); } // File: contracts/SafeMath.sol pragma solidity >=0.4.24; /** * @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; } } // File: contracts/StringUtils.sol pragma solidity >=0.4.24; library StringUtils { /** * @dev Returns the length of a given string * * @param s The string to measure the length of * @return The length of the input string */ function strlen(string memory s) internal pure returns (uint) { uint len; uint i = 0; uint bytelength = bytes(s).length; for(len = 0; i < bytelength; len++) { byte b = bytes(s)[i]; if(b < 0x80) { i += 1; } else if (b < 0xE0) { i += 2; } else if (b < 0xF0) { i += 3; } else if (b < 0xF8) { i += 4; } else if (b < 0xFC) { i += 5; } else { i += 6; } } return len; } } // File: openzeppelin-solidity/contracts/ownership/Ownable.sol pragma solidity ^0.5.0; /** * @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/StablePriceOracle.sol pragma solidity ^0.5.0; interface DSValue { function read() external view returns (bytes32); } // StablePriceOracle sets a price in USD, based on an oracle. contract StablePriceOracle is Ownable, PriceOracle { using SafeMath for *; using StringUtils for *; // Oracle address DSValue usdOracle; // Rent in attodollars (1e-18) per second uint[] public rentPrices; event OracleChanged(address oracle); event RentPriceChanged(uint[] prices); constructor(DSValue _usdOracle, uint[] memory _rentPrices) public { setOracle(_usdOracle); setPrices(_rentPrices); } /** * @dev Sets the price oracle address * @param _usdOracle The address of the price oracle to use. */ function setOracle(DSValue _usdOracle) public onlyOwner { usdOracle = _usdOracle; emit OracleChanged(address(_usdOracle)); } /** * @dev Sets rent prices. * @param _rentPrices The price array. Each element corresponds to a specific * name length; names longer than the length of the array * default to the price of the last element. */ function setPrices(uint[] memory _rentPrices) public onlyOwner { rentPrices = _rentPrices; emit RentPriceChanged(_rentPrices); } /** * @dev Returns the price to register or renew a name. * @param name The name being registered or renewed. * @param duration How long the name is being registered or extended for, in seconds. * @return The price of this renewal or registration, in wei. */ function price(string calldata name, uint /*expires*/, uint duration) view external returns(uint) { uint len = name.strlen(); if(len > rentPrices.length) { len = rentPrices.length; } require(len > 0); uint priceUSD = rentPrices[len - 1].mul(duration); // Price of one ether in attodollars uint ethPrice = uint(usdOracle.read()); // priceUSD and ethPrice are both fixed-point values with 18dp, so we // multiply the numerator by 1e18 before dividing. return priceUSD.mul(1e18).div(ethPrice); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"rentPrices","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"name","type":"string"},{"name":"","type":"uint256"},{"name":"duration","type":"uint256"}],"name":"price","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_rentPrices","type":"uint256[]"}],"name":"setPrices","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_usdOracle","type":"address"}],"name":"setOracle","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":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_usdOracle","type":"address"},{"name":"_rentPrices","type":"uint256[]"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"oracle","type":"address"}],"name":"OracleChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"prices","type":"uint256[]"}],"name":"RentPriceChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]
Contract Creation Code
60806040523480156200001157600080fd5b5060405162000ed438038062000ed4833981018060405260408110156200003757600080fd5b810190808051906020019092919080516401000000008111156200005a57600080fd5b828101905060208101848111156200007157600080fd5b81518560208202830111640100000000821117156200008f57600080fd5b5050929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a362000164826200017d60201b60201c565b62000175816200023e60201b60201c565b5050620003bf565b6200018d620002ee60201b60201c565b6200019757600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f0e05ae75e8b926552cf6fcd744d19f422561e3ced1e426868730852702dbe41881604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b6200024e620002ee60201b60201c565b6200025857600080fd5b80600290805190602001906200027092919062000345565b507f73422d94aedd596c2d4d39f27a01033adc390a9054efaf259afefd95ef7331df816040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015620002d8578082015181840152602081019050620002bb565b505050509050019250505060405180910390a150565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b82805482825590600052602060002090810192821562000384579160200282015b828111156200038357825182559160200191906001019062000366565b5b50905062000393919062000397565b5090565b620003bc91905b80821115620003b85760008160009055506001016200039e565b5090565b90565b610b0580620003cf6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80637adbf9731161005b5780637adbf973146102325780638da5cb5b146102765780638f32d59b146102c0578063f2fde38b146102e257610088565b806306d5d0b61461008d57806350e9a715146100cf578063715018a61461017057806379cf92d31461017a575b600080fd5b6100b9600480360360208110156100a357600080fd5b8101908080359060200190929190505050610326565b6040518082815260200191505060405180910390f35b61015a600480360360608110156100e557600080fd5b810190808035906020019064010000000081111561010257600080fd5b82018360208201111561011457600080fd5b8035906020019184600183028401116401000000008311171561013657600080fd5b90919293919293908035906020019092919080359060200190929190505050610347565b6040518082815260200191505060405180910390f35b6101786104d1565b005b6102306004803603602081101561019057600080fd5b81019080803590602001906401000000008111156101ad57600080fd5b8201836020820111156101bf57600080fd5b803590602001918460208302840111640100000000831117156101e157600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192905050506105a1565b005b6102746004803603602081101561024857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610644565b005b61027e6106fc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102c8610725565b604051808215151515815260200191505060405180910390f35b610324600480360360208110156102f857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061077c565b005b6002818154811061033357fe5b906000526020600020016000915090505481565b60008061039786868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610799565b90506002805490508111156103af5760028054905090505b600081116103bc57600080fd5b60006103eb84600260018503815481106103d257fe5b906000526020600020015461090f90919063ffffffff16565b90506000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166357de26a46040518163ffffffff1660e01b815260040160206040518083038186803b15801561045757600080fd5b505afa15801561046b573d6000803e3d6000fd5b505050506040513d602081101561048157600080fd5b810190808051906020019092919050505060001c90506104c4816104b6670de0b6b3a76400008561090f90919063ffffffff16565b61094990919063ffffffff16565b9350505050949350505050565b6104d9610725565b6104e257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6105a9610725565b6105b257600080fd5b80600290805190602001906105c8929190610a67565b507f73422d94aedd596c2d4d39f27a01033adc390a9054efaf259afefd95ef7331df816040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561062e578082015181840152602081019050610613565b505050509050019250505060405180910390a150565b61064c610725565b61065557600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f0e05ae75e8b926552cf6fcd744d19f422561e3ced1e426868730852702dbe41881604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b610784610725565b61078d57600080fd5b6107968161096f565b50565b6000806000809050600084519050600092505b808210156109045760008583815181106107c257fe5b602001015160f81c60f81b9050608060f81b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161015610808576001830192506108f6565b60e060f81b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161015610841576002830192506108f5565b60f060f81b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916101561087a576003830192506108f4565b60f8801b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191610156108b2576004830192506108f3565b60fc60f81b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191610156108eb576005830192506108f2565b6006830192505b5b5b5b5b5082806001019350506107ac565b829350505050919050565b6000808314156109225760009050610943565b600082840290508284828161093357fe5b041461093e57600080fd5b809150505b92915050565b600080821161095757600080fd5b600082848161096257fe5b0490508091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156109a957600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b828054828255906000526020600020908101928215610aa3579160200282015b82811115610aa2578251825591602001919060010190610a87565b5b509050610ab09190610ab4565b5090565b610ad691905b80821115610ad2576000816000905550600101610aba565b5090565b9056fea165627a7a72305820a24b96a32610bcf56d1a4eb9d9e90d7e91f815bb29597ef504a3735c896fcd230029000000000000000000000000729d19f657bd0614b4985cf1d82531c67569197b000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001275209157690000000000000000000000000000000000000000000000000000049d482455da00000000000000000000000000000000000000000000000000000024ea4122af
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100885760003560e01c80637adbf9731161005b5780637adbf973146102325780638da5cb5b146102765780638f32d59b146102c0578063f2fde38b146102e257610088565b806306d5d0b61461008d57806350e9a715146100cf578063715018a61461017057806379cf92d31461017a575b600080fd5b6100b9600480360360208110156100a357600080fd5b8101908080359060200190929190505050610326565b6040518082815260200191505060405180910390f35b61015a600480360360608110156100e557600080fd5b810190808035906020019064010000000081111561010257600080fd5b82018360208201111561011457600080fd5b8035906020019184600183028401116401000000008311171561013657600080fd5b90919293919293908035906020019092919080359060200190929190505050610347565b6040518082815260200191505060405180910390f35b6101786104d1565b005b6102306004803603602081101561019057600080fd5b81019080803590602001906401000000008111156101ad57600080fd5b8201836020820111156101bf57600080fd5b803590602001918460208302840111640100000000831117156101e157600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192905050506105a1565b005b6102746004803603602081101561024857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610644565b005b61027e6106fc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102c8610725565b604051808215151515815260200191505060405180910390f35b610324600480360360208110156102f857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061077c565b005b6002818154811061033357fe5b906000526020600020016000915090505481565b60008061039786868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610799565b90506002805490508111156103af5760028054905090505b600081116103bc57600080fd5b60006103eb84600260018503815481106103d257fe5b906000526020600020015461090f90919063ffffffff16565b90506000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166357de26a46040518163ffffffff1660e01b815260040160206040518083038186803b15801561045757600080fd5b505afa15801561046b573d6000803e3d6000fd5b505050506040513d602081101561048157600080fd5b810190808051906020019092919050505060001c90506104c4816104b6670de0b6b3a76400008561090f90919063ffffffff16565b61094990919063ffffffff16565b9350505050949350505050565b6104d9610725565b6104e257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6105a9610725565b6105b257600080fd5b80600290805190602001906105c8929190610a67565b507f73422d94aedd596c2d4d39f27a01033adc390a9054efaf259afefd95ef7331df816040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561062e578082015181840152602081019050610613565b505050509050019250505060405180910390a150565b61064c610725565b61065557600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f0e05ae75e8b926552cf6fcd744d19f422561e3ced1e426868730852702dbe41881604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b610784610725565b61078d57600080fd5b6107968161096f565b50565b6000806000809050600084519050600092505b808210156109045760008583815181106107c257fe5b602001015160f81c60f81b9050608060f81b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161015610808576001830192506108f6565b60e060f81b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161015610841576002830192506108f5565b60f060f81b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916101561087a576003830192506108f4565b60f8801b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191610156108b2576004830192506108f3565b60fc60f81b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191610156108eb576005830192506108f2565b6006830192505b5b5b5b5b5082806001019350506107ac565b829350505050919050565b6000808314156109225760009050610943565b600082840290508284828161093357fe5b041461093e57600080fd5b809150505b92915050565b600080821161095757600080fd5b600082848161096257fe5b0490508091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156109a957600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b828054828255906000526020600020908101928215610aa3579160200282015b82811115610aa2578251825591602001919060010190610a87565b5b509050610ab09190610ab4565b5090565b610ad691905b80821115610ad2576000816000905550600101610aba565b5090565b9056fea165627a7a72305820a24b96a32610bcf56d1a4eb9d9e90d7e91f815bb29597ef504a3735c896fcd230029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000729d19f657bd0614b4985cf1d82531c67569197b000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001275209157690000000000000000000000000000000000000000000000000000049d482455da00000000000000000000000000000000000000000000000000000024ea4122af
-----Decoded View---------------
Arg [0] : _usdOracle (address): 0x729D19f657BD0614b4985Cf1D82531c67569197B
Arg [1] : _rentPrices (uint256[]): 0,0,20294266869609,5073566717402,158548959919
-----Encoded View---------------
8 Constructor Arguments found :
Arg [0] : 000000000000000000000000729d19f657bd0614b4985cf1d82531c67569197b
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [5] : 0000000000000000000000000000000000000000000000000000127520915769
Arg [6] : 0000000000000000000000000000000000000000000000000000049d482455da
Arg [7] : 00000000000000000000000000000000000000000000000000000024ea4122af
Swarm Source
bzzr://a24b96a32610bcf56d1a4eb9d9e90d7e91f815bb29597ef504a3735c896fcd23
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 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.