[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint256", "name": "balance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ERC1155InsufficientBalance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "approver", "type": "address" } ], "name": "ERC1155InvalidApprover", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "idsLength", "type": "uint256" }, { "internalType": "uint256", "name": "valuesLength", "type": "uint256" } ], "name": "ERC1155InvalidArrayLength", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" } ], "name": "ERC1155InvalidOperator", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "receiver", "type": "address" } ], "name": "ERC1155InvalidReceiver", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" } ], "name": "ERC1155InvalidSender", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "address", "name": "owner", "type": "address" } ], "name": "ERC1155MissingApprovalForAll", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "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": "operator", "type": "address" }, { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256[]", "name": "ids", "type": "uint256[]" }, { "indexed": false, "internalType": "uint256[]", "name": "values", "type": "uint256[]" } ], "name": "TransferBatch", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "id", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "TransferSingle", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "string", "name": "value", "type": "string" }, { "indexed": true, "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "URI", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "accounts", "type": "address[]" }, { "internalType": "uint256[]", "name": "ids", "type": "uint256[]" } ], "name": "balanceOfBatch", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "id", "type": "uint256" }, { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "mint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256[]", "name": "ids", "type": "uint256[]" }, { "internalType": "uint256[]", "name": "values", "type": "uint256[]" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "safeBatchTransferFrom", "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": "uint256", "name": "value", "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": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "uri", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" } ]
60806040523480156200001157600080fd5b5060408051808201909152601f81527f68747470733a2f2f65726331313535746f6b656e732f7b69647d2e6a736f6e0060208201526200005181620001b2565b506200008c73ffcf8fdee72ac11b5c542428b35eef5769c409f0606561012c60405180602001604052806000815250620001c460201b60201c565b620000c673ffcf8fdee72ac11b5c542428b35eef5769c409f0606661012c60405180602001604052806000815250620001c460201b60201c565b620000ff73ffcf8fdee72ac11b5c542428b35eef5769c409f06067606460405180602001604052806000815250620001c460201b60201c565b620001397390f8bf6a479f320ead074411a4b0e7944ea8c9c1606561012c60405180602001604052806000815250620001c460201b60201c565b620001737390f8bf6a479f320ead074411a4b0e7944ea8c9c1606661012c60405180602001604052806000815250620001c460201b60201c565b620001ac7390f8bf6a479f320ead074411a4b0e7944ea8c9c16067606460405180602001604052806000815250620001c460201b60201c565b62000a56565b6002620001c08282620007b8565b5050565b6001600160a01b038416620001fa576000604051632bfa23e760e11b8152600401620001f1919062000884565b60405180910390fd5b604080516001808252602082018690528183019081526060820185905260808201909252906200022f60008784848762000237565b505050505050565b6200024585858585620002b0565b6001600160a01b03841615620002a95782513390600103620002995760006200026f8582620004f1565b905060006200027f8582620004f1565b905062000291838989858589620004ff565b50506200022f565b6200022f81878787878762000629565b5050505050565b8051825114620002e15781518151604051635b05999160e01b815260048101929092526024820152604401620001f1565b3360005b8351811015620003fd576000620002fd8583620004f1565b905060006200030d8584620004f1565b90506001600160a01b03881615620003aa576000828152602081815260408083206001600160a01b038c1684529091529020548181101562000383576040516303dee4c560e01b81526001600160a01b038a166004820152602481018290526044810183905260648101849052608401620001f1565b6000838152602081815260408083206001600160a01b038d16845290915290209082900390555b6001600160a01b03871615620003f2576000828152602081815260408083206001600160a01b038b16845290915281208054839290620003ec90849062000898565b90915550505b5050600101620002e5565b50825160010362000491576000620004168482620004f1565b90506000620004268482620004f1565b9050856001600160a01b0316876001600160a01b0316846001600160a01b03167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62858560405162000481929190918252602082015260400190565b60405180910390a45050620002a9565b836001600160a01b0316856001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051620004e2929190620008fe565b60405180910390a45050505050565b602090810291909101015190565b6001600160a01b0384163b156200022f5760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e619062000546908990899088908890889060040162000978565b6020604051808303816000875af192505050801562000584575060408051601f3d908101601f191682019092526200058191810190620009bf565b60015b620005ea573d808015620005b5576040519150601f19603f3d011682016040523d82523d6000602084013e620005ba565b606091505b508051600003620005e25784604051632bfa23e760e11b8152600401620001f1919062000884565b805181602001fd5b6001600160e01b0319811663f23a6e6160e01b14620006205784604051632bfa23e760e11b8152600401620001f1919062000884565b50505050505050565b6001600160a01b0384163b156200022f5760405163bc197c8160e01b81526001600160a01b0385169063bc197c8190620006709089908990889088908890600401620009f2565b6020604051808303816000875af1925050508015620006ae575060408051601f3d908101601f19168201909252620006ab91810190620009bf565b60015b620006df573d808015620005b5576040519150601f19603f3d011682016040523d82523d6000602084013e620005ba565b6001600160e01b0319811663bc197c8160e01b14620006205784604051632bfa23e760e11b8152600401620001f1919062000884565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200074057607f821691505b6020821081036200076157634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620007b3576000816000526020600020601f850160051c81016020861015620007925750805b601f850160051c820191505b818110156200022f578281556001016200079e565b505050565b81516001600160401b03811115620007d457620007d462000715565b620007ec81620007e584546200072b565b8462000767565b602080601f8311600181146200082457600084156200080b5750858301515b600019600386901b1c1916600185901b1785556200022f565b600085815260208120601f198616915b82811015620008555788860151825594840194600190910190840162000834565b5085821015620008745787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6001600160a01b0391909116815260200190565b80820180821115620008ba57634e487b7160e01b600052601160045260246000fd5b92915050565b60008151808452602080850194506020840160005b83811015620008f357815187529582019590820190600101620008d5565b509495945050505050565b604081526000620009136040830185620008c0565b8281036020840152620009278185620008c0565b95945050505050565b6000815180845260005b8181101562000958576020818501810151868301820152016200093a565b506000602082860101526020601f19601f83011685010191505092915050565b6001600160a01b03868116825285166020820152604081018490526060810183905260a060808201819052600090620009b49083018462000930565b979650505050505050565b600060208284031215620009d257600080fd5b81516001600160e01b031981168114620009eb57600080fd5b9392505050565b6001600160a01b0386811682528516602082015260a06040820181905260009062000a2090830186620008c0565b828103606084015262000a348186620008c0565b9050828103608084015262000a4a818562000930565b98975050505050505050565b6111a58062000a666000396000f3fe608060405234801561001057600080fd5b50600436106100825760003560e01c8062fdd58e1461008757806301ffc9a7146100ad5780630e89341c146100d05780632eb2c2d6146100f05780634e1273f414610105578063731133e914610125578063a22cb46514610138578063e985e9c51461014b578063f242432a1461015e575b600080fd5b61009a610095366004610ad8565b610171565b6040519081526020015b60405180910390f35b6100c06100bb366004610b1b565b610199565b60405190151581526020016100a4565b6100e36100de366004610b3f565b6101e9565b6040516100a49190610b9e565b6101036100fe366004610cf8565b61027d565b005b610118610113366004610da1565b6102de565b6040516100a49190610e9c565b610103610133366004610eaf565b6103a6565b610103610146366004610f0f565b6103b8565b6100c0610159366004610f4b565b6103c7565b61010361016c366004610f7e565b6103f5565b6000818152602081815260408083206001600160a01b03861684529091529020545b92915050565b60006001600160e01b03198216636cdb3d1360e11b14806101ca57506001600160e01b031982166303a24d0760e21b145b8061019357506301ffc9a760e01b6001600160e01b0319831614610193565b6060600280546101f890610fe2565b80601f016020809104026020016040519081016040528092919081815260200182805461022490610fe2565b80156102715780601f1061024657610100808354040283529160200191610271565b820191906000526020600020905b81548152906001019060200180831161025457829003601f168201915b50505050509050919050565b336001600160a01b038616811480159061029e575061029c86826103c7565b155b156102c957808660405163711bec9160e11b81526004016102c092919061101c565b60405180910390fd5b6102d68686868686610445565b505050505050565b6060815183511461030f5781518351604051635b05999160e01b8152600481019290925260248201526044016102c0565b600083516001600160401b0381111561032a5761032a610bb1565b604051908082528060200260200182016040528015610353578160200160208202803683370190505b50905060005b845181101561039e5761037961036f86836104ac565b61009586846104ac565b82828151811061038b5761038b611036565b6020908102919091010152600101610359565b509392505050565b6103b2848484846104ba565b50505050565b6103c3338383610503565b5050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205460ff1690565b336001600160a01b0386168114801590610416575061041486826103c7565b155b1561043857808660405163711bec9160e11b81526004016102c092919061101c565b6102d68686868686610599565b6001600160a01b03841661046f576000604051632bfa23e760e11b81526004016102c0919061104c565b6001600160a01b038516610498576000604051626a0d4560e21b81526004016102c0919061104c565b6104a58585858585610613565b5050505050565b602090810291909101015190565b6001600160a01b0384166104e4576000604051632bfa23e760e11b81526004016102c0919061104c565b6000806104f18585610678565b915091506102d6600087848487610613565b6001600160a01b03821661052c57600060405162ced3e160e81b81526004016102c0919061104c565b6001600160a01b03838116600081815260016020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001600160a01b0384166105c3576000604051632bfa23e760e11b81526004016102c0919061104c565b6001600160a01b0385166105ec576000604051626a0d4560e21b81526004016102c0919061104c565b6000806105f98585610678565b9150915061060a8787848487610613565b50505050505050565b61061f858585856106a0565b6001600160a01b038416156104a5578251339060010361066a57600061064585826104ac565b9050600061065385826104ac565b90506106638389898585896108ca565b50506102d6565b6102d68187878787876109dc565b6040805160018082526020820194909452808201938452606081019290925260808201905291565b80518251146106cf5781518151604051635b05999160e01b8152600481019290925260248201526044016102c0565b3360005b83518110156107df5760006106e885836104ac565b905060006106f685846104ac565b90506001600160a01b03881615610790576000828152602081815260408083206001600160a01b038c16845290915290205481811015610769576040516303dee4c560e01b81526001600160a01b038a1660048201526024810182905260448101839052606481018490526084016102c0565b6000838152602081815260408083206001600160a01b038d16845290915290209082900390555b6001600160a01b038716156107d5576000828152602081815260408083206001600160a01b038b168452909152812080548392906107cf908490611060565b90915550505b50506001016106d3565b50825160010361086c5760006107f584826104ac565b9050600061080384826104ac565b9050856001600160a01b0316876001600160a01b0316846001600160a01b03167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62858560405161085d929190918252602082015260400190565b60405180910390a450506104a5565b836001600160a01b0316856001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb86866040516108bb929190611081565b60405180910390a45050505050565b6001600160a01b0384163b156102d65760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e619061090e90899089908890889088906004016110af565b6020604051808303816000875af1925050508015610949575060408051601f3d908101601f19168201909252610946918101906110f4565b60015b6109a9573d808015610977576040519150601f19603f3d011682016040523d82523d6000602084013e61097c565b606091505b5080516000036109a15784604051632bfa23e760e11b81526004016102c0919061104c565b805181602001fd5b6001600160e01b0319811663f23a6e6160e01b1461060a5784604051632bfa23e760e11b81526004016102c0919061104c565b6001600160a01b0384163b156102d65760405163bc197c8160e01b81526001600160a01b0385169063bc197c8190610a209089908990889088908890600401611111565b6020604051808303816000875af1925050508015610a5b575060408051601f3d908101601f19168201909252610a58918101906110f4565b60015b610a89573d808015610977576040519150601f19603f3d011682016040523d82523d6000602084013e61097c565b6001600160e01b0319811663bc197c8160e01b1461060a5784604051632bfa23e760e11b81526004016102c0919061104c565b80356001600160a01b0381168114610ad357600080fd5b919050565b60008060408385031215610aeb57600080fd5b610af483610abc565b946020939093013593505050565b6001600160e01b031981168114610b1857600080fd5b50565b600060208284031215610b2d57600080fd5b8135610b3881610b02565b9392505050565b600060208284031215610b5157600080fd5b5035919050565b6000815180845260005b81811015610b7e57602081850181015186830182015201610b62565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000610b386020830184610b58565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715610bef57610bef610bb1565b604052919050565b60006001600160401b03821115610c1057610c10610bb1565b5060051b60200190565b600082601f830112610c2b57600080fd5b81356020610c40610c3b83610bf7565b610bc7565b8083825260208201915060208460051b870101935086841115610c6257600080fd5b602086015b84811015610c7e5780358352918301918301610c67565b509695505050505050565b600082601f830112610c9a57600080fd5b81356001600160401b03811115610cb357610cb3610bb1565b610cc6601f8201601f1916602001610bc7565b818152846020838601011115610cdb57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a08688031215610d1057600080fd5b610d1986610abc565b9450610d2760208701610abc565b935060408601356001600160401b0380821115610d4357600080fd5b610d4f89838a01610c1a565b94506060880135915080821115610d6557600080fd5b610d7189838a01610c1a565b93506080880135915080821115610d8757600080fd5b50610d9488828901610c89565b9150509295509295909350565b60008060408385031215610db457600080fd5b82356001600160401b0380821115610dcb57600080fd5b818501915085601f830112610ddf57600080fd5b81356020610def610c3b83610bf7565b82815260059290921b84018101918181019089841115610e0e57600080fd5b948201945b83861015610e3357610e2486610abc565b82529482019490820190610e13565b96505086013592505080821115610e4957600080fd5b50610e5685828601610c1a565b9150509250929050565b60008151808452602080850194506020840160005b83811015610e9157815187529582019590820190600101610e75565b509495945050505050565b602081526000610b386020830184610e60565b60008060008060808587031215610ec557600080fd5b610ece85610abc565b9350602085013592506040850135915060608501356001600160401b03811115610ef757600080fd5b610f0387828801610c89565b91505092959194509250565b60008060408385031215610f2257600080fd5b610f2b83610abc565b915060208301358015158114610f4057600080fd5b809150509250929050565b60008060408385031215610f5e57600080fd5b610f6783610abc565b9150610f7560208401610abc565b90509250929050565b600080600080600060a08688031215610f9657600080fd5b610f9f86610abc565b9450610fad60208701610abc565b9350604086013592506060860135915060808601356001600160401b03811115610fd657600080fd5b610d9488828901610c89565b600181811c90821680610ff657607f821691505b60208210810361101657634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160a01b0392831681529116602082015260400190565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b0391909116815260200190565b8082018082111561019357634e487b7160e01b600052601160045260246000fd5b6040815260006110946040830185610e60565b82810360208401526110a68185610e60565b95945050505050565b6001600160a01b03868116825285166020820152604081018490526060810183905260a0608082018190526000906110e990830184610b58565b979650505050505050565b60006020828403121561110657600080fd5b8151610b3881610b02565b6001600160a01b0386811682528516602082015260a06040820181905260009061113d90830186610e60565b828103606084015261114f8186610e60565b905082810360808401526111638185610b58565b9897505050505050505056fea26469706673582212208d57eae7f6030567151935c147964ed17e8cb8a4ec96e650d74f2e288c93dd1764736f6c63430008180033