{
  "version": "current-js-json-v1",
  "description": "State transitions used by the fixed event vectors. The event bytes are in ../test-vectors.json.",
  "citizenId": "ecitizen:6f0f2b64-6f53-4f3a-9de0-8f5ca6ef0e84",
  "challenge": {
    "challengeId": "d8b7e1f0-6f6f-4eea-9b77-8b6c728f26a1",
    "handle": "vector-neon",
    "nonce": "b3e8f0aa5b514db7afce46f5a0d33d7c",
    "publicKeyRole": "identity"
  },
  "transitions": [
    {
      "before": {
        "activeKeyRoles": []
      },
      "event": "identity_created",
      "after": {
        "activeKeyRoles": [
          "identity"
        ]
      }
    },
    {
      "before": {
        "activeKeyRoles": [
          "identity"
        ]
      },
      "event": "statement_published",
      "after": {
        "activeKeyRoles": [
          "identity"
        ]
      }
    },
    {
      "before": {
        "activeKeyRoles": [
          "identity"
        ]
      },
      "event": "key_added",
      "candidateKeyRole": "candidate",
      "after": {
        "activeKeyRoles": [
          "identity",
          "candidate"
        ],
        "candidateProof": "candidate signs the canonical {citizenId, publicKey} proof message"
      }
    },
    {
      "before": {
        "activeKeyRoles": [
          "identity",
          "candidate"
        ]
      },
      "event": "key_revoked",
      "targetKeyRole": "candidate",
      "after": {
        "activeKeyRoles": [
          "identity"
        ]
      }
    }
  ]
}