[ { "inputs": [ { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "symbol", "type": "string" }, { "internalType": "address", "name": "_admin", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "allowance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" } ], "name": "ERC20InsufficientAllowance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint256", "name": "balance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" } ], "name": "ERC20InsufficientBalance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "approver", "type": "address" } ], "name": "ERC20InvalidApprover", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "receiver", "type": "address" } ], "name": "ERC20InvalidReceiver", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" } ], "name": "ERC20InvalidSender", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" } ], "name": "ERC20InvalidSpender", "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": 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": "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": "value", "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": "from", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "minter", "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": "_admin", "type": "address" } ], "name": "setAdmin", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_airdropper", "type": "address" } ], "name": "setAirdropper", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_minter", "type": "address" }, { "internalType": "address", "name": "_vault", "type": "address" } ], "name": "setToVault", "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": "from", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "updateAllowance", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
60806040523461039d57610e9280380380610019816103a2565b92833981019060608183031261039d5780516001600160401b03811161039d57826100459183016103c7565b60208201519092906001600160401b03811161039d576040916100699184016103c7565b9101516001600160a01b0381169081900361039d5782516001600160401b0381116102a657600354600181811c91168015610393575b602082101461028657601f811161032e575b506020601f82116001146102c757819293946000926102bc575b50508160011b916000199060031b1c1916176003555b81516001600160401b0381116102a657600454600181811c9116801561029c575b602082101461028657601f8111610221575b50602092601f82116001146101bc57928192936000926101b1575b50508160011b916000199060031b1c1916176004555b801561017b57600680546001600160a01b03199081169290921790556005805490911633179055604051610a5f90816104338239f35b60405162461bcd60e51b815260206004820152600e60248201526d63616e6e6f74206265207a65726f60901b6044820152606490fd5b01519050388061012f565b601f198216936004600052806000209160005b86811061020957508360019596106101f0575b505050811b01600455610145565b015160001960f88460031b161c191690553880806101e2565b919260206001819286850151815501940192016101cf565b60046000527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f830160051c8101916020841061027c575b601f0160051c01905b8181106102705750610114565b60008155600101610263565b909150819061025a565b634e487b7160e01b600052602260045260246000fd5b90607f1690610102565b634e487b7160e01b600052604160045260246000fd5b0151905038806100cb565b601f198216906003600052806000209160005b818110610316575095836001959697106102fd575b505050811b016003556100e1565b015160001960f88460031b161c191690553880806102ef565b9192602060018192868b0151815501940192016102da565b60036000527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f830160051c81019160208410610389575b601f0160051c01905b81811061037d57506100b1565b60008155600101610370565b9091508190610367565b90607f169061009f565b600080fd5b6040519190601f01601f191682016001600160401b038111838210176102a657604052565b81601f8201121561039d578051906001600160401b0382116102a6576103f6601f8301601f19166020016103a2565b928284526020838301011161039d5760005b82811061041d57505060206000918301015290565b8060208092840101518282870101520161040856fe608080604052600436101561001357600080fd5b60003560e01c90816306fdde03146107c457508063075461721461079b578063095ea7b31461071557806318160ddd146106f757806323b872dd146106cb578063313ce567146106af57806340c10f1914610602578063704b6c021461057857806370a082311461053e57806395d89b411461041e5780639dc29fac14610366578063a9059cbb146102ea578063a919647214610265578063dc489c9b14610210578063dd62ed3e146101bf5763f75ba210146100cf57600080fd5b346101ba576100dd3661090b565b600754919290916001600160a01b031633036101ba576001600160a01b0390811660008181526001602081815260408084209588168452949052929020549391840161012557005b82841061019557801561017f576001600160a01b038216156101695760009081526001602090815260408083206001600160a01b0390941683529290522091039055005b634a1406b160e11b600052600060045260246000fd5b63e602df0560e01b600052600060045260246000fd5b508290637dc7a0d960e11b60005260018060a01b031660045260245260445260646000fd5b600080fd5b346101ba5760403660031901126101ba576101d86108df565b6101e06108f5565b6001600160a01b039182166000908152600160209081526040808320949093168252928352819020549051908152f35b346101ba5760203660031901126101ba576102296108df565b6006546001600160a01b031633036101ba576001600160a01b031661024f811515610945565b600880546001600160a01b031916919091179055005b346101ba5760403660031901126101ba5761027e6108df565b6102866108f5565b6006549091906001600160a01b031633036101ba576001600160a01b0316906102b0821515610945565b6001600160a01b0316906102c5821515610945565b600580546001600160a01b031990811692909217905560078054909116919091179055005b346101ba5760403660031901126101ba576103036108df565b6008546001600160a01b0316330361032e57610323906024359033610982565b602060405160018152f35b60405162461bcd60e51b815260206004820152601060248201526f06f6e6c7920666f722061697244726f760841b6044820152606490fd5b346101ba5760403660031901126101ba5761037f6108df565b60055460243591906001600160a01b031633036101ba576001600160a01b0316908115610408576000908282528160205260408220548181106103f0576020828593600080516020610a0a83398151915293869787528684520360408620558060025403600255604051908152a380f35b60649363391434e360e21b8452600452602452604452fd5b634b637e8f60e11b600052600060045260246000fd5b346101ba5760003660031901126101ba5760405160006004548060011c90600181168015610534575b6020831081146105205782855290811561050457506001146104ad575b50819003601f01601f19168101906001600160401b038211818310176104975761049382918260405282610896565b0390f35b634e487b7160e01b600052604160045260246000fd5b600460009081529091507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b8282106104ee57506020915082010182610464565b60018160209254838588010152019101906104d9565b90506020925060ff191682840152151560051b82010182610464565b634e487b7160e01b84526022600452602484fd5b91607f1691610447565b346101ba5760203660031901126101ba576001600160a01b0361055f6108df565b1660005260006020526020604060002054604051908152f35b346101ba5760203660031901126101ba576105916108df565b600654906001600160a01b038216338190036101ba57156105c8576001600160a01b03166001600160a01b03199190911617600655005b60405162461bcd60e51b815260206004820152601260248201527163616e6e6f74206265207468652073616d6560701b6044820152606490fd5b346101ba5760403660031901126101ba5761061b6108df565b60055460243591906001600160a01b031633036101ba576001600160a01b03168015610699576002549180830180931161068357602092600255600080516020610a0a833981519152600093849284845283825260408420818154019055604051908152a380f35b634e487b7160e01b600052601160045260246000fd5b63ec442f0560e01b600052600060045260246000fd5b346101ba5760003660031901126101ba57602060405160068152f35b346101ba576106d93661090b565b6007549091906001600160a01b031633036101ba5761032392610982565b346101ba5760003660031901126101ba576020600254604051908152f35b346101ba5760403660031901126101ba5761072e6108df565b60243590331561017f576001600160a01b031690811561016957336000526001602052604060002082600052602052806040600020556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b346101ba5760003660031901126101ba576005546040516001600160a01b039091168152602090f35b346101ba5760003660031901126101ba5760006003548060011c9060018116801561088c575b6020831081146105205782855290811561050457506001146108355750819003601f01601f19168101906001600160401b038211818310176104975761049382918260405282610896565b600360009081529091507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b82821061087657506020915082010182610464565b6001816020925483858801015201910190610861565b91607f16916107ea565b91909160208152825180602083015260005b8181106108c9575060409293506000838284010152601f8019910116010190565b80602080928701015160408286010152016108a8565b600435906001600160a01b03821682036101ba57565b602435906001600160a01b03821682036101ba57565b60609060031901126101ba576004356001600160a01b03811681036101ba57906024356001600160a01b03811681036101ba579060443590565b1561094c57565b60405162461bcd60e51b815260206004820152600e60248201526d63616e6e6f74206265207a65726f60901b6044820152606490fd5b6001600160a01b0316908115610408576001600160a01b03169182156106995760008281528060205260408120548281106109ef579160408282600080516020610a0a833981519152958760209652828652038282205586815280845220818154019055604051908152a3565b916064928463391434e360e21b8452600452602452604452fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220849f30f83e24a7ba9f41c431f0326bd56e25fe9439e6fe6d451a62adc9d82b8564736f6c634300081c0033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000f36e5a9a749ea13d8a9453f4a3ba1fa31234079700000000000000000000000000000000000000000000000000000000000000067a6b55534443000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000067a6b555344430000000000000000000000000000000000000000000000000000