{
  "protocol": "Common",
  "imports": [],
  "types": [
    {
      "type": "record",
      "name": "Time",
      "fields": [],
      "typedef": "long"
    },
    {
      "type": "record",
      "name": "StringKVPair",
      "fields": [
        {
          "type": "string",
          "name": "key"
        },
        {
          "type": "string",
          "name": "value"
        }
      ]
    },
    {
      "type": "record",
      "name": "Status",
      "fields": [
        {
          "type": "int",
          "name": "code"
        },
        {
          "type": "string",
          "name": "name"
        },
        {
          "type": "string",
          "name": "desc"
        },
        {
          "type": {
            "type": "array",
            "items": "StringKVPair"
          },
          "name": "fields"
        }
      ]
    },
    {
      "type": "record",
      "name": "UID",
      "fields": [],
      "typedef": "string"
    },
    {
      "type": "record",
      "name": "DeviceID",
      "fields": [],
      "typedef": "string"
    },
    {
      "type": "record",
      "name": "SigID",
      "fields": [],
      "typedef": "string"
    },
    {
      "type": "record",
      "name": "KID",
      "fields": [],
      "typedef": "string"
    },
    {
      "type": "record",
      "name": "BinaryKID",
      "fields": [],
      "typedef": "bytes"
    },
    {
      "type": "record",
      "name": "TLFID",
      "fields": [],
      "typedef": "string"
    },
    {
      "type": "fixed",
      "name": "Bytes32",
      "size": "32"
    },
    {
      "type": "record",
      "name": "Text",
      "fields": [
        {
          "type": "string",
          "name": "data"
        },
        {
          "type": "boolean",
          "name": "markup"
        }
      ]
    },
    {
      "type": "record",
      "name": "PGPIdentity",
      "fields": [
        {
          "type": "string",
          "name": "username"
        },
        {
          "type": "string",
          "name": "comment"
        },
        {
          "type": "string",
          "name": "email"
        }
      ]
    },
    {
      "type": "record",
      "name": "PublicKey",
      "fields": [
        {
          "type": "KID",
          "name": "KID"
        },
        {
          "type": "string",
          "name": "PGPFingerprint"
        },
        {
          "type": {
            "type": "array",
            "items": "PGPIdentity"
          },
          "name": "PGPIdentities"
        },
        {
          "type": "boolean",
          "name": "isSibkey"
        },
        {
          "type": "boolean",
          "name": "isEldest"
        },
        {
          "type": "string",
          "name": "parentID"
        },
        {
          "type": "DeviceID",
          "name": "deviceID"
        },
        {
          "type": "string",
          "name": "deviceDescription"
        },
        {
          "type": "string",
          "name": "deviceType"
        },
        {
          "type": "Time",
          "name": "cTime"
        },
        {
          "type": "Time",
          "name": "eTime"
        }
      ]
    },
    {
      "type": "record",
      "name": "KeybaseTime",
      "fields": [
        {
          "type": "Time",
          "name": "unix"
        },
        {
          "type": "int",
          "name": "chain"
        }
      ]
    },
    {
      "type": "record",
      "name": "RevokedKey",
      "fields": [
        {
          "type": "PublicKey",
          "name": "key"
        },
        {
          "type": "KeybaseTime",
          "name": "time"
        },
        {
          "type": "KID",
          "name": "by"
        }
      ]
    },
    {
      "type": "record",
      "name": "User",
      "fields": [
        {
          "type": "UID",
          "name": "uid"
        },
        {
          "type": "string",
          "name": "username"
        }
      ]
    },
    {
      "type": "record",
      "name": "Device",
      "fields": [
        {
          "type": "string",
          "name": "type"
        },
        {
          "type": "string",
          "name": "name"
        },
        {
          "type": "DeviceID",
          "name": "deviceID"
        },
        {
          "type": "Time",
          "name": "cTime"
        },
        {
          "type": "Time",
          "name": "mTime"
        },
        {
          "type": "Time",
          "name": "lastUsedTime"
        },
        {
          "type": "KID",
          "name": "encryptKey"
        },
        {
          "type": "KID",
          "name": "verifyKey"
        },
        {
          "type": "int",
          "name": "status"
        }
      ]
    },
    {
      "type": "record",
      "name": "Stream",
      "fields": [
        {
          "type": "int",
          "name": "fd"
        }
      ]
    },
    {
      "type": "enum",
      "name": "LogLevel",
      "symbols": [
        "NONE_0",
        "DEBUG_1",
        "INFO_2",
        "NOTICE_3",
        "WARN_4",
        "ERROR_5",
        "CRITICAL_6",
        "FATAL_7"
      ]
    },
    {
      "type": "enum",
      "name": "ClientType",
      "symbols": [
        "NONE_0",
        "CLI_1",
        "GUI_2",
        "KBFS_3"
      ]
    },
    {
      "type": "record",
      "name": "UserVersionVector",
      "fields": [
        {
          "type": "long",
          "name": "id"
        },
        {
          "type": "int",
          "name": "sigHints"
        },
        {
          "type": "long",
          "name": "sigChain"
        },
        {
          "type": "Time",
          "name": "cachedAt"
        },
        {
          "type": "Time",
          "name": "lastIdentifiedAt"
        }
      ]
    },
    {
      "type": "record",
      "name": "UserPlusKeys",
      "fields": [
        {
          "type": "UID",
          "name": "uid"
        },
        {
          "type": "string",
          "name": "username"
        },
        {
          "type": {
            "type": "array",
            "items": "PublicKey"
          },
          "name": "deviceKeys"
        },
        {
          "type": {
            "type": "array",
            "items": "RevokedKey"
          },
          "name": "revokedDeviceKeys"
        },
        {
          "type": "int",
          "name": "pgpKeyCount"
        },
        {
          "type": "UserVersionVector",
          "name": "uvv"
        }
      ]
    },
    {
      "type": "enum",
      "name": "MerkleTreeID",
      "symbols": [
        "MASTER_0",
        "KBFS_PUBLIC_1",
        "KBFS_PRIVATE_2"
      ]
    },
    {
      "type": "record",
      "name": "SocialAssertionService",
      "fields": [],
      "doc": "SocialAssertionService is a service that can be used to assert proofs for a\n    user.",
      "typedef": "string"
    },
    {
      "type": "record",
      "name": "SocialAssertion",
      "fields": [
        {
          "type": "string",
          "name": "user"
        },
        {
          "type": "SocialAssertionService",
          "name": "service"
        }
      ],
      "doc": "SocialAssertion contains a service and username for that service, that\n    together form an assertion about a user. Resolving an assertion requires\n    that the user posts a Keybase proof on the asserted service as the asserted\n    user."
    },
    {
      "type": "record",
      "name": "UserResolution",
      "fields": [
        {
          "type": "SocialAssertion",
          "name": "assertion"
        },
        {
          "type": "UID",
          "name": "userID"
        }
      ],
      "doc": "UserResolution maps how an unresolved user assertion has been resolved."
    }
  ],
  "messages": {},
  "namespace": "keybase.1"
}