schema {
  query: Query
  subscription: Subscription
}

"Marks the GraphQL type as indexable entity.  Each type that should be an entity is required to be annotated with this directive."
directive @entity on OBJECT

"Defined a Subgraph ID for an object type"
directive @subgraphId(id: String!) on OBJECT

"creates a virtual field on the entity that may be queried but cannot be set manually through the mappings API."
directive @derivedFrom(field: String!) on FIELD_DEFINITION

type Address {
  id: ID!
  address: Bytes!
  authOutgoing(skip: Int = 0, first: Int = 100, orderBy: Authentication_orderBy, orderDirection: OrderDirection, where: Authentication_filter): [Authentication!]
  authIncoming(skip: Int = 0, first: Int = 100, orderBy: Authentication_orderBy, orderDirection: OrderDirection, where: Authentication_filter): [Authentication!]
}

input Address_filter {
  id: ID
  id_not: ID
  id_gt: ID
  id_lt: ID
  id_gte: ID
  id_lte: ID
  id_in: [ID!]
  id_not_in: [ID!]
  address: Bytes
  address_not: Bytes
  address_in: [Bytes!]
  address_not_in: [Bytes!]
  address_contains: Bytes
  address_not_contains: Bytes
  authOutgoing_: Authentication_filter
  authIncoming_: Authentication_filter
  """Filter for the block changed event."""
  _change_block: BlockChangedFilter
}

enum Address_orderBy {
  id
  address
  authOutgoing
  authIncoming
}

type AuthData {
  id: ID!
  authentication: Authentication!
  totp5: BigInt!
  totp6Hash: Bytes!
  genTime: BigInt!
  created: String!
}

input AuthData_filter {
  id: ID
  id_not: ID
  id_gt: ID
  id_lt: ID
  id_gte: ID
  id_lte: ID
  id_in: [ID!]
  id_not_in: [ID!]
  authentication: String
  authentication_not: String
  authentication_gt: String
  authentication_lt: String
  authentication_gte: String
  authentication_lte: String
  authentication_in: [String!]
  authentication_not_in: [String!]
  authentication_contains: String
  authentication_contains_nocase: String
  authentication_not_contains: String
  authentication_not_contains_nocase: String
  authentication_starts_with: String
  authentication_starts_with_nocase: String
  authentication_not_starts_with: String
  authentication_not_starts_with_nocase: String
  authentication_ends_with: String
  authentication_ends_with_nocase: String
  authentication_not_ends_with: String
  authentication_not_ends_with_nocase: String
  authentication_: Authentication_filter
  totp5: BigInt
  totp5_not: BigInt
  totp5_gt: BigInt
  totp5_lt: BigInt
  totp5_gte: BigInt
  totp5_lte: BigInt
  totp5_in: [BigInt!]
  totp5_not_in: [BigInt!]
  totp6Hash: Bytes
  totp6Hash_not: Bytes
  totp6Hash_in: [Bytes!]
  totp6Hash_not_in: [Bytes!]
  totp6Hash_contains: Bytes
  totp6Hash_not_contains: Bytes
  genTime: BigInt
  genTime_not: BigInt
  genTime_gt: BigInt
  genTime_lt: BigInt
  genTime_gte: BigInt
  genTime_lte: BigInt
  genTime_in: [BigInt!]
  genTime_not_in: [BigInt!]
  created: String
  created_not: String
  created_gt: String
  created_lt: String
  created_gte: String
  created_lte: String
  created_in: [String!]
  created_not_in: [String!]
  created_contains: String
  created_contains_nocase: String
  created_not_contains: String
  created_not_contains_nocase: String
  created_starts_with: String
  created_starts_with_nocase: String
  created_not_starts_with: String
  created_not_starts_with_nocase: String
  created_ends_with: String
  created_ends_with_nocase: String
  created_not_ends_with: String
  created_not_ends_with_nocase: String
  """Filter for the block changed event."""
  _change_block: BlockChangedFilter
}

enum AuthData_orderBy {
  id
  authentication
  totp5
  totp6Hash
  genTime
  created
}

type AuthStatus {
  id: ID!
  authentication: Authentication!
  hasResponse: Boolean!
  isValid: Boolean!
  validationTime: String
}

input AuthStatus_filter {
  id: ID
  id_not: ID
  id_gt: ID
  id_lt: ID
  id_gte: ID
  id_lte: ID
  id_in: [ID!]
  id_not_in: [ID!]
  authentication: String
  authentication_not: String
  authentication_gt: String
  authentication_lt: String
  authentication_gte: String
  authentication_lte: String
  authentication_in: [String!]
  authentication_not_in: [String!]
  authentication_contains: String
  authentication_contains_nocase: String
  authentication_not_contains: String
  authentication_not_contains_nocase: String
  authentication_starts_with: String
  authentication_starts_with_nocase: String
  authentication_not_starts_with: String
  authentication_not_starts_with_nocase: String
  authentication_ends_with: String
  authentication_ends_with_nocase: String
  authentication_not_ends_with: String
  authentication_not_ends_with_nocase: String
  authentication_: Authentication_filter
  hasResponse: Boolean
  hasResponse_not: Boolean
  hasResponse_in: [Boolean!]
  hasResponse_not_in: [Boolean!]
  isValid: Boolean
  isValid_not: Boolean
  isValid_in: [Boolean!]
  isValid_not_in: [Boolean!]
  validationTime: String
  validationTime_not: String
  validationTime_gt: String
  validationTime_lt: String
  validationTime_gte: String
  validationTime_lte: String
  validationTime_in: [String!]
  validationTime_not_in: [String!]
  validationTime_contains: String
  validationTime_contains_nocase: String
  validationTime_not_contains: String
  validationTime_not_contains_nocase: String
  validationTime_starts_with: String
  validationTime_starts_with_nocase: String
  validationTime_not_starts_with: String
  validationTime_not_starts_with_nocase: String
  validationTime_ends_with: String
  validationTime_ends_with_nocase: String
  validationTime_not_ends_with: String
  validationTime_not_ends_with_nocase: String
  """Filter for the block changed event."""
  _change_block: BlockChangedFilter
}

enum AuthStatus_orderBy {
  id
  authentication
  hasResponse
  isValid
  validationTime
}

type Authentication {
  id: ID!
  requestId: BigInt!
  requestor: Address!
  requestee: Address!
  authData: AuthData
  status: AuthStatus
  created: String!
}

input Authentication_filter {
  id: ID
  id_not: ID
  id_gt: ID
  id_lt: ID
  id_gte: ID
  id_lte: ID
  id_in: [ID!]
  id_not_in: [ID!]
  requestId: BigInt
  requestId_not: BigInt
  requestId_gt: BigInt
  requestId_lt: BigInt
  requestId_gte: BigInt
  requestId_lte: BigInt
  requestId_in: [BigInt!]
  requestId_not_in: [BigInt!]
  requestor: String
  requestor_not: String
  requestor_gt: String
  requestor_lt: String
  requestor_gte: String
  requestor_lte: String
  requestor_in: [String!]
  requestor_not_in: [String!]
  requestor_contains: String
  requestor_contains_nocase: String
  requestor_not_contains: String
  requestor_not_contains_nocase: String
  requestor_starts_with: String
  requestor_starts_with_nocase: String
  requestor_not_starts_with: String
  requestor_not_starts_with_nocase: String
  requestor_ends_with: String
  requestor_ends_with_nocase: String
  requestor_not_ends_with: String
  requestor_not_ends_with_nocase: String
  requestor_: Address_filter
  requestee: String
  requestee_not: String
  requestee_gt: String
  requestee_lt: String
  requestee_gte: String
  requestee_lte: String
  requestee_in: [String!]
  requestee_not_in: [String!]
  requestee_contains: String
  requestee_contains_nocase: String
  requestee_not_contains: String
  requestee_not_contains_nocase: String
  requestee_starts_with: String
  requestee_starts_with_nocase: String
  requestee_not_starts_with: String
  requestee_not_starts_with_nocase: String
  requestee_ends_with: String
  requestee_ends_with_nocase: String
  requestee_not_ends_with: String
  requestee_not_ends_with_nocase: String
  requestee_: Address_filter
  authData_: AuthData_filter
  status_: AuthStatus_filter
  created: String
  created_not: String
  created_gt: String
  created_lt: String
  created_gte: String
  created_lte: String
  created_in: [String!]
  created_not_in: [String!]
  created_contains: String
  created_contains_nocase: String
  created_not_contains: String
  created_not_contains_nocase: String
  created_starts_with: String
  created_starts_with_nocase: String
  created_not_starts_with: String
  created_not_starts_with_nocase: String
  created_ends_with: String
  created_ends_with_nocase: String
  created_not_ends_with: String
  created_not_ends_with_nocase: String
  """Filter for the block changed event."""
  _change_block: BlockChangedFilter
}

enum Authentication_orderBy {
  id
  requestId
  requestor
  requestee
  authData
  status
  created
}

scalar BigDecimal

scalar BigInt

input BlockChangedFilter {
  number_gte: Int!
}

input Block_height {
  hash: Bytes
  number: Int
  number_gte: Int
}

scalar Bytes

"""Defines the order direction, either ascending or descending"""
enum OrderDirection {
  asc
  desc
}

type Query {
  authentication(
    id: ID!
    """
    The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.
    """
    block: Block_height
    """
    Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.
    """
    subgraphError: _SubgraphErrorPolicy_! = deny
  ): Authentication
  authentications(
    skip: Int = 0
    first: Int = 100
    orderBy: Authentication_orderBy
    orderDirection: OrderDirection
    where: Authentication_filter
    """
    The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.
    """
    block: Block_height
    """
    Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.
    """
    subgraphError: _SubgraphErrorPolicy_! = deny
  ): [Authentication!]!
  authData(
    id: ID!
    """
    The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.
    """
    block: Block_height
    """
    Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.
    """
    subgraphError: _SubgraphErrorPolicy_! = deny
  ): AuthData
  authDatas(
    skip: Int = 0
    first: Int = 100
    orderBy: AuthData_orderBy
    orderDirection: OrderDirection
    where: AuthData_filter
    """
    The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.
    """
    block: Block_height
    """
    Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.
    """
    subgraphError: _SubgraphErrorPolicy_! = deny
  ): [AuthData!]!
  authStatus(
    id: ID!
    """
    The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.
    """
    block: Block_height
    """
    Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.
    """
    subgraphError: _SubgraphErrorPolicy_! = deny
  ): AuthStatus
  authStatuses(
    skip: Int = 0
    first: Int = 100
    orderBy: AuthStatus_orderBy
    orderDirection: OrderDirection
    where: AuthStatus_filter
    """
    The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.
    """
    block: Block_height
    """
    Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.
    """
    subgraphError: _SubgraphErrorPolicy_! = deny
  ): [AuthStatus!]!
  address(
    id: ID!
    """
    The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.
    """
    block: Block_height
    """
    Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.
    """
    subgraphError: _SubgraphErrorPolicy_! = deny
  ): Address
  addresses(
    skip: Int = 0
    first: Int = 100
    orderBy: Address_orderBy
    orderDirection: OrderDirection
    where: Address_filter
    """
    The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.
    """
    block: Block_height
    """
    Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.
    """
    subgraphError: _SubgraphErrorPolicy_! = deny
  ): [Address!]!
  """Access to subgraph metadata"""
  _meta(block: Block_height): _Meta_
}

type Subscription {
  authentication(
    id: ID!
    """
    The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.
    """
    block: Block_height
    """
    Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.
    """
    subgraphError: _SubgraphErrorPolicy_! = deny
  ): Authentication
  authentications(
    skip: Int = 0
    first: Int = 100
    orderBy: Authentication_orderBy
    orderDirection: OrderDirection
    where: Authentication_filter
    """
    The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.
    """
    block: Block_height
    """
    Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.
    """
    subgraphError: _SubgraphErrorPolicy_! = deny
  ): [Authentication!]!
  authData(
    id: ID!
    """
    The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.
    """
    block: Block_height
    """
    Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.
    """
    subgraphError: _SubgraphErrorPolicy_! = deny
  ): AuthData
  authDatas(
    skip: Int = 0
    first: Int = 100
    orderBy: AuthData_orderBy
    orderDirection: OrderDirection
    where: AuthData_filter
    """
    The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.
    """
    block: Block_height
    """
    Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.
    """
    subgraphError: _SubgraphErrorPolicy_! = deny
  ): [AuthData!]!
  authStatus(
    id: ID!
    """
    The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.
    """
    block: Block_height
    """
    Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.
    """
    subgraphError: _SubgraphErrorPolicy_! = deny
  ): AuthStatus
  authStatuses(
    skip: Int = 0
    first: Int = 100
    orderBy: AuthStatus_orderBy
    orderDirection: OrderDirection
    where: AuthStatus_filter
    """
    The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.
    """
    block: Block_height
    """
    Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.
    """
    subgraphError: _SubgraphErrorPolicy_! = deny
  ): [AuthStatus!]!
  address(
    id: ID!
    """
    The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.
    """
    block: Block_height
    """
    Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.
    """
    subgraphError: _SubgraphErrorPolicy_! = deny
  ): Address
  addresses(
    skip: Int = 0
    first: Int = 100
    orderBy: Address_orderBy
    orderDirection: OrderDirection
    where: Address_filter
    """
    The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.
    """
    block: Block_height
    """
    Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.
    """
    subgraphError: _SubgraphErrorPolicy_! = deny
  ): [Address!]!
  """Access to subgraph metadata"""
  _meta(block: Block_height): _Meta_
}

type _Block_ {
  """The hash of the block"""
  hash: Bytes
  """The block number"""
  number: Int!
  """Integer representation of the timestamp stored in blocks for the chain"""
  timestamp: Int
}

"""The type for the top-level _meta field"""
type _Meta_ {
  """
  Information about a specific subgraph block. The hash of the block
  will be null if the _meta field has a block constraint that asks for
  a block number. It will be filled if the _meta field has no block constraint
  and therefore asks for the latest  block
  
  """
  block: _Block_!
  """The deployment ID"""
  deployment: String!
  """If `true`, the subgraph encountered indexing errors at some past block"""
  hasIndexingErrors: Boolean!
}

enum _SubgraphErrorPolicy_ {
  """Data will be returned even if the subgraph has indexing errors"""
  allow
  """
  If the subgraph has indexing errors, data will be omitted. The default.
  """
  deny
}