[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "ZeroAmount", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "approved", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "ApprovalForAll", "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": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "approve", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "getApproved", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "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": "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": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "setApprovalForAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_uri", "type": "string" } ], "name": "setURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "tokenURI", "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": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "transferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "uri", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" } ]
60806040523480156200001157600080fd5b50604051806040016040528060078152602001665465737437323160c81b815250604051806040016040528060078152602001665445535437323160c81b815250816000908162000063919062000190565b50600162000072828262000190565b5050506200008f620000896200009560201b60201c565b62000099565b6200025c565b3390565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200011657607f821691505b6020821081036200013757634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200018b57600081815260208120601f850160051c81016020861015620001665750805b601f850160051c820191505b81811015620001875782815560010162000172565b5050505b505050565b81516001600160401b03811115620001ac57620001ac620000eb565b620001c481620001bd845462000101565b846200013d565b602080601f831160018114620001fc5760008415620001e35750858301515b600019600386901b1c1916600185901b17855562000187565b600085815260208120601f198616915b828110156200022d578886015182559484019460019091019084016200020c565b50858210156200024c5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b611d28806200026c6000396000f3fe608060405234801561001057600080fd5b506004361061016c5760003560e01c806370a08231116100cd578063b88d4fde11610081578063e985e9c511610066578063e985e9c5146102eb578063eac989f814610334578063f2fde38b1461033c57600080fd5b8063b88d4fde146102c5578063c87b56dd146102d857600080fd5b80638da5cb5b116100b25780638da5cb5b1461028c57806395d89b41146102aa578063a22cb465146102b257600080fd5b806370a0823114610271578063715018a61461028457600080fd5b806318160ddd1161012457806340c10f191161010957806340c10f191461023857806342842e0e1461024b5780636352211e1461025e57600080fd5b806318160ddd1461020e57806323b872dd1461022557600080fd5b806306fdde031161015557806306fdde03146101ae578063081812fc146101c3578063095ea7b3146101fb57600080fd5b806301ffc9a71461017157806302fe530514610199575b600080fd5b61018461017f3660046116df565b61034f565b60405190151581526020015b60405180910390f35b6101ac6101a73660046117c6565b610434565b005b6101b6610444565b604051610190919061187a565b6101d66101d136600461188d565b6104d6565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610190565b6101ac6102093660046118cf565b61050a565b61021760075481565b604051908152602001610190565b6101ac6102333660046118f9565b61069b565b6101ac6102463660046118cf565b61073c565b6101ac6102593660046118f9565b6107b5565b6101d661026c36600461188d565b6107d0565b61021761027f366004611935565b61085c565b6101ac61092a565b60065473ffffffffffffffffffffffffffffffffffffffff166101d6565b6101b661093e565b6101ac6102c0366004611950565b61094d565b6101ac6102d336600461198c565b610958565b6101b66102e636600461188d565b610a00565b6101846102f9366004611a08565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260056020908152604080832093909416825291909152205460ff1690565b6101b6610a9d565b6101ac61034a366004611935565b610b2b565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd0000000000000000000000000000000000000000000000000000000014806103e257507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061042e57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60086104408282611adc565b5050565b60606000805461045390611a3b565b80601f016020809104026020016040519081016040528092919081815260200182805461047f90611a3b565b80156104cc5780601f106104a1576101008083540402835291602001916104cc565b820191906000526020600020905b8154815290600101906020018083116104af57829003601f168201915b5050505050905090565b60006104e182610be2565b5060009081526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b6000610515826107d0565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036105d7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff82161480610600575061060081336102f9565b61068c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206e6f7220617070726f76656420666f7220616c6c000060648201526084016105ce565b6106968383610c6d565b505050565b6106a53382610d0d565b610731576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206e6f7220617070726f76656400000000000000000000000000000000000060648201526084016105ce565b610696838383610dcd565b80600003610776576040517f1f2a200500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60075460005b828110156107ad5761078e8483611034565b610799600183611c25565b9150806107a581611c3d565b91505061077c565b506007555050565b61069683838360405180602001604052806000815250610958565b60008181526002602052604081205473ffffffffffffffffffffffffffffffffffffffff168061042e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e204944000000000000000060448201526064016105ce565b600073ffffffffffffffffffffffffffffffffffffffff8216610901576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e6572000000000000000000000000000000000000000000000060648201526084016105ce565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604090205490565b6109326111f6565b61093c6000611277565b565b60606001805461045390611a3b565b6104403383836112ee565b6109623383610d0d565b6109ee576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206e6f7220617070726f76656400000000000000000000000000000000000060648201526084016105ce565b6109fa8484848461141b565b50505050565b6060610a0b82610be2565b60088054610a1890611a3b565b80601f0160208091040260200160405190810160405280929190818152602001828054610a4490611a3b565b8015610a915780601f10610a6657610100808354040283529160200191610a91565b820191906000526020600020905b815481529060010190602001808311610a7457829003601f168201915b50505050509050919050565b60088054610aaa90611a3b565b80601f0160208091040260200160405190810160405280929190818152602001828054610ad690611a3b565b8015610b235780601f10610af857610100808354040283529160200191610b23565b820191906000526020600020905b815481529060010190602001808311610b0657829003601f168201915b505050505081565b610b336111f6565b73ffffffffffffffffffffffffffffffffffffffff8116610bd6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016105ce565b610bdf81611277565b50565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff16610bdf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e204944000000000000000060448201526064016105ce565b600081815260046020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091558190610cc7826107d0565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080610d19836107d0565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610d87575073ffffffffffffffffffffffffffffffffffffffff80821660009081526005602090815260408083209388168352929052205460ff165b80610dc557508373ffffffffffffffffffffffffffffffffffffffff16610dad846104d6565b73ffffffffffffffffffffffffffffffffffffffff16145b949350505050565b8273ffffffffffffffffffffffffffffffffffffffff16610ded826107d0565b73ffffffffffffffffffffffffffffffffffffffff1614610e90576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e657200000000000000000000000000000000000000000000000000000060648201526084016105ce565b73ffffffffffffffffffffffffffffffffffffffff8216610f32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016105ce565b610f3d600082610c6d565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600360205260408120805460019290610f73908490611c75565b909155505073ffffffffffffffffffffffffffffffffffffffff82166000908152600360205260408120805460019290610fae908490611c25565b909155505060008181526002602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff86811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b73ffffffffffffffffffffffffffffffffffffffff82166110b1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016105ce565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff161561113d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016105ce565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600360205260408120805460019290611173908490611c25565b909155505060008181526002602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60065473ffffffffffffffffffffffffffffffffffffffff16331461093c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105ce565b6006805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611383576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016105ce565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526005602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611426848484610dcd565b611432848484846114be565b6109fa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016105ce565b600073ffffffffffffffffffffffffffffffffffffffff84163b156116a6576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a0290611535903390899088908890600401611c8c565b6020604051808303816000875af192505050801561158e575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261158b91810190611cd5565b60015b61165b573d8080156115bc576040519150601f19603f3d011682016040523d82523d6000602084013e6115c1565b606091505b508051600003611653576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016105ce565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050610dc5565b506001949350505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610bdf57600080fd5b6000602082840312156116f157600080fd5b81356116fc816116b1565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600067ffffffffffffffff8084111561174d5761174d611703565b604051601f85017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190828211818310171561179357611793611703565b816040528093508581528686860111156117ac57600080fd5b858560208301376000602087830101525050509392505050565b6000602082840312156117d857600080fd5b813567ffffffffffffffff8111156117ef57600080fd5b8201601f8101841361180057600080fd5b610dc584823560208401611732565b6000815180845260005b8181101561183557602081850181015186830182015201611819565b81811115611847576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006116fc602083018461180f565b60006020828403121561189f57600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff811681146118ca57600080fd5b919050565b600080604083850312156118e257600080fd5b6118eb836118a6565b946020939093013593505050565b60008060006060848603121561190e57600080fd5b611917846118a6565b9250611925602085016118a6565b9150604084013590509250925092565b60006020828403121561194757600080fd5b6116fc826118a6565b6000806040838503121561196357600080fd5b61196c836118a6565b91506020830135801515811461198157600080fd5b809150509250929050565b600080600080608085870312156119a257600080fd5b6119ab856118a6565b93506119b9602086016118a6565b925060408501359150606085013567ffffffffffffffff8111156119dc57600080fd5b8501601f810187136119ed57600080fd5b6119fc87823560208401611732565b91505092959194509250565b60008060408385031215611a1b57600080fd5b611a24836118a6565b9150611a32602084016118a6565b90509250929050565b600181811c90821680611a4f57607f821691505b602082108103611a88577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f82111561069657600081815260208120601f850160051c81016020861015611ab55750805b601f850160051c820191505b81811015611ad457828155600101611ac1565b505050505050565b815167ffffffffffffffff811115611af657611af6611703565b611b0a81611b048454611a3b565b84611a8e565b602080601f831160018114611b5d5760008415611b275750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555611ad4565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015611baa57888601518255948401946001909101908401611b8b565b5085821015611be657878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008219821115611c3857611c38611bf6565b500190565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611c6e57611c6e611bf6565b5060010190565b600082821015611c8757611c87611bf6565b500390565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525083604083015260806060830152611ccb608083018461180f565b9695505050505050565b600060208284031215611ce757600080fd5b81516116fc816116b156fea26469706673582212202d649fb7086b35862ca694ef1cb4953532ab187af334e8e918d61687ea55354d64736f6c634300080f0033