ERC-20
Overview
Max Total Supply
0 FTN
Holders
1,084
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
0 FTNValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
FountainToken
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-10-26 */ pragma solidity ^0.4.25; library SafeMath { function mul (uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; assert(c / a == b); return c; } function div (uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } function sub (uint256 a, uint256 b) internal pure returns (uint256) { assert(b <= a); return a - b; } function add (uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; assert(c >= a); return c; } } contract ERCBasic { event Transfer(address indexed from, address indexed to, uint256 value); function totalSupply () public view returns (uint256); function balanceOf (address who) public view returns (uint256); function transfer (address to, uint256 value) public returns (bool); } contract ERC is ERCBasic { event Approval(address indexed owner, address indexed spender, uint256 value); function transferFrom (address from, address to, uint256 value) public returns (bool); function allowance (address owner, address spender) public view returns (uint256); function approve (address spender, uint256 value) public returns (bool); } contract Ownable { event OwnershipTransferred(address indexed oldone, address indexed newone); event FoundationOwnershipTransferred(address indexed oldFoundationOwner, address indexed newFoundationOwner); address internal owner; address internal foundationOwner; constructor () public { owner = msg.sender; foundationOwner = owner; } modifier onlyOwner () { require(msg.sender == owner); _; } modifier hasMintability () { require(msg.sender == owner || msg.sender == foundationOwner); _; } function transferOwnership (address newOwner) public returns (bool); function setFountainFoundationOwner (address foundation) public returns (bool); } contract Pausable is Ownable { event ContractPause(); event ContractResume(); event ContractPauseSchedule(uint256 from, uint256 to); uint256 internal pauseFrom; uint256 internal pauseTo; modifier whenRunning () { require(now < pauseFrom || now > pauseTo); _; } modifier whenPaused () { require(now >= pauseFrom && now <= pauseTo); _; } function pause () public onlyOwner { pauseFrom = now - 1; pauseTo = now + 30000 days; emit ContractPause(); } function pause (uint256 from, uint256 to) public onlyOwner { require(to > from); pauseFrom = from; pauseTo = to; emit ContractPauseSchedule(from, to); } function resume () public onlyOwner { pauseFrom = now - 2; pauseTo = now - 1; emit ContractResume(); } } contract TokenForge is Ownable { event ForgeStart(); event ForgeStop(); bool public forge_running = true; modifier canForge () { require(forge_running); _; } modifier cannotForge () { require(!forge_running); _; } function startForge () public onlyOwner cannotForge returns (bool) { forge_running = true; emit ForgeStart(); return true; } function stopForge () public onlyOwner canForge returns (bool) { forge_running = false; emit ForgeStop(); return true; } } contract CappedToken is Ownable { using SafeMath for uint256; uint256 public token_cap; uint256 public token_created; uint256 public token_foundation_cap; uint256 public token_foundation_created; constructor (uint256 _cap, uint256 _foundationCap) public { token_cap = _cap; token_foundation_cap = _foundationCap; } function changeCap (uint256 _cap) public onlyOwner returns (bool) { if (_cap < token_created && _cap > 0) return false; token_cap = _cap; return true; } function canMint (uint256 amount) public view returns (bool) { return (token_cap == 0) || (token_created.add(amount) <= token_cap); } function canMintFoundation(uint256 amount) internal view returns(bool) { return(token_foundation_created.add(amount) <= token_foundation_cap); } } contract BasicToken is ERCBasic, Pausable { using SafeMath for uint256; mapping(address => uint256) public wallets; modifier canTransfer (address _from, address _to, uint256 amount) { require((_from != address(0)) && (_to != address(0))); require(_from != _to); require(amount > 0); _; } function balanceOf (address user) public view returns (uint256) { return wallets[user]; } } contract DelegatableToken is ERC, BasicToken { using SafeMath for uint256; mapping(address => mapping(address => uint256)) public warrants; function allowance (address owner, address delegator) public view returns (uint256) { return warrants[owner][delegator]; } function approve (address delegator, uint256 value) public whenRunning returns (bool) { if (delegator == msg.sender) return true; warrants[msg.sender][delegator] = value; emit Approval(msg.sender, delegator, value); return true; } function increaseApproval (address delegator, uint256 delta) public whenRunning returns (bool) { if (delegator == msg.sender) return true; uint256 value = warrants[msg.sender][delegator].add(delta); warrants[msg.sender][delegator] = value; emit Approval(msg.sender, delegator, value); return true; } function decreaseApproval (address delegator, uint256 delta) public whenRunning returns (bool) { if (delegator == msg.sender) return true; uint256 value = warrants[msg.sender][delegator]; if (value < delta) { value = 0; } else { value = value.sub(delta); } warrants[msg.sender][delegator] = value; emit Approval(msg.sender, delegator, value); return true; } } contract LockableProtocol is BasicToken { function invest (address investor, uint256 amount) public returns (bool); function getInvestedToken (address investor) public view returns (uint256); function getLockedToken (address investor) public view returns (uint256); function availableWallet (address user) public view returns (uint256) { return wallets[user].sub(getLockedToken(user)); } } contract MintAndBurnToken is TokenForge, CappedToken, LockableProtocol { using SafeMath for uint256; event Mint(address indexed user, uint256 amount); event Burn(address indexed user, uint256 amount); constructor (uint256 _initial, uint256 _cap, uint256 _fountainCap) public CappedToken(_cap, _fountainCap) { token_created = _initial; wallets[msg.sender] = _initial; emit Mint(msg.sender, _initial); emit Transfer(address(0), msg.sender, _initial); } function totalSupply () public view returns (uint256) { return token_created; } function totalFountainSupply() public view returns(uint256) { return token_foundation_created; } function mint (address target, uint256 amount) public hasMintability whenRunning canForge returns (bool) { require(target != owner && target != foundationOwner); // Owner和FoundationOwner不能成为mint的对象 require(canMint(amount)); if (msg.sender == foundationOwner) { require(canMintFoundation(amount)); token_foundation_created = token_foundation_created.add(amount); } token_created = token_created.add(amount); wallets[target] = wallets[target].add(amount); emit Mint(target, amount); emit Transfer(address(0), target, amount); return true; } function burn (uint256 amount) public whenRunning canForge returns (bool) { uint256 balance = availableWallet(msg.sender); require(amount <= balance); token_created = token_created.sub(amount); wallets[msg.sender] -= amount; emit Burn(msg.sender, amount); emit Transfer(msg.sender, address(0), amount); return true; } } contract LockableToken is MintAndBurnToken, DelegatableToken { using SafeMath for uint256; struct LockBin { uint256 start; uint256 finish; uint256 duration; uint256 amount; } event InvestStart(); event InvestStop(); event NewInvest(uint256 release_start, uint256 release_duration); uint256 public releaseStart; uint256 public releaseDuration; bool public forceStopInvest; mapping(address => mapping(uint => LockBin)) public lockbins; modifier canInvest () { require(!forceStopInvest); _; } constructor (uint256 _initial, uint256 _cap, uint256 _fountainCap) public MintAndBurnToken(_initial, _cap, _fountainCap) { forceStopInvest = true; } function pauseInvest () public onlyOwner whenRunning returns (bool) { require(!forceStopInvest); forceStopInvest = true; emit InvestStop(); return true; } function resumeInvest () public onlyOwner whenRunning returns (bool) { require(forceStopInvest); forceStopInvest = false; emit InvestStart(); return true; } function setInvest (uint256 release_start, uint256 release_duration) public onlyOwner whenRunning returns (bool) { releaseStart = release_start; releaseDuration = release_duration; forceStopInvest = false; emit NewInvest(release_start, release_duration); return true; } function invest (address investor, uint256 amount) public onlyOwner whenRunning canInvest returns (bool) { require(investor != address(0)); require(investor != owner); require(investor != foundationOwner); require(amount > 0); require(canMint(amount)); mapping(uint => LockBin) locks = lockbins[investor]; LockBin storage info = locks[0]; uint index = info.amount + 1; locks[index] = LockBin({ start: releaseStart, finish: releaseStart + releaseDuration, duration: releaseDuration / (1 days), amount: amount }); info.amount = index; token_created = token_created.add(amount); wallets[investor] = wallets[investor].add(amount); emit Mint(investor, amount); emit Transfer(address(0), investor, amount); return true; } function batchInvest (address[] investors, uint256 amount) public onlyOwner whenRunning canInvest returns (bool) { require(amount > 0); uint investorsLength = investors.length; uint investorsCount = 0; uint i; address r; for (i = 0; i < investorsLength; i ++) { r = investors[i]; if (r == address(0) || r == owner || r == foundationOwner) continue; investorsCount ++; } require(investorsCount > 0); uint256 totalAmount = amount.mul(uint256(investorsCount)); require(canMint(totalAmount)); token_created = token_created.add(totalAmount); for (i = 0; i < investorsLength; i ++) { r = investors[i]; if (r == address(0) || r == owner || r == foundationOwner) continue; mapping(uint => LockBin) locks = lockbins[r]; LockBin storage info = locks[0]; uint index = info.amount + 1; locks[index] = LockBin({ start: releaseStart, finish: releaseStart + releaseDuration, duration: releaseDuration / (1 days), amount: amount }); info.amount = index; wallets[r] = wallets[r].add(amount); emit Mint(r, amount); emit Transfer(address(0), r, amount); } return true; } function batchInvests (address[] investors, uint256[] amounts) public onlyOwner whenRunning canInvest returns (bool) { uint investorsLength = investors.length; require(investorsLength == amounts.length); uint investorsCount = 0; uint256 totalAmount = 0; uint i; address r; for (i = 0; i < investorsLength; i ++) { r = investors[i]; if (r == address(0) || r == owner) continue; investorsCount ++; totalAmount += amounts[i]; } require(totalAmount > 0); require(canMint(totalAmount)); uint256 amount; token_created = token_created.add(totalAmount); for (i = 0; i < investorsLength; i ++) { r = investors[i]; if (r == address(0) || r == owner) continue; amount = amounts[i]; wallets[r] = wallets[r].add(amount); emit Mint(r, amount); emit Transfer(address(0), r, amount); mapping(uint => LockBin) locks = lockbins[r]; LockBin storage info = locks[0]; uint index = info.amount + 1; locks[index] = LockBin({ start: releaseStart, finish: releaseStart + releaseDuration, duration: releaseDuration / (1 days), amount: amount }); info.amount = index; } return true; } function getInvestedToken (address investor) public view returns (uint256) { require(investor != address(0) && investor != owner && investor != foundationOwner); mapping(uint => LockBin) locks = lockbins[investor]; uint256 balance = 0; uint l = locks[0].amount; for (uint i = 1; i <= l; i ++) { LockBin memory bin = locks[i]; balance = balance.add(bin.amount); } return balance; } function getLockedToken (address investor) public view returns (uint256) { require(investor != address(0) && investor != owner && investor != foundationOwner); mapping(uint => LockBin) locks = lockbins[investor]; uint256 balance = 0; uint256 d = 1; uint l = locks[0].amount; for (uint i = 1; i <= l; i ++) { LockBin memory bin = locks[i]; if (now <= bin.start) { balance = balance.add(bin.amount); } else if (now < bin.finish) { d = (now - bin.start) / (1 days); balance = balance.add(bin.amount - bin.amount * d / bin.duration); } } return balance; } function canPay (address user, uint256 amount) internal view returns (bool) { uint256 balance = availableWallet(user); return amount <= balance; } function transfer (address target, uint256 value) public whenRunning canTransfer(msg.sender, target, value) returns (bool) { require(target != owner); require(canPay(msg.sender, value)); wallets[msg.sender] = wallets[msg.sender].sub(value); wallets[target] = wallets[target].add(value); emit Transfer(msg.sender, target, value); return true; } function batchTransfer (address[] receivers, uint256 amount) public whenRunning returns (bool) { require(amount > 0); uint receiveLength = receivers.length; uint receiverCount = 0; uint i; address r; for (i = 0; i < receiveLength; i ++) { r = receivers[i]; if (r == address(0) || r == owner) continue; receiverCount ++; } require(receiverCount > 0); uint256 totalAmount = amount.mul(uint256(receiverCount)); require(canPay(msg.sender, totalAmount)); wallets[msg.sender] -= totalAmount; for (i = 0; i < receiveLength; i++) { r = receivers[i]; if (r == address(0) || r == owner) continue; wallets[r] = wallets[r].add(amount); emit Transfer(msg.sender, r, amount); } return true; } function batchTransfers (address[] receivers, uint256[] amounts) public whenRunning returns (bool) { uint receiveLength = receivers.length; require(receiveLength == amounts.length); uint receiverCount = 0; uint256 totalAmount = 0; uint i; address r; for (i = 0; i < receiveLength; i ++) { r = receivers[i]; if (r == address(0) || r == owner) continue; receiverCount ++; totalAmount += amounts[i]; } require(totalAmount > 0); require(canPay(msg.sender, totalAmount)); wallets[msg.sender] -= totalAmount; uint256 amount; for (i = 0; i < receiveLength; i++) { r = receivers[i]; if (r == address(0) || r == owner) continue; amount = amounts[i]; if (amount == 0) continue; wallets[r] = wallets[r].add(amount); emit Transfer(msg.sender, r, amount); } return true; } function transferFrom (address from, address to, uint256 value) public whenRunning canTransfer(from, to, value) returns (bool) { require(from != owner); require(to != owner); require(canPay(from, value)); uint256 warrant; if (msg.sender != from) { warrant = warrants[from][msg.sender]; require(value <= warrant); warrants[from][msg.sender] = warrant.sub(value); } wallets[from] = wallets[from].sub(value); wallets[to] = wallets[to].add(value); emit Transfer(from, to, value); return true; } function batchTransferFrom (address from, address[] receivers, uint256 amount) public whenRunning returns (bool) { require(from != address(0) && from != owner); require(amount > 0); uint receiveLength = receivers.length; uint receiverCount = 0; uint i; address r; for (i = 0; i < receiveLength; i ++) { r = receivers[i]; if (r == address(0) || r == owner) continue; receiverCount ++; } require(receiverCount > 0); uint256 totalAmount = amount.mul(uint256(receiverCount)); require(canPay(from, totalAmount)); uint256 warrant; if (msg.sender != from) { warrant = warrants[from][msg.sender]; require(totalAmount <= warrant); warrants[from][msg.sender] = warrant.sub(totalAmount); } wallets[from] -= totalAmount; for (i = 0; i < receiveLength; i++) { r = receivers[i]; if (r == address(0) || r == owner) continue; wallets[r] = wallets[r].add(amount); emit Transfer(from, r, amount); } return true; } function batchTransferFroms (address from, address[] receivers, uint256[] amounts) public whenRunning returns (bool) { require(from != address(0) && from != owner); uint receiveLength = receivers.length; require(receiveLength == amounts.length); uint receiverCount = 0; uint256 totalAmount = 0; uint i; address r; for (i = 0; i < receiveLength; i ++) { r = receivers[i]; if (r == address(0) || r == owner) continue; receiverCount ++; totalAmount += amounts[i]; } require(totalAmount > 0); require(canPay(from, totalAmount)); uint256 warrant; if (msg.sender != from) { warrant = warrants[from][msg.sender]; require(totalAmount <= warrant); warrants[from][msg.sender] = warrant.sub(totalAmount); } wallets[from] -= totalAmount; uint256 amount; for (i = 0; i < receiveLength; i++) { r = receivers[i]; if (r == address(0) || r == owner) continue; amount = amounts[i]; if (amount == 0) continue; wallets[r] = wallets[r].add(amount); emit Transfer(from, r, amount); } return true; } } contract FountainToken is LockableToken { string public constant name = "Fountain"; string public constant symbol = "FTN"; uint8 public constant decimals = 18; uint256 private constant TOKEN_CAP = 10000000000 * 10 ** uint256(decimals); uint256 private constant TOKEN_FOUNDATION_CAP = 300000000 * 10 ** uint256(decimals); uint256 private constant TOKEN_INITIAL = 0 * 10 ** uint256(decimals); constructor () public LockableToken(TOKEN_INITIAL, TOKEN_CAP, TOKEN_FOUNDATION_CAP) { } function suicide () public onlyOwner { selfdestruct(owner); } function transferOwnership (address newOwner) public onlyOwner returns (bool) { require(newOwner != address(0)); require(newOwner != owner); require(newOwner != foundationOwner); require(wallets[owner] == 0); require(wallets[newOwner] == 0); address oldOwner = owner; owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); return true; } function setFountainFoundationOwner (address newFoundationOwner) public onlyOwner returns (bool) { require(newFoundationOwner != address(0)); require(newFoundationOwner != foundationOwner); require(newFoundationOwner != owner); require(wallets[newFoundationOwner] == 0); address oldFoundation = foundationOwner; foundationOwner = newFoundationOwner; emit FoundationOwnershipTransferred(oldFoundation, foundationOwner); uint256 all = wallets[oldFoundation]; wallets[oldFoundation] -= all; wallets[newFoundationOwner] = all; emit Transfer(oldFoundation, newFoundationOwner, all); return true; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":false,"inputs":[],"name":"resume","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"delegator","type":"address"},{"name":"value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"uint256"},{"name":"to","type":"uint256"}],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"receivers","type":"address[]"},{"name":"amounts","type":"uint256[]"}],"name":"batchTransfers","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"target","type":"address"},{"name":"amount","type":"uint256"}],"name":"mint","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"burn","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"release_start","type":"uint256"},{"name":"release_duration","type":"uint256"}],"name":"setInvest","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"startForge","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"forge_running","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"resumeInvest","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"lockbins","outputs":[{"name":"start","type":"uint256"},{"name":"finish","type":"uint256"},{"name":"duration","type":"uint256"},{"name":"amount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"investor","type":"address"}],"name":"getLockedToken","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"receivers","type":"address[]"},{"name":"amounts","type":"uint256[]"}],"name":"batchTransferFroms","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"amount","type":"uint256"}],"name":"canMint","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"delegator","type":"address"},{"name":"delta","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"investors","type":"address[]"},{"name":"amounts","type":"uint256[]"}],"name":"batchInvests","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"user","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newFoundationOwner","type":"address"}],"name":"setFountainFoundationOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"releaseStart","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"receivers","type":"address[]"},{"name":"amount","type":"uint256"}],"name":"batchTransferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_cap","type":"uint256"}],"name":"changeCap","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"receivers","type":"address[]"},{"name":"amount","type":"uint256"}],"name":"batchTransfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"wallets","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalFountainSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"warrants","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"forceStopInvest","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"investor","type":"address"}],"name":"getInvestedToken","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"pauseInvest","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"target","type":"address"},{"name":"value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"stopForge","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"investor","type":"address"},{"name":"amount","type":"uint256"}],"name":"invest","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"investors","type":"address[]"},{"name":"amount","type":"uint256"}],"name":"batchInvest","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"token_foundation_cap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"suicide","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"token_foundation_created","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"user","type":"address"}],"name":"availableWallet","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"delegator","type":"address"},{"name":"delta","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"},{"name":"delegator","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"token_created","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"token_cap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"releaseDuration","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[],"name":"InvestStart","type":"event"},{"anonymous":false,"inputs":[],"name":"InvestStop","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"release_start","type":"uint256"},{"indexed":false,"name":"release_duration","type":"uint256"}],"name":"NewInvest","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"user","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"user","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[],"name":"ContractPause","type":"event"},{"anonymous":false,"inputs":[],"name":"ContractResume","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"from","type":"uint256"},{"indexed":false,"name":"to","type":"uint256"}],"name":"ContractPauseSchedule","type":"event"},{"anonymous":false,"inputs":[],"name":"ForgeStart","type":"event"},{"anonymous":false,"inputs":[],"name":"ForgeStop","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"oldone","type":"address"},{"indexed":true,"name":"newone","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"oldFoundationOwner","type":"address"},{"indexed":true,"name":"newFoundationOwner","type":"address"}],"name":"FoundationOwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"}]
Contract Creation Code
60806040526001805460a060020a60ff0219167401000000000000000000000000000000000000000017905534801561003757600080fd5b506000805433600160a060020a0319918216811780845560018054600160a060020a0390921691909316179091556b204fce5e3e2502611000000060028190556af8277896582678ac00000060048190556003849055828452600860209081526040808620869055805186815290519394929386938693869391927f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968859281900390910190a260408051848152905133916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050600c805460ff1916600117905550505050612e28806101366000396000f3006080604052600436106102455763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663046f7da2811461024a57806306fdde0314610261578063095ea7b3146102eb57806318160ddd1461032357806323b872dd1461034a5780632d21551814610374578063313ce5671461038f5780633badca25146103ba57806340c10f191461044857806342966c681461046c57806342bb66c41461048457806348cc7b6e1461049f57806348eac902146104b4578063491eeb3a146104c95780634fcc1fc0146104de578063560ef1bf1461052857806359dd7ad4146105495780635dd871a3146105e557806366188463146105fd5780636ad953171461062157806370a08231146106af57806373a72b18146106d0578063766e33f4146106f157806376f660f614610706578063800edb9d1461076b57806383f12fec146107835780638456cb59146107da57806389b08f11146107ef5780639433a4981461081057806395d89b41146108255780639aa989791461083a5780639b890104146108615780639cf4836514610876578063a4c673c514610897578063a9059cbb146108ac578063b703aa3a146108d0578063b9b8c246146108e5578063bd632e1014610909578063c04e7e1714610960578063c96cd46f14610975578063d26e14141461098a578063d28cb7b51461099f578063d73dd623146109c0578063dd62ed3e146109e4578063de8ae5c014610a0b578063efc5d18314610a20578063f2fde38b14610a35578063f9b4189114610a56575b600080fd5b34801561025657600080fd5b5061025f610a6b565b005b34801561026d57600080fd5b50610276610abd565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102b0578181015183820152602001610298565b50505050905090810190601f1680156102dd5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102f757600080fd5b5061030f600160a060020a0360043516602435610af4565b604080519115158252519081900360200190f35b34801561032f57600080fd5b50610338610b93565b60408051918252519081900360200190f35b34801561035657600080fd5b5061030f600160a060020a0360043581169060243516604435610b99565b34801561038057600080fd5b5061025f600435602435610d80565b34801561039b57600080fd5b506103a4610dec565b6040805160ff9092168252519081900360200190f35b3480156103c657600080fd5b506040805160206004803580820135838102808601850190965280855261030f95369593946024949385019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a998901989297509082019550935083925085019084908082843750949750610df19650505050505050565b34801561045457600080fd5b5061030f600160a060020a0360043516602435610fed565b34801561047857600080fd5b5061030f600435611190565b34801561049057600080fd5b5061030f60043560243561126f565b3480156104ab57600080fd5b5061030f6112fb565b3480156104c057600080fd5b5061030f61137d565b3480156104d557600080fd5b5061030f61138d565b3480156104ea57600080fd5b50610502600160a060020a036004351660243561140b565b604080519485526020850193909352838301919091526060830152519081900360800190f35b34801561053457600080fd5b50610338600160a060020a036004351661143d565b34801561055557600080fd5b5060408051602060046024803582810135848102808701860190975280865261030f968435600160a060020a031696369660449591949091019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a99890198929750908201955093508392508501908490808284375094975061159a9650505050505050565b3480156105f157600080fd5b5061030f60043561184d565b34801561060957600080fd5b5061030f600160a060020a036004351660243561187c565b34801561062d57600080fd5b506040805160206004803580820135838102808601850190965280855261030f95369593946024949385019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a9989019892975090820195509350839250850190849080828437509497506119679650505050505050565b3480156106bb57600080fd5b50610338600160a060020a0360043516611c44565b3480156106dc57600080fd5b5061030f600160a060020a0360043516611c5f565b3480156106fd57600080fd5b50610338611da7565b34801561071257600080fd5b5060408051602060046024803582810135848102808701860190975280865261030f968435600160a060020a0316963696604495919490910192918291850190849080828437509497505093359450611dad9350505050565b34801561077757600080fd5b5061030f600435612026565b34801561078f57600080fd5b506040805160206004803580820135838102808601850190965280855261030f9536959394602494938501929182918501908490808284375094975050933594506120659350505050565b3480156107e657600080fd5b5061025f612227565b3480156107fb57600080fd5b50610338600160a060020a036004351661227b565b34801561081c57600080fd5b5061033861228d565b34801561083157600080fd5b50610276612293565b34801561084657600080fd5b50610338600160a060020a03600435811690602435166122ca565b34801561086d57600080fd5b5061030f6122e7565b34801561088257600080fd5b50610338600160a060020a03600435166122f0565b3480156108a357600080fd5b5061030f6123f2565b3480156108b857600080fd5b5061030f600160a060020a0360043516602435612472565b3480156108dc57600080fd5b5061030f6125ac565b3480156108f157600080fd5b5061030f600160a060020a0360043516602435612629565b34801561091557600080fd5b506040805160206004803580820135838102808601850190965280855261030f9536959394602494938501929182918501908490808284375094975050933594506128219350505050565b34801561096c57600080fd5b50610338612af3565b34801561098157600080fd5b5061025f612af9565b34801561099657600080fd5b50610338612b1e565b3480156109ab57600080fd5b50610338600160a060020a0360043516612b24565b3480156109cc57600080fd5b5061030f600160a060020a0360043516602435612b57565b3480156109f057600080fd5b50610338600160a060020a0360043581169060243516612bc4565b348015610a1757600080fd5b50610338612bef565b348015610a2c57600080fd5b50610338612bf5565b348015610a4157600080fd5b5061030f600160a060020a0360043516612bfb565b348015610a6257600080fd5b50610338612d09565b600054600160a060020a03163314610a8257600080fd5b426001198101600655600019016007556040517fa968378e910134ded7db0a5144e2c6a2d157f1685baa51f39de6c13a5e8ffa8990600090a1565b60408051808201909152600881527f466f756e7461696e000000000000000000000000000000000000000000000000602082015281565b6000600654421080610b07575060075442115b1515610b1257600080fd5b600160a060020a038316331415610b2b57506001610b8d565b336000818152600960209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b60035490565b600080600654421080610bad575060075442115b1515610bb857600080fd5b848484600160a060020a03831615801590610bdb5750600160a060020a03821615155b1515610be657600080fd5b600160a060020a038381169083161415610bff57600080fd5b60008111610c0c57600080fd5b600054600160a060020a0389811691161415610c2757600080fd5b600054600160a060020a0388811691161415610c4257600080fd5b610c4c8887612d0f565b1515610c5757600080fd5b33600160a060020a03891614610ccf57600160a060020a0388166000908152600960209081526040808320338452909152902054935083861115610c9a57600080fd5b610caa848763ffffffff612d2616565b600160a060020a03891660009081526009602090815260408083203384529091529020555b600160a060020a038816600090815260086020526040902054610cf8908763ffffffff612d2616565b600160a060020a03808a166000908152600860205260408082209390935590891681522054610d2d908763ffffffff612d3816565b600160a060020a038089166000818152600860209081526040918290209490945580518a815290519193928c1692600080516020612dbd83398151915292918290030190a3506001979650505050505050565b600054600160a060020a03163314610d9757600080fd5b818111610da357600080fd5b60068290556007819055604080518381526020810183905281517fac04925986d687f5e264774dac7e393e920d61c9b99e92497853eb519484e4dd929181900390910190a15050565b601281565b6000806000806000806000600654421080610e0d575060075442115b1515610e1857600080fd5b885188519096508614610e2a57600080fd5b6000945060009350600092505b85831015610eb4578883815181101515610e4d57fe5b602090810290910101519150600160a060020a0382161580610e7c5750600054600160a060020a038381169116145b15610e8657610ea9565b8751600190950194889084908110610e9a57fe5b90602001906020020151840193505b600190920191610e37565b60008411610ec157600080fd5b610ecb3385612d0f565b1515610ed657600080fd5b3360009081526008602052604081208054869003905592505b85831015610fde578883815181101515610f0557fe5b602090810290910101519150600160a060020a0382161580610f345750600054600160a060020a038381169116145b15610f3e57610fd3565b8783815181101515610f4c57fe5b9060200190602002015190508060001415610f6657610fd3565b600160a060020a038216600090815260086020526040902054610f8f908263ffffffff612d3816565b600160a060020a038316600081815260086020908152604091829020939093558051848152905191923392600080516020612dbd8339815191529281900390910190a35b600190920191610eef565b50600198975050505050505050565b60008054600160a060020a03163314806110115750600154600160a060020a031633145b151561101c57600080fd5b60065442108061102d575060075442115b151561103857600080fd5b60015460a060020a900460ff16151561105057600080fd5b600054600160a060020a0384811691161480159061107c5750600154600160a060020a03848116911614155b151561108757600080fd5b6110908261184d565b151561109b57600080fd5b600154600160a060020a03163314156110d9576110b782612d4e565b15156110c257600080fd5b6005546110d5908363ffffffff612d3816565b6005555b6003546110ec908363ffffffff612d3816565b600355600160a060020a038316600090815260086020526040902054611118908363ffffffff612d3816565b600160a060020a03841660008181526008602090815260409182902093909355805185815290519192600080516020612ddd83398151915292918290030190a2604080518381529051600160a060020a03851691600091600080516020612dbd8339815191529181900360200190a350600192915050565b6000806006544210806111a4575060075442115b15156111af57600080fd5b60015460a060020a900460ff1615156111c757600080fd5b6111d033612b24565b9050808311156111df57600080fd5b6003546111f2908463ffffffff612d2616565b6003553360008181526008602090815260409182902080548790039055815186815291517fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca59281900390910190a26040805184815290516000913391600080516020612dbd8339815191529181900360200190a350600192915050565b60008054600160a060020a0316331461128757600080fd5b600654421080611298575060075442115b15156112a357600080fd5b600a839055600b829055600c805460ff19169055604080518481526020810184905281517f4a1179f4d7ff6354606313c42f6054383e9549f9db56ac4b66b424bc940f79ed929181900390910190a150600192915050565b60008054600160a060020a0316331461131357600080fd5b60015460a060020a900460ff161561132a57600080fd5b6001805474ff0000000000000000000000000000000000000000191660a060020a1790556040517fa039c7af624b7305fc7002f670d116cf0c8b61a558a10ff96be611c5c235751790600090a150600190565b60015460a060020a900460ff1681565b60008054600160a060020a031633146113a557600080fd5b6006544210806113b6575060075442115b15156113c157600080fd5b600c5460ff1615156113d257600080fd5b600c805460ff191690556040517f14245ee125d3810a2a28f6b656b676516364a51e95a688ddf08af4194fc3db1290600090a150600190565b600d60209081526000928352604080842090915290825290208054600182015460028301546003909301549192909184565b60008060008060008061144e612d93565b600160a060020a038816158015906114745750600054600160a060020a03898116911614155b801561148e5750600154600160a060020a03898116911614155b151561149957600080fd5b600160a060020a0388166000908152600d60209081526040808320838052918290528220600301549097509095506001945092508391505b82821161158e57506000818152602086815260409182902082516080810184528154808252600183015493820193909352600282015493810193909352600301546060830152421161153a57606081015161153390869063ffffffff612d3816565b9450611583565b80602001514210156115835780516201518090420304935061158081604001518583606001510281151561156a57fe5b0482606001510386612d3890919063ffffffff16565b94505b6001909101906114d1565b50929695505050505050565b6000806000806000806000806006544210806115b7575060075442115b15156115c257600080fd5b600160a060020a038b16158015906115e85750600054600160a060020a038c8116911614155b15156115f357600080fd5b89518951909750871461160557600080fd5b6000955060009450600093505b8684101561168f57898481518110151561162857fe5b602090810290910101519250600160a060020a03831615806116575750600054600160a060020a038481169116145b1561166157611684565b885160019096019589908590811061167557fe5b90602001906020020151850194505b600190930192611612565b6000851161169c57600080fd5b6116a68b86612d0f565b15156116b157600080fd5b33600160a060020a038c161461172957600160a060020a038b1660009081526009602090815260408083203384529091529020549150818511156116f457600080fd5b611704828663ffffffff612d2616565b600160a060020a038c1660009081526009602090815260408083203384529091529020555b600160a060020a038b1660009081526008602052604081208054879003905593505b8684101561183c57898481518110151561176157fe5b602090810290910101519250600160a060020a03831615806117905750600054600160a060020a038481169116145b1561179a57611831565b88848151811015156117a857fe5b90602001906020020151905080600014156117c257611831565b600160a060020a0383166000908152600860205260409020546117eb908263ffffffff612d3816565b600160a060020a0380851660008181526008602090815260409182902094909455805185815290519193928f1692600080516020612dbd83398151915292918290030190a35b60019093019261174b565b5060019a9950505050505050505050565b6000600254600014806118745750600254600354611871908463ffffffff612d3816565b11155b90505b919050565b600080600654421080611890575060075442115b151561189b57600080fd5b600160a060020a0384163314156118b55760019150611960565b50336000908152600960209081526040808320600160a060020a0387168452909152902054828110156118ea575060006118fd565b6118fa818463ffffffff612d2616565b90505b336000818152600960209081526040808320600160a060020a03891680855290835292819020859055805185815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a3600191505b5092915050565b60008054819081908190819081908190819081908190600160a060020a0316331461199157600080fd5b6006544210806119a2575060075442115b15156119ad57600080fd5b600c5460ff16156119bd57600080fd5b8b518b5190995089146119cf57600080fd5b6000975060009650600095505b88861015611a59578b868151811015156119f257fe5b602090810290910101519450600160a060020a0385161580611a215750600054600160a060020a038681169116145b15611a2b57611a4e565b8a516001909801978b9087908110611a3f57fe5b90602001906020020151870196505b6001909501946119dc565b60008711611a6657600080fd5b611a6f8761184d565b1515611a7a57600080fd5b600354611a8d908863ffffffff612d3816565b600355600095505b88861015611c32578b86815181101515611aab57fe5b602090810290910101519450600160a060020a0385161580611ada5750600054600160a060020a038681169116145b15611ae457611c27565b8a86815181101515611af257fe5b6020908102909101810151600160a060020a03871660009081526008909252604090912054909450611b2a908563ffffffff612d3816565b600160a060020a03861660008181526008602090815260409182902093909355805187815290519192600080516020612ddd83398151915292918290030190a2604080518581529051600160a060020a03871691600091600080516020612dbd8339815191529181900360200190a3505050600160a060020a0382166000908152600d60209081526040808320838052808352818420600380820180548551608081018752600a54808252600b54908101828a0190815262015180909104828901908152606083018c81526001948501808d529a89905298909a209151825551918101919091559651600288015593519501949094559082905591905b600190950194611a95565b5060019b9a5050505050505050505050565b600160a060020a031660009081526008602052604090205490565b6000805481908190600160a060020a03163314611c7b57600080fd5b600160a060020a0384161515611c9057600080fd5b600154600160a060020a0385811691161415611cab57600080fd5b600054600160a060020a0385811691161415611cc657600080fd5b600160a060020a03841660009081526008602052604090205415611ce957600080fd5b60018054600160a060020a0386811673ffffffffffffffffffffffffffffffffffffffff19831617928390556040519181169450919091169083907ffc952dd6557f6861208ba39acbc0cfe5b4f12e76e6b467ed4200003f2b0cd8b090600090a350600160a060020a0380821660008181526008602090815260408083208054908490559488168084529281902085905580518581529051929392600080516020612dbd833981519152929181900390910190a35060019392505050565b600a5481565b6000806000806000806000600654421080611dc9575060075442115b1515611dd457600080fd5b600160a060020a038a1615801590611dfa5750600054600160a060020a038b8116911614155b1515611e0557600080fd5b60008811611e1257600080fd5b8851955060009450600093505b85841015611e80578884815181101515611e3557fe5b602090810290910101519250600160a060020a0383161580611e645750600054600160a060020a038481169116145b15611e6e57611e75565b6001909401935b600190930192611e1f565b60008511611e8d57600080fd5b611e9d888663ffffffff612d6816565b9150611ea98a83612d0f565b1515611eb457600080fd5b33600160a060020a038b1614611f2b5750600160a060020a038916600090815260096020908152604080832033845290915290205480821115611ef657600080fd5b611f06818363ffffffff612d2616565b600160a060020a038b1660009081526009602090815260408083203384529091529020555b600160a060020a038a1660009081526008602052604081208054849003905593505b85841015612016578884815181101515611f6357fe5b602090810290910101519250600160a060020a0383161580611f925750600054600160a060020a038481169116145b15611f9c5761200b565b600160a060020a038316600090815260086020526040902054611fc5908963ffffffff612d3816565b600160a060020a038085166000818152600860209081526040918290209490945580518c815290519193928e1692600080516020612dbd83398151915292918290030190a35b600190930192611f4d565b5060019998505050505050505050565b60008054600160a060020a0316331461203e57600080fd5b6003548210801561204f5750600082115b1561205c57506000611877565b50600255600190565b60008060008060008060065442108061207f575060075442115b151561208a57600080fd5b6000871161209757600080fd5b8751945060009350600092505b848310156121055787838151811015156120ba57fe5b602090810290910101519150600160a060020a03821615806120e95750600054600160a060020a038381169116145b156120f3576120fa565b6001909301925b6001909201916120a4565b6000841161211257600080fd5b612122878563ffffffff612d6816565b905061212e3382612d0f565b151561213957600080fd5b3360009081526008602052604081208054839003905592505b8483101561221957878381518110151561216857fe5b602090810290910101519150600160a060020a03821615806121975750600054600160a060020a038381169116145b156121a15761220e565b600160a060020a0382166000908152600860205260409020546121ca908863ffffffff612d3816565b600160a060020a0383166000818152600860209081526040918290209390935580518a8152905191923392600080516020612dbd8339815191529281900390910190a35b600190920191612152565b506001979650505050505050565b600054600160a060020a0316331461223e57600080fd5b426000198101600655639a7ec800016007556040517fb7e43176b89d4cefed0cca5fc9b2f8e752d3d192b83123ef306a0a55dcd18a6b90600090a1565b60086020526000908152604090205481565b60055490565b60408051808201909152600381527f46544e0000000000000000000000000000000000000000000000000000000000602082015281565b600960209081526000928352604080842090915290825290205481565b600c5460ff1681565b6000806000806000612300612d93565b600160a060020a038716158015906123265750600054600160a060020a03888116911614155b80156123405750600154600160a060020a03888116911614155b151561234b57600080fd5b600160a060020a0387166000908152600d60209081526040808320838052918290528220600301549096509094509250600191505b8282116123e7575060008181526020858152604091829020825160808101845281548152600182015492810192909252600281015492820192909252600390910154606082018190526123da90859063ffffffff612d3816565b9350600190910190612380565b509195945050505050565b60008054600160a060020a0316331461240a57600080fd5b60065442108061241b575060075442115b151561242657600080fd5b600c5460ff161561243657600080fd5b600c805460ff191660011790556040517fcd16c719d9bfc829719d0e728b877ea1f29c77fd759480f077f4f6bc2a26e02590600090a150600190565b6000600654421080612485575060075442115b151561249057600080fd5b33838382158015906124aa5750600160a060020a03821615155b15156124b557600080fd5b600160a060020a0383811690831614156124ce57600080fd5b600081116124db57600080fd5b600054600160a060020a03878116911614156124f657600080fd5b6125003386612d0f565b151561250b57600080fd5b3360009081526008602052604090205461252b908663ffffffff612d2616565b3360009081526008602052604080822092909255600160a060020a0388168152205461255d908663ffffffff612d3816565b600160a060020a038716600081815260086020908152604091829020939093558051888152905191923392600080516020612dbd8339815191529281900390910190a350600195945050505050565b60008054600160a060020a031633146125c457600080fd5b60015460a060020a900460ff1615156125dc57600080fd5b6001805474ff0000000000000000000000000000000000000000191690556040517f5f6f015054fd8937bdf17b86b7684be4ae883d459fb0bec23bc11f75a13b594490600090a150600190565b60008054819081908190600160a060020a0316331461264757600080fd5b600654421080612658575060075442115b151561266357600080fd5b600c5460ff161561267357600080fd5b600160a060020a038616151561268857600080fd5b600054600160a060020a03878116911614156126a357600080fd5b600154600160a060020a03878116911614156126be57600080fd5b600085116126cb57600080fd5b6126d48561184d565b15156126df57600080fd5b505050600160a060020a0383166000908152600d60209081526040808320838052808352818420600380820180548551608081018752600a54808252600b54908101828a0190815262015180909104828901908152606083018d81526001948501808d529a89905298909a209151825551918101919091559651600288015593519581019590955591839055925490919061277a9086612d38565b600355600160a060020a0386166000908152600860205260409020546127a6908663ffffffff612d3816565b600160a060020a03871660008181526008602090815260409182902093909355805188815290519192600080516020612ddd83398151915292918290030190a2604080518681529051600160a060020a03881691600091600080516020612dbd8339815191529181900360200190a350600195945050505050565b6000805481908190819081908190819081908190600160a060020a0316331461284957600080fd5b60065442108061285a575060075442115b151561286557600080fd5b600c5460ff161561287557600080fd5b60008a1161288257600080fd5b8a51975060009650600095505b87861015612908578a868151811015156128a557fe5b602090810290910101519450600160a060020a03851615806128d45750600054600160a060020a038681169116145b806128ec5750600154600160a060020a038681169116145b156128f6576128fd565b6001909601955b60019095019461288f565b6000871161291557600080fd5b6129258a8863ffffffff612d6816565b93506129308461184d565b151561293b57600080fd5b60035461294e908563ffffffff612d3816565b600355600095505b8786101561183c578a8681518110151561296c57fe5b602090810290910101519450600160a060020a038516158061299b5750600054600160a060020a038681169116145b806129b35750600154600160a060020a038681169116145b156129bd57612ae8565b505050600160a060020a0382166000908152600d602090815260408083208380528083529281902060038101548251608081018452600a54808252600b54908101958201959095529193600190910192820190620151809004815260209081018c90526000838152858252604080822084518155848401516001820155848201516002820155606090940151600394850155928501849055600160a060020a038816815260089091522054612a78908b63ffffffff612d3816565b600160a060020a0386166000818152600860209081526040918290209390935580518d815290519192600080516020612ddd83398151915292918290030190a2604080518b81529051600160a060020a03871691600091600080516020612dbd8339815191529181900360200190a35b600190950194612956565b60045481565b600054600160a060020a03163314612b1057600080fd5b600054600160a060020a0316ff5b60055481565b6000611874612b328361143d565b600160a060020a0384166000908152600860205260409020549063ffffffff612d2616565b600080600654421080612b6b575060075442115b1515612b7657600080fd5b600160a060020a038416331415612b905760019150611960565b336000908152600960209081526040808320600160a060020a03881684529091529020546118fa908463ffffffff612d3816565b600160a060020a03918216600090815260096020908152604080832093909416825291909152205490565b60035481565b60025481565b600080548190600160a060020a03163314612c1557600080fd5b600160a060020a0383161515612c2a57600080fd5b600054600160a060020a0384811691161415612c4557600080fd5b600154600160a060020a0384811691161415612c6057600080fd5b60008054600160a060020a031681526008602052604090205415612c8357600080fd5b600160a060020a03831660009081526008602052604090205415612ca657600080fd5b5060008054600160a060020a0384811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350600192915050565b600b5481565b600080612d1b84612b24565b909211159392505050565b600082821115612d3257fe5b50900390565b600082820183811015612d4757fe5b9392505050565b600060045461187183600554612d3890919063ffffffff16565b600080831515612d7b5760009150611960565b50828202828482811515612d8b57fe5b0414612d4757fe5b6080604051908101604052806000815260200160008152602001600081526020016000815250905600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885a165627a7a723058201f00d1f5a79378f87dd35d47157f870554a507a81b80fe69af26b4fd74f6323e0029
Deployed Bytecode
0x6080604052600436106102455763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663046f7da2811461024a57806306fdde0314610261578063095ea7b3146102eb57806318160ddd1461032357806323b872dd1461034a5780632d21551814610374578063313ce5671461038f5780633badca25146103ba57806340c10f191461044857806342966c681461046c57806342bb66c41461048457806348cc7b6e1461049f57806348eac902146104b4578063491eeb3a146104c95780634fcc1fc0146104de578063560ef1bf1461052857806359dd7ad4146105495780635dd871a3146105e557806366188463146105fd5780636ad953171461062157806370a08231146106af57806373a72b18146106d0578063766e33f4146106f157806376f660f614610706578063800edb9d1461076b57806383f12fec146107835780638456cb59146107da57806389b08f11146107ef5780639433a4981461081057806395d89b41146108255780639aa989791461083a5780639b890104146108615780639cf4836514610876578063a4c673c514610897578063a9059cbb146108ac578063b703aa3a146108d0578063b9b8c246146108e5578063bd632e1014610909578063c04e7e1714610960578063c96cd46f14610975578063d26e14141461098a578063d28cb7b51461099f578063d73dd623146109c0578063dd62ed3e146109e4578063de8ae5c014610a0b578063efc5d18314610a20578063f2fde38b14610a35578063f9b4189114610a56575b600080fd5b34801561025657600080fd5b5061025f610a6b565b005b34801561026d57600080fd5b50610276610abd565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102b0578181015183820152602001610298565b50505050905090810190601f1680156102dd5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102f757600080fd5b5061030f600160a060020a0360043516602435610af4565b604080519115158252519081900360200190f35b34801561032f57600080fd5b50610338610b93565b60408051918252519081900360200190f35b34801561035657600080fd5b5061030f600160a060020a0360043581169060243516604435610b99565b34801561038057600080fd5b5061025f600435602435610d80565b34801561039b57600080fd5b506103a4610dec565b6040805160ff9092168252519081900360200190f35b3480156103c657600080fd5b506040805160206004803580820135838102808601850190965280855261030f95369593946024949385019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a998901989297509082019550935083925085019084908082843750949750610df19650505050505050565b34801561045457600080fd5b5061030f600160a060020a0360043516602435610fed565b34801561047857600080fd5b5061030f600435611190565b34801561049057600080fd5b5061030f60043560243561126f565b3480156104ab57600080fd5b5061030f6112fb565b3480156104c057600080fd5b5061030f61137d565b3480156104d557600080fd5b5061030f61138d565b3480156104ea57600080fd5b50610502600160a060020a036004351660243561140b565b604080519485526020850193909352838301919091526060830152519081900360800190f35b34801561053457600080fd5b50610338600160a060020a036004351661143d565b34801561055557600080fd5b5060408051602060046024803582810135848102808701860190975280865261030f968435600160a060020a031696369660449591949091019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a99890198929750908201955093508392508501908490808284375094975061159a9650505050505050565b3480156105f157600080fd5b5061030f60043561184d565b34801561060957600080fd5b5061030f600160a060020a036004351660243561187c565b34801561062d57600080fd5b506040805160206004803580820135838102808601850190965280855261030f95369593946024949385019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a9989019892975090820195509350839250850190849080828437509497506119679650505050505050565b3480156106bb57600080fd5b50610338600160a060020a0360043516611c44565b3480156106dc57600080fd5b5061030f600160a060020a0360043516611c5f565b3480156106fd57600080fd5b50610338611da7565b34801561071257600080fd5b5060408051602060046024803582810135848102808701860190975280865261030f968435600160a060020a0316963696604495919490910192918291850190849080828437509497505093359450611dad9350505050565b34801561077757600080fd5b5061030f600435612026565b34801561078f57600080fd5b506040805160206004803580820135838102808601850190965280855261030f9536959394602494938501929182918501908490808284375094975050933594506120659350505050565b3480156107e657600080fd5b5061025f612227565b3480156107fb57600080fd5b50610338600160a060020a036004351661227b565b34801561081c57600080fd5b5061033861228d565b34801561083157600080fd5b50610276612293565b34801561084657600080fd5b50610338600160a060020a03600435811690602435166122ca565b34801561086d57600080fd5b5061030f6122e7565b34801561088257600080fd5b50610338600160a060020a03600435166122f0565b3480156108a357600080fd5b5061030f6123f2565b3480156108b857600080fd5b5061030f600160a060020a0360043516602435612472565b3480156108dc57600080fd5b5061030f6125ac565b3480156108f157600080fd5b5061030f600160a060020a0360043516602435612629565b34801561091557600080fd5b506040805160206004803580820135838102808601850190965280855261030f9536959394602494938501929182918501908490808284375094975050933594506128219350505050565b34801561096c57600080fd5b50610338612af3565b34801561098157600080fd5b5061025f612af9565b34801561099657600080fd5b50610338612b1e565b3480156109ab57600080fd5b50610338600160a060020a0360043516612b24565b3480156109cc57600080fd5b5061030f600160a060020a0360043516602435612b57565b3480156109f057600080fd5b50610338600160a060020a0360043581169060243516612bc4565b348015610a1757600080fd5b50610338612bef565b348015610a2c57600080fd5b50610338612bf5565b348015610a4157600080fd5b5061030f600160a060020a0360043516612bfb565b348015610a6257600080fd5b50610338612d09565b600054600160a060020a03163314610a8257600080fd5b426001198101600655600019016007556040517fa968378e910134ded7db0a5144e2c6a2d157f1685baa51f39de6c13a5e8ffa8990600090a1565b60408051808201909152600881527f466f756e7461696e000000000000000000000000000000000000000000000000602082015281565b6000600654421080610b07575060075442115b1515610b1257600080fd5b600160a060020a038316331415610b2b57506001610b8d565b336000818152600960209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b60035490565b600080600654421080610bad575060075442115b1515610bb857600080fd5b848484600160a060020a03831615801590610bdb5750600160a060020a03821615155b1515610be657600080fd5b600160a060020a038381169083161415610bff57600080fd5b60008111610c0c57600080fd5b600054600160a060020a0389811691161415610c2757600080fd5b600054600160a060020a0388811691161415610c4257600080fd5b610c4c8887612d0f565b1515610c5757600080fd5b33600160a060020a03891614610ccf57600160a060020a0388166000908152600960209081526040808320338452909152902054935083861115610c9a57600080fd5b610caa848763ffffffff612d2616565b600160a060020a03891660009081526009602090815260408083203384529091529020555b600160a060020a038816600090815260086020526040902054610cf8908763ffffffff612d2616565b600160a060020a03808a166000908152600860205260408082209390935590891681522054610d2d908763ffffffff612d3816565b600160a060020a038089166000818152600860209081526040918290209490945580518a815290519193928c1692600080516020612dbd83398151915292918290030190a3506001979650505050505050565b600054600160a060020a03163314610d9757600080fd5b818111610da357600080fd5b60068290556007819055604080518381526020810183905281517fac04925986d687f5e264774dac7e393e920d61c9b99e92497853eb519484e4dd929181900390910190a15050565b601281565b6000806000806000806000600654421080610e0d575060075442115b1515610e1857600080fd5b885188519096508614610e2a57600080fd5b6000945060009350600092505b85831015610eb4578883815181101515610e4d57fe5b602090810290910101519150600160a060020a0382161580610e7c5750600054600160a060020a038381169116145b15610e8657610ea9565b8751600190950194889084908110610e9a57fe5b90602001906020020151840193505b600190920191610e37565b60008411610ec157600080fd5b610ecb3385612d0f565b1515610ed657600080fd5b3360009081526008602052604081208054869003905592505b85831015610fde578883815181101515610f0557fe5b602090810290910101519150600160a060020a0382161580610f345750600054600160a060020a038381169116145b15610f3e57610fd3565b8783815181101515610f4c57fe5b9060200190602002015190508060001415610f6657610fd3565b600160a060020a038216600090815260086020526040902054610f8f908263ffffffff612d3816565b600160a060020a038316600081815260086020908152604091829020939093558051848152905191923392600080516020612dbd8339815191529281900390910190a35b600190920191610eef565b50600198975050505050505050565b60008054600160a060020a03163314806110115750600154600160a060020a031633145b151561101c57600080fd5b60065442108061102d575060075442115b151561103857600080fd5b60015460a060020a900460ff16151561105057600080fd5b600054600160a060020a0384811691161480159061107c5750600154600160a060020a03848116911614155b151561108757600080fd5b6110908261184d565b151561109b57600080fd5b600154600160a060020a03163314156110d9576110b782612d4e565b15156110c257600080fd5b6005546110d5908363ffffffff612d3816565b6005555b6003546110ec908363ffffffff612d3816565b600355600160a060020a038316600090815260086020526040902054611118908363ffffffff612d3816565b600160a060020a03841660008181526008602090815260409182902093909355805185815290519192600080516020612ddd83398151915292918290030190a2604080518381529051600160a060020a03851691600091600080516020612dbd8339815191529181900360200190a350600192915050565b6000806006544210806111a4575060075442115b15156111af57600080fd5b60015460a060020a900460ff1615156111c757600080fd5b6111d033612b24565b9050808311156111df57600080fd5b6003546111f2908463ffffffff612d2616565b6003553360008181526008602090815260409182902080548790039055815186815291517fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca59281900390910190a26040805184815290516000913391600080516020612dbd8339815191529181900360200190a350600192915050565b60008054600160a060020a0316331461128757600080fd5b600654421080611298575060075442115b15156112a357600080fd5b600a839055600b829055600c805460ff19169055604080518481526020810184905281517f4a1179f4d7ff6354606313c42f6054383e9549f9db56ac4b66b424bc940f79ed929181900390910190a150600192915050565b60008054600160a060020a0316331461131357600080fd5b60015460a060020a900460ff161561132a57600080fd5b6001805474ff0000000000000000000000000000000000000000191660a060020a1790556040517fa039c7af624b7305fc7002f670d116cf0c8b61a558a10ff96be611c5c235751790600090a150600190565b60015460a060020a900460ff1681565b60008054600160a060020a031633146113a557600080fd5b6006544210806113b6575060075442115b15156113c157600080fd5b600c5460ff1615156113d257600080fd5b600c805460ff191690556040517f14245ee125d3810a2a28f6b656b676516364a51e95a688ddf08af4194fc3db1290600090a150600190565b600d60209081526000928352604080842090915290825290208054600182015460028301546003909301549192909184565b60008060008060008061144e612d93565b600160a060020a038816158015906114745750600054600160a060020a03898116911614155b801561148e5750600154600160a060020a03898116911614155b151561149957600080fd5b600160a060020a0388166000908152600d60209081526040808320838052918290528220600301549097509095506001945092508391505b82821161158e57506000818152602086815260409182902082516080810184528154808252600183015493820193909352600282015493810193909352600301546060830152421161153a57606081015161153390869063ffffffff612d3816565b9450611583565b80602001514210156115835780516201518090420304935061158081604001518583606001510281151561156a57fe5b0482606001510386612d3890919063ffffffff16565b94505b6001909101906114d1565b50929695505050505050565b6000806000806000806000806006544210806115b7575060075442115b15156115c257600080fd5b600160a060020a038b16158015906115e85750600054600160a060020a038c8116911614155b15156115f357600080fd5b89518951909750871461160557600080fd5b6000955060009450600093505b8684101561168f57898481518110151561162857fe5b602090810290910101519250600160a060020a03831615806116575750600054600160a060020a038481169116145b1561166157611684565b885160019096019589908590811061167557fe5b90602001906020020151850194505b600190930192611612565b6000851161169c57600080fd5b6116a68b86612d0f565b15156116b157600080fd5b33600160a060020a038c161461172957600160a060020a038b1660009081526009602090815260408083203384529091529020549150818511156116f457600080fd5b611704828663ffffffff612d2616565b600160a060020a038c1660009081526009602090815260408083203384529091529020555b600160a060020a038b1660009081526008602052604081208054879003905593505b8684101561183c57898481518110151561176157fe5b602090810290910101519250600160a060020a03831615806117905750600054600160a060020a038481169116145b1561179a57611831565b88848151811015156117a857fe5b90602001906020020151905080600014156117c257611831565b600160a060020a0383166000908152600860205260409020546117eb908263ffffffff612d3816565b600160a060020a0380851660008181526008602090815260409182902094909455805185815290519193928f1692600080516020612dbd83398151915292918290030190a35b60019093019261174b565b5060019a9950505050505050505050565b6000600254600014806118745750600254600354611871908463ffffffff612d3816565b11155b90505b919050565b600080600654421080611890575060075442115b151561189b57600080fd5b600160a060020a0384163314156118b55760019150611960565b50336000908152600960209081526040808320600160a060020a0387168452909152902054828110156118ea575060006118fd565b6118fa818463ffffffff612d2616565b90505b336000818152600960209081526040808320600160a060020a03891680855290835292819020859055805185815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a3600191505b5092915050565b60008054819081908190819081908190819081908190600160a060020a0316331461199157600080fd5b6006544210806119a2575060075442115b15156119ad57600080fd5b600c5460ff16156119bd57600080fd5b8b518b5190995089146119cf57600080fd5b6000975060009650600095505b88861015611a59578b868151811015156119f257fe5b602090810290910101519450600160a060020a0385161580611a215750600054600160a060020a038681169116145b15611a2b57611a4e565b8a516001909801978b9087908110611a3f57fe5b90602001906020020151870196505b6001909501946119dc565b60008711611a6657600080fd5b611a6f8761184d565b1515611a7a57600080fd5b600354611a8d908863ffffffff612d3816565b600355600095505b88861015611c32578b86815181101515611aab57fe5b602090810290910101519450600160a060020a0385161580611ada5750600054600160a060020a038681169116145b15611ae457611c27565b8a86815181101515611af257fe5b6020908102909101810151600160a060020a03871660009081526008909252604090912054909450611b2a908563ffffffff612d3816565b600160a060020a03861660008181526008602090815260409182902093909355805187815290519192600080516020612ddd83398151915292918290030190a2604080518581529051600160a060020a03871691600091600080516020612dbd8339815191529181900360200190a3505050600160a060020a0382166000908152600d60209081526040808320838052808352818420600380820180548551608081018752600a54808252600b54908101828a0190815262015180909104828901908152606083018c81526001948501808d529a89905298909a209151825551918101919091559651600288015593519501949094559082905591905b600190950194611a95565b5060019b9a5050505050505050505050565b600160a060020a031660009081526008602052604090205490565b6000805481908190600160a060020a03163314611c7b57600080fd5b600160a060020a0384161515611c9057600080fd5b600154600160a060020a0385811691161415611cab57600080fd5b600054600160a060020a0385811691161415611cc657600080fd5b600160a060020a03841660009081526008602052604090205415611ce957600080fd5b60018054600160a060020a0386811673ffffffffffffffffffffffffffffffffffffffff19831617928390556040519181169450919091169083907ffc952dd6557f6861208ba39acbc0cfe5b4f12e76e6b467ed4200003f2b0cd8b090600090a350600160a060020a0380821660008181526008602090815260408083208054908490559488168084529281902085905580518581529051929392600080516020612dbd833981519152929181900390910190a35060019392505050565b600a5481565b6000806000806000806000600654421080611dc9575060075442115b1515611dd457600080fd5b600160a060020a038a1615801590611dfa5750600054600160a060020a038b8116911614155b1515611e0557600080fd5b60008811611e1257600080fd5b8851955060009450600093505b85841015611e80578884815181101515611e3557fe5b602090810290910101519250600160a060020a0383161580611e645750600054600160a060020a038481169116145b15611e6e57611e75565b6001909401935b600190930192611e1f565b60008511611e8d57600080fd5b611e9d888663ffffffff612d6816565b9150611ea98a83612d0f565b1515611eb457600080fd5b33600160a060020a038b1614611f2b5750600160a060020a038916600090815260096020908152604080832033845290915290205480821115611ef657600080fd5b611f06818363ffffffff612d2616565b600160a060020a038b1660009081526009602090815260408083203384529091529020555b600160a060020a038a1660009081526008602052604081208054849003905593505b85841015612016578884815181101515611f6357fe5b602090810290910101519250600160a060020a0383161580611f925750600054600160a060020a038481169116145b15611f9c5761200b565b600160a060020a038316600090815260086020526040902054611fc5908963ffffffff612d3816565b600160a060020a038085166000818152600860209081526040918290209490945580518c815290519193928e1692600080516020612dbd83398151915292918290030190a35b600190930192611f4d565b5060019998505050505050505050565b60008054600160a060020a0316331461203e57600080fd5b6003548210801561204f5750600082115b1561205c57506000611877565b50600255600190565b60008060008060008060065442108061207f575060075442115b151561208a57600080fd5b6000871161209757600080fd5b8751945060009350600092505b848310156121055787838151811015156120ba57fe5b602090810290910101519150600160a060020a03821615806120e95750600054600160a060020a038381169116145b156120f3576120fa565b6001909301925b6001909201916120a4565b6000841161211257600080fd5b612122878563ffffffff612d6816565b905061212e3382612d0f565b151561213957600080fd5b3360009081526008602052604081208054839003905592505b8483101561221957878381518110151561216857fe5b602090810290910101519150600160a060020a03821615806121975750600054600160a060020a038381169116145b156121a15761220e565b600160a060020a0382166000908152600860205260409020546121ca908863ffffffff612d3816565b600160a060020a0383166000818152600860209081526040918290209390935580518a8152905191923392600080516020612dbd8339815191529281900390910190a35b600190920191612152565b506001979650505050505050565b600054600160a060020a0316331461223e57600080fd5b426000198101600655639a7ec800016007556040517fb7e43176b89d4cefed0cca5fc9b2f8e752d3d192b83123ef306a0a55dcd18a6b90600090a1565b60086020526000908152604090205481565b60055490565b60408051808201909152600381527f46544e0000000000000000000000000000000000000000000000000000000000602082015281565b600960209081526000928352604080842090915290825290205481565b600c5460ff1681565b6000806000806000612300612d93565b600160a060020a038716158015906123265750600054600160a060020a03888116911614155b80156123405750600154600160a060020a03888116911614155b151561234b57600080fd5b600160a060020a0387166000908152600d60209081526040808320838052918290528220600301549096509094509250600191505b8282116123e7575060008181526020858152604091829020825160808101845281548152600182015492810192909252600281015492820192909252600390910154606082018190526123da90859063ffffffff612d3816565b9350600190910190612380565b509195945050505050565b60008054600160a060020a0316331461240a57600080fd5b60065442108061241b575060075442115b151561242657600080fd5b600c5460ff161561243657600080fd5b600c805460ff191660011790556040517fcd16c719d9bfc829719d0e728b877ea1f29c77fd759480f077f4f6bc2a26e02590600090a150600190565b6000600654421080612485575060075442115b151561249057600080fd5b33838382158015906124aa5750600160a060020a03821615155b15156124b557600080fd5b600160a060020a0383811690831614156124ce57600080fd5b600081116124db57600080fd5b600054600160a060020a03878116911614156124f657600080fd5b6125003386612d0f565b151561250b57600080fd5b3360009081526008602052604090205461252b908663ffffffff612d2616565b3360009081526008602052604080822092909255600160a060020a0388168152205461255d908663ffffffff612d3816565b600160a060020a038716600081815260086020908152604091829020939093558051888152905191923392600080516020612dbd8339815191529281900390910190a350600195945050505050565b60008054600160a060020a031633146125c457600080fd5b60015460a060020a900460ff1615156125dc57600080fd5b6001805474ff0000000000000000000000000000000000000000191690556040517f5f6f015054fd8937bdf17b86b7684be4ae883d459fb0bec23bc11f75a13b594490600090a150600190565b60008054819081908190600160a060020a0316331461264757600080fd5b600654421080612658575060075442115b151561266357600080fd5b600c5460ff161561267357600080fd5b600160a060020a038616151561268857600080fd5b600054600160a060020a03878116911614156126a357600080fd5b600154600160a060020a03878116911614156126be57600080fd5b600085116126cb57600080fd5b6126d48561184d565b15156126df57600080fd5b505050600160a060020a0383166000908152600d60209081526040808320838052808352818420600380820180548551608081018752600a54808252600b54908101828a0190815262015180909104828901908152606083018d81526001948501808d529a89905298909a209151825551918101919091559651600288015593519581019590955591839055925490919061277a9086612d38565b600355600160a060020a0386166000908152600860205260409020546127a6908663ffffffff612d3816565b600160a060020a03871660008181526008602090815260409182902093909355805188815290519192600080516020612ddd83398151915292918290030190a2604080518681529051600160a060020a03881691600091600080516020612dbd8339815191529181900360200190a350600195945050505050565b6000805481908190819081908190819081908190600160a060020a0316331461284957600080fd5b60065442108061285a575060075442115b151561286557600080fd5b600c5460ff161561287557600080fd5b60008a1161288257600080fd5b8a51975060009650600095505b87861015612908578a868151811015156128a557fe5b602090810290910101519450600160a060020a03851615806128d45750600054600160a060020a038681169116145b806128ec5750600154600160a060020a038681169116145b156128f6576128fd565b6001909601955b60019095019461288f565b6000871161291557600080fd5b6129258a8863ffffffff612d6816565b93506129308461184d565b151561293b57600080fd5b60035461294e908563ffffffff612d3816565b600355600095505b8786101561183c578a8681518110151561296c57fe5b602090810290910101519450600160a060020a038516158061299b5750600054600160a060020a038681169116145b806129b35750600154600160a060020a038681169116145b156129bd57612ae8565b505050600160a060020a0382166000908152600d602090815260408083208380528083529281902060038101548251608081018452600a54808252600b54908101958201959095529193600190910192820190620151809004815260209081018c90526000838152858252604080822084518155848401516001820155848201516002820155606090940151600394850155928501849055600160a060020a038816815260089091522054612a78908b63ffffffff612d3816565b600160a060020a0386166000818152600860209081526040918290209390935580518d815290519192600080516020612ddd83398151915292918290030190a2604080518b81529051600160a060020a03871691600091600080516020612dbd8339815191529181900360200190a35b600190950194612956565b60045481565b600054600160a060020a03163314612b1057600080fd5b600054600160a060020a0316ff5b60055481565b6000611874612b328361143d565b600160a060020a0384166000908152600860205260409020549063ffffffff612d2616565b600080600654421080612b6b575060075442115b1515612b7657600080fd5b600160a060020a038416331415612b905760019150611960565b336000908152600960209081526040808320600160a060020a03881684529091529020546118fa908463ffffffff612d3816565b600160a060020a03918216600090815260096020908152604080832093909416825291909152205490565b60035481565b60025481565b600080548190600160a060020a03163314612c1557600080fd5b600160a060020a0383161515612c2a57600080fd5b600054600160a060020a0384811691161415612c4557600080fd5b600154600160a060020a0384811691161415612c6057600080fd5b60008054600160a060020a031681526008602052604090205415612c8357600080fd5b600160a060020a03831660009081526008602052604090205415612ca657600080fd5b5060008054600160a060020a0384811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350600192915050565b600b5481565b600080612d1b84612b24565b909211159392505050565b600082821115612d3257fe5b50900390565b600082820183811015612d4757fe5b9392505050565b600060045461187183600554612d3890919063ffffffff16565b600080831515612d7b5760009150611960565b50828202828482811515612d8b57fe5b0414612d4757fe5b6080604051908101604052806000815260200160008152602001600081526020016000815250905600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885a165627a7a723058201f00d1f5a79378f87dd35d47157f870554a507a81b80fe69af26b4fd74f6323e0029
Swarm Source
bzzr://1f00d1f5a79378f87dd35d47157f870554a507a81b80fe69af26b4fd74f6323e
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ 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.