{
  "_format": "hh-sol-artifact-1",
  "contractName": "ERC721MintableOnceFacetMock",
  "sourceName": "contracts/mocks/token/ERC721/facets/ERC721MintableOnceFacetMock.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "contract IForwarderRegistry",
          "name": "forwarderRegistry",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "tokenId",
          "type": "uint256"
        }
      ],
      "name": "ERC721BurntToken",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "tokenId",
          "type": "uint256"
        }
      ],
      "name": "ERC721ExistingToken",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "ERC721MintToAddressZero",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "recipient",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "tokenId",
          "type": "uint256"
        }
      ],
      "name": "ERC721SafeTransferRejected",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "IllegalInterfaceId",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "NotProxyAdmin",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "role",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "NotRoleHolder",
      "type": "error"
    },
    {
      "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": [],
      "name": "MINTER_ROLE",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "__msgData",
      "outputs": [
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256[]",
          "name": "tokenIds",
          "type": "uint256[]"
        }
      ],
      "name": "batchMint",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "initERC721MintableOnceStorage",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "tokenId",
          "type": "uint256"
        }
      ],
      "name": "mint",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "tokenId",
          "type": "uint256"
        },
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "safeMint",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "tokenId",
          "type": "uint256"
        }
      ],
      "name": "wasBurnt",
      "outputs": [
        {
          "internalType": "bool",
          "name": "tokenWasBurnt",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x60a034606d57601f610f6438819003918201601f19168301916001600160401b03831184841017607257808492602094604052833981010312606d57516001600160a01b0381168103606d57608052604051610edb90816100898239608051818181610c2f0152610d910152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604052600436101561001257600080fd5b60003560e01c806331e66e1e146108e757806340c10f19146108555780634684d7e9146105ac57806383b0b740146104725780638832e6e314610152578063c77c6955146100c75763d53913931461006957600080fd5b346100c25760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c25760206040517f6d696e74657200000000000000000000000000000000000000000000000000008152f35b600080fd5b346100c25760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c2577fddf3ee18ae6d688373c219468f8be446e7ae82215f4779d821c7ea5e8c13c0c060043560005260205260207fdead00000000000000000000000000000000000000000000000000000000000060406000205414604051908152f35b346100c25760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c25761018961096a565b60443560243567ffffffffffffffff82116100c257366023830112156100c25781600401359167ffffffffffffffff83116100c25736602484830101116100c2576024936101ff7fc8827d3282af6f37b64c3e9e6f3ac9df286ab0bb0fccd6f8661bf19adb368b226101f9610d7a565b906109fd565b61027e83827fddf3ee18ae6d688373c219468f8be446e7ae82215f4779d821c7ea5e8c13c0c061022d610d7a565b9560208960009a8b93836040519e8f9261026e837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f880116018561098d565b848452019101378b010152610abf565b803b610288578380f35b73ffffffffffffffffffffffffffffffffffffffff169373ffffffffffffffffffffffffffffffffffffffff604051927f150b7a020000000000000000000000000000000000000000000000000000000084521660048301528360248301528260448301526080606483015281815191826084830152855b83811061045a57505060a4817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f858985602098860101520116810103018186885af190811561044f5783916103d0575b507fffffffff000000000000000000000000000000000000000000000000000000007f150b7a02000000000000000000000000000000000000000000000000000000009116036103a25780808380f35b6044927fc215a7a1000000000000000000000000000000000000000000000000000000008352600452602452fd5b90506020813d602011610447575b816103eb6020938361098d565b8101031261044357517fffffffff0000000000000000000000000000000000000000000000000000000081168103610443577fffffffff00000000000000000000000000000000000000000000000000000000610352565b8280fd5b3d91506103de565b6040513d85823e3d90fd5b602082820181015160a4878401015285935001610300565b346100c25760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c2576104a9610d7a565b73ffffffffffffffffffffffffffffffffffffffff807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035416911690810361057f577f8e773e13000000000000000000000000000000000000000000000000000000006000527fca9d3e17f264b0f3984e2634e94adb37fa3e6a8103f06aeae6fa59e21c769f5d6020527f4f521d2bc326c534847f496e961505200b8e61c57a75e48fd6b97dc560e2c5a480547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055005b7f673a31a10000000000000000000000000000000000000000000000000000000060005260045260246000fd5b346100c25760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c2576105e361096a565b6024359067ffffffffffffffff82116100c257366023830112156100c25781600401359167ffffffffffffffff83116100c2578260051b916024838301013681116100c2576106547fc8827d3282af6f37b64c3e9e6f3ac9df286ab0bb0fccd6f8661bf19adb368b226101f9610d7a565b7fddf3ee18ae6d688373c219468f8be446e7ae82215f4779d821c7ea5e8c13c0c092600095610689602060405197018761098d565b8552602401602085015b8282106108455750505073ffffffffffffffffffffffffffffffffffffffff1690811561081d57825192845b8481106106fc5750505082527fddf3ee18ae6d688373c219468f8be446e7ae82215f4779d821c7ea5e8c13c0c16020526040822090815401905580f35b81518110156107f05760208160051b8301015180875283602052604087205473ffffffffffffffffffffffffffffffffffffffff81166107c4577fdead0000000000000000000000000000000000000000000000000000000000001461079957908160019288528460205285604089205585887fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4016106bf565b7f31e8d3d5000000000000000000000000000000000000000000000000000000008752600452602486fd5b602488837f753eceac000000000000000000000000000000000000000000000000000000008252600452fd5b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526032600452fd5b6004847f7851b9cd000000000000000000000000000000000000000000000000000000008152fd5b8135815260209182019101610693565b346100c25760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c2576108e561088f61096a565b6108bb7fc8827d3282af6f37b64c3e9e6f3ac9df286ab0bb0fccd6f8661bf19adb368b226101f9610d7a565b602435907fddf3ee18ae6d688373c219468f8be446e7ae82215f4779d821c7ea5e8c13c0c0610abf565b005b346100c25760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c2576040610920610c18565b91907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8484519586946020865281602087015286860137600085828601015201168101030190f35b6004359073ffffffffffffffffffffffffffffffffffffffff821682036100c257565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176109ce57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f6d696e7465720000000000000000000000000000000000000000000000000000600052602052604060002073ffffffffffffffffffffffffffffffffffffffff821660005260205260ff6040600020541615610a575750565b73ffffffffffffffffffffffffffffffffffffffff907f7aa72882000000000000000000000000000000000000000000000000000000006000527f6d696e74657200000000000000000000000000000000000000000000000000006004521660245260446000fd5b9073ffffffffffffffffffffffffffffffffffffffff16908115610bd657826000528060205260406000205473ffffffffffffffffffffffffffffffffffffffff8116610ba8577fdead00000000000000000000000000000000000000000000000000000000000014610b7a57600190836000528060205282604060002055826000520160205260406000206001815401905560007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4565b827f31e8d3d50000000000000000000000000000000000000000000000000000000060005260045260246000fd5b837f753eceac0000000000000000000000000000000000000000000000000000000060005260045260246000fd5b7f7851b9cd0000000000000000000000000000000000000000000000000000000060005260046000fd5b908160209103126100c2575180151581036100c25790565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168015610d68573233148015610d70575b610d6857803314908115610cab575b50610c7a576000903690565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec3601903682116100c25760009190565b6040517f019a20280000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec36013560601c60048201523360248201523060448201529150602090829060649082905afa908115610d5c57600091610d2d575b5038610c6e565b610d4f915060203d602011610d55575b610d47818361098d565b810190610c00565b38610d26565b503d610d3d565b6040513d6000823e3d90fd5b506000903690565b5060183610610c5f565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168015610e96573233148015610e9b575b610e96577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec36013560601c90803314908115610e05575b50610e0257503390565b90565b6040517f019a202800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841660048201523360248201523060448201529150602090829060649082905afa908115610d5c57600091610e77575b5038610df8565b610e90915060203d602011610d5557610d47818361098d565b38610e70565b503390565b5060183610610dc156fea26469706673582212208da6e85a09f86055bec7136ea9dffd04b372ba3f080d769a17745ccaf5a4ccf364736f6c634300081e0033",
  "deployedBytecode": "0x6080604052600436101561001257600080fd5b60003560e01c806331e66e1e146108e757806340c10f19146108555780634684d7e9146105ac57806383b0b740146104725780638832e6e314610152578063c77c6955146100c75763d53913931461006957600080fd5b346100c25760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c25760206040517f6d696e74657200000000000000000000000000000000000000000000000000008152f35b600080fd5b346100c25760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c2577fddf3ee18ae6d688373c219468f8be446e7ae82215f4779d821c7ea5e8c13c0c060043560005260205260207fdead00000000000000000000000000000000000000000000000000000000000060406000205414604051908152f35b346100c25760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c25761018961096a565b60443560243567ffffffffffffffff82116100c257366023830112156100c25781600401359167ffffffffffffffff83116100c25736602484830101116100c2576024936101ff7fc8827d3282af6f37b64c3e9e6f3ac9df286ab0bb0fccd6f8661bf19adb368b226101f9610d7a565b906109fd565b61027e83827fddf3ee18ae6d688373c219468f8be446e7ae82215f4779d821c7ea5e8c13c0c061022d610d7a565b9560208960009a8b93836040519e8f9261026e837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f880116018561098d565b848452019101378b010152610abf565b803b610288578380f35b73ffffffffffffffffffffffffffffffffffffffff169373ffffffffffffffffffffffffffffffffffffffff604051927f150b7a020000000000000000000000000000000000000000000000000000000084521660048301528360248301528260448301526080606483015281815191826084830152855b83811061045a57505060a4817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f858985602098860101520116810103018186885af190811561044f5783916103d0575b507fffffffff000000000000000000000000000000000000000000000000000000007f150b7a02000000000000000000000000000000000000000000000000000000009116036103a25780808380f35b6044927fc215a7a1000000000000000000000000000000000000000000000000000000008352600452602452fd5b90506020813d602011610447575b816103eb6020938361098d565b8101031261044357517fffffffff0000000000000000000000000000000000000000000000000000000081168103610443577fffffffff00000000000000000000000000000000000000000000000000000000610352565b8280fd5b3d91506103de565b6040513d85823e3d90fd5b602082820181015160a4878401015285935001610300565b346100c25760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c2576104a9610d7a565b73ffffffffffffffffffffffffffffffffffffffff807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035416911690810361057f577f8e773e13000000000000000000000000000000000000000000000000000000006000527fca9d3e17f264b0f3984e2634e94adb37fa3e6a8103f06aeae6fa59e21c769f5d6020527f4f521d2bc326c534847f496e961505200b8e61c57a75e48fd6b97dc560e2c5a480547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055005b7f673a31a10000000000000000000000000000000000000000000000000000000060005260045260246000fd5b346100c25760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c2576105e361096a565b6024359067ffffffffffffffff82116100c257366023830112156100c25781600401359167ffffffffffffffff83116100c2578260051b916024838301013681116100c2576106547fc8827d3282af6f37b64c3e9e6f3ac9df286ab0bb0fccd6f8661bf19adb368b226101f9610d7a565b7fddf3ee18ae6d688373c219468f8be446e7ae82215f4779d821c7ea5e8c13c0c092600095610689602060405197018761098d565b8552602401602085015b8282106108455750505073ffffffffffffffffffffffffffffffffffffffff1690811561081d57825192845b8481106106fc5750505082527fddf3ee18ae6d688373c219468f8be446e7ae82215f4779d821c7ea5e8c13c0c16020526040822090815401905580f35b81518110156107f05760208160051b8301015180875283602052604087205473ffffffffffffffffffffffffffffffffffffffff81166107c4577fdead0000000000000000000000000000000000000000000000000000000000001461079957908160019288528460205285604089205585887fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4016106bf565b7f31e8d3d5000000000000000000000000000000000000000000000000000000008752600452602486fd5b602488837f753eceac000000000000000000000000000000000000000000000000000000008252600452fd5b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526032600452fd5b6004847f7851b9cd000000000000000000000000000000000000000000000000000000008152fd5b8135815260209182019101610693565b346100c25760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c2576108e561088f61096a565b6108bb7fc8827d3282af6f37b64c3e9e6f3ac9df286ab0bb0fccd6f8661bf19adb368b226101f9610d7a565b602435907fddf3ee18ae6d688373c219468f8be446e7ae82215f4779d821c7ea5e8c13c0c0610abf565b005b346100c25760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c2576040610920610c18565b91907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8484519586946020865281602087015286860137600085828601015201168101030190f35b6004359073ffffffffffffffffffffffffffffffffffffffff821682036100c257565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176109ce57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f6d696e7465720000000000000000000000000000000000000000000000000000600052602052604060002073ffffffffffffffffffffffffffffffffffffffff821660005260205260ff6040600020541615610a575750565b73ffffffffffffffffffffffffffffffffffffffff907f7aa72882000000000000000000000000000000000000000000000000000000006000527f6d696e74657200000000000000000000000000000000000000000000000000006004521660245260446000fd5b9073ffffffffffffffffffffffffffffffffffffffff16908115610bd657826000528060205260406000205473ffffffffffffffffffffffffffffffffffffffff8116610ba8577fdead00000000000000000000000000000000000000000000000000000000000014610b7a57600190836000528060205282604060002055826000520160205260406000206001815401905560007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4565b827f31e8d3d50000000000000000000000000000000000000000000000000000000060005260045260246000fd5b837f753eceac0000000000000000000000000000000000000000000000000000000060005260045260246000fd5b7f7851b9cd0000000000000000000000000000000000000000000000000000000060005260046000fd5b908160209103126100c2575180151581036100c25790565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168015610d68573233148015610d70575b610d6857803314908115610cab575b50610c7a576000903690565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec3601903682116100c25760009190565b6040517f019a20280000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec36013560601c60048201523360248201523060448201529150602090829060649082905afa908115610d5c57600091610d2d575b5038610c6e565b610d4f915060203d602011610d55575b610d47818361098d565b810190610c00565b38610d26565b503d610d3d565b6040513d6000823e3d90fd5b506000903690565b5060183610610c5f565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168015610e96573233148015610e9b575b610e96577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec36013560601c90803314908115610e05575b50610e0257503390565b90565b6040517f019a202800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841660048201523360248201523060448201529150602090829060649082905afa908115610d5c57600091610e77575b5038610df8565b610e90915060203d602011610d5557610d47818361098d565b38610e70565b503390565b5060183610610dc156fea26469706673582212208da6e85a09f86055bec7136ea9dffd04b372ba3f080d769a17745ccaf5a4ccf364736f6c634300081e0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
