{
  "_format": "hh-sol-artifact-1",
  "contractName": "ERC721MintableOnceFacet",
  "sourceName": "contracts/token/ERC721/facets/ERC721MintableOnceFacet.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": [
        {
          "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": "0x60a034606657601f610d6d38819003918201601f19168301916001600160401b03831184841017606b57808492602094604052833981010312606657516001600160a01b0381168103606657608052604051610ceb9081610082823960805181610b890152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604052600436101561001257600080fd5b60003560e01c806340c10f191461084a5780634684d7e9146105a157806383b0b740146104675780638832e6e314610147578063c77c6955146100bc5763d53913931461005e57600080fd5b346100b75760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b75760206040517f6d696e74657200000000000000000000000000000000000000000000000000008152f35b600080fd5b346100b75760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b7577fddf3ee18ae6d688373c219468f8be446e7ae82215f4779d821c7ea5e8c13c0c060043560005260205260207fdead00000000000000000000000000000000000000000000000000000000000060406000205414604051908152f35b346100b75760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b75761017e6108dc565b60443560243567ffffffffffffffff82116100b757366023830112156100b75781600401359167ffffffffffffffff83116100b75736602484830101116100b7576024936101f47fc8827d3282af6f37b64c3e9e6f3ac9df286ab0bb0fccd6f8661bf19adb368b226101ee610b72565b9061096f565b61027383827fddf3ee18ae6d688373c219468f8be446e7ae82215f4779d821c7ea5e8c13c0c0610222610b72565b9560208960009a8b93836040519e8f92610263837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f88011601856108ff565b848452019101378b010152610a31565b803b61027d578380f35b73ffffffffffffffffffffffffffffffffffffffff169373ffffffffffffffffffffffffffffffffffffffff604051927f150b7a020000000000000000000000000000000000000000000000000000000084521660048301528360248301528260448301526080606483015281815191826084830152855b83811061044f57505060a4817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f858985602098860101520116810103018186885af19081156104445783916103c5575b507fffffffff000000000000000000000000000000000000000000000000000000007f150b7a02000000000000000000000000000000000000000000000000000000009116036103975780808380f35b6044927fc215a7a1000000000000000000000000000000000000000000000000000000008352600452602452fd5b90506020813d60201161043c575b816103e0602093836108ff565b8101031261043857517fffffffff0000000000000000000000000000000000000000000000000000000081168103610438577fffffffff00000000000000000000000000000000000000000000000000000000610347565b8280fd5b3d91506103d3565b6040513d85823e3d90fd5b602082820181015160a48784010152859350016102f5565b346100b75760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b75761049e610b72565b73ffffffffffffffffffffffffffffffffffffffff807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610354169116908103610574577f8e773e13000000000000000000000000000000000000000000000000000000006000527fca9d3e17f264b0f3984e2634e94adb37fa3e6a8103f06aeae6fa59e21c769f5d6020527f4f521d2bc326c534847f496e961505200b8e61c57a75e48fd6b97dc560e2c5a480547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055005b7f673a31a10000000000000000000000000000000000000000000000000000000060005260045260246000fd5b346100b75760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b7576105d86108dc565b6024359067ffffffffffffffff82116100b757366023830112156100b75781600401359167ffffffffffffffff83116100b7578260051b916024838301013681116100b7576106497fc8827d3282af6f37b64c3e9e6f3ac9df286ab0bb0fccd6f8661bf19adb368b226101ee610b72565b7fddf3ee18ae6d688373c219468f8be446e7ae82215f4779d821c7ea5e8c13c0c09260009561067e60206040519701876108ff565b8552602401602085015b82821061083a5750505073ffffffffffffffffffffffffffffffffffffffff1690811561081257825192845b8481106106f15750505082527fddf3ee18ae6d688373c219468f8be446e7ae82215f4779d821c7ea5e8c13c0c16020526040822090815401905580f35b81518110156107e55760208160051b8301015180875283602052604087205473ffffffffffffffffffffffffffffffffffffffff81166107b9577fdead0000000000000000000000000000000000000000000000000000000000001461078e57908160019288528460205285604089205585887fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4016106b4565b7f31e8d3d5000000000000000000000000000000000000000000000000000000008752600452602486fd5b602488837f753eceac000000000000000000000000000000000000000000000000000000008252600452fd5b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526032600452fd5b6004847f7851b9cd000000000000000000000000000000000000000000000000000000008152fd5b8135815260209182019101610688565b346100b75760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b7576108da6108846108dc565b6108b07fc8827d3282af6f37b64c3e9e6f3ac9df286ab0bb0fccd6f8661bf19adb368b226101ee610b72565b602435907fddf3ee18ae6d688373c219468f8be446e7ae82215f4779d821c7ea5e8c13c0c0610a31565b005b6004359073ffffffffffffffffffffffffffffffffffffffff821682036100b757565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761094057604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f6d696e7465720000000000000000000000000000000000000000000000000000600052602052604060002073ffffffffffffffffffffffffffffffffffffffff821660005260205260ff60406000205416156109c95750565b73ffffffffffffffffffffffffffffffffffffffff907f7aa72882000000000000000000000000000000000000000000000000000000006000527f6d696e74657200000000000000000000000000000000000000000000000000006004521660245260446000fd5b9073ffffffffffffffffffffffffffffffffffffffff16908115610b4857826000528060205260406000205473ffffffffffffffffffffffffffffffffffffffff8116610b1a577fdead00000000000000000000000000000000000000000000000000000000000014610aec57600190836000528060205282604060002055826000520160205260406000206001815401905560007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4565b827f31e8d3d50000000000000000000000000000000000000000000000000000000060005260045260246000fd5b837f753eceac0000000000000000000000000000000000000000000000000000000060005260045260246000fd5b7f7851b9cd0000000000000000000000000000000000000000000000000000000060005260046000fd5b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168015610ca6573233148015610cab575b610ca6577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec36013560601c90803314908115610bfd575b50610bfa57503390565b90565b60649150602090604051928380927f019a20280000000000000000000000000000000000000000000000000000000082528660048301523360248301523060448301525afa908115610c9a57600091610c58575b5038610bf0565b6020813d602011610c92575b81610c71602093836108ff565b81010312610c8e5751908115158203610c8b575038610c51565b80fd5b5080fd5b3d9150610c64565b6040513d6000823e3d90fd5b503390565b5060183610610bb956fea26469706673582212201c2b044cf35b7e95a8fbc4c4acf62ed7f108e8a49c7a5481b3c23efc768d7c5964736f6c634300081e0033",
  "deployedBytecode": "0x6080604052600436101561001257600080fd5b60003560e01c806340c10f191461084a5780634684d7e9146105a157806383b0b740146104675780638832e6e314610147578063c77c6955146100bc5763d53913931461005e57600080fd5b346100b75760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b75760206040517f6d696e74657200000000000000000000000000000000000000000000000000008152f35b600080fd5b346100b75760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b7577fddf3ee18ae6d688373c219468f8be446e7ae82215f4779d821c7ea5e8c13c0c060043560005260205260207fdead00000000000000000000000000000000000000000000000000000000000060406000205414604051908152f35b346100b75760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b75761017e6108dc565b60443560243567ffffffffffffffff82116100b757366023830112156100b75781600401359167ffffffffffffffff83116100b75736602484830101116100b7576024936101f47fc8827d3282af6f37b64c3e9e6f3ac9df286ab0bb0fccd6f8661bf19adb368b226101ee610b72565b9061096f565b61027383827fddf3ee18ae6d688373c219468f8be446e7ae82215f4779d821c7ea5e8c13c0c0610222610b72565b9560208960009a8b93836040519e8f92610263837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f88011601856108ff565b848452019101378b010152610a31565b803b61027d578380f35b73ffffffffffffffffffffffffffffffffffffffff169373ffffffffffffffffffffffffffffffffffffffff604051927f150b7a020000000000000000000000000000000000000000000000000000000084521660048301528360248301528260448301526080606483015281815191826084830152855b83811061044f57505060a4817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f858985602098860101520116810103018186885af19081156104445783916103c5575b507fffffffff000000000000000000000000000000000000000000000000000000007f150b7a02000000000000000000000000000000000000000000000000000000009116036103975780808380f35b6044927fc215a7a1000000000000000000000000000000000000000000000000000000008352600452602452fd5b90506020813d60201161043c575b816103e0602093836108ff565b8101031261043857517fffffffff0000000000000000000000000000000000000000000000000000000081168103610438577fffffffff00000000000000000000000000000000000000000000000000000000610347565b8280fd5b3d91506103d3565b6040513d85823e3d90fd5b602082820181015160a48784010152859350016102f5565b346100b75760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b75761049e610b72565b73ffffffffffffffffffffffffffffffffffffffff807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610354169116908103610574577f8e773e13000000000000000000000000000000000000000000000000000000006000527fca9d3e17f264b0f3984e2634e94adb37fa3e6a8103f06aeae6fa59e21c769f5d6020527f4f521d2bc326c534847f496e961505200b8e61c57a75e48fd6b97dc560e2c5a480547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055005b7f673a31a10000000000000000000000000000000000000000000000000000000060005260045260246000fd5b346100b75760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b7576105d86108dc565b6024359067ffffffffffffffff82116100b757366023830112156100b75781600401359167ffffffffffffffff83116100b7578260051b916024838301013681116100b7576106497fc8827d3282af6f37b64c3e9e6f3ac9df286ab0bb0fccd6f8661bf19adb368b226101ee610b72565b7fddf3ee18ae6d688373c219468f8be446e7ae82215f4779d821c7ea5e8c13c0c09260009561067e60206040519701876108ff565b8552602401602085015b82821061083a5750505073ffffffffffffffffffffffffffffffffffffffff1690811561081257825192845b8481106106f15750505082527fddf3ee18ae6d688373c219468f8be446e7ae82215f4779d821c7ea5e8c13c0c16020526040822090815401905580f35b81518110156107e55760208160051b8301015180875283602052604087205473ffffffffffffffffffffffffffffffffffffffff81166107b9577fdead0000000000000000000000000000000000000000000000000000000000001461078e57908160019288528460205285604089205585887fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4016106b4565b7f31e8d3d5000000000000000000000000000000000000000000000000000000008752600452602486fd5b602488837f753eceac000000000000000000000000000000000000000000000000000000008252600452fd5b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526032600452fd5b6004847f7851b9cd000000000000000000000000000000000000000000000000000000008152fd5b8135815260209182019101610688565b346100b75760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b7576108da6108846108dc565b6108b07fc8827d3282af6f37b64c3e9e6f3ac9df286ab0bb0fccd6f8661bf19adb368b226101ee610b72565b602435907fddf3ee18ae6d688373c219468f8be446e7ae82215f4779d821c7ea5e8c13c0c0610a31565b005b6004359073ffffffffffffffffffffffffffffffffffffffff821682036100b757565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761094057604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f6d696e7465720000000000000000000000000000000000000000000000000000600052602052604060002073ffffffffffffffffffffffffffffffffffffffff821660005260205260ff60406000205416156109c95750565b73ffffffffffffffffffffffffffffffffffffffff907f7aa72882000000000000000000000000000000000000000000000000000000006000527f6d696e74657200000000000000000000000000000000000000000000000000006004521660245260446000fd5b9073ffffffffffffffffffffffffffffffffffffffff16908115610b4857826000528060205260406000205473ffffffffffffffffffffffffffffffffffffffff8116610b1a577fdead00000000000000000000000000000000000000000000000000000000000014610aec57600190836000528060205282604060002055826000520160205260406000206001815401905560007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4565b827f31e8d3d50000000000000000000000000000000000000000000000000000000060005260045260246000fd5b837f753eceac0000000000000000000000000000000000000000000000000000000060005260045260246000fd5b7f7851b9cd0000000000000000000000000000000000000000000000000000000060005260046000fd5b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168015610ca6573233148015610cab575b610ca6577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec36013560601c90803314908115610bfd575b50610bfa57503390565b90565b60649150602090604051928380927f019a20280000000000000000000000000000000000000000000000000000000082528660048301523360248301523060448301525afa908115610c9a57600091610c58575b5038610bf0565b6020813d602011610c92575b81610c71602093836108ff565b81010312610c8e5751908115158203610c8b575038610c51565b80fd5b5080fd5b3d9150610c64565b6040513d6000823e3d90fd5b503390565b5060183610610bb956fea26469706673582212201c2b044cf35b7e95a8fbc4c4acf62ed7f108e8a49c7a5481b3c23efc768d7c5964736f6c634300081e0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
