Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Source Code
Overview
Max Total Supply
0
Holders
0
Transfers
-
0
Market
Onchain Market Cap
-
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 0 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
| # | Exchange | Pair | Price | 24H Volume | % Volume |
|---|
Contract Name:
LastHero
Compiler Version
v0.4.25+commit.59dbf8f1
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2018-11-30
*/
pragma solidity 0.4.25;
/**
* ETH CRYPTOCURRENCY DISTRIBUTION PROJECT
*
* Web - https://333eth.io
*
* Twitter - https://twitter.com/333eth_io
*
* Telegram_channel - https://t.me/Ethereum333
*
* EN Telegram_chat: https://t.me/Ethereum333_chat_en
*
* RU Telegram_chat: https://t.me/Ethereum333_chat_ru
*
* KOR Telegram_chat: https://t.me/Ethereum333_chat_kor
*
* Email: mailto:support(at sign)333eth.io
*
*
*
* When the timer reaches zero then latest bettor takes the bank. Each bet restart a timer again.
*
* Bet in 1 ETH - the timer turns on for 3 minutes 33 seconds.
*
* Bet 0.1ETH - the timer turns on for 6 minutes 33 seconds.
*
* Bet 0.01 ETH - the timer turns on for 9 minutes 33 seconds.
* You need to send such bet`s amounts. If more was sent, then contract will return the difference to the wallet. For example, sending 0.99 ETH system will perceive as a contribution to 0.1 ETH and difference 0.89
*
* The game does not have a fraudulent Ponzi scheme. No fraudulent referral programs.
*
* In the contract of the game realized the refusal of ownership. It is impossible to stop the flow of bets. Bet from smart contracts is prohibited.
*
* Eth distribution:
* 50% paid to the winner.
* 40% is transferred to the next level of the game with the same rules and so on.
* 10% commission (7.5% of them to shareholders, 2.5% of the administration).
*
* RECOMMENDED GAS LIMIT: 100000
*
* RECOMMENDED GAS PRICE: https://ethgasstation.info/
*/
library Zero {
function requireNotZero(address addr) internal pure {
require(addr != address(0), "require not zero address");
}
function requireNotZero(uint val) internal pure {
require(val != 0, "require not zero value");
}
function notZero(address addr) internal pure returns(bool) {
return !(addr == address(0));
}
function isZero(address addr) internal pure returns(bool) {
return addr == address(0);
}
function isZero(uint a) internal pure returns(bool) {
return a == 0;
}
function notZero(uint a) internal pure returns(bool) {
return a != 0;
}
}
library Percent {
// Solidity automatically throws when dividing by 0
struct percent {
uint num;
uint den;
}
// storage
function mul(percent storage p, uint a) internal view returns (uint) {
if (a == 0) {
return 0;
}
return a*p.num/p.den;
}
function div(percent storage p, uint a) internal view returns (uint) {
return a/p.num*p.den;
}
function sub(percent storage p, uint a) internal view returns (uint) {
uint b = mul(p, a);
if (b >= a) {
return 0;
}
return a - b;
}
function add(percent storage p, uint a) internal view returns (uint) {
return a + mul(p, a);
}
function toMemory(percent storage p) internal view returns (Percent.percent memory) {
return Percent.percent(p.num, p.den);
}
// memory
function mmul(percent memory p, uint a) internal pure returns (uint) {
if (a == 0) {
return 0;
}
return a*p.num/p.den;
}
function mdiv(percent memory p, uint a) internal pure returns (uint) {
return a/p.num*p.den;
}
function msub(percent memory p, uint a) internal pure returns (uint) {
uint b = mmul(p, a);
if (b >= a) {
return 0;
}
return a - b;
}
function madd(percent memory p, uint a) internal pure returns (uint) {
return a + mmul(p, a);
}
}
library Address {
function toAddress(bytes source) internal pure returns(address addr) {
// solium-disable security/no-inline-assembly
assembly { addr := mload(add(source,0x14)) }
return addr;
}
function isNotContract(address addr) internal view returns(bool) {
// solium-disable security/no-inline-assembly
uint length;
assembly { length := extcodesize(addr) }
return length == 0;
}
}
contract Accessibility {
address private owner;
modifier onlyOwner() {
require(msg.sender == owner, "access denied");
_;
}
constructor() public {
owner = msg.sender;
}
function disown() internal {
delete owner;
}
}
/**
* @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;
}
}
library Timer {
using SafeMath for uint;
struct timer {
uint duration;
uint startup;
}
function start(timer storage t, uint duration) internal {
t.startup = now;
t.duration = duration;
}
function timeLeft(timer storage t) internal view returns (uint) {
if (now >= t.startup.add(t.duration)) {
return 0;
}
return (t.startup+t.duration).sub(now);
}
}
library Bet {
struct bet {
address bettor;
uint amount;
uint excess;
uint duration;
}
function New(address bettor, uint value) internal pure returns(bet memory b ) {
(uint[3] memory vals, uint[3] memory durs) = bets();
if (value >= vals[0]) {
b.amount = vals[0];
b.duration = durs[0];
} else if (vals[1] <= value && value < vals[0]) {
b.amount = vals[1];
b.duration = durs[1];
} else if (vals[2] <= value && value < vals[1]) {
b.amount = vals[2];
b.duration = durs[2];
} else {
return b;
}
b.bettor = bettor;
b.excess = value - b.amount;
}
function bets() internal pure returns(uint[3] memory vals, uint[3] memory durs) {
(vals[0], vals[1], vals[2]) = (1 ether, 0.1 ether, 0.01 ether);
(durs[0], durs[1], durs[2]) = (3 minutes + 33 seconds, 6 minutes + 33 seconds, 9 minutes + 33 seconds);
}
function transferExcess(bet memory b) internal {
b.bettor.transfer(b.excess);
}
}
contract LastHero is Accessibility {
using Percent for Percent.percent;
using Timer for Timer.timer;
using Address for address;
using Bet for Bet.bet;
using Zero for *;
Percent.percent private m_bankPercent = Percent.percent(50,100);
Percent.percent private m_nextLevelPercent = Percent.percent(40,100);
Percent.percent private m_adminsPercent = Percent.percent(10,100);
uint public nextLevelBankAmount;
uint public bankAmount;
uint public level;
address public bettor;
address public adminsAddress;
Timer.timer private m_timer;
modifier notFromContract() {
require(msg.sender.isNotContract(), "only externally accounts");
_;
}
event LogSendExcessOfEther(address indexed addr, uint excess, uint when);
event LogNewWinner(address indexed addr, uint indexed level, uint amount, uint when);
event LogNewLevel(uint indexed level, uint bankAmount, uint when);
event LogNewBet(address indexed addr, uint indexed amount, uint duration, uint indexed level, uint when);
event LogDisown(uint when);
constructor() public {
level = 1;
emit LogNewLevel(level, address(this).balance, now);
adminsAddress = msg.sender;
m_timer.duration = uint(-1);
}
function() public payable {
doBet();
}
function doDisown() public onlyOwner {
disown();
emit LogDisown(now);
}
function setAdminsAddress(address addr) public onlyOwner {
addr.requireNotZero();
adminsAddress = addr;
}
function bankPercent() public view returns(uint numerator, uint denominator) {
(numerator, denominator) = (m_bankPercent.num, m_bankPercent.den);
}
function nextLevelPercent() public view returns(uint numerator, uint denominator) {
(numerator, denominator) = (m_nextLevelPercent.num, m_nextLevelPercent.den);
}
function adminsPercent() public view returns(uint numerator, uint denominator) {
(numerator, denominator) = (m_adminsPercent.num, m_adminsPercent.den);
}
function timeLeft() public view returns(uint duration) {
duration = m_timer.timeLeft();
}
function timerInfo() public view returns(uint startup, uint duration) {
(startup, duration) = (m_timer.startup, m_timer.duration);
}
function durationForBetAmount(uint betAmount) public view returns(uint duration) {
Bet.bet memory bet = Bet.New(msg.sender, betAmount);
duration = bet.duration;
}
function availableBets() public view returns(uint[3] memory vals, uint[3] memory durs) {
(vals, durs) = Bet.bets();
}
function doBet() public payable notFromContract {
// send ether to bettor if needed
if (m_timer.timeLeft().isZero()) {
bettor.transfer(bankAmount);
emit LogNewWinner(bettor, level, bankAmount, now);
bankAmount = nextLevelBankAmount;
nextLevelBankAmount = 0;
level++;
emit LogNewLevel(level, bankAmount, now);
}
Bet.bet memory bet = Bet.New(msg.sender, msg.value);
bet.amount.requireNotZero();
// send bet`s excess of ether if needed
if (bet.excess.notZero()) {
bet.transferExcess();
emit LogSendExcessOfEther(bet.bettor, bet.excess, now);
}
// commision
nextLevelBankAmount += m_nextLevelPercent.mul(bet.amount);
bankAmount += m_bankPercent.mul(bet.amount);
adminsAddress.send(m_adminsPercent.mul(bet.amount));
m_timer.start(bet.duration);
bettor = bet.bettor;
emit LogNewBet(bet.bettor, bet.amount, bet.duration, level, now);
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":true,"inputs":[],"name":"bankPercent","outputs":[{"name":"numerator","type":"uint256"},{"name":"denominator","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"timeLeft","outputs":[{"name":"duration","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"doBet","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"timerInfo","outputs":[{"name":"startup","type":"uint256"},{"name":"duration","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"availableBets","outputs":[{"name":"vals","type":"uint256[3]"},{"name":"durs","type":"uint256[3]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"adminsAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"level","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"nextLevelPercent","outputs":[{"name":"numerator","type":"uint256"},{"name":"denominator","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"nextLevelBankAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"adminsPercent","outputs":[{"name":"numerator","type":"uint256"},{"name":"denominator","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"}],"name":"setAdminsAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"bettor","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"bankAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"betAmount","type":"uint256"}],"name":"durationForBetAmount","outputs":[{"name":"duration","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"doDisown","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"addr","type":"address"},{"indexed":false,"name":"excess","type":"uint256"},{"indexed":false,"name":"when","type":"uint256"}],"name":"LogSendExcessOfEther","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"addr","type":"address"},{"indexed":true,"name":"level","type":"uint256"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"when","type":"uint256"}],"name":"LogNewWinner","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"level","type":"uint256"},{"indexed":false,"name":"bankAmount","type":"uint256"},{"indexed":false,"name":"when","type":"uint256"}],"name":"LogNewLevel","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"addr","type":"address"},{"indexed":true,"name":"amount","type":"uint256"},{"indexed":false,"name":"duration","type":"uint256"},{"indexed":true,"name":"level","type":"uint256"},{"indexed":false,"name":"when","type":"uint256"}],"name":"LogNewBet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"when","type":"uint256"}],"name":"LogDisown","type":"event"}]Contract Creation Code
60326080819052606460a08190526001919091556002819055602860c081905260e08290526003556004819055610140604052600a61010081905261012082905260055560065534801561005257600080fd5b5060008054600160a060020a0319163317905560016009819055604080513031815242602082015281517f8e341c1c92d534c5f272ffff664a270a180cc332c0389592cfcbab9ceca1e4a5929181900390910190a2600b8054600160a060020a03191633179055600019600c55610b16806100ce6000396000f3006080604052600436106100da5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630dc2649281146100e45780631300a6d11461011257806313fff718146100da5780632150097f146101395780632c6127c71461014e57806362d2c555146101c75780636fd5ae15146101f857806387ba67be1461020d5780639059b7b61461022257806395a23c3a14610237578063984d4a931461024c578063afe9d22f1461026d578063b42a275e14610282578063badf3de914610297578063fc7c41af146102af575b6100e26102c4565b005b3480156100f057600080fd5b506100f96105ba565b6040805192835260208301919091528051918290030190f35b34801561011e57600080fd5b506101276105c4565b60408051918252519081900360200190f35b34801561014557600080fd5b506100f96105d5565b34801561015a57600080fd5b506101636105df565b6040518083606080838360005b83811015610188578181015183820152602001610170565b5050505090500182600360200280838360005b838110156101b357818101518382015260200161019b565b505050509050019250505060405180910390f35b3480156101d357600080fd5b506101dc610600565b60408051600160a060020a039092168252519081900360200190f35b34801561020457600080fd5b5061012761060f565b34801561021957600080fd5b506100f9610615565b34801561022e57600080fd5b5061012761061f565b34801561024357600080fd5b506100f9610625565b34801561025857600080fd5b506100e2600160a060020a036004351661062f565b34801561027957600080fd5b506101dc6106d2565b34801561028e57600080fd5b506101276106e1565b3480156102a357600080fd5b506101276004356106e7565b3480156102bb57600080fd5b506100e2610706565b6102cc610a99565b6102d5336107a5565b151561032b576040805160e560020a62461bcd02815260206004820152601860248201527f6f6e6c792065787465726e616c6c79206163636f756e74730000000000000000604482015290519081900360640190fd5b61033d610338600c6107aa565b6107f2565b1561042357600a54600854604051600160a060020a039092169181156108fc0291906000818181858888f1935050505015801561037e573d6000803e3d6000fd5b50600954600a54600854604080519182524260208301528051600160a060020a03909316927f35cffdaee15eab992eef99bafcff392170910bfa84987a4ea6100b40a7f83aa39281900390910190a36007805460088190556000909155600980546001019081905560408051928352426020840152805191927f8e341c1c92d534c5f272ffff664a270a180cc332c0389592cfcbab9ceca1e4a5929081900390910190a25b61042d33346107f6565b905061043c81602001516108bc565b6104498160400151610916565b156104a4576104578161091b565b805160408083015181519081524260208201528151600160a060020a03909316927fb60e708352ee445685890105302f33d9455095a8800cc9f08462222baeb9f86c929181900390910190a25b60208101516104bb9060039063ffffffff61095c16565b60078054909101905560208101516104db9060019063ffffffff61095c16565b600880549091019055600b546020820151600160a060020a03909116906108fc9061050e9060059063ffffffff61095c16565b6040518115909202916000818181858888f1505050606083015161053c9250600c915063ffffffff61098916565b8051600a805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039092169182179055600954602080840151606085015160408051918252429382019390935282519394919391927f96eb29cbf6c6d458440df9b910e3e403851ccda95d8a5f887b1f08b15157694792918290030190a450565b6001546002549091565b60006105d0600c6107aa565b905090565b600d54600c549091565b6105e7610acb565b6105ef610acb565b6105f7610993565b90939092509050565b600b54600160a060020a031681565b60095481565b6003546004549091565b60075481565b6005546006549091565b600054600160a060020a03163314610691576040805160e560020a62461bcd02815260206004820152600d60248201527f6163636573732064656e69656400000000000000000000000000000000000000604482015290519081900360640190fd5b6106a381600160a060020a03166109ea565b600b805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600a54600160a060020a031681565b60085481565b60006106f1610a99565b6106fb33846107f6565b606001519392505050565b600054600160a060020a03163314610768576040805160e560020a62461bcd02815260206004820152600d60248201527f6163636573732064656e69656400000000000000000000000000000000000000604482015290519081900360640190fd5b610770610a4a565b6040805142815290517f5189687a7ec9d4aebe2f548f952ffbbad19e4cd545c4a05b5e2369cd272dd5519181900360200190a1565b3b1590565b805460018201546000916107c4919063ffffffff610a6916565b42106107d2575060006107ed565b815460018301546107ea91014263ffffffff610a8216565b90505b919050565b1590565b6107fe610a99565b610806610acb565b61080e610acb565b610816610993565b81519193509150841061083d57815160208401528060005b6020020151606084015261089b565b602082015184108015906108515750815184105b15610868576020808301519084015280600161082e565b6040820151841080159061087f5750602082015184105b15610896576040820151602084015280600261082e565b6108b4565b600160a060020a03851683526020830151840360408401525b505092915050565b801515610913576040805160e560020a62461bcd02815260206004820152601660248201527f72657175697265206e6f74207a65726f2076616c756500000000000000000000604482015290519081900360640190fd5b50565b151590565b80516040808301519051600160a060020a039092169181156108fc0291906000818181858888f19350505050158015610958573d6000803e3d6000fd5b5050565b600081151561096d57506000610983565b60018301548354830281151561097f57fe5b0490505b92915050565b4260018301559055565b61099b610acb565b6109a3610acb565b662386f26fc1000060408084019190915267016345785d8a0000602080850191909152670de0b6b3a7640000845261023d918301919091526101899082015260d581529091565b600160a060020a0381161515610913576040805160e560020a62461bcd02815260206004820152601860248201527f72657175697265206e6f74207a65726f20616464726573730000000000000000604482015290519081900360640190fd5b6000805473ffffffffffffffffffffffffffffffffffffffff19169055565b600082820183811015610a7b57600080fd5b9392505050565b60008083831115610a9257600080fd5b5050900390565b6080604051908101604052806000600160a060020a031681526020016000815260200160008152602001600081525090565b60606040519081016040528060039060208202803883395091929150505600a165627a7a72305820412745eecfbc5fac5341bfff00826f6ef041063035f2f49d4587f55e52600c630029
Deployed Bytecode
0x6080604052600436106100da5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630dc2649281146100e45780631300a6d11461011257806313fff718146100da5780632150097f146101395780632c6127c71461014e57806362d2c555146101c75780636fd5ae15146101f857806387ba67be1461020d5780639059b7b61461022257806395a23c3a14610237578063984d4a931461024c578063afe9d22f1461026d578063b42a275e14610282578063badf3de914610297578063fc7c41af146102af575b6100e26102c4565b005b3480156100f057600080fd5b506100f96105ba565b6040805192835260208301919091528051918290030190f35b34801561011e57600080fd5b506101276105c4565b60408051918252519081900360200190f35b34801561014557600080fd5b506100f96105d5565b34801561015a57600080fd5b506101636105df565b6040518083606080838360005b83811015610188578181015183820152602001610170565b5050505090500182600360200280838360005b838110156101b357818101518382015260200161019b565b505050509050019250505060405180910390f35b3480156101d357600080fd5b506101dc610600565b60408051600160a060020a039092168252519081900360200190f35b34801561020457600080fd5b5061012761060f565b34801561021957600080fd5b506100f9610615565b34801561022e57600080fd5b5061012761061f565b34801561024357600080fd5b506100f9610625565b34801561025857600080fd5b506100e2600160a060020a036004351661062f565b34801561027957600080fd5b506101dc6106d2565b34801561028e57600080fd5b506101276106e1565b3480156102a357600080fd5b506101276004356106e7565b3480156102bb57600080fd5b506100e2610706565b6102cc610a99565b6102d5336107a5565b151561032b576040805160e560020a62461bcd02815260206004820152601860248201527f6f6e6c792065787465726e616c6c79206163636f756e74730000000000000000604482015290519081900360640190fd5b61033d610338600c6107aa565b6107f2565b1561042357600a54600854604051600160a060020a039092169181156108fc0291906000818181858888f1935050505015801561037e573d6000803e3d6000fd5b50600954600a54600854604080519182524260208301528051600160a060020a03909316927f35cffdaee15eab992eef99bafcff392170910bfa84987a4ea6100b40a7f83aa39281900390910190a36007805460088190556000909155600980546001019081905560408051928352426020840152805191927f8e341c1c92d534c5f272ffff664a270a180cc332c0389592cfcbab9ceca1e4a5929081900390910190a25b61042d33346107f6565b905061043c81602001516108bc565b6104498160400151610916565b156104a4576104578161091b565b805160408083015181519081524260208201528151600160a060020a03909316927fb60e708352ee445685890105302f33d9455095a8800cc9f08462222baeb9f86c929181900390910190a25b60208101516104bb9060039063ffffffff61095c16565b60078054909101905560208101516104db9060019063ffffffff61095c16565b600880549091019055600b546020820151600160a060020a03909116906108fc9061050e9060059063ffffffff61095c16565b6040518115909202916000818181858888f1505050606083015161053c9250600c915063ffffffff61098916565b8051600a805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039092169182179055600954602080840151606085015160408051918252429382019390935282519394919391927f96eb29cbf6c6d458440df9b910e3e403851ccda95d8a5f887b1f08b15157694792918290030190a450565b6001546002549091565b60006105d0600c6107aa565b905090565b600d54600c549091565b6105e7610acb565b6105ef610acb565b6105f7610993565b90939092509050565b600b54600160a060020a031681565b60095481565b6003546004549091565b60075481565b6005546006549091565b600054600160a060020a03163314610691576040805160e560020a62461bcd02815260206004820152600d60248201527f6163636573732064656e69656400000000000000000000000000000000000000604482015290519081900360640190fd5b6106a381600160a060020a03166109ea565b600b805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600a54600160a060020a031681565b60085481565b60006106f1610a99565b6106fb33846107f6565b606001519392505050565b600054600160a060020a03163314610768576040805160e560020a62461bcd02815260206004820152600d60248201527f6163636573732064656e69656400000000000000000000000000000000000000604482015290519081900360640190fd5b610770610a4a565b6040805142815290517f5189687a7ec9d4aebe2f548f952ffbbad19e4cd545c4a05b5e2369cd272dd5519181900360200190a1565b3b1590565b805460018201546000916107c4919063ffffffff610a6916565b42106107d2575060006107ed565b815460018301546107ea91014263ffffffff610a8216565b90505b919050565b1590565b6107fe610a99565b610806610acb565b61080e610acb565b610816610993565b81519193509150841061083d57815160208401528060005b6020020151606084015261089b565b602082015184108015906108515750815184105b15610868576020808301519084015280600161082e565b6040820151841080159061087f5750602082015184105b15610896576040820151602084015280600261082e565b6108b4565b600160a060020a03851683526020830151840360408401525b505092915050565b801515610913576040805160e560020a62461bcd02815260206004820152601660248201527f72657175697265206e6f74207a65726f2076616c756500000000000000000000604482015290519081900360640190fd5b50565b151590565b80516040808301519051600160a060020a039092169181156108fc0291906000818181858888f19350505050158015610958573d6000803e3d6000fd5b5050565b600081151561096d57506000610983565b60018301548354830281151561097f57fe5b0490505b92915050565b4260018301559055565b61099b610acb565b6109a3610acb565b662386f26fc1000060408084019190915267016345785d8a0000602080850191909152670de0b6b3a7640000845261023d918301919091526101899082015260d581529091565b600160a060020a0381161515610913576040805160e560020a62461bcd02815260206004820152601860248201527f72657175697265206e6f74207a65726f20616464726573730000000000000000604482015290519081900360640190fd5b6000805473ffffffffffffffffffffffffffffffffffffffff19169055565b600082820183811015610a7b57600080fd5b9392505050565b60008083831115610a9257600080fd5b5050900390565b6080604051908101604052806000600160a060020a031681526020016000815260200160008152602001600081525090565b60606040519081016040528060039060208202803883395091929150505600a165627a7a72305820412745eecfbc5fac5341bfff00826f6ef041063035f2f49d4587f55e52600c630029
Swarm Source
bzzr://412745eecfbc5fac5341bfff00826f6ef041063035f2f49d4587f55e52600c63
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.
Add Token to MetaMask (Web3)