[ { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "id", "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": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [], "name": "_owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "targets", "type": "address[]" } ], "name": "airdrop", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "id", "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": [], "name": "fromAddr", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "getApproved", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "targets", "type": "address[]" } ], "name": "gift", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "targets", "type": "address[]" } ], "name": "holderAirdrop", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "initialize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "name_", "type": "string" }, { "internalType": "string", "name": "symbol_", "type": "string" }, { "internalType": "address", "name": "fromAddr_", "type": "address" }, { "internalType": "string", "name": "baseURI_", "type": "string" } ], "name": "initialize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "targets", "type": "address[]" } ], "name": "mainfunction", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "targets", "type": "address[]" } ], "name": "rewards", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "id", "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": "id", "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": "baseURI_", "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": "pure", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "typeId", "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": "id", "type": "uint256" } ], "name": "transferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "typeId", "type": "uint256" } ], "name": "uri", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" } ]
6080604052600160055534801561001557600080fd5b50611612806100256000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c806344338d9f116100de578063a22cb46511610097578063c87b56dd11610071578063c87b56dd14610208578063e6a07063146102ed578063e6fdb7ea14610300578063e985e9c51461031357600080fd5b8063a22cb465146102b4578063b2bdfa7b146102c7578063b88d4fde146102da57600080fd5b806344338d9f1461026b5780636352211e1461027e57806370a0823114610291578063729ad39e1461021b5780638129fc1c146102a457806395d89b41146102ac57600080fd5b8063163e1e6111610130578063163e1e611461021b57806318160ddd1461022e57806323b872dd146102455780632b7ff2541461021b57806342842e0e14610258578063442920501461021b57600080fd5b806301ffc9a71461017857806302fe5305146101a057806306fdde03146101b5578063081812fc146101ca578063095ea7b3146101f55780630e89341c14610208575b600080fd5b61018b610186366004610f68565b610341565b60405190151581526020015b60405180910390f35b6101b36101ae366004611043565b610378565b005b6101bd61039f565b6040516101979190611078565b6101dd6101d83660046110c6565b61042d565b6040516001600160a01b039091168152602001610197565b6101b36102033660046110f6565b6104a8565b6101bd6102163660046110c6565b61058a565b6101b3610229366004611120565b61061e565b61023760055481565b604051908152602001610197565b6101b36102533660046111cd565b61062a565b6101b36102663660046111cd565b6107f9565b6101b3610279366004611120565b6108f1565b6101dd61028c3660046110c6565b61095d565b61023761029f366004611209565b6109bd565b6101b3610a28565b6101bd610a67565b6101b36102c2366004611224565b610a74565b6003546101dd906001600160a01b031681565b6101b36102e8366004611260565b610ae0565b6101b36102fb3660046112fb565b610bc8565b6004546101dd906001600160a01b031681565b61018b610321366004611394565b600960209081526000928352604080842090915290825290205460ff1681565b60006001600160e01b031982166380ac58cd60e01b148061037257506001600160e01b031982166301ffc9a760e01b145b92915050565b6003546001600160a01b0316331461038f57600080fd5b600061039b828261144f565b5050565b600180546103ac906113c7565b80601f01602080910402602001604051908101604052809291908181526020018280546103d8906113c7565b80156104255780601f106103fa57610100808354040283529160200191610425565b820191906000526020600020905b81548152906001019060200180831161040857829003601f168201915b505050505081565b6000818152600660205260408120546001600160a01b031661048c5760405162461bcd60e51b81526020600482015260136024820152721d1bdad95b88191bd95cdb89dd08195e1a5cdd606a1b60448201526064015b60405180910390fd5b506000908152600860205260409020546001600160a01b031690565b6000818152600660205260409020546001600160a01b0316338114806104f157506001600160a01b038116600090815260096020908152604080832033845290915290205460ff165b61052e5760405162461bcd60e51b815260206004820152600e60248201526d1b9bdd08185d5d1a1bdc9a5e995960921b6044820152606401610483565b60008281526008602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b606060008054610599906113c7565b80601f01602080910402602001604051908101604052809291908181526020018280546105c5906113c7565b80156106125780601f106105e757610100808354040283529160200191610612565b820191906000526020600020905b8154815290600101906020018083116105f557829003601f168201915b50505050509050919050565b610627816108f1565b50565b6003546001600160a01b0316331461064157600080fd5b6000818152600660205260409020546001600160a01b0384811691161461069a5760405162461bcd60e51b815260206004820152600d60248201526c333937b690109e9037bbb732b960991b6044820152606401610483565b6001600160a01b0382166106f05760405162461bcd60e51b815260206004820152601860248201527f7472616e7366657220746f207a65726f206164647265737300000000000000006044820152606401610483565b6106fb833383610c8d565b6107385760405162461bcd60e51b815260206004820152600e60248201526d1b9bdd08185d5d1a1bdc9a5e995960921b6044820152606401610483565b6001600160a01b038316600090815260076020526040812080549161075c83611525565b90915550506001600160a01b03821660009081526007602052604081208054916107858361153c565b9091555050600081815260066020908152604080832080546001600160a01b038088166001600160a01b031992831681179093556008909452828520805490911690559051849391928716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b61080483838361062a565b6001600160a01b0382163b15806108ad5750604051630a85bd0160e11b8082523360048301526001600160a01b03858116602484015260448301849052608060648401526000608484015290919084169063150b7a029060a4016020604051808303816000875af115801561087d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a19190611555565b6001600160e01b031916145b6108ec5760405162461bcd60e51b815260206004820152601060248201526f1d5b9cd85999481c9958da5c1a595b9d60821b6044820152606401610483565b505050565b6003546001600160a01b0316331461090857600080fd5b60005b815181101561039b5761094d82828151811061092957610929611572565b6020026020010151600560008154809291906109449061153c565b91905055610d00565b6109568161153c565b905061090b565b6000818152600660205260409020546001600160a01b0316806109b85760405162461bcd60e51b81526020600482015260136024820152721d1bdad95b88191bd95cdb89dd08195e1a5cdd606a1b6044820152606401610483565b919050565b60006001600160a01b038216610a0c5760405162461bcd60e51b81526020600482015260146024820152736f776e6572203d207a65726f206164647265737360601b6044820152606401610483565b506001600160a01b031660009081526007602052604090205490565b6003546001600160a01b03161580610a4a57506003546001600160a01b031633145b610a5357600080fd5b600380546001600160a01b03191633179055565b600280546103ac906113c7565b3360008181526009602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610aeb85858561062a565b6001600160a01b0384163b1580610b825750604051630a85bd0160e11b808252906001600160a01b0386169063150b7a0290610b339033908a90899089908990600401611588565b6020604051808303816000875af1158015610b52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b769190611555565b6001600160e01b031916145b610bc15760405162461bcd60e51b815260206004820152601060248201526f1d5b9cd85999481c9958da5c1a595b9d60821b6044820152606401610483565b5050505050565b6003546001600160a01b03163314610c145760405162461bcd60e51b815260206004820152600f60248201526e3737ba1034b734ba34b0b634bd32b960891b6044820152606401610483565b600380546001600160a01b031916331790556001610c32858261144f565b506002610c3f848261144f565b50600480546001600160a01b0319166001600160a01b0384161790556000610c67828261144f565b5060058054610c87913391906000610c7e8361153c565b91905055610e2d565b50505050565b6000836001600160a01b0316836001600160a01b03161480610cd457506001600160a01b0380851660009081526009602090815260408083209387168352929052205460ff165b80610cf857506000828152600860205260409020546001600160a01b038481169116145b949350505050565b6001600160a01b038216610d4d5760405162461bcd60e51b81526020600482015260146024820152736d696e7420746f207a65726f206164647265737360601b6044820152606401610483565b6000818152600660205260409020546001600160a01b031615610da35760405162461bcd60e51b815260206004820152600e60248201526d185b1c9958591e481b5a5b9d195960921b6044820152606401610483565b6001600160a01b0382166000908152600760205260408120805491610dc78361153c565b909155505060008181526006602052604080822080546001600160a01b0319166001600160a01b03868116918217909255600454925185949193909216917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9190a45050565b6001600160a01b038216610e7a5760405162461bcd60e51b81526020600482015260146024820152736d696e7420746f207a65726f206164647265737360601b6044820152606401610483565b6000818152600660205260409020546001600160a01b031615610ed05760405162461bcd60e51b815260206004820152600e60248201526d185b1c9958591e481b5a5b9d195960921b6044820152606401610483565b6001600160a01b0382166000908152600760205260408120805491610ef48361153c565b909155505060008181526006602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6001600160e01b03198116811461062757600080fd5b600060208284031215610f7a57600080fd5b8135610f8581610f52565b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610fcb57610fcb610f8c565b604052919050565b600082601f830112610fe457600080fd5b813567ffffffffffffffff811115610ffe57610ffe610f8c565b611011601f8201601f1916602001610fa2565b81815284602083860101111561102657600080fd5b816020850160208301376000918101602001919091529392505050565b60006020828403121561105557600080fd5b813567ffffffffffffffff81111561106c57600080fd5b610cf884828501610fd3565b600060208083528351808285015260005b818110156110a557858101830151858201604001528201611089565b506000604082860101526040601f19601f8301168501019250505092915050565b6000602082840312156110d857600080fd5b5035919050565b80356001600160a01b03811681146109b857600080fd5b6000806040838503121561110957600080fd5b611112836110df565b946020939093013593505050565b6000602080838503121561113357600080fd5b823567ffffffffffffffff8082111561114b57600080fd5b818501915085601f83011261115f57600080fd5b81358181111561117157611171610f8c565b8060051b9150611182848301610fa2565b818152918301840191848101908884111561119c57600080fd5b938501935b838510156111c1576111b2856110df565b825293850193908501906111a1565b98975050505050505050565b6000806000606084860312156111e257600080fd5b6111eb846110df565b92506111f9602085016110df565b9150604084013590509250925092565b60006020828403121561121b57600080fd5b610f85826110df565b6000806040838503121561123757600080fd5b611240836110df565b91506020830135801515811461125557600080fd5b809150509250929050565b60008060008060006080868803121561127857600080fd5b611281866110df565b945061128f602087016110df565b935060408601359250606086013567ffffffffffffffff808211156112b357600080fd5b818801915088601f8301126112c757600080fd5b8135818111156112d657600080fd5b8960208285010111156112e857600080fd5b9699959850939650602001949392505050565b6000806000806080858703121561131157600080fd5b843567ffffffffffffffff8082111561132957600080fd5b61133588838901610fd3565b9550602087013591508082111561134b57600080fd5b61135788838901610fd3565b9450611365604088016110df565b9350606087013591508082111561137b57600080fd5b5061138887828801610fd3565b91505092959194509250565b600080604083850312156113a757600080fd5b6113b0836110df565b91506113be602084016110df565b90509250929050565b600181811c908216806113db57607f821691505b6020821081036113fb57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156108ec57600081815260208120601f850160051c810160208610156114285750805b601f850160051c820191505b8181101561144757828155600101611434565b505050505050565b815167ffffffffffffffff81111561146957611469610f8c565b61147d8161147784546113c7565b84611401565b602080601f8311600181146114b2576000841561149a5750858301515b600019600386901b1c1916600185901b178555611447565b600085815260208120601f198616915b828110156114e1578886015182559484019460019091019084016114c2565b50858210156114ff5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b6000816115345761153461150f565b506000190190565b60006001820161154e5761154e61150f565b5060010190565b60006020828403121561156757600080fd5b8151610f8581610f52565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b038681168252851660208201526040810184905260806060820181905281018290526000828460a0840137600060a0848401015260a0601f19601f8501168301019050969550505050505056fea26469706673582212206d15e266f15ad5be6a499028a95e0f6a7afe74b30e4c14eaa9f0dbeecea67ae464736f6c63430008110033