[ { "inputs": [ { "internalType": "address", "name": "caller", "type": "address" } ], "name": "OnlyMinter", "type": "error" }, { "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": false, "internalType": "uint8", "name": "version", "type": "uint8" } ], "name": "Initialized", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "minter", "type": "address" } ], "name": "MinterAdded", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "minter", "type": "address" } ], "name": "MinterRemoved", "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": "_minter", "type": "address" } ], "name": "addMinter", "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": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_account", "type": "address" }, { "internalType": "uint256", "name": "_value", "type": "uint256" } ], "name": "burnFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "name_", "type": "string" }, { "internalType": "string", "name": "symbol_", "type": "string" }, { "internalType": "uint8", "name": "decimals_", "type": "uint8" } ], "name": "initialize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_account", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "addr", "type": "address" } ], "name": "minters", "outputs": [ { "internalType": "bool", "name": "canMint", "type": "bool" } ], "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": "_minter", "type": "address" } ], "name": "removeMinter", "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": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
608060405234801561001057600080fd5b506115bd806100206000396000f3fe608060405234801561001057600080fd5b506004361061016c5760003560e01c8063715018a6116100cd578063a457c2d711610081578063dd62ed3e11610066578063dd62ed3e146102da578063f2fde38b14610313578063f46eccc41461032657600080fd5b8063a457c2d7146102b4578063a9059cbb146102c757600080fd5b80638da5cb5b116100b25780638da5cb5b1461027e57806395d89b4114610299578063983b2d56146102a157600080fd5b8063715018a61461026357806379cc67901461026b57600080fd5b80633092afd5116101245780633950935111610109578063395093511461021457806340c10f191461022757806370a082311461023a57600080fd5b80633092afd5146101ec578063313ce567146101ff57600080fd5b80631624f6c6116101555780631624f6c6146101b257806318160ddd146101c757806323b872dd146101d957600080fd5b806306fdde0314610171578063095ea7b31461018f575b600080fd5b610179610349565b604051610186919061118a565b60405180910390f35b6101a261019d3660046111f5565b6103db565b6040519015158152602001610186565b6101c56101c03660046112db565b6103f5565b005b6067545b604051908152602001610186565b6101a26101e7366004611359565b610570565b6101c56101fa366004611395565b610594565b60985460405160ff9091168152602001610186565b6101a26102223660046111f5565b6105e5565b6101c56102353660046111f5565b610624565b6101cb610248366004611395565b6001600160a01b031660009081526065602052604090205490565b6101c561067d565b6101c56102793660046111f5565b610691565b6033546040516001600160a01b039091168152602001610186565b6101796106f1565b6101c56102af366004611395565b610700565b6101a26102c23660046111f5565b610754565b6101a26102d53660046111f5565b6107fe565b6101cb6102e83660046113b7565b6001600160a01b03918216600090815260666020908152604080832093909416825291909152205490565b6101c5610321366004611395565b61080c565b6101a2610334366004611395565b60976020526000908152604090205460ff1681565b606060688054610358906113ea565b80601f0160208091040260200160405190810160405280929190818152602001828054610384906113ea565b80156103d15780601f106103a6576101008083540402835291602001916103d1565b820191906000526020600020905b8154815290600101906020018083116103b457829003601f168201915b5050505050905090565b6000336103e981858561089c565b60019150505b92915050565b600054610100900460ff16158080156104155750600054600160ff909116105b8061042f5750303b15801561042f575060005460ff166001145b6104a65760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b6000805460ff1916600117905580156104e657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6104ee6109f5565b6104f88484610a7a565b6098805460ff191660ff8416179055801561056a57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b60003361057e858285610b01565b610589858585610b8d565b506001949350505050565b61059c610d81565b6001600160a01b038116600081815260976020526040808220805460ff19169055517fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb666929190a250565b3360008181526066602090815260408083206001600160a01b03871684529091528120549091906103e9908290869061061f90879061143d565b61089c565b3360009081526097602052604090205460ff1661066f576040517f4c41f6ce00000000000000000000000000000000000000000000000000000000815233600482015260240161049d565b6106798282610ddb565b5050565b610685610d81565b61068f6000610e9c565b565b3360009081526097602052604090205460ff166106dc576040517f4c41f6ce00000000000000000000000000000000000000000000000000000000815233600482015260240161049d565b6106e7823383610b01565b6106798282610f06565b606060698054610358906113ea565b610708610d81565b6001600160a01b038116600081815260976020526040808220805460ff19166001179055517f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f69190a250565b3360008181526066602090815260408083206001600160a01b0387168452909152812054909190838110156107f15760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f000000000000000000000000000000000000000000000000000000606482015260840161049d565b610589828686840361089c565b6000336103e9818585610b8d565b610814610d81565b6001600160a01b0381166108905760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161049d565b61089981610e9c565b50565b6001600160a01b0383166109175760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161049d565b6001600160a01b0382166109935760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015260840161049d565b6001600160a01b0383811660008181526066602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b600054610100900460ff16610a725760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161049d565b61068f61106e565b600054610100900460ff16610af75760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161049d565b61067982826110f4565b6001600160a01b03838116600090815260666020908152604080832093861683529290522054600019811461056a5781811015610b805760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161049d565b61056a848484840361089c565b6001600160a01b038316610c095760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015260840161049d565b6001600160a01b038216610c855760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f6573730000000000000000000000000000000000000000000000000000000000606482015260840161049d565b6001600160a01b03831660009081526065602052604090205481811015610d145760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e63650000000000000000000000000000000000000000000000000000606482015260840161049d565b6001600160a01b0380851660008181526065602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d749086815260200190565b60405180910390a361056a565b6033546001600160a01b0316331461068f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161049d565b6001600160a01b038216610e315760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161049d565b8060676000828254610e43919061143d565b90915550506001600160a01b0382166000818152606560209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b603380546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038216610f825760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f7300000000000000000000000000000000000000000000000000000000000000606482015260840161049d565b6001600160a01b038216600090815260656020526040902054818110156110115760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f6365000000000000000000000000000000000000000000000000000000000000606482015260840161049d565b6001600160a01b03831660008181526065602090815260408083208686039055606780548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91016109e8565b505050565b600054610100900460ff166110eb5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161049d565b61068f33610e9c565b600054610100900460ff166111715760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161049d565b606861117d83826114c7565b50606961106982826114c7565b60006020808352835180602085015260005b818110156111b85785810183015185820160400152820161119c565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146111f057600080fd5b919050565b6000806040838503121561120857600080fd5b611211836111d9565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f83011261125f57600080fd5b813567ffffffffffffffff8082111561127a5761127a61121f565b604051601f8301601f19908116603f011681019082821181831017156112a2576112a261121f565b816040528381528660208588010111156112bb57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000606084860312156112f057600080fd5b833567ffffffffffffffff8082111561130857600080fd5b6113148783880161124e565b9450602086013591508082111561132a57600080fd5b506113378682870161124e565b925050604084013560ff8116811461134e57600080fd5b809150509250925092565b60008060006060848603121561136e57600080fd5b611377846111d9565b9250611385602085016111d9565b9150604084013590509250925092565b6000602082840312156113a757600080fd5b6113b0826111d9565b9392505050565b600080604083850312156113ca57600080fd5b6113d3836111d9565b91506113e1602084016111d9565b90509250929050565b600181811c908216806113fe57607f821691505b602082108103611437577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b808201808211156103ef577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b601f821115611069576000816000526020600020601f850160051c810160208610156114a05750805b601f850160051c820191505b818110156114bf578281556001016114ac565b505050505050565b815167ffffffffffffffff8111156114e1576114e161121f565b6114f5816114ef84546113ea565b84611477565b602080601f83116001811461152a57600084156115125750858301515b600019600386901b1c1916600185901b1785556114bf565b600085815260208120601f198616915b828110156115595788860151825594840194600190910190840161153a565b50858210156115775787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056fea264697066735822122089f65948e39bced66a3f41578ea8a6a854c989db65075606d887a5e5870e5ee464736f6c63430008160033