{
  "_format": "hh-sol-artifact-1",
  "contractName": "ERC20DetailedFacetMock",
  "sourceName": "contracts/mocks/token/ERC20/facets/ERC20DetailedFacetMock.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "contract IForwarderRegistry",
          "name": "forwarderRegistry",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [],
      "name": "IllegalInterfaceId",
      "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": "NotProxyAdmin",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "__msgData",
      "outputs": [
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "decimals",
      "outputs": [
        {
          "internalType": "uint8",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "tokenName",
          "type": "string"
        },
        {
          "internalType": "string",
          "name": "tokenSymbol",
          "type": "string"
        },
        {
          "internalType": "uint8",
          "name": "tokenDecimals",
          "type": "uint8"
        }
      ],
      "name": "initERC20DetailedStorage",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "name",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "symbol",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x60a034606d57601f610da038819003918201601f19168301916001600160401b03831184841017607257808492602094604052833981010312606d57516001600160a01b0381168103606d57608052604051610d1790816100898239608051818181610a6b0152610bcd0152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604052600436101561001257600080fd5b60003560e01c806306fdde03146107f5578063313ce5671461079757806331e66e1e1461071457806395d89b41146106a95763ef9612791461005357600080fd5b346106a45760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106a45760043567ffffffffffffffff81116106a4576100a29036906004016108b8565b60243567ffffffffffffffff81116106a4576100c29036906004016108b8565b90926044359260ff84168094036106a4576100db610bb6565b73ffffffffffffffffffffffffffffffffffffffff807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035416911690810361067757507f335df4119bbb04f056b33eba33b826d3529129e458faf6daa9924b5a8f3b6a81917fd217496980d1cb14720b20a80af36676bbece8e5feeb5d8970a9681a2c76bb74546001811015610645575060017fd217496980d1cb14720b20a80af36676bbece8e5feeb5d8970a9681a2c76bb745567ffffffffffffffff82116105165781906101ab84546108e6565b601f81116105f2575b50600090601f831160011461055057600092610545575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c19161790555b67ffffffffffffffff8111610516576102367f335df4119bbb04f056b33eba33b826d3529129e458faf6daa9924b5a8f3b6a82546108e6565b601f8111610492575b506000601f82116001146103975781929360009261038c575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c1916177f335df4119bbb04f056b33eba33b826d3529129e458faf6daa9924b5a8f3b6a82555b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff007f335df4119bbb04f056b33eba33b826d3529129e458faf6daa9924b5a8f3b6a835416177f335df4119bbb04f056b33eba33b826d3529129e458faf6daa9924b5a8f3b6a83557fa219a025000000000000000000000000000000000000000000000000000000006000527fca9d3e17f264b0f3984e2634e94adb37fa3e6a8103f06aeae6fa59e21c769f5d602052604060002060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00825416179055600080f35b013590503880610258565b7f335df4119bbb04f056b33eba33b826d3529129e458faf6daa9924b5a8f3b6a8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08216937f38f29baf5b4f1132a8b8d899467148f866f7b7a6d08f3c484abb8c5467292cef91805b86811061047a5750836001959610610442575b505050811b017f335df4119bbb04f056b33eba33b826d3529129e458faf6daa9924b5a8f3b6a82556102aa565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88560031b161c19910135169055388080610415565b90926020600181928686013581550194019101610402565b7f335df4119bbb04f056b33eba33b826d3529129e458faf6daa9924b5a8f3b6a826000527f38f29baf5b4f1132a8b8d899467148f866f7b7a6d08f3c484abb8c5467292cef601f830160051c8101916020841061050c575b601f0160051c01905b818110610500575061023f565b600081556001016104f3565b90915081906104ea565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b0135905038806101cb565b90917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016918481526020812092815b8181106105da57509084600195949392106105a2575b505050811b0190556101fd565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88560031b161c19910135169055388080610595565b9193602060018192878701358155019501920161057f565b909150836000526020600020601f840160051c8101916020851061063b575b90601f859493920160051c01905b81811061062c57506101b4565b6000815584935060010161061f565b9091508190610611565b7fbf0c18ec00000000000000000000000000000000000000000000000000000000600052600452600160245260446000fd5b7f673a31a10000000000000000000000000000000000000000000000000000000060005260045260246000fd5b600080fd5b346106a45760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106a4576107106107047f335df4119bbb04f056b33eba33b826d3529129e458faf6daa9924b5a8f3b6a8261097a565b60405191829182610850565b0390f35b346106a45760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106a457604061074d610a54565b91907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8484519586946020865281602087015286860137600085828601015201168101030190f35b346106a45760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106a457602060ff7f335df4119bbb04f056b33eba33b826d3529129e458faf6daa9924b5a8f3b6a835416604051908152f35b346106a45760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106a4576107106107047f335df4119bbb04f056b33eba33b826d3529129e458faf6daa9924b5a8f3b6a8161097a565b9190916020815282519283602083015260005b8481106108a25750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006040809697860101520116010190565b8060208092840101516040828601015201610863565b9181601f840112156106a45782359167ffffffffffffffff83116106a457602083818601950101116106a457565b90600182811c9216801561092f575b602083101461090057565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f16916108f5565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761051657604052565b906040519182600082549261098e846108e6565b80845293600181169081156109fc57506001146109b5575b506109b392500383610939565b565b90506000929192526020600020906000915b8183106109e05750509060206109b392820101386109a6565b60209193508060019154838589010152019101909184926109c7565b602093506109b39592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b820101386109a6565b908160209103126106a4575180151581036106a45790565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168015610ba4573233148015610bac575b610ba457803314908115610ae7575b50610ab6576000903690565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec3601903682116106a45760009190565b6040517f019a20280000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec36013560601c60048201523360248201523060448201529150602090829060649082905afa908115610b9857600091610b69575b5038610aaa565b610b8b915060203d602011610b91575b610b838183610939565b810190610a3c565b38610b62565b503d610b79565b6040513d6000823e3d90fd5b506000903690565b5060183610610a9b565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168015610cd2573233148015610cd7575b610cd2577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec36013560601c90803314908115610c41575b50610c3e57503390565b90565b6040517f019a202800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841660048201523360248201523060448201529150602090829060649082905afa908115610b9857600091610cb3575b5038610c34565b610ccc915060203d602011610b9157610b838183610939565b38610cac565b503390565b5060183610610bfd56fea26469706673582212209582b189d02e039e34f1b962ada6100e12bf4fc9bf8eff3625547078213835b564736f6c634300081e0033",
  "deployedBytecode": "0x6080604052600436101561001257600080fd5b60003560e01c806306fdde03146107f5578063313ce5671461079757806331e66e1e1461071457806395d89b41146106a95763ef9612791461005357600080fd5b346106a45760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106a45760043567ffffffffffffffff81116106a4576100a29036906004016108b8565b60243567ffffffffffffffff81116106a4576100c29036906004016108b8565b90926044359260ff84168094036106a4576100db610bb6565b73ffffffffffffffffffffffffffffffffffffffff807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035416911690810361067757507f335df4119bbb04f056b33eba33b826d3529129e458faf6daa9924b5a8f3b6a81917fd217496980d1cb14720b20a80af36676bbece8e5feeb5d8970a9681a2c76bb74546001811015610645575060017fd217496980d1cb14720b20a80af36676bbece8e5feeb5d8970a9681a2c76bb745567ffffffffffffffff82116105165781906101ab84546108e6565b601f81116105f2575b50600090601f831160011461055057600092610545575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c19161790555b67ffffffffffffffff8111610516576102367f335df4119bbb04f056b33eba33b826d3529129e458faf6daa9924b5a8f3b6a82546108e6565b601f8111610492575b506000601f82116001146103975781929360009261038c575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c1916177f335df4119bbb04f056b33eba33b826d3529129e458faf6daa9924b5a8f3b6a82555b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff007f335df4119bbb04f056b33eba33b826d3529129e458faf6daa9924b5a8f3b6a835416177f335df4119bbb04f056b33eba33b826d3529129e458faf6daa9924b5a8f3b6a83557fa219a025000000000000000000000000000000000000000000000000000000006000527fca9d3e17f264b0f3984e2634e94adb37fa3e6a8103f06aeae6fa59e21c769f5d602052604060002060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00825416179055600080f35b013590503880610258565b7f335df4119bbb04f056b33eba33b826d3529129e458faf6daa9924b5a8f3b6a8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08216937f38f29baf5b4f1132a8b8d899467148f866f7b7a6d08f3c484abb8c5467292cef91805b86811061047a5750836001959610610442575b505050811b017f335df4119bbb04f056b33eba33b826d3529129e458faf6daa9924b5a8f3b6a82556102aa565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88560031b161c19910135169055388080610415565b90926020600181928686013581550194019101610402565b7f335df4119bbb04f056b33eba33b826d3529129e458faf6daa9924b5a8f3b6a826000527f38f29baf5b4f1132a8b8d899467148f866f7b7a6d08f3c484abb8c5467292cef601f830160051c8101916020841061050c575b601f0160051c01905b818110610500575061023f565b600081556001016104f3565b90915081906104ea565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b0135905038806101cb565b90917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016918481526020812092815b8181106105da57509084600195949392106105a2575b505050811b0190556101fd565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88560031b161c19910135169055388080610595565b9193602060018192878701358155019501920161057f565b909150836000526020600020601f840160051c8101916020851061063b575b90601f859493920160051c01905b81811061062c57506101b4565b6000815584935060010161061f565b9091508190610611565b7fbf0c18ec00000000000000000000000000000000000000000000000000000000600052600452600160245260446000fd5b7f673a31a10000000000000000000000000000000000000000000000000000000060005260045260246000fd5b600080fd5b346106a45760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106a4576107106107047f335df4119bbb04f056b33eba33b826d3529129e458faf6daa9924b5a8f3b6a8261097a565b60405191829182610850565b0390f35b346106a45760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106a457604061074d610a54565b91907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8484519586946020865281602087015286860137600085828601015201168101030190f35b346106a45760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106a457602060ff7f335df4119bbb04f056b33eba33b826d3529129e458faf6daa9924b5a8f3b6a835416604051908152f35b346106a45760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106a4576107106107047f335df4119bbb04f056b33eba33b826d3529129e458faf6daa9924b5a8f3b6a8161097a565b9190916020815282519283602083015260005b8481106108a25750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006040809697860101520116010190565b8060208092840101516040828601015201610863565b9181601f840112156106a45782359167ffffffffffffffff83116106a457602083818601950101116106a457565b90600182811c9216801561092f575b602083101461090057565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f16916108f5565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761051657604052565b906040519182600082549261098e846108e6565b80845293600181169081156109fc57506001146109b5575b506109b392500383610939565b565b90506000929192526020600020906000915b8183106109e05750509060206109b392820101386109a6565b60209193508060019154838589010152019101909184926109c7565b602093506109b39592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b820101386109a6565b908160209103126106a4575180151581036106a45790565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168015610ba4573233148015610bac575b610ba457803314908115610ae7575b50610ab6576000903690565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec3601903682116106a45760009190565b6040517f019a20280000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec36013560601c60048201523360248201523060448201529150602090829060649082905afa908115610b9857600091610b69575b5038610aaa565b610b8b915060203d602011610b91575b610b838183610939565b810190610a3c565b38610b62565b503d610b79565b6040513d6000823e3d90fd5b506000903690565b5060183610610a9b565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168015610cd2573233148015610cd7575b610cd2577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec36013560601c90803314908115610c41575b50610c3e57503390565b90565b6040517f019a202800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841660048201523360248201523060448201529150602090829060649082905afa908115610b9857600091610cb3575b5038610c34565b610ccc915060203d602011610b9157610b838183610939565b38610cac565b503390565b5060183610610bfd56fea26469706673582212209582b189d02e039e34f1b962ada6100e12bf4fc9bf8eff3625547078213835b564736f6c634300081e0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
