{
  "_format": "hh-sol-artifact-1",
  "contractName": "TokenMetadataResolverPerTokenERC1155",
  "sourceName": "contracts/token/metadata/TokenMetadataResolverPerTokenERC1155.sol",
  "abi": [
    {
      "inputs": [],
      "name": "InconsistentArrayLengths",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "targetContract",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "role",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "NotTargetContractRoleHolder",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "targetContract",
          "type": "address"
        }
      ],
      "name": "TargetIsNotAContract",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "MINTER_ROLE",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "tokenContract",
          "type": "address"
        },
        {
          "internalType": "uint256[]",
          "name": "tokenIds",
          "type": "uint256[]"
        },
        {
          "internalType": "string[]",
          "name": "tokenURIs",
          "type": "string[]"
        }
      ],
      "name": "batchSetTokenURI",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "metadataURI",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "tokenContract",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "tokenId",
          "type": "uint256"
        },
        {
          "internalType": "string",
          "name": "tokenURI",
          "type": "string"
        }
      ],
      "name": "setTokenURI",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "tokenContract",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "tokenId",
          "type": "uint256"
        }
      ],
      "name": "tokenMetadataURI",
      "outputs": [
        {
          "internalType": "string",
          "name": "tokenURI",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x60808060405234601557610cef908161001b8239f35b600080fdfe6080604052600436101561001257600080fd5b6000803560e01c8063361953a3146108565780634e5786bf146105c7578063626dc9a81461012d578063d5391393146100d45763f724dad71461005457600080fd5b346100d15760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d1576100c160406100cd9273ffffffffffffffffffffffffffffffffffffffff6100a96108a8565b16815280602052818120602435825260205220610993565b60405191829182610a55565b0390f35b80fd5b50346100d157807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d15760206040517f6d696e74657200000000000000000000000000000000000000000000000000008152f35b50346100d15760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d1576101656108a8565b60243567ffffffffffffffff81116105c357610185903690600401610abd565b60449291923567ffffffffffffffff81116105bf576101a8903690600401610abd565b939092848303610597576101bf9492943382610b2d565b859273ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1863603019216935b868110156103f057818110156103c3578060051b80870135848112156103bf5787019081359067ffffffffffffffff82116103bb5781360360208401136103bb57878b528a60205260408b20908701358b5260205260408a209161026383546108d0565b601f8111610376575b508a90601f83116001146102cd576001949392918c91836102bf575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82861b9260031b1c19161790555b016101ff565b602092500101353880610288565b838c5260208c20917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084168d5b81811061035c575091600196959492918388959310610321575b505050811b0190556102b9565b01602001357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600384901b60f8161c19169055388080610314565b9193602060018192828888010135815501950192016102fa565b838c5260208c20601f840160051c810191602085106103b1575b601f0160051c01905b8181106103a6575061026c565b8c8155600101610399565b9091508190610390565b8a80fd5b8980fd5b6024887f4e487b710000000000000000000000000000000000000000000000000000000081526032600452fd5b50909295949391863b1561059357604051947f6706467b000000000000000000000000000000000000000000000000000000008652604060048701528060448701527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811161058f5760059493941b8091606487013784019080606483017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc606488860301016024880152526084820191602060648360051b8301010194809488925b8484106104f2575088808981818e8183818f03925af180156104e7576104d65750f35b816104e091610923565b6100d15780f35b6040513d84823e3d90fd5b909192939495967fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9c838303010187528735838112156103bb57840160208135910167ffffffffffffffff821161058b57813603811361058b5761057c6001936020938493610aee565b990197019594019291906104b3565b8b80fd5b8680fd5b8580fd5b6004867f65825336000000000000000000000000000000000000000000000000000000008152fd5b8480fd5b8280fd5b50346100d15760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d1576105ff6108a8565b604435919060243567ffffffffffffffff84116105c357366023850112156105c35783600401359167ffffffffffffffff83116107595736602484870101116107595773ffffffffffffffffffffffffffffffffffffffff906106623382610b2d565b16938484528360205260408420828552602052604084209461068486546108d0565b601f8111610811575b508495601f851160011461076b578486978796979161075d575b508660011b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8860031b1c19161790555b803b156107595761072d94848094604051978895869485937f162094c40000000000000000000000000000000000000000000000000000000085526004850152604060248501526024604485019201610aee565b03925af1801561074c5761073e5780f35b61074791610923565b388180f35b50604051903d90823e3d90fd5b8380fd5b6024915084010135386106a7565b808652602086207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861697875b8981106107f65750868899989798106107bb575b5050600186811b0190556106d9565b60247fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88a60031b161c19918601013516905538806107ac565b90916020600181926024868a01013581550193019101610798565b86865260208620601f860160051c8101916020871061084c575b601f0160051c01905b818110610841575061068d565b868155600101610834565b909150819061082b565b50346100d15760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d1576100c160406100cd9273ffffffffffffffffffffffffffffffffffffffff6100a95b6004359073ffffffffffffffffffffffffffffffffffffffff821682036108cb57565b600080fd5b90600182811c92168015610919575b60208310146108ea57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f16916108df565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761096457604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90604051918260008254926109a7846108d0565b8084529360018116908115610a1557506001146109ce575b506109cc92500383610923565b565b90506000929192526020600020906000915b8183106109f95750509060206109cc92820101386109bf565b60209193508060019154838589010152019101909184926109e0565b602093506109cc9592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b820101386109bf565b9190916020815282519283602083015260005b848110610aa75750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006040809697860101520116010190565b8060208092840101516040828601015201610a68565b9181601f840112156108cb5782359167ffffffffffffffff83116108cb576020808501948460051b0101116108cb57565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b803b15610c755773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff604051927f91d148540000000000000000000000000000000000000000000000000000000084527f6d696e746572000000000000000000000000000000000000000000000000000060048501521691826024820152602081604481855afa908115610c6957600091610c2a575b5015610bd6575050565b7f7a436c16000000000000000000000000000000000000000000000000000000006000526004527f6d696e746572000000000000000000000000000000000000000000000000000060245260445260646000fd5b6020813d602011610c61575b81610c4360209383610923565b81010312610c5d57519081151582036100d1575038610bcc565b5080fd5b3d9150610c36565b6040513d6000823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff907f73a5b5e3000000000000000000000000000000000000000000000000000000006000521660045260246000fdfea2646970667358221220b0c369cabd63e57ea6023acdc135e21135c1d8c7d95fbd325be00f31c7d2e80064736f6c634300081e0033",
  "deployedBytecode": "0x6080604052600436101561001257600080fd5b6000803560e01c8063361953a3146108565780634e5786bf146105c7578063626dc9a81461012d578063d5391393146100d45763f724dad71461005457600080fd5b346100d15760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d1576100c160406100cd9273ffffffffffffffffffffffffffffffffffffffff6100a96108a8565b16815280602052818120602435825260205220610993565b60405191829182610a55565b0390f35b80fd5b50346100d157807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d15760206040517f6d696e74657200000000000000000000000000000000000000000000000000008152f35b50346100d15760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d1576101656108a8565b60243567ffffffffffffffff81116105c357610185903690600401610abd565b60449291923567ffffffffffffffff81116105bf576101a8903690600401610abd565b939092848303610597576101bf9492943382610b2d565b859273ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1863603019216935b868110156103f057818110156103c3578060051b80870135848112156103bf5787019081359067ffffffffffffffff82116103bb5781360360208401136103bb57878b528a60205260408b20908701358b5260205260408a209161026383546108d0565b601f8111610376575b508a90601f83116001146102cd576001949392918c91836102bf575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82861b9260031b1c19161790555b016101ff565b602092500101353880610288565b838c5260208c20917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084168d5b81811061035c575091600196959492918388959310610321575b505050811b0190556102b9565b01602001357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600384901b60f8161c19169055388080610314565b9193602060018192828888010135815501950192016102fa565b838c5260208c20601f840160051c810191602085106103b1575b601f0160051c01905b8181106103a6575061026c565b8c8155600101610399565b9091508190610390565b8a80fd5b8980fd5b6024887f4e487b710000000000000000000000000000000000000000000000000000000081526032600452fd5b50909295949391863b1561059357604051947f6706467b000000000000000000000000000000000000000000000000000000008652604060048701528060448701527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811161058f5760059493941b8091606487013784019080606483017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc606488860301016024880152526084820191602060648360051b8301010194809488925b8484106104f2575088808981818e8183818f03925af180156104e7576104d65750f35b816104e091610923565b6100d15780f35b6040513d84823e3d90fd5b909192939495967fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9c838303010187528735838112156103bb57840160208135910167ffffffffffffffff821161058b57813603811361058b5761057c6001936020938493610aee565b990197019594019291906104b3565b8b80fd5b8680fd5b8580fd5b6004867f65825336000000000000000000000000000000000000000000000000000000008152fd5b8480fd5b8280fd5b50346100d15760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d1576105ff6108a8565b604435919060243567ffffffffffffffff84116105c357366023850112156105c35783600401359167ffffffffffffffff83116107595736602484870101116107595773ffffffffffffffffffffffffffffffffffffffff906106623382610b2d565b16938484528360205260408420828552602052604084209461068486546108d0565b601f8111610811575b508495601f851160011461076b578486978796979161075d575b508660011b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8860031b1c19161790555b803b156107595761072d94848094604051978895869485937f162094c40000000000000000000000000000000000000000000000000000000085526004850152604060248501526024604485019201610aee565b03925af1801561074c5761073e5780f35b61074791610923565b388180f35b50604051903d90823e3d90fd5b8380fd5b6024915084010135386106a7565b808652602086207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861697875b8981106107f65750868899989798106107bb575b5050600186811b0190556106d9565b60247fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88a60031b161c19918601013516905538806107ac565b90916020600181926024868a01013581550193019101610798565b86865260208620601f860160051c8101916020871061084c575b601f0160051c01905b818110610841575061068d565b868155600101610834565b909150819061082b565b50346100d15760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d1576100c160406100cd9273ffffffffffffffffffffffffffffffffffffffff6100a95b6004359073ffffffffffffffffffffffffffffffffffffffff821682036108cb57565b600080fd5b90600182811c92168015610919575b60208310146108ea57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f16916108df565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761096457604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90604051918260008254926109a7846108d0565b8084529360018116908115610a1557506001146109ce575b506109cc92500383610923565b565b90506000929192526020600020906000915b8183106109f95750509060206109cc92820101386109bf565b60209193508060019154838589010152019101909184926109e0565b602093506109cc9592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b820101386109bf565b9190916020815282519283602083015260005b848110610aa75750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006040809697860101520116010190565b8060208092840101516040828601015201610a68565b9181601f840112156108cb5782359167ffffffffffffffff83116108cb576020808501948460051b0101116108cb57565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b803b15610c755773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff604051927f91d148540000000000000000000000000000000000000000000000000000000084527f6d696e746572000000000000000000000000000000000000000000000000000060048501521691826024820152602081604481855afa908115610c6957600091610c2a575b5015610bd6575050565b7f7a436c16000000000000000000000000000000000000000000000000000000006000526004527f6d696e746572000000000000000000000000000000000000000000000000000060245260445260646000fd5b6020813d602011610c61575b81610c4360209383610923565b81010312610c5d57519081151582036100d1575038610bcc565b5080fd5b3d9150610c36565b6040513d6000823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff907f73a5b5e3000000000000000000000000000000000000000000000000000000006000521660045260246000fdfea2646970667358221220b0c369cabd63e57ea6023acdc135e21135c1d8c7d95fbd325be00f31c7d2e80064736f6c634300081e0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
