{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "Definition of a transaction",
      "key": "tid",
      "record": {
        "properties": {
          "createdAt": {
            "format": "datetime",
            "type": "string"
          },
          "isEasyExchange": {
            "description": "Flag to indicate if this is an Easy Exchange (random partner).",
            "type": "boolean"
          },
          "message": {
            "description": "Optional message attached to the exchange offer or completion.",
            "maxGraphemes": 640,
            "maxLength": 6400,
            "type": "string"
          },
          "partner": {
            "description": "The DID of the exchange partner.",
            "format": "did",
            "type": "string"
          },
          "refPartner": {
            "description": "URI of the partner's profile, used for Constellation backlinking during the offer stage.",
            "format": "uri",
            "type": "string"
          },
          "refTransaction": {
            "description": "URI of the referencing transaction (e.g., the original Offer) when completing or rejecting.",
            "format": "uri",
            "type": "string"
          },
          "status": {
            "description": "The current status of the transaction.",
            "knownValues": [
              "offered",
              "completed",
              "rejected"
            ],
            "maxLength": 64,
            "type": "string"
          },
          "stickerIn": {
            "description": "URIs of the stickers received in this exchange (if completed).",
            "items": {
              "format": "uri",
              "type": "string"
            },
            "type": "array"
          },
          "stickerOut": {
            "description": "URIs of the stickers given in this exchange.",
            "items": {
              "format": "uri",
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "status",
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "id": "com.suibari.atsumeat.transaction",
  "lexicon": 1
}
