ERC-20
Overview
Max Total Supply
2,000,000,000 BP
Holders
2,931
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
BPToken
Compiler Version
v0.4.21+commit.dfe3193c
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-04-23 */ pragma solidity ^0.4.20; /* * ERC20 interface * see https://github.com/ethereum/EIPs/issues/20 */ contract ERC20 { uint public totalSupply; function balanceOf(address who) constant returns (uint); function allowance(address owner, address spender) constant returns (uint); function transfer(address to, uint value) returns (bool ok); function transferFrom(address from, address to, uint value) returns (bool ok); function approve(address spender, uint value) returns (bool ok); event Transfer(address indexed from, address indexed to, uint value); event Approval(address indexed owner, address indexed spender, uint value); } /** * Math operations with safety checks */ contract SafeMath { function safeMul(uint a, uint b) internal returns (uint) { uint c = a * b; assert(a == 0 || c / a == b); return c; } function safeDiv(uint a, uint b) internal returns (uint) { assert(b > 0); uint c = a / b; assert(a == b * c + a % b); return c; } function safeSub(uint a, uint b) internal returns (uint) { assert(b <= a); return a - b; } function safeAdd(uint a, uint b) internal returns (uint) { uint c = a + b; assert(c >= a && c >= b); return c; } function max64(uint64 a, uint64 b) internal constant returns (uint64) { return a >= b ? a : b; } function min64(uint64 a, uint64 b) internal constant returns (uint64) { return a < b ? a : b; } function max256(uint256 a, uint256 b) internal constant returns (uint256) { return a >= b ? a : b; } function min256(uint256 a, uint256 b) internal constant returns (uint256) { return a < b ? a : b; } function assert(bool assertion) internal { if (!assertion) { throw; } } } /** * Owned contract */ contract Owned { address[] public pools; address public owner; function Owned() { owner = msg.sender; pools.push(msg.sender); } modifier onlyPool { require(isPool(msg.sender)); _; } modifier onlyOwner { require(msg.sender == owner); _; } /// add new pool address to pools function addPool(address newPool) onlyOwner { assert (newPool != 0); if (isPool(newPool)) throw; pools.push(newPool); } /// remove a address from pools function removePool(address pool) onlyOwner{ assert (pool != 0); if (!isPool(pool)) throw; for (uint i=0; i<pools.length - 1; i++) { if (pools[i] == pool) { pools[i] = pools[pools.length - 1]; break; } } pools.length -= 1; } function isPool(address pool) internal returns (bool ok){ for (uint i=0; i<pools.length; i++) { if (pools[i] == pool) return true; } return false; } function transferOwnership(address newOwner) onlyOwner public { removePool(owner); addPool(newOwner); owner = newOwner; } } /** * BP crowdsale contract */ contract BPToken is SafeMath, Owned, ERC20 { string public constant name = "Backpack Token"; string public constant symbol = "BP"; uint256 public constant decimals = 18; mapping (address => uint256) balances; mapping (address => mapping (address => uint256)) allowed; function BPToken() { totalSupply = 2000000000 * 10 ** uint256(decimals); balances[msg.sender] = totalSupply; } /// asset pool map mapping (address => address) addressPool; /// address base amount mapping (address => uint256) addressAmount; /// per month seconds uint perMonthSecond = 2592000; /// calc the balance that the user shuold hold function shouldHadBalance(address who) constant returns (uint256){ if (isPool(who)) return 0; address apAddress = getAssetPoolAddress(who); uint256 baseAmount = getBaseAmount(who); /// Does not belong to AssetPool contract if( (apAddress == address(0)) || (baseAmount == 0) ) return 0; /// Instantiate ap contract AssetPool ap = AssetPool(apAddress); uint startLockTime = ap.getStartLockTime(); uint stopLockTime = ap.getStopLockTime(); if (block.timestamp > stopLockTime) { return 0; } if (ap.getBaseLockPercent() == 0) { return 0; } // base lock amount uint256 baseLockAmount = safeDiv(safeMul(baseAmount, ap.getBaseLockPercent()),100); if (block.timestamp < startLockTime) { return baseLockAmount; } /// will not linear release if (ap.getLinearRelease() == 0) { if (block.timestamp < stopLockTime) { return baseLockAmount; } else { return 0; } } /// will linear release /// now timestamp before start lock time if (block.timestamp < startLockTime + perMonthSecond) { return baseLockAmount; } // total lock months uint lockMonth = safeDiv(safeSub(stopLockTime,startLockTime),perMonthSecond); if (lockMonth <= 0) { if (block.timestamp >= stopLockTime) { return 0; } else { return baseLockAmount; } } // unlock amount of every month uint256 monthUnlockAmount = safeDiv(baseLockAmount,lockMonth); // current timestamp passed month uint hadPassMonth = safeDiv(safeSub(block.timestamp,startLockTime),perMonthSecond); return safeSub(baseLockAmount,safeMul(hadPassMonth,monthUnlockAmount)); } function getAssetPoolAddress(address who) internal returns(address){ return addressPool[who]; } function getBaseAmount(address who) internal returns(uint256){ return addressAmount[who]; } function getBalance() constant returns(uint){ return balances[msg.sender]; } function setPoolAndAmount(address who, uint256 amount) onlyPool returns (bool) { assert(balances[msg.sender] >= amount); if (owner == who) { return true; } address apAddress = getAssetPoolAddress(who); uint256 baseAmount = getBaseAmount(who); assert((apAddress == msg.sender) || (baseAmount == 0)); addressPool[who] = msg.sender; addressAmount[who] += amount; return true; } /// get balance of the special address function balanceOf(address who) constant returns (uint) { return balances[who]; } /// @notice Transfer `value` BP tokens from sender's account /// `msg.sender` to provided account address `to`. /// @notice This function is disabled during the funding. /// @dev Required state: Success /// @param to The address of the recipient /// @param value The number of BPs to transfer /// @return Whether the transfer was successful or not function transfer(address to, uint256 value) returns (bool) { if (safeSub(balances[msg.sender],value) < shouldHadBalance(msg.sender)) throw; uint256 senderBalance = balances[msg.sender]; if (senderBalance >= value && value > 0) { senderBalance = safeSub(senderBalance, value); balances[msg.sender] = senderBalance; balances[to] = safeAdd(balances[to], value); Transfer(msg.sender, to, value); return true; } else { throw; } } /// @notice Transfer `value` BP tokens from sender 'from' /// to provided account address `to`. /// @notice This function is disabled during the funding. /// @dev Required state: Success /// @param from The address of the sender /// @param to The address of the recipient /// @param value The number of BPs to transfer /// @return Whether the transfer was successful or not function transferFrom(address from, address to, uint256 value) returns (bool) { // Abort if not in Success state. // protect against wrapping uints if (balances[from] >= value && allowed[from][msg.sender] >= value && safeAdd(balances[to], value) > balances[to]) { balances[to] = safeAdd(balances[to], value); balances[from] = safeSub(balances[from], value); allowed[from][msg.sender] = safeSub(allowed[from][msg.sender], value); Transfer(from, to, value); return true; } else { throw; } } /// @notice `msg.sender` approves `spender` to spend `value` tokens /// @param spender The address of the account able to transfer the tokens /// @param value The amount of wei to be approved for transfer /// @return Whether the approval was successful or not function approve(address spender, uint256 value) returns (bool) { if (safeSub(balances[msg.sender],value) < shouldHadBalance(msg.sender)) throw; // Abort if not in Success state. allowed[msg.sender][spender] = value; Approval(msg.sender, spender, value); return true; } /// @param owner The address of the account owning tokens /// @param spender The address of the account able to transfer the tokens /// @return Amount of remaining tokens allowed to spent function allowance(address owner, address spender) constant returns (uint) { uint allow = allowed[owner][spender]; return allow; } } contract ownedPool { address public owner; function ownedPool() public { owner = msg.sender; } modifier onlyOwner { require(msg.sender == owner); _; } function transferOwnership(address newOwner) onlyOwner public { owner = newOwner; } } /** * Asset pool contract */ contract AssetPool is ownedPool { uint baseLockPercent; uint startLockTime; uint stopLockTime; uint linearRelease; address public bpTokenAddress; BPToken bp; function AssetPool(address _bpTokenAddress, uint _baseLockPercent, uint _startLockTime, uint _stopLockTime, uint _linearRelease) { assert(_stopLockTime > _startLockTime); baseLockPercent = _baseLockPercent; startLockTime = _startLockTime; stopLockTime = _stopLockTime; linearRelease = _linearRelease; bpTokenAddress = _bpTokenAddress; bp = BPToken(bpTokenAddress); owner = msg.sender; } /// set role value function setRule(uint _baseLockPercent, uint _startLockTime, uint _stopLockTime, uint _linearRelease) onlyOwner { assert(_stopLockTime > _startLockTime); baseLockPercent = _baseLockPercent; startLockTime = _startLockTime; stopLockTime = _stopLockTime; linearRelease = _linearRelease; } /// set bp token contract address // function setBpToken(address _bpTokenAddress) onlyOwner { // bpTokenAddress = _bpTokenAddress; // bp = BPToken(bpTokenAddress); // } /// assign BP token to another address function assign(address to, uint256 amount) onlyOwner returns (bool) { if (bp.setPoolAndAmount(to,amount)) { if (bp.transfer(to,amount)) { return true; } } return false; } /// get the balance of current asset pool function getPoolBalance() constant returns (uint) { return bp.getBalance(); } function getStartLockTime() constant returns (uint) { return startLockTime; } function getStopLockTime() constant returns (uint) { return stopLockTime; } function getBaseLockPercent() constant returns (uint) { return baseLockPercent; } function getLinearRelease() constant returns (uint) { return linearRelease; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"who","type":"address"},{"name":"amount","type":"uint256"}],"name":"setPoolAndAmount","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":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"pool","type":"address"}],"name":"removePool","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"who","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"pools","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newPool","type":"address"}],"name":"addPool","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"who","type":"address"}],"name":"shouldHadBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"},{"name":"spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"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"},{"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"}]
Contract Creation Code
606060405262278d0060075534156200001757600080fd5b33600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600080548060010182816200006e91906200011a565b9160005260206000209001600033909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506012600a0a637735940002600281905550600254600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555062000171565b815481835581811511620001445781836000526020600020918201910162000143919062000149565b5b505050565b6200016e91905b808211156200016a57600081600090555060010162000150565b5090565b90565b611c2580620001816000396000f3006060604052600436106100f1576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146100f6578063095ea7b31461018457806312065fe0146101de57806314b116511461020757806318160ddd1461026157806323b872dd1461028a578063313ce567146103035780633b7d09461461032c57806370a08231146103655780638da5cb5b146103b257806395d89b4114610407578063a9059cbb14610495578063ac4afa38146104ef578063d914cd4b14610552578063d9a4ad8b1461058b578063dd62ed3e146105d8578063f2fde38b14610644575b600080fd5b341561010157600080fd5b61010961067d565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561014957808201518184015260208101905061012e565b50505050905090810190601f1680156101765780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561018f57600080fd5b6101c4600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506106b6565b604051808215151515815260200191505060405180910390f35b34156101e957600080fd5b6101f1610805565b6040518082815260200191505060405180910390f35b341561021257600080fd5b610247600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061084c565b604051808215151515815260200191505060405180910390f35b341561026c57600080fd5b610274610a3f565b6040518082815260200191505060405180910390f35b341561029557600080fd5b6102e9600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610a45565b604051808215151515815260200191505060405180910390f35b341561030e57600080fd5b610316610e41565b6040518082815260200191505060405180910390f35b341561033757600080fd5b610363600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610e46565b005b341561037057600080fd5b61039c600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611028565b6040518082815260200191505060405180910390f35b34156103bd57600080fd5b6103c5611071565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561041257600080fd5b61041a611097565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561045a57808201518184015260208101905061043f565b50505050905090810190601f1680156104875780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156104a057600080fd5b6104d5600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506110d0565b604051808215151515815260200191505060405180910390f35b34156104fa57600080fd5b61051060048080359060200190919050506112dd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561055d57600080fd5b610589600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061131c565b005b341561059657600080fd5b6105c2600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611414565b6040518082815260200191505060405180910390f35b34156105e357600080fd5b61062e600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611800565b6040518082815260200191505060405180910390f35b341561064f57600080fd5b61067b600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061188c565b005b6040805190810160405280600e81526020017f4261636b7061636b20546f6b656e00000000000000000000000000000000000081525081565b60006106c133611414565b61070a600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484611960565b101561071557600080fd5b81600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905090565b600080600061085a33611979565b151561086557600080fd5b6108b084600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611a1d565b8473ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561090f5760019250610a37565b61091885611a2c565b915061092385611a95565b90506109673373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806109625750600082145b611a1d565b33600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600192505b505092915050565b60025481565b600081600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410158015610b12575081600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b8015610ba45750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ba2600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484611ade565b115b15610e3557610bf2600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611ade565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610c7e600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611960565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d47600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611960565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050610e3a565b600080fd5b9392505050565b601281565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ea457600080fd5b60008273ffffffffffffffffffffffffffffffffffffffff1614151515610ec757fe5b610ed082611979565b1515610edb57600080fd5b600090505b60016000805490500381101561100b578173ffffffffffffffffffffffffffffffffffffffff16600082815481101515610f1657fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610ffe576000600160008054905003815481101515610f7557fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600082815481101515610fb057fe5b906000526020600020900160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061100b565b8080600101915050610ee0565b60016000818180549050039150816110239190611b7c565b505050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040805190810160405280600281526020017f425000000000000000000000000000000000000000000000000000000000000081525081565b6000806110dc33611414565b611125600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205485611960565b101561113057600080fd5b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101580156111825750600083115b156112d1576111918184611960565b905080600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611220600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484611ade565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600191506112d6565b600080fd5b5092915050565b6000818154811015156112ec57fe5b90600052602060002090016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561137857600080fd5b60008173ffffffffffffffffffffffffffffffffffffffff161415151561139b57fe5b6113a481611979565b156113ae57600080fd5b600080548060010182816113c29190611ba8565b9160005260206000209001600083909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b60008060008060008060008060008061142c8b611979565b1561143a57600099506117f2565b6114438b611a2c565b985061144e8b611a95565b9750600073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff16148061148b5750600088145b1561149957600099506117f2565b8896508673ffffffffffffffffffffffffffffffffffffffff1663a24247f16040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15156114ff57600080fd5b5af1151561150c57600080fd5b5050506040518051905095508673ffffffffffffffffffffffffffffffffffffffff16636b27909d6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561157b57600080fd5b5af1151561158857600080fd5b505050604051805190509450844211156115a557600099506117f2565b60008773ffffffffffffffffffffffffffffffffffffffff16639fb8dd1a6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561160a57600080fd5b5af1151561161757600080fd5b50505060405180519050141561163057600099506117f2565b6116bd6116b6898973ffffffffffffffffffffffffffffffffffffffff16639fb8dd1a6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561169a57600080fd5b5af115156116a757600080fd5b50505060405180519050611b08565b6064611b3b565b9350854210156116cf578399506117f2565b60008773ffffffffffffffffffffffffffffffffffffffff166382351b436040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561173457600080fd5b5af1151561174157600080fd5b50505060405180519050141561176a5784421015611761578399506117f2565b600099506117f2565b600754860142101561177e578399506117f2565b61179361178b8688611960565b600754611b3b565b92506000831115156117b95784421015156117b157600099506117f2565b8399506117f2565b6117c38484611b3b565b91506117da6117d24288611960565b600754611b3b565b90506117ef846117ea8385611b08565b611960565b99505b505050505050505050919050565b600080600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508091505092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156118e857600080fd5b611913600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610e46565b61191c8161131c565b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600061196e83831115611a1d565b818303905092915050565b600080600090505b600080549050811015611a12578273ffffffffffffffffffffffffffffffffffffffff166000828154811015156119b457fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611a055760019150611a17565b8080600101915050611981565b600091505b50919050565b801515611a2957600080fd5b50565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000808284019050611afe848210158015611af95750838210155b611a1d565b8091505092915050565b6000808284029050611b316000851480611b2c5750838583811515611b2957fe5b04145b611a1d565b8091505092915050565b600080611b4a60008411611a1d565b8284811515611b5557fe5b049050611b728385811515611b6657fe5b06828502018514611a1d565b8091505092915050565b815481835581811511611ba357818360005260206000209182019101611ba29190611bd4565b5b505050565b815481835581811511611bcf57818360005260206000209182019101611bce9190611bd4565b5b505050565b611bf691905b80821115611bf2576000816000905550600101611bda565b5090565b905600a165627a7a723058200bb19593604693e4d77088b98e9682fc99e097a27c82c87a51a01e66e1bb21f20029
Deployed Bytecode
0x6060604052600436106100f1576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146100f6578063095ea7b31461018457806312065fe0146101de57806314b116511461020757806318160ddd1461026157806323b872dd1461028a578063313ce567146103035780633b7d09461461032c57806370a08231146103655780638da5cb5b146103b257806395d89b4114610407578063a9059cbb14610495578063ac4afa38146104ef578063d914cd4b14610552578063d9a4ad8b1461058b578063dd62ed3e146105d8578063f2fde38b14610644575b600080fd5b341561010157600080fd5b61010961067d565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561014957808201518184015260208101905061012e565b50505050905090810190601f1680156101765780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561018f57600080fd5b6101c4600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506106b6565b604051808215151515815260200191505060405180910390f35b34156101e957600080fd5b6101f1610805565b6040518082815260200191505060405180910390f35b341561021257600080fd5b610247600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061084c565b604051808215151515815260200191505060405180910390f35b341561026c57600080fd5b610274610a3f565b6040518082815260200191505060405180910390f35b341561029557600080fd5b6102e9600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610a45565b604051808215151515815260200191505060405180910390f35b341561030e57600080fd5b610316610e41565b6040518082815260200191505060405180910390f35b341561033757600080fd5b610363600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610e46565b005b341561037057600080fd5b61039c600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611028565b6040518082815260200191505060405180910390f35b34156103bd57600080fd5b6103c5611071565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561041257600080fd5b61041a611097565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561045a57808201518184015260208101905061043f565b50505050905090810190601f1680156104875780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156104a057600080fd5b6104d5600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506110d0565b604051808215151515815260200191505060405180910390f35b34156104fa57600080fd5b61051060048080359060200190919050506112dd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561055d57600080fd5b610589600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061131c565b005b341561059657600080fd5b6105c2600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611414565b6040518082815260200191505060405180910390f35b34156105e357600080fd5b61062e600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611800565b6040518082815260200191505060405180910390f35b341561064f57600080fd5b61067b600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061188c565b005b6040805190810160405280600e81526020017f4261636b7061636b20546f6b656e00000000000000000000000000000000000081525081565b60006106c133611414565b61070a600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484611960565b101561071557600080fd5b81600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905090565b600080600061085a33611979565b151561086557600080fd5b6108b084600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611a1d565b8473ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561090f5760019250610a37565b61091885611a2c565b915061092385611a95565b90506109673373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806109625750600082145b611a1d565b33600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600192505b505092915050565b60025481565b600081600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410158015610b12575081600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b8015610ba45750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ba2600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484611ade565b115b15610e3557610bf2600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611ade565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610c7e600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611960565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d47600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611960565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050610e3a565b600080fd5b9392505050565b601281565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ea457600080fd5b60008273ffffffffffffffffffffffffffffffffffffffff1614151515610ec757fe5b610ed082611979565b1515610edb57600080fd5b600090505b60016000805490500381101561100b578173ffffffffffffffffffffffffffffffffffffffff16600082815481101515610f1657fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610ffe576000600160008054905003815481101515610f7557fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600082815481101515610fb057fe5b906000526020600020900160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061100b565b8080600101915050610ee0565b60016000818180549050039150816110239190611b7c565b505050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040805190810160405280600281526020017f425000000000000000000000000000000000000000000000000000000000000081525081565b6000806110dc33611414565b611125600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205485611960565b101561113057600080fd5b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101580156111825750600083115b156112d1576111918184611960565b905080600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611220600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484611ade565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600191506112d6565b600080fd5b5092915050565b6000818154811015156112ec57fe5b90600052602060002090016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561137857600080fd5b60008173ffffffffffffffffffffffffffffffffffffffff161415151561139b57fe5b6113a481611979565b156113ae57600080fd5b600080548060010182816113c29190611ba8565b9160005260206000209001600083909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b60008060008060008060008060008061142c8b611979565b1561143a57600099506117f2565b6114438b611a2c565b985061144e8b611a95565b9750600073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff16148061148b5750600088145b1561149957600099506117f2565b8896508673ffffffffffffffffffffffffffffffffffffffff1663a24247f16040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15156114ff57600080fd5b5af1151561150c57600080fd5b5050506040518051905095508673ffffffffffffffffffffffffffffffffffffffff16636b27909d6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561157b57600080fd5b5af1151561158857600080fd5b505050604051805190509450844211156115a557600099506117f2565b60008773ffffffffffffffffffffffffffffffffffffffff16639fb8dd1a6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561160a57600080fd5b5af1151561161757600080fd5b50505060405180519050141561163057600099506117f2565b6116bd6116b6898973ffffffffffffffffffffffffffffffffffffffff16639fb8dd1a6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561169a57600080fd5b5af115156116a757600080fd5b50505060405180519050611b08565b6064611b3b565b9350854210156116cf578399506117f2565b60008773ffffffffffffffffffffffffffffffffffffffff166382351b436040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561173457600080fd5b5af1151561174157600080fd5b50505060405180519050141561176a5784421015611761578399506117f2565b600099506117f2565b600754860142101561177e578399506117f2565b61179361178b8688611960565b600754611b3b565b92506000831115156117b95784421015156117b157600099506117f2565b8399506117f2565b6117c38484611b3b565b91506117da6117d24288611960565b600754611b3b565b90506117ef846117ea8385611b08565b611960565b99505b505050505050505050919050565b600080600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508091505092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156118e857600080fd5b611913600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610e46565b61191c8161131c565b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600061196e83831115611a1d565b818303905092915050565b600080600090505b600080549050811015611a12578273ffffffffffffffffffffffffffffffffffffffff166000828154811015156119b457fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611a055760019150611a17565b8080600101915050611981565b600091505b50919050565b801515611a2957600080fd5b50565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000808284019050611afe848210158015611af95750838210155b611a1d565b8091505092915050565b6000808284029050611b316000851480611b2c5750838583811515611b2957fe5b04145b611a1d565b8091505092915050565b600080611b4a60008411611a1d565b8284811515611b5557fe5b049050611b728385811515611b6657fe5b06828502018514611a1d565b8091505092915050565b815481835581811511611ba357818360005260206000209182019101611ba29190611bd4565b5b505050565b815481835581811511611bcf57818360005260206000209182019101611bce9190611bd4565b5b505050565b611bf691905b80821115611bf2576000816000905550600101611bda565b5090565b905600a165627a7a723058200bb19593604693e4d77088b98e9682fc99e097a27c82c87a51a01e66e1bb21f20029
Swarm Source
bzzr://0bb19593604693e4d77088b98e9682fc99e097a27c82c87a51a01e66e1bb21f2
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.