[ { "inputs": [ { "internalType": "address", "name": "_creator_address", "type": "address" }, { "internalType": "address", "name": "_timelock_address", "type": "address" } ], "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": false, "internalType": "address", "name": "minter_address", "type": "address" } ], "name": "MinterAdded", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "minter_address", "type": "address" } ], "name": "MinterRemoved", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "oldOwner", "type": "address" }, { "indexed": false, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnerChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnerNominated", "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": "amount", "type": "uint256" } ], "name": "TokenMinterBurned", "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": "amount", "type": "uint256" } ], "name": "TokenMinterMinted", "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": [], "name": "acceptOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "minter_address", "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": "uint256", "name": "amount", "type": "uint256" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "amount", "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": "address", "name": "b_address", "type": "address" }, { "internalType": "uint256", "name": "b_amount", "type": "uint256" } ], "name": "minter_burn_from", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "m_address", "type": "address" }, { "internalType": "uint256", "name": "m_amount", "type": "uint256" } ], "name": "minter_mint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "minters", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "minters_array", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" } ], "name": "nominateNewOwner", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "nominatedOwner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "minter_address", "type": "address" } ], "name": "removeMinter", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "timelock_address", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "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" } ]
60806040523480156200001157600080fd5b5060405162001f3b38038062001f3b833981016040819052620000349162000351565b81816040518060400160405280601081526020016f08ce4c2f040a0e4d2c6ca4092dcc8caf60831b8152506040518060400160405280600381526020016246504960e81b8152508382828160039080519060200190620000969291906200028e565b508051620000ac9060049060208401906200028e565b5050506001600160a01b0381166200010b5760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f7420626520300000000000000060448201526064015b60405180910390fd5b600580546001600160a01b0319166001600160a01b038316908117909155604080516000815260208101929092527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c910160405180910390a15050600780546001600160a01b0319166001600160a01b03939093169290921790915550620001a19050826a52b7d2dcc80cd2e4000000620001a9565b5050620003ed565b6001600160a01b038216620002015760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640162000102565b806002600082825462000215919062000389565b90915550506001600160a01b038216600090815260208190526040812080548392906200024490849062000389565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b8280546200029c90620003b0565b90600052602060002090601f016020900481019282620002c057600085556200030b565b82601f10620002db57805160ff19168380011785556200030b565b828001600101855582156200030b579182015b828111156200030b578251825591602001919060010190620002ee565b50620003199291506200031d565b5090565b5b808211156200031957600081556001016200031e565b80516001600160a01b03811681146200034c57600080fd5b919050565b600080604083850312156200036557600080fd5b620003708362000334565b9150620003806020840162000334565b90509250929050565b60008219821115620003ab57634e487b7160e01b600052601160045260246000fd5b500190565b600181811c90821680620003c557607f821691505b60208210811415620003e757634e487b7160e01b600052602260045260246000fd5b50919050565b611b3e80620003fd6000396000f3fe608060405234801561001057600080fd5b50600436106101985760003560e01c80637941bc89116100e3578063a457c2d71161008c578063dc6663c711610066578063dc6663c714610390578063dd62ed3e146103b0578063f46eccc4146103f657600080fd5b8063a457c2d714610357578063a9059cbb1461036a578063d73ced041461037d57600080fd5b80638da5cb5b116100bd5780638da5cb5b1461031c57806395d89b411461033c578063983b2d561461034457600080fd5b80637941bc89146102ee57806379ba50971461030157806379cc67901461030957600080fd5b8063313ce5671161014557806353a47bb71161011f57806353a47bb7146102605780636a257ebc146102a557806370a08231146102b857600080fd5b8063313ce5671461022b578063395093511461023a57806342966c681461024d57600080fd5b806318160ddd1161017657806318160ddd146101f357806323b872dd146102055780633092afd51461021857600080fd5b806306fdde031461019d578063095ea7b3146101bb5780631627540c146101de575b600080fd5b6101a5610419565b6040516101b2919061187e565b60405180910390f35b6101ce6101c936600461191a565b6104ab565b60405190151581526020016101b2565b6101f16101ec366004611944565b6104c3565b005b6002545b6040519081526020016101b2565b6101ce610213366004611966565b6105e9565b6101f1610226366004611944565b61060d565b604051601281526020016101b2565b6101ce61024836600461191a565b610924565b6101f161025b3660046119a2565b610970565b6006546102809073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101b2565b6101f16102b336600461191a565b61097d565b6101f76102c6366004611944565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6101f16102fc36600461191a565b610a57565b6101f1610b29565b6101f161031736600461191a565b610c74565b6005546102809073ffffffffffffffffffffffffffffffffffffffff1681565b6101a5610c8d565b6101f1610352366004611944565b610c9c565b6101ce61036536600461191a565b610f25565b6101ce61037836600461191a565b610ff6565b61028061038b3660046119a2565b611004565b6007546102809073ffffffffffffffffffffffffffffffffffffffff1681565b6101f76103be3660046119bb565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b6101ce610404366004611944565b60096020526000908152604090205460ff1681565b606060038054610428906119ee565b80601f0160208091040260200160405190810160405280929190818152602001828054610454906119ee565b80156104a15780601f10610476576101008083540402835291602001916104a1565b820191906000526020600020905b81548152906001019060200180831161048457829003601f168201915b5050505050905090565b6000336104b981858561103b565b5060019392505050565b60055473ffffffffffffffffffffffffffffffffffffffff16331461056f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e000000000000000000000000000000000060648201526084015b60405180910390fd5b600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906020015b60405180910390a150565b6000336105f78582856111ef565b6106028585856112c6565b506001949350505050565b60075473ffffffffffffffffffffffffffffffffffffffff1633148061064a575060055473ffffffffffffffffffffffffffffffffffffffff1633145b6106b0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4e6f74206f776e6572206f722074696d656c6f636b00000000000000000000006044820152606401610566565b73ffffffffffffffffffffffffffffffffffffffff811661072d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5a65726f206164647265737320646574656374656400000000000000000000006044820152606401610566565b73ffffffffffffffffffffffffffffffffffffffff811660009081526009602052604090205460ff1615156001146107c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f41646472657373206e6f6e6578697374616e74000000000000000000000000006044820152606401610566565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260096020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555b6008548110156108dd578173ffffffffffffffffffffffffffffffffffffffff166008828154811061084157610841611a42565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1614156108cb5760006008828154811061087e5761087e611a42565b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506108dd565b806108d581611aa0565b91505061080d565b5060405173ffffffffffffffffffffffffffffffffffffffff821681527fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb66692906020016105de565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091906104b9908290869061096b908790611ad9565b61103b565b61097a3382611579565b50565b3360009081526009602052604090205460ff1615156001146109fb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f4f6e6c79206d696e7465727300000000000000000000000000000000000000006044820152606401610566565b610a05828261175e565b60405181815273ffffffffffffffffffffffffffffffffffffffff83169033907fe0dcb47e0eb67e20e87f3e34aab31c669ecec7466e8b7fb329d586dadebac6b6906020015b60405180910390a35050565b3360009081526009602052604090205460ff161515600114610ad5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f4f6e6c79206d696e7465727300000000000000000000000000000000000000006044820152606401610566565b610adf8282610c74565b604051818152339073ffffffffffffffffffffffffffffffffffffffff8416907fdc7fd22bc401e7c6b9be2c2736286a2a42ea0c6307bc97ff0fb12bd0abd2c74790602001610a4b565b60065473ffffffffffffffffffffffffffffffffffffffff163314610bd0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7560448201527f2063616e20616363657074206f776e65727368697000000000000000000000006064820152608401610566565b6005546006546040805173ffffffffffffffffffffffffffffffffffffffff93841681529290911660208301527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c910160405180910390a160068054600580547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff841617909155169055565b610c7f8233836111ef565b610c898282611579565b5050565b606060048054610428906119ee565b60075473ffffffffffffffffffffffffffffffffffffffff16331480610cd9575060055473ffffffffffffffffffffffffffffffffffffffff1633145b610d3f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4e6f74206f776e6572206f722074696d656c6f636b00000000000000000000006044820152606401610566565b73ffffffffffffffffffffffffffffffffffffffff8116610dbc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5a65726f206164647265737320646574656374656400000000000000000000006044820152606401610566565b73ffffffffffffffffffffffffffffffffffffffff811660009081526009602052604090205460ff1615610e4c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4164647265737320616c726561647920657869737473000000000000000000006044820152606401610566565b73ffffffffffffffffffffffffffffffffffffffff8116600081815260096020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091556008805491820181559093527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee390920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905590519182527f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f691016105de565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490919083811015610fe9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152608401610566565b610602828686840361103b565b6000336104b98185856112c6565b6008818154811061101457600080fd5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b73ffffffffffffffffffffffffffffffffffffffff83166110dd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610566565b73ffffffffffffffffffffffffffffffffffffffff8216611180576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610566565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146112c057818110156112b3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610566565b6112c0848484840361103b565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8316611369576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610566565b73ffffffffffffffffffffffffffffffffffffffff821661140c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610566565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260208190526040902054818110156114c2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610566565b73ffffffffffffffffffffffffffffffffffffffff808516600090815260208190526040808220858503905591851681529081208054849290611506908490611ad9565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161156c91815260200190565b60405180910390a36112c0565b73ffffffffffffffffffffffffffffffffffffffff821661161c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610566565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260208190526040902054818110156116d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610566565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260208190526040812083830390556002805484929061170e908490611af1565b909155505060405182815260009073ffffffffffffffffffffffffffffffffffffffff8516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020016111e2565b73ffffffffffffffffffffffffffffffffffffffff82166117db576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610566565b80600260008282546117ed9190611ad9565b909155505073ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604081208054839290611827908490611ad9565b909155505060405181815273ffffffffffffffffffffffffffffffffffffffff8316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b600060208083528351808285015260005b818110156118ab5785810183015185820160400152820161188f565b818111156118bd576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461191557600080fd5b919050565b6000806040838503121561192d57600080fd5b611936836118f1565b946020939093013593505050565b60006020828403121561195657600080fd5b61195f826118f1565b9392505050565b60008060006060848603121561197b57600080fd5b611984846118f1565b9250611992602085016118f1565b9150604084013590509250925092565b6000602082840312156119b457600080fd5b5035919050565b600080604083850312156119ce57600080fd5b6119d7836118f1565b91506119e5602084016118f1565b90509250929050565b600181811c90821680611a0257607f821691505b60208210811415611a3c577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415611ad257611ad2611a71565b5060010190565b60008219821115611aec57611aec611a71565b500190565b600082821015611b0357611b03611a71565b50039056fea2646970667358221220a858c34fb8da0fa204d26cb3cdc480421167b7d589255ee480c0ec5c40af2a6e64736f6c634300080a0033000000000000000000000000f2c4592813b5b3f79ac522e4efb2c19a666e937c0000000000000000000000008412ebf45bac1b340bbe8f318b928c466c4e39ca