{
  "_format": "hh-sol-artifact-1",
  "contractName": "ERC20BurnableFacetMock",
  "sourceName": "contracts/mocks/token/ERC20/facets/ERC20BurnableFacetMock.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "contract IForwarderRegistry",
          "name": "forwarderRegistry",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        }
      ],
      "name": "ERC20ApprovalToAddressZero",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "spender",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "allowance",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "decrement",
          "type": "uint256"
        }
      ],
      "name": "ERC20InsufficientAllowance",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "balance",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "ERC20InsufficientBalance",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "IllegalInterfaceId",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "InconsistentArrayLengths",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "NotProxyAdmin",
      "type": "error"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "spender",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "Approval",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "Transfer",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "__msgData",
      "outputs": [
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address[]",
          "name": "owners",
          "type": "address[]"
        },
        {
          "internalType": "uint256[]",
          "name": "values",
          "type": "uint256[]"
        }
      ],
      "name": "batchBurnFrom",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "burn",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "burnFrom",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "initERC20BurnableStorage",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x60a034606d57601f610c7738819003918201601f19168301916001600160401b03831184841017607257808492602094604052833981010312606d57516001600160a01b0381168103606d57608052604051610bee9081610089823960805181818161078e0152610a890152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604052600436101561001257600080fd5b60003560e01c80631b9a75291461033e57806331e66e1e146102bb57806342966c6814610257578063751ec2d31461011d576379cc67901461005357600080fd5b346101185760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101185760043573ffffffffffffffffffffffffffffffffffffffff8116808203610118576100fb91602435917f1da92899d3da68bf9787824388a37ea2bfa79780bcef91b9716c390eec8ecbee90836100d6610777565b9173ffffffffffffffffffffffffffffffffffffffff831603610106575b50506105ce565b602060405160018152f35b6101119184846108be565b38836100f4565b600080fd5b346101185760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261011857610154610777565b73ffffffffffffffffffffffffffffffffffffffff807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035416911690810361022a577f20c07ed1000000000000000000000000000000000000000000000000000000006000527fca9d3e17f264b0f3984e2634e94adb37fa3e6a8103f06aeae6fa59e21c769f5d6020527f0fe906604d4cc705ea1b9f113133426bf04f7f63322b0f5653f6f8d581e44fb480547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055005b7f673a31a10000000000000000000000000000000000000000000000000000000060005260045260246000fd5b346101185760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610118576100fb6004357f1da92899d3da68bf9787824388a37ea2bfa79780bcef91b9716c390eec8ecbee6102b5610777565b906105ce565b346101185760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101185760406102f4610a72565b91907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8484519586946020865281602087015286860137600085828601015201168101030190f35b346101185760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101185760043567ffffffffffffffff81116101185761038d9036906004016103e3565b6024359167ffffffffffffffff8311610118576103b16100fb9336906004016103e3565b9290917f1da92899d3da68bf9787824388a37ea2bfa79780bcef91b9716c390eec8ecbee6103dd610777565b90610453565b9181601f840112156101185782359167ffffffffffffffff8311610118576020808501948460051b01011161011857565b91908110156104245760051b0190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b939092948086036105a457851561059c5760009560005b81811061048b5750505050505081610480575050565b600201908154039055565b610496818387610414565b3573ffffffffffffffffffffffffffffffffffffffff811690818103610118576104c1838688610414565b3590818973ffffffffffffffffffffffffffffffffffffffff8116850361058a575b509050610522575b600192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6020600093604051908152a30161046a565b98604060008381528a60205220548a810390808210156105545750600083815260208b905260409020558901986104eb565b8b90847fe450d38c0000000000000000000000000000000000000000000000000000000060005260045260245260445260646000fd5b610594928c6108be565b3881896104e3565b505050505050565b7f658253360000000000000000000000000000000000000000000000000000000060005260046000fd5b8261061c575b50907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602073ffffffffffffffffffffffffffffffffffffffff6000946040519485521692a3565b73ffffffffffffffffffffffffffffffffffffffff82166000528060205260406000205483810390808210156106a3575073ffffffffffffffffffffffffffffffffffffffff8316600090815260208390526040902055600201805483900390557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6105d4565b849073ffffffffffffffffffffffffffffffffffffffff857fe450d38c000000000000000000000000000000000000000000000000000000006000521660045260245260445260646000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761073057604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90816020910312610118575180151581036101185790565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001680156108af5732331480156108b4575b6108af577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec36013560601c90803314908115610802575b506107ff57503390565b90565b6040517f019a202800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841660048201523360248201523060448201529150602090829060649082905afa9081156108a357600091610874575b50386107f5565b610896915060203d60201161089c575b61088e81836106ef565b81019061075f565b3861086d565b503d610884565b6040513d6000823e3d90fd5b503390565b50601836106107be565b92909173ffffffffffffffffffffffffffffffffffffffff16928315610a2e5760010173ffffffffffffffffffffffffffffffffffffffff831660005280602052604060002084600052602052604060002054917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83141580610a25575b610988575b505090602073ffffffffffffffffffffffffffffffffffffffff7f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925926040519485521692a3565b80830392808410156109cc57505073ffffffffffffffffffffffffffffffffffffffff83811660009081526020928352604080822087835284529020839055610941565b60849185918773ffffffffffffffffffffffffffffffffffffffff604051947f137ad6ab000000000000000000000000000000000000000000000000000000008652166004850152602484015260448301526064820152fd5b5080151561093c565b73ffffffffffffffffffffffffffffffffffffffff837ff7e1ac0f000000000000000000000000000000000000000000000000000000006000521660045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168015610ba6573233148015610bae575b610ba657803314908115610b05575b50610ad4576000903690565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec3601903682116101185760009190565b6040517f019a20280000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec36013560601c60048201523360248201523060448201529150602090829060649082905afa9081156108a357600091610b87575b5038610ac8565b610ba0915060203d60201161089c5761088e81836106ef565b38610b80565b506000903690565b5060183610610ab956fea26469706673582212202a15d08de1c97543cad52ce44b16b09a42600ed19261035499efa46bc037cd7364736f6c634300081e0033",
  "deployedBytecode": "0x6080604052600436101561001257600080fd5b60003560e01c80631b9a75291461033e57806331e66e1e146102bb57806342966c6814610257578063751ec2d31461011d576379cc67901461005357600080fd5b346101185760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101185760043573ffffffffffffffffffffffffffffffffffffffff8116808203610118576100fb91602435917f1da92899d3da68bf9787824388a37ea2bfa79780bcef91b9716c390eec8ecbee90836100d6610777565b9173ffffffffffffffffffffffffffffffffffffffff831603610106575b50506105ce565b602060405160018152f35b6101119184846108be565b38836100f4565b600080fd5b346101185760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261011857610154610777565b73ffffffffffffffffffffffffffffffffffffffff807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035416911690810361022a577f20c07ed1000000000000000000000000000000000000000000000000000000006000527fca9d3e17f264b0f3984e2634e94adb37fa3e6a8103f06aeae6fa59e21c769f5d6020527f0fe906604d4cc705ea1b9f113133426bf04f7f63322b0f5653f6f8d581e44fb480547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055005b7f673a31a10000000000000000000000000000000000000000000000000000000060005260045260246000fd5b346101185760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610118576100fb6004357f1da92899d3da68bf9787824388a37ea2bfa79780bcef91b9716c390eec8ecbee6102b5610777565b906105ce565b346101185760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101185760406102f4610a72565b91907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8484519586946020865281602087015286860137600085828601015201168101030190f35b346101185760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101185760043567ffffffffffffffff81116101185761038d9036906004016103e3565b6024359167ffffffffffffffff8311610118576103b16100fb9336906004016103e3565b9290917f1da92899d3da68bf9787824388a37ea2bfa79780bcef91b9716c390eec8ecbee6103dd610777565b90610453565b9181601f840112156101185782359167ffffffffffffffff8311610118576020808501948460051b01011161011857565b91908110156104245760051b0190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b939092948086036105a457851561059c5760009560005b81811061048b5750505050505081610480575050565b600201908154039055565b610496818387610414565b3573ffffffffffffffffffffffffffffffffffffffff811690818103610118576104c1838688610414565b3590818973ffffffffffffffffffffffffffffffffffffffff8116850361058a575b509050610522575b600192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6020600093604051908152a30161046a565b98604060008381528a60205220548a810390808210156105545750600083815260208b905260409020558901986104eb565b8b90847fe450d38c0000000000000000000000000000000000000000000000000000000060005260045260245260445260646000fd5b610594928c6108be565b3881896104e3565b505050505050565b7f658253360000000000000000000000000000000000000000000000000000000060005260046000fd5b8261061c575b50907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602073ffffffffffffffffffffffffffffffffffffffff6000946040519485521692a3565b73ffffffffffffffffffffffffffffffffffffffff82166000528060205260406000205483810390808210156106a3575073ffffffffffffffffffffffffffffffffffffffff8316600090815260208390526040902055600201805483900390557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6105d4565b849073ffffffffffffffffffffffffffffffffffffffff857fe450d38c000000000000000000000000000000000000000000000000000000006000521660045260245260445260646000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761073057604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90816020910312610118575180151581036101185790565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001680156108af5732331480156108b4575b6108af577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec36013560601c90803314908115610802575b506107ff57503390565b90565b6040517f019a202800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841660048201523360248201523060448201529150602090829060649082905afa9081156108a357600091610874575b50386107f5565b610896915060203d60201161089c575b61088e81836106ef565b81019061075f565b3861086d565b503d610884565b6040513d6000823e3d90fd5b503390565b50601836106107be565b92909173ffffffffffffffffffffffffffffffffffffffff16928315610a2e5760010173ffffffffffffffffffffffffffffffffffffffff831660005280602052604060002084600052602052604060002054917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83141580610a25575b610988575b505090602073ffffffffffffffffffffffffffffffffffffffff7f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925926040519485521692a3565b80830392808410156109cc57505073ffffffffffffffffffffffffffffffffffffffff83811660009081526020928352604080822087835284529020839055610941565b60849185918773ffffffffffffffffffffffffffffffffffffffff604051947f137ad6ab000000000000000000000000000000000000000000000000000000008652166004850152602484015260448301526064820152fd5b5080151561093c565b73ffffffffffffffffffffffffffffffffffffffff837ff7e1ac0f000000000000000000000000000000000000000000000000000000006000521660045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168015610ba6573233148015610bae575b610ba657803314908115610b05575b50610ad4576000903690565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec3601903682116101185760009190565b6040517f019a20280000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec36013560601c60048201523360248201523060448201529150602090829060649082905afa9081156108a357600091610b87575b5038610ac8565b610ba0915060203d60201161089c5761088e81836106ef565b38610b80565b506000903690565b5060183610610ab956fea26469706673582212202a15d08de1c97543cad52ce44b16b09a42600ed19261035499efa46bc037cd7364736f6c634300081e0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
