{
  "_format": "hh-sol-artifact-1",
  "contractName": "TokenAuthenticated",
  "sourceName": "contracts/TokenAuthenticated.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "_statement",
          "type": "string"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [],
      "name": "STATEMENT",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "device",
          "type": "address"
        }
      ],
      "name": "createTokenRequest",
      "outputs": [
        {
          "components": [
            {
              "internalType": "address",
              "name": "owner",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "device",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "issuedAt",
              "type": "uint256"
            }
          ],
          "internalType": "struct TokenAuthenticated.TokenRequest",
          "name": "request",
          "type": "tuple"
        },
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "lengthOfToken",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x6080604052600f6001553480156200001657600080fd5b50604051620013223803806200132283398181016040528101906200003c9190620001e8565b80600090816200004d919062000484565b50506200056b565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620000be8262000073565b810181811067ffffffffffffffff82111715620000e057620000df62000084565b5b80604052505050565b6000620000f562000055565b9050620001038282620000b3565b919050565b600067ffffffffffffffff82111562000126576200012562000084565b5b620001318262000073565b9050602081019050919050565b60005b838110156200015e57808201518184015260208101905062000141565b60008484015250505050565b6000620001816200017b8462000108565b620000e9565b905082815260208101848484011115620001a0576200019f6200006e565b5b620001ad8482856200013e565b509392505050565b600082601f830112620001cd57620001cc62000069565b5b8151620001df8482602086016200016a565b91505092915050565b6000602082840312156200020157620002006200005f565b5b600082015167ffffffffffffffff81111562000222576200022162000064565b5b6200023084828501620001b5565b91505092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200028c57607f821691505b602082108103620002a257620002a162000244565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200030c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620002cd565b620003188683620002cd565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620003656200035f620003598462000330565b6200033a565b62000330565b9050919050565b6000819050919050565b620003818362000344565b6200039962000390826200036c565b848454620002da565b825550505050565b600090565b620003b0620003a1565b620003bd81848462000376565b505050565b5b81811015620003e557620003d9600082620003a6565b600181019050620003c3565b5050565b601f8211156200043457620003fe81620002a8565b6200040984620002bd565b8101602085101562000419578190505b620004316200042885620002bd565b830182620003c2565b50505b505050565b600082821c905092915050565b6000620004596000198460080262000439565b1980831691505092915050565b600062000474838362000446565b9150826002028217905092915050565b6200048f8262000239565b67ffffffffffffffff811115620004ab57620004aa62000084565b5b620004b7825462000273565b620004c4828285620003e9565b600060209050601f831160018114620004fc5760008415620004e7578287015190505b620004f3858262000466565b86555062000563565b601f1984166200050c86620002a8565b60005b8281101562000536578489015182556001820191506020850194506020810190506200050f565b8683101562000556578489015162000552601f89168262000446565b8355505b6001600288020188555050505b505050505050565b610da7806200057b6000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063b6ad16a814610046578063bebc479c14610077578063cb2e604314610095575b600080fd5b610060600480360381019061005b9190610749565b6100b3565b60405161006e929190610883565b60405180910390f35b61007f610127565b60405161008c91906108b3565b60405180910390f35b61009d6101b5565b6040516100aa91906108e4565b60405180910390f35b6100bb610699565b606060405180606001604052808573ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff16815260200160014361010d919061092e565b81525091508161011c836101bb565b915091509250929050565b6000805461013490610991565b80601f016020809104026020016040519081016040528092919081815260200182805461016090610991565b80156101ad5780601f10610182576101008083540402835291602001916101ad565b820191906000526020600020905b81548152906001019060200180831161019057829003601f168201915b505050505081565b60015481565b606060006101cc836000015161020f565b6101d9846020015161020f565b6101e6856040015161023c565b6040516020016101f99493929190610b7a565b6040516020818303038152906040529050919050565b60606102358273ffffffffffffffffffffffffffffffffffffffff16601460ff1661030a565b9050919050565b60606000600161024b84610546565b01905060008167ffffffffffffffff81111561026a57610269610bd9565b5b6040519080825280601f01601f19166020018201604052801561029c5781602001600182028036833780820191505090505b509050600082602001820190505b6001156102ff578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85816102f3576102f2610c08565b5b049450600085036102aa575b819350505050919050565b60606000600283600261031d9190610c37565b6103279190610c79565b67ffffffffffffffff8111156103405761033f610bd9565b5b6040519080825280601f01601f1916602001820160405280156103725781602001600182028036833780820191505090505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106103aa576103a9610cad565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061040e5761040d610cad565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000600184600261044e9190610c37565b6104589190610c79565b90505b60018111156104f8577f3031323334353637383961626364656600000000000000000000000000000000600f86166010811061049a57610499610cad565b5b1a60f81b8282815181106104b1576104b0610cad565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c9450806104f190610cdc565b905061045b565b506000841461053c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161053390610d51565b60405180910390fd5b8091505092915050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083106105a4577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000838161059a57610599610c08565b5b0492506040810190505b6d04ee2d6d415b85acef810000000083106105e1576d04ee2d6d415b85acef810000000083816105d7576105d6610c08565b5b0492506020810190505b662386f26fc10000831061061057662386f26fc10000838161060657610605610c08565b5b0492506010810190505b6305f5e1008310610639576305f5e100838161062f5761062e610c08565b5b0492506008810190505b612710831061065e57612710838161065457610653610c08565b5b0492506004810190505b60648310610681576064838161067757610676610c08565b5b0492506002810190505b600a8310610690576001810190505b80915050919050565b6040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600081525090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610716826106eb565b9050919050565b6107268161070b565b811461073157600080fd5b50565b6000813590506107438161071d565b92915050565b600080604083850312156107605761075f6106e6565b5b600061076e85828601610734565b925050602061077f85828601610734565b9150509250929050565b6107928161070b565b82525050565b6000819050919050565b6107ab81610798565b82525050565b6060820160008201516107c76000850182610789565b5060208201516107da6020850182610789565b5060408201516107ed60408501826107a2565b50505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561082d578082015181840152602081019050610812565b60008484015250505050565b6000601f19601f8301169050919050565b6000610855826107f3565b61085f81856107fe565b935061086f81856020860161080f565b61087881610839565b840191505092915050565b600060808201905061089860008301856107b1565b81810360608301526108aa818461084a565b90509392505050565b600060208201905081810360008301526108cd818461084a565b905092915050565b6108de81610798565b82525050565b60006020820190506108f960008301846108d5565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061093982610798565b915061094483610798565b925082820390508181111561095c5761095b6108ff565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806109a957607f821691505b6020821081036109bc576109bb610962565b5b50919050565b600081905092915050565b60008190508160005260206000209050919050565b600081546109ef81610991565b6109f981866109c2565b94506001821660008114610a145760018114610a2957610a5c565b60ff1983168652811515820286019350610a5c565b610a32856109cd565b60005b83811015610a5457815481890152600182019150602081019050610a35565b838801955050505b50505092915050565b7f0a0a4d653a200000000000000000000000000000000000000000000000000000600082015250565b6000610a9b6006836109c2565b9150610aa682610a65565b600682019050919050565b6000610abc826107f3565b610ac681856109c2565b9350610ad681856020860161080f565b80840191505092915050565b7f0a4465766963653a200000000000000000000000000000000000000000000000600082015250565b6000610b186009836109c2565b9150610b2382610ae2565b600982019050919050565b7f0a4973737565642061743a200000000000000000000000000000000000000000600082015250565b6000610b64600c836109c2565b9150610b6f82610b2e565b600c82019050919050565b6000610b8682876109e2565b9150610b9182610a8e565b9150610b9d8286610ab1565b9150610ba882610b0b565b9150610bb48285610ab1565b9150610bbf82610b57565b9150610bcb8284610ab1565b915081905095945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000610c4282610798565b9150610c4d83610798565b9250828202610c5b81610798565b91508282048414831517610c7257610c716108ff565b5b5092915050565b6000610c8482610798565b9150610c8f83610798565b9250828201905080821115610ca757610ca66108ff565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000610ce782610798565b915060008203610cfa57610cf96108ff565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b6000610d3b6020836107fe565b9150610d4682610d05565b602082019050919050565b60006020820190508181036000830152610d6a81610d2e565b905091905056fea26469706673582212200ade801375e2768b8981495412ed4fd9b296a1c822289d1badaac68bdc78164264736f6c63430008130033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c8063b6ad16a814610046578063bebc479c14610077578063cb2e604314610095575b600080fd5b610060600480360381019061005b9190610749565b6100b3565b60405161006e929190610883565b60405180910390f35b61007f610127565b60405161008c91906108b3565b60405180910390f35b61009d6101b5565b6040516100aa91906108e4565b60405180910390f35b6100bb610699565b606060405180606001604052808573ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff16815260200160014361010d919061092e565b81525091508161011c836101bb565b915091509250929050565b6000805461013490610991565b80601f016020809104026020016040519081016040528092919081815260200182805461016090610991565b80156101ad5780601f10610182576101008083540402835291602001916101ad565b820191906000526020600020905b81548152906001019060200180831161019057829003601f168201915b505050505081565b60015481565b606060006101cc836000015161020f565b6101d9846020015161020f565b6101e6856040015161023c565b6040516020016101f99493929190610b7a565b6040516020818303038152906040529050919050565b60606102358273ffffffffffffffffffffffffffffffffffffffff16601460ff1661030a565b9050919050565b60606000600161024b84610546565b01905060008167ffffffffffffffff81111561026a57610269610bd9565b5b6040519080825280601f01601f19166020018201604052801561029c5781602001600182028036833780820191505090505b509050600082602001820190505b6001156102ff578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85816102f3576102f2610c08565b5b049450600085036102aa575b819350505050919050565b60606000600283600261031d9190610c37565b6103279190610c79565b67ffffffffffffffff8111156103405761033f610bd9565b5b6040519080825280601f01601f1916602001820160405280156103725781602001600182028036833780820191505090505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106103aa576103a9610cad565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061040e5761040d610cad565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000600184600261044e9190610c37565b6104589190610c79565b90505b60018111156104f8577f3031323334353637383961626364656600000000000000000000000000000000600f86166010811061049a57610499610cad565b5b1a60f81b8282815181106104b1576104b0610cad565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c9450806104f190610cdc565b905061045b565b506000841461053c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161053390610d51565b60405180910390fd5b8091505092915050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083106105a4577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000838161059a57610599610c08565b5b0492506040810190505b6d04ee2d6d415b85acef810000000083106105e1576d04ee2d6d415b85acef810000000083816105d7576105d6610c08565b5b0492506020810190505b662386f26fc10000831061061057662386f26fc10000838161060657610605610c08565b5b0492506010810190505b6305f5e1008310610639576305f5e100838161062f5761062e610c08565b5b0492506008810190505b612710831061065e57612710838161065457610653610c08565b5b0492506004810190505b60648310610681576064838161067757610676610c08565b5b0492506002810190505b600a8310610690576001810190505b80915050919050565b6040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600081525090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610716826106eb565b9050919050565b6107268161070b565b811461073157600080fd5b50565b6000813590506107438161071d565b92915050565b600080604083850312156107605761075f6106e6565b5b600061076e85828601610734565b925050602061077f85828601610734565b9150509250929050565b6107928161070b565b82525050565b6000819050919050565b6107ab81610798565b82525050565b6060820160008201516107c76000850182610789565b5060208201516107da6020850182610789565b5060408201516107ed60408501826107a2565b50505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561082d578082015181840152602081019050610812565b60008484015250505050565b6000601f19601f8301169050919050565b6000610855826107f3565b61085f81856107fe565b935061086f81856020860161080f565b61087881610839565b840191505092915050565b600060808201905061089860008301856107b1565b81810360608301526108aa818461084a565b90509392505050565b600060208201905081810360008301526108cd818461084a565b905092915050565b6108de81610798565b82525050565b60006020820190506108f960008301846108d5565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061093982610798565b915061094483610798565b925082820390508181111561095c5761095b6108ff565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806109a957607f821691505b6020821081036109bc576109bb610962565b5b50919050565b600081905092915050565b60008190508160005260206000209050919050565b600081546109ef81610991565b6109f981866109c2565b94506001821660008114610a145760018114610a2957610a5c565b60ff1983168652811515820286019350610a5c565b610a32856109cd565b60005b83811015610a5457815481890152600182019150602081019050610a35565b838801955050505b50505092915050565b7f0a0a4d653a200000000000000000000000000000000000000000000000000000600082015250565b6000610a9b6006836109c2565b9150610aa682610a65565b600682019050919050565b6000610abc826107f3565b610ac681856109c2565b9350610ad681856020860161080f565b80840191505092915050565b7f0a4465766963653a200000000000000000000000000000000000000000000000600082015250565b6000610b186009836109c2565b9150610b2382610ae2565b600982019050919050565b7f0a4973737565642061743a200000000000000000000000000000000000000000600082015250565b6000610b64600c836109c2565b9150610b6f82610b2e565b600c82019050919050565b6000610b8682876109e2565b9150610b9182610a8e565b9150610b9d8286610ab1565b9150610ba882610b0b565b9150610bb48285610ab1565b9150610bbf82610b57565b9150610bcb8284610ab1565b915081905095945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000610c4282610798565b9150610c4d83610798565b9250828202610c5b81610798565b91508282048414831517610c7257610c716108ff565b5b5092915050565b6000610c8482610798565b9150610c8f83610798565b9250828201905080821115610ca757610ca66108ff565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000610ce782610798565b915060008203610cfa57610cf96108ff565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b6000610d3b6020836107fe565b9150610d4682610d05565b602082019050919050565b60006020820190508181036000830152610d6a81610d2e565b905091905056fea26469706673582212200ade801375e2768b8981495412ed4fd9b296a1c822289d1badaac68bdc78164264736f6c63430008130033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
