[ { "inputs": [ { "internalType": "string", "name": "_name", "type": "string" }, { "internalType": "string", "name": "_symbol", "type": "string" }, { "internalType": "uint8", "name": "_decimals", "type": "uint8" } ], "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": false, "internalType": "address", "name": "user", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "isAuthorized", "type": "bool" } ], "name": "AuthorizationChanged", "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" }, { "inputs": [], "name": "MINT_AMOUNT_PER", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MINT_INTERVAL", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address" } ], "name": "addAuthorizedUser", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "authorizedUsers", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lastMintTime", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "mint", "outputs": [ { "internalType": "bool", "name": "success", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address" } ], "name": "removeAuthorizedUser", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "a", "type": "uint256" }, { "internalType": "uint256", "name": "b", "type": "uint256" } ], "name": "safeAdd", "outputs": [ { "internalType": "uint256", "name": "c", "type": "uint256" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "a", "type": "uint256" }, { "internalType": "uint256", "name": "b", "type": "uint256" } ], "name": "safeDiv", "outputs": [ { "internalType": "uint256", "name": "c", "type": "uint256" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "a", "type": "uint256" }, { "internalType": "uint256", "name": "b", "type": "uint256" } ], "name": "safeMul", "outputs": [ { "internalType": "uint256", "name": "c", "type": "uint256" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "a", "type": "uint256" }, { "internalType": "uint256", "name": "b", "type": "uint256" } ], "name": "safeSub", "outputs": [ { "internalType": "uint256", "name": "c", "type": "uint256" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "success", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "success", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" } ]
60806040523480156200001157600080fd5b50604051620011123803806200111283398101604081905262000034916200030f565b600080546001600160a01b0319163390811782558152600160208181526040909220805460ff1916909117905583516200007591600291908601906200019c565b5081516200008b9060039060208501906200019c565b506004805460ff191660ff831690811790915542600655620000cb903390620000b690600a620004a9565b620000c590624c4b40620004c1565b620000d4565b5050506200053b565b6001600160a01b0382166200012f5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b8060056000828254620001439190620004e3565b90915550506001600160a01b0382166000818152600760209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b828054620001aa90620004fe565b90600052602060002090601f016020900481019282620001ce576000855562000219565b82601f10620001e957805160ff191683800117855562000219565b8280016001018555821562000219579182015b8281111562000219578251825591602001919060010190620001fc565b50620002279291506200022b565b5090565b5b808211156200022757600081556001016200022c565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200026a57600080fd5b81516001600160401b038082111562000287576200028762000242565b604051601f8301601f19908116603f01168101908282118183101715620002b257620002b262000242565b81604052838152602092508683858801011115620002cf57600080fd5b600091505b83821015620002f35785820183015181830184015290820190620002d4565b83821115620003055760008385830101525b9695505050505050565b6000806000606084860312156200032557600080fd5b83516001600160401b03808211156200033d57600080fd5b6200034b8783880162000258565b945060208601519150808211156200036257600080fd5b50620003718682870162000258565b925050604084015160ff811681146200038957600080fd5b809150509250925092565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003eb578160001904821115620003cf57620003cf62000394565b80851615620003dd57918102915b93841c9390800290620003af565b509250929050565b6000826200040457506001620004a3565b816200041357506000620004a3565b81600181146200042c5760028114620004375762000457565b6001915050620004a3565b60ff8411156200044b576200044b62000394565b50506001821b620004a3565b5060208310610133831016604e8410600b84101617156200047c575081810a620004a3565b620004888383620003aa565b80600019048211156200049f576200049f62000394565b0290505b92915050565b6000620004ba60ff841683620003f3565b9392505050565b6000816000190483118215151615620004de57620004de62000394565b500290565b60008219821115620004f957620004f962000394565b500190565b600181811c908216806200051357607f821691505b602082108114156200053557634e487b7160e01b600052602260045260246000fd5b50919050565b610bc7806200054b6000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806389fabc80116100b8578063a9059cbb1161007c578063a9059cbb146102b3578063b5931f7c146102c6578063d05c78da146102d9578063dd62ed3e146102ec578063e6cb901314610325578063edc1053d1461033857600080fd5b806389fabc80146102515780638da5cb5b1461026457806395d89b411461028f5780639d46352014610297578063a293d1e8146102a057600080fd5b806323b872dd1161010a57806323b872dd146101d2578063313ce567146101e55780633eaaf86b1461020457806340c10f191461020d57806370a082311461022057806384e7e3d31461024957600080fd5b806306fdde0314610147578063095ea7b314610165578063177d2a741461018857806318160ddd1461019d5780631828983a146101af575b600080fd5b61014f610342565b60405161015c9190610941565b60405180910390f35b6101786101733660046109b2565b6103d0565b604051901515815260200161015c565b61019b6101963660046109dc565b6104bb565b005b6005545b60405190815260200161015c565b6101786101bd3660046109dc565b60016020526000908152604090205460ff1681565b6101786101e03660046109f7565b610547565b6004546101f29060ff1681565b60405160ff909116815260200161015c565b6101a160055481565b61017861021b3660046109b2565b610633565b6101a161022e3660046109dc565b6001600160a01b031660009081526007602052604090205490565b6101a1600181565b61019b61025f3660046109dc565b610697565b600054610277906001600160a01b031681565b6040516001600160a01b03909116815260200161015c565b61014f61071d565b6101a160065481565b6101a16102ae366004610a33565b61072a565b6101786102c13660046109b2565b61074a565b6101a16102d4366004610a33565b610833565b6101a16102e7366004610a33565b61084b565b6101a16102fa366004610a55565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b6101a1610333366004610a33565b610877565b6101a1620f424081565b6002805461034f90610a88565b80601f016020809104026020016040519081016040528092919081815260200182805461037b90610a88565b80156103c85780601f1061039d576101008083540402835291602001916103c8565b820191906000526020600020905b8154815290600101906020018083116103ab57829003601f168201915b505050505081565b60006001600160a01b0383166104385760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084015b60405180910390fd5b3360009081526008602090815260408083206001600160a01b03871684529091528120805484929061046b908490610ad9565b90915550506040518281526001600160a01b0384169033907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906020015b60405180910390a35060015b92915050565b3360009081526001602052604090205460ff166104ea5760405162461bcd60e51b815260040161042f90610af1565b6001600160a01b038116600081815260016020818152604092839020805460ff19168317905582519384528301527f5fe3a0cb9aeae856eac34445ace9544f3e15c21fa6f9bffeca60d662a690ca1b91015b60405180910390a150565b6001600160a01b0383166000908152600860209081526040808320338452909152812054610575908361072a565b6001600160a01b0385166000818152600860209081526040808320338452825280832094909455918152600790915220546105b0908361072a565b6001600160a01b0380861660009081526007602052604080822093909355908516815220546105df9083610877565b6001600160a01b038085166000818152600760205260409081902093909355915190861690600080516020610b72833981519152906106219086815260200190565b60405180910390a35060019392505050565b3360009081526001602052604081205460ff166106625760405162461bcd60e51b815260040161042f90610af1565b61066c8383610892565b6040518281526001600160a01b038416903090600080516020610b72833981519152906020016104a9565b3360009081526001602052604090205460ff166106c65760405162461bcd60e51b815260040161042f90610af1565b6001600160a01b0381166000818152600160209081526040808320805460ff191690558051938452908301919091527f5fe3a0cb9aeae856eac34445ace9544f3e15c21fa6f9bffeca60d662a690ca1b910161053c565b6003805461034f90610a88565b60008282111561073957600080fd5b6107438284610b19565b9392505050565b60006001600160a01b0383166107ae5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161042f565b336000908152600760205260409020546107c8908361072a565b33600090815260076020526040808220929092556001600160a01b038516815220546107f49083610877565b6001600160a01b038416600081815260076020526040908190209290925590513390600080516020610b72833981519152906104a99086815260200190565b600080821161084157600080fd5b6107438284610b30565b60006108578284610b52565b905082158061086e57508161086c8483610b30565b145b6104b557600080fd5b60006108838284610ad9565b9050828110156104b557600080fd5b6001600160a01b0382166108e85760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161042f565b80600560008282546108fa9190610ad9565b90915550506001600160a01b038216600081815260076020908152604080832080548601905551848152600080516020610b72833981519152910160405180910390a35050565b600060208083528351808285015260005b8181101561096e57858101830151858201604001528201610952565b81811115610980576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b03811681146109ad57600080fd5b919050565b600080604083850312156109c557600080fd5b6109ce83610996565b946020939093013593505050565b6000602082840312156109ee57600080fd5b61074382610996565b600080600060608486031215610a0c57600080fd5b610a1584610996565b9250610a2360208501610996565b9150604084013590509250925092565b60008060408385031215610a4657600080fd5b50508035926020909101359150565b60008060408385031215610a6857600080fd5b610a7183610996565b9150610a7f60208401610996565b90509250929050565b600181811c90821680610a9c57607f821691505b60208210811415610abd57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b60008219821115610aec57610aec610ac3565b500190565b6020808252600e908201526d139bdd08185d5d1a1bdc9a5e995960921b604082015260600190565b600082821015610b2b57610b2b610ac3565b500390565b600082610b4d57634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615610b6c57610b6c610ac3565b50029056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122002544312f6da2f8f1da9cbd35dded5c48a9e4e11e52988a7ad4a5663452f238664736f6c634300080a0033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000a594f432d476c6f62616c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004594f436500000000000000000000000000000000000000000000000000000000