{
  "_format": "hh-sol-artifact-1",
  "contractName": "ERC2981Facet",
  "sourceName": "contracts/token/royalty/facets/ERC2981Facet.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "contract IForwarderRegistry",
          "name": "forwarderRegistry",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "percentage",
          "type": "uint256"
        }
      ],
      "name": "ERC2981IncorrectRoyaltyPercentage",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "ERC2981IncorrectRoyaltyReceiver",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "IllegalInterfaceId",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "NotContractOwner",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "NotProxyAdmin",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "ROYALTY_FEE_DENOMINATOR",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "initERC2981",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "tokenId",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "salePrice",
          "type": "uint256"
        }
      ],
      "name": "royaltyInfo",
      "outputs": [
        {
          "internalType": "address",
          "name": "receiver",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "royaltyAmount",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "percentage",
          "type": "uint256"
        }
      ],
      "name": "setRoyaltyPercentage",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "receiver",
          "type": "address"
        }
      ],
      "name": "setRoyaltyReceiver",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x60a034606657601f61079638819003918201601f19168301916001600160401b03831184841017606b57808492602094604052833981010312606657516001600160a01b038116810360665760805260405161071490816100828239608051816105510152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604052600436101561001257600080fd5b60003560e01c80632a55205a1461042e57806361ba27da146103125780638dc251e3146101ce578063d60da201146100945763e1a8bf2c1461005357600080fd5b3461008f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261008f576020604051620186a08152f35b600080fd5b3461008f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261008f576100cb61053a565b73ffffffffffffffffffffffffffffffffffffffff807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103541691169081036101a1577f2a55205a000000000000000000000000000000000000000000000000000000006000527fca9d3e17f264b0f3984e2634e94adb37fa3e6a8103f06aeae6fa59e21c769f5d6020527f2d8b44ae6eaa7ac3b154622dbcfc94b3609ce793bb4cffd595b15ac18d28e52080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055005b7f673a31a10000000000000000000000000000000000000000000000000000000060005260045260246000fd5b3461008f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261008f5760043573ffffffffffffffffffffffffffffffffffffffff811680910361008f577fc9ed16f33ab3a66c84bfd83099ccb2a8845871e2e1c1928f63797152f0fd54cc73ffffffffffffffffffffffffffffffffffffffff8061025d61053a565b92541691169081036102e557507f2c0cf10337caabbd02dcf226f05f5fd19a0919a41a8df8958c39b800078268579080156102bb5781547fffffffffffffffffffffffff000000000000000000000000000000000000000016179055005b7f16de0c800000000000000000000000000000000000000000000000000000000060005260046000fd5b7f2ef4875e0000000000000000000000000000000000000000000000000000000060005260045260246000fd5b3461008f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261008f576004357fc9ed16f33ab3a66c84bfd83099ccb2a8845871e2e1c1928f63797152f0fd54cc73ffffffffffffffffffffffffffffffffffffffff8061038361053a565b92541691169081036102e557507f2c0cf10337caabbd02dcf226f05f5fd19a0919a41a8df8958c39b8000782685790620186a0811161040157815473ffffffffffffffffffffffffffffffffffffffff1660a09190911b7fffffffffffffffffffffffff000000000000000000000000000000000000000016179055005b7fac0404080000000000000000000000000000000000000000000000000000000060005260045260246000fd5b3461008f5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261008f5760406024357f2c0cf10337caabbd02dcf226f05f5fd19a0919a41a8df8958c39b8000782685754908160a01c811580156104f0575b156104be57505060005b73ffffffffffffffffffffffffffffffffffffffff8351921682526020820152f35b620186a08210156104dd576104d790620186a0926104f8565b0461049c565b620186a06104eb92046104f8565b61049c565b508015610492565b8181029291811591840414171561050b57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001680156106cf5732331480156106d4575b6106cf577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec36013560601c908033149081156105c5575b506105c257503390565b90565b60649150602090604051928380927f019a20280000000000000000000000000000000000000000000000000000000082528660048301523360248301523060448301525afa9081156106c357600091610620575b50386105b8565b60203d6020116106bc575b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f820116820182811067ffffffffffffffff82111761068f5760209183916040528101031261068b5751908115158203610688575038610619565b80fd5b5080fd5b6024847f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b503d61062b565b6040513d6000823e3d90fd5b503390565b506018361061058156fea2646970667358221220f73e68b0677b0b0c979113ca7025dd1374c733bef7d0e815b58fc33afe1394cb64736f6c634300081e0033",
  "deployedBytecode": "0x6080604052600436101561001257600080fd5b60003560e01c80632a55205a1461042e57806361ba27da146103125780638dc251e3146101ce578063d60da201146100945763e1a8bf2c1461005357600080fd5b3461008f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261008f576020604051620186a08152f35b600080fd5b3461008f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261008f576100cb61053a565b73ffffffffffffffffffffffffffffffffffffffff807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103541691169081036101a1577f2a55205a000000000000000000000000000000000000000000000000000000006000527fca9d3e17f264b0f3984e2634e94adb37fa3e6a8103f06aeae6fa59e21c769f5d6020527f2d8b44ae6eaa7ac3b154622dbcfc94b3609ce793bb4cffd595b15ac18d28e52080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055005b7f673a31a10000000000000000000000000000000000000000000000000000000060005260045260246000fd5b3461008f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261008f5760043573ffffffffffffffffffffffffffffffffffffffff811680910361008f577fc9ed16f33ab3a66c84bfd83099ccb2a8845871e2e1c1928f63797152f0fd54cc73ffffffffffffffffffffffffffffffffffffffff8061025d61053a565b92541691169081036102e557507f2c0cf10337caabbd02dcf226f05f5fd19a0919a41a8df8958c39b800078268579080156102bb5781547fffffffffffffffffffffffff000000000000000000000000000000000000000016179055005b7f16de0c800000000000000000000000000000000000000000000000000000000060005260046000fd5b7f2ef4875e0000000000000000000000000000000000000000000000000000000060005260045260246000fd5b3461008f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261008f576004357fc9ed16f33ab3a66c84bfd83099ccb2a8845871e2e1c1928f63797152f0fd54cc73ffffffffffffffffffffffffffffffffffffffff8061038361053a565b92541691169081036102e557507f2c0cf10337caabbd02dcf226f05f5fd19a0919a41a8df8958c39b8000782685790620186a0811161040157815473ffffffffffffffffffffffffffffffffffffffff1660a09190911b7fffffffffffffffffffffffff000000000000000000000000000000000000000016179055005b7fac0404080000000000000000000000000000000000000000000000000000000060005260045260246000fd5b3461008f5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261008f5760406024357f2c0cf10337caabbd02dcf226f05f5fd19a0919a41a8df8958c39b8000782685754908160a01c811580156104f0575b156104be57505060005b73ffffffffffffffffffffffffffffffffffffffff8351921682526020820152f35b620186a08210156104dd576104d790620186a0926104f8565b0461049c565b620186a06104eb92046104f8565b61049c565b508015610492565b8181029291811591840414171561050b57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001680156106cf5732331480156106d4575b6106cf577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec36013560601c908033149081156105c5575b506105c257503390565b90565b60649150602090604051928380927f019a20280000000000000000000000000000000000000000000000000000000082528660048301523360248301523060448301525afa9081156106c357600091610620575b50386105b8565b60203d6020116106bc575b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f820116820182811067ffffffffffffffff82111761068f5760209183916040528101031261068b5751908115158203610688575038610619565b80fd5b5080fd5b6024847f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b503d61062b565b6040513d6000823e3d90fd5b503390565b506018361061058156fea2646970667358221220f73e68b0677b0b0c979113ca7025dd1374c733bef7d0e815b58fc33afe1394cb64736f6c634300081e0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
