ERC-20
DeFi
Overview
Max Total Supply
853,288,809.99563692558422357 MYX
Holders
2,471 (0.00%)
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
11,331.736784185372676831 MYXValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
MYXNetwork
Compiler Version
v0.5.17+commit.d19bba13
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-08-08 */ /** * Official Site: https://myx.network * Telegram: https://t.me/myxnetwork * Twitter: https://twitter.com/myxnetwork * Copyright 2020 MYX Network All Rights Reserved. * No alteration, reproduction or replication of this contract without prior written consent from MYX Network */ pragma solidity ^0.5.13; interface Callable { function tokenCallback(address _from, uint256 _tokens, bytes calldata _data) external returns (bool); } contract MYXNetwork { uint256 constant private FLOAT_SCALAR = 2**64; uint256 constant private INITIAL_SUPPLY = 1e27; // 1B uint256 constant private BURN_RATE = 5; // 5% per tx uint256 constant private SUPPLY_FLOOR = 10; // 10% of 1B = 100M uint256 constant private MIN_FREEZE_AMOUNT = 1e20; // 100 string constant public name = "MYX Network"; string constant public symbol = "MYX"; uint8 constant public decimals = 18; struct User { bool whitelisted; uint256 balance; uint256 frozen; mapping(address => uint256) allowance; int256 scaledPayout; } struct Info { uint256 totalSupply; uint256 totalFrozen; 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 Freeze(address indexed owner, uint256 tokens); event Unfreeze(address indexed owner, uint256 tokens); event Collect(address indexed owner, uint256 tokens); event Burn(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 freeze(uint256 _tokens) external { _freeze(_tokens); } function unfreeze(uint256 _tokens) external { _unfreeze(_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 burn(uint256 _tokens) external { require(balanceOf(msg.sender) >= _tokens); info.users[msg.sender].balance -= _tokens; uint256 _burnedAmount = _tokens; if (info.totalFrozen > 0) { _burnedAmount /= 2; info.scaledPayoutPerToken += _burnedAmount * FLOAT_SCALAR / info.totalFrozen; emit Transfer(msg.sender, address(this), _burnedAmount); } info.totalSupply -= _burnedAmount; emit Transfer(msg.sender, address(0x0), _burnedAmount); emit Burn(_burnedAmount); } function distribute(uint256 _tokens) external { require(info.totalFrozen > 0); require(balanceOf(msg.sender) >= _tokens); info.users[msg.sender].balance -= _tokens; info.scaledPayoutPerToken += _tokens * FLOAT_SCALAR / info.totalFrozen; 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 totalFrozen() public view returns (uint256) { return info.totalFrozen; } function balanceOf(address _user) public view returns (uint256) { return info.users[_user].balance - frozenOf(_user); } function frozenOf(address _user) public view returns (uint256) { return info.users[_user].frozen; } function dividendsOf(address _user) public view returns (uint256) { return uint256(int256(info.scaledPayoutPerToken * info.users[_user].frozen) - 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 totalTokensFrozen, uint256 userBalance, uint256 userFrozen, uint256 userDividends) { return (totalSupply(), totalFrozen(), balanceOf(_user), frozenOf(_user), dividendsOf(_user)); } function _transfer(address _from, address _to, uint256 _tokens) internal returns (uint256) { require(balanceOf(_from) >= _tokens); info.users[_from].balance -= _tokens; uint256 _burnedAmount = _tokens * BURN_RATE / 100; if (totalSupply() - _burnedAmount < INITIAL_SUPPLY * SUPPLY_FLOOR / 100 || isWhitelisted(_from)) { _burnedAmount = 0; } uint256 _transferred = _tokens - _burnedAmount; info.users[_to].balance += _transferred; emit Transfer(_from, _to, _transferred); if (_burnedAmount > 0) { if (info.totalFrozen > 0) { _burnedAmount /= 2; info.scaledPayoutPerToken += _burnedAmount * FLOAT_SCALAR / info.totalFrozen; emit Transfer(_from, address(this), _burnedAmount); } info.totalSupply -= _burnedAmount; emit Transfer(_from, address(0x0), _burnedAmount); emit Burn(_burnedAmount); } return _transferred; } function _freeze(uint256 _amount) internal { require(balanceOf(msg.sender) >= _amount); require(frozenOf(msg.sender) + _amount >= MIN_FREEZE_AMOUNT); info.totalFrozen += _amount; info.users[msg.sender].frozen += _amount; info.users[msg.sender].scaledPayout += int256(_amount * info.scaledPayoutPerToken); emit Transfer(msg.sender, address(this), _amount); emit Freeze(msg.sender, _amount); } function _unfreeze(uint256 _amount) internal { require(frozenOf(msg.sender) >= _amount); uint256 _burnedAmount = _amount * BURN_RATE / 100; info.scaledPayoutPerToken += _burnedAmount * FLOAT_SCALAR / info.totalFrozen; info.totalFrozen -= _amount; info.users[msg.sender].balance -= _burnedAmount; info.users[msg.sender].frozen -= _amount; info.users[msg.sender].scaledPayout -= int256(_amount * info.scaledPayoutPerToken); emit Transfer(address(this), msg.sender, _amount - _burnedAmount); emit Unfreeze(msg.sender, _amount); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"Collect","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"Freeze","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"Unfreeze","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"bool","name":"status","type":"bool"}],"name":"Whitelist","type":"event"},{"constant":true,"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"allInfoFor","outputs":[{"internalType":"uint256","name":"totalTokenSupply","type":"uint256"},{"internalType":"uint256","name":"totalTokensFrozen","type":"uint256"},{"internalType":"uint256","name":"userBalance","type":"uint256"},{"internalType":"uint256","name":"userFrozen","type":"uint256"},{"internalType":"uint256","name":"userDividends","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"address","name":"_spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address[]","name":"_receivers","type":"address[]"},{"internalType":"uint256[]","name":"_amounts","type":"uint256[]"}],"name":"bulkTransfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"collect","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"distribute","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"dividendsOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"freeze","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"frozenOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"isWhitelisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalFrozen","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_tokens","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"transferAndCall","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"unfreeze","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"whitelist","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b50600480546001600160a01b031916339081179091556b033b2e3c9fd0803ce8000000600081815582815260026020908152604080832060010184905580519384525191927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a36100943360016001600160e01b0361009916565b610110565b6004546001600160a01b031633146100b057600080fd5b6001600160a01b038216600081815260026020908152604091829020805460ff1916851515908117909155825190815291517f5a25e09a5dba33161281055e015f1279b6b10204d8f90dd56a8ce2b82322d43d9281900390910190a25050565b610f728061011f6000396000f3fe608060405234801561001057600080fd5b50600436106101415760003560e01c806342966c68116100b857806395d89b411161007c57806395d89b4114610502578063a9059cbb1461050a578063d7a78db814610536578063dd62ed3e14610553578063e522538114610581578063f59c37081461058957610141565b806342966c681461043457806357f6b812146104515780636623fc46146104a257806370a08231146104bf57806391c05b0b146104e557610141565b80631bf6e00d1161010a5780631bf6e00d146103075780631e7f87bc1461032d57806323b872dd14610335578063313ce5671461036b5780633af32abf146103895780634000aea0146103af57610141565b806265318b1461014657806306fdde031461017e578063095ea7b3146101fb578063153a1f3e1461023b57806318160ddd146102ff575b600080fd5b61016c6004803603602081101561015c57600080fd5b50356001600160a01b03166105b7565b60408051918252519081900360200190f35b6101866105eb565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101c05781810151838201526020016101a8565b50505050905090810190601f1680156101ed5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102276004803603604081101561021157600080fd5b506001600160a01b038135169060200135610612565b604080519115158252519081900360200190f35b6102fd6004803603604081101561025157600080fd5b81019060208101813564010000000081111561026c57600080fd5b82018360208201111561027e57600080fd5b803590602001918460208302840111640100000000831117156102a057600080fd5b9193909290916020810190356401000000008111156102be57600080fd5b8201836020820111156102d057600080fd5b803590602001918460208302840111640100000000831117156102f257600080fd5b50909250905061067c565b005b61016c6106db565b61016c6004803603602081101561031d57600080fd5b50356001600160a01b03166106e1565b61016c610700565b6102276004803603606081101561034b57600080fd5b506001600160a01b03813581169160208101359091169060400135610706565b61037361077c565b6040805160ff9092168252519081900360200190f35b6102276004803603602081101561039f57600080fd5b50356001600160a01b0316610781565b610227600480360360608110156103c557600080fd5b6001600160a01b03823516916020810135918101906060810160408201356401000000008111156103f557600080fd5b82018360208201111561040757600080fd5b8035906020019184600183028401116401000000008311171561042957600080fd5b50909250905061079f565b6102fd6004803603602081101561044a57600080fd5b5035610886565b6104776004803603602081101561046757600080fd5b50356001600160a01b031661096d565b6040805195865260208601949094528484019290925260608401526080830152519081900360a00190f35b6102fd600480360360208110156104b857600080fd5b50356109b2565b61016c600480360360208110156104d557600080fd5b50356001600160a01b03166109be565b6102fd600480360360208110156104fb57600080fd5b50356109ed565b610186610a6e565b6102276004803603604081101561052057600080fd5b506001600160a01b038135169060200135610a8d565b6102fd6004803603602081101561054c57600080fd5b5035610aa4565b61016c6004803603604081101561056957600080fd5b506001600160a01b0381358116916020013516610aad565b61016c610adc565b6102fd6004803603604081101561059f57600080fd5b506001600160a01b0381351690602001351515610b71565b6001600160a01b031660009081526002602081905260409091206004810154910154600354600160401b9102919091030490565b6040518060400160405280600b81526020016a4d5958204e6574776f726b60a81b81525081565b3360008181526002602090815260408083206001600160a01b03871680855260039091018352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b82811461068857600080fd5b60005b838110156106d4576106cb338686848181106106a357fe5b905060200201356001600160a01b03168585858181106106bf57fe5b90506020020135610be8565b5060010161068b565b5050505050565b60005490565b6001600160a01b03166000908152600260208190526040909120015490565b60015490565b6001600160a01b038316600090815260026020908152604080832033845260030190915281205482111561073957600080fd5b6001600160a01b0384166000908152600260209081526040808320338452600301909152902080548390039055610771848484610be8565b506001949350505050565b601281565b6001600160a01b031660009081526002602052604090205460ff1690565b6000806107ad338787610be8565b9050853b63ffffffff81161561087957604051636be32e7360e01b8152336004820181815260248301859052606060448401908152606484018890526001600160a01b038b1693636be32e73939287928b928b929190608401848480828437600081840152601f19601f82011690508083019250505095505050505050602060405180830381600087803b15801561084457600080fd5b505af1158015610858573d6000803e3d6000fd5b505050506040513d602081101561086e57600080fd5b505161087957600080fd5b5060019695505050505050565b80610890336109be565b101561089b57600080fd5b3360009081526002602052604090206001908101805483900390555481901561090957600154600290910490600160401b8202816108d557fe5b600380549290910491909101905560408051828152905130913391600080516020610f1e8339815191529181900360200190a35b6000805482900381556040805183815290513391600080516020610f1e833981519152919081900360200190a36040805182815290517fb90306ad06b2a6ff86ddc9327db583062895ef6540e62dc50add009db5b356eb9181900360200190a15050565b600080600080600061097d6106db565b610985610700565b61098e886109be565b610997896106e1565b6109a08a6105b7565b939a9299509097509550909350915050565b6109bb81610d7a565b50565b60006109c9826106e1565b6001600160a01b038316600090815260026020526040902060010154039050919050565b6001546109f957600080fd5b80610a03336109be565b1015610a0e57600080fd5b33600090815260026020526040902060019081018054839003905554600160401b820281610a3857fe5b600380549290910491909101905560408051828152905130913391600080516020610f1e8339815191529181900360200190a350565b6040518060400160405280600381526020016209ab2b60eb1b81525081565b6000610a9a338484610be8565b5060019392505050565b6109bb81610e57565b6001600160a01b0391821660009081526002602090815260408083209390941682526003909201909152205490565b600080610ae8336105b7565b905033600081815260026020908152604091829020600481018054600160401b8702019055600101805485019055815184815291513092600080516020610f1e83398151915292908290030190a360408051828152905133917f4256a058fa2b123d727576d3d31e3a272db98ee5fe264e229610ce43dc849999919081900360200190a2905090565b6004546001600160a01b03163314610b8857600080fd5b6001600160a01b038216600081815260026020908152604091829020805460ff1916851515908117909155825190815291517f5a25e09a5dba33161281055e015f1279b6b10204d8f90dd56a8ce2b82322d43d9281900390910190a25050565b600081610bf4856109be565b1015610bff57600080fd5b6001600160a01b038416600090815260026020526040902060010180548390039055606460058302046a52b7d2dcc80cd2e400000081610c3d6106db565b031080610c4e5750610c4e85610781565b15610c57575060005b6001600160a01b0380851660008181526002602090815260409182902060010180548689039081019091558251818152925190948a1692600080516020610f1e83398151915292908290030190a38115610d715760015415610d0757600154600290920491600160401b830281610cca57fe5b600380549290910491909101905560408051838152905130916001600160a01b03891691600080516020610f1e8339815191529181900360200190a35b6000805483900381556040805184815290516001600160a01b03891691600080516020610f1e833981519152919081900360200190a36040805183815290517fb90306ad06b2a6ff86ddc9327db583062895ef6540e62dc50add009db5b356eb9181900360200190a15b95945050505050565b80610d84336106e1565b1015610d8f57600080fd5b6001546064600583020490600160401b820281610da857fe5b6003805492909104909101815560018054849003815533600081815260026020818152604092839020948501805488900390559084018054889003905593546004909301805493870290930390925581518486038152915190923092600080516020610f1e833981519152929081900390910190a360408051838152905133917f2cfce4af01bcb9d6cf6c84ee1b7c491100b8695368264146a94d71e10a63083f919081900360200190a25050565b80610e61336109be565b1015610e6c57600080fd5b68056bc75e2d6310000081610e80336106e1565b011015610e8c57600080fd5b6001805482019055336000818152600260208181526040928390209182018054860190556003546004909201805492860290920190915581518481529151309392600080516020610f1e83398151915292908290030190a360408051828152905133917ff97a274face0b5517365ad396b1fdba6f68bd3135ef603e44272adba3af5a1e0919081900360200190a25056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa265627a7a723158202fd3b72a059519feea7db9652a1f417a56b7f2a2accc4d589d5125c2a0c7011964736f6c63430005110032
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101415760003560e01c806342966c68116100b857806395d89b411161007c57806395d89b4114610502578063a9059cbb1461050a578063d7a78db814610536578063dd62ed3e14610553578063e522538114610581578063f59c37081461058957610141565b806342966c681461043457806357f6b812146104515780636623fc46146104a257806370a08231146104bf57806391c05b0b146104e557610141565b80631bf6e00d1161010a5780631bf6e00d146103075780631e7f87bc1461032d57806323b872dd14610335578063313ce5671461036b5780633af32abf146103895780634000aea0146103af57610141565b806265318b1461014657806306fdde031461017e578063095ea7b3146101fb578063153a1f3e1461023b57806318160ddd146102ff575b600080fd5b61016c6004803603602081101561015c57600080fd5b50356001600160a01b03166105b7565b60408051918252519081900360200190f35b6101866105eb565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101c05781810151838201526020016101a8565b50505050905090810190601f1680156101ed5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102276004803603604081101561021157600080fd5b506001600160a01b038135169060200135610612565b604080519115158252519081900360200190f35b6102fd6004803603604081101561025157600080fd5b81019060208101813564010000000081111561026c57600080fd5b82018360208201111561027e57600080fd5b803590602001918460208302840111640100000000831117156102a057600080fd5b9193909290916020810190356401000000008111156102be57600080fd5b8201836020820111156102d057600080fd5b803590602001918460208302840111640100000000831117156102f257600080fd5b50909250905061067c565b005b61016c6106db565b61016c6004803603602081101561031d57600080fd5b50356001600160a01b03166106e1565b61016c610700565b6102276004803603606081101561034b57600080fd5b506001600160a01b03813581169160208101359091169060400135610706565b61037361077c565b6040805160ff9092168252519081900360200190f35b6102276004803603602081101561039f57600080fd5b50356001600160a01b0316610781565b610227600480360360608110156103c557600080fd5b6001600160a01b03823516916020810135918101906060810160408201356401000000008111156103f557600080fd5b82018360208201111561040757600080fd5b8035906020019184600183028401116401000000008311171561042957600080fd5b50909250905061079f565b6102fd6004803603602081101561044a57600080fd5b5035610886565b6104776004803603602081101561046757600080fd5b50356001600160a01b031661096d565b6040805195865260208601949094528484019290925260608401526080830152519081900360a00190f35b6102fd600480360360208110156104b857600080fd5b50356109b2565b61016c600480360360208110156104d557600080fd5b50356001600160a01b03166109be565b6102fd600480360360208110156104fb57600080fd5b50356109ed565b610186610a6e565b6102276004803603604081101561052057600080fd5b506001600160a01b038135169060200135610a8d565b6102fd6004803603602081101561054c57600080fd5b5035610aa4565b61016c6004803603604081101561056957600080fd5b506001600160a01b0381358116916020013516610aad565b61016c610adc565b6102fd6004803603604081101561059f57600080fd5b506001600160a01b0381351690602001351515610b71565b6001600160a01b031660009081526002602081905260409091206004810154910154600354600160401b9102919091030490565b6040518060400160405280600b81526020016a4d5958204e6574776f726b60a81b81525081565b3360008181526002602090815260408083206001600160a01b03871680855260039091018352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b82811461068857600080fd5b60005b838110156106d4576106cb338686848181106106a357fe5b905060200201356001600160a01b03168585858181106106bf57fe5b90506020020135610be8565b5060010161068b565b5050505050565b60005490565b6001600160a01b03166000908152600260208190526040909120015490565b60015490565b6001600160a01b038316600090815260026020908152604080832033845260030190915281205482111561073957600080fd5b6001600160a01b0384166000908152600260209081526040808320338452600301909152902080548390039055610771848484610be8565b506001949350505050565b601281565b6001600160a01b031660009081526002602052604090205460ff1690565b6000806107ad338787610be8565b9050853b63ffffffff81161561087957604051636be32e7360e01b8152336004820181815260248301859052606060448401908152606484018890526001600160a01b038b1693636be32e73939287928b928b929190608401848480828437600081840152601f19601f82011690508083019250505095505050505050602060405180830381600087803b15801561084457600080fd5b505af1158015610858573d6000803e3d6000fd5b505050506040513d602081101561086e57600080fd5b505161087957600080fd5b5060019695505050505050565b80610890336109be565b101561089b57600080fd5b3360009081526002602052604090206001908101805483900390555481901561090957600154600290910490600160401b8202816108d557fe5b600380549290910491909101905560408051828152905130913391600080516020610f1e8339815191529181900360200190a35b6000805482900381556040805183815290513391600080516020610f1e833981519152919081900360200190a36040805182815290517fb90306ad06b2a6ff86ddc9327db583062895ef6540e62dc50add009db5b356eb9181900360200190a15050565b600080600080600061097d6106db565b610985610700565b61098e886109be565b610997896106e1565b6109a08a6105b7565b939a9299509097509550909350915050565b6109bb81610d7a565b50565b60006109c9826106e1565b6001600160a01b038316600090815260026020526040902060010154039050919050565b6001546109f957600080fd5b80610a03336109be565b1015610a0e57600080fd5b33600090815260026020526040902060019081018054839003905554600160401b820281610a3857fe5b600380549290910491909101905560408051828152905130913391600080516020610f1e8339815191529181900360200190a350565b6040518060400160405280600381526020016209ab2b60eb1b81525081565b6000610a9a338484610be8565b5060019392505050565b6109bb81610e57565b6001600160a01b0391821660009081526002602090815260408083209390941682526003909201909152205490565b600080610ae8336105b7565b905033600081815260026020908152604091829020600481018054600160401b8702019055600101805485019055815184815291513092600080516020610f1e83398151915292908290030190a360408051828152905133917f4256a058fa2b123d727576d3d31e3a272db98ee5fe264e229610ce43dc849999919081900360200190a2905090565b6004546001600160a01b03163314610b8857600080fd5b6001600160a01b038216600081815260026020908152604091829020805460ff1916851515908117909155825190815291517f5a25e09a5dba33161281055e015f1279b6b10204d8f90dd56a8ce2b82322d43d9281900390910190a25050565b600081610bf4856109be565b1015610bff57600080fd5b6001600160a01b038416600090815260026020526040902060010180548390039055606460058302046a52b7d2dcc80cd2e400000081610c3d6106db565b031080610c4e5750610c4e85610781565b15610c57575060005b6001600160a01b0380851660008181526002602090815260409182902060010180548689039081019091558251818152925190948a1692600080516020610f1e83398151915292908290030190a38115610d715760015415610d0757600154600290920491600160401b830281610cca57fe5b600380549290910491909101905560408051838152905130916001600160a01b03891691600080516020610f1e8339815191529181900360200190a35b6000805483900381556040805184815290516001600160a01b03891691600080516020610f1e833981519152919081900360200190a36040805183815290517fb90306ad06b2a6ff86ddc9327db583062895ef6540e62dc50add009db5b356eb9181900360200190a15b95945050505050565b80610d84336106e1565b1015610d8f57600080fd5b6001546064600583020490600160401b820281610da857fe5b6003805492909104909101815560018054849003815533600081815260026020818152604092839020948501805488900390559084018054889003905593546004909301805493870290930390925581518486038152915190923092600080516020610f1e833981519152929081900390910190a360408051838152905133917f2cfce4af01bcb9d6cf6c84ee1b7c491100b8695368264146a94d71e10a63083f919081900360200190a25050565b80610e61336109be565b1015610e6c57600080fd5b68056bc75e2d6310000081610e80336106e1565b011015610e8c57600080fd5b6001805482019055336000818152600260208181526040928390209182018054860190556003546004909201805492860290920190915581518481529151309392600080516020610f1e83398151915292908290030190a360408051828152905133917ff97a274face0b5517365ad396b1fdba6f68bd3135ef603e44272adba3af5a1e0919081900360200190a25056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa265627a7a723158202fd3b72a059519feea7db9652a1f417a56b7f2a2accc4d589d5125c2a0c7011964736f6c63430005110032
Deployed Bytecode Sourcemap
454:7225:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;454:7225:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5068:200;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5068:200:0;-1:-1:-1;;;;;5068:200:0;;:::i;:::-;;;;;;;;;;;;;;;;768:43;;;:::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;768:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3365:203;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3365:203:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;4200:259;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4200:259:0;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;4200:259:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;4200: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;4200:259:0;;;;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;4200:259:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;4200: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;4200:259:0;;-1:-1:-1;4200:259:0;-1:-1:-1;4200:259:0;:::i;:::-;;4648:86;;;:::i;4959:104::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4959:104:0;-1:-1:-1;;;;;4959:104:0;;:::i;4739:86::-;;;:::i;3573:266::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3573:266:0;;;;;;;;;;;;;;;;;:::i;856:35::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5414:111;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5414:111:0;-1:-1:-1;;;;;5414:111:0;;:::i;3844:351::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;3844:351:0;;;;;;;;;;;;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;3844:351:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;3844: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;3844:351:0;;-1:-1:-1;3844:351:0;-1:-1:-1;3844:351:0;:::i;2409:502::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2409:502:0;;:::i;5530:275::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5530:275:0;-1:-1:-1;;;;;5530:275:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1952:72;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1952:72:0;;:::i;4830:124::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4830:124:0;-1:-1:-1;;;;;4830:124:0;;:::i;2916:306::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2916:306:0;;:::i;815:37::-;;;:::i;3227:133::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3227:133:0;;;;;;;;:::i;1879:68::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1879:68:0;;:::i;5273:136::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;5273:136:0;;;;;;;;;;:::i;2029:375::-;;;:::i;4464:177::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;4464:177:0;;;;;;;;;;:::i;5068:200::-;-1:-1:-1;;;;;5217:17:0;5125:7;5217:17;;;:10;:17;;;;;;;;:30;;;;5189:24;;;5161:25;;-1:-1:-1;;;5161:52:0;;5154:93;;;;5146:117;;5068:200::o;768:43::-;;;;;;;;;;;;;;-1:-1:-1;;;768:43:0;;;;:::o;3365:203::-;3457:10;3435:4;3446:22;;;:10;:22;;;;;;;;-1:-1:-1;;;;;3446:42:0;;;;;:32;;;;:42;;;;;:52;;;3508:39;;;;;;;3435:4;;3446:42;;3457:10;;3508:39;;;;;;;;-1:-1:-1;3559:4:0;3365:203;;;;:::o;4200:259::-;4304:36;;;4296:45;;;;;;4351:9;4346:109;4366:21;;;4346:109;;;4400:49;4410:10;4422;;4433:1;4422:13;;;;;;;;;;;;;-1:-1:-1;;;;;4422:13:0;4437:8;;4446:1;4437:11;;;;;;;;;;;;;4400:9;:49::i;:::-;-1:-1:-1;4389:3:0;;4346:109;;;;4200:259;;;;:::o;4648:86::-;4692:7;4713:16;4648:86;:::o;4959:104::-;-1:-1:-1;;;;;5034:17:0;5013:7;5034:17;;;:10;:17;;;;;;;;:24;;;4959:104::o;4739:86::-;4804:16;;4739:86;:::o;3573:266::-;-1:-1:-1;;;;;3677:17:0;;3658:4;3677:17;;;:10;:17;;;;;;;;3705:10;3677:39;;:27;;:39;;;;;;:50;-1:-1:-1;3677:50:0;3669:59;;;;;;-1:-1:-1;;;;;3733:17:0;;:4;:17;;;:10;:17;;;;;;;;3761:10;3733:39;;:27;;:39;;;;;:50;;;;;;;3788:30;3744:5;3805:3;3776:7;3788:9;:30::i;:::-;-1:-1:-1;3830:4:0;;3573:266;-1:-1:-1;;;;3573:266:0:o;856:35::-;889:2;856:35;:::o;5414:111::-;-1:-1:-1;;;;;5491:17:0;5473:4;5491:17;;;:10;:17;;;;;:29;;;;5414:111::o;3844:351::-;3939:4;3950:20;3973:35;3983:10;3995:3;4000:7;3973:9;:35::i;:::-;3950:58;-1:-1:-1;4054:16:0;;4083:9;;;;4079:96;;4108:60;;-1:-1:-1;;;4108:60:0;;4136:10;4108:60;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4108:27:0;;;;;4136:10;4148:12;;4162:5;;;;4108:60;;;;4162:5;;;;4108: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;;4108:60:0;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4108:60:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4108:60:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4108:60:0;4100:69;;;;;;-1:-1:-1;4186:4:0;;3844:351;-1:-1:-1;;;;;;3844:351:0:o;2409:502::-;2487:7;2462:21;2472:10;2462:9;:21::i;:::-;:32;;2454:41;;;;;;2511:10;2500:4;:22;;;:10;:22;;;;;:30;;;;:41;;;;;;;2586:16;2534:7;;2586:20;2582:199;;2698:16;;2631:1;2614:18;;;;-1:-1:-1;;;2667:28:0;;2698:16;2667:47;;;;2638:25;:76;;2667:47;;;;2638:76;;;;;;2725:50;;;;;;;;2754:4;;2734:10;;-1:-1:-1;;;;;;;;;;;2725:50:0;;;;;;;;2582:199;2785:4;:33;;;;;;;2828:49;;;;;;;;2837:10;;-1:-1:-1;;;;;;;;;;;2828:49:0;;;;;;;;;2887:19;;;;;;;;;;;;;;;;;2409:502;;:::o;5530:275::-;5586:24;5612:25;5639:19;5660:18;5680:21;5716:13;:11;:13::i;:::-;5731;:11;:13::i;:::-;5746:16;5756:5;5746:9;:16::i;:::-;5764:15;5773:5;5764:8;:15::i;:::-;5781:18;5793:5;5781:11;:18::i;:::-;5708:92;;;;-1:-1:-1;5708:92:0;;-1:-1:-1;5708:92:0;-1:-1:-1;5708:92:0;;-1:-1:-1;5530:275:0;-1:-1:-1;;5530:275:0:o;1952:72::-;2001:18;2011:7;2001:9;:18::i;:::-;1952:72;:::o;4830:124::-;4885:7;4934:15;4943:5;4934:8;:15::i;:::-;-1:-1:-1;;;;;4906:17:0;;:4;:17;;;:10;:17;;;;;:25;;;:43;;-1:-1:-1;4830:124:0;;;:::o;2916:306::-;2975:16;;2967:29;;;;;;3034:7;3009:21;3019:10;3009:9;:21::i;:::-;:32;;3001:41;;;;;;3058:10;3047:4;:22;;;:10;:22;;;;;:30;;;;:41;;;;;;;3147:16;-1:-1:-1;;;3122:22:0;;3147:16;3122:41;;;;3093:25;:70;;3122:41;;;;3093:70;;;;;;3173:44;;;;;;;;3202:4;;3182:10;;-1:-1:-1;;;;;;;;;;;3173:44:0;;;;;;;;2916:306;:::o;815:37::-;;;;;;;;;;;;;;-1:-1:-1;;;815:37:0;;;;:::o;3227:133::-;3293:4;3304:35;3314:10;3326:3;3331:7;3304:9;:35::i;:::-;-1:-1:-1;3351:4:0;;3227:133;-1:-1:-1;;;3227:133:0:o;1879:68::-;1926:16;1934:7;1926;:16::i;5273:136::-;-1:-1:-1;;;;;5367:17:0;;;5346:7;5367:17;;;:10;:17;;;;;;;;:37;;;;;;:27;;;;:37;;;;;;5273:136::o;2029:375::-;2066:7;2080:18;2101:23;2113:10;2101:11;:23::i;:::-;2080:44;-1:-1:-1;2169:10:0;2158:4;:22;;;:10;:22;;;;;;;;;:35;;;:72;;-1:-1:-1;;;2204:25:0;;2158:72;;;-1:-1:-1;2235:30:0;:44;;;;;;2289:47;;;;;;;2306:4;;-1:-1:-1;;;;;;;;;;;2289:47:0;;;;;;;;2346:31;;;;;;;;2354:10;;2346:31;;;;;;;;;;2389:10;-1:-1:-1;2029:375:0;:::o;4464:177::-;4546:10;;-1:-1:-1;;;;;4546:10:0;4532;:24;4524:33;;;;;;-1:-1:-1;;;;;4562:17:0;;:4;:17;;;:10;:17;;;;;;;;;:39;;-1:-1:-1;;4562:39:0;;;;;;;;;;4611:25;;;;;;;;;;;;;;;;;4464:177;;:::o;5812:885::-;5894:7;5936;5916:16;5926:5;5916:9;:16::i;:::-;:27;;5908:36;;;;;;-1:-1:-1;;;;;5949:17:0;;:4;:17;;;:10;:17;;;;;:25;;:36;;;;;;;6036:3;622:1;6014:19;;:25;6080:35;6014:25;6048:13;:11;:13::i;:::-;:29;:67;:91;;;;6119:20;6133:5;6119:13;:20::i;:::-;6044:126;;;-1:-1:-1;6163:1:0;6044:126;-1:-1:-1;;;;;6225:15:0;;;6174:20;6225:15;;;:10;:15;;;;;;;;;:23;;:39;;6197:23;;;6225:39;;;;;;6274:34;;;;;;;6197:23;;6274:34;;;-1:-1:-1;;;;;;;;;;;6274:34:0;;;;;;;;6317:17;;6313:356;;6346:16;;:20;6342:198;;6460:16;;6392:1;6375:18;;;;-1:-1:-1;;;6429:28:0;;6460:16;6429:47;;;;6400:25;:76;;6429:47;;;;6400:76;;;;;;6488:45;;;;;;;;6512:4;;-1:-1:-1;;;;;6488:45:0;;;-1:-1:-1;;;;;;;;;;;6488:45:0;;;;;;;;6342:198;6545:4;:33;;;;;;;6589:44;;;;;;;;-1:-1:-1;;;;;6589:44:0;;;-1:-1:-1;;;;;;;;;;;6589:44:0;;;;;;;;;6644:19;;;;;;;;;;;;;;;;;6313:356;6680:12;5812:885;-1:-1:-1;;;;;5812:885:0:o;7121:555::-;7203:7;7179:20;7188:10;7179:8;:20::i;:::-;:31;;7171:40;;;;;;7330:16;;7262:3;622:1;7240:19;;:25;;-1:-1:-1;;;7299:28:0;;7330:16;7299:47;;;;7270:25;:76;;7299:47;;;;7270:76;;;;;-1:-1:-1;7351:27:0;;;;;;;7394:10;-1:-1:-1;7383:22:0;;;-1:-1:-1;7383:22:0;;;;;;;;;:30;;;:47;;;;;;;7435:29;;;:40;;;;;;;7536:25;;7480:35;;;;:82;;7526:35;;;7480:82;;;;;;7572:60;;7608:23;;;7572:60;;;;7394:10;;7589:4;;-1:-1:-1;;;;;;;;;;;7572:60:0;;;;;;;;;;7642:29;;;;;;;;7651:10;;7642:29;;;;;;;;;;7121:555;;:::o;6702:414::-;6783:7;6758:21;6768:10;6758:9;:21::i;:::-;:32;;6750:41;;;;;;751:4;6827:7;6804:20;6813:10;6804:8;:20::i;:::-;:30;:51;;6796:60;;;;;;6861:16;:27;;;;;;6904:10;-1:-1:-1;6893:22:0;;;:10;:22;;;;;;;;;:29;;;:40;;;;;;6994:25;;6938:35;;;;:82;;6984:35;;;6938:82;;;;;;7030:44;;;;;;;7059:4;;6904:10;-1:-1:-1;;;;;;;;;;;7030:44:0;;;;;;;;7084:27;;;;;;;;7091:10;;7084:27;;;;;;;;;;6702:414;:::o
Swarm Source
bzzr://2fd3b72a059519feea7db9652a1f417a56b7f2a2accc4d589d5125c2a0c70119
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.