{
  "_format": "hh-sol-artifact-1",
  "contractName": "ERC20DetailedFacet",
  "sourceName": "contracts/token/ERC20/facets/ERC20DetailedFacet.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": "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": "0x60a034606657601f610ba938819003918201601f19168301916001600160401b03831184841017606b57808492602094604052833981010312606657516001600160a01b0381168103606657608052604051610b2790816100828239608051816109c50152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604052600436101561001257600080fd5b60003560e01c806306fdde0314610767578063313ce5671461070957806395d89b411461069e5763ef9612791461004857600080fd5b346106995760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106995760043567ffffffffffffffff81116106995761009790369060040161082a565b60243567ffffffffffffffff8111610699576100b790369060040161082a565b90926044359260ff8416809403610699576100d06109ae565b73ffffffffffffffffffffffffffffffffffffffff807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035416911690810361066c57507f335df4119bbb04f056b33eba33b826d3529129e458faf6daa9924b5a8f3b6a81917fd217496980d1cb14720b20a80af36676bbece8e5feeb5d8970a9681a2c76bb7454600181101561063a575060017fd217496980d1cb14720b20a80af36676bbece8e5feeb5d8970a9681a2c76bb745567ffffffffffffffff821161050b5781906101a08454610858565b601f81116105e7575b50600090601f83116001146105455760009261053a575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c19161790555b67ffffffffffffffff811161050b5761022b7f335df4119bbb04f056b33eba33b826d3529129e458faf6daa9924b5a8f3b6a8254610858565b601f8111610487575b506000601f821160011461038c57819293600092610381575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c1916177f335df4119bbb04f056b33eba33b826d3529129e458faf6daa9924b5a8f3b6a82555b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff007f335df4119bbb04f056b33eba33b826d3529129e458faf6daa9924b5a8f3b6a835416177f335df4119bbb04f056b33eba33b826d3529129e458faf6daa9924b5a8f3b6a83557fa219a025000000000000000000000000000000000000000000000000000000006000527fca9d3e17f264b0f3984e2634e94adb37fa3e6a8103f06aeae6fa59e21c769f5d602052604060002060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00825416179055600080f35b01359050388061024d565b7f335df4119bbb04f056b33eba33b826d3529129e458faf6daa9924b5a8f3b6a8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08216937f38f29baf5b4f1132a8b8d899467148f866f7b7a6d08f3c484abb8c5467292cef91805b86811061046f5750836001959610610437575b505050811b017f335df4119bbb04f056b33eba33b826d3529129e458faf6daa9924b5a8f3b6a825561029f565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88560031b161c1991013516905538808061040a565b909260206001819286860135815501940191016103f7565b7f335df4119bbb04f056b33eba33b826d3529129e458faf6daa9924b5a8f3b6a826000527f38f29baf5b4f1132a8b8d899467148f866f7b7a6d08f3c484abb8c5467292cef601f830160051c81019160208410610501575b601f0160051c01905b8181106104f55750610234565b600081556001016104e8565b90915081906104df565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b0135905038806101c0565b90917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016918481526020812092815b8181106105cf5750908460019594939210610597575b505050811b0190556101f2565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88560031b161c1991013516905538808061058a565b91936020600181928787013581550195019201610574565b909150836000526020600020601f840160051c81019160208510610630575b90601f859493920160051c01905b81811061062157506101a9565b60008155849350600101610614565b9091508190610606565b7fbf0c18ec00000000000000000000000000000000000000000000000000000000600052600452600160245260446000fd5b7f673a31a10000000000000000000000000000000000000000000000000000000060005260045260246000fd5b600080fd5b346106995760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610699576107056106f97f335df4119bbb04f056b33eba33b826d3529129e458faf6daa9924b5a8f3b6a826108ec565b604051918291826107c2565b0390f35b346106995760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261069957602060ff7f335df4119bbb04f056b33eba33b826d3529129e458faf6daa9924b5a8f3b6a835416604051908152f35b346106995760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610699576107056106f97f335df4119bbb04f056b33eba33b826d3529129e458faf6daa9924b5a8f3b6a816108ec565b9190916020815282519283602083015260005b8481106108145750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006040809697860101520116010190565b80602080928401015160408286010152016107d5565b9181601f840112156106995782359167ffffffffffffffff8311610699576020838186019501011161069957565b90600182811c921680156108a1575b602083101461087257565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f1691610867565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761050b57604052565b906040519182600082549261090084610858565b808452936001811690811561096e5750600114610927575b50610925925003836108ab565b565b90506000929192526020600020906000915b8183106109525750509060206109259282010138610918565b6020919350806001915483858901015201910190918492610939565b602093506109259592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b82010138610918565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168015610ae2573233148015610ae7575b610ae2577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec36013560601c90803314908115610a39575b50610a3657503390565b90565b60649150602090604051928380927f019a20280000000000000000000000000000000000000000000000000000000082528660048301523360248301523060448301525afa908115610ad657600091610a94575b5038610a2c565b6020813d602011610ace575b81610aad602093836108ab565b81010312610aca5751908115158203610ac7575038610a8d565b80fd5b5080fd5b3d9150610aa0565b6040513d6000823e3d90fd5b503390565b50601836106109f556fea26469706673582212202f36e0d3eb137db62a6851555304e3fbc2ed3671ceaa46c567850aa84ef1881864736f6c634300081e0033",
  "deployedBytecode": "0x6080604052600436101561001257600080fd5b60003560e01c806306fdde0314610767578063313ce5671461070957806395d89b411461069e5763ef9612791461004857600080fd5b346106995760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106995760043567ffffffffffffffff81116106995761009790369060040161082a565b60243567ffffffffffffffff8111610699576100b790369060040161082a565b90926044359260ff8416809403610699576100d06109ae565b73ffffffffffffffffffffffffffffffffffffffff807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035416911690810361066c57507f335df4119bbb04f056b33eba33b826d3529129e458faf6daa9924b5a8f3b6a81917fd217496980d1cb14720b20a80af36676bbece8e5feeb5d8970a9681a2c76bb7454600181101561063a575060017fd217496980d1cb14720b20a80af36676bbece8e5feeb5d8970a9681a2c76bb745567ffffffffffffffff821161050b5781906101a08454610858565b601f81116105e7575b50600090601f83116001146105455760009261053a575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c19161790555b67ffffffffffffffff811161050b5761022b7f335df4119bbb04f056b33eba33b826d3529129e458faf6daa9924b5a8f3b6a8254610858565b601f8111610487575b506000601f821160011461038c57819293600092610381575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c1916177f335df4119bbb04f056b33eba33b826d3529129e458faf6daa9924b5a8f3b6a82555b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff007f335df4119bbb04f056b33eba33b826d3529129e458faf6daa9924b5a8f3b6a835416177f335df4119bbb04f056b33eba33b826d3529129e458faf6daa9924b5a8f3b6a83557fa219a025000000000000000000000000000000000000000000000000000000006000527fca9d3e17f264b0f3984e2634e94adb37fa3e6a8103f06aeae6fa59e21c769f5d602052604060002060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00825416179055600080f35b01359050388061024d565b7f335df4119bbb04f056b33eba33b826d3529129e458faf6daa9924b5a8f3b6a8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08216937f38f29baf5b4f1132a8b8d899467148f866f7b7a6d08f3c484abb8c5467292cef91805b86811061046f5750836001959610610437575b505050811b017f335df4119bbb04f056b33eba33b826d3529129e458faf6daa9924b5a8f3b6a825561029f565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88560031b161c1991013516905538808061040a565b909260206001819286860135815501940191016103f7565b7f335df4119bbb04f056b33eba33b826d3529129e458faf6daa9924b5a8f3b6a826000527f38f29baf5b4f1132a8b8d899467148f866f7b7a6d08f3c484abb8c5467292cef601f830160051c81019160208410610501575b601f0160051c01905b8181106104f55750610234565b600081556001016104e8565b90915081906104df565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b0135905038806101c0565b90917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016918481526020812092815b8181106105cf5750908460019594939210610597575b505050811b0190556101f2565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88560031b161c1991013516905538808061058a565b91936020600181928787013581550195019201610574565b909150836000526020600020601f840160051c81019160208510610630575b90601f859493920160051c01905b81811061062157506101a9565b60008155849350600101610614565b9091508190610606565b7fbf0c18ec00000000000000000000000000000000000000000000000000000000600052600452600160245260446000fd5b7f673a31a10000000000000000000000000000000000000000000000000000000060005260045260246000fd5b600080fd5b346106995760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610699576107056106f97f335df4119bbb04f056b33eba33b826d3529129e458faf6daa9924b5a8f3b6a826108ec565b604051918291826107c2565b0390f35b346106995760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261069957602060ff7f335df4119bbb04f056b33eba33b826d3529129e458faf6daa9924b5a8f3b6a835416604051908152f35b346106995760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610699576107056106f97f335df4119bbb04f056b33eba33b826d3529129e458faf6daa9924b5a8f3b6a816108ec565b9190916020815282519283602083015260005b8481106108145750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006040809697860101520116010190565b80602080928401015160408286010152016107d5565b9181601f840112156106995782359167ffffffffffffffff8311610699576020838186019501011161069957565b90600182811c921680156108a1575b602083101461087257565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f1691610867565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761050b57604052565b906040519182600082549261090084610858565b808452936001811690811561096e5750600114610927575b50610925925003836108ab565b565b90506000929192526020600020906000915b8183106109525750509060206109259282010138610918565b6020919350806001915483858901015201910190918492610939565b602093506109259592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b82010138610918565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168015610ae2573233148015610ae7575b610ae2577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec36013560601c90803314908115610a39575b50610a3657503390565b90565b60649150602090604051928380927f019a20280000000000000000000000000000000000000000000000000000000082528660048301523360248301523060448301525afa908115610ad657600091610a94575b5038610a2c565b6020813d602011610ace575b81610aad602093836108ab565b81010312610aca5751908115158203610ac7575038610a8d565b80fd5b5080fd5b3d9150610aa0565b6040513d6000823e3d90fd5b503390565b50601836106109f556fea26469706673582212202f36e0d3eb137db62a6851555304e3fbc2ed3671ceaa46c567850aa84ef1881864736f6c634300081e0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
