[ { "inputs": [], "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": 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": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "delegate", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "delegate", "type": "address" }, { "internalType": "uint256", "name": "numTokens", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "tokenOwner", "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": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "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": "receiver", "type": "address" }, { "internalType": "uint256", "name": "numTokens", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "buyer", "type": "address" }, { "internalType": "uint256", "name": "numTokens", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" } ]
60806040526012600a6200001491906200019c565b6402cb417800620000269190620002d9565b6000553480156200003657600080fd5b50600054600160006200004e6200010b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506200009c6200010b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600054604051620000fd919062000124565b60405180910390a36200038d565b600033905090565b6200011e816200033a565b82525050565b60006020820190506200013b600083018462000113565b92915050565b6000808291508390505b600185111562000193578086048111156200016b576200016a62000351565b5b60018516156200017b5780820291505b80810290506200018b8562000380565b94506200014b565b94509492505050565b6000620001a9826200033a565b9150620001b68362000344565b9250620001e57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620001ed565b905092915050565b600082620001ff5760019050620002d2565b816200020f5760009050620002d2565b8160018114620002285760028114620002335762000269565b6001915050620002d2565b60ff84111562000248576200024762000351565b5b8360020a91508482111562000262576200026162000351565b5b50620002d2565b5060208310610133831016604e8410600b8410161715620002a35782820a9050838111156200029d576200029c62000351565b5b620002d2565b620002b2848484600162000141565b92509050818404811115620002cc57620002cb62000351565b5b81810290505b9392505050565b6000620002e6826200033a565b9150620002f3836200033a565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156200032f576200032e62000351565b5b828202905092915050565b6000819050919050565b600060ff82169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b610e4c806200039d6000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c8063313ce56711610066578063313ce5671461013457806370a082311461015257806395d89b4114610182578063a9059cbb146101a0578063dd62ed3e146101d057610093565b806306fdde0314610098578063095ea7b3146100b657806318160ddd146100e657806323b872dd14610104575b600080fd5b6100a0610200565b6040516100ad9190610bee565b60405180910390f35b6100d060048036038101906100cb9190610b2d565b610239565b6040516100dd9190610bd3565b60405180910390f35b6100ee610339565b6040516100fb9190610c10565b60405180910390f35b61011e60048036038101906101199190610ada565b610342565b60405161012b9190610bd3565b60405180910390f35b61013c6106d7565b6040516101499190610c2b565b60405180910390f35b61016c60048036038101906101679190610a6d565b6106dc565b6040516101799190610c10565b60405180910390f35b61018a610725565b6040516101979190610bee565b60405180910390f35b6101ba60048036038101906101b59190610b2d565b61075e565b6040516101c79190610bd3565b60405180910390f35b6101ea60048036038101906101e59190610a9a565b610961565b6040516101f79190610c10565b60405180910390f35b6040518060400160405280600881526020017f41766178706f6c7900000000000000000000000000000000000000000000000081525081565b600081600260006102486109e8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff166102e26109e8565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516103279190610c10565b60405180910390a36001905092915050565b60008054905090565b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111561039057600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006103d96109e8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111561042057600080fd5b61047282600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109f090919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061054b82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105026109e8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109f090919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105946109e8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061062482600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610a1790919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516106c49190610c10565b60405180910390a3600190509392505050565b601281565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6040518060400160405280600481526020017f504f4c590000000000000000000000000000000000000000000000000000000081525081565b60006001600061076c6109e8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211156107b357600080fd5b61080c82600160006107c36109e8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109f090919063ffffffff16565b600160006108186109e8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506108a882600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610a1790919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff1661090a6109e8565b73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161094f9190610c10565b60405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600082821115610a0357610a02610d74565b5b8183610a0f9190610cb8565b905092915050565b6000808284610a269190610c62565b905083811015610a3957610a38610d74565b5b8091505092915050565b600081359050610a5281610de8565b92915050565b600081359050610a6781610dff565b92915050565b600060208284031215610a8357610a82610dd2565b5b6000610a9184828501610a43565b91505092915050565b60008060408385031215610ab157610ab0610dd2565b5b6000610abf85828601610a43565b9250506020610ad085828601610a43565b9150509250929050565b600080600060608486031215610af357610af2610dd2565b5b6000610b0186828701610a43565b9350506020610b1286828701610a43565b9250506040610b2386828701610a58565b9150509250925092565b60008060408385031215610b4457610b43610dd2565b5b6000610b5285828601610a43565b9250506020610b6385828601610a58565b9150509250929050565b610b7681610cfe565b82525050565b6000610b8782610c46565b610b918185610c51565b9350610ba1818560208601610d41565b610baa81610dd7565b840191505092915050565b610bbe81610d2a565b82525050565b610bcd81610d34565b82525050565b6000602082019050610be86000830184610b6d565b92915050565b60006020820190508181036000830152610c088184610b7c565b905092915050565b6000602082019050610c256000830184610bb5565b92915050565b6000602082019050610c406000830184610bc4565b92915050565b600081519050919050565b600082825260208201905092915050565b6000610c6d82610d2a565b9150610c7883610d2a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610cad57610cac610da3565b5b828201905092915050565b6000610cc382610d2a565b9150610cce83610d2a565b925082821015610ce157610ce0610da3565b5b828203905092915050565b6000610cf782610d0a565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015610d5f578082015181840152602081019050610d44565b83811115610d6e576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b610df181610cec565b8114610dfc57600080fd5b50565b610e0881610d2a565b8114610e1357600080fd5b5056fea26469706673582212209a8e575648abcc33aff6982ff26151712bb0be2c12c93af6a94e256029ac570264736f6c63430008070033