[ { "inputs": [ { "internalType": "string", "name": "_name", "type": "string" }, { "internalType": "string", "name": "_symbol", "type": "string" } ], "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": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "newTaxRate", "type": "uint256" } ], "name": "CustomTaxRateSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "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": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "success", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "burnTokens", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getCurrentTaxRate", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "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": "account", "type": "address" }, { "internalType": "uint256", "name": "newTaxRate", "type": "uint256" } ], "name": "removeTax", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "taxManager", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "taxRate", "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": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "success", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "success", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" } ]
60806040526002805460ff19166009179055600060065534801561002257600080fd5b506040516110bb3803806110bb833981016040819052610041916101e5565b60048054336001600160a01b031991821681179092556005805490911690911790556002546100749060ff16600a61034d565b61008290633b9aca00610360565b6003819055600480546001600160a01b03908116600090815260076020908152604080832095909555925490911681526009909152908120805460ff191660011790556100cf8382610400565b5060016100dc8282610400565b506004546003546040519081526001600160a01b03909116906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a350506104be565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261015357600080fd5b81516001600160401b0381111561016c5761016c61012c565b604051601f8201601f19908116603f011681016001600160401b038111828210171561019a5761019a61012c565b6040528181528382016020018510156101b257600080fd5b60005b828110156101d1576020818601810151838301820152016101b5565b506000918101602001919091529392505050565b600080604083850312156101f857600080fd5b82516001600160401b0381111561020e57600080fd5b61021a85828601610142565b602085015190935090506001600160401b0381111561023857600080fd5b61024485828601610142565b9150509250929050565b634e487b7160e01b600052601160045260246000fd5b6001815b600184111561029f578085048111156102835761028361024e565b600184161561029157908102905b60019390931c928002610268565b935093915050565b6000826102b657506001610347565b816102c357506000610347565b81600181146102d957600281146102e3576102ff565b6001915050610347565b60ff8411156102f4576102f461024e565b50506001821b610347565b5060208310610133831016604e8410600b8410161715610322575081810a610347565b61032f6000198484610264565b80600019048211156103435761034361024e565b0290505b92915050565b600061035983836102a7565b9392505050565b80820281158282048414176103475761034761024e565b600181811c9082168061038b57607f821691505b6020821081036103ab57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156103fb57806000526020600020601f840160051c810160208510156103d85750805b601f840160051c820191505b818110156103f857600081556001016103e4565b50505b505050565b81516001600160401b038111156104195761041961012c565b61042d816104278454610377565b846103b1565b6020601f82116001811461046157600083156104495750848201515b600019600385901b1c1916600184901b1784556103f8565b600084815260208120601f198516915b828110156104915787850151825560209485019460019092019101610471565b50848210156104af5786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b610bee806104cd6000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c806370a082311161009757806395d89b411161006657806395d89b411461021b578063a9059cbb14610223578063b7dedc4314610236578063dd62ed3e1461024957600080fd5b806370a08231146101d7578063715018a6146101f7578063771a3a1d146101ff5780638da5cb5b1461020857600080fd5b8063313ce567116100d3578063313ce567146101705780634d2377301461018f57806364f53f2e146101ba5780636d1b229d146101c257600080fd5b806306fdde0314610105578063095ea7b31461012357806318160ddd1461014657806323b872dd1461015d575b600080fd5b61010d610274565b60405161011a91906109ca565b60405180910390f35b610136610131366004610a34565b610302565b604051901515815260200161011a565b61014f60035481565b60405190815260200161011a565b61013661016b366004610a5e565b61036f565b60025461017d9060ff1681565b60405160ff909116815260200161011a565b6005546101a2906001600160a01b031681565b6040516001600160a01b03909116815260200161011a565b60065461014f565b6101d56101d0366004610a9b565b610483565b005b61014f6101e5366004610ab4565b60076020526000908152604090205481565b6101d5610521565b61014f60065481565b6004546101a2906001600160a01b031681565b61010d6105e6565b610136610231366004610a34565b6105f3565b6101d5610244366004610a34565b610609565b61014f610257366004610ad6565b600860209081526000928352604080842090915290825290205481565b6000805461028190610b09565b80601f01602080910402602001604051908101604052809291908181526020018280546102ad90610b09565b80156102fa5780601f106102cf576101008083540402835291602001916102fa565b820191906000526020600020905b8154815290600101906020018083116102dd57829003601f168201915b505050505081565b3360008181526008602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061035d9086815260200190565b60405180910390a35060015b92915050565b6001600160a01b0383166000908152600760205260408120548211156103ce5760405162461bcd60e51b815260206004820152600f60248201526e42616c616e636520746f6f206c6f7760881b60448201526064015b60405180910390fd5b6001600160a01b03841660009081526008602090815260408083203384529091529020548211156104355760405162461bcd60e51b8152602060048201526011602482015270416c6c6f77616e636520746f6f206c6f7760781b60448201526064016103c5565b6001600160a01b038416600090815260086020908152604080832033845290915281208054849290610468908490610b59565b909155506104799050848484610721565b5060019392505050565b6005546001600160a01b031633146104dd5760405162461bcd60e51b815260206004820152601d60248201527f43616c6c6572206973206e6f742074686520746178206d616e6167657200000060448201526064016103c5565b6005546001600160a01b0316600090815260076020526040902054610503908290610b6c565b6005546001600160a01b031660009081526007602052604090205550565b6004546001600160a01b0316331461057b5760405162461bcd60e51b815260206004820152601760248201527f43616c6c6572206973206e6f7420746865206f776e657200000000000000000060448201526064016103c5565b6004546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600480546001600160a01b03166000908152600960205260409020805460ff1916905580546001600160a01b0319169055565b6001805461028190610b09565b6000610600338484610721565b50600192915050565b6005546001600160a01b031633146106635760405162461bcd60e51b815260206004820152601d60248201527f43616c6c6572206973206e6f742074686520746178206d616e6167657200000060448201526064016103c5565b60648111156106c85760405162461bcd60e51b815260206004820152602b60248201527f5461782072617465206d757374206265206c657373207468616e206f7220657160448201526a75616c20746f203130302560a81b60648201526084016103c5565b6001600160a01b0382166000818152600a602052604090819020839055517fed4db1f0e62df5ed02f9be4a732f9bd86f39ccefc3c5939566e08f3dcd7b5947906107159084815260200190565b60405180910390a25050565b6001600160a01b0382166107695760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b60448201526064016103c5565b6001600160a01b0383166000908152600760205260409020548111156107c35760405162461bcd60e51b815260206004820152600f60248201526e42616c616e636520746f6f206c6f7760881b60448201526064016103c5565b6001600160a01b03831660009081526009602052604081205460ff1615801561080557506001600160a01b03831660009081526009602052604090205460ff16155b156108a0576001600160a01b0384166000908152600a602052604081205461086a576001600160a01b0384166000908152600a602052604090205461084c57600654610884565b6001600160a01b0384166000908152600a6020526040902054610884565b6001600160a01b0385166000908152600a60205260409020545b905060646108928285610b7f565b61089c9190610b96565b9150505b60006108ac8284610b59565b6001600160a01b0386166000908152600760205260408120805492935085929091906108d9908490610b59565b90915550506001600160a01b03841660009081526007602052604081208054839290610906908490610b6c565b90915550508115610976573060009081526007602052604081208054849290610930908490610b6c565b909155505060405182815230906001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516109bb91815260200190565b60405180910390a35050505050565b602081526000825180602084015260005b818110156109f857602081860181015160408684010152016109db565b506000604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b0381168114610a2f57600080fd5b919050565b60008060408385031215610a4757600080fd5b610a5083610a18565b946020939093013593505050565b600080600060608486031215610a7357600080fd5b610a7c84610a18565b9250610a8a60208501610a18565b929592945050506040919091013590565b600060208284031215610aad57600080fd5b5035919050565b600060208284031215610ac657600080fd5b610acf82610a18565b9392505050565b60008060408385031215610ae957600080fd5b610af283610a18565b9150610b0060208401610a18565b90509250929050565b600181811c90821680610b1d57607f821691505b602082108103610b3d57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561036957610369610b43565b8082018082111561036957610369610b43565b808202811582820484141761036957610369610b43565b600082610bb357634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220101c1d51b4ea69a30ebd5781db7a2ae755123f9185a7dd8138649cdae4db7b4f64736f6c634300081a003300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000c5472756d7020426f6d6261790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a54524d50424f4d42415900000000000000000000000000000000000000000000