{
  "type": "tradle.Model",
  "id": "tradle.PubKey",
  "title": "Public Key",
  "properties": {
    "type": {
      "readOnly": true,
      "type": "string"
    },
    "purpose": {
      "readOnly": true,
      "type": "string"
    },
    "pub": {
      "readOnly": true,
      "type": "string"
    },
    "fingerprint": {
      "readOnly": true,
      "type": "string"
    },
    "curve": {
      "type": "string",
      "description": "curve for EC keys"
    },
    "networkName": {
      "readOnly": true,
      "type": "string"
    },
    "link": {
      "type": "string",
      "description": "link to latest identity version",
      "virtual": true
    },
    "permalink": {
      "type": "string",
      "description": "link to original identity",
      "virtual": true
    }
  },
  "primaryKeys": {
    "hashKey": "pub",
    "rangeKey": "_time"
  },
  "indexes": [
    {
      "hashKey": "permalink",
      "rangeKey": {
        "template": "{_time}:{link}"
      }
    },
    {
      "hashKey": "fingerprint",
      "rangeKey": "_time"
    },
    {
      "hashKey": "_t",
      "rangeKey": "_time"
    }
  ],
  "required": [
    "type",
    "fingerprint",
    "pub"
  ]
}
