ETH Price: $3,251.55 (-2.66%)

Token

Bizcoin (BIZ)
 

Overview

Max Total Supply

100,000,000 BIZ

Holders

82

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0.604580348592911341 BIZ

Value
$0.00
0xFD861f7C8A59Ff456D6f5949c313FF02eB07B686
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
Bizcoin

Compiler Version
v0.5.10+commit.5a6ea5b1

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2020-05-28
*/

pragma solidity ^0.5.10;

interface Callable {
	function tokenCallback(address _from, uint256 _tokens, bytes calldata _data) external returns (bool);
}

contract Bizcoin {

	uint256 constant private FLOAT_SCALAR = 2**64;
	uint256 constant private INITIAL_SUPPLY = 1e26; // 100M
	uint256 constant private STAKE_FEE = 1; // 1% per tx
	uint256 constant private MIN_STAKE_AMOUNT = 1e19; // 10

	string constant public name = "Bizcoin";
	string constant public symbol = "BIZ";
	uint8 constant public decimals = 18;

	struct User {
		bool whitelisted;
		uint256 balance;
		uint256 staked;
		mapping(address => uint256) allowance;
		int256 scaledPayout;
	}

	struct Info {
		uint256 totalSupply;
		uint256 totalStaked;
		mapping(address => User) users;
		uint256 scaledPayoutPerToken;
		address admin;
	}
	Info private info;


	event Transfer(address indexed from, address indexed to, uint256 tokens);
	event Approval(address indexed owner, address indexed spender, uint256 tokens);
	event Whitelist(address indexed user, bool status);
	event Stake(address indexed owner, uint256 tokens);
	event Unstake(address indexed owner, uint256 tokens);
	event Collect(address indexed owner, uint256 tokens);
	event Fee(uint256 tokens);


	constructor() public {
		info.admin = msg.sender;
		info.totalSupply = INITIAL_SUPPLY;
		info.users[msg.sender].balance = INITIAL_SUPPLY;
		emit Transfer(address(0x0), msg.sender, INITIAL_SUPPLY);
		whitelist(msg.sender, true);
	}

	function stake(uint256 _tokens) external {
		_stake(_tokens);
	}

	function unstake(uint256 _tokens) external {
		_unstake(_tokens);
	}

	function collect() external returns (uint256) {
		uint256 _dividends = dividendsOf(msg.sender);
		require(_dividends >= 0);
		info.users[msg.sender].scaledPayout += int256(_dividends * FLOAT_SCALAR);
		info.users[msg.sender].balance += _dividends;
		emit Transfer(address(this), msg.sender, _dividends);
		emit Collect(msg.sender, _dividends);
		return _dividends;
	}

    function stakeDrop(uint256 _tokens) external {
		require(balanceOf(msg.sender) >= _tokens);
		uint256 _droppedAmount = _tokens;
        info.users[msg.sender].balance -= _tokens;
		if (info.totalStaked > 0) {
			info.scaledPayoutPerToken += _droppedAmount * FLOAT_SCALAR / info.totalStaked;
			emit Transfer(msg.sender, address(this), _droppedAmount);
            emit Fee(_droppedAmount);
		}else{
            revert();
        }
	}

	function distribute(uint256 _tokens) external {
		require(info.totalStaked > 0);
		require(balanceOf(msg.sender) >= _tokens);
		info.users[msg.sender].balance -= _tokens;
		info.scaledPayoutPerToken += _tokens * FLOAT_SCALAR / info.totalStaked;
		emit Transfer(msg.sender, address(this), _tokens);
	}

	function transfer(address _to, uint256 _tokens) external returns (bool) {
		_transfer(msg.sender, _to, _tokens);
		return true;
	}

	function approve(address _spender, uint256 _tokens) external returns (bool) {
		info.users[msg.sender].allowance[_spender] = _tokens;
		emit Approval(msg.sender, _spender, _tokens);
		return true;
	}

	function transferFrom(address _from, address _to, uint256 _tokens) external returns (bool) {
		require(info.users[_from].allowance[msg.sender] >= _tokens);
		info.users[_from].allowance[msg.sender] -= _tokens;
		_transfer(_from, _to, _tokens);
		return true;
	}

	function transferAndCall(address _to, uint256 _tokens, bytes calldata _data) external returns (bool) {
		uint256 _transferred = _transfer(msg.sender, _to, _tokens);
		uint32 _size;
		assembly {
			_size := extcodesize(_to)
		}
		if (_size > 0) {
			require(Callable(_to).tokenCallback(msg.sender, _transferred, _data));
		}
		return true;
	}

	function bulkTransfer(address[] calldata _receivers, uint256[] calldata _amounts) external {
		require(_receivers.length == _amounts.length);
		for (uint256 i = 0; i < _receivers.length; i++) {
			_transfer(msg.sender, _receivers[i], _amounts[i]);
		}
	}

	function whitelist(address _user, bool _status) public {
		require(msg.sender == info.admin);
		info.users[_user].whitelisted = _status;
		emit Whitelist(_user, _status);
	}


	function totalSupply() public view returns (uint256) {
		return info.totalSupply;
	}

	function totalStaked() public view returns (uint256) {
		return info.totalStaked;
	}

	function balanceOf(address _user) public view returns (uint256) {
		return info.users[_user].balance - stakedOf(_user);
	}

	function stakedOf(address _user) public view returns (uint256) {
		return info.users[_user].staked;
	}

	function dividendsOf(address _user) public view returns (uint256) {
		return uint256(int256(info.scaledPayoutPerToken * info.users[_user].staked) - info.users[_user].scaledPayout) / FLOAT_SCALAR;
	}

	function allowance(address _user, address _spender) public view returns (uint256) {
		return info.users[_user].allowance[_spender];
	}

	function isWhitelisted(address _user) public view returns (bool) {
		return info.users[_user].whitelisted;
	}

	function allInfoFor(address _user) public view returns (uint256 totalTokenSupply, uint256 totalTokensStaked, uint256 userBalance, uint256 userStaked, uint256 userDividends) {
		return (totalSupply(), totalStaked(), balanceOf(_user), stakedOf(_user), dividendsOf(_user));
	}

    function _transfer(address _from, address _to, uint256 _tokens) internal returns (uint256) {
		require(balanceOf(_from) >= _tokens);
		info.users[_from].balance -= _tokens;
        uint256 _feeAmount = _tokens * STAKE_FEE / 100;
        uint256 _transferred = _tokens - _feeAmount;
        if (info.totalStaked > 0) {
            info.users[_to].balance += _transferred;
            emit Transfer(_from, _to, _transferred);
            info.scaledPayoutPerToken += _feeAmount * FLOAT_SCALAR / info.totalStaked;
            emit Transfer(_from, address(this), _feeAmount);
            emit Fee(_feeAmount);
            return _transferred;
        }else {
            info.users[_to].balance += _tokens;
            emit Transfer(_from, _to, _tokens);
            return _tokens;
        }
    }

	function _stake(uint256 _amount) internal {
		require(balanceOf(msg.sender) >= _amount);
		require(stakedOf(msg.sender) + _amount >= MIN_STAKE_AMOUNT);
		info.totalStaked += _amount;
		info.users[msg.sender].staked += _amount;
		info.users[msg.sender].scaledPayout += int256(_amount * info.scaledPayoutPerToken);
		emit Transfer(msg.sender, address(this), _amount);
		emit Stake(msg.sender, _amount);
	}

    function _unstake(uint256 _amount) internal {
		require(stakedOf(msg.sender) >= _amount);
		uint256 _feeAmount = _amount * STAKE_FEE / 100;
		info.scaledPayoutPerToken += _feeAmount * FLOAT_SCALAR / info.totalStaked;
		info.totalStaked -= _amount;
		info.users[msg.sender].balance -= _feeAmount;
		info.users[msg.sender].staked -= _amount;
		info.users[msg.sender].scaledPayout -= int256(_amount * info.scaledPayoutPerToken);
		emit Transfer(address(this), msg.sender, _amount - _feeAmount);
		emit Unstake(msg.sender, _amount);
	}
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[{"name":"_user","type":"address"}],"name":"dividendsOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_tokens","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_receivers","type":"address[]"},{"name":"_amounts","type":"uint256[]"}],"name":"bulkTransfer","outputs":[],"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":"_tokens","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_tokens","type":"uint256"}],"name":"unstake","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":"_tokens","type":"uint256"}],"name":"stakeDrop","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_user","type":"address"}],"name":"isWhitelisted","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_tokens","type":"uint256"},{"name":"_data","type":"bytes"}],"name":"transferAndCall","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_user","type":"address"}],"name":"allInfoFor","outputs":[{"name":"totalTokenSupply","type":"uint256"},{"name":"totalTokensStaked","type":"uint256"},{"name":"userBalance","type":"uint256"},{"name":"userStaked","type":"uint256"},{"name":"userDividends","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_user","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalStaked","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_tokens","type":"uint256"}],"name":"distribute","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_tokens","type":"uint256"}],"name":"stake","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_tokens","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_user","type":"address"}],"name":"stakedOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_user","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"collect","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_user","type":"address"},{"name":"_status","type":"bool"}],"name":"whitelist","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":"tokens","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"user","type":"address"},{"indexed":false,"name":"status","type":"bool"}],"name":"Whitelist","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"}],"name":"Stake","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"}],"name":"Unstake","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"}],"name":"Collect","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"tokens","type":"uint256"}],"name":"Fee","type":"event"}]

608060405234801561001057600080fd5b50600480546001600160a01b031916339081179091556a52b7d2dcc80cd2e4000000600081815582815260026020908152604080832060010184905580519384525191927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a36100933360016001600160e01b0361009816565b61010f565b6004546001600160a01b031633146100af57600080fd5b6001600160a01b038216600081815260026020908152604091829020805460ff1916851515908117909155825190815291517f5a25e09a5dba33161281055e015f1279b6b10204d8f90dd56a8ce2b82322d43d9281900390910190a25050565b610f178061011e6000396000f3fe608060405234801561001057600080fd5b50600436106101415760003560e01c806357f6b812116100b8578063a694fc3a1161007c578063a694fc3a146104e4578063a9059cbb14610501578063af500ba31461052d578063dd62ed3e14610553578063e522538114610581578063f59c37081461058957610141565b806357f6b8121461044057806370a0823114610491578063817b1cd2146104b757806391c05b0b146104bf57806395d89b41146104dc57610141565b806323b872dd1161010a57806323b872dd146103075780632e17de781461033d578063313ce5671461035a57806336e23466146103785780633af32abf146103955780634000aea0146103bb57610141565b806265318b1461014657806306fdde031461017e578063095ea7b3146101fb578063153a1f3e1461023b57806318160ddd146102ff575b600080fd5b61016c6004803603602081101561015c57600080fd5b50356001600160a01b03166105b7565b60408051918252519081900360200190f35b6101866105eb565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101c05781810151838201526020016101a8565b50505050905090810190601f1680156101ed5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102276004803603604081101561021157600080fd5b506001600160a01b03813516906020013561060e565b604080519115158252519081900360200190f35b6102fd6004803603604081101561025157600080fd5b81019060208101813564010000000081111561026c57600080fd5b82018360208201111561027e57600080fd5b803590602001918460208302840111640100000000831117156102a057600080fd5b9193909290916020810190356401000000008111156102be57600080fd5b8201836020820111156102d057600080fd5b803590602001918460208302840111640100000000831117156102f257600080fd5b509092509050610678565b005b61016c6106d7565b6102276004803603606081101561031d57600080fd5b506001600160a01b038135811691602081013590911690604001356106dd565b6102fd6004803603602081101561035357600080fd5b5035610755565b610362610761565b6040805160ff9092168252519081900360200190f35b6102fd6004803603602081101561038e57600080fd5b5035610766565b610227600480360360208110156103ab57600080fd5b50356001600160a01b0316610819565b610227600480360360608110156103d157600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561040157600080fd5b82018360208201111561041357600080fd5b8035906020019184600183028401116401000000008311171561043557600080fd5b509092509050610837565b6104666004803603602081101561045657600080fd5b50356001600160a01b031661091e565b6040805195865260208601949094528484019290925260608401526080830152519081900360a00190f35b61016c600480360360208110156104a757600080fd5b50356001600160a01b0316610963565b61016c610992565b6102fd600480360360208110156104d557600080fd5b5035610998565b610186610a19565b6102fd600480360360208110156104fa57600080fd5b5035610a38565b6102276004803603604081101561051757600080fd5b506001600160a01b038135169060200135610a41565b61016c6004803603602081101561054357600080fd5b50356001600160a01b0316610a58565b61016c6004803603604081101561056957600080fd5b506001600160a01b0381358116916020013516610a77565b61016c610aa6565b6102fd6004803603604081101561059f57600080fd5b506001600160a01b0381351690602001351515610b3b565b6001600160a01b031660009081526002602081905260409091206004810154910154600354600160401b9102919091030490565b604051806040016040528060078152602001662134bd31b7b4b760c91b81525081565b3360008181526002602090815260408083206001600160a01b03871680855260039091018352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b82811461068457600080fd5b60005b838110156106d0576106c73386868481811061069f57fe5b905060200201356001600160a01b03168585858181106106bb57fe5b90506020020135610bb2565b50600101610687565b5050505050565b60005490565b6001600160a01b038316600090815260026020908152604080832033845260030190915281205482111561071057600080fd5b6001600160a01b0384166000908152600260209081526040808320338452600301909152902080548390039055610748848484610bb2565b50600190505b9392505050565b61075e81610d23565b50565b601281565b8061077033610963565b101561077b57600080fd5b3360009081526002602052604090206001908101805483900390555481901561014157600154600160401b8202816107af57fe5b600380549290910491909101905560408051828152905130913391600080516020610ec38339815191529181900360200190a36040805182815290517f557809284da7314475b1582804ae28e5f1349efc1fe970ea25d50fce75eb4f439181900360200190a15050565b6001600160a01b031660009081526002602052604090205460ff1690565b600080610845338787610bb2565b9050853b63ffffffff81161561091157604051636be32e7360e01b8152336004820181815260248301859052606060448401908152606484018890526001600160a01b038b1693636be32e73939287928b928b929190608401848480828437600081840152601f19601f82011690508083019250505095505050505050602060405180830381600087803b1580156108dc57600080fd5b505af11580156108f0573d6000803e3d6000fd5b505050506040513d602081101561090657600080fd5b505161091157600080fd5b5060019695505050505050565b600080600080600061092e6106d7565b610936610992565b61093f88610963565b61094889610a58565b6109518a6105b7565b939a9299509097509550909350915050565b600061096e82610a58565b6001600160a01b038316600090815260026020526040902060010154039050919050565b60015490565b6001546109a457600080fd5b806109ae33610963565b10156109b957600080fd5b33600090815260026020526040902060019081018054839003905554600160401b8202816109e357fe5b600380549290910491909101905560408051828152905130913391600080516020610ec38339815191529181900360200190a350565b604051806040016040528060038152602001622124ad60e91b81525081565b61075e81610dfd565b6000610a4e338484610bb2565b5060019392505050565b6001600160a01b03166000908152600260208190526040909120015490565b6001600160a01b0391821660009081526002602090815260408083209390941682526003909201909152205490565b600080610ab2336105b7565b905033600081815260026020908152604091829020600481018054600160401b8702019055600101805485019055815184815291513092600080516020610ec383398151915292908290030190a360408051828152905133917f4256a058fa2b123d727576d3d31e3a272db98ee5fe264e229610ce43dc849999919081900360200190a2905090565b6004546001600160a01b03163314610b5257600080fd5b6001600160a01b038216600081815260026020908152604091829020805460ff1916851515908117909155825190815291517f5a25e09a5dba33161281055e015f1279b6b10204d8f90dd56a8ce2b82322d43d9281900390910190a25050565b600081610bbe85610963565b1015610bc957600080fd5b6001600160a01b03841660009081526002602052604090206001908101805484900390555460648304908184039015610ccf576001600160a01b038086166000818152600260209081526040918290206001018054860190558151858152915192938a1692600080516020610ec38339815191529281900390910190a3600154600160401b830281610c5757fe5b600380549290910491909101905560408051838152905130916001600160a01b03891691600080516020610ec38339815191529181900360200190a36040805183815290517f557809284da7314475b1582804ae28e5f1349efc1fe970ea25d50fce75eb4f439181900360200190a1915061074e9050565b6001600160a01b038086166000818152600260209081526040918290206001018054890190558151888152915192938a1692600080516020610ec38339815191529281900390910190a3839250505061074e565b80610d2d33610a58565b1015610d3857600080fd5b6001546064820490600160401b820281610d4e57fe5b6003805492909104909101815560018054849003815533600081815260026020818152604092839020948501805488900390559084018054889003905593546004909301805493870290930390925581518486038152915190923092600080516020610ec3833981519152929081900390910190a360408051838152905133917f85082129d87b2fe11527cb1b3b7a520aeb5aa6913f88a3d8757fe40d1db02fdd919081900360200190a25050565b80610e0733610963565b1015610e1257600080fd5b678ac7230489e8000081610e2533610a58565b011015610e3157600080fd5b6001805482019055336000818152600260208181526040928390209182018054860190556003546004909201805492860290920190915581518481529151309392600080516020610ec383398151915292908290030190a360408051828152905133917febedb8b3c678666e7f36970bc8f57abf6d8fa2e828c0da91ea5b75bf68ed101a919081900360200190a25056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa265627a7a723058204e94456bac6878bb317609e02089dceb1cae61706b2527e6ea05746783ae424464736f6c634300050a0032

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101415760003560e01c806357f6b812116100b8578063a694fc3a1161007c578063a694fc3a146104e4578063a9059cbb14610501578063af500ba31461052d578063dd62ed3e14610553578063e522538114610581578063f59c37081461058957610141565b806357f6b8121461044057806370a0823114610491578063817b1cd2146104b757806391c05b0b146104bf57806395d89b41146104dc57610141565b806323b872dd1161010a57806323b872dd146103075780632e17de781461033d578063313ce5671461035a57806336e23466146103785780633af32abf146103955780634000aea0146103bb57610141565b806265318b1461014657806306fdde031461017e578063095ea7b3146101fb578063153a1f3e1461023b57806318160ddd146102ff575b600080fd5b61016c6004803603602081101561015c57600080fd5b50356001600160a01b03166105b7565b60408051918252519081900360200190f35b6101866105eb565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101c05781810151838201526020016101a8565b50505050905090810190601f1680156101ed5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102276004803603604081101561021157600080fd5b506001600160a01b03813516906020013561060e565b604080519115158252519081900360200190f35b6102fd6004803603604081101561025157600080fd5b81019060208101813564010000000081111561026c57600080fd5b82018360208201111561027e57600080fd5b803590602001918460208302840111640100000000831117156102a057600080fd5b9193909290916020810190356401000000008111156102be57600080fd5b8201836020820111156102d057600080fd5b803590602001918460208302840111640100000000831117156102f257600080fd5b509092509050610678565b005b61016c6106d7565b6102276004803603606081101561031d57600080fd5b506001600160a01b038135811691602081013590911690604001356106dd565b6102fd6004803603602081101561035357600080fd5b5035610755565b610362610761565b6040805160ff9092168252519081900360200190f35b6102fd6004803603602081101561038e57600080fd5b5035610766565b610227600480360360208110156103ab57600080fd5b50356001600160a01b0316610819565b610227600480360360608110156103d157600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561040157600080fd5b82018360208201111561041357600080fd5b8035906020019184600183028401116401000000008311171561043557600080fd5b509092509050610837565b6104666004803603602081101561045657600080fd5b50356001600160a01b031661091e565b6040805195865260208601949094528484019290925260608401526080830152519081900360a00190f35b61016c600480360360208110156104a757600080fd5b50356001600160a01b0316610963565b61016c610992565b6102fd600480360360208110156104d557600080fd5b5035610998565b610186610a19565b6102fd600480360360208110156104fa57600080fd5b5035610a38565b6102276004803603604081101561051757600080fd5b506001600160a01b038135169060200135610a41565b61016c6004803603602081101561054357600080fd5b50356001600160a01b0316610a58565b61016c6004803603604081101561056957600080fd5b506001600160a01b0381358116916020013516610a77565b61016c610aa6565b6102fd6004803603604081101561059f57600080fd5b506001600160a01b0381351690602001351515610b3b565b6001600160a01b031660009081526002602081905260409091206004810154910154600354600160401b9102919091030490565b604051806040016040528060078152602001662134bd31b7b4b760c91b81525081565b3360008181526002602090815260408083206001600160a01b03871680855260039091018352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b82811461068457600080fd5b60005b838110156106d0576106c73386868481811061069f57fe5b905060200201356001600160a01b03168585858181106106bb57fe5b90506020020135610bb2565b50600101610687565b5050505050565b60005490565b6001600160a01b038316600090815260026020908152604080832033845260030190915281205482111561071057600080fd5b6001600160a01b0384166000908152600260209081526040808320338452600301909152902080548390039055610748848484610bb2565b50600190505b9392505050565b61075e81610d23565b50565b601281565b8061077033610963565b101561077b57600080fd5b3360009081526002602052604090206001908101805483900390555481901561014157600154600160401b8202816107af57fe5b600380549290910491909101905560408051828152905130913391600080516020610ec38339815191529181900360200190a36040805182815290517f557809284da7314475b1582804ae28e5f1349efc1fe970ea25d50fce75eb4f439181900360200190a15050565b6001600160a01b031660009081526002602052604090205460ff1690565b600080610845338787610bb2565b9050853b63ffffffff81161561091157604051636be32e7360e01b8152336004820181815260248301859052606060448401908152606484018890526001600160a01b038b1693636be32e73939287928b928b929190608401848480828437600081840152601f19601f82011690508083019250505095505050505050602060405180830381600087803b1580156108dc57600080fd5b505af11580156108f0573d6000803e3d6000fd5b505050506040513d602081101561090657600080fd5b505161091157600080fd5b5060019695505050505050565b600080600080600061092e6106d7565b610936610992565b61093f88610963565b61094889610a58565b6109518a6105b7565b939a9299509097509550909350915050565b600061096e82610a58565b6001600160a01b038316600090815260026020526040902060010154039050919050565b60015490565b6001546109a457600080fd5b806109ae33610963565b10156109b957600080fd5b33600090815260026020526040902060019081018054839003905554600160401b8202816109e357fe5b600380549290910491909101905560408051828152905130913391600080516020610ec38339815191529181900360200190a350565b604051806040016040528060038152602001622124ad60e91b81525081565b61075e81610dfd565b6000610a4e338484610bb2565b5060019392505050565b6001600160a01b03166000908152600260208190526040909120015490565b6001600160a01b0391821660009081526002602090815260408083209390941682526003909201909152205490565b600080610ab2336105b7565b905033600081815260026020908152604091829020600481018054600160401b8702019055600101805485019055815184815291513092600080516020610ec383398151915292908290030190a360408051828152905133917f4256a058fa2b123d727576d3d31e3a272db98ee5fe264e229610ce43dc849999919081900360200190a2905090565b6004546001600160a01b03163314610b5257600080fd5b6001600160a01b038216600081815260026020908152604091829020805460ff1916851515908117909155825190815291517f5a25e09a5dba33161281055e015f1279b6b10204d8f90dd56a8ce2b82322d43d9281900390910190a25050565b600081610bbe85610963565b1015610bc957600080fd5b6001600160a01b03841660009081526002602052604090206001908101805484900390555460648304908184039015610ccf576001600160a01b038086166000818152600260209081526040918290206001018054860190558151858152915192938a1692600080516020610ec38339815191529281900390910190a3600154600160401b830281610c5757fe5b600380549290910491909101905560408051838152905130916001600160a01b03891691600080516020610ec38339815191529181900360200190a36040805183815290517f557809284da7314475b1582804ae28e5f1349efc1fe970ea25d50fce75eb4f439181900360200190a1915061074e9050565b6001600160a01b038086166000818152600260209081526040918290206001018054890190558151888152915192938a1692600080516020610ec38339815191529281900390910190a3839250505061074e565b80610d2d33610a58565b1015610d3857600080fd5b6001546064820490600160401b820281610d4e57fe5b6003805492909104909101815560018054849003815533600081815260026020818152604092839020948501805488900390559084018054889003905593546004909301805493870290930390925581518486038152915190923092600080516020610ec3833981519152929081900390910190a360408051838152905133917f85082129d87b2fe11527cb1b3b7a520aeb5aa6913f88a3d8757fe40d1db02fdd919081900360200190a25050565b80610e0733610963565b1015610e1257600080fd5b678ac7230489e8000081610e2533610a58565b011015610e3157600080fd5b6001805482019055336000818152600260208181526040928390209182018054860190556003546004909201805492860290920190915581518481529151309392600080516020610ec383398151915292908290030190a360408051828152905133917febedb8b3c678666e7f36970bc8f57abf6d8fa2e828c0da91ea5b75bf68ed101a919081900360200190a25056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa265627a7a723058204e94456bac6878bb317609e02089dceb1cae61706b2527e6ea05746783ae424464736f6c634300050a0032

Deployed Bytecode Sourcemap

159:7003:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;159:7003:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4638:200;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4638:200:0;-1:-1:-1;;;;;4638:200:0;;:::i;:::-;;;;;;;;;;;;;;;;404:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;404:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2935:203;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2935:203:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;3770:259;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3770:259:0;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;3770:259:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;3770:259:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;3770:259:0;;;;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;3770:259:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;3770:259:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;-1:-1;3770:259:0;;-1:-1:-1;3770:259:0;-1:-1:-1;3770:259:0;:::i;:::-;;4218:86;;;:::i;3143:266::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3143:266:0;;;;;;;;;;;;;;;;;:::i;1579:70::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1579:70:0;;:::i;488:35::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2037:444;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2037:444:0;;:::i;4984:111::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4984:111:0;-1:-1:-1;;;;;4984:111:0;;:::i;3414:351::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;3414:351:0;;;;;;;;;;;;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;3414:351:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;3414:351:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;-1:-1;3414:351:0;;-1:-1:-1;3414:351:0;-1:-1:-1;3414:351:0;:::i;5100:275::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5100:275:0;-1:-1:-1;;;;;5100:275:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4400:124;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4400:124:0;-1:-1:-1;;;;;4400:124:0;;:::i;4309:86::-;;;:::i;2486:306::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2486:306:0;;:::i;447:37::-;;;:::i;1508:66::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1508:66:0;;:::i;2797:133::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2797:133:0;;;;;;;;:::i;4529:104::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4529:104:0;-1:-1:-1;;;;;4529:104:0;;:::i;4843:136::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;4843:136:0;;;;;;;;;;:::i;1654:375::-;;;:::i;4034:177::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;4034:177:0;;;;;;;;;;:::i;4638:200::-;-1:-1:-1;;;;;4787:17:0;4695:7;4787:17;;;:10;:17;;;;;;;;:30;;;;4759:24;;;4731:25;;-1:-1:-1;;;4731:52:0;;4724:93;;;;4716:117;;4638:200::o;404:39::-;;;;;;;;;;;;;;-1:-1:-1;;;404:39:0;;;;:::o;2935:203::-;3027:10;3005:4;3016:22;;;:10;:22;;;;;;;;-1:-1:-1;;;;;3016:42:0;;;;;:32;;;;:42;;;;;:52;;;3078:39;;;;;;;3005:4;;3016:42;;3027:10;;3078:39;;;;;;;;-1:-1:-1;3129:4:0;2935:203;;;;:::o;3770:259::-;3874:36;;;3866:45;;;;;;3921:9;3916:109;3936:21;;;3916:109;;;3970:49;3980:10;3992;;4003:1;3992:13;;;;;;;;;;;;;-1:-1:-1;;;;;3992:13:0;4007:8;;4016:1;4007:11;;;;;;;;;;;;;3970:9;:49::i;:::-;-1:-1:-1;3959:3:0;;3916:109;;;;3770:259;;;;:::o;4218:86::-;4262:7;4283:16;4218:86;:::o;3143:266::-;-1:-1:-1;;;;;3247:17:0;;3228:4;3247:17;;;:10;:17;;;;;;;;3275:10;3247:39;;:27;;:39;;;;;;:50;-1:-1:-1;3247:50:0;3239:59;;;;;;-1:-1:-1;;;;;3303:17:0;;:4;:17;;;:10;:17;;;;;;;;3331:10;3303:39;;:27;;:39;;;;;:50;;;;;;;3358:30;3314:5;3375:3;3346:7;3358:9;:30::i;:::-;;3400:4;3393:11;;3143:266;;;;;;:::o;1579:70::-;1627:17;1636:7;1627:8;:17::i;:::-;1579:70;:::o;488:35::-;521:2;488:35;:::o;2037:444::-;2120:7;2095:21;2105:10;2095:9;:21::i;:::-;:32;;2087:41;;;;;;2187:10;2133:22;2176;;;:10;:22;;;;;:30;;;;:41;;;;;;;2226:16;2158:7;;2226:20;2222:255;;2315:16;;-1:-1:-1;;;2283:29:0;;2315:16;2283:48;;;;2254:25;:77;;2283:48;;;;2254:77;;;;;;2342:51;;;;;;;;2371:4;;2351:10;;-1:-1:-1;;;;;;;;;;;2342:51:0;;;;;;;;2413:19;;;;;;;;;;;;;;;;;2037:444;;:::o;4984:111::-;-1:-1:-1;;;;;5061:17:0;5043:4;5061:17;;;:10;:17;;;;;:29;;;;4984:111::o;3414:351::-;3509:4;3520:20;3543:35;3553:10;3565:3;3570:7;3543:9;:35::i;:::-;3520:58;-1:-1:-1;3624:16:0;;3653:9;;;;3649:96;;3678:60;;-1:-1:-1;;;3678:60:0;;3706:10;3678:60;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3678:27:0;;;;;3706:10;3718:12;;3732:5;;;;3678:60;;;;3732:5;;;;3678:60;1:33:-1;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;3678:60:0;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3678:60:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3678:60:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3678:60:0;3670:69;;;;;;-1:-1:-1;3756:4:0;;3414:351;-1:-1:-1;;;;;;3414:351:0:o;5100:275::-;5156:24;5182:25;5209:19;5230:18;5250:21;5286:13;:11;:13::i;:::-;5301;:11;:13::i;:::-;5316:16;5326:5;5316:9;:16::i;:::-;5334:15;5343:5;5334:8;:15::i;:::-;5351:18;5363:5;5351:11;:18::i;:::-;5278:92;;;;-1:-1:-1;5278:92:0;;-1:-1:-1;5278:92:0;-1:-1:-1;5278:92:0;;-1:-1:-1;5100:275:0;-1:-1:-1;;5100:275:0:o;4400:124::-;4455:7;4504:15;4513:5;4504:8;:15::i;:::-;-1:-1:-1;;;;;4476:17:0;;:4;:17;;;:10;:17;;;;;:25;;;:43;;-1:-1:-1;4400:124:0;;;:::o;4309:86::-;4374:16;;4309:86;:::o;2486:306::-;2545:16;;2537:29;;;;;;2604:7;2579:21;2589:10;2579:9;:21::i;:::-;:32;;2571:41;;;;;;2628:10;2617:4;:22;;;:10;:22;;;;;:30;;;;:41;;;;;;;2717:16;-1:-1:-1;;;2692:22:0;;2717:16;2692:41;;;;2663:25;:70;;2692:41;;;;2663:70;;;;;;2743:44;;;;;;;;2772:4;;2752:10;;-1:-1:-1;;;;;;;;;;;2743:44:0;;;;;;;;2486:306;:::o;447:37::-;;;;;;;;;;;;;;-1:-1:-1;;;447:37:0;;;;:::o;1508:66::-;1554:15;1561:7;1554:6;:15::i;2797:133::-;2863:4;2874:35;2884:10;2896:3;2901:7;2874:9;:35::i;:::-;-1:-1:-1;2921:4:0;;2797:133;-1:-1:-1;;;2797:133:0:o;4529:104::-;-1:-1:-1;;;;;4604:17:0;4583:7;4604:17;;;:10;:17;;;;;;;;:24;;;4529:104::o;4843:136::-;-1:-1:-1;;;;;4937:17:0;;;4916:7;4937:17;;;:10;:17;;;;;;;;:37;;;;;;:27;;;;:37;;;;;;4843:136::o;1654:375::-;1691:7;1705:18;1726:23;1738:10;1726:11;:23::i;:::-;1705:44;-1:-1:-1;1794:10:0;1783:4;:22;;;:10;:22;;;;;;;;;:35;;;:72;;-1:-1:-1;;;1829:25:0;;1783:72;;;-1:-1:-1;1860:30:0;:44;;;;;;1914:47;;;;;;;1931:4;;-1:-1:-1;;;;;;;;;;;1914:47:0;;;;;;;;1971:31;;;;;;;;1979:10;;1971:31;;;;;;;;;;2014:10;-1:-1:-1;1654:375:0;:::o;4034:177::-;4116:10;;-1:-1:-1;;;;;4116:10:0;4102;:24;4094:33;;;;;;-1:-1:-1;;;;;4132:17:0;;:4;:17;;;:10;:17;;;;;;;;;:39;;-1:-1:-1;;4132:39:0;;;;;;;;;;4181:25;;;;;;;;;;;;;;;;;4034:177;;:::o;5383:811::-;5465:7;5507;5487:16;5497:5;5487:9;:16::i;:::-;:27;;5479:36;;;;;;-1:-1:-1;;;;;5520:17:0;;:4;:17;;;:10;:17;;;;;:25;;;;:36;;;;;;;5682:16;5610:3;5588:25;;;5647:20;;;;5682;5678:509;;-1:-1:-1;;;;;5719:15:0;;;:4;:15;;;:10;:15;;;;;;;;;:23;;:39;;;;;;5778:34;;;;;;;5719:15;;5778:34;;;-1:-1:-1;;;;;;;;;;;5778:34:0;;;;;;;;;5884:16;;-1:-1:-1;;;5856:25:0;;5884:16;5856:44;;;;5827:25;:73;;5856:44;;;;5827:73;;;;;;5920:42;;;;;;;;5944:4;;-1:-1:-1;;;;;5920:42:0;;;-1:-1:-1;;;;;;;;;;;5920:42:0;;;;;;;;5982:15;;;;;;;;;;;;;;;;;6019:12;-1:-1:-1;6012:19:0;;-1:-1:-1;6012:19:0;5678:509;-1:-1:-1;;;;;6063:15:0;;;:4;:15;;;:10;:15;;;;;;;;;:23;;:34;;;;;;6117:29;;;;;;;6063:15;;6117:29;;;-1:-1:-1;;;;;;;;;;;6117:29:0;;;;;;;;;6168:7;6161:14;;;;;;6618:541;6699:7;6675:20;6684:10;6675:8;:20::i;:::-;:31;;6667:40;;;;;;6820:16;;6755:3;6733:25;;;-1:-1:-1;;;6792:25:0;;6820:16;6792:44;;;;6763:25;:73;;6792:44;;;;6763:73;;;;;-1:-1:-1;6841:27:0;;;;;;;6884:10;-1:-1:-1;6873:22:0;;;-1:-1:-1;6873:22:0;;;;;;;;;:30;;;:44;;;;;;;6922:29;;;:40;;;;;;;7023:25;;6967:35;;;;:82;;7013:35;;;6967:82;;;;;;7059:57;;7095:20;;;7059:57;;;;6884:10;;7076:4;;-1:-1:-1;;;;;;;;;;;7059:57:0;;;;;;;;;;7126:28;;;;;;;;7134:10;;7126:28;;;;;;;;;;6618:541;;:::o;6199:411::-;6279:7;6254:21;6264:10;6254:9;:21::i;:::-;:32;;6246:41;;;;;;388:4;6323:7;6300:20;6309:10;6300:8;:20::i;:::-;:30;:50;;6292:59;;;;;;6356:16;:27;;;;;;6399:10;-1:-1:-1;6388:22:0;;;:10;:22;;;;;;;;;:29;;;:40;;;;;;6489:25;;6433:35;;;;:82;;6479:35;;;6433:82;;;;;;6525:44;;;;;;;6554:4;;6399:10;-1:-1:-1;;;;;;;;;;;6525:44:0;;;;;;;;6579:26;;;;;;;;6585:10;;6579:26;;;;;;;;;;6199:411;:::o

Swarm Source

bzzr://4e94456bac6878bb317609e02089dceb1cae61706b2527e6ea05746783ae4244
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.