ink.igav.galaxius.temp.period

galaxius-gm.igav.ink

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "keyChange": {
      "properties": {
        "seat": {
          "description": "The seat whose key changed.",
          "minimum": 1,
          "type": "integer"
        },
        "sessionKey": {
          "description": "The seat's new Ed25519 public key as a did:key multikey.",
          "maxLength": 128,
          "type": "string"
        }
      },
      "required": [
        "seat",
        "sessionKey"
      ],
      "type": "object"
    },
    "main": {
      "description": "A period record, written by the game master; a link in a game's ledger.",
      "key": "any",
      "record": {
        "properties": {
          "batch": {
            "accept": [
              "application/gzip"
            ],
            "description": "The batch blob: the period's lines (envelopes, bot orders, refusals, key changes) as gzip-compressed JSON Lines.",
            "maxSize": 1000000,
            "type": "blob"
          },
          "encryption": {
            "description": "An encryption descriptor, absent in sandbox games until M4.",
            "type": "unknown"
          },
          "game": {
            "description": "A strongRef to the game this period belongs to.",
            "ref": "com.atproto.repo.strongRef",
            "type": "ref"
          },
          "index": {
            "description": "The period's index, from zero.",
            "minimum": 0,
            "type": "integer"
          },
          "keyChanges": {
            "description": "The session key changes that took effect during this period.",
            "items": {
              "ref": "#keyChange",
              "type": "ref"
            },
            "maxLength": 100,
            "type": "array"
          },
          "previous": {
            "description": "A strongRef to the previous period; absent for period zero.",
            "ref": "com.atproto.repo.strongRef",
            "type": "ref"
          },
          "secret": {
            "description": "The secret for this period, revealed here as 64 lowercase hex digits; hashing it gives the previous link's commitment.",
            "maxLength": 64,
            "type": "string"
          },
          "stateRoot": {
            "description": "The root of the state after the period's last tick, as 64 lowercase hex digits.",
            "maxLength": 64,
            "type": "string"
          },
          "ticks": {
            "description": "The tick range the period covers.",
            "ref": "#tickRange",
            "type": "ref"
          }
        },
        "required": [
          "game",
          "index",
          "ticks",
          "stateRoot",
          "batch",
          "secret",
          "keyChanges"
        ],
        "type": "object"
      },
      "type": "record"
    },
    "tickRange": {
      "properties": {
        "from": {
          "description": "The first tick the period covers.",
          "minimum": 0,
          "type": "integer"
        },
        "to": {
          "description": "The last tick the period covers.",
          "minimum": 0,
          "type": "integer"
        }
      },
      "required": [
        "from",
        "to"
      ],
      "type": "object"
    }
  },
  "description": "One published period of a Galaxius game: the orders batch, the revealed secret and the state it produced.",
  "id": "ink.igav.galaxius.temp.period",
  "lexicon": 1
}

Validate Record

Validate a record against ink.igav.galaxius.temp.period

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:whg4cehv5lzx6yorjkwzbk56
CID
bafyreihjyztqljuj2zqgkqhcuip2vha3n4lgmsqr3glt36z6letec5e33m
Indexed At
2026-10-06 07:24 UTC
AT-URI
at://did:plc:whg4cehv5lzx6yorjkwzbk56/com.atproto.lexicon.schema/ink.igav.galaxius.temp.period

Version History (2 versions)

Similar Lexicons

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

Lexicon Garden

@