{
  "_format": "hh-sol-artifact-1",
  "contractName": "ERC1155MetadataFacet",
  "sourceName": "contracts/token/ERC1155/facets/ERC1155MetadataFacet.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "contract IForwarderRegistry",
          "name": "forwarderRegistry",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [],
      "name": "IllegalInterfaceId",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "InconsistentArrayLengths",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "currentPhase",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "newPhase",
          "type": "uint256"
        }
      ],
      "name": "InitializationPhaseAlreadyReached",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "NotMetadataResolver",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "NotProxyAdmin",
      "type": "error"
    },
    {
      "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": "uint256[]",
          "name": "tokenIds",
          "type": "uint256[]"
        },
        {
          "internalType": "string[]",
          "name": "tokenURIs",
          "type": "string[]"
        }
      ],
      "name": "batchSetTokenURI",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "name",
          "type": "string"
        },
        {
          "internalType": "string",
          "name": "symbol",
          "type": "string"
        },
        {
          "internalType": "contract ITokenMetadataResolver",
          "name": "metadataResolver",
          "type": "address"
        }
      ],
      "name": "initERC1155MetadataStorage",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "metadataResolver",
      "outputs": [
        {
          "internalType": "contract ITokenMetadataResolver",
          "name": "tokenMetadataResolver",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "name",
      "outputs": [
        {
          "internalType": "string",
          "name": "tokenName",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "tokenId",
          "type": "uint256"
        },
        {
          "internalType": "string",
          "name": "tokenURI",
          "type": "string"
        }
      ],
      "name": "setTokenURI",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "symbol",
      "outputs": [
        {
          "internalType": "string",
          "name": "tokenSymbol",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "tokenId",
          "type": "uint256"
        }
      ],
      "name": "uri",
      "outputs": [
        {
          "internalType": "string",
          "name": "metadataURI",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x60a034606657601f6110c238819003918201601f19168301916001600160401b03831184841017606b57808492602094604052833981010312606657516001600160a01b03811681036066576080526040516110409081610082823960805181610eed0152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604052600436101561001257600080fd5b60003560e01c806306fdde0314610c135780630e89341c14610a62578063162094c41461099b578063345c14ad146103375780636706467b1461014a57806395d89b41146100df5763a0c76f621461006957600080fd5b346100da5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100da57602073ffffffffffffffffffffffffffffffffffffffff7f7ea68fd2dcf1c056b94db6a0a537aa80d26fa9ab1eacd85da1ba0b61b7e7a8a65416604051908152f35b600080fd5b346100da5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100da5761014661013a7f7ea68fd2dcf1c056b94db6a0a537aa80d26fa9ab1eacd85da1ba0b61b7e7a8a5610e14565b60405191829182610c91565b0390f35b346100da5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100da5760043567ffffffffffffffff81116100da57610199903690600401610d09565b60243567ffffffffffffffff81116100da576101b9903690600401610d09565b9182810361030d5773ffffffffffffffffffffffffffffffffffffffff7f7ea68fd2dcf1c056b94db6a0a537aa80d26fa9ab1eacd85da1ba0b61b7e7a8a6541633036102df57916000907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe183360301915b848110156102dd57818110156102ae578060051b9081850135848112156100da5785019182359267ffffffffffffffff84116100da576020019083360382136100da576001937f6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b916102a56040519283928d01359583610d3a565b0390a20161022a565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b005b7f22060671000000000000000000000000000000000000000000000000000000006000523360045260246000fd5b7f658253360000000000000000000000000000000000000000000000000000000060005260046000fd5b346100da5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100da5760043567ffffffffffffffff81116100da57610386903690600401610cdb565b60243567ffffffffffffffff81116100da576103a6903690600401610cdb565b90926044359273ffffffffffffffffffffffffffffffffffffffff84168094036100da576103d2610ed6565b73ffffffffffffffffffffffffffffffffffffffff807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035416911690810361096e57507f7ea68fd2dcf1c056b94db6a0a537aa80d26fa9ab1eacd85da1ba0b61b7e7a8a4917f92f72593ca50a0096f68ee94e7000db40ed086164b695855e2250750b8bfaf5854600181101561093c575060017f92f72593ca50a0096f68ee94e7000db40ed086164b695855e2250750b8bfaf585567ffffffffffffffff821161080d5781906104a28454610d80565b601f81116108e9575b50600090601f83116001146108475760009261083c575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c19161790555b67ffffffffffffffff811161080d5761052d7f7ea68fd2dcf1c056b94db6a0a537aa80d26fa9ab1eacd85da1ba0b61b7e7a8a554610d80565b601f8111610789575b506000601f821160011461068e57819293600092610683575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c1916177f7ea68fd2dcf1c056b94db6a0a537aa80d26fa9ab1eacd85da1ba0b61b7e7a8a5555b7fffffffffffffffffffffffff00000000000000000000000000000000000000007f7ea68fd2dcf1c056b94db6a0a537aa80d26fa9ab1eacd85da1ba0b61b7e7a8a65416177f7ea68fd2dcf1c056b94db6a0a537aa80d26fa9ab1eacd85da1ba0b61b7e7a8a6557f0e89341c000000000000000000000000000000000000000000000000000000006000527fca9d3e17f264b0f3984e2634e94adb37fa3e6a8103f06aeae6fa59e21c769f5d602052604060002060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00825416179055600080f35b01359050838061054f565b7f7ea68fd2dcf1c056b94db6a0a537aa80d26fa9ab1eacd85da1ba0b61b7e7a8a581527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08216937fc39bad3db5d56dccf839bc8a79759b3192b97757d993f7663c9998f4fbefc8a191805b8681106107715750836001959610610739575b505050811b017f7ea68fd2dcf1c056b94db6a0a537aa80d26fa9ab1eacd85da1ba0b61b7e7a8a5556105a1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88560031b161c1991013516905583808061070c565b909260206001819286860135815501940191016106f9565b7f7ea68fd2dcf1c056b94db6a0a537aa80d26fa9ab1eacd85da1ba0b61b7e7a8a56000527fc39bad3db5d56dccf839bc8a79759b3192b97757d993f7663c9998f4fbefc8a1601f830160051c81019160208410610803575b601f0160051c01905b8181106107f75750610536565b600081556001016107ea565b90915081906107e1565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b0135905086806104c2565b90917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016918481526020812092815b8181106108d15750908460019594939210610899575b505050811b0190556104f4565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88560031b161c1991013516905586808061088c565b91936020600181928787013581550195019201610876565b909150836000526020600020601f840160051c81019160208510610932575b90601f859493920160051c01905b81811061092357506104ab565b60008155849350600101610916565b9091508190610908565b7fbf0c18ec00000000000000000000000000000000000000000000000000000000600052600452600160245260446000fd5b7f673a31a10000000000000000000000000000000000000000000000000000000060005260045260246000fd5b346100da5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100da5760243567ffffffffffffffff81116100da576109ea903690600401610cdb565b73ffffffffffffffffffffffffffffffffffffffff7f7ea68fd2dcf1c056b94db6a0a537aa80d26fa9ab1eacd85da1ba0b61b7e7a8a6541633036102df57610a5d7f6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b916040519182916004359583610d3a565b0390a2005b346100da5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100da576044600073ffffffffffffffffffffffffffffffffffffffff7f7ea68fd2dcf1c056b94db6a0a537aa80d26fa9ab1eacd85da1ba0b61b7e7a8a65416604051928380927ff724dad700000000000000000000000000000000000000000000000000000000825230600483015260043560248301525afa908115610c0757600091610b24575b604051806101468482610c91565b3d8083833e610b338183610dd3565b810190602081830312610bff5780519067ffffffffffffffff8211610c03570181601f82011215610bff5780519267ffffffffffffffff8411610bd25760405192610ba660207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8801160185610dd3565b84845260208584010111610bcf575061014692610bc99160208085019101610c6e565b90610b16565b80fd5b807f4e487b7100000000000000000000000000000000000000000000000000000000602492526041600452fd5b8280fd5b8380fd5b6040513d6000823e3d90fd5b346100da5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100da5761014661013a7f7ea68fd2dcf1c056b94db6a0a537aa80d26fa9ab1eacd85da1ba0b61b7e7a8a4610e14565b60005b838110610c815750506000910152565b8181015183820152602001610c71565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f60409360208452610cd48151809281602088015260208888019101610c6e565b0116010190565b9181601f840112156100da5782359167ffffffffffffffff83116100da57602083818601950101116100da57565b9181601f840112156100da5782359167ffffffffffffffff83116100da576020808501948460051b0101116100da57565b90601f836040947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe093602086528160208701528686013760008582860101520116010190565b90600182811c92168015610dc9575b6020831014610d9a57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f1691610d8f565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761080d57604052565b9060405191826000825492610e2884610d80565b8084529360018116908115610e965750600114610e4f575b50610e4d92500383610dd3565b565b90506000929192526020600020906000915b818310610e7a575050906020610e4d9282010138610e40565b6020919350806001915483858901015201910190918492610e61565b60209350610e4d9592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b82010138610e40565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168015610ffb573233148015611000575b610ffb577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec36013560601c90803314908115610f61575b50610f5e57503390565b90565b60649150602090604051928380927f019a20280000000000000000000000000000000000000000000000000000000082528660048301523360248301523060448301525afa908115610c0757600091610fbc575b5038610f54565b6020813d602011610ff3575b81610fd560209383610dd3565b81010312610fef5751908115158203610bcf575038610fb5565b5080fd5b3d9150610fc8565b503390565b5060183610610f1d56fea264697066735822122061e59190ea53ce4ea571c71295c3818de4476643be3f3009d434c2f6f68a88d064736f6c634300081e0033",
  "deployedBytecode": "0x6080604052600436101561001257600080fd5b60003560e01c806306fdde0314610c135780630e89341c14610a62578063162094c41461099b578063345c14ad146103375780636706467b1461014a57806395d89b41146100df5763a0c76f621461006957600080fd5b346100da5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100da57602073ffffffffffffffffffffffffffffffffffffffff7f7ea68fd2dcf1c056b94db6a0a537aa80d26fa9ab1eacd85da1ba0b61b7e7a8a65416604051908152f35b600080fd5b346100da5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100da5761014661013a7f7ea68fd2dcf1c056b94db6a0a537aa80d26fa9ab1eacd85da1ba0b61b7e7a8a5610e14565b60405191829182610c91565b0390f35b346100da5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100da5760043567ffffffffffffffff81116100da57610199903690600401610d09565b60243567ffffffffffffffff81116100da576101b9903690600401610d09565b9182810361030d5773ffffffffffffffffffffffffffffffffffffffff7f7ea68fd2dcf1c056b94db6a0a537aa80d26fa9ab1eacd85da1ba0b61b7e7a8a6541633036102df57916000907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe183360301915b848110156102dd57818110156102ae578060051b9081850135848112156100da5785019182359267ffffffffffffffff84116100da576020019083360382136100da576001937f6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b916102a56040519283928d01359583610d3a565b0390a20161022a565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b005b7f22060671000000000000000000000000000000000000000000000000000000006000523360045260246000fd5b7f658253360000000000000000000000000000000000000000000000000000000060005260046000fd5b346100da5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100da5760043567ffffffffffffffff81116100da57610386903690600401610cdb565b60243567ffffffffffffffff81116100da576103a6903690600401610cdb565b90926044359273ffffffffffffffffffffffffffffffffffffffff84168094036100da576103d2610ed6565b73ffffffffffffffffffffffffffffffffffffffff807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035416911690810361096e57507f7ea68fd2dcf1c056b94db6a0a537aa80d26fa9ab1eacd85da1ba0b61b7e7a8a4917f92f72593ca50a0096f68ee94e7000db40ed086164b695855e2250750b8bfaf5854600181101561093c575060017f92f72593ca50a0096f68ee94e7000db40ed086164b695855e2250750b8bfaf585567ffffffffffffffff821161080d5781906104a28454610d80565b601f81116108e9575b50600090601f83116001146108475760009261083c575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c19161790555b67ffffffffffffffff811161080d5761052d7f7ea68fd2dcf1c056b94db6a0a537aa80d26fa9ab1eacd85da1ba0b61b7e7a8a554610d80565b601f8111610789575b506000601f821160011461068e57819293600092610683575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c1916177f7ea68fd2dcf1c056b94db6a0a537aa80d26fa9ab1eacd85da1ba0b61b7e7a8a5555b7fffffffffffffffffffffffff00000000000000000000000000000000000000007f7ea68fd2dcf1c056b94db6a0a537aa80d26fa9ab1eacd85da1ba0b61b7e7a8a65416177f7ea68fd2dcf1c056b94db6a0a537aa80d26fa9ab1eacd85da1ba0b61b7e7a8a6557f0e89341c000000000000000000000000000000000000000000000000000000006000527fca9d3e17f264b0f3984e2634e94adb37fa3e6a8103f06aeae6fa59e21c769f5d602052604060002060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00825416179055600080f35b01359050838061054f565b7f7ea68fd2dcf1c056b94db6a0a537aa80d26fa9ab1eacd85da1ba0b61b7e7a8a581527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08216937fc39bad3db5d56dccf839bc8a79759b3192b97757d993f7663c9998f4fbefc8a191805b8681106107715750836001959610610739575b505050811b017f7ea68fd2dcf1c056b94db6a0a537aa80d26fa9ab1eacd85da1ba0b61b7e7a8a5556105a1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88560031b161c1991013516905583808061070c565b909260206001819286860135815501940191016106f9565b7f7ea68fd2dcf1c056b94db6a0a537aa80d26fa9ab1eacd85da1ba0b61b7e7a8a56000527fc39bad3db5d56dccf839bc8a79759b3192b97757d993f7663c9998f4fbefc8a1601f830160051c81019160208410610803575b601f0160051c01905b8181106107f75750610536565b600081556001016107ea565b90915081906107e1565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b0135905086806104c2565b90917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016918481526020812092815b8181106108d15750908460019594939210610899575b505050811b0190556104f4565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88560031b161c1991013516905586808061088c565b91936020600181928787013581550195019201610876565b909150836000526020600020601f840160051c81019160208510610932575b90601f859493920160051c01905b81811061092357506104ab565b60008155849350600101610916565b9091508190610908565b7fbf0c18ec00000000000000000000000000000000000000000000000000000000600052600452600160245260446000fd5b7f673a31a10000000000000000000000000000000000000000000000000000000060005260045260246000fd5b346100da5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100da5760243567ffffffffffffffff81116100da576109ea903690600401610cdb565b73ffffffffffffffffffffffffffffffffffffffff7f7ea68fd2dcf1c056b94db6a0a537aa80d26fa9ab1eacd85da1ba0b61b7e7a8a6541633036102df57610a5d7f6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b916040519182916004359583610d3a565b0390a2005b346100da5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100da576044600073ffffffffffffffffffffffffffffffffffffffff7f7ea68fd2dcf1c056b94db6a0a537aa80d26fa9ab1eacd85da1ba0b61b7e7a8a65416604051928380927ff724dad700000000000000000000000000000000000000000000000000000000825230600483015260043560248301525afa908115610c0757600091610b24575b604051806101468482610c91565b3d8083833e610b338183610dd3565b810190602081830312610bff5780519067ffffffffffffffff8211610c03570181601f82011215610bff5780519267ffffffffffffffff8411610bd25760405192610ba660207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8801160185610dd3565b84845260208584010111610bcf575061014692610bc99160208085019101610c6e565b90610b16565b80fd5b807f4e487b7100000000000000000000000000000000000000000000000000000000602492526041600452fd5b8280fd5b8380fd5b6040513d6000823e3d90fd5b346100da5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100da5761014661013a7f7ea68fd2dcf1c056b94db6a0a537aa80d26fa9ab1eacd85da1ba0b61b7e7a8a4610e14565b60005b838110610c815750506000910152565b8181015183820152602001610c71565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f60409360208452610cd48151809281602088015260208888019101610c6e565b0116010190565b9181601f840112156100da5782359167ffffffffffffffff83116100da57602083818601950101116100da57565b9181601f840112156100da5782359167ffffffffffffffff83116100da576020808501948460051b0101116100da57565b90601f836040947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe093602086528160208701528686013760008582860101520116010190565b90600182811c92168015610dc9575b6020831014610d9a57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f1691610d8f565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761080d57604052565b9060405191826000825492610e2884610d80565b8084529360018116908115610e965750600114610e4f575b50610e4d92500383610dd3565b565b90506000929192526020600020906000915b818310610e7a575050906020610e4d9282010138610e40565b6020919350806001915483858901015201910190918492610e61565b60209350610e4d9592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b82010138610e40565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168015610ffb573233148015611000575b610ffb577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec36013560601c90803314908115610f61575b50610f5e57503390565b90565b60649150602090604051928380927f019a20280000000000000000000000000000000000000000000000000000000082528660048301523360248301523060448301525afa908115610c0757600091610fbc575b5038610f54565b6020813d602011610ff3575b81610fd560209383610dd3565b81010312610fef5751908115158203610bcf575038610fb5565b5080fd5b3d9150610fc8565b503390565b5060183610610f1d56fea264697066735822122061e59190ea53ce4ea571c71295c3818de4476643be3f3009d434c2f6f68a88d064736f6c634300081e0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
