[ { "inputs": [], "payable": false, "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "tokenOwner", "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": 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" }, { "constant": true, "inputs": [], "name": "_totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "address", "name": "tokenOwner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "remaining", "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": "success", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "address", "name": "tokenOwner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "balance", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "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": [ { "internalType": "uint256", "name": "a", "type": "uint256" }, { "internalType": "uint256", "name": "b", "type": "uint256" } ], "name": "safeAdd", "outputs": [ { "internalType": "uint256", "name": "c", "type": "uint256" } ], "payable": false, "stateMutability": "pure", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "uint256", "name": "a", "type": "uint256" }, { "internalType": "uint256", "name": "b", "type": "uint256" } ], "name": "safeDiv", "outputs": [ { "internalType": "uint256", "name": "c", "type": "uint256" } ], "payable": false, "stateMutability": "pure", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "uint256", "name": "a", "type": "uint256" }, { "internalType": "uint256", "name": "b", "type": "uint256" } ], "name": "safeMul", "outputs": [ { "internalType": "uint256", "name": "c", "type": "uint256" } ], "payable": false, "stateMutability": "pure", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "uint256", "name": "a", "type": "uint256" }, { "internalType": "uint256", "name": "b", "type": "uint256" } ], "name": "safeSub", "outputs": [ { "internalType": "uint256", "name": "c", "type": "uint256" } ], "payable": false, "stateMutability": "pure", "type": "function" }, { "constant": true, "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "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": "success", "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": "success", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" } ]
608060405260028054610100600160a81b0319167420ec6fd455bd16d00c4ee9439149da0ea41cbba60017905534801561003857600080fd5b5060408051808201909152600880825267506f6c617244414f60c01b602090920191825261006891600091610103565b5060408051808201909152600480825263282620a960e11b602090920191825261009491600191610103565b5060028054601260ff19909116179081905560ff16600a0a611388026003819055336000818152600460209081526040808320859055805194855251929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a361019e565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061014457805160ff1916838001178555610171565b82800160010185558215610171579182015b82811115610171578251825591602001919060010190610156565b5061017d929150610181565b5090565b61019b91905b8082111561017d5760008155600101610187565b90565b6107a6806101ad6000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c806395d89b411161008c578063b5931f7c11610066578063b5931f7c1461029f578063d05c78da146102c2578063dd62ed3e146102e5578063e6cb901314610313576100ea565b806395d89b4114610248578063a293d1e814610250578063a9059cbb14610273576100ea565b806323b872dd116100c857806323b872dd146101c6578063313ce567146101fc5780633eaaf86b1461021a57806370a0823114610222576100ea565b806306fdde03146100ef578063095ea7b31461016c57806318160ddd146101ac575b600080fd5b6100f7610336565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610131578181015183820152602001610119565b50505050905090810190601f16801561015e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101986004803603604081101561018257600080fd5b506001600160a01b0381351690602001356103c4565b604080519115158252519081900360200190f35b6101b461042b565b60408051918252519081900360200190f35b610198600480360360608110156101dc57600080fd5b506001600160a01b0381358116916020810135909116906040013561045d565b6102046105b9565b6040805160ff9092168252519081900360200190f35b6101b46105c2565b6101b46004803603602081101561023857600080fd5b50356001600160a01b03166105c8565b6100f76105e3565b6101b46004803603604081101561026657600080fd5b508035906020013561063d565b6101986004803603604081101561028957600080fd5b506001600160a01b038135169060200135610652565b6101b4600480360360408110156102b557600080fd5b50803590602001356106f6565b6101b4600480360360408110156102d857600080fd5b5080359060200135610715565b6101b4600480360360408110156102fb57600080fd5b506001600160a01b0381358116916020013516610736565b6101b46004803603604081101561032957600080fd5b5080359060200135610761565b6000805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156103bc5780601f10610391576101008083540402835291602001916103bc565b820191906000526020600020905b81548152906001019060200180831161039f57829003601f168201915b505050505081565b3360008181526005602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b6000805260046020527f17ef568e3e12ab5b9c7254a8d58478811de00f9e6eb34345acd53bf8fd09d3ec546003540390565b6002546000906001600160a01b0385811661010090920416146104c0576040805162461bcd60e51b8152602060048201526016602482015275596f7520617265206e6f7420746865206f776e65722160501b604482015290519081900360640190fd5b6001600160a01b0384166000908152600460205260409020546104e3908361063d565b6001600160a01b038516600090815260046020908152604080832093909355600581528282203383529052205461051a908361063d565b6001600160a01b0380861660009081526005602090815260408083203384528252808320949094559186168152600490915220546105589083610761565b6001600160a01b0380851660008181526004602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060019392505050565b60025460ff1681565b60035481565b6001600160a01b031660009081526004602052604090205490565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156103bc5780601f10610391576101008083540402835291602001916103bc565b60008282111561064c57600080fd5b50900390565b3360009081526004602052604081205461066c908361063d565b33600090815260046020526040808220929092556001600160a01b038516815220546106989083610761565b6001600160a01b0384166000818152600460209081526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b600080821161070457600080fd5b81838161070d57fe5b049392505050565b81810282158061072d57508183828161072a57fe5b04145b61042557600080fd5b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b8181018281101561042557600080fdfea265627a7a723158209f492edbc4f60ea0dc8ac6be8d53de38ddff7a25ad0049e6b9b9268decbca91264736f6c63430005110032